Commit Graph

3993 Commits

Author SHA1 Message Date
AutoJanitor 8602c6d154 fix: restore BGM after Stalfos group defeat in MQ Water Temple (#6408)
In EnTest_Destroy, the check for nearby Stalfos uses
Actor_FindNearby which includes killed actors (update == NULL)
still in the linked list. When multiple Stalfos die in the
same frame or in quick succession, the last one to be destroyed
still sees the others in the actor list and skips the BGM
restore call (func_800F5B58).

Replace Actor_FindNearby with a custom check that only counts
living actors (update != NULL). This ensures the miniboss BGM
is properly restored to the dungeon theme when the last
Stalfos in a group is defeated.

Co-authored-by: serprex <159546+serprex@users.noreply.github.com>
2026-07-05 15:32:34 +00:00
Jameriquiah b7b565aaf0 remove set env color from key dl (#6866) 2026-07-05 12:12:06 +00:00
Amber Burton 3c48ccd705 1 Cache + Fix logical errors (#6862)
So this fixes some logical errors with loading the resources so its checking they exist before trying to test-load them... It also added a cache for the alt skeleton by tunic type so we arent constantly trying to reassign the tunic (This change in particular may prevent instant model swapping depending how the model swap with custom content is handled if loaded in a menu like NEI does)... Current system was just spamming that check over and over and trying to reload skeletons constantly so I opted for detecting if the tunic actually changes THEN allow a recheck here, otherwise exit out early. The  skeleton.cpp and skeleton.h files can be reverted if suspected that will interfere with intended custom model usage.
2026-07-05 11:17:57 +00:00
Philip Dubé 015440fdff Decouple GBK from LACS (#5838)
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-04 20:04:09 +00:00
Philip Dubé 618b7694b1 SpeedModifiers.cpp (#6861)
Prevent speed modifiers affecting dive speed when bunny jump not enabled
2026-07-04 13:25:44 +00:00
Garrett Cox 942134669a Ensure great fairy rewards are synced in vanilla (#6859) 2026-07-04 12:29:00 +00:00
djevangelia 53a663577f ActorViewer, add hex id and params (#6863) 2026-07-04 12:23:10 +00:00
Amber Burton f59d9172d6 Desync the great fairy cutscene (#6860)
When 2 players are in the fairy fountain and 1 activates the great fairy cutscene, it can force the other player into the cutscene as well, and I've had some crashes arbitrarily too so this guarentees that doesnt happen.
2026-07-04 03:40:06 +00:00
Shishu the Dragon b09c0733e2 Ivan: Move ActorDB registration into IvanCoop.cpp (#6815) 2026-07-04 01:51:28 +00:00
Philip Dubé c76d175526 DC MQ: RT_VISIBLE_COLLISION to reach above stairs with hookshot (#6840)
Also RT_DC_ALCOVE_GS

MQ crate is like RT_DC_VINES_GS but without precision
2026-07-03 22:21:42 +00:00
Pepper0ni ed4868f62e Check for the Wolfos Gate before letting child out of SFM without climb. (#6851) 2026-07-03 20:43:01 +00:00
djevangelia 2385603496 Bugfix, add Dodongo fire in enemy randomizer (#6855) 2026-07-03 18:14:01 +00:00
A Green Spoon 7effe28911 move wallet fill after Link's Pocket (#6846) 2026-07-02 18:49:09 +00:00
djevangelia 1580d7c3d1 Bugfix, Bigocto softlock on early damage (#6842) 2026-07-01 15:40:48 +00:00
FantaTanked 2418d51df5 Fix for actors / crawlspaces / doors not loading after loading a savestate (#6838)
Fixes an issue where actors do not load properly after creating a savestate and then going to either a new scene or loading a different area of the map (graveyard near shadow -> main section of graveyard dampes door is missing after loading again.)
2026-07-01 12:55:22 +00:00
A Green Spoon d12c0d4ed7 move randinf item handling inside set_randinf block (#6843) 2026-07-01 12:35:43 +00:00
A Green Spoon d34f664a29 disable starting wallet when child wallet is shuffled (#6844) 2026-07-01 12:34:09 +00:00
Chris c5835669fe Hookifying Various Cheats and FixVineFall (#6827) 2026-06-30 04:10:56 +00:00
A Green Spoon 1fd3a467cd Add Kakariko watchtower butterfly fairy (#6839) 2026-06-30 01:55:52 +00:00
Jameriquiah c91f7b6ce7 dynamic cosmetic manifests (#6792) 2026-06-30 00:47:57 +00:00
Reppan 55b804a673 Add Easy Butterfly Fairy Cvar (#6833) 2026-06-29 19:13:39 +00:00
A Green Spoon 68d4c6049e Add to queue if kz red ice removed (#6836) 2026-06-29 16:26:13 +00:00
djevangelia 984ccf80e4 Vanilla bugfix, Goron Link first talk softlock (#6834) 2026-06-29 16:17:49 +00:00
Chris 4edf9c920d [Bugfix] Autosave timestamp incorrectly seeded (#6566) 2026-06-29 13:26:42 +00:00
Amber Burton aedddc21e9 Sync's Ganons Trials and Fixes Softlock (#6828)
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-29 04:48:27 +00:00
Reppan a629af2e9f [Enhancement] Improved Roll (#6604) 2026-06-28 13:41:59 +00:00
Philip Dubé 8d2d5c9828 Be consistent with check names for deku scrub grotto beehives (#6825) 2026-06-27 20:58:17 +00:00
Chris 2f262f492e [Bugfix] Junk stone hints not generated (#6824) 2026-06-27 20:08:21 +00:00
Chris 2ba368e7e7 [Bugfix] Skull house checks showing as 0 rupees in tracker (#6822) 2026-06-27 19:58:50 +00:00
Chris 3ac67f14cc [Bugfix] Token count off-by-1 (#6819) 2026-06-27 15:28:54 +00:00
jdperos 003a009ebc Better Octave Drop logic (#6796) 2026-06-27 15:28:40 +00:00
Tim Schneeberger 633e920969 Cleanup unused includes & remove remaining LUS umbrella includes (#6813) 2026-06-27 00:20:03 +00:00
Pepper0ni 210c5d5885 fix oversight on rising target ledge > pillar high water (#6818) 2026-06-27 00:17:02 +00:00
djevangelia 4b6678b82c Vanilla bugfix, Deku Shield burning drop crash (#6810) 2026-06-24 21:57:28 +00:00
Philip Dubé f95c23ef69 No FMA (#6811) 2026-06-24 19:28:09 +00:00
djevangelia 53b9db5b92 Vanilla bugfix, Hookshot with parent + Hookshot nospawn (#6805) 2026-06-24 18:32:03 +00:00
David Racine 8cf4ff5f14 fix: free look continues from forced view when leaving a fixed camera (#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-24 16:24:19 +00:00
David Racine 4a875dca41 fix(menu): guard backend name lookups against unknown backends (#6806)
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-24 16:22:40 +00:00
Tim Schneeberger 0d2346d322 Reduce LUS header bloat & improve build speed (#6802)
* 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-23 05:09:25 +00:00
Reppan e50d03dab0 Updates the CMC models so fade in should work now (#6766)
Also fixed some shading issue on normals
2026-06-22 20:53:05 +00:00
Philip Dubé c238f07450 fix regression, lost boss souls from HasItem (#6798) 2026-06-22 15:42:56 +00:00
Philip Dubé c5896c7efc Combine HasBossSoul & CanOpenOverworldDoor into HasItem (#6795) 2026-06-22 14:35:57 +00:00
jdperos e894b76182 Ignore clangd config (#6797) 2026-06-22 12:12:57 +00:00
Pepper0ni ec2a3d7aa2 Fix numerous Small Key Tracking bugs, excess items now more reliably turn into Blupees (#6750) 2026-06-22 05:20:33 +00:00
OtherBlue cb215ede87 Custom Bottle Contents (#6780) 2026-06-22 05:09:41 +00:00
Philip Dubé fd696b5e52 Fix ganondorf hint (#6789)
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-22 05:08:49 +00:00
Jameriquiah 88006aee2a triforce shard scale fix (#6791) 2026-06-22 01:41:40 +00:00
Jameriquiah 6a51720194 Custom Hand DL's for each tunic take 3 (#6754) 2026-06-21 21:46:47 +00:00
Philip Dubé e4b6f1ab87 clamp settings (#6786)
avoids segfaulting if options changed between versions
2026-06-21 20:45:22 +00:00
jdperos 5926476496 Add an option to Rupee Dash to disable rupee reduction scaling (#6778) 2026-06-21 18:25:34 +00:00