Commit Graph

714 Commits

Author SHA1 Message Date
Kurt
db2a242d8e Update LayerPositionConfig.cs 2026-01-25 03:00:46 -06:00
Kurt
fa1f5dceeb Still super broken 2026-01-25 02:44:50 -06:00
Kurt
4823a45104 Push current
Still some issues rendering the inflated viewport
2026-01-24 22:55:29 -06:00
Kurt
e8bad46575 Merge branch 'master' into tileshift 2026-01-24 15:22:09 -06:00
Kurt
8a79b2e8de Add Item Flag migrator 2026-01-24 15:20:43 -06: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
Kurt
eb116d38b1 Update MapRenderer.cs 2026-01-20 20:15:48 -06:00
Kurt
02d6713455 Merge branch 'master' into tileshift 2026-01-19 23:13:02 -06:00
Kurt
0ce31ca895 Stash
Code now compiles, but will need to test and bugfix extensively.
Need to pre-fill the pixel buffers with sea first unless the acre fill actually works (maybe?)
Items need to be relative'd to apply 1 row lower, and skip the bottom row.
Need to check that terrain is the same as well.

Note to self:
For Map - probably better to get a starting x,y,width and iterate off that, fetching tile from relative, converting to absolute... idk.
For View - need to check if tile is in layer.
2026-01-19 23:12:59 -06: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
Kurt
50ce05af6f stash
rewritten core side to include tons more metadata/structure
need to rewrite renderer to output full map image rather than skipping sea
2026-01-19 01:20:43 -06:00
Kurt
9a54d0fb9a Merge branch 'master' into tileshift 2026-01-18 14:29:56 -06: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
7ea5c03aa3 Misc tweaks, sealed classes 2026-01-17 22:12:37 -06:00
Kurt
666912a93b Merge branch 'master' into tileshift 2026-01-17 16:15:33 -06: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
f26a6ac493 Misc tweaks
Still a WIP
2026-01-17 16:08:50 -06:00
Kurt
f6ac545cba Merge branch 'master' into tileshift 2026-01-17 15:18:03 -06:00
Kurt
ff4c77a06c Misc tweaks
No functional change
2026-01-17 15:17:39 -06:00
Kurt
f60a7e60e8 Add logic to upgrade/downgrade item layers
Allows seamless imports of old maps on new saves, and vice versa.
2026-01-16 22:16:36 -06:00
Kurt
f443add432 Merge branch 'master' into tileshift 2026-01-16 21:36:29 -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
766e58ffec stash
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
2026-01-16 00:51:19 -06: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
DESKTOP-SN9KF5O\Strawberry
63bd5f643c Fix Leopold 2025-10-31 18:31:35 +00:00
Josh (vector_cmdr)
2769330d15
Merge pull request #674 from XVII/feat/pretty-flag-dump
Adds simple copy to clipboard to help dump nice flags as text for external comparison
2025-08-20 12:49:49 +10:00