Commit Graph

757 Commits

Author SHA1 Message Date
Archez
63cf3610e5
Fix: Move Ruto earring fix to graphic patch and fix Ganon fight rubble DL reference (#3810)
* move ruto earing fix to real patch

* use stringpath for ganon rubble
2024-01-15 10:31:33 -06:00
Archez
1da1b1a2bb
Tweak: Improve pause menu dungeon map performance (#3773)
* add map palettes per pulse to leverage shader caching

* use unregister blended with kaleido maps

* use Gfx_TextureCacheDelete for KD lava

* bump lus

* add miss tex clears for KD
2024-01-15 09:39:54 -06:00
Archez
8426cc93e5
Fix: Tektite texture not loading for death animation (#3808)
* fix tektite death texture loading

* add string header
2024-01-15 09:25:57 -06:00
Pepe20129
ab3e9a7e54
Rando: Shuffle Child's Wallet (Rando V3) (#3794)
* Shuffle Child's Wallet

* Add support for "More info in file select"

* Fix build

* Fix build

* Update randomizer.cpp

* Update locacc_hyrule_field.cpp
2024-01-14 14:55:03 -05:00
Pepe20129
080038c39e
Rando: Shuffle Beehives (Rando V3) (#3763)
* Shuffle Beehives

* Address review

* Fix build
2024-01-14 12:16:32 -06:00
Jordan Gilbreath
4cbf3a5621
Fishsanity - Rando v3 (#3738)
* Update z_fishing documentation from decomp

* undo sCameraAt/Eye rename

* forgot to include these defines Heehee

* adding enums, settings

* adding more stuff back in

* more work

* we're literally typing words into computer

* include unordered map

maybe this fixes mac build idk

* wahoo

* hmm

* add make sure disabled flag gets popped

* poggers in the chat?

* doing some refactoring

* fixing build

* documentation, moving fishsanity instance to rando

* move FS back to context, fixing build, mod progress

since FS is needed during rando generation & provides perpetual info abt. fishsanity in the seed, seems to make more sense if it lives on the context

* moving some stuff around

* it's starting to get real in here

* ELIMINATE FISHSANITYMETA

* IT WROKS

* Update trackers, fix pond fish flagging

* ZD fish shuffle initial checkpoint

* ZD fish "working"

aside from the crashing

* wrapping up

* fix for partial pond shuffle

* remove misc. unrelated debugconsole modification

* updating GI model

* get build working

* add a todo for this

* removeoopsie

* Rework hints a bit

* update hint loc

* Use visual indicator instead of despawning caught fish

---------

Co-authored-by: jordanpg <jordanpg@users.noreply.github.com>
2024-01-14 11:02:23 -06:00
Pepper0ni
eb5f7688f8
Add more static hints (#3543)
* WIP biggoron and big poes hint

* commit v0 of biggoron and big poes hints

* adjust for settings update

* Add more hints

* Finish extra Basic Static Hints

* remove vestigial code

* Forgot to remove this

* try to fix windows build

* fix build post conflcit res

* remove StaticHintData as redundent

* last cleanup
2024-01-10 09:44:11 -06:00
Eric Hoey
a0258f0fca
Add Invert Y-Axis and Apply Right-Stick Aiming to Z-Weapon Aiming (#3304)
* Add right-stick aiming to third-person aim

* Add Z-aiming CVar and inversion to Z-aiming

* Create calculation for rel.right_stick and apply it in Z-aiming

* Move option to First-Person section to match shield

* Fix max/min aiming heights

* Expand min/max + comment

* block out vanilla + comments

* block vanilla code better

* Remove extra space

* new documentation formatting

* rewrite ==0 and !=0
2024-01-08 12:21:18 -06:00
Malkierian
d2ec346d0e Merge branch 'develop' of github.com:Malkierian/Shipwright into dev-merge 2024-01-02 17:28:23 -07:00
Pepe20129
1699eea009
Remove special IAs (#3453)
* Remove special IAs

* Add clarifying comment
2024-01-02 00:29:47 -05:00
Christopher Leggett
dbb1e60734
Fixes some Spoiler Parsing Bugs (#3759)
* Fixes bug causing dropped spoiler not to be parsed.

* Fixes bugs with parsing enabled tricks

* Fixes bugs with parsing excluded locations.

* Fixes bugs parsing the Bombchu Drops setting
2023-12-30 12:10:31 -05:00
Christopher Leggett
75f9775ad8
Merge pull request #3769 from HarbourMasters/develop
develop->develop-rando 20231229
2023-12-29 18:25:16 -05:00
Sarge-117
bedb0a1768
Add LLR entrance from silo to the better debug warp screen (#3424)
* Add silo exit

* Back Tower
2023-12-29 17:57:31 -05:00
Garrett Cox
6c88d33b19
Merge pull request #3756 from HarbourMasters/develop
develop -> develop-rando
2023-12-28 20:12:39 +00:00
Pepe20129
c860f7a73a
Rando: Shuffle Ocarina Buttons (Rando V3) (#3735)
* Shuffle Ocarina Buttons

* Address review

* Add trick names

* Temporarily remove the ocarina button ice trap models

* Update soh/soh/Enhancements/randomizer/3drando/location_access/locacc_death_mountain.cpp

Fix lost closing brackets from merge resolution.

---------

Co-authored-by: Christopher Leggett <chris@leggett.dev>
2023-12-28 14:19:23 -05:00
Patrick12115
b80452b2b8
Multiplier (#3395) 2023-12-28 12:04:20 -05:00
Pepe20129
dc4347253d
Item cycling improvements (#3456)
* Simplify item cycling

* Simplify selection variables

* Fix adult bunny hood and gray appropriate items

* Don't go into cycling mode when there's no items to cycle to

* Restore updating c buttons

This was previously done with `Inventory_ReplaceItem` but that led to problems when another slot had the same item as the one that's being cycled.

* Address review
2023-12-27 12:55:09 -05:00
Garrett Cox
1979d78788 Merge branch 'develop' of garrettjoecox.github.com:HarbourMasters/Shipwright into develop-rando-develop 2023-12-26 10:33:48 -06:00
Christopher Leggett
f74ba3c1da
develop-rando: File Select Fixes (#3734)
* Fixes pressing B on name entry after randomizer quest.

* Reverts to auto parsing previous spoiler file.

Also includes an option to press L to automatically gen a fresh seed. It still does regenerate the old spoiler to regen the hints in the user's current language, but it will now automatically do this instead of requiring dragging and dropping the spoiler every time.

* Fixes bug causing rando settings to come from CVars instead of a spoiler file when a spoiler is dropped/imported on boot.

* Pressing Generate Randomizer in ImGui doesn't use loaded spoilerfile.

* Adds tooltip to Generate Randomizer ImGui Button.
2023-12-26 08:57:59 -06:00
Garrett Cox
2cb3a3664e Implement gMoveWhileFirstPerson 2023-12-20 20:26:07 +00:00
Garrett Cox
66c41a8012 Clean up func_8084ABD8 2023-12-20 20:26:07 +00:00
Adam Bird
03da69d7b7 Merge tag '8.0.4' into HEAD
MacReady Echo
2023-12-18 00:34:59 -05:00
Garrett Cox
ef910a02f7
Remove use of static variable in en_box (#3536) 2023-12-17 21:47:02 -06:00
inspectredc
f607afc754
Add player state dead check to Player_UseTunicBoots (#3530)
* Add player state dead check to Player_UseTunicBoots

* Update soh/src/overlays/actors/ovl_player_actor/z_player.c

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2023-12-17 21:46:35 -06:00
Adam Bird
f655ab592d
Re-implement Pause menu Dungeon map texture effects (#3496)
* first pass implement dungeon maps

* wrap up map dungeon implementation

* add comments and enums, rename vars

* bump lus
2023-12-17 15:42:34 -05:00
Adam Bird
d370ca93fd
[Tweak] Improve KD lava effect performance and stability (#3501)
* improve kd lava performance and stability

* enum typo

* account for rock tex size
2023-12-17 13:23:07 -05:00
Garrett Cox
fcf2141266
Fix JSON parsing every frame on file select (#3513)
* Fix JSON parsing every frame on file select

* string (#73)

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-12-16 21:40:09 -05:00
Adam Bird
269e9faa46
change adult shooting gallery reward and add message (#3506) 2023-12-16 20:51:44 -05:00
Adam Bird
fb0f7169d7
fix jabu mq minimap mark points (#3494) 2023-12-16 20:50:32 -05:00
Christopher Leggett
674645ef14
Fixes some miscellaneous issues for Switch builds. 2023-12-12 18:51:26 -05:00
Christopher Leggett
d58968d196
Merge branch 'develop' into merge-develop
# Conflicts:
#	soh/soh/Enhancements/custom-message/CustomMessageTypes.h
#	soh/soh/Enhancements/debugger/debugSaveEditor.h
#	soh/soh/Enhancements/item-tables/ItemTableTypes.h
#	soh/soh/Enhancements/mods.cpp
#	soh/soh/Enhancements/randomizer/3drando/entrance.cpp
#	soh/soh/Enhancements/randomizer/3drando/item_location.cpp
#	soh/soh/Enhancements/randomizer/3drando/keys.hpp
#	soh/soh/Enhancements/randomizer/3drando/location_access/locacc_castle_town.cpp
#	soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ganons_castle.cpp
#	soh/soh/Enhancements/randomizer/3drando/location_access/locacc_gerudo_training_grounds.cpp
#	soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ice_cavern.cpp
#	soh/soh/Enhancements/randomizer/3drando/menu.cpp
#	soh/soh/Enhancements/randomizer/3drando/playthrough.cpp
#	soh/soh/Enhancements/randomizer/3drando/settings.cpp
#	soh/soh/Enhancements/randomizer/3drando/settings.hpp
#	soh/soh/Enhancements/randomizer/randomizer.cpp
#	soh/soh/Enhancements/randomizer/randomizerTypes.h
#	soh/soh/Enhancements/randomizer/randomizer_check_objects.cpp
#	soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp
#	soh/soh/Enhancements/randomizer/randomizer_entrance.c
#	soh/soh/OTRGlobals.cpp
#	soh/src/code/z_sram.c
#	soh/src/overlays/gamestates/ovl_file_choose/z_file_choose.c
2023-12-10 12:49:15 -05:00
aMannus
19cede44c3
Merge pull request #3468 from briaguya-ai/delta-to-dev
MacReady Delta -> develop
2023-11-30 00:07:38 +01:00
briaguya
351f896cfa Merge branch 'develop' into delta-to-dev 2023-11-29 02:16:54 -05:00
Malkierian
f14c390364
[Vanilla Fix] Slow Down Darunia's Dance (#3438)
* Fix Darunia's dancing animation speed (static for now; needs toggle later).

* Moved previous code to toggleable fix in enhancements. Tweaked speed factors, partially successful.
2023-11-29 00:38:48 -05:00
Garrett Cox
fdcd9a7508
Race Integrity QoL (#3445)
* Add gDisableChangingSettings

* Add support for dropping a config file to overwrite CVars
2023-11-28 23:42:37 -05:00
Malkierian
c4f34624ba
Flag tracker (#3447)
* Hook into flagset hooks for processing check tracking. Has some manual workarounds (some breaks still need to be found).
Remove areaChecks and looping functionality as redundant.

* Additional vanilla handling.

* Fix tracker not showing MQ checks in MQ non-rando.
Fix tracker marking non-MQ variants of dungeon checks (e.g. map chest, etc) when collecting in MQ.

* Set all areas to spoiled if not rando.

* Revert attempt to spoil in randomizer based on MQ dungeon count as I don't know how that works at the moment.

* Restore and update spoiling based on MQ dungeon settings (none, selection, or count of 12).
Fix Anju As Adult check.

* Remove Anchor-specific code :baguette:

* Use `ClearAreaTotals()` in `Teardown()` instead of the duplicate code there.

* Update to `ClearAreaChecksAndTotals()` with `vec.clear()` added.

* Fix type spoiling again. Now spoils on 0 MQ dungeons, not rando, if the option is enabled in check tracker settings, selection, or set number of 12.
Fix vanilla checks being marked collected in MQ dungeons.

* Fix 100 GS check.

* ACTUALLY fix 100 GS: change flag type to `RandomizerInf()` in `item_location.cpp`, add RC to RandoInf for it to the table. Also don't send GI for flag if father, falsely triggers ZR frogs minigame.

* Fix gravedigging tour tracking.

* Fix membership card check tracking.
Change scene and flag values to any existing enums.
Clarifying formatting for the checking loop vOrMQ conditions.

* Fix Gravedigging Tour tracking.
Simplify Always Win Gravedigging Tour and Fix Gravedigging Tour Glitch applications.
Modified all necessary paths to use vanilla GDT PoH collection flag instead of randomizer variant.

* Fix Kak Potion Shop being "seen" when entering as child.
2023-11-28 21:25:48 -05:00
Adam Bird
33fe8776bb
Fix bugs dont despawn cheat to work with soil patches (#3457) 2023-11-29 02:02:45 +01:00
inspectredc
9d215b6dce
Separate Arrows Equip Dupe Fix (#3450)
* add gseparatearrow check for equip dupe fix

* update gseparatearrows tooltip
2023-11-28 22:13:00 +01:00
Adam Bird
717074ff86
Fix: Missing TextIDs for MQ PAL and change lava size (#3449)
* Fix text offset for MQ pal and add text ID asserts

* correct lava texture size
2023-11-28 20:11:03 +01:00
Pepe20129
5b81964ea5
Bring over some player documentation from decomp (#3380)
* Document static variables

* Document enums and structs

* Document some functions

* Document more functions

* actionParam to itemAction and fix build

* Document some local variables and a define

* General cleanup

* Use PlayerMeleeWeaponAnimation enum when appropiate

* Document some function parameters and local variables

* Document some of player struct
2023-11-26 11:54:54 -05:00
Malkierian
3cf9d655a7
Disable Fix Vine Fall when Climb Everything is enabled (#3439)
* Disable Fix Vine Fall when Climb Everything is enabled.

* Remove option disabling.
2023-11-26 11:34:54 -05:00
Garrett Cox
360b6b88be
Merge pull request #3310 from Pepper0ni/NoSwimAnim
Port Faster Swim animations, full credit to kimimaru4000
2023-11-24 12:27:32 -06:00
Garrett Cox
1e4784af8f
Merge pull request #3302 from inspectredc/toggle-strength
Toggle Strength Option
2023-11-24 12:26:34 -06:00
Adam Bird
f4e4545180
Re-implement King Dodongo's Lava texture effects (#3434)
* fix alt backgrounds not always loading

* include gfx lookup with the original unload

* Add hook for alt toggle

* handle cpu modified texture for kd lava

* malloc array instead of illegal initialize
2023-11-23 09:07:30 -05:00
Garrett Cox
c3ae829370
Add enhancement for removing explosive limit (#3242) 2023-11-20 13:25:22 -05:00
inspectredc
80ef399c52
Entrance Docs (#3332)
* transition variables renamed

* transition circle

* transition wipe

* sand storm

* remaining sceneloadflag rename

* transition trigger macros

* transition mode enum

* transition type enum

* tc set params

* creg debug transitions

* introduce entrance table + return entrance indices + entrance info macros

* randomizer entrance pass through

* cleanup some missing scene enums

* randomizer entrance tracker pass through

* randomizer grotto pass through

* gSaveContext.entranceIndex

* misc lists

* z_select pass through

* respawn entrance index

* nextEntranceIndex

* add missing include
2023-11-19 14:29:56 -05:00
inspectredc
2b1327c41a
Transition docs (#3322)
* transition variables renamed

* transition circle

* transition wipe

* sand storm

* remaining sceneloadflag rename

* transition trigger macros

* transition mode enum

* transition type enum

* tc set params

* creg debug transitions
2023-11-19 02:38:07 -05:00
Ralphie Morell
aa00765997 Merge remote-tracking branch 'upstream/develop-rando' into soulcalibur 2023-11-16 22:51:16 -05:00
Garrett Cox
044d32a46f
Add gFixEyesOpenWhileSleeping (#3365) 2023-11-14 20:47:07 -05:00
Josh Bodner
fb45b66903
Fix magic being zeroed out when using fast file select (#3389)
* Move to frame counter init to a place that fast file select also touches

* Undo removing old fix

* Reset on gameover
2023-11-14 17:08:45 -05:00
Adam Bird
e66eb8756d
Fix: Prevent patching custom models (#3367)
* fix prevent patching custom models

* prevent patching chests textures for custom chest models

* add tooltip for cosmetic editor about custom models

* chest texture handling for alt toggles
2023-11-14 16:37:03 -05:00
Christopher Leggett
2698d453bb
More gap-bridging (#3323)
* Initial StaticData and RandoItem class definitions

* Initial implementation of RandoItem class.

* Rerranges RandoItem Constructor parameters

The parameters were rearranged for easy copy-paste from the GET_ITEM macro calls later on.

* Switches static data from map to static array.

Array is all that is needed, since the item list will be contiguous and indexed by the RandomizerGet Enum values.

* Defines part of the randomizer item list.

* Adds more item class instances to item_list.cpp

Up through bottles, many more items still to go.

* Adds song items

* Adds Maps and Compasses to the item_list

* Added Key Items to item_list

* Added Key Rings to item_list

* Added Dungeon Rewards to item_list

* Adds generic items and refills to item_list

* Adds shop items, triforce, and hints

Also added constructors that put the GET_ITEM_NONE data in for these items, since there is no corresponding GetItemEntry for them.

* Adds in the stages of progressive items

These are present for GetItemEntry purposes, and aren't really meant to be used in seed generation (unless we find a need for it later on.)

* Remove GetItemEntry data from progressive items

* Moves/adds function definitions to item/item_list

* Refactors GetItemEntry data

It's now a pointer to memory instantiated on the heap in the constructor. These are shared pointers so the memory is freed if any of the item instances get deconstructed (which they shouldn't but just in case.)

* Adds item class member for if item is progressive

* Removes unneeded stuff from initializer list macro

* Replaces relevant `uint32_t`s w/ `RandomizerGet`s

Also replaces calls to the ItemTable method with StaticData::RetrieveItem

* Switches our runtime code to use the new itemList.

* Changes just enough hint gen code to compile

* Initial Definition of Location Class

* Initial Implementation of Location

* Fixes some names and definitions.

* Extracts ActorID and SceneID enums to separate files.

This allows importing them without causing weird conflicts in cpp files when importing the z64scene.h and z64actor.h files directly. Now you can just import z64scene_enum.h and z64actor_enum.h instead. The two old files also import these new files so that existing setups still work as expected.

* Replaces the forward definitions with the new imports.

* Adds missing data for RandomizerCheckObjects.

* Definition and first entry of locationTable

* Added Mido's House Locations

* Added locations up through lost woods.

* Adds in Hyrule Field locations.

* Adds Lake Hylia locations

* Adds location name comments

* Adds Gerudo Valley Locations

* Adds Gerudo Fortress locations.

* Adds the Wasteland and Collosus locations

* Adds Market locations

* Adds Hyrule Castle locations.

* Adds Kakariko and Graveyard locations.

* Adds Death Mountain checks.

* Adds Goron City locations

* Adds Death Mountain Crater locations

* Adds Zora's River locations

* Added Zora's Domain Locations.

* Added Zora's Fountain locations

* Adds Lon Lon Ranch locations.

* Adds Deku Tree locations

* Adds Dodongo's Cavern Locations.

* Adds Jabu Jabu's Belly Locations

* Adds Forest Temple Locations

* Adds Fire Temple Locations

* Adds Water Temple Locations

* Added Spirit Temple Locations

* Some of shadow temple locations.

* Adds remaining Shadow Temple locations

* Fixes a leftover merge conflict

* Adds Bottom of the Well locations.

* Adds Ice Cavern locations

* Adds GTG locations.

* Adds Ganon's Castle and Tower locations

* Adds dungeon Gold Skulltula locations.

* Adds Overworld Gold Skulltula locations

* Adds dungeon reward locations

* Adds Heart Container Locations

* Adds Cutscene and Song locations

* Adds Cow locations

* Adds Shop locations.

* Adds hint locations

* Adds function for retrieving the Location data.

* Initial definition of ItemLocation structure for tracking runtime data

* First push on converting code to use new location definitions

* Changes hints to use the new tables

* Further conversion of hints to new definitions.

* Adds new Hint and Location IDs to area tables

* Moves areaTable to use new RandomizerRegion keys

* Removal of 3drando/item_location files.

* Uses new RandomizerRegion keys in entrance.cpp

* Final push for removal of massive keys.hpp enum

* Uses new SceneID Enum Values

* Remove RandomizerCheckObject structs in favor of new location list.

* Fix a few stragglers to successfully build

* Rename of RandoItem to just Item, but in the Rando namespace

* Adds static hints (Light Arrows, Altar text, etc) to the new Hint table.

* More hint related fixes/edits

* small fix for #include path

* Fix various miscellaneous issues related to seed gen and spoiler parsing.

* Handle progressive items correctly.

* Fixes some hint generation logic

* Fix a few GetItemEntry niche bugs.

* Adds missing shop GI Entries

* Formatting fixes

* small formatting fix

* Namespace StaticData under Rando

* Added a note about a potential use-after-free.

I confirmed the actual pointer in question isn't currently being used, but I added the note as a reminder to fix it later and/or as a warning to anyone who changes how the return value is used.

* Fixes missing location table entries

* Fixes LUS submodule and removes now-unused code

* Resolves weird duplicate definition issue

* Fix missing include

It was missed because not being included wasn't an issue on Windows.

* Fixes error present on Linux builds

* Fixes some issues with excluding locations

* Updates the Resolve Exclusion conflicts function

not sure if actually used, will look into that more later

* Removes some duplicate RGs

* More fixes of duplicate RG values.

* Fix a few duplication issues in the check tracker.

* Fix progressive bombchus.

* Minor typo fix, shouldn't really be affecting anything though

* Should fix some of the remaining check tracker issues.

* oops wrong boolean operator

* Fix skulltulas in the check tracker.

* oops, missing comma

* re-formatting of HintStone locations

* Fixes issue when picking up second Progressive Bullet Bag

* Hide bombchu bowling bombchus

* Fixes missed skullScene in location_list

* Reformats shop items

* Re-formats cow checks

* reformat song locations

* reformat "cutscene" checks

* reformat heart container locaitons

* reformat Boss/Dungeon reward checks

* Hide Triforce Completed if not playing Triforce Hunt

* Fixes incorrect chest param

* reformat GS Tokens locations and cuts down on duplicate data

* reformat Ganons Castle checks

* reformat GTG check locations

* Prevents Gift from Raoru from appearing in the check tracker

* more reformatting (botw, ice cavern, shadow temple)

* Should fix a couple more check tracker checks

* reformat spirit temple checks

* reformat water and fire temple checks

* fix RC_ZR_GS_ABOVE_BRIDGE flag typo

* reformat Forest Temple checks

* Fix RC_LW_TRADE_ODD_POTION in check tracker

* reformat child dungeon locations

* reformat overworld locations

* reformat item entries

* New Item Override system

* use new ItemOverrides and use ItemLocations table for getting items

* Saves/Loads directly from/to new ItemLocation table with overrides for traps

* Removes gSaveContext.itemLocations

* Don't load spoiler file on boot automatically.

Currently this means the old spoiler will have to be manually dropped or a new one generated in order to make a new rando file. Next I want to make it so that:
1. The Randomizer Quest button on the file select menu is always unlocked, even if a spoiler is not loaded.
2. If it's selected and a spoiler is not loaded, a menu will appear that asks if you want to generate a new seed or re-generate the previous one (if a spoiler file is present).
3. On choosing to generate a new one, you may also get an in-game menu to quickly apply a preset before generating (not sure if I'm going that far just yet).
4. After that, a seed is generated and you are taken back to the file select screen with the new file present.
5. If a seed is generated via the menu ahead of time, the CVar for loading the spoiler file will be set, but the spoiler file will not be parsed. All the data needed to actually play the randomizer at that point is
already in memory and in the save file (or at least I'll make it so that it is if it isn't already).
6. If a spoiler file is dropped over the window, the spoiler file is loaded, but it will only be parsed to get the seed and the settings, then the playthrough will be generated from scratch with that data. Thus allowing
for hints to be in the user's language of choice no matter what language the spoiler file was generated in.
7. Additionally, there will be a plandomizer mode that, if enabled, causes dragging and dropping a spoiler file to read the entire spoiler file instead of just the seed, and making a new file will use the data from there
instead of generating a new seed. This in particular may be expanded to have a "plando file" that contains more info than a spoiler file would normally have, such as cosmetic data and a more fleshed out
custom message syntax for various types of custom hints and whatnot. But that will be probably much later.

* Auto-gen rando seed when making a new rando file.

Also adds new logic for displaying the seed hash icons. Now, it is displayed in the following situations:
1. On the confirmation page when loading a rando save, the hash icons for *that save* are displayed.
2. On the name select screen after generating a seed, the hash icons for the seed that was just generated will be shown.
3. If you have dragged a spoiler log onto the window, the hash icons for that seed will be displayed while randomizer is selected on the quest select screen.
Currently the spoiler is just ignored, as the logic for pulling the settings from the spoiler file and regenerating the same seed has not been coded yet.

* Fix a few typos/bugs

* Partial conversion to new Settings/Option class

* Further conversion to new settings/options classes

* New settings struct (not fully working, need to wire it up to SaveManager)

* Move save files to new settings struct. Also fixes MQ options to match 3drando

* Fixes some spoilerfile related issues

* Cleans up now unused arrays

* Fixes some unhandled entries in parse settings switch case

* Reimplements parsing of settings on file drop to re-generate seeds

* Move merchantPrices into ItemLocation tables.

* Move hints to new struct

* Fixes a few seed gen bugs surrounding hints

* Fix treasure chest game.

* Relocate Entrance Shuffle code into ctx

* Move entrances to new context at runtime

* Remove now unused code from SaveContext and randomizer.cpp/.h

* Fix non-windows builds?

* Moves Dungeon Quests to new context

* Move trials into new context

* Whoops, forgot to construct the Trials in the context.

* Fixes accidental nullptr reference

* Fixes bug with saving MQ dungeons

* Implements plando mode and removes now unused code.

Largely untested, expect some bugfixes.

* prevent a multiple definition bug

* another attempt to fix the gSeedTextures multiple def error

* Fixes some minor hint issues from conflict resolution

* Some additional glue needed for merge

* Fixes another couple of miscellaneous issues/inconsistencies.

* A few french corrections

* Makes CVar gRandomizeWarpSongText match the checkbox default value.
2023-11-13 13:25:37 -05:00
inspectredc
8b78cb832a
items tied to items rather than slots + dpad items now work (#2884) 2023-11-05 22:33:51 -06:00
Ralphie Morell
f7b8e8ed65 Merge remote-tracking branch 'upstream/develop-rando' into soulcalibur 2023-11-05 13:18:43 -05:00
krm01
127f2651df
vanilla bugfix for wall climbing on edge of polys (#3358)
* vanilla bugfix for wall climbing on edge of polys

* rename missed vars

* add CVar toggle
2023-11-05 12:07:44 -06:00
Adam Bird
44ee6da0aa
fix quest assignment (#3343) 2023-11-04 22:52:09 +01:00
Caladius
ff7fa77427
Addresses Forest Temple Poes and NPC Dialogue issues. (#3334) 2023-10-30 11:00:24 -05:00
inspectredc
5dd82f59e2
Player Equip Docs (#3282)
* hopefully everything

* update docs for MS shuffle sections
2023-10-30 10:56:36 -05:00
Andrew Van Caem
dab070a8a1
Added 'Fix enemies not spawning near water' checkbox to Fixes (#3179) 2023-10-30 10:55:02 -05:00
Ralphie Morell
9b49d73814 playtest feedback; cleanup 2023-10-29 21:48:57 -04:00
Eric Hoey
7d120a021f
Apply Goron Neck Length to Goron City Shopkeeper (#3289)
* Add limb override for Goron shopkeep

* Remove extra line breaks

* Fix bug with goron neck length

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2023-10-26 19:39:18 -05:00
inspectredc
a6de59e09f
model docs (#3281) 2023-10-26 19:38:43 -05:00
Pepe20129
c031edae98
Add no rando generated warning (#3263)
* Add no rando generated warning

* Update texts

* Randomizer warning messages (#4)

* Fix french typo

---------

Co-authored-by: aMannus <mannusmenting@gmail.com>
2023-10-26 19:37:51 -05:00
inspectredc
2cbbaba9cc draw a button 2023-10-26 18:41:45 +01:00
Ralphie Morell
2eaed8d81e
Rando: Master Sword Shuffle (#2981)
* The mother of all commits

* Removed `GI_SWORD_MASTER`;
"Master Sword" Items now actually give MS

* Removed dupe MS entries in item pool;
updated GIMESSAGE (should stop crashing on non-Windows);
re-added MS in item list

* Give Adult Link a freebie with shuffle MS on;
cihld -> adult no longer gives MS;
ToT Master Sword now gives correct item

* add master sword GI draw func based on ToT MS object

* Force `MasterSword` logic var to only update upon getting MS

* Dorf funny line now activates with LA and MS in inv

* Apply suggestions

* Updated RAND_INF;
Check Tracker changes;
Gave RAND_INF and ice trap logic to ToT MS check;
Fixed swordless behavior for HBA/fishing

* ToT MS Check now works in check tracker;
Visual bug where box hovers over non-existent MS gone;
Fixed RAND_INF check with ToT MS pedestal;
Ganon no longer gives free MS

* adult equips no longer reset in MS shuffle

* Apply (most) locacc review suggestions

Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>

* Reorganized swordless check for interface to fit edge cases;
getting master sword no longer highlights box

* Edge case for BGS but no bow

* Fix implicit declaration error for GI hooks (#9)

* Adjusted `CanAdultAttack/Damage`; applied logic suggestions

* Fixed build errors (hopefully)

* Cleanup merge

* get shit working again

* Tidied up remaining uses of DD flag as rando indicator

* make master sword invisible and fix ms flag (#10)

* Add text to sheik if go mode is obtained but barrier is still up

* overhaul swordless behavior in `func_80083108`

* reworked ToT MS Check to have an actual GI

* suggestions

* Apply suggestions

* Better swordless handling with temp B (#11)

* better swordless handling with temp B

* prevent auto save in fishing pond

* prevent auto save during bombchu bowling

* enum fix

---------

Co-authored-by: Adam Bird <archez39@me.com>
Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>
Co-authored-by: RaelCappra <rael.cappra@gmail.com>
Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
2023-10-21 20:51:37 -05:00
inspectredc
e6445e0ce3
Age Requirement Docs (#3277)
* age req docs

* move macros

* use decomp names
2023-10-20 18:40:10 -05:00
Pepper0ni
b294188782 Faster Swim animations, full credit to kimimaru4000
Co-authored-by: kimimaru4000 <kimimaru@posteo.net>
2023-10-20 12:35:05 +01:00
inspectredc
9d581f10e7
magic (#3278) 2023-10-19 18:13:33 -05:00
inspectredc
1b2a31e34b Add success sound for toggle and equipping delay 2023-10-18 22:11:04 +01:00
inspectredc
9950c02fb2 Strength name un-greyed out and apply zoom regardless of strength disabled 2023-10-18 21:39:04 +01:00
inspectredc
c22d1e724d No longer grey out bracelet as adult when toggle option is on and strength enabled 2023-10-18 21:29:00 +01:00
inspectredc
03ea465251 Toggle Strength 2023-10-18 21:21:50 +01:00
Ralphie Morell
582771ab48 insert witty commit message here 2023-10-18 01:30:49 -04:00
inspectredc
fe90ad0268
MM Bunny Hood effect separated from ability to equip as adult (#3253)
* adult separator

* use cross instead of checkmark

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* suggested load fix

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2023-10-15 18:10:24 -05:00
Patrick12115
784737dc7b
[Difficulty Options] All Dogs are Richard (#3243)
* Oops, all Richards!

* Sure is
2023-10-15 17:22:47 -05:00
inspectredc
041a3792fc
Equip Tunic and Boots while performing most actions (#3239)
* tunics and boot equips initial

todo: find an appropriate place to first put Player_AssignTunicBoots

* move to more appropriate place

* assign -> use
2023-10-15 17:22:31 -05:00
Patrick12115
260078c871
[Cosmetic] Adds Bunny Hood to Cosmetic Editor (#3245)
* Color and Invisible Checkbox

GI model crashes when talking to mask salesman

* Update z_player.c

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* Update z_player.c

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* Move bunny hood coloring to patch

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2023-10-13 23:13:17 +00:00
inspectredc
095fd8b625
done (#3248) 2023-10-07 10:32:02 -05:00
Adam Bird
e66be83eb7
Fix quest type bleeding through saves (#3241) 2023-10-05 15:35:49 -04:00
Christopher Leggett
85432ce496
Adds option for Lost Woods leading music to be disabled. (#3233)
In the Audio Editor Options tab, useful for hearing Custom Sequences more clearly in the Lost Woods.
2023-10-04 10:09:37 -05:00
inspectredc
a92844fa92
Remove rando specific getitemid check (#3237) 2023-10-04 10:09:00 -05:00
Adam Bird
b70837f5ea
N64 PAL 1.0 support (#3182)
* initial n64 pal 1.0 support - hashes and rominfo

* initial xml copy pal 1.0

* initial offset fixes

* update title copyright to be platform based

* bump lus for clearMtx

* add scripted xml definitions

* offset fixes and xml fixups

* rename and sort pal mq definition

* more offset fixes
2023-10-04 10:05:02 -05:00
Malkierian
70a83f647f
Check Tracker Update (#2668)
* Initial commit. What works so far:

Data file loads, saves, deletes, and is created properly.
 - Need to run `HasItemBeenCollected` when creating in case of mid-seed regen.
Organized checks into maps set by area.
Areas show in tracker.

 - Checks pulled from checkObjectsByArea are not currently listed.
 - Areas are being assumed completed and hidden at the start.

* Checks now populate. Still not counting area totals properly.

* Don't track RC_LINKS_POCKET in the data file, and instead manually add it in every time a save is load. rcObjects doesn't contain Link's Pocket location (duh).

* Moved ItemReceive hook to randomizer_check_tracker.cpp.

Skipped items are properly sorted and formatted.

Saved items contribute to an area's gotten/skipped checks on load.

Changed skipped items default main color to gray.

General code cleanup.

* Skipped checks now contribute to area totals for area completion logic.

* Mid-menu rework transfer.

* Started check lookup on item receive.
Tried to enable scum checking on save.

* Fixed scum check on save.

* More code cleanup, which revealed some issues with loading and saving. Loading now works 100%, but entries in checkTrackerData are disappearing in code somewhere, causing issues with later checks.

Scummed color now displays properly.

Collected but unsaved displays properly.

Unchecked, Skipped, Seen and Scummed checks all have arrows for skipping/unskipping.

Counts a little messed up, probably double adding skips.

* Fixed item counts being off across resets. Restarts were fine.

* Beginning of rework for individual check updates. Adds `Actor lastCheck` to PlayState to allow assigning of last actor to give an item. This allows precise tracking of GS, freestanding PoH, etc. Works for chests too. Currently does not work for shops, unknown for normal NPC gives. Doesn't track last gives for non-checks, like drops from grass, pots, crates, etc.

* Actor-based checks fully fleshed out, but can't help with sale-based checks. Implemented `pendingSaleCheck` to back out of an RC check cycle if `gSaveContext->pendingSale` is not NONE when `OnItemReceive` is called, processed through `OnSaleEnd`. This should be the final change necessary to streamline the checks.

* Temporary hook to message box close to tie in trackers for non-gs/chest actors that aren't added to `GetCheckFromActor`. This triggers a 2-frame countdown to check with `HasItemBeenCollected` since half of the methods in there aren't updated until after a text box closes.

Added scene tracking to get last scene so that checks in scenes that span several overworld areas could be tied to their areas properly.

Modified tracker data creation to apply Link's Pocket and Song from Impa conditionally based on randomizer settings instead of just being assumed to be done. May need modification for checking click and drag spoiler loading.

Removed the scene equivalence check from CheckChecks so that an entire area is checked each time to avoid issues with, e.g., leaving a shop before a pending sale finishes.

* Changed check data creation to use RSKs from gRandomizer to account for settings loaded from drag and drop spoilers.

* Beginning of tracker code organization.

Changed check color defaults.

* Reverted moving tracker colors to header.

Some individual check fixes.

* Missed something from previous merge?

* Removed last remnant of removed performance mode.

* Better handle checking when skullsanity is off.

* Song checks sceneIDs don't match the scenes they're actually in for some reason. Removed that check.

* SaleEnd checks don't need the GetItemEntry parameter. Also set a flag that should prevent the check tracker from running during vanilla saves should that not be resolved by the time it's merged.

* Attempting to have only the relevant checks added to the tracker data, as well as showing vanilla checks for non-rando saves. Not working yet (everything is displayed in vanilla).

* Added vanilla check tracker population via `vanillaCheck` bool in `RandomizerCheckObject`. This is also added to `IsVisibleInImGui` to handle file loading and saving to eliminate checks that aren't part of vanilla or the rando seed.

Implemented deleted tracker data file recreation.

Added some extra item name text checks. Songs are still... tricky, so they stay blank.

Utilize local copies of the randomizer check objects that are applicable for performance purposes.

Fixed vanilla item-giving cutscene crashes when triggered mid-transition.

* Apparently not all toolchains can handle macro instantiation without all parameters, like VS can.

* Fixed scummed detail color not showing properly on tracker.

* Fixed dungeon area totals and GS checks not functioning properly.

* Major revamp of checking code. Doesn't rely on `GetCheckFromActor` at all anymore, but instead simply sets a flag to evaluate a number of checks in an area every frame until the check that was gotten is identified. With the new setup, it's much less hardware intensive, and at 60fps 6 checks per frame shows no noticeable effect on framerate. I can envision needing to add a collectedCount in order to account for times when two checks are gotten one right after the other.

Changed area scroll to happen from `OnTransitionEnd`, and allow for scrolling in bazaar (was disabled previously because it would jump back and forth between Kak and Market while you were in one).

Also setup area check order updating by area instead of all at the same time.

* Fixed shooting gallery not reporting proper area.

Prevent checks from actually happening if area is RCAREA_INVALID, now that all areas are reporting something if they have checks.

Fixed `GetCheckArea()` not updating checks for standard scenes.

Lots of vanilla tracking updates, mainly manual checks for gems, medallions and songs, since the often don't have proper scenes in the data.

Prevent vanilla from triggering check loops if junk items are collected.

Fixed sorting based on saved vs collected.

Prevent item name display for vanilla runs.

Change coloring of checks so the check name reflects status in vanilla runs.

* Fixed "Recheck Area" button erroneously adding to an area's check totals?

* Fix DMC vanilla checks.

* Fix check tracker data recreation on data file loss.

Removed redundant file exists check from SaveTrackerDataHook, as it doesn't matter if it exists or not at that point.

Limited check loops to 3 to avoid infinite check loops on non-check/junk item pickup.

Added more checks to disable tracker operations if a save is not running.

Changed check ordering to put boss reward and heart container checks at the end of whatever RCSHOW group they belong to.

* Fixed IsRunning calculation.

Further improving vanilla checking.

Starting framework for checking medallions, stones, and songs on data file recreation.

Fixed medallion check collection.

Added GIFT_FROM_SAGES to check list for vanilla file for tracking light medallion.

Added check loop limitation to prevent infinite checking after picking up junk item from the ground.

* Finished vanilla file recreation and recheck (songs and dungeon rewards all check properly now). This includes deku shield with KF shop item 3.

Finished Gift from Raoru light medallion tracking for vanilla.

Commented all CheckByScene functionality for now.

* Fixed new save data file creation.

Disabled entrance area calculation for now, as it only tracks the previous entrance for some reason.

Fixed area detection for ToT checks.

* GetCheckArea() now utilizes EntranceData almost exclusively, via either `gSaveContext.entranceIndex` or the entrance tracker's `currentGrottoId` in the case of grottos.

This also means that EVERYTHING CAN AUTOSCROLL NOW. Entrance shuffles are now much easier to track.

Autoscroll is now also triggered on save, just in case someone isn't autosaving and has a lot of checks that get converted to saved.

* Fixed missing GS check in LW.

* Added area scroll on toggling Show Hidden Items. May configure differently later.

Fixed area detection for entrances in Gerudo Fortress/Valley and Collossus. Haunted wasteland doesn't autoscroll due to a bug in `OnTransitionEnd` hook, but checks still evaluate properly there.

Rely on scene-based area detection if scene is a main overworld or dungeon scene.

* Fixed grotto detection when shuffle is off.

* Small code cleanup.

Fixed Colossus hand chest checks.

* Missing lus bump from merge conflict resolution

* Fixed Colossus Grotto making `GetCheckArea` return Wasteland.

* Improved OnItemReceive processing for non-token GS checks, since they can sometimes take long enough for the checking process to time out before the item is registered as received.

* First attempt at thread safety for tracker data file writing. Seems to work, but might need more testing.

* Fixed Recheck Area not unskipping items that register as saved.

Improved delayed saving with autosaving, as the autosave triggered quite often before the tracker data save, making things not properly register as saved.

* merge cleanup

* Converted check tracker data to the sectional saves, adding `CheckTrackerData` to `SaveContext`.

Implemented section ID returning and fullSave boolean passing to section functions from my PR temporarily for it to work properly.

Moved `RandomizerCheckTrackerData` enum to `randomizerTypes.h` to accommodate that.

Changed `Randomizer_SaveInit` to a `SaveManager::InitFunc` to allow for other randomizer-dependent sections to be initialized after that. Required a little refactoring to maintain intro cutscene skip when starting a randomizer file.

* Revert section index return and randomizer init changes. Will need to wait on yet more changes to main.

* Fixed check tracker initialization (shouldn't be tied to window initialization), restored saving/loading functionality.

* Removed `CheckTracker::Init` and put SaveManager calls in `CheckTrackerWindow::InitElement`. Also a bit of cleanup from transition back to save file use.

* Fixed tracker displaying check categories while file not loaded.

* Fix Darunia's Joy check not marking in vanilla.

* Fix autosave not triggering change from collected to saved in tracker data.

* Changed default colors for scummed and collected display.

* Merge upgrade code cleanup.

* Add `OnTransitionEnd` calls to sandstorm transitions both to and from Wasteland. Also improved `gSaveContext.lastScene` assignment for both transition types. Allowed a bit of cleanup in `GetCheckArea`.

* Added `StateButton`, a button like `ArrowButton` but that allows text instead of arrow icons. Apparently the changes from ArrowButton to StateButton happened in a previous commit...

* Changed section name to `trackerDataCheck` to force SoH to load it after the randomizer section, as it required some randoSettings to be loaded first, and nothing else I tried to make the randomizer section load before it worked. This hacks a solution to checks not displaying on fast file load to a specific slot.

F*** you, SaveManager, and f*** you too, JSON.

* Forgot to change the section string for loading with the name change.

* Fix check ordering for checks that trigger the autosave.

* Adds option to remove right-side shop items (slots 1-4) from the tracker list. Enabled by default.

* Fix default state of Hide Shop Right Checks checkbox.

* Fixes grotto and great fairy scrolling and checks.

Fixes array overflow from `checkTrackerData` which was creating the issue trying to load the base and randomizer sections first, among other things.

That also fixed the massive file loads that were being exhibited in debug mode.

* Fix shooting galleries being set as collected again when being played a second time after getting the checks.

* Fix Bazaar autoscroll.

* Add Saria's Song to `GetCheckFromActor` and removed some limitations from the messageCloseCheck function to make that check track properly.

* Fix Song from Impa check.

Implemented prevention for multiple "collections" of great fairies, just in case getting the health refill would trigger it with the previous setup.

* Fix ice traps on GS tokens not triggering OnItemReceive.

* Complete fix for ice trap collection from GS.

Add autoscroll when clicking "Expand All".

* Add `OnShopSlotChange` with cursorSlot and basePrice parameters.

* Fixed include in en_ossan for shop slot hook.

Added registration for `OnShopSlotChange` in the tracker, storing the price in a new `price` field in `CheckTrackerData`.

Added "seen" functionality to shop checks. Displays the model item name upon first entering a shop, adding the price and switching to trickName (if it's an ice trap) upon navigating to the slot in buy mode, triggered by an invisible "identified" status that mirrors "seen" in every other way.

Added tooltips to most options for check tracker color picking to describe what each status actually means.

* `std::format` pls

* So apparently std::format just decided to break with the latest merge from develop, but fmt::format exists and works?

* Removed the last vestiges of `locationsSkipped`. Other general code and formatting cleanups.

Moved `IsGameRunning` to `OTRGlobals` so the item tracker could also access it.

Used preceding to "fix" item and bottle display in the item tracker on startup.

* Some more code cleanup.

Removed "Recheck Area" button and relevant code.

Backported changes to Anchor branch applicable for single-player, including making a checkAreas vector and structuring the frame by frame checks around that. Also includes fix for Silver Gauntlets and Mirror Shield check collection crash associated with those changes.

Fixed Kakariko Bazaar "seen" updates.

Fixed tracker window not showing on initial load like it should.

* Forgot 1 formatting fix.

* Removed conditions for showing Song from Impa (isn't junk under certain conditions, so should show all the time).

* Fix vanilla checks, add Zelda's Letter and Malon's Egg to manual check collection.

Fix autoscroll while in child stealth section.

* Fix crash in Happy Mask Shop in OnSlotChange (referenced non-existent shop id in a tracker-specific enum).

* General code cleanup.

* Missed one reversion.

* One more.

* Fix column alignment in `randomizer_check_objects`.

* Fix file encoding on `randomizer_check_tracker`. Again.

* Fix indentation for `actualItemtrackerItemMap`. Also removed unnecessary parts of the map.

* Rename `HasEqItem` to `HasEquipment`.

* Slightly better indentation for `actualItemTrackerItemMap`.

* Add magic bean salesman to vanilla check tracking, and genericized deku shield to trigger KF shop item 3 wherever you get the shield.

Renamed `vanillaCheck` to `vanillaHundoCheck` to (supposedly) clarify the meaning of the usage.

* One more rename to `vanillaCompletion` to avoid possible confusion with 100% speedrun conditions.

* give me a break XD

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>

* Changes suggested by briaguya (rename `RandomizerCheckShow` to `Status`, unused code, newline formatting)

* Remove unused `itemNames` table.

* Remove `IsGameRunning` in favor of `GameInteractor::IsSaveLoaded`.

* Restore anti-spoiler functionality for dungeons with dungeon maps.

* Review cleanup.

* Fix prices not showing for Kak bazaar items.

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-10-04 10:03:36 -05:00
briaguya
56deb1cf64
unbreakable/always on fire deku stick (#3192)
* Adds Ultra Deku Stick Cheat

Author:    Vexus <vdfk94@gmail.com>

* implement the stuff

* move enum to a resonable spot

* Apply suggestions from code review

* Update soh/src/overlays/actors/ovl_player_actor/z_player.c

* i thought i could do everything through the gh web ui but fine i'll fix it locally

---------

Co-authored-by: Vexus <vdfk94@gmail.com>
2023-09-30 08:55:11 -05:00
Adam Bird
af19645a88
Fixup remaining n64ddflag after IS_RANDO merge (#3240) 2023-09-29 16:28:16 -04:00
Pepe20129
d63c9d1774
Quest Cleanup (#3178)
* Change most n64ddFlag checks to IS_RANDO checks

* Change most isMasterQuest checks to IS_MASTER_QUEST checks

* Change most isBossRush checks to IS_BOSS_RUSH checks

* Replace isMasterQuest & isBossRush with questId

* Replace n64ddFlag with questId

Also restore authentic n64ddFlag behavior except savefile saving/loading

* Move quest enum from file_choose.h to z64save.h

* Update macros to not take gSaveContext
2023-09-26 09:20:33 -05:00
Adam Bird
c6356853ae
fix better debug warp deku tree entrance (#3195) 2023-09-26 08:47:08 -05:00
Garrett Cox
db10864e95
Add flag set/unset hooks and GI actions (#3065) 2023-09-26 08:45:51 -05:00
Nicholas Estelami
ccd05d8e58
Removed hardcoded skeleton types in actor draw code. (#2979)
* Initial PAL 1.1 support

* Misc fixes

* Updated game to remove hardcoded skeleton types when rendering

* Fixed weird rebase issue

* Replaced remaining skeleton calls

* lus submodule fix

* Remove OTRGui
2023-09-26 08:45:10 -05:00
Ralphie Morell
c3a1eb2315
Rando: More Misc. Hints (#2930)
* commit constipation

* fix inconsistencies between 3d and soh settings

* Add RSK check for Saria; Sheik now tells you other reqs for ganon

* Translations (thanks Purple and Timmy_GamerNepgear);
Retain Saria's "face-to-face" text in rando if you're too close

* fix scene renames for sheik

* whoops

* Undo LA hint setting erasure from conflict

* Clarified Sheik text IDs; Clarified final frogs hint

* Fixed Sheik text ID assignment; Fixed Saria's messages in `OTRGlobals`

* Added hint locs for sheik and saria

* Set up hook for Sheik spawn;
Sheik no longer cheats with room transitions;
Enforced text IDs on saria msg function

* Set up hook for Sheik spawn;
Sheik no longer cheats with room transitions;
Enforced text IDs on saria msg function

* Update soh/soh/SaveManager.cpp

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* nice.gif

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* got ahead of myself

* Conquered and divided; simplified stuff

* nitpicking

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>

* the little things i stg

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-09-18 21:02:51 -05:00
Garrett Cox
18e21e12c8
Use randomizerInf for fishing and big poes (#3088) 2023-09-18 21:34:25 +00:00
Garrett Cox
c11a6a17e9
Some documentation changes for zplayer (#3172)
* Documentation changes for zplayer

* Update soh/include/z64player.h

Co-authored-by: Adam Bird <Archez@users.noreply.github.com>

---------

Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
2023-09-15 18:39:46 +00:00
Patrick12115
0132d3b5e2
[Difficulty Enhancement] Tree Stick Drops (#3171)
* Tree Stick Drops

* Removed Unneeded i

* formatting blunder

* Stick Lottery

* Change rand functions

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2023-09-14 21:52:14 -05:00
aMannus
8d3adb4c6f
Rotation options for bombs and grottos (#3146)
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2023-09-14 21:51:38 -05:00
Malkierian
79b5301165
[Tweak] Better GS Ice Trap Collection Handling (#3077)
* Make ice traps kick the player out of first person when collecting with the hookshot.

* Forgot the `extern`s XD
2023-09-10 12:54:18 -05:00
inspectredc
e31b2fd9a4
Bunny hood Equip Swap Fix in Scene Transition (#3152)
* test?

no clue why this section was added

* committing to commit the commit
2023-09-10 12:52:46 -05:00
Pepe20129
5cf0eeef52
Add OnActorKill & OnEnemyDefeat hooks (#3112)
* Add OnActorKill & OnEnemyDefeat hooks

* Remove commented out code

* Re-run build

* Add missing include statements
2023-09-10 12:23:43 -05:00
Adam Bird
bba0a54dbf
[Tweak] Update Rando save warning message for new file info screen (#3163)
* tweak rando save warning message

* french typo
2023-09-10 12:22:45 -05:00
Adam Bird
024c5e0b5f
Sync asset names with decomp documentation (#3153)
* sync asset names with decomp

* whitespace and tweak
2023-09-10 12:21:56 -05:00
Adam Bird
b2ad348508
support for pal 1.1 change language option (#3124) 2023-09-10 12:21:13 -05:00
Pepe20129
45b7520dcb
Add scene table (#3131)
* Add scene table

* Re-add accidentally deleted entry

* Update CrashHandlerExt.cpp

* Update CrashHandlerExt.cpp
2023-09-01 11:46:19 -05:00
Caladius
0e7c658523
V1 - Chestapalooza (#2922)
* V1- Adds additional trap variants to Chests

* Create and use OnTrapProcessed hook

* Update naming for Traps, extends to NPC and Token Rewards.

New Hook for Rando traps.

Restore Vanilla code for ice traps.

* Update soh/src/overlays/actors/ovl_player_actor/z_player.c

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* More tweaks, remove processed trap hook

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2023-08-30 17:34:06 +00:00
aMannus
8ab9346f76
Fix bombs not showing up (#3145) 2023-08-30 17:04:51 +00:00
PhysicBerry
738172d9ed
Add Shield Aim Invert X & Y Axis Options (#3055)
* Added Shield Aim Invert Y Axis Option

Adds an option in the menu that allows players to invert the shield aiming across the Y Axis. Defaults as checked to replicate original behavior.

* Shield Aiming Improvements

Added an option to invert X Axis Shield Aiming and corrected the default value for Y Axis Shield Aiming.
2023-08-25 13:00:11 -05:00
Adam Bird
0ce2d30605
add visualization for pause menu item cycling (#3118) 2023-08-20 13:00:43 -05:00
aMannus
b040a894d1
Remove debug elements and visual SoA (#3086) 2023-08-20 12:59:39 -05:00
Adam Bird
ff4d1b9f77
Tweak: Refactor 3D drops handling (#3071)
* tweak: refactor 3d drops handling

* cleanup

* add 2d bombchu drop support
2023-08-20 12:58:39 -05:00
inspectredc
55cd8c1539
Update z_kaleido_item.c to include additional bow swapping scenario on equip (#2655) 2023-08-20 12:57:27 -05:00
Pepe20129
d06e6af306
Add glitch practice cheats (#2570)
* Add fish don't despawn cheat

* Add bugs don't despawn cheat

* Add bomb timer multiplier cheat

* Only do float logic when multiplier isn't 1

* Move don't despawn cheats and fix capitalization

* Fix LUS commit change

* Re-add the bomb timer multiplier slider

* Add cvars to cheatCvars
2023-08-20 12:57:09 -05:00
Pepe20129
8872a59284
Add "More info in file select" enhancement (#3053)
* Initial attempt

* Fix rendering for most items

* Fixed icon sizes and reorganized icons

* Fix equipment, quest & upgrade icons

* Add colors to the song icons

* Remove box, clean up code & move seed hash icons to top

* Start with counters, fix copy & erase and show spoiler log hash icons

* Add icons for upgrades

* Draw icons for counters

* Initial counter work

* Fix counter digits positioning

* Prevent crashes when over 999 deaths (save editor)

* Add greg to tracker when in a rando save

* Fix color for counter digits using the wrong buffer

* Add double defense icon

* Addressed code review

* Remove unneeded checks against 0
2023-08-15 19:26:43 -05:00
Adam Bird
633bec3a1c Merge remote-tracking branch 'origin/develop' into mergeSuluBravo 2023-08-13 20:50:59 -04:00
Adam Bird
91c6eba0d0
tweak: easy pause buffer to track inputs better (#3054) 2023-08-13 11:41:19 -04:00
Adam Bird
535157ce00
Fix: Various Rando generation crashes (#3108)
* fix rando gen crash when not enough remaining items to place

* fix rando gen crash due to missing granny shop hint

* add error sound if rando gen fails
2023-08-11 23:06:38 -04:00
Adam Bird
b2e9d547ba
fix anju rando item gives when performing an action (#3107) 2023-08-11 23:05:54 -04:00
Adam Bird
325c7fe365
fix dark links input in mirror mode (#3109) 2023-08-11 23:05:26 -04:00
Malkierian
f68a4e930d
[Bugfix] Add check for animation count to prevent continuing final saw textbox while putaway is happening (#3103)
* Add check for animation count to prevent continuing final saw textbox while putaway is happening.

* Added Fix toggle for it. Enabling Skip Text forces the behavior, regardless of previous selection for the Fix toggle itself (so it works if you have the Fix toggle enabled, or if you have Skip Text enabled).

* Clarified the comment in `z_en_toryo`.
2023-08-06 12:01:19 -04:00
Adam Bird
63f61023d4
Fix: Carpet merchant rando item give distance requirement (#3102) 2023-08-06 11:56:43 -04:00
Adam Bird
855e7442ea
fix granny not checking for bottle properly (#3068) 2023-07-23 18:13:51 -04:00
aMannus
22e4020265
Fix Market Sneak with masks (#3047) 2023-07-12 21:57:43 -04:00
Adam Bird
b7dca5d5a8
Fix: Various PAL1.1 asset offsets and Main Menu options screen (#3045)
* fix pal11 ganondorf falling platform offsets

* fix pal11 dins fire offsets

* add game region and platform methods

* fix pal11 file menu options

* move
2023-07-03 10:29:06 -04:00
louist103
acfc04d0ac
Add an error for implicit functions (#3017)
* Add the flag and fix errors

* switch assert and skin matrix

* new LUS

* Use normal assert

* hopefully fix WiiU

Signed-off-by: Louis <louist103@pop-os.localdomain>

---------

Signed-off-by: Louis <louist103@pop-os.localdomain>
Co-authored-by: Louis <louist103@pop-os.localdomain>
Co-authored-by: Christopher Leggett <chris@leggett.dev>
2023-06-27 19:53:35 -04:00
Garrett Cox
7c5efb2785
Flags stuff (#3014)
* Manual adjustments to flags

* Script run to adjust flags
2023-06-20 11:54:02 -04:00
Adam Bird
39349d8512
fix warp override mq mode room loads (#3019) 2023-06-18 18:23:06 -04:00
Adam Bird
6fdfcd2a61
More mirror mode fixes and additions (#3009)
* mirror fishing rod

* mirror ivan fairy controls

* add mirror dungeons only option

* mirror sold out GI texture

* update dungeons mirror mode for more options

* maybe don't include that
2023-06-17 13:08:20 -04:00
Garrett Cox
f85b04336c
Add option to prevent speed modifier from affecting jump velocity (#2874) 2023-06-14 23:25:48 -04:00
Garrett Cox
7a41bd3878
Mirrored world enhancement (#1569)
* Mirrored world PoC

* invert culling for health meter and A button action

* A few more fixes

* Fix for item equip animations

* Fix for pause triforce

* Mirror scenes with static backgrounds

* mirror minimap for mirror world

* mirror dungeon maps and icons on the pause menu

* mirror overworld map and icons on the pause menu

* mirror debug world movement

* mirror shops cursor and movement

* use flip flag

* Reverse crouch stab x axis for mirror mode

* use invert culling command and clean up culling logic

* Move mirror mode handler to mods and support random modes

* Small cvar tweaks

* mirror billboard score numbers and fix gyro horse mirrored inputs

---------

Co-authored-by: Adam Bird <archez39@me.com>
2023-06-13 08:46:15 -04:00
briaguya
d69c07cd75
numbers aren't magic (#2976)
* numbers aren't magic

* chest style matches contents

renamed everything except the cvar itself at this point
(waiting for versioned configs for that)

* tracker as part of names

* finish the tracker rename

---------

Co-authored-by: briaguya <briaguya@alice>
2023-06-09 17:22:25 -04:00
Amaro Martínez
e46c60a7a1
Fix copyright position for PAL 1.1 (#2952) 2023-06-07 13:02:45 -04:00
Nicholas Estelami
7e1ee6e23e
N64 PAL 1.1 Support (#2773)
* Initial PAL 1.1 support

* 1.1 Asset Fixes

* Fixed issue where N64 builds were being flagged as MQ

* Misc fixes

* Updated LUS submodule

* Fixed up logo strings

* Updated readme and linux/mac scripts with new hash
2023-06-05 19:11:22 -04:00
Adam Bird
820fdf78cc
Improve TTS for file select menus (#2950)
* improve TTS for file select menus

* french translation change recommendation
2023-06-05 17:18:18 -04:00
briaguya
2308ab8823
build soh with LUS 1.0.0 (#2881)
* Bump LUS

* Ship -> LUS namespace change

* z_scene_otr Ship -> LUS namespace

* Starting to get SoH to build with LUS imgui changes.

* start stuff

* gamecontroleditor build issues resolved maybe

* cosmetics editor and what not

* console

* actor viewer

* more stuff

* more stuff

* on to errors that make sense

* putting this down for a bit

* no idea what these errors mean now

* some kind of progress maybe

* latest lus main

* more

* back to linker errors and being lost

* Fixes command function signature.

* More fixes

* Even more fixes

* Bump LUS

* More Fixes.

* Fixes even more errors.

* lus bump

* input editor as var

* audio editor working

* it builds with this

* bump lus

* it opens

* bump lus to latest main again

* make sure to do all the command registering in debugconsole

* lus and what not

* switch type stuff plz

* undo

* do the thing that fixes the thing

* fix mac?

* correctly show/hide menubar on boot

* bump lus

* input blocking updates

* bump lus

* Bump LUS

* Press F1 to open enhancement menus moved to SoH

* lus and rendering backend stuff

* audio backend and lus

* Bump LUS

* Fixes WindowBackend dropdown

* Bump LUS

* misc -> utils and moves binarytools to utils.

* Window refactor

* bump lus

* make it work

* Fixes for moved files again

* Bump LUS

* Mercury -> Config

* Bump LUS

* Reacts to removed LUS hooks and bump LUS

* Remove Hook: GfxInit

* Removes debug audio_setgamevolume to 1

* use non-crashing branch of lus

* fix: make audio init work without hooks

* game icon stuff

* multifix bmp

* use input viewer class branch for now

* just "Ship" it's cleaner

* Bump LUS

* Removed ExitGame hook.

* Bump LUS

* Hook system removed from LUS.

* More LUS updates

* Changes to make window position saving.

* Bump LUS

* Bump LUS (for real)

* LUS resources now return a specialized pointer.

* Bump LUS

* Fixes issue in SetPathways::GetPointerSize

* Bump LUS to 1.0.0

* builds but crashes

* fix crash

* better macro names in debug console

* remove commeted out line

* remove redundant check tracker settings window logic

* remove commented out line

* move the *

* remove extra seqplayers enum def

* this sneaky little guy was hiding behind a wii u ifdef

* remove extra check tracker header

---------

Co-authored-by: Kenix <kenixwhisperwind@gmail.com>
Co-authored-by: briaguya <briaguya@alice>
2023-06-03 15:27:45 -04:00
Adam Bird
c9d24f2e98
Fix: Better debug warp MQ detection and other warp menu bugs (#2932)
* fix: add mq detection to better debug warp

* replace special characters for debug warp translations

* reorder better debug warp printing

* adjust french translation
2023-06-01 22:00:45 -04:00
aMannus
2957dc61c3
[Feature] Boss Rush (#2923)
* Ganon(dorf) cutscene skips

* Remove leftover code

* Load into chamber of sages

* Fix loading into chamber without fast file select

* Boss warps in chamber done

* Change warps back to chamber

* Initial proof of concept done

* ganon(dorf) cutscene skips

* Code cleanup & auto age equipment

* Gameplay stats timer + tweaks

* Scuffed timer

* Better timer

* remove arena props + fix arena exits

* Fix blue warps

* Attempt to fix build

* Fix build again

* And again..

* Try no. 9001

* Handle dying and saving

* Child link face fire medallion

* Fix build

* Fix warps after reset/death

* Disable doors and move player spawns in boss rooms

* Fix boss rush logo rendering

* Start of ingame options menu

* File Select cleanup

* Fix build

* Render char text PoC

* Move functions to be more generic

* Fix build

* Fix other builds

* Initial text scaling/kerning

* Special characters prep

* All special characters work now

* Attempt to fix build

* Fix build question mark

* Finish all kerning

* Start of ingame options menu with vertical scrolling

* Barebones functional options menu

* More options menu progress

* More visual elements for options menu

* Options menu visual changes, implement all options, tons of cleanup

* Cleanup and comments

* Shorter enums

* More options

* Change default heart count

* Finish French translations

* Implement timer in cosmetics editor

* Uncomment timer requirement

* Variable name change

* German translation & small UI tweaks

* Animated up/down arrows in options UI

* Better arrows in options UI

* Cleaner timer + make it usable for general gameplay

* More cleanup + ganon & ganondorf boss option

* Implement never heal option

* Slight up arrow in options UI tweak

* Add BGS option

* Reintroduce ganondorf cutscene skip

* Change encoding to UTF on bossrush.cpp

* Fix build hopefully

* Fixed static variables leading to options not properly resetting

* Fix BR completed timestamp

* Change timer to render on top of everything

* Offset final BR time by 0.1 second from boss timestamps

* Add missing check for boss rush

* Implement soh_assets.h

* Revert merge mistake

* Fix special characters with UTF-8

* Fix build

* here's the fix you can merge from your phone

* Fix quest select crash with oot.otr only

* Use OoT's kerning

* Fix HD textures on options menu

* Fix special character kerning

* "Heal every boss" fixes

* Seperate headers + bunny hood option

* Remove GetUnixTimestamp() externing

* Clean up extern "C"'s

* Address review comments

* Fix build question mark

* Remove accidental styling change

---------

Co-authored-by: briaguya <briaguya@alice>
2023-06-01 21:40:10 -04:00
Rozelette
fdf9086b2a
Dynamic Actor IDs (#1729)
* Add dynamic actor IDs

* Convert Ivan to use new actor system

* attempt to fix linux build

* attempt to fix linux build

* merge

* Cleanup

* Fix missing math functions on Windows.

* Removes a stubbed function to fix non-windows builds.

* Update soh/soh/ActorDB.cpp

Co-authored-by: Adam Bird <Archez@users.noreply.github.com>

---------

Co-authored-by: Christopher Leggett <chris@leggett.dev>
Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
2023-06-01 21:39:50 -04:00
Ralphie Morell
71662c56b5
Docs: Update Player/Actor Flags (#2765)
* Actor Flags update

* player state1 flags; cleanup; prep for state2 and state3

* Player state2

* player state3

* Rename flags in Player tab
2023-05-30 15:05:04 -04:00
Patrick12115
f544aba647
[Rando] Adds Greg options to the Bridge and LACS reward options (#2663)
* Some reason not working

* Fixes and formatting

Moved the LACS Stones to be before the Medallions in all instances to line up with the Bridge requirements and because it just makes sense

* Removed unnecessary space

* Missed one
2023-05-30 14:25:59 -04:00
Ralphie Morell
507387f618
Enhancement: Better Debug Warp MQ toggle (#2876)
* Implement MQ select on better debug warp

* remove unused macro

* Add sound when selecting MQ; only change if highlighting MQ-able map

* Handles map select from MQ file
2023-05-30 14:01:04 -04:00
Caladius
edc5e8f7d4
ShadowTag (7.0.1) (#2825)
* Add Checkbox in Extra Modes
Spawn Code in mods.cpp
Category Change for Clear Room Exclusion
Kill Actor if Mode is Disabled

* Fix non door scene changes and adds a delay to avoid misfiring or not firing on quick room changes like falling to B1 in Tree and Lost Woods loading triggers.

* Requested Updates
2023-05-28 18:46:18 -04:00
Christopher Leggett
fe6705cc4d
Merge pull request #2906 from HarbourMasters/develop-spock
Spock -> develop
2023-05-23 09:18:15 -04:00
Rozelette
f005bd3b7f
add skeleton unregistration to actors that manage their own skeletons (#2908) 2023-05-22 09:20:06 -04:00
Garrett Cox
5de1240391
Cleanup gameplay stats code/UI and support RTA timing (#2862) 2023-05-21 18:35:56 -04:00
Malkierian
cf711d9164
Initialize gSlotAgeReqs[SLOT_TRADE_CHILD] and gItemAgeReqs[ITEM_MASK_BUNNY] on load initialization according to gMMBunnyHood and gTimelessEquipment to prevent bunny hood from being unequipped from adult equips on first load. (#2904)
Move the code to change those values based on the child trade slot item to the selecting mask loop to not be setting them every frame just because you're in the inventory.
2023-05-21 12:13:38 -04:00
aMannus
6d4761f349
Fix several enemy ID's for Hyper Rush (#2871) 2023-05-10 20:44:40 -04:00
Garrett Cox
2ea72f835a
Cleanup cvars that are set on boot (#2863) 2023-05-10 09:08:35 -04:00
Kenix3
91bd693ff6
Bump LUS version (#2849)
* Bump LUS version

* Removes the "now" boolean from the LUS resource bridge functions.

* Bump LUS

* More LUS bump

* Update soh/soh/resource/importer/AudioSampleFactory.cpp

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-05-07 20:18:54 -04:00
Adam Bird
f81b042843
Tweak: Reset trade item cycling when pausing or changing pages (#2808)
* reset trade select when unpausing

* move trade select reset to kaleido init and handle when changing pages
2023-05-03 21:45:41 -04:00
Adam Bird
c3c97f207f
Fix: add header to align soh.otr file assets and fix asset crash for Mac (#2819)
* add header for aligned assets for soh files

* remove debug statements

* update more string asset usage to aligned vars
2023-05-03 20:58:41 -04:00
briaguya
4166dbf907
spockalicious (#2751)
* Rough mockup of LUS XML loading

* Updated code for merge

* Loading from FS support and custom DList WIP implementation

* Added current directory support to F3D and impl most of the dlist cmds

* WIP Skeleton support

* Almost done

* Rebase fixes

* Submodule updates

* HD Texture Support

* Fixes

* bump lus

* fix exporter build, header update

* soh builds

* setMesh image path cleanup

* Update soh/src/overlays/actors/ovl_player_actor/z_player.c

* Update soh/src/overlays/actors/ovl_player_actor/z_player.c

* Update OTRExporter/OTRExporter/Main.cpp

* Update ZAPDTR/ZAPD/ZResource.h

* Update soh/src/code/z_skelanime.c

* Update OTRExporter/OTRExporter/Main.cpp

* Fixed jpeg backgrounds and decreased icon buffer size

* Bump lus

* Increased even more the buffer because it crashes on long texts

* Removed print because sometimes the if is not triggered when the image is already byteswapped

* fix non-windows build

* fix build

Co-authored-by: Kenix <kenixwhisperwind@gmail.com>

* add hd checkbox

* Various fixes for custom model support (#23)

* Some fixes

* Updated LUS Version

* Fixed issue with Link Skirt on pause menu

* Added CVar for custom link model changes

* Fixed headers

* Additional header fixes

* Tweaks

* Unload HD game assets on scene transition. (#16)

* Unload game assets on scene transition.

* Bump LUS

* Unloads all HD assets on scene transition.

* Only unload hd assets if hd assets are turned on.

* Fixes issues on toggling between HD and non HD assets.

---------

Co-authored-by: briaguya <briaguya@alice>

* fix: actually load hd debug font (#27)

* fix: actually load hd debug font

* toggle debug text correctly

---------

Co-authored-by: briaguya <briaguya>

* Yes. (#28)

* Merge branch 'develop' into dev-to-ghost

* HD Skeleton Swapping and Language Fixes (#32)

* Yes.

* HD Skeleton Swapping and Language Fixes

* Test

* Fixed issues with ganon cape (#34)

* Fixed Bongo Bongo Crash (#35)

* Added HD Assets Toggle (#37)

* Ivan the Fairy - Coop Mode (#36)

* wip

* hookshotable ivan

* added hookshot item

* new items & changes & fixes & restored navi

* farore, din and nayru's spells are done

* fixed slingshot & bow

* added more items supported

* done with all main items

* bug fixes & ready

* added imgui button

* wip

* hookshotable ivan

* added hookshot item

* new items & changes & fixes & restored navi

* farore, din and nayru's spells are done

* fixed slingshot & bow

* added more items supported

* fix own dungeon items on shuffled boss rooms (#2683)

* bump lus (#2692)

* fix: lowercase package names for vcpkg (#2693)

vcpkg was throwing an error `error: invalid character in package name (must be lowercase, digits, '-')`
this updates our calls to `vcpkg_install_packages` to use lowercase package names instead of uppercase

* fix death mountain cloud in rando (#2691)

* Fix: Switch Age No Longer Reloads Start Room (#2679)

* [Reduced Clutter] Disable Hot/Underwater Warning Text (#2684)

* Disable Warning Text

* Moved to Reduced Clutter

* done with all main items

* bug fixes & ready

* fix: process roms in consistent order (#2696)

* chore: move rando savefile setup and document flags (#2697)

* remove rando save init from sram

* move rando savefile init logic and set more flags

* document flags for rando save creation

* Fix: Use correct fps value for frame interpolation with match refresh rate (#2694)

* Fix: Kak GS placement on construction site (#2695)

* added imgui button

* addressed kenix's comments

* fixed useless null

* added rupee dash mode in extra modes

* changed menu position

---------

Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>
Co-authored-by: Patrick12115 <115201185+Patrick12115@users.noreply.github.com>

* LUS Scancodes (#42)

* Added HD Assets Toggle

* Switched out SDL for LUS scancodes

* Ivan tweaks (#45)

* Magic consumption slowed down;
Bosses now affected by Ivan's Din spell

* Adjust magic timer

* clean up imgui

* model fixes/improvements (#50)

* replace `gUseCustomLinkModel` with custom resource check

* handle adult/child

* bump lus

* fix model switching with tab

* use lus main

* fix carpet man (#52)

Co-authored-by: Rozelette <Rozelette@users.noreply.github.com>

* get ship model and lus texture into soh.otr, use `gAuthenticLogo` to toggle between ship and authentic (#55)

* Use libultra features for CPU-modified textures (#40)

* Use libultra features for CPU-modified textures

* Comment

* bump lus on ghost (#58)

* fix: properly use `Interface_LoadActionLabel` to display start button text (#61)

* Changes hd -> alt for texture replacement. (#65)

* Changes hd -> alt for texture replacement.

* Renames variables in gfxprint for hd -> alt change.

* Update soh/soh/resource/type/Skeleton.cpp

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>

* Fixes kaleido dungeon maps (#67)

* skeleton stuff (#69)

* comment out wii u build (#70)

* bump lus (#71)

* Rework readme (#72)

* Update README.md

* docs

* put custom music docs somewhere

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* dark/light title image

* lus

* Update README.md

* Fixed vanilla minimap (#73)

* Fixed vanilla minimap

* Workaround for pulsing SD maps with non-broken HD maps.

---------

Co-authored-by: Christopher Leggett <chris@leggett.dev>

* Skeleton fix fixed (#75)

* WIP skelton patcher fix

* Fixes skeleton reference change.

* Adds const back to name in ResourceMgr_LoadSkeletonByName

---------

Co-authored-by: Christopher Leggett <chris@leggett.dev>
Co-authored-by: Kenix <kenixwhisperwind@gmail.com>

* Fixes z_message_otr memory leak.

* Update soh/soh/z_message_OTR.cpp

* Update soh/src/code/game.c

* docs: add how to find otr files to switch instructions (#78)

* bump lus (#79)

* comment out RegisterBlendedTexture in king d (#80)

---------

Co-authored-by: Nicholas Estelami <NEstelami@users.noreply.github.com>
Co-authored-by: David Chavez <david@dcvz.io>
Co-authored-by: briaguya <briaguya@alice>
Co-authored-by: Kenix3 <kenixwhisperwind@gmail.com>
Co-authored-by: KiritoDv <kiritodev01@gmail.com>
Co-authored-by: briaguya <briaguya>
Co-authored-by: Ralphie Morell <stratomaster64@gmail.com>
Co-authored-by: MelonSpeedruns <melonspeedruns@outlook.com>
Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>
Co-authored-by: Patrick12115 <115201185+Patrick12115@users.noreply.github.com>
Co-authored-by: Rozelette <Rozelette@users.noreply.github.com>
Co-authored-by: Christopher Leggett <chris@leggett.dev>
Co-authored-by: Lywx <36680385+KiritoDv@users.noreply.github.com>
2023-04-27 19:20:41 -04:00
briaguya
5324dfae67
clean up build info on logo screen (#2736) 2023-04-23 19:13:51 -04:00
Adam Bird
8f0f8c7644
Rando: Add Granny's Potion Shop to Merchant Shuffle (#2723)
* add granny shuffle to 3ds code

* add granny shuffle to soh randomizer

* make granny hand out merchant check

* have medigoron set pending sale mod

* capitalize granny shop item
2023-04-20 21:25:11 -04:00
Adam Bird
1b63f4ca1a
Tweak: Shopsanity Heart Pieces and Containers now refill Link's health (#2724)
Heart Pieces and Heart Containers normally refill Links health when the text box with their respective textID is closed.
However, with shops and shopsanity, after receiving the heart piece, the textbox isn't actually closed. The shop keeper keeps it open to prompt the player if they want to continue shopping. This prevents the health refill logic from running.

This PR adds a check for these items in the BuyEvent for randomizer items and manually refills Links health.
2023-04-20 21:00:00 -04:00
PurpleHato
6562823b72
Readability - Magic Numbers (#2707) 2023-04-18 00:55:02 -04:00
Adam Bird
4aee3b6cc9
fix lake hylia sun granting multiple fire arrows in vanilla (#2708) 2023-04-18 00:53:38 -04:00
Adam Bird
40b6dae261 Fix: Kak GS placement on construction site (#2695) 2023-04-11 18:56:57 -04:00
Adam Bird
d56899dd0b
fix death mountain cloud in rando (#2691) 2023-04-11 08:14:21 -04:00
briaguya
330da0b5ec
khan -> dev 2023-04-07 17:06:58 -04:00
Adam Bird
b10e489cc6
fix cobra statue shadow and small doc updates (#2666) 2023-04-07 11:22:42 -04:00
Adam Bird
ad60ad7c2b
Fix: Goron Link's text in randomizer and have Big rolling goron continue rolling (#2670)
* fix link the gorons text ids in rando

* document goron link flags

* check for fire temple clear instead of medallion for link goron

* stop goron link from shivering after opening doors and have big rolling goron resume rolling after giving check

* remove unneeded rando check

* add comments
2023-04-07 11:21:28 -04:00
Ralphie Morell
ff1d8a9e9d
Enhancement: Room/Scene Timers (#2478)
* Groundwork on scene/room timers; naming changes

* added to save manager; reworked storing timestamps

* actually saved stuff to savemanager;
accounted for null playstate

* finally fixed the fucking timers

* Added scene mapping

* Added CVar for room/scene level; fixed some displays

* reworked logic

* increase name spec for scene timestamps

* Actually save item timestamps when loading v3 save

* Cleanup

* fix merge artifact

* apply suggestions
2023-04-03 00:06:55 -04:00
briaguya
0f40472c1a
khan -> dev 2023-04-02 21:37:00 -04:00
Patrick12115
2af952b180
[Time Saver Enhancement] Nighttime GS Always Spawn (#2611)
* Nighttime GS Always Spawn

* add hook onSceneSpawnActors

* implement onSceneSpawnActors hook to spawn GS in various day scenes

* handle the kak tree skull during the day

* Update mods.cpp

* Add the &

* Fixes

* Update soh/soh/Enhancements/mods.cpp

Co-authored-by: Adam Bird <Archez@users.noreply.github.com>

---------

Co-authored-by: Adam Bird <archez39@me.com>
Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
2023-04-02 21:11:08 -04:00
Adam Bird
62bd4b0ba7
remove rando allowing grave pulling during day (#2660) 2023-04-02 14:18:21 -04:00
Patrick12115
fb8dacbc69
[Cheat] No ReDead/Gibdo freeze (#2643)
* No freeze

* Simplified

* removed random spaces

* Removed unnecessary parenthesis
2023-04-02 05:13:34 -04:00
Patrick12115
b099b5649b
[Time Saver Enhancement] Dampe Appears All Night (#2618)
* Dampe Appears All Night

* Take out time check
2023-04-02 04:19:58 -04:00
aMannus
ca23d87a3a
Hyper Bosses (act and move twice as fast) (#2555)
* Hyper bosses

* Actor* to void* + cast to fix build

* Cleaner implementation

* Fix enemies taking double damage

* Fix smaller dodongo's being sped up

* Additional fix and code cleanup

* Proper fix for double damage

* Extern variable -> GI state
2023-04-02 04:00:21 -04:00
briaguya
2a0a31ae7e Merge branch 'develop-khan' into khan-to-dev 2023-04-01 14:19:41 -04:00
Adam Bird
f5bcc6dccf
fix crash when fishing rod is cast and scene is reloaded (#2657) 2023-04-01 14:06:53 -04:00
Adam Bird
0c43fe7e48
fix mido blocking pathway when link has kokiri emerald (#2653) 2023-03-31 23:13:24 -04:00
Adam Bird
545bc21fbe
Tweak: CTMC/CSMC for treasure mini game reward and set loser green rupee as junk (#2652)
* set green rupee to junk category for ctmc

* allow treasure chest game reward to use CSTMC and cleanup logic
2023-03-31 22:22:45 -04:00
Adam Bird
21a3bd9f5c
Fix: Actually display correct GS token count in message for vanilla and rando (#2651)
* Revert "fix skulltula token count message on vanilla (#2597)"

This reverts commit 2117d98178.

* fix vanilla vs rando gs token count to be correct
2023-03-31 22:05:14 -04:00
Adam Bird
f682102c96
fix theater mask checks not always granting items (#2650) 2023-03-31 21:29:35 -04:00
RaelCappra
c9c7fc7df6
Restore 1.0 quick Bongo kill glitch (#2641)
* Restore 1.0 quick Bongo kill glitch

* Address review comments
2023-03-22 20:59:44 -04:00
briaguya
356d959b70
bump lus 2023-03-14 02:45:19 -04:00
briaguya
2bd8316d54 Merge remote-tracking branch 'hm/develop-khan' into khan-to-dev 2023-03-14 00:29:30 -04:00
aMannus
866882e4c6
CrowdControl V2: Effect Overhaul (#2433) 2023-03-13 11:37:50 +01:00
aMannus
76e99ffe19
Feature - Bonk damage under difficulty options (#2584) 2023-03-12 08:10:03 +01:00
Adam Bird
1ce9634f65
clear bongo bongo static effect on actor reset (#2603) 2023-03-12 08:06:52 +01:00
Malkierian
73052617ed
[GI] Item_Give and OnReceiveItem updates (#2580)
* Changed OnReceiveItem hook to pass GetItemEntry, which required the following changes:

Reworked the references to it in `z_parameter` to call a single function with the item return and hook call in it for ease of editing.

Modified the pendingSale functionality to set and pass a modIndex value as well, as mod items (like randomizer) in shops still use the vanilla sale path.

* Missed some files for the pendingSale changes.

Also added Randomizer_Item_Give to the OnReceiveItem system.

* Ice traps now trigger OnReceiveItem.

* All ice traps truly do work now.

As a side effect, item autosave doesn't work for shop/scrub/merchant transactions, requires new OnSaleEnded hook that can also call the autosave.

* Removed unnecessary calls to ItemTable_RetrieveEntry where GetItemEntry properties were being used to call it.  General code cleanup.

* Added OnSaleEnd hook for when rupees are finished deducting after a sale.

Migrated AutoSave to its own function, registered AutoSave function to OnReceiveItem and OnSaleEnd hooks to help with autsaving after buying items.

Some futureproofing for AutoSave function with parameters for skipping autosave, for when transition end is migrated to AutoSave function (whether through direct call or through a hook).

* Renamed hook paramaters, and registered hook function parameters, to a more descriptive alternative.

* Missed a couple, fixed a typo.

* One more missed paramater name refactor.

Refactored all references to OnReceiveItem to OnItemReceive to mirror upcoming full hook refactor for name ordering conventions.

Up-to-date with develop.
2023-03-12 08:00:03 +01:00
aMannus
095066ffcd
Enemy Rando - Arwing range check (Khan Edition) (#2613)
* Arwing range check

* Small code cleanup
2023-03-11 09:47:56 -08:00
Adam Bird
2117d98178
fix skulltula token count message on vanilla (#2597) 2023-03-08 10:18:02 -05:00
briaguya
eb28d114cd
khan -> dev 2023-03-06 23:39:08 -05:00
Adam Bird
ce115272cd
fix equip now enhancement running with non-equipment items (#2590) 2023-03-06 23:15:51 -05:00
Adam Bird
0a67e42f6c
handle angry happy mask throwing link out in entrance randomizer (#2578) 2023-03-04 00:30:20 -05:00
David Chavez
21466192e5
[Accessibility] Text to Speech (#2487) 2023-03-02 09:27:28 +01:00
David Chavez
109345e94d
[Resources] Properly encode soh textures and remove raw load (#2548) 2023-03-01 10:18:26 +01:00
Adam Bird
1fc6a2f08f
Rando version warning on different builds (#2420)
* save build version to savefile

* adjust rando hash icons to use fade in/out

* add dialog message support on the file select screen and display rando version warning

* remove duplicated message functions and use stubbed play state instead for rando warning

* add major/minor/patch version saving to file and compare against

* use strncpy and memset for build version

* don't show rando warning one copy/erase screens

* review feedback

* Add german and french translations for rando warning

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>

---------

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
2023-02-28 20:46:55 -05:00
briaguya
2df6acc908
Fix: some greg hint stuff (#2557)
Co-authored-by: briaguya <briaguya@alice>
2023-02-28 18:23:22 +01:00
Evgenii Babinets
afc61e65ee
Restored vanilla pause buffering and input behavior broken by 'easy frame advance' cheat (#2511)
* Restored vanilla pause buffering and input behavior broken by 'easy frame advance' cheat

Currently, holding A and repeatedly pausing and unpausing will cause that A input to be repeated, resulting in Link rolling without additional A inputs. Similarly, holding Z and unpausing in front of a candidate actor will cause Link to switch Z-targeting to that actor.

As a side effect, this also does not allow inputs to be buffered before the Subscreen has finished its closing animation, which is how vanilla also works. This is slightly unfortunate because the "freeze" before the game resumes is considerably shorter in Shipwright, but it'd be better to implement a fake delay there if we want to make it more forgiving.

* Fixed writing past end of the buffer when loading personal item tracker notes longer than 8 characters

* Revert "Fixed writing past end of the buffer when loading personal item tracker notes longer than 8 characters"

This reverts commit 721c18d488.
2023-02-28 04:22:26 -05:00
briaguya
7f5221b149
Supersonic merge fixes (#2553)
* ss2

* Remove Comments and Rupees when dead.

* Rupees removal for real

* Updated Inline formatting as well as changed Mode Idenitifier from Super Sonic to Rupee Dash.

* Add OnPlayerUpdate hook

* Move rupee dash to hooks

* Update comment for DashInterval

* ss2

* Remove Comments and Rupees when dead.

* Rupees removal for real

* Updated Inline formatting as well as changed Mode Idenitifier from Super Sonic to Rupee Dash.

* Add OnPlayerUpdate hook

* Move rupee dash to hooks

* Update comment for DashInterval

* Update Health to not crash on less than 16 units.

* lus

* fix build, use `Health_ChangeBy`

---------

Co-authored-by: Caladius <Caladius@users.noreply.github.com>
Co-authored-by: David Chavez <david@dcvz.io>
2023-02-28 03:52:32 -05:00
briaguya
061e232685
fix greg hint (and an RSK parsing issue) (#2547)
* fix RSK parsing error introduced by  #2541

* add logic to not give greg hint when we shouldn't

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-27 21:03:00 -05:00
Adam Bird
f7bb807940
[Game Interactor] Add LoadGame and ExitGame hooks (#2542)
* add loadgame/exitgame GI hooks

* implement loadgame/exitgame hooks in game code

* move entrance tracker data lifecycle to hooks

* update cosmetic editor to update onloadgame hook
2023-02-26 23:04:57 -05:00
David Chavez
2cb4a6ee7e
[Resources] Cleanup old hacks and rename (#2546) 2023-02-27 02:55:40 +01:00
briaguya
60b206140d
Greg Hint + Hint cleanup (#2537)
* Restore greg stuff

* Cleanup

* Actually check for Greg when creating Greg hint

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>

* whoops

* Update soh/soh/Enhancements/randomizer/3drando/hints.cpp

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>

* fix greg hint crash, clean up hint generation (clear out hints when setting is off)

* update vanillafill too

* fix text id, parse json, expand array to fit hint

* actually parse/use greg hint RSK

* specify "after buying a key" in hover text hint

---------

Co-authored-by: David Chavez <david@dcvz.io>
Co-authored-by: Ralphie Morell <stratomaster64@gmail.com>
2023-02-24 20:35:15 -05:00
Ralphie Morell
4a4f7e6d96
[Fix] Static Bomb Radius (#2515) 2023-02-21 08:49:53 +01:00
briaguya
494bdcdb25
gibbs -> dev 2023-02-17 08:02:08 -05:00
briaguya
68c8f50a71
greg bridge in logic (#2460)
* greg bridge in logic

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-16 21:53:08 -05:00
Bigs
d275740c88
Separate X/Y axis sensitivity sliders (#2472)
* Update z_camera.c

* Update GameControlEditor.cpp

* Update GameControlEditor.cpp

* Update GameControlEditor.cpp

Adding Sliders for first person X and Y axis

* Update z_player.c

Modified variables to allowed separate sensitivity settings for x and y axis
2023-02-15 20:42:21 -05:00
Bigs
b19c72070d
Enhancement Toggle - Disable Automatic First Person Mode for Bombchus (#2471)
* Update z_camera.c

* Revert "Update z_camera.c"

* Update GameMenuBar.cpp

Added tickbox for NoFPChus

* Update z_player.c

Added check for Disable First Person Bomchus enhancement

* Update z_player.c

Removed comment as statement is clear on its own

* Update GameMenuBar.cpp
2023-02-15 01:47:38 -05:00
PurpleHato
e60f2b0c55
ADD: Time Savers -> Link as default file name (#2475) 2023-02-14 21:15:15 -05:00
Cardboy777
2241635ac5
Option for link's models reflect the projectile weapon he's holding (Bow/Slingshot) (#2454)
* Link's models reflect the projectile weapon he's holding

extracted logic from months-old PR

* apply bow/slingshot model changes only if 'gBowSlingShotAmmoFix' is enabled

* Apply suggestions from code review

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>

* whitespace

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-02-14 21:14:42 -05:00