Commit Graph

4265 Commits

Author SHA1 Message Date
Pepper0ni d9ddeeb3e0 Update Hell Mode preset, add Demise Difficulty (#7306) 2026-10-04 19:43:52 +00:00
Philip Dubé 86dea7d1b1 Fallback to English for spoiler entries with TODO_TRANSLATE (#7305)
Key collision was breaking non-English rando

Translate a few items based on official sources / simple names
2026-10-04 17:27:39 +00:00
Chris 316d8e6a1b Excluded Locations Migration (#7302) 2026-10-04 17:27:22 +00:00
Philip Dubé 3ea7aa9b77 Fix boss rush name being garbage with non-PAL encoding (#7304) 2026-10-04 17:27:08 +00:00
Philip Dubé 12e17c68a8 don't set nextEntranceIndex in Play_Init, breaks FWWW (#7300)
instead tracker uses gSaveContext.entranceIndex
2026-10-04 15:39:07 +00:00
Philip Dubé 94be08c27e Extractor: pass Torch ROMs as big endian (#7301)
Needed for hashing. Adjust code to reduce copying
2026-10-04 14:44:49 +00:00
Philip Dubé 31c0d85544 Fix playthrough paring to not rely on checks past wincon (#7275)
Implement DelayItem to bypass SetPlacedItem setting price,
which when restored would leave behind price of RG_NONE
2026-10-03 18:29:17 +00:00
Philip Dubé 9d81cb03cf WriteFilesSafely (#7299)
Log filesystem op failures, don't rename after write failed

refactor SaveContext handling, use std::lock_guard
2026-10-03 18:10:19 +00:00
Philip Dubé 4d7b885dbd Fix item tracker not working during credits (#7298) 2026-10-03 15:34:01 +00:00
Philip Dubé e4f019f561 SwitchAge: prevent Link walking without collision for a bit (#7286) 2026-10-03 14:33:49 +00:00
Chris 45b9321593 [Bugfix] - Vanilla Shopsanity Prices (#7295) 2026-10-03 14:32:11 +00:00
David Racine e07916487d AudioSequenceFactory: fix mono streamed tracks not playing (#7291)
In WriteMonoSingleSeq, layerPlaceholderOff was recorded before WriteNoshort,
causing a stray 0x00 byte to be emitted into the mono channel script. The
0x00 decoded as a delay of 0 ticks, which deferred the subsequent ldlayer
byte by one tick and left channel->instrument unset when the layer first
processed its note, producing no sound.

Move layerPlaceholderOff to after WriteNoshort so the placeholder writes
the correct address, matching WriteStereoSingleSeq.

Fixes #7264
2026-10-03 13:50:08 +00:00
Chris 69a7cdb179 [Bugfix] Fix crash on exit after rando gen (#7296) 2026-10-03 13:49:25 +00:00
Philip Dubé 9eafd15fe1 Fix grotto entrance misbehaving when entering grotto before last transition not done (#7271) 2026-10-02 15:34:13 +00:00
David Racine 57eea55bd4 Fix a song enlarging on the quest page while the cursor is on L/R (#7263)
The selected-slot index is only assigned when the cursor is on a slot, so on
the page arrows the song icons compared against an uninitialised value.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 02:46:12 +00:00
Chris f4e698f4cc Revert self-pumping audio thread (#7284)
* Revert "Fix audio regression playing audio too slowly (#6894)"

This reverts commit db41e1b5f8.

* Revert "fix(audio): Fix audio stutter when gfx hitches (#6704)"

This reverts commit 4415537deb.
2026-10-01 02:39:23 +00:00
Philip Dubé ad7d0a66d0 Set time of day when skipping sun song cutscene (#7235)
Simulate cutscenes to match various time of day quirks
2026-10-01 02:22:38 +00:00
Philip Dubé ff0209e76f fix logical typos (#7283) 2026-09-29 19:49:27 +00:00
Chris b9bcc5e901 Fix audio thread race on CVar reads during preset apply (#7265) 2026-09-29 03:27:11 +00:00
Philip Dubé aa25eb4d56 mark ganon's tower entrances as oneExit (#7276) 2026-09-28 23:06:03 +00:00
Philip Dubé c42004bc42 Fix AddCheckToLogic bombchu handling (#7274)
1. consistently include shop bombchus
2. fix boolean flip typo, that was filtering out ITEMTYPE_SHOP branch that coerces matching LogicVals
2026-09-28 16:16:27 +00:00
Philip Dubé 4f546bc87e Fix Link being out of bounds while loading into scene on epona with spinning free cam (#7270) 2026-09-28 14:11:22 +00:00
Philip Dubé 576b30c64a Better Save Menu: hard code Return to Spawn in vanilla (#7273)
Unconditionally using rando's entrance overrides could load zero,
ie ENTR_DEKU_TREE_ENTRANCE
2026-09-28 05:34:14 +00:00
Philip Dubé faed544b22 rename Gerudo Fighter to Gerudo Thief (#7272) 2026-09-28 04:02:03 +00:00
David Racine 04d0ebd38c Build soh.o2r as part of ALL, only when its inputs change (#7262)
`install` builds ALL, which never included GenerateSohOtr, so it copied
whatever soh.o2r was already in the build tree. The version check can't
catch that: a stale soh.o2r carries the same version as the binary.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 02:21:33 +00:00
Philip Dubé b939163c3d publish appimage unzipped, store to ~/.local/share/soh when SHIP_HOME unset (#7252) 2026-09-28 00:46:39 +00:00
Jordan Longstaff ca1e4c2250 Fix Skip Forced Text softlock (#7254) 2026-09-26 16:26:36 +00:00
Pepper0ni cd38af7955 Fix enemy rando issues in MQ spirit (#7257) 2026-09-26 16:25:09 +00:00
Pepper0ni eccbc72cbe Fix and hookify full health on spawn (#7239) 2026-09-24 22:39:33 +00:00
Pepper0ni 2e300d3acc force empty bottle OI to use the milk effect to avoid UB (#7247) 2026-09-24 22:38:51 +00:00
Pepper0ni ea4cccc6d9 fix Ice Cavern Blades Silver Rupee door not opening when silvers are randomised (#7248) 2026-09-24 22:38:06 +00:00
Pepper0ni 479aa26ef4 Fix the seeding for Dark Link's spot in enemy rando. (#7249) 2026-09-24 22:37:48 +00:00
Pepper0ni 8fc1fc869b fix preplanted beans without souls being seen as planted on the tracker (#7251) 2026-09-24 22:36:59 +00:00
Philip Dubé 33b82dab3e Reduce log spam at start due to invalid RandomizerTrick entries (#7238)
Empty name check was ruined by "[ERROR] Couldn't retrieve language data..."
2026-09-22 19:24:58 +00:00
David Racine d30fc192f2 Include <version> before checking __cpp_lib_source_location (#7233)
GCC 15's libstdc++ defines feature-test macros selectively: after
#include <string>, __cpp_lib_source_location is not yet defined, even
though __builtin_source_location is fully supported. This made the
check fail on GCC 15 toolchains (including clang using libstdc++),
disabling the Hook Debugger.

Include <version> first so all feature-test macros are defined.
2026-09-22 02:40:47 +00:00
Philip Dubé d54a69833f avoid big poe collector not giving reward when handing bottle after collecting 1000 points worth of big poes on field (#7230) 2026-09-21 13:43:09 +00:00
David Racine 39a8d04018 Use --no-pager for the no-tabs check's git grep (#7232) 2026-09-21 04:49:02 +00:00
Philip Dubé 04ccd608b3 Fix equipping sword over swordless while fishing/riding (#7222) 2026-09-20 03:45:53 +00:00
Philip Dubé 5fee87c23e Replace tabs with spaces (#7223) 2026-09-19 18:09:26 +00:00
Philip Dubé 27a66925bf Add restoration for hookshot as child to softlock (#7219)
Requested for speedrun mode

Also hookify more enemy rando stuff while I'm in the neighbourhood
2026-09-19 14:00:06 +00:00
Philip Dubé 2bc50f6056 Fix deep slope vs double cell carpenter mix up (#7220) 2026-09-19 03:50:49 +00:00
Philip Dubé a353b6e7ce Shuffle Scarecrow Song (#7205) 2026-09-18 14:54:24 +00:00
Philip Dubé 02c7632a33 Fix boolean logic error breaking Talon cutscene skip (#7211) 2026-09-17 02:09:18 +00:00
Philip Dubé 01a4f3693d Refactor file select quest visibility, fix single quest handling (#7210)
Select single visible quest when only single quest visible

Fix bad operator precedence
2026-09-17 00:15:19 +00:00
David Racine c9e3ef7652 Interrupt espeak on a new utterance (#7207)
The SAPI and AVSpeechSynthesizer backends both drop what they are saying when
a new utterance arrives (SPF_PURGEBEFORESPEAK, stopSpeakingAtBoundary). espeak
never did, so on Linux every menu item scrolled past queued another utterance
with no way to skip ahead.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 00:13:59 +00:00
Philip Dubé e628cf0574 refactor blue fire arrows (#7209)
check damage flags instead of actors, original way could run into issues with actor unloading
2026-09-17 00:05:52 +00:00
Jordan Longstaff ae62048910 Hookify three Glitch Restoration options (#7200) 2026-09-16 18:15:17 +00:00
Jordan Longstaff aff03cd7b8 Hookify Mweep cutscene options (#7199) 2026-09-15 16:56:25 +00:00
Philip Dubé 4bd2356b11 QuickBossDeaths.cpp (#7192)
Phantom Ganon was only QuickBossDeaths skip, Twinrova only had rando / boss rush hack
2026-09-15 15:06:38 +00:00
Philip Dubé 4c04c7615f Save editor flag improvements (#7198)
1. clicking on flag name toggles checkbox
2. hovering over player state shows flag name
3. add search box for player state, adjust names to what headers call them
2026-09-15 00:59:12 +00:00