summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-07-01disable starting wallet when child wallet is shuffled (#6844)A Green Spoon
2026-06-30Hookifying Various Cheats and FixVineFall (#6827)Chris
2026-06-30Add Kakariko watchtower butterfly fairy (#6839)A Green Spoon
2026-06-30dynamic cosmetic manifests (#6792)Jameriquiah
2026-06-29Add Easy Butterfly Fairy Cvar (#6833)Reppan
2026-06-29Add to queue if kz red ice removed (#6836)A Green Spoon
2026-06-29Vanilla bugfix, Goron Link first talk softlock (#6834)djevangelia
2026-06-29[Bugfix] Autosave timestamp incorrectly seeded (#6566)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-28[Enhancement] Improved Roll (#6604)Reppan
2026-06-27Be consistent with check names for deku scrub grotto beehives (#6825)Philip Dubé
2026-06-27[Bugfix] Junk stone hints not generated (#6824)Chris
2026-06-27[Bugfix] Skull house checks showing as 0 rupees in tracker (#6822)Chris
2026-06-27[Bugfix] Token count off-by-1 (#6819)Chris
2026-06-27Better Octave Drop logic (#6796)jdperos
2026-06-27Cleanup unused includes & remove remaining LUS umbrella includes (#6813)Tim Schneeberger
2026-06-27fix oversight on rising target ledge > pillar high water (#6818)Pepper0ni
2026-06-24Vanilla bugfix, Deku Shield burning drop crash (#6810)djevangelia
2026-06-24No FMA (#6811)Philip Dubé
2026-06-24Vanilla bugfix, Hookshot with parent + Hookshot nospawn (#6805)djevangelia
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-24fix(menu): guard backend name lookups against unknown backends (#6806)David Racine
GetAvailableAudioBackends()/GetAvailableWindowBackends() can report a backend that has no entry in the static name maps (e.g. a newly added or platform- specific backend), which made audioBackendsMap.at()/windowBackendsMap.at() throw std::out_of_range and crash. Look up with find() (single lookup) and skip backends that aren't named instead of dereferencing a missing key. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23Reduce LUS header bloat & improve build speed (#6802)Tim Schneeberger
* Avoid `randomizer_check_tracker.h` in widely used `randomizer.h` due to transitive `libultraship.h`/`UIWidgets.hpp` inclusion * Avoid `libultraship.h` inclusion in heavily used `GameInteractor.h` header * Remove unused libultraship includes * Break huge unneeded transitive include chain (via UIWidgets.hpp) This avoids that changing just UIWidgets.hpp, for example, would retrigger a rebuild of like half the project. There were a huge transitive include chains, mostly via MenuTypes.h and UIWidgets.hpp. Because of that, I'm splitting UIWidgets into a second header file UIWidgetOptions.hpp, which can be consumed by MenuTypes.h. MenuTypes.h is split into BackendTypes.h to avoid pulling in Fast3D/Windowing/GUI stuff into unrelated code. Example chain, one of many: libultraship.h <- UIWidgets.hpp <- MenuTypes.hpp <- randomizer/option.h <- randomizer/item_location.h <- trial.h <- static_data.h <- SeedContext <- (basically all randomizer related sources, lots of other sources in Enhancement, more...) * Avoid libultraship.h in Notification.h and ObjectExtension.h; these headers are also heavily used * Add missing include * Remove unused libultraship includes * Include only ship/window/GuiWindow.h in GUI-related headers instead of libultraship.h * Cleanup ConfigUpdater.h and playthrough.cpp * Remove libultraship.h from Anchor.h and fix transitive dependencies in OTRGlobals.cpp * Remove unused libultraship.h includes in Anchor code
2026-06-22Updates the CMC models so fade in should work now (#6766)Reppan
Also fixed some shading issue on normals
2026-06-22fix regression, lost boss souls from HasItem (#6798)Philip Dubé
2026-06-22Combine HasBossSoul & CanOpenOverworldDoor into HasItem (#6795)Philip Dubé
2026-06-22Ignore clangd config (#6797)jdperos
2026-06-22Fix numerous Small Key Tracking bugs, excess items now more reliably turn ↵Pepper0ni
into Blupees (#6750)
2026-06-22Custom Bottle Contents (#6780)OtherBlue
2026-06-22Fix ganondorf hint (#6789)Philip Dubé
Location indexes need to be aligned, so rather than try erase them, just avoid RC_UNKNOWN_CHECK crash by stubbing it to "an isolated place"
2026-06-22triforce shard scale fix (#6791)Jameriquiah
2026-06-21Custom Hand DL's for each tunic take 3 (#6754)Jameriquiah
2026-06-21clamp settings (#6786)Philip Dubé
avoids segfaulting if options changed between versions
2026-06-21Add an option to Rupee Dash to disable rupee reduction scaling (#6778)jdperos
2026-06-21update github actions (#6785)Philip Dubé
2026-06-21Update Visuals for Ability Shuffles (#6783)nickel246
Adds new visuals for the open chest, climb, and crawl ability shuffles, including bespoke gi models more consistent with the rest of the game as well as unique icons for the item tracker
2026-06-21fix a couple of small DMC oversights (#6784)Pepper0ni
2026-06-20fix windows warning (#6781)Philip Dubé
2026-06-20Don't prevent child from accessing Ganon's Castle or GV Tent (#6691)Philip Dubé
With more shuffles & tricks these scenarios become common
2026-06-20Complete rando starting items, make icon based like save editor (#6723)Philip Dubé
2026-06-20Remove all warnings on Windows and treat them as errors (#6733)Pepe20129
Update libultraship
2026-06-20soh.o2r optimization part 1 (#6777)Jameriquiah
Co-authored-by: PurpleHato <47987542+PurpleHato@users.noreply.github.com> Co-authored-by: Dana Addams <6495350+danatheelf@users.noreply.github.com> Co-authored-by: sitton76 <58642183+sitton76@users.noreply.github.com> Co-authored-by: krm01 <krm01@users.noreply.github.com>
2026-06-20Woops on FPS items (#6779)Reppan
2026-06-20SkipIntro: still start at 12:00 in non-rando game (#6762)Philip Dubé
2026-06-19Ivan: Allow Ivan to break pots and crates while far from Link (#6768)Shishu the Dragon
2026-06-19mod menu group select (#6649)Jameriquiah
2026-06-19fix imgui id conflicts (#6764) (#6771)Philip Dubé
ImGui derives a control's ID from its visible label, and the menu search page renders every widget in a single scope. Randomizer options that share a label with an enhancement (e.g. "Blue Fire Arrows") therefore produced an ID conflict on the search page. Append a "##Randomizer" suffix to randomizer widget labels so their ImGui ID is unique. The option's own name is left untouched since it is used as a serialization key (spoiler logs, settings lookup); only the menu widget gets the suffix. SliderInt/SliderFloat draw their label themselves via ImGui::Text/CalcTextSize, which (unlike ImGui's labeled widgets) don't strip a "##" suffix, so add a visibleLabel with the suffix chopped off for display while keeping the full label for the unique ID. Co-authored-by: briaguya <70942617+briaguya0@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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-19docs: document clang-format 14 setup and add an opt-in pre-commit hook (#6741)David Racine
Recent distros and Homebrew ship only newer clang-format, so contributors can't easily get the version CI uses (14, matching the OoT/MM decomp). - docs/FORMATTING.md: how to get a 14.x binary (apt, AUR, muttleyxd static binaries, uvx/pipx wheel, brew) and how to run the formatter. - run-clang-format.sh: default to clang-format-14 but honor $CLANG_FORMAT so any matching binary works. Any 14.x produces byte-identical output here. - .pre-commit-config.yaml: opt-in hook to format staged C/C++ on commit. - README: link the new doc. The llvm@14 formula is available on Linux too, so filing it under a macOS-only heading was too narrow. * Support spaced paths in CLANG_FORMAT; document run-clang-format.ps1 eval the clang-format invocation so CLANG_FORMAT can carry arguments (uvx clang-format@14) or a quoted path with spaces without one breaking the other. The NUL-separated file list reaches xargs over the pipe, so filenames never pass through eval. Document the native Windows run-clang-format.ps1 path alongside the Git Bash/WSL route. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18Dynamic Cosmetics Editor for Custom Models (#6429)Jameriquiah
* dynamic cosmetics editor for custom models * moved to separate cpp * remove unused includes * Update DynamicCosmeticsEditor.cpp * sanitization cleanup * better empty check? * remove some duped logic * new tab + better categories * changes * woops * cleanup * reset change * refresh removal * add CVarClearBlock * remove ClearCustomCosmeticValueCvars * fix merge conflict * woops