Commit Graph

716 Commits

Author SHA1 Message Date
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
1e32df00db Fix player house grid config init
Closes #724
2026-01-27 19:31:39 -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
39d6a3196d Render outside terrain selections
outside.bin used to display; might be wrong on some of the outside acres (north?)
2026-01-27 00:00: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
0393638680 Clear viewport item node on skip
When jumping viewports, pixels from the previous viewport weren't being wiped
2026-01-26 22:36:54 -06:00
Kurt
77b6ed957a Simplify bits per pixel image fetch
Less error prone in the future; multiple optional args are ugly, and we can infer the value using available BCL method.
2026-01-25 23:16:23 -06:00
Kurt
5251449474 Update ImageUtil.cs
Closes #717
2026-01-25 22:54:29 -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
DESKTOP-SN9KF5O\Strawberry
943cd06703 Fix "rolling suitcase" ItemRemakeInfoData
# Accidental oversight of an item that previously existed but had no remake info data
2026-01-24 23:55:40 +00:00
Josh (vector_cmdr)
af46059387
Update Available Reactions (#713)
Add new player reactions and the new unused ones.
2026-01-25 03:09:01 +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
1aaccd1962 Update remake data for 3.0.0 2026-01-18 15:31:41 +00: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
Kurt
ff4c77a06c Misc tweaks
No functional change
2026-01-17 15:17:39 -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
Kurt
d276527404 Condense some expressions 2026-01-16 00:29:38 -06:00
Josh (vector_cmdr)
90f71c6dee
Merge: Initial add of 3.0.0 Amiibo Villagers
Initial add of 3.0.0 Amiibo Villagers
2026-01-16 00:56:39 +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
Josh (vector_cmdr)
0f363b54b0
Add rev 31 for WhereAreNOffset
Add rev 31 for WhereAreNOffset
2026-01-15 15:43:28 +11:00
Josh (vector_cmdr)
a7552e75d8 Add rev 31 for WhereAreNOffset
Add rev 31 for WhereAreNOffset
2026-01-15 15:40:06 +11:00
Kurt
e3cca28a2c Update for 3.0.0 (no map editing)
Map field items/placement is revised, need a fair bit of time to figure out how best to handle it along with backwards version support.
2026-01-14 21:18:11 -06:00
Kurt
fd222a93b1 Update EffectiveGuacamole.cs
Add dump option for saving decrypted file, easy enough.
2026-01-14 19:04:56 -06:00
Kurt
fd37fa4397 Add unit test for pattern replacement
The previous method was fine, not sure what the underlying issue is. The unit tests assert that the sequence is fully replaced.
2026-01-14 18:59:38 -06:00
Kurt
ef4703d3b3 Add EffectiveGuacamole port
simple to understand; no longer need to run a separate toolchain if there (n)ever is an update in the future.
2026-01-14 18:58:49 -06:00
Kurt
0ad0ee0697 Rewrite crypto to use span 2026-01-14 16:42:57 -06: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
e3f3e3a749 main/personal hash ranges 2026-01-14 12:42:48 -06:00
Kurt
9d1309827e Pre 3.0.0 support
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.
2026-01-14 11:17:15 -06:00
Kurt
fa3f0e3cc8
Update to .NET 10 (#683) 2026-01-13 16:02:58 -06:00