Commit graph

3230 commits

Author SHA1 Message Date
A Green Spoon 317c057e86
[Rando] Shuffle Signs (#6406)
Exploding Royal Family's Tombstone grants check
2026-03-30 13:35:54 +00:00
Philip Dubé 2b336a4582
Merge pull request #6446 from HarbourMasters/develop-ackbar
merge develop-ackbar into develop
2026-03-30 06:42:08 +00:00
Chris 14b464bab2
Bean guy text formatting and rando fixes (#6444) 2026-03-30 01:33:16 +00:00
Pepper0ni efc4086c6a
Some Logic fixes (#6445)
- Visible Collision added to more Skulls in Crates for consistency with similar situations
- Visible Collision added to chests in crates in MQ fire and for more ways to hit the switch in MQ fire Lizalfos maze
- Allow any jumpslash to break the pot in red ice in ice cavern with visible collision.
- Add Visible Collision as a way to get the gold skull token in the rubble in 4F Gibdo room in MQ shadow
- Turns out, while you take fall damage if you backflip onto a building from GF above jail, the floor is perfectly fine.
- Granny's shop forgot to check the price of the item being sold for wallets.
2026-03-30 01:32:31 +00:00
Philip Dubé 7c5cccaf92
Dedupe settings.cpp (#6443) 2026-03-29 19:42:54 +00:00
Pepper0ni 972ed22167
reset possible ice trap models before populating item pool (#6442) 2026-03-29 18:05:56 +00:00
Chris 5494a81eb1
Fix market sneak hook (#6440) 2026-03-29 16:46:47 +00:00
Chris ebea14f297
Fix displayed token count (#6441) 2026-03-29 16:45:48 +00:00
Philip Dubé 0127cbcf62
Fix debug assert caused by bad trick code (#6439) 2026-03-29 08:58:45 +00:00
A Green Spoon a461d8f6fb
[Rando] Shuffle Butterfly Fairies (#6430) 2026-03-29 07:54:01 +00:00
Chris 4729eef7c8
Make item category adjustments more consistent (#6434) 2026-03-29 07:34:59 +00:00
chartergirl64 0b3ebd584d
[bug fix] Changes item tracker capacity to recognize progressive chu bag limits (#6436) 2026-03-29 07:32:40 +00:00
Pepe20129 e0a1b23525
Language System Basis (#6172)
Introduces the basis for a language system to allow the UI to be translated to any language and/or have the text changed by mods.
A lot of things would require more work but, for a proof of concept, this PR makes all randomizer trick names & descriptions translatable (currently not re-loadable at runtime as that would require deeper changes and this is already merge conflict hell every time a trick is touched).

The system works by passing it a "translation path" which is resolved in the .json including object indentation. If the resulting json object is a list of strings, instead of a string, they get concatenated (purely for organization/QoL).
2026-03-29 02:27:30 +00:00
Chris 1be7533675
Conslidate ganon2 hooks (#6432) 2026-03-28 17:52:55 +00:00
Pepper0ni 3228843886
Merge Boulder Undershoots into Boulder Collision (#6431) 2026-03-28 16:22:25 +00:00
Chris 9f61e635d2
Fix displayed token count (#6428) 2026-03-28 14:19:38 +00:00
Garrett Cox c7180762d9
Add button to rando all rando settings (#6001) 2026-03-28 06:52:01 +00:00
Philip Dubé 178471bf20
Merge pull request #6425 from HarbourMasters/develop-ackbar
merge develop-ackbar 9.2.1 to develop
2026-03-28 06:26:13 +00:00
Malkierian 6fea1821a1
Changed name of scarecrow's song enhancement and added to the description to clarify that it only skips song playback without the rando setting. (#6423) 2026-03-28 03:43:55 +00:00
Christopher Leggett 42ba25449e
Make Infinite Ammo Cheat respect Progressive Bombchu Bag Capacities (#6421)
Cap infinite ammo for chus according to rando settings
Add bombchuUpgradeLevel to save editor
2026-03-28 02:58:41 +00:00
xxAtrain223 d1643aa196
LACS-Dungeons Check Availability (#6202)
* Fixes #5433, LACS-Dungeons beatable vs beat.

* Use CalculatingAvailableChecks in Logic::DungeonCount to check flags.
2026-03-27 19:40:34 -07:00
Philip Dubé 5576f93ef6
Hookify blue fire arrows (#6354)
Update z_bg_ice_shelter with decomp refactoring
2026-03-27 16:46:21 +00:00
Philip Dubé 7edf44e170
add tts for Roc's Feather (#6418) 2026-03-27 02:07:11 +00:00
Pepper0ni 53dc7f43ba
Fix DMC oversight (#6419) 2026-03-27 01:43:36 +00:00
Pepper0ni 5f139ef311
Hookshot ladder fixes (#6417) 2026-03-26 22:39:17 +00:00
Renzo Martin Poggio 88625c4350
Add most values from gz to Value Viewer (#6411) 2026-03-26 18:55:31 +00:00
Ali 99c1f23d5b
fix: Fix macOS crashing on first install use (#6412)
With the new imgui OTR generation flow, macOS would crash when Ship
was run for the first time unless com.shipofharkinian.soh had already been created.
Move the call to CheckAndCreateModFolder() earlier in execution to prevent crashing.
2026-03-26 15:12:51 +00:00
Sean Latham 98ec5519cf
Improve flavour of Navi's boss key hint (#6409) 2026-03-26 14:19:02 +00:00
Philip Dubé 2f32abb511
Console include cleanup (#6413)
Looking into fixing warnings about commands already being bound,
LUS initializes a console window which we ignore,
but it registers global command handlers,
SohConsoleWindow does this again, but that's also where mInputBuffer/mFilterBuffer get set

Proper fix would be removing SohConsoleWindow, but it exists to have mono font
2026-03-26 14:18:21 +00:00
Christopher Leggett 4aa6e2ec28
Move retrieval of dbEntry after Actor_Destroy (#6410)
Before I had the change back to the placeholder actor id the Dummy
Player actors were spawned with, but since we grabbed the actorDB
entry before Actor_Destroy was called it didn't matter. Move it
and the requisite log statement to after Actor_Destroy.
2026-03-26 14:18:01 +00:00
Pepper0ni 94b650ec67
Fix several logic errors, create Hooskshot Bridge trick. (#6414) 2026-03-26 03:02:54 +00:00
Pepper0ni 57269c8e46
fix volv FTR logic (#6403) 2026-03-24 20:23:20 +00:00
Christopher Leggett 5e13570b83
Fix leak of shuffled fairy bottle-swipe behavior to other actors (#6405) 2026-03-24 19:37:21 +00:00
Christopher Leggett 5fe4680a20
Adds a more compact Clear button to Check Tracker search (#6401) 2026-03-23 20:07:45 +00:00
Philip Dubé 8c4d4738cc
cleanup customequipment.cpp (#6396) 2026-03-23 16:27:42 +00:00
Philip Dubé c439d62137
Enemy rando: don't mutate ActorEntry (#6400) 2026-03-23 16:27:20 +00:00
A Green Spoon 2cfb0f73dc
make non-cmc pot model major for shuffle clarity (#6398) 2026-03-23 15:46:03 +00:00
Pepper0ni c61c1c0fec
fix oversight in well logic (#6397) 2026-03-23 15:45:48 +00:00
Philip Dubé ccdd8e63ff
Enemy rando: don't mutate ActorEntry (#6395) 2026-03-23 12:41:53 +00:00
Sean Latham 5f0c0c8e2f
Added minimap icons for other players in Anchor (#6372)
Icon size for other players reduced by 25%
2026-03-23 01:34:06 +00:00
Philip Dubé ef042be5ea
avoid undefined behavior when handling anchor packets (#6393) 2026-03-23 01:32:26 +00:00
Pepper0ni 0498d36428
Save Value Viewer Settings (#6392) 2026-03-23 01:31:21 +00:00
Philip Dubé 692ef416ee
Fix RT_GROUND_JUMP_HARD description (#6391) 2026-03-22 19:56:22 +00:00
Malkierian c758f1ad84
Add option to mute notification sounds altogether. (#6390) 2026-03-22 17:52:53 +00:00
aMannus 1d9de8544a
Implement toggle for allowing background inputs (#6214) 2026-03-22 16:44:24 +00:00
Jordan Longstaff 25ee1ec3ab
Fix mouse camera Y-axis inversion (#6387) 2026-03-22 15:06:54 +00:00
Philip Dubé 96c4fef05c
extraction: detect task crashing (#6386) 2026-03-22 06:03:41 +00:00
Philip Dubé b65c1c8317
Remove some unnecessary includes (#6385) 2026-03-21 20:22:32 +00:00
Pepe20129 4e82ea192a
Enemy rando cleanup 2 (#6365)
Move stuff to main file, delete header & refactor lists
2026-03-21 18:46:15 +00:00
OtherBlue 2af5d21125
[Enhancement] Reworked targetting (#6322)
Adds an enhancement that changes targeting behavior, allowing

Switching targets with the chosen button combo
(In Switch mode) Untargeting by just pressing Z
2026-03-21 18:41:08 +00:00
Paul Schwabauer b6bf97e2f1
Fix ADPCM sample buffer overread in audio synthesis (#6364)
The sampleDataStartPad and aligned variables existed solely to satisfy
the N64 RSP DMA requirement that source addresses be 16-byte aligned.
On PC, aLoadBuffer is a plain memcpy with no such constraint.

The alignment dance caused aLoadBuffer to read up to 15 bytes before
sampleData and up to 8+ bytes past the end of the sample buffer. On
platforms with strict allocator guard pages (e.g. OpenBSD), this
triggers a SIGSEGV.

A second issue remains after removing the alignment dance: nFramesToDecode
is derived from sample counts (loopEnd), but size is not always a multiple
of frameSize. loopEnd and size are derived independently during encoding
and can disagree on the final partial frame, leaving nFramesToDecode *
frameSize exceeding the remaining bytes in the buffer.

Remove sampleDataStartPad and aligned entirely. Clamp the load to
min(nFramesToDecode * frameSize, audioFontSample->size - sampleDataOffset).
The ADPCM decoder operates on DMEM, so a partial last frame in DMEM
produces at most a negligible artifact at sound termination.
2026-03-21 18:34:18 +00:00
Philip Dubé 43f77c13fb
Fix memory leaks in debugconsole & CrowdControl (#6383) 2026-03-21 18:32:55 +00:00
Christopher Leggett b8634f1d8b
Fix numLoaded leak for Anchor (#6384) 2026-03-21 18:32:43 +00:00
Christopher Leggett 5c8ff76554
Custom Item Icons in Textboxes (#6343) 2026-03-20 16:37:44 +00:00
A Green Spoon 09b0fdbc93
Fix GV Waterfall Alcove Logic (#6380) 2026-03-20 16:07:14 +00:00
Christopher Leggett f2c34d8c11
Fix Entrance Rando Grotto Voidout Crash when voiding back to an area with a background image (#6379)
Hookify bgimage load cam check and add it to entrance rando
2026-03-20 03:40:35 +00:00
Sean Latham 38e684fda3
Fixed scrub text checking merchant hint setting (#6378) 2026-03-19 20:47:35 +00:00
Philip Dubé 8f51dfbaf4
Item Tracker: don't disable Personal Notes (#6376)
Personal Notes is awkward with Combo Button Hold, but should be allowed

This avoids disabling drop down when it could otherwise be changed to Main Window

Besides, some people might be able to type while holding button combos, long live artsey.io
2026-03-19 18:24:25 +00:00
Philip Dubé 04ed1825f0
Fix excluded locations regressions causing crash (#6375) 2026-03-19 15:50:52 +00:00
Philip Dubé 94a02dd53a
Granny: don't sell blue potion / item without claim check when adult trade not shuffled (#6363) 2026-03-19 13:33:32 +00:00
Philip Dubé 6a9567b369
Fix rendering double digit key count (#6371) 2026-03-19 01:39:46 +00:00
Philip Dubé 9f6ffc9f2a
z_en_ko.c: port over more improvements from decomp, add hook to fix vanilla forest quest state bug (#6373) 2026-03-19 01:38:56 +00:00
Philip Dubé 2f12677b25
Refactor Maps & Compasses coloring hook, remove PreFunc (#6351)
PreFunc for map/compass coloring & jabber nut coloring doesn't work in file select menu,
could make them always enabled in file select, but this seems simpler

Also fix map colors & ice cavern compass color
2026-03-19 00:14:37 +00:00
Pepper0ni a40ca58aba
Misc logic fixes (#6370) 2026-03-18 17:38:43 +00:00
Philip Dubé 1f57f72acd
Hookify Sunlight Arrows (#6366) 2026-03-18 16:23:33 +00:00
Philip Dubé d7b4e5a24d
Fix heavy block in front of light trial having unending quake (#6367) 2026-03-18 03:14:34 +00:00
Philip Dubé 97eaa8b3e0
clean up comments (#6369) 2026-03-18 01:27:08 +00:00
Philip Dubé e7dce8e055
Keep StatsWindow fps rendered stable (#6368) 2026-03-18 01:21:09 +00:00
Philip Dubé 908ecbb795
Classify chest CMC for bombchus as lesser, not junk (#6349) 2026-03-17 17:41:43 +00:00
Philip Dubé 716f6bc042
Always call RandomizerCheckObjects::UpdateImGuiVisibility for locations view (#6352) 2026-03-17 17:41:20 +00:00
Philip Dubé 4e3b8d0b13
Fix happy mask salesman to check flags instead of inventory for SOLD OUT (#6355)
Fixes getting locked out of mask quest with mask select
2026-03-17 17:41:04 +00:00
Philip Dubé c906c71f71
Song from Malon: requires hylian jabbernut (#6357) 2026-03-17 17:40:37 +00:00
Philip Dubé e9ef09eee4
Fix RBA gauntlet colors to match console (#6359)
Also fix tracker to show golden gauntlets while wearing glitched gauntlets,
& don't crash save editor
2026-03-17 17:40:08 +00:00
Philip Dubé cefc9c02fa
update gh actions, fix cmake whitespace (#6361) 2026-03-17 04:54:04 +00:00
Pepe20129 b35883e1f6
Enemy rando cleanup (#6327)
Change Actor_SpawnEntry to use VB
Move adult zelda collapse stalfos to a explicit hook
Move dark link to a explicit hook
Some more canRandomize that were not needed
Move bg_haka & bg_haka_tubo to explicit hooks
Move en_vali to an explicit hook
Move bg_mori_bigst to an explicit hook
Fix door opening before the enemies are killed
Remove `canRandomize` parameter
Move bg_haka_huta to explicit hooks
2026-03-17 04:53:33 +00:00
Philip Dubé c93b6188c8
Fix swimvoid in Zora River respawning in unloaded room (#6360)
Caused by spawning in Zora's River with entrance rando,
going downstream to different room, then swimvoid

Before the area by waterfall would not be loaded,
instead downstream still loaded
2026-03-17 04:14:18 +00:00
Philip Dubé e6d6b6d7d1
Fix loading wrong day/night scene after blue warp in rando (#6350)
When entering a dungeon like well at night, defeating a boss that changes time to day, Kakariko Village would load with daylight but act like it's night

Skipping the blue warp cutscene meant dayTime and nightFlag weren't properly in sync. Clear `gSaveContext.nightFlag` when adjusting time of day
2026-03-17 01:02:15 +00:00
Philip Dubé b15ac97dea
Fix adult trade items spoiling during file load in rando (#6358) 2026-03-16 21:35:32 +00:00
Philip Dubé 45449623bb
MAX_MQ_DUNGEON_COUNT (#6353)
Co-authored-by: ganesh1828
2026-03-16 19:01:33 +00:00
Philip Dubé 7899b6a048
Grass names: don't list prefix, prefix is added already (#6347) 2026-03-14 14:09:02 +00:00
A Green Spoon 614ec084fa
update item list (#6340) 2026-03-09 20:08:00 +00:00
Matt Jakubowski 005044868a
CC fixes (#6341) 2026-03-09 20:07:37 +00:00
Philip Dubé 7767cb6d39
Reduce trailing newlines in tooltips/logs (#6337)
Reduce trailing newlines in tooltips/logs, fix CanUse warnings
2026-03-09 00:27:47 +00:00
Pepper0ni 139381a0e0
Add Fire Trial to Fewer Tunic Requirements (#6336) 2026-03-09 00:21:31 +00:00
Philip Dubé 63859efa40
Don't refer to grass patch as bush (#6335)
Decomp refers to both kusa & wood02 as bushes, but for shuffles reserve bush for wood02
2026-03-08 19:15:16 +00:00
Philip Dubé 0f948efb51
Keep Nayru's Love & Farore's Wind in scarce item pool (#6334)
Consistent with n64 rando
2026-03-08 14:16:33 +00:00
Philip Dubé 99e60b81fd
fix rando fire temple goron text formatting (#6332)
AutoFormat isn't suitable for text using escape codes, but unlike other texts this collection uses a mix of escape codes & our formatting codes. In such scenarios Format avoids mangling things
2026-03-08 04:28:55 +00:00
Philip Dubé 3174545749
Fix Ganondorf hint formatting (#6331) 2026-03-08 02:35:08 +00:00
Pepper0ni a1aa046814
ensure flag is correctly set for randomiser (#6330) 2026-03-07 18:22:42 +00:00
Pepper0ni 60ec65592a
Add trick for Hookshotting ladders (#6329) 2026-03-07 18:21:04 +00:00
Pepper0ni 6deff6d749
Enforce mask select properly on completed (#6326) 2026-03-05 22:07:06 +00:00
A Green Spoon 92a1d260da
Choose Link's Pocket Dungeon Reward Type (#6213) 2026-03-05 22:05:55 +00:00
A Green Spoon 6340ad3d5c
Hookify Hookshot Reticle Changes (#6279) 2026-03-05 16:11:36 +00:00
Philip Dubé 63597ec633
Prevent winning Talon's game without str0. Prevent starting Diving Game without Zora Jabbernut (#6324) 2026-03-04 15:35:45 +00:00
Pepper0ni 7522f31cc8
Refactor DMC logic (#6294)
Refactors Death Mountain Crater logic to work in a more straightforward, if verbose, applies Tunicless navigation consistently, and paves over some small oversights.

As Child must be able to navigate DMC to some degree due to Child only checks, and logic should be consistent between Child and Adult, DMC no longer hard requires Tunic in any scenario. Instead checks and exits are split into regions, and each entrance has a "Fewer Tunic Requirements" heart count associated with it for each region which is then increased by 50% (rounding up) when FTR is off. This applies to both Child and Adult.
2026-03-04 00:44:56 +00:00
Pepper0ni 40ad4fed82
Merge Visible Collision and Hammer Through Collision (#6317) 2026-03-03 04:04:57 +00:00
Philip Dubé 3882086677
Fix toggle speed modifier for walking (#6321) 2026-03-03 02:21:18 +00:00
Christopher Leggett 49aa33038d
Restores Greg's textbox icon (#6320) 2026-03-03 00:38:01 +00:00
Philip Dubé b65acb9c9d
fix typo (#6319) 2026-03-02 22:33:13 +00:00
Pepper0ni 91425a39ac
Add Death Mountain Trail Child Climb Without Shield (#6318) 2026-03-02 21:13:19 +00:00