Feature:
Adds support for postbox.dat via Post Box Editor and accompanying components:
- Add Mail class.
- Add PostBox class and corresponding offset classes.
- Add wrap suppression option to ItemEditor.
- Add wrapping and box dictionary to ItemWrapping class.
- Add new language strings associated with forms and types.
Fix:
Resolved overwrite for bad dumps on all imports by adding UsageCompatibilityOffset and UsageCompatibility() added to Design classes. Transparent pixel check method added to PatternEditor and LoadPattern() altered to write the correct compatibility bytes based on type and transparency.
Updates the Field Item Editor to render layers based on the entire map, and the per-patch positioning of each layer.
Import/export will gracefully handle upgrade/downgrade, and viewport import/export will gracefully update tiles rather than a per-acre basis.
Performance has also been slightly improved; no allocation is done anymore when updating the image.
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.
Closes#684
Defensively allocate a copy so that the replacement does not overwrite the original sequence A=>B then continue doing B=>B swaps.
Wasn't a problem before since properties fetched byte[] (allocated separate slice); changing to span introduced this regression -- now fixed.
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.
* Fix loading player house and room dumps
* Check converted house/room data lengths rather instead of the imported dunmp's
* Fix downgrading player house format
Closes#523
Thanks @Zelfild for identifying the problematic indexes!
Skips over these two indexes on give-all, and skips over them when spawning a set of DIY items onto the ground.
Added control-key to set all IsNew to false instead of true (when doing GiveAll)
* 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
To make dumping/loading designs match other dumping/loading buttons (terrain, acre and so on)
+ clicking on "Dump/Load Design" will draw a context menu with 4 options (2 if it's only one design pattern e.g. town flag).
+ when loading designs, I made the Listbox with the design names repopulate (update names) and select the user-selected design instead of going to index = 0;
+ when loading all designs I open a prompt to update "values" or not, instead of by default updating them.
+ fixed file name of dumped singular pro designs to .nhpd instead of .nhd lol
Closes#474
New Horizons loves to reuse and reinterpret data based on values, hence the GUI toggling done for Uses/Variations/Genes... we have to do something similar here. Feels best to be done behind the scenes via code instead.
Similar to PKHeX's batch editor, probably with some stubbed functionality.
Example to change Oak Trees to apple trees:
=ItemId=60000
.ItemId=60001
;
=ExtensionItemId=60000
.ExtensionItemId=60001
Example to unbury all items:
=IsBuried=True
.IsBuried=False
.IsDropped=True