summaryrefslogtreecommitdiff
path: root/soh/src/code
AgeCommit message (Collapse)Author
2026-06-15[Modding] Refactor CustomEquipment (#6708)Reppan
2026-06-14fix halfmilk RBA (#6670)ph
2026-06-14rando: option to allow swordless epona items (#6727)Philip Dubé
2026-06-13Fix custom music corruption past 256 sequences (#5989) (#6736)David Racine
The resolved replacement id (which can exceed 255) rode a single per-player seqToPlay slot, written at enqueue but consumed asynchronously on the audio thread; back-to-back starts and priority-queue promotions clobbered it. sSeqFlags[0x6F] was also indexed by raw id, reading out of bounds past the authentic range. - func_800F9280 resolves the replacement and packs the full 16-bit id into the 0x82/0x85 play command; the handler reads opArgs & 0xFFFF. Audio_QueueSeqCmd no longer pre-writes the shared slot. - SyncInitSeqPlayerInternal uses the command-carried id and bounds-checks it against the calloc'd sequence map (+0xF headroom for reserved-range skips). - Route sSeqFlags reads through a bounded Audio_GetSeqFlags helper. - Warn and skip gracefully past the 16-bit id limit. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12Add 6th notch to text speed which makes text speed instant (#6694)Philip Dubé
Helps frustration trying to read hints faster without skipping
2026-06-11Add the 2 "decoy" crates as NL crates (#6672)Pepe20129
2026-06-10Ivan: Hookify and improve spawning (#6707)Shishu the Dragon
Spawn/despawn Ivan immediately (not on next scene) Move Ivan’s boomerang code out of z_player.c
2026-06-09Merge remote-tracking branch 'origin/develop' into develop-ackbarDemur Rumed
2026-06-09uncomment code in z_camera.c (#6709)Philip Dubé
pointed out by Evangelia, cause of discrepancy in crawlspace glitch * [Console](https://www.youtube.com/watch?v=2_tFHeEvXI0) * [SoH](https://www.youtube.com/watch?v=-u3TzbdUr3c)
2026-06-06Don't Spoil Ice Trap (#6597)Pepe20129
2026-06-06Enhancement to disable heat haze (#6663)Shishu the Dragon
2026-05-30Update LUS to build in GCC 16 (#6601)Pepper0ni
2026-05-29Fix sword scaling (#6558)Philip Dubé
Don't apply transforms when scale 1.0, adjust translation to be gradual
2026-04-23Fix OGC great fairy reward in vanilla with skip misc interactions when fish ↵Philip Dubé
is not obtainable (#6556) Item_CheckObtainability should only be called with MOD_NONE GI For RG_DOUBLE_DEFENSE that became ITEM_FISH. Nonsense ensued To reproduce issue, create debug save & go straight to OGC great fairy with only magic/ocarina/lullaby
2026-04-19func_$hex renaming from upstream (#6498)Philip Dubé
2026-04-17Horseback archery settings (#6517)Reppan
2026-04-17Hookify DropsDontDie, NoFishDespawn, NoBugsDespawn (#6513)Philip Dubé
2026-04-16Fix Duplicate Reticles in Anchor (#6520)A Green Spoon
2026-04-06Alt Toggle for Custom animation (#6433)PurpleHato
Add explicit alt prefix checking to animation loading Makes ResourceMgr_LoadAnimByName alt-toggleable this will work for Link and any other animations files
2026-03-28Merge pull request #6425 from HarbourMasters/develop-ackbarPhilip Dubé
merge develop-ackbar 9.2.1 to develop
2026-03-26Move retrieval of dbEntry after Actor_Destroy (#6410)Christopher Leggett
Before I had the change back to the placeholder actor id the Dummy Player actors were spawned with, but since we grabbed the actorDB entry before Actor_Destroy was called it didn't matter. Move it and the requisite log statement to after Actor_Destroy.
2026-03-23Enemy rando: don't mutate ActorEntry (#6400)Philip Dubé
2026-03-23Enemy rando: don't mutate ActorEntry (#6395)Philip Dubé
2026-03-23Added minimap icons for other players in Anchor (#6372)Sean Latham
Icon size for other players reduced by 25%
2026-03-21Enemy rando cleanup 2 (#6365)Pepe20129
Move stuff to main file, delete header & refactor lists
2026-03-21Fix ADPCM sample buffer overread in audio synthesis (#6364)Paul Schwabauer
The sampleDataStartPad and aligned variables existed solely to satisfy the N64 RSP DMA requirement that source addresses be 16-byte aligned. On PC, aLoadBuffer is a plain memcpy with no such constraint. The alignment dance caused aLoadBuffer to read up to 15 bytes before sampleData and up to 8+ bytes past the end of the sample buffer. On platforms with strict allocator guard pages (e.g. OpenBSD), this triggers a SIGSEGV. A second issue remains after removing the alignment dance: nFramesToDecode is derived from sample counts (loopEnd), but size is not always a multiple of frameSize. loopEnd and size are derived independently during encoding and can disagree on the final partial frame, leaving nFramesToDecode * frameSize exceeding the remaining bytes in the buffer. Remove sampleDataStartPad and aligned entirely. Clamp the load to min(nFramesToDecode * frameSize, audioFontSample->size - sampleDataOffset). The ADPCM decoder operates on DMEM, so a partial last frame in DMEM produces at most a negligible artifact at sound termination.
2026-03-20Custom Item Icons in Textboxes (#6343)Christopher Leggett
2026-03-20Fix Entrance Rando Grotto Voidout Crash when voiding back to an area with a ↵Christopher Leggett
background image (#6379) Hookify bgimage load cam check and add it to entrance rando
2026-03-19Fix rendering double digit key count (#6371)Philip Dubé
2026-03-17Fix RBA gauntlet colors to match console (#6359)Philip Dubé
Also fix tracker to show golden gauntlets while wearing glitched gauntlets, & don't crash save editor
2026-03-17Enemy rando cleanup (#6327)Pepe20129
Change Actor_SpawnEntry to use VB Move adult zelda collapse stalfos to a explicit hook Move dark link to a explicit hook Some more canRandomize that were not needed Move bg_haka & bg_haka_tubo to explicit hooks Move en_vali to an explicit hook Move bg_mori_bigst to an explicit hook Fix door opening before the enemies are killed Remove `canRandomize` parameter Move bg_haka_huta to explicit hooks
2026-03-05Hookify Hookshot Reticle Changes (#6279)A Green Spoon
2026-03-02Add disable jabu wobble accessibility option (#6280)red
2026-03-01Roc's Feather: avoid OOB access to gItemAgeReqs (#6297)Philip Dubé
This fix is a bit blunt, but in the absence of a better idea it exists
2026-02-28Fix song of storms cutscene (#6310)Philip Dubé
2026-02-28Remove unnecessary includes of OTRGlobals.h in actor overlays (#6306)Philip Dubé
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.