Commit Graph

2135 Commits

Author SHA1 Message Date
Christopher Leggett 700fba28dd
Fixes regression in random rupee names (#2927)
Technically was a CustomMessageManager bug but it was in a function that I believe is only used for random rupee names.
2023-05-30 08:45:33 -04:00
Caladius edc5e8f7d4
ShadowTag (7.0.1) (#2825)
* Add Checkbox in Extra Modes
Spawn Code in mods.cpp
Category Change for Clear Room Exclusion
Kill Actor if Mode is Disabled

* Fix non door scene changes and adds a delay to avoid misfiring or not firing on quick room changes like falling to B1 in Tree and Lost Woods loading triggers.

* Requested Updates
2023-05-28 18:46:18 -04:00
Garrett Cox 3ab547c69d
Update cvar clear lists and add cheatCvars clear list(not currently used) (#2869) 2023-05-28 18:42:34 -04:00
Malkierian 0c7e80a190
Improve Controller LED Control (#2864)
* Add brightness control and on/off toggle for tunic LED colors.

* Removed toggle, mentioned brightness of 0% for turning off LEDs.

* Set up grabbing tunic color values from Cosmetics Editor for cosmetics sync.

* Why these stupid differences between Windows and Linux compilers?

* Fix Mac build errors? Also try to move the color fetching back into the switch statements to lessen potential computational load.

* Real fix?

* Move "Customize Game Controls" button under "Controller Configuration" button under Settings -> Controller. Renamed "Controller Configuration" to "Configure Controller" and "Customize Game Controls" to "Customize In-game Controls"

* Added LEDColor and LEDColorSource enums for code clarity.

Moved controller LED brightness to new LED Colors group in "Customize In-game Controls" menu.

Added combobox to choose between vanilla tunics, cosmetics tunics, health, and custom as color sources.

Added critical health override checkbox to allow display of red when health is low even when other sources are selected.

Port color pickers have not been implemented yet, default color is white.

* Moved LED control to OTRControllerCallback and wrapped it in a check to `CanSetLed()`.

* Move settings to Port 1 tab in Customize In-game Controls and limited application of colors in `OTRControllerCallback` to port 1.

* UI clarity updates.

* Removed unnecessary LED color enum.

Added custom color picker to port 1 color settings.

* Changed Critical Health Override default to true.

* Modified logic to not do color fetching and instead default to {0,0,0,0} when brightness is off.

* Fix bad cvar string for custom color.

* Cleaning up some post-merge artifacts.

* Update soh/soh/Enhancements/controls/GameControlEditor.h

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>

* Some name changes.

* idea for cleaning up controller callback stuff

* Rearranged color source checks to make sure criticalOverride is applied regardless of other settings.

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
Co-authored-by: briaguya <briaguya@alice>
2023-05-28 18:40:53 -04:00
aMannus cebfcd1d88
Hyper enemies (#2887) 2023-05-28 18:14:07 -04:00
Garrett Cox b9c2640671
Use gBuildVersion instead of sohStats.buildVersion for gameplay stats (#2913)
Co-authored-by: Christopher Leggett <chris@leggett.dev>
2023-05-27 18:09:24 -04:00
Christopher Leggett f4fbc79b5d
Merge pull request #2889 from Malkierian/sectional-saves
Sectional Saves
2023-05-27 16:22:36 -04:00
Christopher Leggett a1d22abc1b
Merge pull request #2919 from Bytenex/patch-1
Update README to include tools
2023-05-27 15:18:52 -04:00
Christopher Leggett f9a4070225
Merge pull request #2920 from Archez/fix-granny-unshuffled
Fix: Use blue potion refill for Granny Shop item when unshuffled
2023-05-27 15:18:33 -04:00
Christopher Leggett f25c200526
Merge pull request #2890 from Archez/support-thieves-hideout-keyring
Expose Thieves' Hideout selection for keyrings in randomizer settings
2023-05-25 21:06:52 -04:00
Malkierian cab90e9ac6 Removed unused variable. 2023-05-25 16:59:53 -07:00
Malkierian d0c09394ca Re-added removal of empty `sceneTimestmps` objects for saving and loading, significantly reducing `sohStats` size. 2023-05-25 16:57:27 -07:00
Adam Bird 015c30d3b6
Merge pull request #2 from leggettc18/gf-keyring
Adds validation to GF Key Ring and Key Ring Count settings
2023-05-25 15:57:56 -04:00
Adam Bird 718ded7c44 fix: use blue potion refill for granny shop item when unshuffled 2023-05-25 15:47:51 -04:00
Christopher Leggett f6b9c227d7
Fixes bad Key Ring Count under certain conditions. 2023-05-25 15:42:22 -04:00
Christopher Leggett 13513345bf
Remove magic numbers and fix formatting. 2023-05-25 15:35:38 -04:00
Christopher Leggett 8f5538a700
Adds validation to GF Key Ring and Key Ring Count settings. 2023-05-25 14:50:28 -04:00
Malkierian 1fa99fd50a What a nightmare that was. 2023-05-24 13:00:35 -07:00
Bytenex b46d6e2d19
Update README.md 2023-05-24 16:35:38 +02:00
Bytenex ab4ad42486
Update README.md 2023-05-24 10:34:10 +02:00
Christopher Leggett fe6705cc4d
Merge pull request #2906 from HarbourMasters/develop-spock
Spock -> develop
2023-05-23 09:18:15 -04:00
Christopher Leggett e88adbe672
Version Bump (#2916) 2023-05-22 21:34:18 -04:00
aMannus dddd3b14aa
Add back missing Greg timestamp (#2911) 2023-05-22 10:56:44 -04:00
briaguya f34df2f064
remove what i assume to be accidentally copied stuff from a diff (#2909) 2023-05-22 09:33:31 -04:00
Rozelette f005bd3b7f
add skeleton unregistration to actors that manage their own skeletons (#2908) 2023-05-22 09:20:06 -04:00
Garrett Cox 5de1240391
Cleanup gameplay stats code/UI and support RTA timing (#2862) 2023-05-21 18:35:56 -04:00
Patrick12115 7962e0e6d6
Add Scene Specific Checks to Dirt Path Fixes (#2907)
* Move from Dev to Dev-Spock

* Moved to mod.h

* Update GameInteractor.h
2023-05-21 18:12:25 -04:00
Malkierian cf711d9164
Initialize `gSlotAgeReqs[SLOT_TRADE_CHILD]` and `gItemAgeReqs[ITEM_MASK_BUNNY]` on load initialization according to `gMMBunnyHood` and `gTimelessEquipment` to prevent bunny hood from being unequipped from adult equips on first load. (#2904)
Move the code to change those values based on the child trade slot item to the selecting mask loop to not be setting them every frame just because you're in the inventory.
2023-05-21 12:13:38 -04:00
Adam Bird cf42057842
Fix: seed srand on launch and fix spoiler log for seed testing generation (#2902) 2023-05-20 16:25:29 -04:00
Malkierian 0b47a19c2c
Mask Sale Fix (#2900) 2023-05-20 12:05:47 -04:00
Christopher Leggett 4d02d89e03
Fixes buying songs crash on Switch (#2899) 2023-05-20 09:24:02 -04:00
Malkierian 8d0b83b691
Merge branch 'HarbourMasters:develop' into sectional-saves 2023-05-19 14:56:19 -07:00
Christopher Leggett f2f5a75cb0
Custom message improvements (#2892)
* Adds const specifiers to some appropriate functions.

* Implements move semantics for ReplaceStringInMessage.

Should result in much fewer allocations when rendering custom messages during a Randomizer playthrough.

* Implements some more move semantics.

* First pass on improved Custom Messages API.

This should allow for fewer allocations during randomizer seed generation and runtime, plus a couple of other enhancements that utilize custom messages. It does this by taking advantage of move semantics to prevent extraneous allocations when string literals are passed in. It also takes advantage of OOP to hopefully end up with a cleaner API.

* Additional API/allocation related improvements.

* Removes an unnecessary destructor and constructor.

* Updates documentation

* Adds a bit more documentation.

* Fixes switch build problem and minor syntax error

* Renames slightly unclear operator parameter

* Replaces magic numbers with LANGUAGE_MAX
2023-05-17 22:24:24 -04:00
AltoXorg 30cc61abce
fix search rom extension oversight (#2891)
Co-authored-by: Christopher Leggett <chris@leggett.dev>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-05-17 22:22:57 -04:00
Amaro Martínez b361d5ede1
Use UTF-8 for MSVC and enable visual styles for Windows (#2888)
* Add proper manifest for Windows

* MSVC: Use UTF-8 encoding compile option
2023-05-17 22:21:26 -04:00
Malkierian 099d9cd0fd
Threaded save was causing issues for old `oot-save.sav` conversion. Added an option just for that instance to run `SaveManager::SaveFileThreaded` outside of a thread. Everything else still runs threaded. (#2894) 2023-05-17 15:51:17 -04:00
Adam Bird 5244cda90e expose thieves hideout selection for keyrings in randomizer settings 2023-05-16 17:40:50 -04:00
Malkierian 4cf3172a3d Fixed trying to emplace in `sectionRegistry` without index. 2023-05-15 17:40:10 -07:00
Malkierian 1a9ef29ac5 Added function to get sectionID for a specified section name, returning -1 if section name not registered. 2023-05-15 17:32:49 -07:00
Malkierian 50fbe5d00c Modified sectional saving to utilize an integer ID for calling specific sections to cut down on string copying. Utilizes enum values for non-mod sections to allow for cross-project use of those IDs, and sets up `AddSaveFunction` to add mod sections after that using max value enum. 2023-05-15 17:21:14 -07:00
Malkierian 4bc0d7d60d v3 >:( 2023-05-13 18:41:10 -07:00
Malkierian b5740bc878 v2 2023-05-13 18:35:27 -07:00
Malkierian 374301db9b Formatting and whitespace cleanup. 2023-05-13 18:29:05 -07:00
Malkierian 7861b4c092 Missed `baseBlock` -> `saveBlock` change in WiiU/Switch file writing block XD. 2023-05-13 12:33:10 -07:00
Malkierian 22531fed27 A little more code clarification. 2023-05-13 11:47:22 -07:00
Malkierian e2177d7392 Added sanity check to clearing `sectionBlock["data"]` to only be for randomizer and only when the save file is not randomizer (to clear the existing structure from the loaded spoiler log). 2023-05-13 11:45:20 -07:00
Malkierian 550c10b1c3 Little bit of code clarification. 2023-05-13 11:41:28 -07:00
Malkierian dbe672444c Changed string paramaters for save functions to proper const pointer type.
Implemented subsectional saving (handled in the section's save function, and passed to the save function by & pointer). Default of "all" passed in from SaveFile for game saves.

Implemented subsectional saving for sohStats and entrances/scenes discovered.

Fixed check for game save registry by putting the check against the registry in the "all" section save code.
2023-05-13 11:26:30 -07:00
Malkierian 42b35634a5 Fixed residual values in global save block causing new files to save all sections previously loaded for metadata initialization, regardless of that section's execution during the save process.
Fixed loading and saving of blank sceneTimestamps due to default construction of data structures during JSON loading making all "empty" entries have scene and room of 0.

Moved SoH stats initialization to `gameplaystats.cpp` via `SaveManager::AddInitFunction`.
2023-05-12 15:18:26 -07:00
Malkierian 685925cbb8 Moved `sohStats` to its own section, and moved the saving and loading to its own registered load and save functions within `gameplaystats.cpp`. Required making a new loader version for `base` without `sohStats` loading code.
Improved save file efficiency by adding code to not write any "empty" entries in `sceneTimestamps` (as determined by room and scene being 254) when saving, and initializing them to 254 if not loaded from the save file.
2023-05-12 13:23:50 -07:00