summaryrefslogtreecommitdiff
path: root/soh/src/code
AgeCommit message (Collapse)Author
2026-07-07pull decomp changes: actor functions, z_en_horse.c (#6877)Philip Dubé
2026-07-04Decouple GBK from LACS (#5838)Philip Dubé
Triforce Pieces can now be tokens for bridge or ganon's soul. & can be tokens for multiple rewards Wincon can now be arbitrary conditions Ganon's Soul (removed from existing boss soul options) can now be arbitrary conditions Co-authored-by: Pepper0ni <93387759+Pepper0ni@users.noreply.github.com>
2026-07-04Ivan: Move ActorDB registration into IvanCoop.cpp (#6815)Shishu the Dragon
2026-06-30Hookifying Various Cheats and FixVineFall (#6827)Chris
2026-06-29Sync's Ganons Trials and Fixes Softlock (#6828)Amber Burton
Previous co op softlock fix introduced a possible trial softlock making barrier never dissappear. This not only ensures that softlock cant happen, it syncs the trial flags in real time and allows all cutscenes to finish playing to properly remove the barrier even if the beams are physically visible in your game.
2026-06-27Better Octave Drop logic (#6796)jdperos
2026-06-27Cleanup unused includes & remove remaining LUS umbrella includes (#6813)Tim Schneeberger
2026-06-24No FMA (#6811)Philip Dubé
2026-06-24fix: free look continues from forced view when leaving a fixed camera ↵David Racine
(#4953) (#6808) When a scene-forced/fixed camera (e.g. the Spirit Temple boulder-room alcoves, CAM_SET_PREREND_FIXED / Camera_Fixed3) drives the view, the Free Look angles in play->camX/camY are left untouched while manualCamera stays set. On exit, Camera_Free resumed from those stale pre-alcove angles, so the camera snapped/reversed instead of following the player out. This does NOT change the forced-camera behavior: the alcove still clamps exactly as the game intends. It only fixes the hand-off back to Free Look: when Camera_Free resumes after another camera function drove the previous frame (detected via a frame-number gap), the free-look yaw/pitch are re-seeded from the camera's current orientation so the view continues from where it was left. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22Custom Bottle Contents (#6780)OtherBlue
2026-06-19fix: free look releases the door peek camera (#6756)David Racine
* fix(camera): let free look release the door peek camera After walking through a door, the door camera (CAM_SET_DOORC) held the view and only handed control back once the player moved or pressed a button, so the right stick did nothing until then. With free look the camera appeared frozen after every door. Treat right-stick movement as a release condition too, using the same stick threshold as free-look activation. * refactor(camera): move door-cam free-look release to a VB_SHOULD hook Reimplements the door peek camera free-look release as a vanilla-behavior hook instead of inline logic in z_camera.c, keeping the decomp file close to upstream. - Add VB_RELEASE_DOORC_CAMERA wrapping the existing Camera_Special9 release condition; the vanilla button/xzSpeed expression is left untouched. - Move the right-stick / free-look threshold logic into a new enhancement, FreeLookDoorCamRelease.cpp, registered with COND_VB_SHOULD and gated on FreeLook.Enabled so the hook only exists while Free Look is on. Behavior is unchanged from the previous fix; this only relocates the logic. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18feat(camera): option for free look to follow the default camera distance (#6757)David Racine
Free Look pinned the camera to the fixed "Camera Distance" setting, so it never pulled in or out the way the vanilla camera does for the current situation. Add an opt-in "Follow Default Camera Distance" setting (FreeLook.UseGameDistance) that uses the game's per-mode default distance instead. The fixed distance slider is hidden while it is enabled. Closes #4050 Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18Redo Fishing Pole Gi Model (#6759)nickel246
Replaces the gi model for the randomizer Fishing Pole to be more consistent with the rest of the game's gi models
2026-06-18fix(audio): replace stray custom-sequence printf with a debug log (#6752)David Racine
The custom-sequence registration loop printed each assigned seqNum to stdout via a bare printf, spamming the console with context-free numbers on every launch. Convert it to LUSLOG_DEBUG and include the sequence name so it is hidden by default yet useful for diagnosing music-pack loading.
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é