Commit Graph

168 Commits

Author SHA1 Message Date
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
Eric Hoey 47c653a0e5 [Rando] Shuffle Crates (#5017)
* location list + enums

* add identity function

* add new files + hook handlers + settings + crate struct

* add dungeon struct + large crate locations

* fix wasteland name + add overworld hints

* add dungeon hints

* add to item pool

* opt desc + check tracker + overworld locs

* add VB funcs + fix fire locs + dmc crate + shuffle crates not pots again

* fix crate option def

* fix gy crate area

* add ow locs

* context + more location_list

* fix kak crate

* add gv child crates + make exceptions for OOB GF crates + fix GF rht name

* finish adding gv crates + align GF child crates + fix adult GF locs

* fix VB draw + adjust color

* begin logic

* add child archery crate + overworld logic

* deku + dc + rename dc locs

* gtg + spirit

* fire temple logic

* start water temple + some renaming

* finish water temple + renames

* fix dmc crate

* remove child GV + GF crates :( + simplify hints + french

* fix dungeon hint + add french attempt

* cleanup

* smol crate loc list + enums

* setup small crates

* fix fire temple fairy hints

* add logic

* fix small crates + locs

* align GF crates without moving

* add child GV-GF crates for No Logic

* convert to shipinit

* whitespace

* remove old comments

* assets

* proper cap

* better comments on not-shuffled crates

* update for context changes

* update for rest of context changes

* cleanup

* fix shadow hint RHT

* more cleanup

* count to three

* child gf logic

* gv cow crate

* loc list spacing

* remove redundant small crates

* remove left over vb funcs

* split out location list

* fix van spawns

* move NL crates to new type

* rm whitespace

* more whitespacing

* more more whitespace

* update VB

* restore support for custom models

* prep dungeon for develop

* update context for location changes

* finish context post-develop merge

* add heart crates to CSMC

* update loc list + logic fix

* update breakroom crates to adult only

* newline to make github happy

* revise vbshoulds

* formatting sheesh

* update vb info

* BRACKET

* whitespacent

* ws finalfinal
2025-03-26 21:32:32 +01:00
Varuuna dd81af17bb [Rando] Grassanity (#4889)
* * fixes softlock when talking to Mido without Kokiri Emerald after killing Gohma

* * moved scene check to hook
* moved vanilla conditioon into GameInteractor_Should

* * corrected hook condition
* removed 'this'

* * reverted GameInteractor and hook_handlers
* changed actor to use existing hook

* * updated kokiri emerald conditions

* * missed parentheses

* * Overworld pretty much done.
* Known issue with Market Night + 2 bushes in KF
* Known issue with Adult bush in ZR

* * fixed locations post-merge

* * renamed option and types to 'GRASSANITY'
* changed grassnity to be a combobox option
* added first 5 deku tree locations

* * color is a sickly green when containing a check
* added ZR 14 (adult only bush on the platform, not the same?)

* * forgot to rename the files to grassanity
* updated draw method to fix regrowing grass

* Removed old WIP locacc files

* * removed comments in bush actor
* added rest of Deku Tree plus MQ

* Added DC + MQ

* Fixed DC incorrect pos value on 1 loc

* JJB done minus after big octo

* Added BotW + MQ locs

* WIP grottos

* Grottos done

* Workaround to allow market grass during night

* Seperated the 2 KF bushes into 4 checks

* Hints and additional formatting

* Slightly less ghastly color

* Corrected the 2 JJB locs

* * Renaming and removal of some locs.
* Restructure in z_en_kusa.c to leave vanilla code alone.
* Formatting.

* * see previous (forgot to stage woops)

* * Clear grassIdentity on item drop
* Added check for RC on RandoDraw function
Results in no extra dupe drops, and instantly correct the color of the grass when cut instead of on collecting the item.

* * fixed dupe location spoiler names which caused occasional crash when writing spoiler log

* * reverse should

* * fixed faulty locations

* * corrected KAK location names and some formatting

* * Fixed market bushes by tree not working at night

* * merged ZR near PoH grass into a single loc

* * Changed to ShipInit (might be missing something?)
* Corrected Should in z_en_kusa.c to use original draw func when setting is Off

* * Renaming to Shuffle Grass

* * minor fix

* * keyboard fail lol

* * suggestions

* * removed unused function

* * move grass locations into ShuffleGrass
* move grass GameInteractor into GIVanillaBehavior
* minor fixes

* * pre-removed locs from dungeon.cpp

* * pre-remove from context.cpp

* * re-added Grass to context

* * added Dana's amazing custom bush models
* using CSMC to display flowers based on "contents"

* * added Dana's grass models
* refactor to lessen the clutter in the switch

* * removed fairy case

* Added back missing Deku Tree locations

* formatting

* Update soh/soh/Enhancements/randomizer/location_access/overworld/zoras_river.cpp

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

* re-added suggestion from previous

* removed wrong line >.>

---------

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>
2025-03-26 19:33:10 +01:00
Archez 0f1fb1e5de Add OOB texture fix entry for Arrow heads (#5207) 2025-03-25 09:21:44 +01:00