Previous fix for bad map design imports had an incorrect range and no way to manage v2.0.8- and v3.0.0+ dumps.
Import/Export for map design patterns now supports both map sizes (old and new).
It will accept 2.0.8 dumps and pad them to work on 3.0.0 as well as trim previously mangled ones, or 3.0.0 dumps down to fit on 2.0.8 saves.
Byte padding methods added to ArrayUtil for this padding and for future map flag import padding fixes.
I beefed the UsageCompatibility addition by accidentally deleting the exception catch when cleaning up some comments and thus killed the WritePatternPRO method lol. Absolute unit of a goose.
Took the opportunity to moved the compat to the other data manip in the buttom methods instead of the load methods.
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.
Closes#729
1. Dark mode now applied correctly (was previously lacking)
2. Fixed terrain brush action (brush active is higher priority than drag, fix tile fetch)
3. Fixed writing of Building/structure labels; apply after Terrain
4. Single terrain brush form allowed, center to Field Editor on launch
Somewhat related: fix Show() load for non-ShowDialog() forms to center to parent.
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.
Relocated island/sister fruit/flower functionality to new FruitsFlowersEditor out of MiscPlayer to better follow existing layout.
Added new button for this editor to Map tab for the new form. MiscPlayer fruit now sets passport only, FruitsFlowersEditor sets both. Other functionality remains as before.
Retired FieldGoods from the Map button in favour of above.
Adjusted UI anchors and open positions for new forms + cleaned up recent lang_xx string additions.
Add theme menu to Editor and accompanying logic + strings.
Updated Misc fruit/flower and CampsiteEditor to use translatable strings.
Added new strings to lang and msg files.
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.
* 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)
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
c1bc5ae97f
Add Vertical spawn mode, since people like to do that for their treasure islands
Co-Authored-By: MadDanEccles <5344903+MadDanEccles@users.noreply.github.com>
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
hold ctrl+alt(+shift for full map) to replace all items on the map that you tap, with the item from the editor.
don't mix & match field items (trees) with regular items, cuz we can't verify size matching for those. Field Items return "unknown size".
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).