Status Update:
- All Oblivion record types are supported.
- LAND record fields can be accessed in two ways:
- Raw: each field can be directly accessed, completely uninterpreted by CBash
- Interpreted: each field can be accessed through Position[][], which calculates height, provides easier access of associated normals, colors, and alpha layers. It supports setting these values as well, and (untested) will automatically update the underlaying heightmap including the heightmaps of the surrounding LAND records as needed. One remaining limitation is that positions where the quadrants overlap won't report all of the alpha layers that could apply; it returns the first one found, not all of them. These others may be accessed through raw access.
- Raw: each field can be directly accessed, completely uninterpreted by CBash
- Threading has been enabled for mod loading. This reduces load times by over a second on my computer with a Core 2 Duo.
There are other improvements scattered throughout the code, but those are the highlights.
As a result of spending so much time on the LAND records, I'm confident that I'll be able to support merging heightmaps when I add mod merging support. The result may not necessarily be pretty, but it should be better than nothing. Also, I'll be able to generate reports on possible floating / embedded objects where a placed object / npc / creature is above or below the land surface. They won't be definitive since I can't account for the height of the placed reference, nor for references on top of each other (stacked rocks, forts, etc), but they might still be useful.
I won't have much time to code for ~1 month (MCAT, and research conference / vacation all in April), so I've decided the next releases will be v0.3.1 - v0.3.xx in order to flesh out the current code. They won't provide any major new functionality, but they will reduce memory usage, speed up execution, and make sure that all existing functions work as they should.
After I get back from the trip, I'll go back to the scheduled road map and work on FO3 support.