Commit Graph

47 Commits

Author SHA1 Message Date
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
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
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
fa3f0e3cc8
Update to .NET 10 (#683) 2026-01-13 16:02:58 -06:00
Kurt
2287521b44 Update dependencies
Bump net5 build to net6
2022-10-25 14:36:45 -07:00
hp3721
d71e356f6e
Fix writing to PlayerRoom2.ExtraEffectLayerList (#569) 2021-11-28 08:20:06 -08:00
hp3721
2ed928e961
Fix loading player house and room dumps (#552)
* 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
2021-11-20 08:22:11 -08:00
hp3721
e7dd2c131b
Fix player room loading for v2.0.0 (#549) 2021-11-19 22:56:32 -08:00
hp3721
8aed43a67f
Add handling for revised player house and room structure (v2.0) (#547)
* Add handling for revised player house and room structure (v2.0)

* Update player room load/dump file type filters
2021-11-19 19:53:04 -08:00
Kurt
caab4f5512 Lossless v1->v2 upgrade 2021-11-05 14:27:40 -07:00
Kurt
4cad6f5894 Add handling for revised villager house structure (v2.0) 2021-11-04 20:10:49 -07:00
Kurt
fab60f95d9 Update offsets for 1.9.0
Small revisions, notably 50->100 patterns saved.
2021-03-17 19:06:07 -07:00
berichan
670d568482 Update hard limit of Villager greetings. Closes #375 2021-02-07 15:32:56 +00:00
Kurt
9638ea6f45 Add logic for retrieving and mutating villager+house pairs 2021-02-06 15:10:41 -08:00
Kurt
83169b8738 Bump language version to c#9 2020-12-24 23:53:40 -08:00
Kurt
6fbff26184 Simplify expression
#433
2020-12-02 12:52:12 -08:00
berichan
70fe4834da
Add villager crafting editing functionality (#433)
* Add villager crafting editing functionality

* Add legacy villager1 support
2020-12-02 12:42:32 -08:00
Kurt
8c548884d5 Add some xmldoc to new api 2020-09-30 14:54:08 -07:00
Charlie U
f4bbb7a7bb
Resolve Villager Import Bug (#403)
* Add missing not operator

* Fix backwards conversions
2020-09-30 08:12:48 -07:00
Kurt
8be77c691e Add villager converter
dumped a villager and the values were empty for 1->2; converting back down should be fine.
2020-09-29 22:57:31 -07:00
Kurt
8ca3877bfa Differentiate villager types
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).
2020-09-29 22:20:53 -07:00
Kurt
e8018182d8 Add edit villager wearable, expand furniture count to 32
Closes #266
Closes #268

Not sure about Tops/Accessory/Cap, as there are TopsData and UsuallyTops being separate.
2020-05-28 12:57:21 -07:00
Kurt
d01e9e0980 Minor clean
fix upscale passing parameter
2020-05-27 11:23:05 -07:00
Kurt
72312641a9 Add villager nick/greet
Closes #254
update translatables
2020-05-25 09:21:15 -07:00
Kurt
adda3c0bb4 Fix villager origin check
Closes #252
2020-05-25 08:42:35 -07:00
Kurt
a8f111a8f1 Add villager memory (per player) editor
Change friendship here.

Can also cheat all friendships (of all villagers, for all saved players) to 255 by shift clicking the drop-down button instead.
2020-05-14 16:10:33 -07:00
Kurt
56c1cc31da Add additional property accessors for room
unused in logic
2020-05-13 12:17:10 -07:00
Kurt
f50071c0be Rework houses to expose more details 2020-05-11 22:20:21 -07:00
Kurt
a801b1854f Allow editing villager cached pattern
Closes #191
2020-05-10 09:56:26 -07:00
Kurt
8458c52c28 Add room metadata get/set for villager 2020-05-01 22:06:49 -07:00
Kurt
6abae6dd87 Rename properties to match disassembled internal names
Revise offset values to read from the struct's location within the parent object.
2020-04-30 23:13:41 -07:00
Kurt
de48c037f9 Add house editor
only some surface appearance properties; interior item layout nope
use enum values for house info interface

Closes #95
Closes #96

Changes the displayed villager indexes from 1-indexed to 0-indexed to match the game's references.
2020-04-22 21:55:24 -07:00
Kurt
b4f1bda2c7 Extract translatable strings to static class 2020-04-21 12:43:16 -07:00
Kurt
3a68919325 Add Last Saved Time, display at top of window 2020-04-21 11:17:34 -07:00
Kurt
d21b99978a Add player & villager house dump/load
share your house, but not your toothbrush!
2020-04-19 16:23:59 -07:00
Kurt
4fa77c9242 Minor unused additions
add some villager stuff
add outside acre template id
add mainfield template id
2020-04-19 15:26:09 -07:00
Kurt
31dd3e04bc Update Villager.cs 2020-04-19 11:27:58 -07:00
Kurt
2e64f0b109 Add villager flag editor + moving out state toggle 2020-04-18 11:11:25 -07:00
Kurt
447916e120 Only replace occurrences if different sequences 2020-03-30 13:55:29 -07:00
Kurt
da4b292588 Add villager item editing
Furniture array is inside the villager's item list; there's another list of a different format in the offsets below

probably just a struct within another struct, like

struct villagerItem {
item; (0x08 bytes)
metadata; (0x24 bytes)
}
2020-03-29 17:12:41 -07:00
Kurt
b9ef2eb314 Fix town & town => town & player
Split things up for a little more verbosity
2020-03-29 15:10:46 -07:00
Kurt
7391be7e56 Add origin updating for villager imports 2020-03-29 13:40:31 -07:00
Kurt
65fca3cbba Replace player/town name on edit
Replaces a byte sequence with the updated sequence of data, using the player/town ID as a prefix to ensure that short names can be changed correctly without affecting other game data (hopefully).
2020-03-29 12:41:27 -07:00
Kurt
fb13723b01 Initial commit 2020-03-27 17:54:17 -07:00