Commit Graph

1939 Commits

Author SHA1 Message Date
Malkierian
aeb85c81aa
Item SaveContext Logic (#4237)
* Port initial framework up to latest dev-rando. Includes about 15 items using the SCL structure for tracking.

* Most other item variables ported to SaveContext in UpdateHelpers.

* Removed individual Context retrievals in favor of single local variable in Logic to reference.

* start of some diagnostics.
caught some reverse logic with ApplyItemEffect.

* more diagnostics

* Resolve major logic issue with SetInventory flow in ApplyItemEffect.
Other small logic issues in ApplyItemEffect.

* Added a bit of logging.
Add Double Defense to item effects.

* revert hint gen bypass

* item_list *actually* divorced from logicVar pointers.
Several missed options for ApplyItemEffect, HasItem, and UpdateHelpers added in.
Changed HasItem to a switch block for more performance.
Seeds generate within 10-20 seconds in release mode. Further optimization is assumed possible.

* Some formatting

* Bit more formatting.

* Couple review changes.

* Incorporate progressive upgrades and skeleton key into SCL.
Bit of cleanup.

* Change `inLogic` to static array.

* Fix bug in `BottleCount()` preventing Jabu Jabu from ever being in logic.

* Fix bomb bag HasItem check.

* Fix Gerudo Fortress and Ganon's Castle SmallKeys checks.

* Change all logic use of `bool remove` to be `bool state` and work on the affirmative assumption.

* Forgot the `Set(x)` uses in `Logic::Reset()`.

* Fix fishing pole effect application.

* fishing pole tweak

* Add `RG_BOMB_BAG`, `RG_NUTS` and `RG_STICKS` to `HasItem()`.
Fix silver and gold gauntlet checks in `HasItem()`.
Change Nuts and Sticks helpers to use non-progressive RGs in `UpdateHelpers()`.

* Change mSaveContext to simple pointer.
Set `mSaveContext` to `&gSaveContext` when loading a save file.
Modify `Item::GetGIEntry()` to use rando context's SaveContext pointer instead of the gSaveContext macros.
Utilize `Item::GetGIEntry()` to get real RG of infinite upgrades and set rando infs accordingly, skipping upgrade level incrementing (which was causing overflow of wallets for some reason).

* Rename all remaining references of LogicVar to variants of LogicVal.

* Change final references to song LogicVars to CanUse calls, and remove them.

* Separate equip and rand inf flag maps.
Add Zelda's Letter and Weird Egg rand infs to map.
Consolidate `HasItem` rand inf  lookups using rand inf map and equips using equip flag map.
Maps are static, so can be referenced with `Context::` instead of ctx pointer.
2024-08-01 21:24:24 -07:00
Christopher Leggett
cab0871fe7
Fix Zora's Sapphire crash (#4254) 2024-07-29 18:48:49 -07:00
Nick Michael
06b20a05dd
Fix Lake Hylia Water Level for Vanilla with Cutscene Skips (#4257)
* Fix Lake Hylia Water Level

* Move logic to SkipBlueWarp handlers
2024-07-29 12:22:57 -04:00
Archez
b81a3dd099
Another round of fixes for skip intro and grotto rando (#4253) 2024-07-25 21:09:45 -04:00
Archez
e66dada09d
Fix grotto handling with the skip intro timesaver (#4252) 2024-07-23 21:31:01 -04:00
Pepe20129
c68cecec71
Rando: Shuffle Hyrule Loach (Rando V3) (#3805)
* Shuffle Hyrule Loach

* Remove rando specific loach text override

* Remove duplicated enhancement from fishsanity

* Re-run Build

* Re-run Build

* Changed to be an option within fishsanity

* Rename cvar and fix check tracker

* Fix build

* Re-run build

* Re-re-run build

* Update z_fishing.c

* Fix AllHyruleLoaches

* Fix static data

* Fix hint spacing

* Restrict loach hint to "Shuffle only Hyrule Loach"

* Update settings.cpp

* Address review
2024-07-23 08:56:44 -07:00
Pepe20129
3bcd93428e
Rando: Infinite upgrades (Rando V3) (#3942)
* Infinite Upgrades

* Add "Condensed Progressive"

* VB & fix build

* Update settings.cpp
2024-07-22 09:54:14 -07:00
Archez
7a00658be9
Fix disable lod breaking certain effects (#4245) 2024-07-21 15:30:18 -04:00
Malkierian
7bc2259c82
LUS bump and implement alt assets performance changes. (#4240)
* LUS bump and implement alt assets performance changes.

* LUS ref update.
2024-07-21 15:29:45 -04:00
Angelo Bulfone
081a55ab29
Fix accidental assignment expression (#4248)
A typo from a5c0cede12 resulted in various bugs due to giving every actor the same id.
2024-07-19 23:49:26 -04:00
Pepper0ni
4df4e61eb3
Fix return of Item_Give for stricter compilers (#4244)
* fix return of Item_Give for stricter compilers

* change to just item
2024-07-18 14:42:48 -07:00
Malkierian
3d73faa9a0
Port Graphics Menu lag fix from 2ship. (#4238)
* Port Graphics Menu lag fix from 2ship.

* tweak

---------

Co-authored-by: Adam Bird <archez39@me.com>
2024-07-17 15:57:11 -04:00
Kenix3
134aba4aa0
Fixes crashes on asan related to audio. (#4049)
Found in MM
2024-07-17 14:35:13 -04:00
Pepe20129
8b6c183776
Rando: Skeleton key (#3997)
* Initial Implementation

* Add temporary model to the skeleton key
2024-07-17 09:55:05 -07:00
Pepper0ni
7595a5a65e
fix selection only and make MQ dungeon settings set themselves more smartley (#4232) 2024-07-17 09:45:29 -07:00
Pepe20129
a5c0cede12
Rando: Shuffle consumable bags (#3959)
* Main implementation

* Fix sticks & nuts from shops & checks

* Change the models to normal stick & nut

Worth noting that before you have the bags, the refills are blue rupees so there will not be model collision

* Update hook_handlers.cpp
2024-07-17 09:42:56 -07:00
Pepe20129
f2958aea1c
Improved rando settings (#3980)
* Initial implementation

* center icons (#5)

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2024-07-16 20:25:28 -07:00
Pepe20129
8eb6304999
Rando: Keyring tristate (#3960)
* Initial implementation

* Fix build

* Update UIWidgets.cpp

* Update option.cpp

* Update settings.cpp

* Update settings.cpp

* Apply Pepper0ni's patch

Co-Authored-By: Pepper0ni <93387759+Pepper0ni@users.noreply.github.com>

* Update option_descriptions.cpp

---------

Co-authored-by: Pepper0ni <93387759+Pepper0ni@users.noreply.github.com>
2024-07-16 20:25:06 -07:00
Angelo Bulfone
2ff795e227
Fix MQ Checks (#4234) 2024-07-16 16:39:18 -04:00
Archez
73be4e5559
Bump LUS for 2cyc color combiner fix (#4221) 2024-07-15 22:24:38 -04:00
Christopher Leggett
ba82bfbba6
Fix spawn shuffle when starting age is adult/random. (#4230)
* Fix spawn shuffle when starting age is adult.

* Handle adult start without spawn shuffle

* Handle correct entrance for adult start + spawn shuffle and add comments.

* Fix grotto spawn cutscene skips.

* Fix an issue with randomized starting age.
2024-07-13 16:51:54 -04:00
Pepper0ni
a0fda39a75
Force Warp Song Hints off when Warp Songs are not shuffled (#4229) 2024-07-11 10:38:52 -04:00
Pepper0ni
77770ba3b2
fix hint crash on windows (#4227) 2024-07-09 18:57:28 -04:00
Christopher Leggett
7a17fe221f
Don't play the intro cutscene on child spawn even if location is shuffled (#4226)
* Don't play the intro cutscene on child spawn even if location is shuffled.

* Fix condition to not always skip cutscene when IS_RANDO is true.

* Fix typo
2024-07-07 21:22:23 -04:00
Pepe20129
8b001da317
Check tracker show logic (#3972)
* Initial Implementation

* Fix missing locations

* Update locacc_castle_town.cpp

---------

Co-authored-by: Christopher Leggett <chris@leggett.dev>
2024-07-05 21:13:49 -04:00
Pepper0ni
f88883044e
Add OoT Static Hint, Fix Sheik Crashes, Add multiple text boxes to AutoFormat (#4149)
* add OoT hint, sheik is crashing without hint due to an unrelated bug

* Fix Sheik crashes, add new textbox to autoFormat, trim OoTHint text

* save pls

* fix receive typos

* git pls

* nice conflict fix
2024-07-05 20:16:56 -04:00
Pepper0ni
1ca8d0ab73
Implement Mask Hints (#4152)
* Implement Mask Hints

* fix typo
2024-07-05 17:52:59 -04:00
Pepper0ni
5c155a625a
Quick fix Chest Minigame Setting (#4189) 2024-07-05 17:50:58 -04:00
Pepper0ni
db5e9cbc11
Fix Multiple Foolish hints from an area being generated. (#4190)
* Fix Multiple Foolish hints for the same location

* remove debug comment
2024-07-05 17:49:56 -04:00
Pepper0ni
510b655e5e
Fix Link's Pocket Appearing in Hints. (#4191)
* Fix issues with areas not being applied to the region itself, and Link's Pocket Propogating through randomised warps

* Address reviews

* address reviews again

* fix mac issues

* git pls
2024-07-05 17:35:47 -04:00
Pepe20129
839fcffe17
Add Alternate Headers XML logger (#4207) 2024-06-15 23:47:35 -04:00
inspectredc
79a29a62ef
Use correct default value (#4194) 2024-06-15 23:43:09 -04:00
GaryOderNichts
f99993af85
Reduce stack usage during static initialization (#4184)
* Reduce stack usage during static initialization

* Implement `ABS` macro for `TWO_ACTOR_PARAMS`
2024-06-15 23:28:42 -04:00
Archez
cd7c5ab316
Clear the framebuffer for the pause menu link texture (#4213)
* clear pause menu link framebuffer

* cache bust

* Add enums for pause menu link width/height and rename the framebuffer

* revert cache bust
2024-06-15 23:13:13 -04:00
briaguya
4441304dfd
support LUS not providing an array resource type/factory (#4204)
* support LUS not providing an array resource type/factory

* bump to latest upstream
2024-06-14 13:40:39 -04:00
briaguya
736dccb00b
update to latest LUS main (#4202)
Includes supporting changes from:
* https://github.com/HarbourMasters/Shipwright/pull/4197 (alt assets variable changes)
* https://github.com/HarbourMasters/Shipwright/pull/4199 (WindowBackend enum changes)
* https://github.com/HarbourMasters/Shipwright/pull/4200 (Extract gMtxClear)

---------

Co-authored-by: Malkierian <malkierian@gmail.com>
Co-authored-by: inspectredc <inspectredc@gmail.com>
2024-06-02 15:34:53 -04:00
briaguya
b8c7c71578
allow setting device visibility in controller mapping window (#4165) 2024-06-02 12:13:03 -04:00
Lywx
53efc22a23
Framebuffer clear and bump LUS (#4187) 2024-05-27 18:33:02 -04:00
Garrett Cox
baf7691fbd
Fix weirdness with item gets from chests (#4146) 2024-05-13 12:29:34 -05:00
Pepe20129
08ad16e750
Add path XML parser (#4115)
* Add path XML parser

* Update SetPathwaysFactory.cpp
2024-05-10 00:17:50 -05:00
Ted Newman
844413b391
Add Modifier buttons to input viewer and support individual button outline modes (#3966)
* Add Modifier buttons to input viewer and support individual button outline modes

* Clearer naming

* Remove hardcoded indent values

* clean up diff

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2024-05-09 23:57:31 -04:00
Garrett Cox
6f7173a5c4
Split a few VB changes out into their own files (#4123) 2024-05-09 22:22:08 -05:00
Eric Hoey
65b18d61cf
Fix modifiers crash when obtaining underwater item (#4110)
* NULL check

* Update soh/src/overlays/actors/ovl_player_actor/z_player.c

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* Update soh/src/overlays/actors/ovl_player_actor/z_player.c

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-05-09 22:02:50 -05:00
Pepe20129
118cd044b5
Rando: Starting hearts (#3974)
* Initial implementation

* Re-run build

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-05-09 21:39:22 -05:00
Eric Hoey
63bc2aff59
Frogs Ocarina Game Difficulty Options (#3373)
* Frog actor edits, menu, presets

* Block off vanilla code + comments

* fix logic + formatting

* new documentation format

* Update for CVAR changes

* Fix alignment

* Conditions cleanup

* Update soh/soh/SohMenuBar.cpp

Oops, added

Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>

---------

Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>
2024-05-09 20:55:53 -05:00
Archez
3f67fed073
Fix some memory leaks with WrappedText and LoadArrayByNameAsVec3s (#4144)
* avoid memory leaks with WrappedText

* avoid memory leak with LoadArrayByNameAsVec3s
2024-05-09 20:39:13 -05:00
Garrett Cox
24e1d45e95
Merge pull request #4130 from Malkierian/dev-to-rando-5-6
develop->dev-rando 5-7
2024-05-09 20:13:34 -05:00
Malkierian
1d5a54901b Add MSI to EnEx hook handler.
Resolve other review suggestions.
2024-05-09 09:45:13 -07:00
Pepper0ni
ca803099cf
Fix DistributeHints (#4145)
* fix stupid crash in DistributeHints

* replace some uint8s in loops with size
2024-05-09 07:22:39 -05:00
Malkierian
baf41161d3 Merge branch 'develop' of github.com:Malkierian/Shipwright into dev-to-rando-5-6 2024-05-08 22:28:29 -07:00
Archez
47b690fb1e
Bump LUS and restore guMtx in collision viewer (#4137) 2024-05-09 01:26:58 -04:00
Malkierian
f550bf1381 Merge branch 'develop' of github.com:Malkierian/Shipwright into dev-to-rando-5-6 2024-05-08 21:36:25 -07:00
Archez
cbeec006ec
Fix syotes scene path to use shared (#4136) 2024-05-09 00:32:29 -04:00
Lywx
1231b8f9fa
Fixed macos/ios errors (#4138) 2024-05-08 19:30:22 -04:00
Kenix3
3c87c1ec98
Lus window bump (#4131) 2024-05-08 02:25:50 -04:00
briaguya
0976198f2c
get soh working with latest lus (#4132) 2024-05-08 00:13:47 -04:00
Malkierian
ee1f15523c Merge branch 'develop-rando' of github.com:Malkierian/Shipwright into dev-to-rando-5-6 2024-05-07 14:37:00 -07:00
Malkierian
cfd93f160d Fix check tracker performance changes.
Move Mysterious Shuffle functionality to `hook_handlers.cpp` when applicable.
2024-05-07 13:07:33 -07:00
Pepper0ni
980b1f1a6e
Fix an infinite loop in hints and better comment hint distribution (#4080) 2024-05-07 12:48:00 -05:00
Pepe20129
8e520e490c
Spoiler name removal (#3814)
* Initial pass

* Rename "MK" to "Market"

* Remove more spoiler names

* Update location_list.cpp

* Replace vector with array

* Update location_list.cpp

* Re-run build

* Fix spacing
2024-05-07 08:29:17 -05:00
briaguya
52fad95a2c
support lus thread_pool changes (#4127) 2024-05-06 22:08:11 -04:00
Malkierian
d10b68516c Merge branch 'develop' of github.com:Malkierian/Shipwright into dev-to-rando-5-6 2024-05-06 18:37:56 -07:00
Malkierian
8d3902a256
Remove unnecessary and redundant checks and references. (#4111)
Stop passing checksByArea to functions in the same namespace.
Only get value of `HideFilteredAreas` once per frame.
Gate area and check evaluations behind checks being visible and search filter size greater than 0.
Proper function capitalization.
2024-05-06 19:27:35 -05:00
Malkierian
b3d51441eb
Rando Enhancement: Mysterious Shuffled Items (#3227)
* Add rando enhancement "Mysterious Shuffled Items", which obfuscates shuffled freestanding/drawn-in-world items (PoH, tokens, shop items) with a custom question mark model (thanks Hato), and uses the "mysterious item" functionality of `GetMerchantMessage` for everything that supports it, regardless of hint status on generation.

* Reverted back to rando enhancement, but added condition for Mysterious Shuffle not being on for the gem rotation fix to apply.

* First attempt at changing to fake GetItemEntry instead of directly calling the mystery draw function. Needs more work.

* Updated CVar to reflect CVar rework values.

Added `IsCheckShuffled` as preliminary function for checking *only* if a check is shuffled, not necessarily if it is just visible on the tracker. This accounts for the difference between tokensanity and "Always Show GS On Tracker", where you don't want to obfuscate the latter.

* Bit of cleanup.

* Cross-platform building edits. If anyone has a better idea of how to handle this fake GIE, I'm all ears.

* Update to CVar macros.

* Fix freestanding item gives.
Fix mysterious item model colors.

* Fix bombchu bowling mystery.

* Remove bowling bomchus check obfuscation (unused, removed in v3).
2024-05-06 19:17:08 -05:00
Lywx
f3b948226b
Bump lus and fixed PatchGfx (#4125)
* Bump lus and fixed PatchGfx

* Bump libultraship to main
2024-05-06 19:19:15 -04:00
Malkierian
438dede792
Change "AnubixFix" back to "AnubisFix". (#4124) 2024-05-06 17:10:06 -05:00
Eric Hoey
27dd303a57
Limit crawl speed to modifier to 4 (#4113) 2024-05-06 19:10:22 +00:00
Pepper0ni
d0627dc737
fix a V2 compatibility crash (#4119)
* Attempt to fix ambiguity issues and a V2 compatibility crash

* oops

* remove explicit call as it is fixed elsewhere
2024-05-06 19:10:00 +00:00
Malkierian
89f119c566 Fix ambiguity. 2024-05-06 11:13:30 -07:00
Adam Bird
439574d0d9 Merge remote-tracking branch 'origin/develop' into merge-macready-may6 2024-05-06 12:22:48 -04:00
Malkierian
f354460d04 Make it build. 2024-05-05 22:43:11 -07:00
Malkierian
69eebf0984 CVar cleanup. 2024-05-05 22:27:33 -07:00
Malkierian
e2b0ea5692 Merge branch 'develop' of github.com:Malkierian/Shipwright into dev-to-rando-5-5 2024-05-05 22:05:10 -07:00
Garrett Cox
4bd0f2d2c1
Port new hook filtering patterns from 2ship (#4117) 2024-05-05 16:55:56 -05:00
Garrett Cox
b4a30f708f
Change GI_VB_ to VB_ (#4116) 2024-05-05 16:29:02 -05:00
Garrett Cox
0c69ff17c2 Fix two minor issues from merge 2024-05-05 14:46:23 -05:00
Garrett Cox
0aad8d4491 Merge branch 'develop-rando' of garrettjoecox.github.com:HarbourMasters/Shipwright into develop-rando-changes 2024-05-05 14:38:39 -05:00
Malkierian
6443a986d9
Final Step of CVar macro/sectionalizing (#4107)
* p

* Missed the prefix renames.

* More missed ones.

* Mostly finished cleanup.
Removed a few CVars and some related functionality.

* Bit more (prepping non-existent title card color editing).

* Resolve gCrowdControl.

* Final cleanup.

* Universal constant, not acceleration...

* Preset CVars.
2024-05-05 14:14:55 -05:00
Christopher Leggett
e71839ed8f
Conversion of Nabooru Quick Death to VB hook (#120)
* Nabooru quick death conversion

* Fix brackets, not sure exactly how this was working before.
2024-05-04 16:50:19 -05:00
Archez
de715da184
explicitly include unordered_map header (#122) 2024-05-04 16:49:36 -05:00
briaguya
b6fc54ad8b
support lus dr_libs removal (#4108) 2024-05-03 12:55:38 -04:00
briaguya
e02e4ead02
support lus fetching stb (#4105) 2024-05-03 11:07:07 -04:00
briaguya
bcf5a0c307
support lus factories no longer being registered in RegisterGlobalResourceFactories (#4099) 2024-05-02 00:14:36 -04:00
briaguya
345cef9b78
detangle zapdutils (#4096) 2024-05-01 22:47:40 -04:00
Archez
fd9cd9c5eb
Fix: add workaround for boost versions >=1.84.0 (#4098) 2024-05-01 16:41:17 -04:00
Malkierian
715bf39d43
Incorporate LUS CMake CVar system (#4093)
* Incorporate LUS CMake CVar system.
Customize all LUS CMake CVars to align with plans for preset system.
Swap "gOverlayFont" usage back to LUS CVar macro.

* Change CMake sets to use the cache to allow for including LUS's file for the add_compile_defines and remove the duplication on SoH's side.

* Move SoH CMake CVars to `soh-cvars.cmake` for clarity.
2024-05-01 14:48:51 -04:00
briaguya
7da6a5b604
vb deku stick cheat (#115)
* vb deku stick cheat

* it's the 21st now

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-04-30 22:36:26 -05:00
Christopher Leggett
baaa00569d
Adds Quick Boss Death checkbox and implements Phantom Ganon's quick death (#119)
* Adds Quick Boss Death checkbox and implements Phantom Ganon's quick death.

* Clarifies relocation comment.
2024-04-30 22:31:08 -05:00
briaguya
8480f37f77
fetch imgui (#4094) 2024-04-30 22:49:54 -04:00
briaguya
c70e6d280a
spdlog from package managers (#4088) 2024-04-30 18:50:06 -04:00
briaguya
4ecb76b117
tinyxml from package manager (#4073) 2024-04-30 01:19:02 -04:00
Pepper0ni
d69814ed95
Real time Hint Assembly, Hint object refactor, and expansion of CustomMessage (#4078)
* Hint text refactor WIP DOES NOT BUILD

* Update to show people DOES NOT BUILD

* stuck on wierd errors

* forgot to add

* expression error does not name a type

* commit in case anyone looks

* static assertion failed: T must be an integral type or an enum.

* fail without error, complaining about unrefernced things

* fix some issues, still linker bs

* restructure some trials, conditionalAlwaysHints and hint_list stuff

* builds and does not crash, but there's text issues

* fix text issues

* commit to push, halfway through trimming down log

* finish trimming spoiler logging

* post merge clean up

* plando mode seems to work, looking into song text wierdness

* push for debugging crash on HBA sign

* fix num and anju issues

* fix the damn sign

* Fix Windows build

Renames GetMessage to GetHintMessage (a different name could be chosen, but GetMessage conflicts with a macro in winuser.h)
Changes uint to size_t, uint does not seem to exist on Windows.

* fix biggoron

* remove some manual formatting that autoformat doesn't like

* fix some altar text

* fix more altar text

* last cleanup

---------

Co-authored-by: Christopher Leggett <chris@leggett.dev>
2024-04-29 09:41:33 -05:00
briaguya
552bb2886f
support lus renamespacing (#4075) 2024-04-28 21:36:44 -04:00
Pepe20129
92467b87b5
Add scene command XML parsers (#4054)
* Add scene command parsers

* Move logging & add logging cvar

* Use new CVAR_DEVELOPER_TOOLS macro

* Update soh/soh/resource/logging/SceneCommandLoggers.h

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-04-28 20:58:12 -04:00
Malkierian
303fe7d906
Swap all cosmetics CVars to macros. (#4065)
Lots of renames.

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-04-26 02:41:55 +00:00
Malkierian
56d8dd6d8b
All MenuBar enhancement CVars done. (#4064) 2024-04-26 00:31:28 +00:00
briaguya
1fff8fd6d5 don't skip item give animation in chu bowling 2024-04-24 21:48:31 -04:00
briaguya
d22dbd6933 move RawJson to LUS (#4063) 2024-04-24 21:21:01 -04:00
Christopher Leggett
65c5806333
Better fix for blank hint issue. (#4070) 2024-04-24 17:09:49 -04:00
Garrett Cox
7bde0f5289 Merge branch 'develop-rando' of garrettjoecox.github.com:HarbourMasters/Shipwright into develop-rando-changes 2024-04-23 11:31:39 -05:00