3674 Commits

Author SHA1 Message Date
Philip Dubé ecd889c201 speedrun presets: no BSM, always allow ATE (#7325) 2026-10-06 02:03:14 +00:00
Philip Dubé f3d881144a Fix water entrance graph typo (#7324) 2026-10-06 01:28:33 +00:00
Philip Dubé 17ed8e714a just hash preset file, not settings (#7322)
avoids hash including misc debug mode options even when we've forced it to be disabled
2026-10-06 00:55:09 +00:00
Philip Dubé 3d8cd5aa88 Remove FQwc preset. Skip learning song
Also render exempt settings on preset selection, with values they'll have in-game
2026-10-05 23:38:48 +00:00
Philip Dubé 0ce4c0fccd Hookify Ganondorf/Ganon skips (#7321)
These were often only applied in rando or boss rush,
vanilla would only skip with entire tower escape skipped
2026-10-05 21:32:01 +00:00
amafresh325 94f950f8d7 German (#7315)
Co-authored-by: serprex <159546+serprex@users.noreply.github.com>
2026-10-05 16:54:09 +00:00
Philip Dubé 7cdf69b20b Use WriteFileSafely more (#7317)
Include config version check on speedrun settings
2026-10-05 14:38:23 +00:00
Philip Dubé 4afcb78331 speedrun mode (#7073)
prevent Esc menu while speedrun file loaded, instead toggles gameplay stats / time splits

render RUN tag on speedrun files

don't persist speedrun preset into player's settings
2026-10-05 05:19:52 +00:00
Philip Dubé b69cb6607e Fix "return to spawn" from boss room inside grotto (#7314) 2026-10-05 01:58:58 +00:00
Chris 5508cf3633 Add migrations for presets and drag-and-drops (#7312) 2026-10-05 01:38:04 +00:00
David Racine 9308ba7940 Carry sound font ids in 16 bits (#7260)
Each streamed track brings its own sound font, so a pack with more than
~217 of them pushes font ids past 255. Stored in 8 bits they wrapped onto
vanilla fonts or onto 0xFF, which reads as "no font": the track played
vanilla instruments or nothing at all.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:39:10 +00:00
Philip Dubé 7459f6b905 Start with misc flags set in debug saves (#7311) 2026-10-04 23:19:39 +00:00
Pepper0ni 9512f337c7 set min save editor hearts to 1 because rando (#7307) 2026-10-04 19:44:11 +00:00
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
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
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