Commit Graph

105 Commits

Author SHA1 Message Date
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
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
683c887551 Add xmldoc
Skip interpreting the dll from environment
2026-01-28 23:21:08 -06:00
Kurt
2ca9fd6e22 CenterParent, Dpi base scaling 2026-01-28 19:51:49 -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
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)
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)
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
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
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
fa3f0e3cc8
Update to .NET 10 (#683) 2026-01-13 16:02:58 -06: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
Kurt
586344c626 Fix poki value set
Make it same as other EncryptedInt32 set operations above
2021-12-20 10:30:30 -08:00
CJ Bok
3045ee3c43
implemented wherearen.dat and Player.WhereAreN.Poki (#564)
* implemented wherearen.data and Player.WhereAreN.Poki

* Make wherearen savedata presence optional
2021-12-11 16:30:40 -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
ae42737c02 Add a clearer exception message when no player folders present 2021-02-17 20:52:08 -08:00
Kurt
eb554a623b Fix reaction wheel UI display
revised structure, need to abstract things a little for it
Closes #427
see also #428
2020-11-22 19:57:29 -08:00
berichan
ea1d9c7b1b
Image fetcher & 5byte fields (#359)
* Added new image code, quanted existing images, fixed bcsv parser

* small clean and sane(r) filenames

* Made a string slightly nicer

* various revert to fix diff

* full revert of editor

* forced revert of editor

* fix sprite init

* ready for merge
2020-07-20 19:02:49 -05:00
Kurt
a14ddcade6 Add raw weather seed reading (not shifted)
#309
2020-06-12 23:04:44 -07:00
Kurt
918c97eeaa de-generic the item grid editor
no need to have it generic; it only handles Item[]
(ignoring VillagerItem[], which should be a separate editor or something)
2020-06-08 22:06:32 -07:00
Kurt
8302184c43 Add visual indicator for bad wallet value
#302
2020-06-07 15:06:59 -07:00
Kurt
70ec346d7c Add red color if pocket count out of range
#302
2020-06-07 10:15:10 -07:00
Kurt
406b64333a Enhance achievement / milestone editor
Closes #238

Extract milestone thresholds / milestone count
Abstract out achievement data to workable structure

add giveall/clearall for individual / all, cuz ppl are lazy
2020-05-21 22:54:05 -07:00
Kurt
ffa0d3612b Add island visitor editor
Make daily NPCs show up reliably!
2020-05-14 09:12:38 -07:00
Kurt
d22ac35f73 Add Museum Editor
game stores all donation types in the same array (chunked into date[], item[], playerID[]); no dedicated indexes for a donation, so no empty slots, and all donation types are intermixed (based on donation date)
2020-05-12 22:55:26 -07:00
Kurt
ce427bd698 Remove deprecated editors 2020-05-09 17:05:38 -07:00
Kurt
9523376a9c Add tailor/flag design pattern editing
Closes #184
2020-05-09 12:28:43 -07:00
Kurt
56fd88cabb Use combobox for airport color w/color names
Closes #180 ty @MirayXS for the list of color IDs
2020-05-09 08:36:06 -07:00
Kurt
d5a53de265 Add airport color r/w
Closes #176
if anyone wants to document which value = which color, pls report back
2020-05-08 21:01:22 -07:00
Kurt
d566eb9972 Add player detail / fg
fg = field goods? probably not, but a good enough guess for now

kinda overflowing on player editables; get chucked to a sub-editor.

Closes #164
2020-05-08 20:52:32 -07:00
Kurt
8e4e0a92f8 Add reaction list editor
#167

If you're adding reactions, you should probably set FillReactionList in player flags to 44 so that the game knows to not give you more reactions...?
2020-05-07 22:13:31 -07:00
Kurt
230257d4d1 Save hemisphere on save
oops
2020-05-07 19:25:08 -07:00
Kurt
6a98054149 Add hemisphere get/set
ty @rydoginator
2020-05-07 18:06:31 -07:00
Kurt
5779b65b9b Adapt personal player struct to disassembled pseudo.h
Similar to main's adaption in a prior commit, let's use the relative offsets.

adds total nook miles earned to editor
fixes the off-by-one indexing for achievement list
2020-05-06 15:32:09 -07:00
Kurt
bf841b8ecf Show item sprites in item editor
put a folder named "items" with the english named item sprites (tbd if we change to a more sane filename format)

bring your own files, it's like 45 MB so not distributing with the EXE.
2020-05-05 22:13:29 -07:00
Kurt
0ec40f3b55 Categorize stalk market properties
update other usages so we can turn off the help box at the bottom of the propertygrid
2020-05-03 19:43:10 -07:00
Kurt
8de7f7b506 Add internal flag/value name translation
if you really want to translate these, go ahead
#157
2020-05-03 13:37:04 -07:00
Kurt
928e699168 misc performance improvements
Preallocate the terrain-building objects and reuse

changed:
- grid alternates with a slightly-darker to help indicate the larger 2x2 tile grid.
- put plaza & buildings behind the gridlines
2020-05-02 23:02:37 -07:00
Kurt
38a7895752 Add Storage (ItemChest) count 2020-05-02 00:35:42 -07:00
Kurt
ddde5040a2 Add room wall/floor editor for villager
Closes #138
2020-05-01 22:07:34 -07:00