Commit Graph

1412 Commits

Author SHA1 Message Date
Philip Dubé c63f57850f Deku Theater: better handling of timesaver being disabled for shuffle speak (#6265)
also skip first 2 seconds of scrubs deciding to pop out of ground
2026-02-16 16:21:35 +00:00
Jordan Longstaff 0210374cc4 Enable missing music entries in audio editor (#5685)
* Enable missing music entries in audio editor

* Fix mislabeled tracks "Ocarina of Time" and "Seal of Six Sages" (mirrored in decomp)
2026-02-14 20:31:19 -07:00
anthony-barricelli 3206425e1b fixes #6008 (#6229) 2026-02-15 01:17:53 +00:00
Philip Dubé e6947c733c Business Scrubs: don't speak without jabber nut (#6255)
most speak checks conservatively only apply to Link initiating speech,
but didn't realize business scrubs speak unprompted & that would make deku jabber nut mostly useless

this doesn't apply to other scrubs (such as 123 scrubs), maybe in future we can block more, such as showing trade items
2026-02-15 00:48:00 +00:00
A Green Spoon f31172c647 remove extra zf condition + add vb call (#6258) 2026-02-14 19:04:34 +00:00
Philip Dubé 92cb7f1594 fix crash when generating decoupled entrances with boss shuffle (#6189)
regression from ganon's tower shuffle
2026-02-10 19:22:40 +00:00
Christopher Leggett 6a31700820 Fixes some Stone of Agony bugs and refactors it to a VB Hook (#6235)
Fixes #1727. Specifically, it removes a lot of old situations in which the stone of agony icon would've been hidden, such as shield and z-targeting. It will still be hidden while talking to an NPC or in cutscenes.

This does also introduce a subtle change in behavior. It now behaves a bit more like the Shard of Agony from the 3ds version. Instead of always being visible after the stone of agony is obtained, it is now hidden until you get close to a secret spot, appearing at a slightly further range than when the rumble would start.
2026-02-10 00:07:34 +00:00
anthony-barricelli 2656c20f71 check if rando for quest kaleido menu panel (#6231) 2026-02-04 18:59:52 +00:00
Jordan Longstaff 23606325e6 Hookify Goron Pot (#6208) 2026-01-29 14:36:46 +00:00
tortugaveloz a365446832 Basic Surround Sound support. (#6204) 2026-01-28 05:14:57 +00:00
Philip Dubé e2db315ffa Shuffle Speak (#5538)
Shuffles 6 languages (Deku, Gerudo, Goron, Hylian, Kokiri, Zora) to learn before being able to use Speak command with actors of that type. Other actors can still always initiate speech

Owl speaks anything (relevant for owl flights)
2026-01-28 05:14:14 +00:00
xxAtrain223 f5264be192 Recalculate Available Checks from Current Region (#6165) 2026-01-26 03:23:47 +00:00
Philip Dubé c9414b4d45 Misc fixes mostly related to custom text refactor (#6174)
fix goron messages in rando
also always include "IS_RANDO" in rando shipinit dependencies
don't use rando RNG, trying std::array
avoid sprintf, std::array not necessary
fix random rupee name crash
roll random traps: don't reuse rando rng
fix better bombchu typo
2026-01-20 20:55:24 +00:00
Philip Dubé 596b714fa4 Rando: Shuffle Climb (#5182)
Co-authored-by: Pepper0ni <93387759+Pepper0ni@users.noreply.github.com>
2026-01-19 19:47:56 +00:00
Demur Rumed 7588734a42 Merge remote-tracking branch 'origin/develop-copper' into merge912 2026-01-19 02:35:48 +00:00
Philip Dubé be0f8fec9f Fix boot to debug warp screen not applying time savers (#6151) 2026-01-18 23:10:33 +00:00
ItsHeckinPat 04c5d50b3e Ported BtnSelector from 2ship (#6158)
Allows the rebinding for Resetting the game, Debug Map Select, and Debug No-Clip.
Also allows for Speed Modifiers to use the new button combos, instead of only the modifier buttons.
2026-01-18 16:01:39 +00:00
Philip Dubé 18b00e7bc1 Shuffle Grab (#5719)
AKA str0. Named in-game item Power Bracelet

Co-authored-by: Pepper0ni <93387759+Pepper0ni@users.noreply.github.com>
2026-01-18 05:32:31 +00:00
Philip Dubé f474a86928 Cleanup various things noticed while fixing rando generation / debug warp (#6152)
Adjust RAND_GET_OPTION to return option instead of option value
2026-01-17 20:34:24 +00:00
Philip Dubé 44d351698b Shuffle Masks (#5536)
Future improvements can build on this,
giving masks abilities,
or adding checks for trading mask to someone
2026-01-17 05:00:03 +00:00
Philip Dubé 04df48944a Shuffle Open Chest (#5946) 2026-01-16 18:34:14 +00:00
Jordan Longstaff 6606eefbf1 Add option to disable Link spinning with the Goron Pot (#6138)
Make Link focus on Goron Pot instead
2026-01-16 13:55:36 +00:00
Jordan Longstaff c7e4e8ccee Owl Travel cutscenes skipped as One Point cutscenes (#6141) 2026-01-15 21:02:27 +00:00
Christopher Leggett 7b3efb1e7b Upgrades Custom Messages to Hooks and ShipInit (#5101)
Defines the hook for OnTextLoad. Intercepts message loading with hooks. Adds file to handle the CustomMessage creation for items.

Handles Ice Traps, Triforce Pieces, and Custom Items. Handle maps, compasses, and keys

Converts gossip stone hints to hook. Handle one-off merchant messages. Convert scrubs and shop text and remove now-unused code

Convert Sheik and Ganondorf hint text. Convert skulltula people messages. Convert more static hints

Specifically Dampe, Greg, Warp Songs, Frogs, Loach, Fishing Pole, and Saria

Convert Biggoron Hint. Convert Big Poes hint. Convert Anju hint dialogue. Convert Malon hint. Convert Horseback Archery hints. Convert Mask Shop SIgn hint

Convert Lake Hylia Switch related text. Convert Shooting Gallery bow reminder message

Convert random rupee names. Convert Rando-Relevant Navi Enhancement. Convert Random Goron messages

Convert Injecting Skull token counts. Add in a way to AutoFormat with an item icon.. Fix some errors with skull tokens and apply icon

Convert heart container item counts. Convert Inject Item Count for Heart Pieces. Port Better Bombchu Shopping. Convert Market Sneak

Port Quit Fishing At Door and clean up unused stuff. Reintroduce missing Mysterious warp song hint

Make ShipInitFuncs static

Adds and uses per-item articles for get item messages

Fix Entrance Hints and port toggle from dev-copper
2026-01-15 20:57:13 +00:00
Fabien Romano c43139ebd6 fix build and run on OpenBSD (#6050) 2026-01-15 20:46:03 +00:00
Philip Dubé 6e6834af22 Rando: Shuffle Crawl (#5032) 2026-01-14 04:29:30 +00:00
Pepper0ni 31eefd57df Can always bribe the Hyrule Castle guard in randomiser. (#6129) 2026-01-11 05:02:37 +00:00
Paul Schwabauer cd8bd69c6e Fix undefined behavior (#6089)
Fix TimeSplit crash on empty name

Initialize OptionValue::mVal to fix undefined behavior

Fix undefined behavior in GraveHoleJumps surface type copy.
The memcpy was reading 33 SurfaceTypes regardless of the actual count,
causing a buffer overread since NTSC 1.0 only has 31 surface types and
later versions have 32. Now uses the actual surfaceTypesCount from the
collision header.

Fix undefined behavior in framebuffer OTR signature check.
Use calloc instead of malloc for framebuffer allocation to zero-initialize
the memory. This fixes Valgrind warnings about reading uninitialized values
when ResourceMgr_OTRSigCheck reads from framebuffer pointers to check for
the "__OTR__" signature.

Fix undefined behavior in fontLoadStatus initialization.
Use calloc instead of malloc when allocating fontLoadStatus array
to ensure zero-initialization. This fixes Valgrind warnings about
conditional jumps depending on uninitialized values in
AudioLoad_SetFontLoadStatus.
2026-01-10 21:31:21 +00:00
Philip Dubé 7627b0567b Bring back Big Poe Count option, lost in menu refactor (#6126) 2026-01-10 17:19:19 +01:00
aMannus 14a6bc1f85 Add Roc's Feather (custom item) to Rando Item Pool (#6035)
This adds Roc's as a fully implemented item into the randomizer pool. When both Roc's and Nayru's is found, you can swap between them on the pause menu

Many people have contributed to this over time, so huge shoutout to:
- kentonm, this item is directly inspired by their Roc's Feather from their romhack Indigo. Also provided me with their GI model, icon texture and animation to use.
- PurpleHato, for providing the images for the item name shown on the kaleidoscope.
- Dana The Elf, providing another custom animation for the item.
- Reppan, for helping to tweak the animation and exporting the GI model for me.
2026-01-10 12:59:32 +00:00
Paul Schwabauer 5bbc32c2d1 Fix memory leaks in MessageViewer and audio_load (#6124)
Add destructor to MessageViewer to free allocated buffers

Free individual strings from ResourceMgr_ListFiles before freeing the array in audio_load.c
2026-01-10 12:53:37 +00:00
OtherBlue 3e0225272f Make "Move in First Person" require "Right Stick Aiming" (#6104) 2026-01-10 01:03:03 +00:00
Jordan Longstaff 9ca5ce0b53 Decomp import: rename timer-related functions and variables (#5896) 2026-01-08 18:56:01 +00:00
Garrett Cox 8584ced40b Proper fix for 2 handed idle animation (#6109) 2026-01-08 18:20:16 +00:00
Garrett Cox 4839e575b1 Add toggle for Link's sword trail (#6112) 2026-01-08 05:53:36 +00:00
Philip Dubé 8783f4cff7 remove unused chest assets (#6090)
replaced in #6085
2026-01-06 01:10:39 +00:00
mckinlee 5b0d8be484 [Enhancement] Arrow Cycle (#6105) 2026-01-05 22:53:14 +00:00
nclok1405 7c4a3359f0 Enable Battle Music for Leever option + Modularize EnemyBGMDisable (#5985)
Add "Enable Enemy Proximity Music for Leever" option + Modularize EnemyBGMDisable
2026-01-05 15:07:05 +00:00
aMannus 0e7212d939 Add modal to teach player about presets (#5903)
* Add modal to teach player about presets

* Change cvar to CVAR_GENERAL

* Update soh/soh/Enhancements/FileSelectEnhancements.cpp

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>

---------

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>
2026-01-04 13:28:06 -07:00
Reppan a134d2c59a Update CSMC to CMC and update chests to other shuffles (#6085) 2026-01-04 13:37:41 +00:00
Jordyn Hardyman 9af262c1bb Disable Fixed Camera Enhancement (#6083)
Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
2026-01-03 18:07:19 +00:00
nclok1405 5b275343db Allow Enemy Randomizer in Debug Save (#5841) 2026-01-03 14:19:06 +00:00
Reppan 7db2a97cea modding: alt equipment (#6062)
Implements object_custom_equip objects that adds more support to have items modified by modders without having to export with hands or do xml edits to load hands. This is autonomous if exported as a object_custom_equip

Also adds non existing DisplayList for items that originally did not have a DisplayList. Longshot and Big Goron Sword Sheath is 2 examples
2026-01-03 14:18:11 +00:00
Glought 31db9e4ade Added "firstInput" stat and repurposed the "fileCreatedAt" stat. (#6070)
- The "firstInput" stat is set on first input in game. Used for RTA
  Timing.
- The "fileCreatedAt" stat is now set when then save file is created
  (After the player is done entering the file name). Useful for seeding
  non rando randomizers like Mirrorworld, Enemy Randomizer, extraTraps,
  etc.
2026-01-02 14:39:42 +00:00
Philip Dubé d3a6288c7e Combine check identity structs into CheckIdentity (#5852) 2026-01-02 01:51:03 +00:00
Philip Dubé ff0c309b5a shuffle scrubs: use object extensions (#5853) 2026-01-02 01:08:39 +00:00
Pepe20129 9e6c9a478e File Select More Info Update (#5998)
massively improves the "File Select More Info" enhancement:
- Moves it to a separate file
- Moves it to VB
- Adds triforce pieces & fishing pole
- General cleanup
2026-01-02 00:28:33 +00:00
Jordan Longstaff 50c023b86b Modularize randomized enemy size hook & fix enemy health bars (#5887) 2025-12-31 01:43:20 +00:00
OtherBlue c688923272 [Enhancement] Unequip C-items (#6043) 2025-12-31 00:36:33 +00:00
aMannus e96503c0bd Fix custom tunics not updating on scene change (#6026) 2025-12-30 23:21:53 +00:00