summaryrefslogtreecommitdiff
path: root/soh/src/code
AgeCommit message (Collapse)Author
2026-02-26Port Scrolling Texture Interpolation over from 2Ship (#6224)Christopher Leggett
2026-02-17hookify additional reticles (#6278)A Green Spoon
2026-02-14Enable missing music entries in audio editor (#5685)Jordan Longstaff
* Enable missing music entries in audio editor * Fix mislabeled tracks "Ocarina of Time" and "Seal of Six Sages" (mirrored in decomp)
2026-02-10fix crash when generating decoupled entrances with boss shuffle (#6189)Philip Dubé
regression from ganon's tower shuffle
2026-01-28Basic Surround Sound support. (#6204)tortugaveloz
2026-01-26Recalculate Available Checks from Current Region (#6165)xxAtrain223
2026-01-20Misc fixes mostly related to custom text refactor (#6174)Philip Dubé
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-18Ported BtnSelector from 2ship (#6158)ItsHeckinPat
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-17Shuffle Masks (#5536)Philip Dubé
Future improvements can build on this, giving masks abilities, or adding checks for trading mask to someone
2026-01-16Add option to disable Link spinning with the Goron Pot (#6138)Jordan Longstaff
Make Link focus on Goron Pot instead
2026-01-15Upgrades Custom Messages to Hooks and ShipInit (#5101)Christopher Leggett
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-10Fix undefined behavior (#6089)Paul Schwabauer
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-10Bring back Big Poe Count option, lost in menu refactor (#6126)Philip Dubé
2026-01-10Add Roc's Feather (custom item) to Rando Item Pool (#6035)aMannus
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-10Fix memory leaks in MessageViewer and audio_load (#6124)Paul Schwabauer
Add destructor to MessageViewer to free allocated buffers Free individual strings from ResourceMgr_ListFiles before freeing the array in audio_load.c
2026-01-08Decomp import: rename timer-related functions and variables (#5896)Jordan Longstaff
2026-01-08Add toggle for Link's sword trail (#6112)Garrett Cox
2026-01-05Enable Battle Music for Leever option + Modularize EnemyBGMDisable (#5985)nclok1405
Add "Enable Enemy Proximity Music for Leever" option + Modularize EnemyBGMDisable
2026-01-03Disable Fixed Camera Enhancement (#6083)Jordyn Hardyman
Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
2026-01-03Allow Enemy Randomizer in Debug Save (#5841)nclok1405
2026-01-03modding: alt equipment (#6062)Reppan
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-02Added "firstInput" stat and repurposed the "fileCreatedAt" stat. (#6070)Glought
- 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.
2025-12-30Fix custom tunics not updating on scene change (#6026)aMannus
2025-12-04Add in Progressive Bombchu Bags (#5836)Christopher Leggett
* Adds new Progressive Bombchu Bags option Also changes existing code to account for Bombchu Bags becoming a drop down with 3 values instead of a checkbox * Handle the new lower capacities for ammo refills * Handle what happens when receiving a bombchu bag * Remove the trick name of Progressive Bombchu Bag Since, you know, that's an actual thing now. * Implements Bombchu Bag handling next to Progressive Bombchu Handling * clang-formatting * Add extra bag for plentiful items * Address review comment * Move bombchu upgrade level to gSaveContext and add save/load * Use logic's saveContext for correct logic calculations * Remove RG_PROGRESSIVE_BOMBCHU * Fix Bombchu Refill obtainability * Don't add normal chus to the pool if chu bags are on. * cmake-format * Properly reset bombchuUpgradeLevel on savefile init * Fix error with va_arg on linux * Fixes small error in the Bombchu Bag description * Fix bug with bombchu obtainability * clang-format * Fix infinite bombchu text * fix clang-format
2025-12-03Disable Screen Flash for Finishing Blow option (#5988)nclok1405
2025-11-30Additional Anchor functionality: (#5999)Garrett Cox
- Returned support for custom tunic colors - Ocarina playback now audible - Fixed movement translation issue when climbing or going through crawlspaces - Fixed issue preventing some items from being visible in Dummy hands (namely ocarina) - Fixed stick length not correctly syncing
2025-11-24Modularize Hurt Container mode hook (#5874)Jordan Longstaff
* Modularize Hurt Container mode hook * Hook condition was wrong - fixed it * Change type of hurtEnabled for clarity * Change type back to bool * Add VB hook * Don't duplicate health capacity modifier calculation * Add constants, replace magic numbers * Clang format * Publicize more health unit macros * Make mod file self-contained
2025-11-14Merge pull request #5961 from Malkierian/develop-copperMalkierian
Copper -> Develop 11/14
2025-11-13"Assignable Tunic and Boots" setting now allows shields also (#5953)Jordan Longstaff
2025-11-08Various hooks to support anchor (#5929)Garrett Cox
2025-10-09Program Execution Argument Extraction (#5807)Malkierian
* Add function to be able to feed specific path into to process programmatically, and setup drag and drop functionality. * Encapsulate dropped file functionality from Switch and Wii U. * Fix dropped file detection, and fix ShowYesNowBox return checking.
2025-10-09update lus includes for new LUS file structure (#5820)briaguya
* Bump LUS to include FileDropMgr's new registration system and initial cursor visibility changes. * New LUS ref. * Remove default on for cursor always visible. Add option to camera controls next to enable mouse input for autocapture. Set autocapture on startup. * next LUS * clang again * Add "EnableMouse" CVar check to startup SetAutoCaptureMouse. * Back to LUS main. * lus version with fixes we need * very wip * get it building * soh otr * bump lus before fixing soh side stuff * build * still builds * mac error * bump otrexporter * bump to lus main * upstream otrexporter --------- Co-authored-by: Malkierian <malkierian@gmail.com> Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2025-10-04sequence notifs (updated #5265) (#5824)briaguya
* Adds ability for Notifiations to not make a noise This is probably the only feature that will use it, the noise makes sense for most things we want to use notifications for, but it playing on every scene transition was a bit distracting. * Adds a hook for OnSeqPlayerInit * Uses new hook and displays notification instead of overlay text * Changes names to prevent collisions Will be registering other types of hooks that will need different ShipInitFuncs in this same file later. * Change Icon * Change CVarName and remove now-unused duration slider * Update ConfigMigrator for CVar changes. * clang-format * fix * bring back duration control * config v4 * fix v4 migration --------- Co-authored-by: Christopher Leggett <chris@leggett.dev> Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2025-09-30[ADD] - 3D Scenes for pre-render areas (#5804)PurpleHato
* Hard removal 2D ones for now * override some scene values for prerender tests (#46) * Adult Link Cloudy * Fix: Child Link Night ToT Exterior * Fix for real now * Tweak: Skybox castle courtyard * WIP - adjusting for patterns * Hooked all code, needs testing * Hookified * Clean up * Update Fog Control * clang * Fix skybox override to only affect 3D pre-rendered scenes Prevent the 3D scene renderer from overriding skyboxes on all scenes Previously, the function was applying skybox changes to every scene, overriding the intended skyboxes throughout the game (Example: Kokiri Forest with a blue sky instead of it's original "greyish" one) Now it only applies custom skybox settings to scenes in the skyboxControlList, preserving original skyboxes for other scenes * Remove commentary and forgot to add Zelda's courtyard skybox * Move code to shipInit. * Early return for VB_SHOULD. * clang * Fix missing ! * Feedback fixes. * clang * Fix CVAR * Modify Skybox for scenes with multiple viewpoints. * setting position change to blend in the "modder stuff can do" * Adressed review * tooltip space missing, oops * InitFunc --------- Co-authored-by: Archez <Archez@users.noreply.github.com> Co-authored-by: Caladius <clatini88@gmail.com>
2025-09-30Allow non-ASCII characters on Windows (#5741)Eblo
2025-09-16entrance shuffle: sign hints (#5335)Philip Dubé
* entrance shuffle: sign hints * update entrance tracker with hint * show sign hints when any entrances shuffled * only hint when entrance shuffled * avoid crash when loading rando file * fix kf exit * correct hint from sign outside kokiri forest * 3 signs on DMT * improve naming
2025-08-13Boss Rush cleanup (#5652)Pepe20129
* Reduce stuff in the `.h`s & use `COND_HOOK` + variants * Move some boss rush stuff from `z_file_choose.c` * clang * Update BossRush.cpp
2025-08-12Turn song text into a notification (#5712)Pepe20129
2025-07-01Spirit Flags (#5631)Philip Dubé
1. skip cutscene delay for sun on floor & sun on block 2. persist sun on floor temp flag 3. persist big mirror being solved before platform lowered 2 removes need for weird bomb key logic 3 needed for shuffle doors
2025-07-01CrowdControl additions & improvements (#5104)aMannus
* CrowdControl additions & improvements * Update after dev merge * clang format * Revert "clang format" This reverts commit 1be5ad18f5995792971fa0a1772109b0157817b4. * clang format
2025-06-27Backport 2ship streamed audio (#5457)louist103
* Bring over changes from 2ship # Conflicts: # .github/workflows/apt-deps.txt # soh/CMakeLists.txt # soh/soh/resource/importer/AudioSampleFactory.h # soh/soh/resource/importer/AudioSequenceFactory.cpp # soh/soh/resource/importer/AudioSequenceFactory.h # soh/soh/resource/importer/AudioSoundFontFactory.h * Update xml format * Format and fix mixer for Windows * Fixes for new LUS * Good ole clang-format
2025-06-23Tools update (#5454)louist103
* Bump ZAPDTR & OTRExporter. Changes to use o2r by default Changes to the new player animation format # Conflicts: # OTRExporter # ZAPDTR # soh/soh/OTRGlobals.cpp # soh/src/code/z_skelanime.c * Fix actions * Format * Cherry pick ZAPDTR * Update exporter * Move configs to port * Remove copy * Remove more XML copies * Remove extractor directory from actions builds. * Fix OTRExporter for linux * FIx ZAPD volatile * Format * Fix extractor? * Fix linux * Fix * Remove appimage stuff * Screnity now * Remove ZAPD from install paths * Remove soh.sh.in * Fix linux * Cleanups and use a thread for message box
2025-06-19Dynamically construct weird frame data (#5195)Sirius902
2025-06-19Reapply "Set Sample Rate to 32000 hz (#4780)" (#5234) (#5508)Malkierian
This reverts commit feea29929125d9496c7a17037250532a8d3e3bfd. Also applies rupee screech fix LL provided to 2ship.
2025-06-11Hookify TreesDropSticks (#5566)Philip Dubé
* Hookify TreesDropSticks * fix off by one
2025-06-11Convert actor health bars to use ObjectExtension (#5565)Rozelette
2025-05-23Rework ActorViewer to use hooks (#5474)Rozelette
* Rework ActorViewer to use hooks * Rework ActorViewer to use hooks * Remove ResetData
2025-05-23Add ObjectExtension system (#5429)Rozelette
2025-05-17port over nametag improvements from 2ship (#5160)Archez
2025-05-16Merge pull request #5497 from HarbourMasters/develop-blairMalkierian
blair -> dev