Add: Campsite Editor to Map tab.
Allows users to set whether there is or is not a villager visiting the campsite, allows selecting that visitor and to edit the visit timestamp (defaults to current timestamp override so visitor is there on same day load).
Back-tracked offsets from old Cylindircal Earth save schemas for old save revs.
If campsite is not unlocked on the save, the UI is locked out with a message.
Cleanup: Moved UpdateFruitsFlag to misc editor class over save class because that was bad form. Oops.
Added fruits + flowers to Player Misc menu (kept field goods property manager in place still).
Saving fruits pushes change to flags block for fruits so that multiple edits aren't required when changing/saving it with new UpdateFruitFlags method.
Flowers added as enum class like Airport Color, but should be moved out to strings for localization later on.
working on it, untested.
decoupled 99% of the logic, need to ensure the rendering uses the correct item grid which now includes deepsea L+R sides for 3.0.0
Adds data for supporting 3.0.0, still needs savefile structures/hash range dumped and incorporated into MainOffsets30/PersonalOffsets30. Offsets/range is currently a copy of 2.0, which is obviously not correct. Saves will fail to load as encrypted values are not at the expected offset (pls no complaints).
CTRL-I from main form still opens the injector interface; RAM offset not yet documented.
Added code that zeroes out the 4 bytes beginning at offset `0x70` of the pattern array that seemingly causes mismatches in imported pattern ownership.
Exposed this fix via extra testing with different saves and different pattern dumps.
Added fix for two parts of pattern import problems:
1. PlayerID and TownID bytes need to be added to the pattern data from the personal.dat offsets to set them as owned and editable correctly. Added these code to get and force overwrite to fix.
2. Flags exist in main.dat for if the player has edited the pattern slot and if not, the name will not be updated correctly. Added offsets for these and added code to flag them as edited on import to fix.
Added a new icon that supports up to 256px and is "distinct".
Added translations to MessageStrings_jp.txt.
* Initial save arrangement
* Add initial text dumps
* Update metadata
* Update offsets for main/personal, fix variation test -- items now internally labelled for no variation
* Add event flag labeling
* Add customization remake lookup entries
No savefile changes apparently, just adding in new items & handling for them.
Probably didn't need to duplicate the Main/Personal offset classes, but whatever.
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).
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)