v1.5 increased the size of GSaveLightMemory by 0xC each; with 160 entries, everything stored after this field (at 0x2F84) increased its offset by 0x780.
GSaveItemName ClothesPTops; // @0x14c size 0x8, align 4
s16 _58b5e808; // @0x154 size 0x2, align 2
s8 ClothesPTarget; // @0x156 size 0x1, align 1
Should be possible to convert the first revision of villager data to the current format and vice versa. Someone would need to document how they pre-fill these new fields (listed above).
The second parameter of `Array.CopyTo` takes an integer that represents the index in array at which copying begins. Therefore in this case it should be set to 0 instead of the array's length.
Setting a field item with the snap active will align it to the major gridlines. This will prevent the user from setting un-interactable objects (rocks, trees) unintentionally.
Having the auto-handle extension tiles will now delete all associated tiles when issuing a delete command on an extension tile, rather than just deleting the extension tile.
Change friendship here.
Can also cheat all friendships (of all villagers, for all saved players) to 255 by shift clicking the drop-down button instead.
game stores all donation types in the same array (chunked into date[], item[], playerID[]); no dedicated indexes for a donation, so no empty slots, and all donation types are intermixed (based on donation date)
enabled by default
viewing an extension will calculate where the root node is (based on the extension values) and load it instead, only if the item ID matches. bounds check to be 100% safe from ppl placing random/bad extension tiles
Fix bottom acre row labeling for MapAcre stuff
Don't close png dropdown on checkbox click
Don't change map reticle position on map right click (only left click)
Different means of expression for the 8 byte item structure's FreeParam
Will be expanding the ItemEditor so that it has a checkmark to toggle Extension Item editing behavior.
Removes IHeldItem as there's no need to abstract it.