Commit Graph

419 Commits

Author SHA1 Message Date
Josh (vector_cmdr)
4426404f2d
Fix Load All Patterns Ownership (#756)
Added Personal for IVillagerOrigin in place of current pattern index for Load All.

Moved ContainsTransparentPixels to ImageUtil.
2026-02-20 22:55:55 +11:00
Josh (vector_cmdr)
dc7292a5d3
Fetch PlayerID for Patterns (#755)
Changed check of current pattern slot player ID to check of current player ID for pattern overwrites.
2026-02-20 11:30:12 +11:00
Josh (vector_cmdr)
e8c5daf745
Fix: Map Design Import/Export (#751)
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.
2026-02-15 02:12:32 +11:00
Josh (vector_cmdr)
18995c7299
Fix: Pro Pattern Import (#750)
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.
2026-02-14 01:59:05 +11:00
Josh (vector_cmdr)
17d64fe680
Fix: Sticky ItemEditor remake label
Add fix for Issue #541 (sticky label): disable fabric label when loading new item without fabric.
2026-02-13 00:13:01 +11:00
Josh (vector_cmdr)
2bfb5759bd
Add: Tour Hemisphere + Weather (#748)
Added the offset for tour weather area + offsets for tour hemisphere and tour weather seed.
Added to UI.
2026-02-12 23:47:34 +11:00
Josh (vector_cmdr)
7071832476
Fix: LoadDecrypted Villager[n] (#747)
ReloadAll() wasn't loading the villager that was currently selected on load (or 0 if not in panel) leading to incorrect villager import.

Fix: Add public Reload() method to VillagerEditor to call LoadVillagers() and call it after Villagers and Origin are loaded. Reset Villager index NUD to 0 in LoadVillagers() so the slot is moved to 0 and then load occurs (so UI is refreshed and villager is loaded).
2026-02-11 23:50:25 +11:00
Josh (vector_cmdr)
41841e5bfb
Feat: Post Box Editing (#744)
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.
2026-02-10 01:32:16 +11:00
Kurt
e54814d0d3 Misc position fixes
Closes #733
Fixes plaza x/y control position
Fixes storage page-up/down button position
2026-01-31 11:04:59 -06:00
Kurt
e6f45d1805 Fix terrain brush popup
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.
2026-01-30 22:55:26 -06:00
Kurt
5c51055a4c Add rough error logging
#727
2026-01-30 10:59:46 -06:00
DESKTOP-SN9KF5O\Strawberry
7dff777997 Injector: Ensure first reads are valid
# Don't pull 0 from the saved/default settings
2026-01-30 03:12:14 +00:00
DESKTOP-SN9KF5O\Strawberry
ef2780c17b Injector: Don't overwrite offset textbox with nothing 2026-01-30 01:42:18 +00:00
Kurt
683c887551 Add xmldoc
Skip interpreting the dll from environment
2026-01-28 23:21:08 -06:00
Kurt
05aca52a35 Extract save file loading logic from Main 2026-01-28 20:02:38 -06:00
Kurt
2ca9fd6e22 CenterParent, Dpi base scaling 2026-01-28 19:51:49 -06:00
Kurt
be1b6f07a7 FieldItem: rearrange layout for GUI scaling
Image no longer overlaps with controls, they'll shift down
2026-01-28 19:51:20 -06:00
Kurt
d4df2c6c59 Fix villager replace dereference & clipboard error
Closes #722
2026-01-27 20:15:16 -06:00
Kurt
a6d21f515f Rewrite settings handling to load on startup
Now uses json to store, manually editable

Closes #644
2026-01-27 19:27:18 -06:00
Kurt
0e26ad7099 Add field item flag import/export
Only for entire map, not acre
2026-01-27 08:11:41 -06:00
Kurt
7b2354af84 Simplify expressions 2026-01-27 00:42:19 -06:00
Kurt
68d6db1300 Revise building max coordinates
Make same as plaza coordinate clamp (1024), idc what the real max is, just allow a too-high value to prevent any further errors :)

Closes #721
2026-01-26 22:38:29 -06:00
Kurt
a04159d7fa Fix terrain tile view
Closes #719
2026-01-26 22:37:17 -06:00
Kurt
b88c518d5c
Update FieldItemEditor for 3.0.0 (#716)
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.
2026-01-25 16:55:38 -06:00
Josh (vector_cmdr)
308e613633
ItemReceivedEditor tweak (#715)
Renaming button to "Give All Furniture + Clothing" to clarify that it adds all non bug/fish/art/dive items (i.e. furn + clothes).
2026-01-25 17:05:28 +11:00
Josh (vector_cmdr)
9bcaee6fc9
Relocate Fruits/Flowers + cleanup strings (#711)
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.
2026-01-24 01:30:00 +11:00
Josh (vector_cmdr)
c412da8217
Add theme menu + new strings (#710)
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.
2026-01-23 13:33:00 +11:00
Josh (vector_cmdr)
22b3a50d34
Storage Sort Fix (#708)
Reset page to 0 before sorting.
We can review sort all vs sort slot at a later date if desired, for now this solves the crash.
2026-01-22 00:07:12 +11:00
Josh (vector_cmdr)
2c8de97ca1
Add Campsite Editor (#707)
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.
2026-01-21 23:36:12 +11:00
Josh (vector_cmdr)
c3371475d4
Fruit + Flower Improvement (#704)
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.
2026-01-20 14:45:51 +11:00
DESKTOP-SN9KF5O\Strawberry
e67cfc8ead Minor clean to imagefetcher 2026-01-18 15:30:55 +00:00
Kurt
db54e5ae1c Fix identity swap when using span slices
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.
2026-01-17 16:14:09 -06:00
DESKTOP-SN9KF5O\Strawberry
3d9d10bb97 Clean up imagefetcher for net10/cross thread safety 2026-01-17 02:34:59 +00:00
Kurt
5152881568 Add support for opening .zip save files
ty claude u a real g
heavy legwork by claude, refinements/finish by me
2026-01-16 16:37:37 -06:00
Kurt
fd4f83ba40 Condense expression for EncryptedInt32
Bitwise operations were done manually; use intrinsics for clearer intent.
2026-01-16 15:43:41 -06:00
Kurt
2db5456251 Handle uninitialized 3.0.0 updated saves
get the game to update the save file, but without re-saving in-game, will be uninitialized (bad Hotel Tickets parsing).
2026-01-16 15:42:48 -06:00
Kurt
15c6e7169f Revise Hotel Tickets get/set to indirect access
Allows for expansion in properties available for editing via updating Personal30's get/set list
Seems like a better compromise to only update 1 class for new additions, rather than backporting a stubbed invalid offset.

Behaves similar to WhereAreN being a nullable (optional) property.

In an ideal world, we'd have interfaces and concrete implementations for every structure revision, but that's far too much work to cleanly implement compared to the picky offset slicing.
2026-01-16 11:06:00 -06:00
Josh (vector_cmdr)
bbc5c6eefc
Add Initial Hotel Ticket Support (#693)
Adds initial support for Hotel Tickets to get it up and running - needs cleanup.
2026-01-17 03:01:24 +11:00
Josh (vector_cmdr)
8393f3b4bb Initial add of 3.0.0 Amiibo Villagers
Initial add of 3.0.0 Amiibo Villagers
2026-01-16 00:51:56 +11:00
Kurt
ac79cb06f9 Check hash integrity on sav open
Clean up the Murmur3 implementation to be more C#-like
2026-01-14 15:32:43 -06:00
Kurt
f085748530 Add player inventory RAM offset for 3.0.0
B27BB758
ty Ruimusume
https://gbatemp.net/threads/animal-crossing-new-horizons-cheat-database.563423/post-10801816
2026-01-14 14:54:58 -06:00
Kurt
fa3f0e3cc8
Update to .NET 10 (#683) 2026-01-13 16:02:58 -06:00
TKB
e5ab05cc21
Update lang_ko.txt 2025-08-19 16:05:37 +09:00
Alca259
a20bd1c419
Support for 16x16px per tile and river editor (#668)
* Upgrade to .NET 8 + Nugets

* Add support for tile 16x16px instead 1px

* Rivers except 2B

* River2B
2025-07-28 00:02:34 -05:00
Josh (Lotte)
866a3b9d0d
Merge branch 'kwsch:master' into master 2023-12-18 14:54:30 +11:00
Jake Edwards
ad372b7955
Added simple copy to clipboard to help dump nice flags (#638) 2023-11-09 06:45:22 -08:00
Lotte
c1e2c3048c Villager PRO Design owner overwrite
Shifted HorizonSave into VillagerEditor in place of MainSave and adjusted accordingly to give VillagerEditor better access to save file offsets etc.

Added overwrite for Villager PRO patterns to set imported ones to be made/owned by the player for consistency. (town and player ID bytes)
2023-11-08 15:27:42 +11:00
Josh (Lotte)
11e9fafaed
Pattern Edit Fix + New Icon + JP Strings (#634)
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.
2023-10-27 05:27:10 -07:00
Kurt
2287521b44 Update dependencies
Bump net5 build to net6
2022-10-25 14:36:45 -07:00
MyShiLingStar
8bf246aac9
Fix HHP acres display in FieldItemEditor. (#607)
Co-authored-by: MyShiLingStar <MyShiLingStar@STARLIGHT>
2022-07-20 21:42:18 -07:00