Tes5Mod talk:File Format Conventions
Request to change data type names
All references to 'ulong' should be changed to 'uint' and 'long' to 'int'.
I realize that for whatever reason they've been called 'ulong' and 'long' since at least Morrowind, but it's incredibly confusing - I had to go and make sure that it wasn't actually a long. A 'long' implies 64bit/8byte while these are 32bit/4byte integers/unsigned integers and therefore should just be referred to as ints and uints.
It may seem pedantic and unnecessary but as a coder of at least half a dozen languages that 'ulong' has a very specific meaning of 8-bytes,64-bit unsigned integers. Which is clearly different than the 'ulong' specified here which is a 32-bit unsigned integer. Themendios 02:28, 17 December 2011 (UTC)
Edit to add that the definition of 'ulong' definitely does not help the confusion, it is 'Unsigned long integer' which again implies something different than what it is. Themendios 02:31, 17 December 2011 (UTC)
- This is why I added the bit-specifying identifiers and used them over the old names. I encourage you to update Tes5Mod pages that use the old ones in favor of the new uint8/16/32/64 types listed in the convention. —Rick 14:08, 17 December 2011 (UTC)
There is a discrepancy in the description of the VsVal data type. For the uint32 case, it says the value is below 0x40000000, suggesting 4 bytes, but the read/write explanation only consideres 3 bytes. I myself am only just beginning to familiarise myself with the tes5 file format, so I don't know (yet) how the VsVal behaves in reality, but perhaps someone who knows these things better could have a look?