Commit Graph

171 Commits

Author SHA1 Message Date
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é 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
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
OtherBlue cb215ede87 Custom Bottle Contents (#6780) 2026-06-22 05:09:41 +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
nickel246 eb272ef689 Update Visuals for Ability Shuffles (#6783)
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-21 13:15:54 +00:00
Jameriquiah af6d465146 soh.o2r optimization part 1 (#6777)
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-20 12:02:44 +00:00
nickel246 0744396e0e Redo Fishing Pole Gi Model (#6759)
Replaces the gi model for the randomizer Fishing Pole to be more consistent with the rest of the game's gi models
2026-06-18 13:32:50 +00:00
Jameriquiah 948b84d8fa asset purge (#6758) 2026-06-16 21:15:29 -07:00
Reppan 0e5083931f [Modding] Refactor CustomEquipment (#6708) 2026-06-15 14:23:48 +00:00
Demur Rumed 17f5983771 Merge remote-tracking branch 'origin/develop' into develop-ackbar 2026-06-09 22:57:16 +00:00
Philip Dubé d901223ade Crop input viewer images (#6695)
Addresses complaint that it's hard to stash in corner without getting black box
2026-06-09 20:34:57 +00:00
Reppan 228f9fecea [Modding] Add Adult Mask DL for mod compability (#6642) 2026-06-08 00:42:03 +00:00
Pepe20129 a57cdc6f77 Update Hell Mode Preset (#6570) 2026-05-29 02:39:56 +00:00
Jameriquiah 30dcd7946f add fps custom equips (#6543) 2026-05-25 03:31:29 +00:00
Philip Dubé eeca7626d8 rocksanity (#5015)
Co-authored-by: Pepper0ni <93387759+Pepper0ni@users.noreply.github.com>
2026-04-22 14:50:14 +00:00
A Green Spoon 67191665df Add trick for jump to GTG eye statue (#6467) 2026-04-07 14:55:07 +00:00
A Green Spoon e86e0ff693 Add Voidout Collection trick (#6453) 2026-04-05 17:51:09 +00:00
Jameriquiah 0d2454ed65 title card ia8 fix 2026-04-01 00:33:22 +00:00
Philip Dubé 0127cbcf62 Fix debug assert caused by bad trick code (#6439) 2026-03-29 08:58:45 +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
Philip Dubé 7edf44e170 add tts for Roc's Feather (#6418) 2026-03-27 02:07:11 +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é e2db315ffa Shuffle Speak (#5538)
Shuffles 6 languages (Deku, Gerudo, Goron, Hylian, Kokiri, Zora) to learn before being able to use Speak command with actors of that type. Other actors can still always initiate speech

Owl speaks anything (relevant for owl flights)
2026-01-28 05:14:14 +00:00
Philip Dubé f52b653cfb Pot CMC (#6167)
Copied from https://github.com/HarbourMasters/2ship2harkinian/pull/1011
2026-01-19 19:40:09 +00:00
Philip Dubé c71cc68951 Update references to soh.otr/oot.otr/oot-mq.otr to .o2r (#6161) 2026-01-18 16:59:20 +00:00
aMannus 14a6bc1f85 Add Roc's Feather (custom item) to Rando Item Pool (#6035)
This adds Roc's as a fully implemented item into the randomizer pool. When both Roc's and Nayru's is found, you can swap between them on the pause menu

Many people have contributed to this over time, so huge shoutout to:
- kentonm, this item is directly inspired by their Roc's Feather from their romhack Indigo. Also provided me with their GI model, icon texture and animation to use.
- PurpleHato, for providing the images for the item name shown on the kaleidoscope.
- Dana The Elf, providing another custom animation for the item.
- Reppan, for helping to tweak the animation and exporting the GI model for me.
2026-01-10 12:59:32 +00:00
Philip Dubé 8783f4cff7 remove unused chest assets (#6090)
replaced in #6085
2026-01-06 01:10:39 +00:00
aMannus 0e7212d939 Add modal to teach player about presets (#5903)
* Add modal to teach player about presets

* Change cvar to CVAR_GENERAL

* Update soh/soh/Enhancements/FileSelectEnhancements.cpp

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>

---------

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>
2026-01-04 13:28:06 -07:00
nclok1405 2ed9c56ca3 Add some NTSC Player Name decoding in Save Editor (#5867)
This adds a new font, Noto Sans JP
2026-01-04 14:02:06 +00:00
Reppan a134d2c59a Update CSMC to CMC and update chests to other shuffles (#6085) 2026-01-04 13:37:41 +00:00
Reppan 7db2a97cea modding: alt equipment (#6062)
Implements object_custom_equip objects that adds more support to have items modified by modders without having to export with hands or do xml edits to load hands. This is autonomous if exported as a object_custom_equip

Also adds non existing DisplayList for items that originally did not have a DisplayList. Longshot and Big Goron Sword Sheath is 2 examples
2026-01-03 14:18:11 +00:00
Malkierian b2090dcf83 Add "CuccosToReturn": 1 to Main Randomizer preset. (#5915) 2025-11-03 18:00:31 -07:00
Cameron 56ab4c51fd Rando: Split fairysanity into distinct options (#5726)
* Split Fairysanity into groups

* Split fairy registration per type

* fix song fairy shuffle locations

* Change "Song Fairies" to "Fairy Spots"

* Update preset settings

* clang format

* simplify `shouldRegister` logic
2025-10-13 15:11:55 -07:00
Extloga 52d452307e Fixes for the German translation in scenes_ger.json 2025-08-29 13:41:31 +02:00
Extloga a76c1ca9db Fixes for the German translation in filechoose_ger.json 2025-08-29 13:39:11 +02:00
Extloga beea799081 Fixes for the German translation in kaleidoscope_ger.json 2025-08-29 13:38:40 +02:00
Pepe20129 9eafa852b5 Fix Dampe Going Backwards (#5731)
* Add FixDampeGoingBackwards

* Update SohMenuEnhancements.cpp
2025-08-25 12:00:59 -07:00
Philip Dubé cddc7353af tts: replace rupee count with key count in dungeons (except first 3 child dungeons) (#5642) 2025-07-01 10:54:39 -07:00
Malkierian 7f3d2adc63 Fix whitespacing in presets. 2025-06-30 13:04:51 -07:00
Malkierian 30d1932354 Re-add new preset items to new preset files. 2025-06-30 09:37:02 -07:00
louist103 e15f8d395b Backport 2ship streamed audio (#5457)
* Bring over changes from 2ship

# Conflicts:
#	.github/workflows/apt-deps.txt
#	soh/CMakeLists.txt
#	soh/soh/resource/importer/AudioSampleFactory.h
#	soh/soh/resource/importer/AudioSequenceFactory.cpp
#	soh/soh/resource/importer/AudioSequenceFactory.h
#	soh/soh/resource/importer/AudioSoundFontFactory.h

* Update xml format

* Format and fix mixer for Windows

* Fixes for new LUS

* Good ole clang-format
2025-06-27 17:15:02 -07:00
louist103 040e0e1921 Tools update (#5454)
* Bump ZAPDTR & OTRExporter.
Changes to use o2r by default
Changes to the new player animation format

# Conflicts:
#	OTRExporter
#	ZAPDTR
#	soh/soh/OTRGlobals.cpp
#	soh/src/code/z_skelanime.c

* Fix actions

* Format

* Cherry pick ZAPDTR

* Update exporter

* Move configs to port

* Remove copy

* Remove more XML copies

* Remove extractor directory from actions builds.

* Fix OTRExporter for linux

* FIx ZAPD volatile

* Format

* Fix extractor?

* Fix linux

* Fix

* Remove appimage stuff

* Screnity now

* Remove ZAPD from install paths

* Remove soh.sh.in

* Fix linux

* Cleanups and use a thread for message box
2025-06-23 21:29:40 -04:00
Malkierian 99c3fa6006 Preset Manager (#5459)
* Add presets sidebar, proof of concept row-based listing.

* Complete and unify section check/x drawing.

* Add error state to InputString, and corresponding members and builders to InputOptions.
Implement saving and loading of preset files.

* Implement `Config::SetBlock()`.
Implement Apply.
Implement Delete.
Some json structure changes.

* Apply `CVarClear()` calls in CVar-prefixed widget functions.

* Comment out satellite preset pickers for now.

* clang

* Fix ButtonOptions initializer list.

* I hate clang...

* Loop new preset checkbox creation.
Restore auto-resizing to new preset popup.
Remove errant BeginDisabled in randomizer (merge artifact?).

* Add BlockInfo struct to make array with all info for each block.
Setup loops for all other same-ish situations (applying presets, setting up columns, etc) based on blockInfo.

* Save tracker windows info for later restoration.
Lay the groundwork for said restoration.

* Complete tracker window restoration on preset application.

* Fix RadioButtonsOptions builder parameter type.
Add race lockout to new and apply buttons.

* Revert application of CVarClear on UIWidgets widgets (need to preserve manually-set default states).

* Remove enhancements satellite picker.
Swap randomizer satellite picker to use the manager presets, only displays presets with randomizer section included.
Move built-in presets to the asset archive, and remove delete button on them.
Remove PresetEntries.cpp.

* Fix locations and tricks tabs not updating live when applying preset with new system.

* Apply RandoGenerating lockout to rando preset Apply button.

* Fix new presets not being properly filtered in satellite selectors.

* Fix currently selected presets getting deleted still being selected in satellite selectors.

* Change BigPoeTargetCount in preset files to 1.
2025-05-23 14:57:49 -07:00
Archez 86e1e8e3aa Fix boss key kaleido text for NTSC (#5389) 2025-04-11 13:42:08 -04:00
Archez 88669742a2 Fix copyright tex for GC JP (#5324)
* Fix copyright tex for GC JP

* add 2004 texture for jp ce
2025-04-08 08:38:28 -07:00
Archez 2589448057 Fix boss title card extraction for NTSC; Fix Morpha water (#5320) 2025-04-04 11:57:37 -04:00
inspectredc 0dc5ff4984 NTSC GC Support (#5254)
* copy n64 pal 10

doing this so i can check diffs i make

* transfer german->jp icon item

* overlays, message data, icon item jpn, audio, code

todo: title_static, gameplay keep

* add kanji and fix title cards

* title static

* spell folder correctly

* boss title cards, do action, icon item, item name, map name

* headers for jpn stuff

* gameplay_keep

* Scenes, audio, jp text extraction, rom support, overlay fixes, sheik & darunia

todo: test & disable darunia fix cvar for ntsc

* msgptr init fix

* icon item offsets

* comment out title cards until zapd can fix itself (we extract these in a different file anyway)

* compile and font implemented to get past title screen

* file select

* message, kaleido and everything else but rando

* uintptr_t

* rando and custom messages working!

* ntsc-j 1.0 support

* n64 logo?

* copy ntsc 10 to 11

* ntsc 11 extraction

* change title version names

* copy ntsc 11 to 12

* ntsc 12 extraction

* clean up some todos

* re checkout submodules post merge

* fix US filename

* support cross-version filenames

* add new versions to non-mq list

* use correct message table init

* Fix ntsc nes message table overriding pal nes message table

* actual fix, allows extraction

* fix file name using wrong font of file being hovered over

* Fix barinade crash

* re-add pal

* better jabu fix and revert LUS

* fix gerudo title cards

* better better owl select

* more owl fixes

* build

* fix some name decode issues

* Switch Language Mid Text

* Fix PAL displaying for JP filenames

* Fix AskToEquip Crash

* Disable Credits Timing Fix on NTSC

* Fix JP Text positioning

* basic language switching (BIG todo: file select, title screen)

* Title Screen Hopefully working

* add ntsc to linux appimage stuff, TODO: add .v64/.n64 support

* Update OTRExporter

* Fix pause to decide offset

* Fix bomb item name crash

* fix fire arrows and PoH

* builds

* update asset changes and fix menu language changing

* fix name decode

* Fix crashes and add rando/boss rush select stuff

* Revive debug feature by setting language cvar too

* Fix ocarina text speed softlock, and update jp text speed changes

* Merge remote-tracking branch 'upstream/develop' into NTSC

* Fix options menu and let pal use japanese fully

* Resolve some suggestions

* match up gTextSpeed changes to english (still broken!)

* Fix text speed crash

* Set default filename language on save init funcs

* copy n64 ntsc 1.2 to gc nmq ntsc and add rom info

* extractor working for ntsc gc u

* Extraction Works

* bump otrexporter

* Display same correct info for n64 ntsc-j and ntsc-u

* ovl asset fixes

* final font diff

* change the correct ovl file choose xml

* copy asset files for jp

* JP Working

* Copy jp and us xmls to mq

* MQ Working

* quicktext more closely aligned with decomp

* add versions to mq switch

* linux appimage v64/n64 checksums

* bump zapd

* Credits Fix Tooltip Adjusted

* update supported hashes json

* update shasums to include JP n64

* add shasum hashes

* Bump submodules back to upstream
2025-03-31 00:16:24 +02:00
inspectredc 6140b2ec8f NTSC Support (N64) (#4198)
* copy n64 pal 10

doing this so i can check diffs i make

* transfer german->jp icon item

* overlays, message data, icon item jpn, audio, code

todo: title_static, gameplay keep

* add kanji and fix title cards

* title static

* spell folder correctly

* boss title cards, do action, icon item, item name, map name

* headers for jpn stuff

* gameplay_keep

* Scenes, audio, jp text extraction, rom support, overlay fixes, sheik & darunia

todo: test & disable darunia fix cvar for ntsc

* msgptr init fix

* icon item offsets

* comment out title cards until zapd can fix itself (we extract these in a different file anyway)

* compile and font implemented to get past title screen

* file select

* message, kaleido and everything else but rando

* uintptr_t

* rando and custom messages working!

* ntsc-j 1.0 support

* n64 logo?

* copy ntsc 10 to 11

* ntsc 11 extraction

* change title version names

* copy ntsc 11 to 12

* ntsc 12 extraction

* clean up some todos

* re checkout submodules post merge

* fix US filename

* support cross-version filenames

* add new versions to non-mq list

* use correct message table init

* Fix ntsc nes message table overriding pal nes message table

* actual fix, allows extraction

* fix file name using wrong font of file being hovered over

* Fix barinade crash

* re-add pal

* better jabu fix and revert LUS

* fix gerudo title cards

* better better owl select

* more owl fixes

* build

* fix some name decode issues

* Switch Language Mid Text

* Fix PAL displaying for JP filenames

* Fix AskToEquip Crash

* Disable Credits Timing Fix on NTSC

* Fix JP Text positioning

* basic language switching (BIG todo: file select, title screen)

* Title Screen Hopefully working

* add ntsc to linux appimage stuff, TODO: add .v64/.n64 support

* Update OTRExporter

* Fix pause to decide offset

* Fix bomb item name crash

* fix fire arrows and PoH

* builds

* update asset changes and fix menu language changing

* fix name decode

* Fix crashes and add rando/boss rush select stuff

* Revive debug feature by setting language cvar too

* Fix ocarina text speed softlock, and update jp text speed changes

* Merge remote-tracking branch 'upstream/develop' into NTSC

* Fix options menu and let pal use japanese fully

* Resolve some suggestions

* match up gTextSpeed changes to english (still broken!)

* Fix text speed crash

* Set default filename language on save init funcs

* bump otrexporter

* Display same correct info for n64 ntsc-j and ntsc-u

* quicktext more closely aligned with decomp

* linux appimage v64/n64 checksums

* bump zapd

* Credits Fix Tooltip Adjusted

* update supported hashes json

* update shasums to include JP n64
2025-03-30 12:29:59 -04:00