Commit Graph

264 Commits

Author SHA1 Message Date
Kurt
75c176c028 Fix: Replace All items using a copy of the tile
The field array will get mutated, so make sure that our item reference isn't one of the field tiles.
2021-02-28 18:41:25 -08:00
Kurt
339bb4f7c8 Update PlayerHouseEditor.cs 2021-02-15 19:52:58 -08:00
Kurt
5b46d3ddaf Update FieldItemEditor.cs 2021-02-15 19:52:13 -08:00
berichan
b97082c95d Add manual string-only override of player name/island name in villager player memory editor. Closes #409 2021-02-07 15:34:09 +00:00
Kurt
d47158587c Add tile replacement to Field Item Editor
hold ctrl+alt(+shift for full map) to replace all items on the map that you tap, with the item from the editor.

don't mix & match field items (trees) with regular items, cuz we can't verify size matching for those. Field Items return "unknown size".
2021-02-05 09:15:52 -08:00
Kurt
f427ca647e Update FieldItemEditor.cs 2021-01-23 23:52:24 -08:00
Kurt
2670a6c751 Add placed design dump/load
https://github.com/kwsch/NHSE/issues/443#issuecomment-765915667
2021-01-23 10:58:58 -08:00
Kurt
1c4df60920 Add pattern bulk import
#443
Pattern names don't update on the left side (even for single-imports), don't bother for now. Just save & reopen the editor.
2021-01-22 23:14:14 -08:00
Kurt
83169b8738 Bump language version to c#9 2020-12-24 23:53:40 -08:00
Kurt
c027a2cb44 Bump netcore usages to net5
nhse.core still is netstandard2.0
only tests/sprites/winforms got bumped
2020-12-02 21:35:24 -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
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
Kurt
1e0bd10bdb Minor clean 2020-11-22 19:40:37 -08:00
Kurt
8eea2a22d5 Change default injection offset
Users who have previously used the program will have to manually change the value in the injection form's textbox to `AD3C7FD8`.
2020-11-18 19:20:00 -08:00
Charlie U
2467354850
Implement ItemsFromNHI bulk import (#418)
* Implement ItemsFromNHI bulk import

* Add alert box when spawn clicked but no NHI selected

* Fix comment to clarify items are dropped not placed
2020-11-18 18:43:40 -08: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
f49d616e9b Update default offsets
Can't wait for previous users to not update their offset and complain about FailValidate
2020-09-29 19:18:33 -07:00
Kurt
a2ed2889a2 Bring injector window to original position if already open
Show doesn't do anything if it's already hidden; we want to bring it to the front of the screen and then reposition it CenterParent.
2020-09-05 20:18:36 -07:00
Kurt
0203eb4017 Minor clean 2020-09-05 20:15:17 -07:00
Kurt
2c67c79c95 Update default pocket offsets
Having em all in one commit makes it easier to keep track of what needs to change in future updates
2020-07-29 19:24:21 -07:00
Kurt
833483027f Minor clean
memes
2020-07-29 18:35:59 -07: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
a4421aafa4 Save offset on text changed to settings 2020-07-04 15:43:03 -05:00
Kurt
62eabb10d6 Update localizations 2020-07-03 12:11:33 -05:00
Kurt
4d5e06e373 Add Dive item list & actions for editors
BCSV dump puts Communicator in the list; manually removed. Moved pearl to shells list as it's not able to be donated to museum
2020-07-03 12:05:24 -05:00
Kurt
b0511e0608 Update default pouch injector offset
Since it is a saved setting, people will have to change the offset manually if they have already used the program.
2020-07-02 21:43:07 -05:00
Charlie U
93c78a15bf
Fix bug causing only 3-letter .nhvh files to show in dialog (#315) 2020-06-22 15:50:59 -05: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
berichan
e0e4dd508c
Added support for USB-botbase (#299)
Only for player item injection at this time; no sync / toggle between modes
2020-06-06 12:58:13 -07:00
Kurt
de3ee7ba41 Rotate terrain tile on ctlr-shift click
Closes #290
2020-06-01 20:47:04 -07:00
Kurt
491bae480e Add CraftAll
Closes #279
2020-05-31 18:12:46 -07:00
Kurt
2b3225fd4b Update FieldItemEditor.cs
Closes #282
2020-05-31 17:27:13 -07:00
Kurt
ab16bdc694 Add Clear All 2020-05-31 15:30:24 -07:00
Kurt
c571fbb20a Add remove trees option
Closes #273
2020-05-31 15:24:59 -07:00
Kurt
2dca9f283b Allow changing other flags for Recipe List
Closes #276
2020-05-31 15:22:12 -07:00
Kurt
25262478ae Add sensitive scaling for field item map
if ppl have something other than 100% scale somehow
Closes #248
2020-05-25 09:39:22 -07:00
Kurt
72312641a9 Add villager nick/greet
Closes #254
update translatables
2020-05-25 09:21:15 -07:00
Kurt
0d64fa65d8 Fix building snap misaligning view
field item coordinates need to be even, not odd
do the same "even" clamp

(we do this so that we can sync the terrain tile view to the field item view)
2020-05-25 08:36:07 -07:00
Kurt
084542d367 xmldoc
tried to split off some grid stuff because rooms don't need to know about acres; whatever
2020-05-23 13:08:14 -07:00
Thibault Ehrhart
71428d542e
ImportMapAcresAll: update CopyTo index to 0 (#245)
The second parameter of `Array.CopyTo` takes an integer that represents the index in array at which copying begins. Therefore in this case it should be set to 0 instead of the array's length.
2020-05-23 09:02:06 -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
0e70d823a5 Synchronize acre-view comboboxes
Closes #236
2020-05-20 18:10:21 -07:00
Kurt
a1cc4de611 Add bulk spawner for field items
Closes #235
2020-05-20 13:22:50 -07:00
Kurt
9645c16152 Add flag dump/load
Closes #234
2020-05-19 09:48:11 -07:00
Kurt
250fe581f4 Autosize PictureBoxes, widen flag panels
Closes #209
2020-05-18 08:12:40 -07:00
Kurt
4e1b5ab87f Snap to building location on index change
Closes #231
2020-05-17 09:14:59 -07:00
Kurt
6b678ac704 Add snap to grid for field items, upgrade handle extensions: delete tile
Setting a field item with the snap active will align it to the major gridlines. This will prevent the user from setting un-interactable objects (rocks, trees) unintentionally.

Having the auto-handle extension tiles will now delete all associated tiles when issuing a delete command on an extension tile, rather than just deleting the extension tile.
2020-05-16 12:03:21 -07:00
Kurt
a4b4a3c24a Add water flower button
control: all water states
shift: all map (instead of current viewport)

Closes #230
2020-05-16 11:30:25 -07:00
Kurt
3061442f77 Add localized color name display
Closes #223
2020-05-15 13:08:47 -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
ce47a76e1b Use actual final scale rather than allowing zoom upscale
clear pixel boundaries, no fuzz
2020-05-14 11:04:22 -07:00
Kurt
b0870c865a Add design tile clear button for terrain editor
not visualized, but still exposed for mass clear

Closes #208
2020-05-13 12:43:04 -07:00
Kurt
199e57ec6d Update MuseumEditor.cs 2020-05-13 00:15:36 -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
ef3b39e4a0 Add layer support check, add enum for room layer location/type 2020-05-12 19:47:31 -07:00
Kurt
797cd0e16d Update FieldItemEditor.cs 2020-05-12 15:23:25 -07:00
Kurt
6fe7e4e53a Add road tile detail copy
Copies only the road portion of the terrain tile, not the ground detail.
Closes #203
2020-05-12 15:22:39 -07:00
Kurt
5a22c0e58a Add missing terrain event handlers 2020-05-12 10:34:56 -07:00
Kurt
755a7d773b fix villager house dump/load
also copy npc values when importing player house; unknown function since most ppl have only 1 player house
2020-05-12 07:36:37 -07:00
Kurt
4792d675eb Don't update map hover coordinates on mouse-button down
right click drag on map should do nothing, and now does nothing
2020-05-11 23:18:07 -07:00
Kurt
902dd90dc9 Remove hardcoded map dimension properties
we can refer to MaxWidth/MaxHeight instead
2020-05-11 23:13:40 -07:00
Kurt
0f451141c9 Add player house placed-item / flag editor 2020-05-11 22:20:39 -07:00
Kurt
60faecdc69 Refactoring
move files, abstract some logic for later reuse
2020-05-11 22:14:27 -07:00
Kurt
6ae1c9724b add click-drag on acre picturebox to move the viewport
hold control to drag the viewport faster

does not move items; that would probably have to be a toggle -- if ever implemented
2020-05-10 14:13:45 -07:00
Kurt
2bde85aa59 Misc appearance tweaks
many-customize-option items can have too many displayed options; just increase the size / scroll bar the editor

yay "wooden simple bed"
2020-05-10 12:49:23 -07:00
Kurt
6dc5e0c362 Uncheck acre snap by default for reticle placement 2020-05-10 12:20:38 -07:00
Kurt
71089b0103 Set body customization flags on give all
Closes #190

I checked one of my more recent save files and noticed that bits for remake indexes 2,000+ were set. Not sure why there's 8000 remake sets allocated... Maybe they're using the data there for other unlocks / values. Dunno!

Replace '8' with ItemRemakeInfo.BodyColorCountMax for documentation clarity
2020-05-10 08:54:45 -07:00
Kurt
cca03ea27a Fix import size check
Closes #188
2020-05-09 22:28:48 -07:00
Kurt
dd92b9ea73 Update FieldItemEditor.cs 2020-05-09 22:11:40 -07:00
Kurt
8beb1c426c Add view option to read root instead of a clicked extension
enabled by default

viewing an extension will calculate where the root node is (based on the extension values) and load it instead, only if the item ID matches. bounds check to be 100% safe from ppl placing random/bad extension tiles
2020-05-09 22:09:36 -07:00
Kurt
000da2cbb6 Misc tweaks
Fix bottom acre row labeling for MapAcre stuff
Don't close png dropdown on checkbox click
Don't change map reticle position on map right click (only left click)
2020-05-09 20:11:22 -07:00
Kurt
826ba00fcd Allow toggling png export
why not; I guess if you don't want the items/reticle and want dat clean "here's my terraforming work"
2020-05-09 17:32:15 -07:00
Kurt
d1b7032b79 Save background and foreground (full map picture)
yay pretty
2020-05-09 17:25:42 -07:00
Kurt
a12278d148 Add outside/field template tracker editing 2020-05-09 17:13:31 -07:00
Kurt
ce427bd698 Remove deprecated editors 2020-05-09 17:05:38 -07:00
Kurt
74bf1d4cef Merge acre editor into field item editor 2020-05-09 17:03:58 -07:00
Kurt
fd81b2cb61 Convert OutsideAcreList to enum 2020-05-09 14:56:11 -07:00
Kurt
0085c453d4 Add custom picker for specialty fruit
Closes #181
2020-05-09 10:58:19 -07:00
Kurt
6eff348fa5 Disconnect on form close too
same as 39205c975e
2020-05-09 10:35:14 -07:00
Kurt
60f3fa84a3 Add more misc edits
Closes #179
Not allowing people to import a jpeg.
2020-05-09 09:39:35 -07:00
Kurt
07e393177f add initial exterior acre pixel calculation
no functional changes to NHSE
2020-05-09 08:31:46 -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
8661f7c0cc Use Item Editor instead of property grid
Closes #151
2020-05-08 13:27:29 -07:00
Kurt
a9810c7d03 Merge Field Item back into Item
Different means of expression for the 8 byte item structure's FreeParam

Will be expanding the ItemEditor so that it has a checkmark to toggle Extension Item editing behavior.

Removes IHeldItem as there's no need to abstract it.
2020-05-08 12:20:24 -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
152d8dc431 Update translatables 2020-05-07 10:36:11 -07:00
Kurt
55022c85f4 Indicate subvariation colors
Recombining the values with a GUI editor TBD
2020-05-07 10:32:14 -07:00
Kurt
9388ecb576 Save remake (customization) unlock flags 2020-05-07 08:25:29 -07:00
Kurt
528eb2f1ec Show customization available bits
There's probably other bits used for fabric, but that's not researched
2020-05-06 21:03:20 -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
39205c975e Disconnect on window close 2020-05-06 14:11:53 -07:00
Kurt
20a16666ff Don't force inject if autowrite not set 2020-05-06 14:10:29 -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
478b8e29c5 Allow clearing all flags regardless of constraints 2020-05-05 18:40:48 -07:00
Kurt
e980e1d8c2 Add skip list for giving all received items
Closes #166

I threw in the 30-slot unlock as well as the other "Recipe" ids so that things aren't messed with. They're skipped!

ty @theiconrichie !
2020-05-05 18:37:44 -07:00
Kurt
203a7c1627 Add more removal options
- remove flowers
- remove shells
- remove branches

Closes #163

rename plazaX/Y to match internal field name
2020-05-05 17:17:59 -07:00
Kurt
a3357c27c5 Clamp acre jump to valid bounds 2020-05-03 20:50:45 -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
b884973919 Refactoring
abstraction++
2020-05-03 19:24:16 -07:00