Commit Graph

4244 Commits

Author SHA1 Message Date
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
Malkierian 034bf5f3c7 Swap Logic combobox for No Logic checkbox. (#7196)
Rename All Locations Reachable to All Checks Reachable.
Rename Locations section to Check Locations.
Properly fix checkbox/radio button label wrapping.
2026-09-14 23:53:03 +00:00
Pepper0ni 31ba9e2069 fix fire boss typo (#7195) 2026-09-14 23:51:06 +00:00
Philip Dubé 060787a239 clean up headers (#7194)
GameInteractor.h does not itself depend on libultraship/bridge/consolevariablebridge.h,
instead its dependencies requiring that header should include it themselves

This was particularly impactful for SohGui.hpp which included all the windows
2026-09-14 19:49:29 +00:00
Caladius 43ea332874 [Enhancement] Time Splits v2 (#5839)
This aims to port over the Time Splits feature from 2Ship as it is cleaner & more robust.

New to this is the ability to finally compare splits from a second list.

Old Save data will now be converted to the new format automatically. Once it converts the data, the old save file will be renamed with a new ".backup" extension.

Co-authored-by: serprex <159546+serprex@users.noreply.github.com>
2026-09-14 16:55:22 +00:00
Philip Dubé 97fb13cbee Hookify FP movement (#7189)
Apply consistent movement effects to first person movement
2026-09-14 16:49:50 +00:00
Philip Dubé 09ca2ad383 Maintain correct position/camera for Master Sword cutscene skip (#7184) 2026-09-14 16:48:47 +00:00
Philip Dubé 53f688df54 Fix logic for fire near boss (#7147)
Adult with hood can jump from cage to boss door to upper with hood

Also fix bunny / mask options being disabled outside rando file
2026-09-14 14:20:38 +00:00
David Racine ea348bc9fb a11y: let F9 toggle TTS on Linux (#7191)
The hotkey was removed in #2833 because Linux had no synthesizer and fell
through to SpeechLogger. #5428 added the espeak-ng backend and un-gated the
settings checkbox, but left the hotkey and the README on Windows and macOS.
2026-09-14 00:29:52 +00:00
Philip Dubé 11fd0e0e70 Fix bow body cosmetic color (#7190)
No need to 4x color, just use what player picks. Avoid stale reads by getting rid of currentColor

Also clean up MIN/MAX & tidy up randomizer.h including CustomMessageTypes.h
2026-09-13 22:12:09 +00:00
Philip Dubé 8b3d91506e Fix title card margins (#7167) 2026-09-13 21:03:26 +00:00
David Racine 78dc6d9702 Don't erase __attribute__ under clang-cl (#7186)
* Don't erase __attribute__ under clang-cl

The shim fires when __GNUC__ is absent, which clang-cl does not define even
though it supports __attribute__ fully. Erasing it breaks clang's own intrinsics
headers: mmintrin.h declares __m64 as a vector via __attribute__((vector_size)),
so it degrades to a scalar and every use of it fails to compile.

* Don't erase __attribute__ under clang-cl

clang-cl supports it but does not define __GNUC__, so the shim fired and broke
clang's own intrinsics headers.
2026-09-13 18:21:36 +00:00
David Racine f00f5b6252 Optimise the 64-bit Windows Release build (#7188)
soh/CMakeLists.txt empties CMAKE_CXX_FLAGS_RELEASE under MSVC, and the 64-bit
branch adds /Oi and /Gy but no optimisation level, so the target is built /Od.
The Win32 branch below it already passes /O2.
2026-09-13 18:21:30 +00:00
David Racine b81187db36 Keep /EHsc when clearing the MSVC default flags (#7185)
The MSVC block drops CMake's defaults wholesale, and /EHsc goes with them, so
Windows builds compile every try/catch without unwind semantics - cl only warns
(C4530). soh and libultraship have 25 of them between them, including the
config and archive paths in OTRGlobals, where a throw would skip destructors.

clang-cl refuses outright rather than warning, which is how this surfaced.
2026-09-13 18:21:24 +00:00
Philip Dubé 3cfe4ddffb Prevent despawning shuffled gerudo guard drops (#7183) 2026-09-13 00:26:29 +00:00
xxAtrain223 f04b570d2a Fix logic typo (#7181) 2026-09-12 15:01:08 +00:00
Philip Dubé 01166a975e Fix discord invite (#7177) 2026-09-10 18:33:25 +00:00
Philip Dubé 18f8770eaf item tracker: don't render items for disabled settings (#7151) 2026-09-09 14:57:03 +00:00
Philip Dubé 36d03b9bce Fix save editor v2 (#7170)
C-button loop should not read D-pad,
D-pad keys off index like SyncButtonItemsForSlot,
B-button skips, ITEM_NONE while swordless would every empty slot green
2026-09-08 19:54:32 +00:00
Philip Dubé d37a378466 Don't apply inverted X axis aiming to first person movement (#7163) 2026-09-08 17:14:07 +00:00
Pepper0ni f3830ee8ad Fix megadives with jump clamping (#7164) 2026-09-08 17:13:52 +00:00
Philip Dubé 60dabb21e3 Add Skip Warp Cutscene option to All/None cutscene skip buttons (#7160) 2026-09-08 13:38:54 +00:00