Commit Graph

2014 Commits

Author SHA1 Message Date
Ralphie Morell
279af81ead Implement custom draw for souls;
change souls from tokens to blue fire
2023-10-30 01:13:26 -04:00
Ralphie Morell
9b49d73814 playtest feedback; cleanup 2023-10-29 21:48:57 -04:00
Ralphie Morell
be37cabaa9 pls build on mac 2023-10-28 01:20:13 -04:00
Adam Bird
fd09a12fff
String copy util method and fix Save Manager string copy overflows (#3274)
* add safe string copy method

* use string copy for save manager

* use string copy in spoiler log hint parsing

* remove intermediate string vars

* more string copy use in randomizer methods

* use string copy in gameplay stats

* add load char array method to remove string intermediate var

* try string.h import instead
2023-10-27 15:18:56 -04:00
Ralphie Morell
2e50fbb0d2 Rework boss soul helper 2023-10-27 00:48:36 -04:00
louist103
837072f80f
Check for compressed files in the extractor (#3292)
* Check for zip/rar header in the extractor.

* 7z
2023-10-26 19:39:26 -05: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
Malkierian
de430dc256
Fix for "Fewer Tunic Requirements" allowing child access to Fire Temple Boulder Maze (#3273)
* Add `IsAdult` to Fewer Tunic Requirements check for `FireTimer` in rando logic to preven placing items in lower maze expecting child to get them.

* After discussion, decided to change it to lock access only to lower maze so child access with dungeon shuffle remains intact.
Also changed the tooltip for Fewer Tunic Requirements to reflect the current status of what the trick enables.

* Further update to tooltip.
2023-10-26 19:38:10 -05:00
DeusVexus
743be7b684
Adds the easy Quick Put Away (QPA) cheat (#3268)
* Adds an easy qpa cheat that gives the
glitched damage value of the quick put away glitch

* Adds RegisterEzQPA(); under InitMods()
2023-10-26 19:38:02 -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
Malkierian
b47164a110
Fixes custom sequences not being listed in Audio Manager dropdowns, and adds a check to the shuffle function to make sure sequences with canBeUsedAsReplacement = false can't be shuffled in. (#3324) 2023-10-25 13:14:26 -05:00
Adam Bird
e369ad4c86
Pass in custom assets to OTRExporter (#3328)
* bump submodules and use custom assets dir

* bump submodules
2023-10-24 20:51:54 -07:00
Adam Bird
3558a32222
Merge pull request #3315 from Archez/move-soh-assets
Move SoH custom assets out of OTRExporter
2023-10-24 20:12:14 -07:00
Garrett Cox
02f61bc3fa
Fix two missing changes after ms GI enum was changed & hint fix (#3319)
* Fix two missing changes after ms GI enum was changed

* Remove unnecessary line break from hint, and fix infinite loop within AutoFormatHintTextString

* Update soh/soh/Enhancements/randomizer/3drando/hints.cpp
2023-10-22 20:08:56 +00:00
Pepper0ni
15ebcd30fb
Remove disabled special hints and warp song hints from the spoiler log (#3110)
* Initial implementation of no-duplicates of special hints

* stupid fixes

* fix always hints being suppressed by special hints

* Impa's song will no longer be hinted when you skip child zelda

* fix building

* Remove disabled special hints from the spoiler log

* Fix Loading spoiler logs causing corrupt hints, remove disabled warp song shuffle text from spoiler logs

* Fix not detecting text size correctly and badly named greg hint

* Remove disabled special hints from the spoiler log

* Fix Loading spoiler logs causing corrupt hints, remove disabled warp song shuffle text from spoiler logs

* Remove Sheik and Saria hints from the spoiler log when are not enabled

* Prevent Magic hinted by Saria and Light Arrows hinted by Sheik from being hinted elsewhere unless they are locked by that item.

* Prevent the Final Frogs gossip stone hint from spawning when the special final frogs hint is enabled.

* Fix building after rebasing in deduplication

* redelete keys.hpp
2023-10-22 10:11:36 -05:00
inspectredc
77c8c832c0
Use correct save context for triforce piece collected save data (#3301)
* gSaveContext->saveContext for triforce piece save manager save

* use an arrow..
2023-10-21 20:55:55 -05:00
Adam Bird
3516b4443d
fix triforce transition offset values (#3285) 2023-10-21 20:55:41 -05: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
Adam Bird
12c09ecc3d Merge remote-tracking branch 'origin/develop' into move-soh-assets 2023-10-20 21:09:32 -04:00
Christopher Leggett
2a52493d1f
100GS Tracker Fix (#3314)
* Fix 100 GS check in check tracker

* Add missing rcToRandomizerInf entry for 100 GS tokens
2023-10-21 00:43:25 +00:00
Adam Bird
c61f519f17 move soh assets out of otrexporter 2023-10-20 20:23:41 -04:00
inspectredc
e6445e0ce3
Age Requirement Docs (#3277)
* age req docs

* move macros

* use decomp names
2023-10-20 18:40:10 -05:00
quellen-sol
f56e839480
Add Geo rupee name (Hollow Knight) 2023-10-20 15:40:28 -07:00
Christopher Leggett
4d7fb88e2e
Fix 100 GS check in check tracker (#3311) 2023-10-20 19:37:59 +00: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
Ralphie Morell
9d8eab4511 add souls back to item list 2023-10-20 00:16:21 -04:00
Malkierian
35b4357776
Moved Heaps_Free outside Main after DeinitOTR, and mirrored Heaps_Alloc before and outside of Main. (#3279) 2023-10-20 03:36:52 +00:00
Ralphie Morell
f41bbeab06 actually get it running 2023-10-19 23:14:51 -04:00
Ralphie Morell
4d31463044 merge pt 2 2023-10-19 21:21:00 -04:00
Ralphie Morell
ce94c047b5 Merge remote-tracking branch 'upstream/develop-rando' into soulcalibur 2023-10-19 21:20:43 -04:00
Christopher Leggett
92028aa8d8
Rando Definition Deduplication (#3284)
* 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
2023-10-19 18:48:25 -05:00
inspectredc
c3784b9758
Fix greg as reward logic (#3297) 2023-10-19 18:14:23 -05:00
inspectredc
9d581f10e7
magic (#3278) 2023-10-19 18:13:33 -05:00
Ralphie Morell
e005985559 Added tracker support 2023-10-19 17:17:45 -04:00
Ralphie Morell
0751c59530 also remove phantom ganon's horses if he's not there 2023-10-19 00:23:05 -04:00
Ralphie Morell
db4a30a7ff don't commit at fucking 2am 2023-10-18 23:58:14 -04:00
Ralphie Morell
51e965cf7e Cleaned up soul helpers; added check for ganon soul 2023-10-18 20:58:09 -04:00
inspectredc
38d70dd12f update tooltip to mention glitch use 2023-10-18 23:04:55 +01: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
cff2e37287
Restoration: RBA Values (#2672)
* Restore RBA Values

Matches all rba scenarios achievable in game to their original outcomes. This only ends up affecting certain trade items.

* tooltip rewrite

* rba cases generalised

* re-add to menu bar

* better byteswap and checks for endianness

* remove leftover defines
2023-10-17 09:25:09 -05:00
Garrett Cox
f30e76e7b1 MVP ValueViewer 2023-10-17 08:54:52 -05:00
aMannus
da92ac6a37
Audio Editor clean-up (#3256)
* Progress on SFX cleanup/sorting

* Fix crash after dev merge

* Rename vars
2023-10-17 08:29:13 -05: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
PurpleHato
3ed976e6af
TWEAK: Add transition to the Time Travel feature (#3276)
* ADD/ Proper Transition

* REM: Dupe
2023-10-15 18:09:55 -05:00
Adam Bird
42f6cfe66b
add save editor field for current b button item (#3262) 2023-10-15 17:25:52 -05:00
aMannus
a3c52626e6
Randomizer - Colored hints (#3259)
* Colored hints

* Missed 2 french translations
2023-10-15 17:25:43 -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
Adam Bird
5ddc418777
redicle -> reticle (#3257) 2023-10-13 23:14:18 +00: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
Adam Bird
57d4d1ae20
typo on asset attribute for pal1.1 (#3264)
* typo on asset attribute

* base address fix
2023-10-13 23:12:16 +00:00
inspectredc
8c7786d4bb
Replace Race Preset Magic Numbers and Remove gPreset1 from No Logic Preset (#3255)
* magic

* Remove gpreset1
2023-10-11 15:11:04 +00:00
Adam Bird
1829a6a154
Update buildBUILDING.md and adjust cpack for Windows (#3229) 2023-10-09 15:28:22 +00:00
Julian Garritano
bb23fbc143
Fix Warp Song Hints option (#3260) 2023-10-07 10:33:35 -05: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
inspectredc
b1f0c964d2
Item Tracker Combo Button Fix (#3231)
* let words be small

* change >=1 to >0
2023-10-02 14:34:37 +00:00
inspectredc
82d87ff680
Clear Cutscene Pointer Button/Cheat (#2837)
* clear custcene pointer button

* now use RawAction for button

* add button to new menu bar
2023-10-02 14:28:27 +00:00
Malkierian
ebfd14974f
Modify arrow buttons in Audio Shuffle Pool Manager to be FA times and plus instead of the ImguiArrow to make the difference between "Exclude" and "Play Preview" clearer. (#3226) 2023-09-30 08:55:51 -05:00
Malkierian
6e50d7110a
Open App Files Folder (#3221)
* Add "Open App Files Folder" menu item to Ship menu on desktop platforms to open the folder where mods, logs, etc, are found.

* Change to `GetAppDirectoryPath` to get config location instead of executable/bundle path.

Also unified the absolute path creation across all platforms by using `std::filesystem::absolute`. It manages to even expand the "." returned for portable Windows mode.

* Removed unnecessary platform define check.
2023-09-30 08:55:43 -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
briaguya
4c693db224
tweak shuffle pool tab to better fit voice option (#3216) 2023-09-26 08:47:18 -05:00
Adam Bird
c6356853ae
fix better debug warp deku tree entrance (#3195) 2023-09-26 08:47:08 -05:00
aMannus
5d3429e04f
CrowdControl bypass voidout/die crash in pre-rendered background areas (#3186)
* Bypass camera crash when voiding/dying in fixed camera areas

* Update comment
2023-09-26 08:46:10 -05:00
Garrett Cox
db10864e95
Add flag set/unset hooks and GI actions (#3065) 2023-09-26 08:45:51 -05:00
aMannus
bae6cf4203
Randomizer feature: Triforce Hunt (#3062)
* Initial work to make triforce pieces their own rando item

* Disable triforce greyscaling

* Better triforce model, finish adding triforce pieces to logic

* Triforce model is now a shard

* Credits warp + start of item tracker

* Initial item tracker stuff

* Completed triangle on triforce completion

* Completed triforce model on GI done

* Multiple triforce piece models

* Triforce pieces in save editor & fix build

* Finish item tracker

* Gameplaystats timestamp

* Revert parts of logic

* More reverting

* Start of making Triforce Hunt the win condition

* Bit of cleanup

* Triforce pieces can show up as icetraps

* Grant GBK to player after hunt is completed

* Better text boxes

* Disable GBK option in ImGui with Triforce Hunt on

* Clean-up

* Forced save on completion improvements

* Update Item Tracker Settings initial size

* Small ImGui adjustments

* French translation and update defaults

* Finish translations

* Fix timer completion & 50+ triforce pieces

* Remove GI_ and ITEM_ enum usage, add french ice trap names

* Fix build & small fixes

* Review comments

* Comment clarification
2023-09-26 08:45:37 -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
Adam Bird
bb643661f6
GC PAL MQ Retail support (#3167)
* initial pal mq retail support

* more mq pal support

* pal mq support in the launch scripts

* more offset fixes

* match tluts with mq debug

* update support hashes doc

* target lus commit for playtesting

* more offset fixes

* add hashes for other formats

* decomp name sync

* add scripted texture definitions

* fix up from other xml changes

* update name
2023-09-19 09:30:48 -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
Malkierian
356e305bd3
Fixes erroneous formatting in randomizer.cpp. (#3194) 2023-09-16 15:59:20 -05:00
Malkierian
533f29bce9
Update to RCObjects (#3193)
* Add `vanillaCheck` to `RandomizerCheckObjects` and update the `RCObjects` table and macro.

Update `ogItemId` for many checks.

* Rename `vanillaCheck` to `vanillaHundoCheck`.

* baguette

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

* Bean Salesman should be true for `vanillaHundoCheck`

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

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2023-09-16 15:59:03 -05: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
Malkierian
328e6da46b
Fix warp song hints setting not loading and the check being inverted. (#3197) 2023-09-14 23:19:06 -05:00
Garrett Cox
b6ce810d36
Store seed string in the save, and use it for mirror mode & enemy rando (#3175) 2023-09-14 22:15:21 -05:00
aMannus
d32d8836f8
Disable CC knockback while crawling (#3187) 2023-09-14 21:54:04 -05:00
aMannus
3235f88ef6
Update CC .cs file (#3183) 2023-09-14 21:53:42 -05: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
Pepe20129
3116a9c8b5
Add gDebugSaveFileMode (#3170)
* Add gDebugSaveFileMode

* Don't apply gDebugSaveFileMode on the title screen

* Re-run build

* Re-run build

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2023-09-14 21:51:49 -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
Garrett Cox
7dffd63c39
Initial pass on some logging that would be helpful for debugging crashes/problems (#1457) 2023-09-14 21:31:05 -05:00
Malkierian
0a1e70ebaa
Test Tracker Rework Breakout (#3180)
* Fix indentation for `actualItemtrackerItemMap`.

Abstract equipment, quest item, and song checking for the item tracker.

* Simplify `HasSong`

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

* Rename `HasEqItem` to `HasEquipment`.

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-09-13 10:09:45 +02: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
Caladius
023654f617
Update No Logic for previous rule set (#3159) 2023-09-10 12:53:05 -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
Malkierian
3d0075e6ef
Audio Editor Lock Button and Cleanup (#3140)
* Changed Audio Editor buttons to use FontAwesome icons instead of words.

Added the locked/unlocked button.

* Added functionality to lock button. "Randomize All" respects the lock, individual shuffle buttons bypass and the lock and unlock the sound.

Added tooltips to all the FA buttons.

Shrunk right side of Audio Editor window to match width of new buttons.

Unified all references to the randomized value and lock to two functions that automatically applied prefix and suffix.

Changed "Reset All" to clear the cvars instead of changing them to default.

* Fixed bug where individual randomize button didn't change the BGM if randomizing current sequence.

* Added check for unchanged BGM in Reset All and Randomize All to account for lock button blocking changes.
2023-09-10 12:48:34 -05:00
inspectredc
0f41b25918
bush drop fix (#3148) 2023-09-10 12:48:17 -05:00
Pepe20129
ccc933c59a
Rando cleanup (#3157)
* Remove 3drando setting descriptions

* Remove 3drando cosmetics

* Remove part of 3drando's menu

* Remove 3drando's music & sfx randomizers

* Remove 3drando's patch system

* Remove 3drando's citra logging

* Remove some of 3drando's custom messages

Some can't be removed (like the ganon la hint) as they are used

* Remove useless params in item_location.cpp

These types of SpoilerCollectionCheck just checked the rand inf corresponding to check and ignored the scene & flags params.

* Remove 3drando's unused check categories

* Remove some of 3drando's menu system

* Remove 3drando's preset system

* Remove some unused settings code

* Remove some unused settings

* Remove some unused ItemLocation params

* Remove SpoilerCollectionCheck::Fishing param
2023-09-10 12:46:35 -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
90af84601a
add xml definitions for all textures (#3161) 2023-09-10 12:22:24 -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
c3d32182a5
fix hookshot texture for hd and alt assets (#3149) 2023-09-10 12:21:38 -05:00
Adam Bird
1d9adcd5a5
fix remaining unaligned assets for mac (#3138) 2023-09-10 12:21:26 -05:00
Adam Bird
b2ad348508
support for pal 1.1 change language option (#3124) 2023-09-10 12:21:13 -05:00
Adam Bird
a129371923
Add extraction support for ByteSwapped and LittleEndian formats (#3042)
* add extraction support for byteswapped and littleendian formats

* update linux/mac scripts to handle v64 and n64
2023-09-10 12:20:58 -05:00
Malkierian
644ab7f498
Added a 2-second timer to autosave personal notes, based on frames idle after editing and ticked by OnGameFrameUpdate. (#3155) 2023-09-01 13:43:25 -05:00
Adam Bird
dd37d4f9b8
regenerate asset headers with include guards (#3132) 2023-09-01 11:47:51 -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
Adam Bird
bea24fcde7
fix audio crash when trying to detect BGM_DISABLED (#3150) 2023-08-30 17:07:21 +00:00
aMannus
7c31eafc1e
Fix ice trap message (#3158) 2023-08-30 17:05:48 +00:00
inspectredc
c00ac9b878
fix mistake (#3147) 2023-08-30 17:05:08 +00:00
aMannus
8ab9346f76
Fix bombs not showing up (#3145) 2023-08-30 17:04:51 +00:00
Adam Bird
f6c6bd0bec
Fix: Check for debug mode when watching cutscene debug inputs (#3133)
* fix check for debug mode when watching cutscene debug inputs

* update other cvar to debug enabled
2023-08-30 17:04:21 +00:00
louist103
4aadf4c14c
Fix more warnings. (#3101)
* Fix warnings

* Submodule
2023-08-30 17:02:07 +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
LuigiXHero
188ec26f5a
Fix the preview in voice tab (#3142)
I forgot to add seq_voice to a line also fixed voice count and fixed the capitalization on voice

Co-authored-by: LuigiXHero <LuigiXHero@gmail.com>
2023-08-25 12:59:16 -05:00
louist103
f0035e3090
Fix hookshot dot (#3137) 2023-08-21 19:20:17 -04:00
LuigiXHero
3fb698bab8
Selection for Vanilla/MQ dungeons (#3058)
* Selection for Vanilla/MQ dungeons

* Match names to exclude location list

---------

Co-authored-by: LuigiXHero <LuigiXHero@gmail.com>
2023-08-20 13:24:08 -05:00
Adam Bird
0ce2d30605
add visualization for pause menu item cycling (#3118) 2023-08-20 13:00:43 -05:00
louist103
155f5e165a
Use a different color when aiming at hookshotable collision (#3105)
* Colors

* Use VTX data in OTR file

* Move to equipment
2023-08-20 13:00:28 -05:00
Malkierian
61eba0efad
Add toggle option for save states (#3095)
* Add toggle option for save states, off by default, with significant warning about what they actually do before enabling (double checkbox confirmation).

Add overlay text notification when attempting to use any of the state hotkeys if save states aren't enabled. Stays up for 6 seconds.

* Added coloration (yellow and orange) to the warning header.

* A little more clarification in the warning.
2023-08-20 13:00:04 -05:00
aMannus
b040a894d1
Remove debug elements and visual SoA (#3086) 2023-08-20 12:59:39 -05:00
Adam Bird
f19f303651
Actor Nametag System (#3083)
* initial nametag system

* add debug name tags in actor viewer
2023-08-20 12:59:23 -05:00
LuigiXHero
2da8be331b
Add voice tab to Audio Editor (#3080)
* Work on Voice rando

Todo: rename rest of entries and reorganize it into a new tab

* Finish going through voices for audio editor

Also make it, it's own tab. Added the option.

* Fixed adult link voices and recounted sound effects/voices

* Remove option

* Update soh/soh/Enhancements/audio/AudioCollection.h

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

* Remove commented out voices from sfx section

* fix spacing

---------

Co-authored-by: LuigiXHero <LuigiXHero@gmail.com>
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2023-08-20 12:59:10 -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
LuigiXHero
d12592377c
Change GTG to Gerudo Training Grounds in key ring settings (#3059)
Sorry it was bugging me too much

Co-authored-by: LuigiXHero <LuigiXHero@gmail.com>
2023-08-20 12:58:24 -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
Christopher Leggett
b94d7f135d
#3040 give em to the distro packagers + LUS submodule bump (#3119)
* implement for install method packagers

* use std::filesystem::temp_directory_path

* absolutely impeccable

* include libultraship proof

* fix windows compilation

* rename "Installation" back to "Bundle"

---------

Co-authored-by: Alto1772 <56553686+Alto1772@users.noreply.github.com>
2023-08-13 18:45:45 -04:00
Adam Bird
91c6eba0d0
tweak: easy pause buffer to track inputs better (#3054) 2023-08-13 11:41:19 -04:00
Adam Bird
78790fe8aa
[Accessibility] Tweak Pause menu TTS functions (#3098)
* tweak kaleido tts

* tts announce what items are assigned to buttons; announce page on open
2023-08-13 11:41:04 -04:00
Malkierian
05dde45a75
Update AudioEditor.cpp (#3115) 2023-08-13 11:40:44 -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
louist103
d22ca3cfc3
Rewrite the logic to check for CRC32 at runtime (#3072)
* rewrite the logic to check for CRC32 at runtime

* fix include for windows

* fix pragmas

* more clang fixes

* MORE

* Please apple

* I hate this

* MAC AGAIN

* Clarify the ifdefs

* ARM64 fixes
2023-08-11 23:02:05 -04:00
Garrett Cox
b2aa24b8b0
Always use dungeon specific items in randomizer, replace message on the fly (#3041) 2023-08-06 20:58:01 -05:00
Pepper0ni
06548b3ceb
Fix various randomiser text issues and related improvments. (#3066)
* Reduce length of overflow prone item names

* Overhaul Trick Names and change Desert Waterfall to Valley waterfall

* Readd some old Trick names, Change Trick name table to a vector, improve french translations.

* Resolve #2682
2023-08-06 12:11:14 -04:00
Adam Bird
f5ab1a9b5d
fix: disable Idle camera re-center no longer stuck on level geometry (#3094) 2023-08-06 12:05:34 -04:00
Adam Bird
04bef2d600
Fix enemy healthbar crashing on Linux (#3092) 2023-08-06 12:02:54 -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
Malkierian
93ab9f0072
[Fix] Merchant Check Fixes (#3067)
* Change Granny's Shop collection type to RandomizerInf with proper scene and inf IDs so the tracker tracks it properly.

* Changed pendingSale code to be checked outside of decrementing if block.
2023-07-12 22:03:43 -04:00
Adam Bird
423e8b96b1
fix: add missing hashes in mac and linux launch scripts (#3070) 2023-07-12 21:58:43 -04:00
aMannus
22e4020265
Fix Market Sneak with masks (#3047) 2023-07-12 21:57:43 -04:00
Adam Bird
e90c8af452
Enhancement: Enemy Health Bar (#3035)
* add enemy health bar

* add more cosmetic editor options to health bar

* add tooltip

* fix enemy health texture when no magic bar
2023-07-12 21:55:24 -04:00
Adam Bird
360a97ecfd
fix: various pal gc asset offset issues (#3052) 2023-07-03 10:29:21 -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
Pepper0ni
531b346fc9
Add exact item and check to the spoiler log for WotH hints (#3043) 2023-07-02 14:50:51 -04:00
briaguya
def7a15354
handle random mq dungeon count better (#3036)
Co-authored-by: briaguya <briaguya@alice>
2023-06-27 19:58:36 -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
Adam Bird
a05d8131ec
invert culling for collision viewer (#3021) 2023-06-20 22:05:52 -04:00
briaguya
a5c2bacfe0
fix: restore internal resolution and msaa slider functionality (#3026)
Co-authored-by: briaguya <briaguya@alice>
2023-06-20 22:04:32 -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
d4ff05f51d
update mac and linux launch scripts to make mods dir (#3013) 2023-06-17 13:27:59 -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
Malkierian
5daf5a14ac
Section Save Modification (#2947)
* Modified `SaveManager::AddSaveFunction` to return the section index assigned to the section name for ease of remembering it on the other end. Also added a clarifying comment.

* Modified SaveFunc to accept a boolean for whether the section is being saved individually or as part of a game save (fullSave == true means game save, so all sections registered for game save sync).
2023-06-14 23:39:14 -04:00
Bytenex
279c40cb7d
added option to choose between OoT and any ocarina (#2944) 2023-06-14 23:29:07 -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
170c8ce16e
Extra modes tweaks (#2985)
* Tweaks to extra modes menu

* Update soh/soh/config/ConfigUpdaters.cpp

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

---------

Co-authored-by: Christopher Leggett <chris@leggett.dev>
2023-06-14 23:24:50 -04:00
Adam Bird
6dc227b5ed
order spoiler log print out to match insertion order (#3006) 2023-06-14 23:23:12 -04:00
briaguya
ccfc2a84bc
hide menu bar from menu bar (#2988)
* hide menu bar from menu bar

* show `-` on switch/wii u

* actually show `-`

* actually put the thing in a place where it works

* spacers

* reorder and use `[-]` instead of `-`

---------

Co-authored-by: briaguya <briaguya@alice>
2023-06-14 23:22:48 -04:00
briaguya
af33897e4c
caps for locations in altar text (#3004)
Co-authored-by: briaguya <briaguya@alice>
2023-06-14 23:22:22 -04:00
Adam Bird
a842894d0d
Add Mirror World gfx patches and patch Royal Grave Sun Song etching (#3005)
* add mirror world gfx patches and patch royal grave sun song

* simplify nonmq vs mq
2023-06-14 23:22:04 -04:00
briaguya
ef6227d8be
fully remove OTRGui (#2982)
* linux local debug working

* built in extraction working on linux

* try a thing

* one more thing to try

* try using dir

* does this get the subdirectories?

* component before pattern

* loop i guess

* maybe component was the issue?

* zapd stuff i guess

* maybe this

* this feels promising

* g != q

* appimage is working, try fixing glfw issue on windows

* don't copy zapd.exe

* hopefully this gets the things we need in the assets dir

* is that where those went?

* try another thing

* another thing to try

* grasping at straws

* cmake makes no sense sometimes

* really just trying anything here now

* this is what i was expecting to work

* ls

* try doing it without the cmake again

* i think this might do the trick

* try with a slash

* one more thing to try

* pal_oot.txt

* maybe this makes things work on mac

---------

Co-authored-by: briaguya <briaguya@alice>
2023-06-13 09:29:36 -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
Garrett Cox
90d45d4397
Rename gDirtPathFix to gZFightingMode (#2959)
* Rename gDirtPathFix to gZFightingMode

* Add config migration
2023-06-12 20:40:29 -04:00
Garrett Cox
a6ecb77599
Add spock race preset (#2977) 2023-06-12 19:26:46 -04:00
Adam Bird
90bd072f9b
fix string usage for cosmetic hud placement reset corrupting ship json (#2961) 2023-06-12 19:16:39 -04:00
briaguya
6de0d8b69d
properly set imgui invert aiming y default (#2956)
Co-authored-by: briaguya <briaguya@alice>
2023-06-12 19:14:42 -04:00
Adam Bird
e6e7618b92
fix crash when resetting links scale without a playstate (#2970) 2023-06-12 19:06:41 -04:00
aMannus
971aaeac23
Disable greying out RTA timer in boss rush (#2973) 2023-06-12 19:01:54 -04:00
aMannus
daadef5211
Fix missing goron bracelet (#2974) 2023-06-12 19:01:24 -04:00
briaguya
16eb211102
fullscreen with f11 not f9 (#2955)
* fullscreen with f11 not f9

* update readme

* use latest lus main

* latest lus

---------

Co-authored-by: briaguya <briaguya@alice>
2023-06-12 18:59:30 -04:00
Christopher Leggett
430d5cddf2
Config versioning to fix the Fullscreen Shortcut debacle (#2966)
* WIP adding new config version.

* Implements a ConfigVersionUpdater

* Updates to account for new LUS-side changes.

* Change `ConfigVersionUpdater` to store `toVersion`

* fix typo
2023-06-12 18:59:23 -04:00
briaguya
eba0b4c146
only green the greg bridge not everything else (#2962)
* only green the greg bridge not everything else

* another option

* do it the branch way

* tabs spaces blarg

* new dir

* use latest lus main

* latest lus main

---------

Co-authored-by: briaguya <briaguya@alice>
2023-06-12 17:48:26 -04:00
Adam Bird
ca9b1614af
Fix: Minimap dungeon entrance placement (#2958)
* use correct minimaps in randomizer

* fix minimap dungeon entrance placement

* rework topLeft0 check to be more readable

* who needs topLeft0 anyways

* move minimap hidden checks up higher
2023-06-12 17:10:53 -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
Kenix3
451ce8b107
Fixes collision viewer (#2949) 2023-06-05 16:19:42 -04:00
briaguya
a49f197f06
build for wii u (#2946)
* reimplement stuff from 2879

* header include to fix build hopefully

* another header

* fix error

* remove header includes we don't have

* more error things

* a

* b

* c

* d

* e

* f

* g

* h

* use latest lus

---------

Co-authored-by: briaguya <briaguya@alice>
2023-06-05 14:16:56 -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
inspectredc
d922b91e15
Trick logic (#2681)
* Trick and Glitch Rando UI implemented

* initial temp connection between ui and backend trick logic

Hacky way to connect the logic for testing. Ran into 1 crash but cannot reproduce

* UI overhaul to look more like AudioEditor tag section

* Mapped 3d tricks to enums and save cvar bug fixes

* Trick Logic Complete

Testing on whether the logic works as expected needs to be done

* Releasable trick version, tricks match text fixes also

* Remove 3D glitch logic location access

Easier to clean it up now than get confused

* Variable typo fix & initial trick enum reorganisation

* Removal of oot3d glitches

* bongo logic fix

* UI includes difficulty tags + cleanup and removal of glitched logic interface

* Bug fixes

* added enabled tricks to spoiler log

* comment clean up

* completed once over through logic

* merge fix

* update sohimgui to LUS

* Remove redundant 3d rando trick options

* Comment clean up

* Central GS Irons Logic Fix

* Farores wind central logic fix

---------

Co-authored-by: Christopher Leggett <chris@leggett.dev>
2023-06-02 16:53:07 -04:00
Malkierian
c9bcd64beb
Improvement: Additional Spoiler Hint Info (#2727)
* First attempt at tracking hinted locations. Not looking promising for more than a hint tracker.

* Spoiler log now generates with human-readable hinted area, type, and item for gossip stone hints.

* Hints now only output location if their hint text specifically states the check. Any overworld or dungeon region hint no longer does.

* Expanded gossip stone hints to include item, hinted location and area, and `RandomizerGet` names. Currently only English names.

Part of this required changing `HintType` into a `typedef enum` instead of an `enum class` to allow usage in a .c filespace, and consolidating types from `randomizer_check_objects.h` to `randomizerTypes.h`.

* Beginning of alter rewards information.

* Step 2 of altar reward info.

* Altar reward info (location and area) now writes to and reads from the spoiler log. Added a few entries to `SpoilerfileAreaNameToEnum` to accommodate area name variants from region hint names.

* Streamlined altar data (only needed location name for `RandomizerCheck` translation. `RandomizerCheck` provides access to `RandomizerCheckArea` via `RandomizerCheckObject`).

Added Light Arrows, Greg, and Dampe's Hookshot hint locations to write and read of the spoiler.

* Fix attempts to lookup values in `hintTypeNames` as array, now uses map's `find()`.
2023-06-02 12:10:25 -04:00
Christopher Leggett
f976003563
Randomizer: Fixes defaults for LACS and Rainbow Bridge. (#2937)
* Fixes incompatible default rando settings around Greg as reward.

* Fixes defaults for LACS.
2023-06-02 08:28:32 -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
Josh Bodner
6bf42fd018
Fix order of auto equip message (#2931)
French text was being displayed in English and vice versa due to incorrectly ordered parameters.
2023-06-01 21:40:58 -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
MoriyaFaith
26d934541a
main commit (#2918) 2023-06-01 21:38:43 -04:00
aMannus
b25e4d4f26
[Feature] In-game gameplay stats timer (#2910)
* Implement in-game gameplay stats timer

* Change timer to render on top of everything
2023-05-30 18:57:45 -04:00
inspectredc
e8eaac4d77
Fix: Switch Age with Enchancements giving kokiri sword (#2929)
* fix sword

* separated flow path for switch age enhancements

* Added comments
2023-05-30 18:44:58 -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
Christopher Leggett
700fba28dd
Fixes regression in random rupee names (#2927)
Technically was a CustomMessageManager bug but it was in a function that I believe is only used for random rupee names.
2023-05-30 08:45:33 -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
Garrett Cox
3ab547c69d
Update cvar clear lists and add cheatCvars clear list(not currently used) (#2869) 2023-05-28 18:42:34 -04:00
Malkierian
0c7e80a190
Improve Controller LED Control (#2864)
* Add brightness control and on/off toggle for tunic LED colors.

* Removed toggle, mentioned brightness of 0% for turning off LEDs.

* Set up grabbing tunic color values from Cosmetics Editor for cosmetics sync.

* Why these stupid differences between Windows and Linux compilers?

* Fix Mac build errors? Also try to move the color fetching back into the switch statements to lessen potential computational load.

* Real fix?

* Move "Customize Game Controls" button under "Controller Configuration" button under Settings -> Controller. Renamed "Controller Configuration" to "Configure Controller" and "Customize Game Controls" to "Customize In-game Controls"

* Added LEDColor and LEDColorSource enums for code clarity.

Moved controller LED brightness to new LED Colors group in "Customize In-game Controls" menu.

Added combobox to choose between vanilla tunics, cosmetics tunics, health, and custom as color sources.

Added critical health override checkbox to allow display of red when health is low even when other sources are selected.

Port color pickers have not been implemented yet, default color is white.

* Moved LED control to OTRControllerCallback and wrapped it in a check to `CanSetLed()`.

* Move settings to Port 1 tab in Customize In-game Controls and limited application of colors in `OTRControllerCallback` to port 1.

* UI clarity updates.

* Removed unnecessary LED color enum.

Added custom color picker to port 1 color settings.

* Changed Critical Health Override default to true.

* Modified logic to not do color fetching and instead default to {0,0,0,0} when brightness is off.

* Fix bad cvar string for custom color.

* Cleaning up some post-merge artifacts.

* Update soh/soh/Enhancements/controls/GameControlEditor.h

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

* Some name changes.

* idea for cleaning up controller callback stuff

* Rearranged color source checks to make sure criticalOverride is applied regardless of other settings.

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
Co-authored-by: briaguya <briaguya@alice>
2023-05-28 18:40:53 -04:00
aMannus
cebfcd1d88
Hyper enemies (#2887) 2023-05-28 18:14:07 -04:00
Garrett Cox
b9c2640671
Use gBuildVersion instead of sohStats.buildVersion for gameplay stats (#2913)
Co-authored-by: Christopher Leggett <chris@leggett.dev>
2023-05-27 18:09:24 -04:00
Christopher Leggett
f4fbc79b5d
Merge pull request #2889 from Malkierian/sectional-saves
Sectional Saves
2023-05-27 16:22:36 -04:00
Christopher Leggett
f9a4070225
Merge pull request #2920 from Archez/fix-granny-unshuffled
Fix: Use blue potion refill for Granny Shop item when unshuffled
2023-05-27 15:18:33 -04:00
Christopher Leggett
f25c200526
Merge pull request #2890 from Archez/support-thieves-hideout-keyring
Expose Thieves' Hideout selection for keyrings in randomizer settings
2023-05-25 21:06:52 -04:00
Malkierian
cab90e9ac6 Removed unused variable. 2023-05-25 16:59:53 -07:00
Malkierian
d0c09394ca Re-added removal of empty sceneTimestmps objects for saving and loading, significantly reducing sohStats size. 2023-05-25 16:57:27 -07:00
Adam Bird
718ded7c44 fix: use blue potion refill for granny shop item when unshuffled 2023-05-25 15:47:51 -04:00
Christopher Leggett
f6b9c227d7
Fixes bad Key Ring Count under certain conditions. 2023-05-25 15:42:22 -04:00
Christopher Leggett
13513345bf
Remove magic numbers and fix formatting. 2023-05-25 15:35:38 -04:00
Christopher Leggett
8f5538a700
Adds validation to GF Key Ring and Key Ring Count settings. 2023-05-25 14:50:28 -04:00
Malkierian
1fa99fd50a What a nightmare that was. 2023-05-24 13:00:35 -07:00
Christopher Leggett
fe6705cc4d
Merge pull request #2906 from HarbourMasters/develop-spock
Spock -> develop
2023-05-23 09:18:15 -04:00
aMannus
dddd3b14aa
Add back missing Greg timestamp (#2911) 2023-05-22 10:56:44 -04:00
briaguya
f34df2f064
remove what i assume to be accidentally copied stuff from a diff (#2909) 2023-05-22 09:33:31 -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
Patrick12115
7962e0e6d6
Add Scene Specific Checks to Dirt Path Fixes (#2907)
* Move from Dev to Dev-Spock

* Moved to mod.h

* Update GameInteractor.h
2023-05-21 18:12:25 -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
Adam Bird
cf42057842
Fix: seed srand on launch and fix spoiler log for seed testing generation (#2902) 2023-05-20 16:25:29 -04:00
Malkierian
0b47a19c2c
Mask Sale Fix (#2900) 2023-05-20 12:05:47 -04:00
Christopher Leggett
4d02d89e03
Fixes buying songs crash on Switch (#2899) 2023-05-20 09:24:02 -04:00
Malkierian
8d0b83b691
Merge branch 'HarbourMasters:develop' into sectional-saves 2023-05-19 14:56:19 -07:00
Christopher Leggett
f2f5a75cb0
Custom message improvements (#2892)
* Adds const specifiers to some appropriate functions.

* Implements move semantics for ReplaceStringInMessage.

Should result in much fewer allocations when rendering custom messages during a Randomizer playthrough.

* Implements some more move semantics.

* First pass on improved Custom Messages API.

This should allow for fewer allocations during randomizer seed generation and runtime, plus a couple of other enhancements that utilize custom messages. It does this by taking advantage of move semantics to prevent extraneous allocations when string literals are passed in. It also takes advantage of OOP to hopefully end up with a cleaner API.

* Additional API/allocation related improvements.

* Removes an unnecessary destructor and constructor.

* Updates documentation

* Adds a bit more documentation.

* Fixes switch build problem and minor syntax error

* Renames slightly unclear operator parameter

* Replaces magic numbers with LANGUAGE_MAX
2023-05-17 22:24:24 -04:00
AltoXorg
30cc61abce
fix search rom extension oversight (#2891)
Co-authored-by: Christopher Leggett <chris@leggett.dev>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-05-17 22:22:57 -04:00
Amaro Martínez
b361d5ede1
Use UTF-8 for MSVC and enable visual styles for Windows (#2888)
* Add proper manifest for Windows

* MSVC: Use UTF-8 encoding compile option
2023-05-17 22:21:26 -04:00
Malkierian
099d9cd0fd
Threaded save was causing issues for old oot-save.sav conversion. Added an option just for that instance to run SaveManager::SaveFileThreaded outside of a thread. Everything else still runs threaded. (#2894) 2023-05-17 15:51:17 -04:00
Adam Bird
5244cda90e expose thieves hideout selection for keyrings in randomizer settings 2023-05-16 17:40:50 -04:00
Malkierian
4cf3172a3d Fixed trying to emplace in sectionRegistry without index. 2023-05-15 17:40:10 -07:00
Malkierian
1a9ef29ac5 Added function to get sectionID for a specified section name, returning -1 if section name not registered. 2023-05-15 17:32:49 -07:00
Malkierian
50fbe5d00c Modified sectional saving to utilize an integer ID for calling specific sections to cut down on string copying. Utilizes enum values for non-mod sections to allow for cross-project use of those IDs, and sets up AddSaveFunction to add mod sections after that using max value enum. 2023-05-15 17:21:14 -07:00
Malkierian
4bc0d7d60d v3 >:( 2023-05-13 18:41:10 -07:00
Malkierian
b5740bc878 v2 2023-05-13 18:35:27 -07:00
Malkierian
374301db9b Formatting and whitespace cleanup. 2023-05-13 18:29:05 -07:00
Malkierian
7861b4c092 Missed baseBlock -> saveBlock change in WiiU/Switch file writing block XD. 2023-05-13 12:33:10 -07:00
Malkierian
22531fed27 A little more code clarification. 2023-05-13 11:47:22 -07:00
Malkierian
e2177d7392 Added sanity check to clearing sectionBlock["data"] to only be for randomizer and only when the save file is not randomizer (to clear the existing structure from the loaded spoiler log). 2023-05-13 11:45:20 -07:00
Malkierian
550c10b1c3 Little bit of code clarification. 2023-05-13 11:41:28 -07:00
Malkierian
dbe672444c Changed string paramaters for save functions to proper const pointer type.
Implemented subsectional saving (handled in the section's save function, and passed to the save function by & pointer). Default of "all" passed in from SaveFile for game saves.

Implemented subsectional saving for sohStats and entrances/scenes discovered.

Fixed check for game save registry by putting the check against the registry in the "all" section save code.
2023-05-13 11:26:30 -07:00
Malkierian
42b35634a5 Fixed residual values in global save block causing new files to save all sections previously loaded for metadata initialization, regardless of that section's execution during the save process.
Fixed loading and saving of blank sceneTimestamps due to default construction of data structures during JSON loading making all "empty" entries have scene and room of 0.

Moved SoH stats initialization to `gameplaystats.cpp` via `SaveManager::AddInitFunction`.
2023-05-12 15:18:26 -07:00
Malkierian
685925cbb8 Moved sohStats to its own section, and moved the saving and loading to its own registered load and save functions within gameplaystats.cpp. Required making a new loader version for base without sohStats loading code.
Improved save file efficiency by adding code to not write any "empty" entries in `sceneTimestamps` (as determined by room and scene being 254) when saving, and initializing them to 254 if not loaded from the save file.
2023-05-12 13:23:50 -07:00
Malkierian
2ae713464d Moved sohStats to separate section, load and save code now in gameplaystats.cpp. Still needs new load version for base? 2023-05-11 12:02:04 -07:00
Malkierian
2a8810d6a5
Merge branch 'HarbourMasters:develop' into sectional-saves 2023-05-11 09:56:08 -07:00
Garrett Cox
85385db099
Use OnGameFrameUpdate for rainbow tick instead of relying on ImGui hidden window (#2872) 2023-05-10 21:48:01 -04:00
briaguya
d1c930b5e5
reserved thread count (#2868)
* reserved thread count

* add comment, use latest main

---------

Co-authored-by: briaguya <briaguya@alice>
2023-05-10 21:32:15 -04:00
aMannus
6d4761f349
Fix several enemy ID's for Hyper Rush (#2871) 2023-05-10 20:44:40 -04:00
Malkierian
07bfba0162 Preliminary work on persistent save data json block.
Added autosaveRegistry to set section to save with overall autosave triggers.
2023-05-10 14:10:13 -07:00
aMannus
23d89122b3
CC: No longer rely on received parameter to be 0 (#2870) 2023-05-10 09:15:33 -04:00
Garrett Cox
2ea72f835a
Cleanup cvars that are set on boot (#2863) 2023-05-10 09:08:35 -04:00
Christopher Leggett
a72997f12b
RANDO: Fix logic with OGC and mixed entrance pools (#2830)
* RANDO: Fix logic with OGC and mixed entrance pools

Adds a `GANONS_CASTLE_LEDGE` area and a `BuiltRainbowBridge` logic var. Added an event to `GANONS_CASTLE_GROUNDS` that sets `BuiltRainbowBridge` to true. Adds Entrances for `GANONS_CASTLE_LEDGE` to `GANONS_CASTLE_GROUNDS` when `IsAdult` and `BuiltRainbowBridge` (or the glitched logic that lets you skip the rainbow bridge) are true, `HYRULE_CASTLE_GROUNDS` when `IsChild` is true, and `GANONS_CASTLE_ENTRYWAY` When IsAdult is true (if child enters `GANONS_CASTLE_LEDGE` in game they are in `HYRULE_CASTLE_GROUNDS` and thus cannot go back into GANONS_CASTLE_ENTRYWAY). Adds Entrance for `GANONS_CASTLE_GROUNDS` to `GANONS_CASTLE_LEDGE` when `BuiltRainbowBridge` is true, or when the glitched logic that lets you skip the Rainbow Bridge is true.

* Adds intermediate area for age-gating

* Fixes the logic for actually killing the skulltula

* Adds hammer crouch stab as a way to kill OGC_GS
2023-05-09 23:41:45 -04:00
Adam Bird
c70bdb7700
improve built in extraction detection (#2865) 2023-05-09 23:39:57 -04:00
briaguya
72358eb4d7
fix for day/night textures (#2853)
* hacky fix for deku tree entrance

* lonlon windows

* only hack in one place instead of everywhere

* dehack deku

* goron city entrance

* gerudo cell, zd entrance

* kak windows

* fix pot house

* back to the hacks

* back back

* space

* globals

* just hack it together to fix em all

---------

Co-authored-by: briaguya <briaguya@alice>
2023-05-09 23:33:27 -04:00
briaguya
b887d38f5f
bump LUS for thread stuff (#2866)
* bump for threads

* use latest lus main

---------

Co-authored-by: briaguya <briaguya@alice>
2023-05-09 23:04:02 -04:00
aMannus
23d40c1ca5
Fixed small error in CC .cs file (#2858) 2023-05-08 20:58:42 -04:00
Adam Bird
caf8f1badc
fix own dungeon items not using rando GI item when boss rooms are shuffled (#2859) 2023-05-08 15:44:50 -04:00
Kenix3
77987a42cf
Bump LUS (#2855)
* Bump LUS

* Ship -> LUS namespace change

* z_scene_otr Ship -> LUS namespace
2023-05-07 23:01:12 -04:00
Christopher Leggett
b166bdd3fc
Reverts part of PR #2851 that required OTR regen. (#2856) 2023-05-07 22:54:54 -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
louist103
f31a841789
ZAPD Update (#2851)
* git subrepo clone --force --branch=rebase2 C:/ZeldaStuff/ZAPDTR ZAPDTR/

subrepo:
  subdir:   "ZAPDTR"
  merged:   "6aa54a551"
upstream:
  origin:   "C:/ZeldaStuff/ZAPDTR"
  branch:   "rebase2"
  commit:   "6aa54a551"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* git subrepo clone --force --branch=rebase2 C:/ZeldaStuff/ZAPDTR ZAPDTR/

subrepo:
  subdir:   "ZAPDTR"
  merged:   "88b012240"
upstream:
  origin:   "C:/ZeldaStuff/ZAPDTR"
  branch:   "rebase2"
  commit:   "88b012240"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* Update (its broken)

* fix the enum

* git subrepo push --remote=C:/ZeldaStuff/ZAPDTR/ ZAPDTR

subrepo:
  subdir:   "ZAPDTR"
  merged:   "b7b6e1c82"
upstream:
  origin:   "C:/ZeldaStuff/ZAPDTR/"
  branch:   "rebase2"
  commit:   "b7b6e1c82"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* New names for LUS actions

* git subrepo push --remote=C:/ZeldaStuff/ZAPDTR/ ZAPDTR

subrepo:
  subdir:   "ZAPDTR"
  merged:   "c5cfebeee"
upstream:
  origin:   "C:/ZeldaStuff/ZAPDTR/"
  branch:   "rebase2"
  commit:   "c5cfebeee"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* git subrepo clone (merge) --force --branch=rebase2 C:/ZeldaStuff/ZAPDTR ZAPDTR/

subrepo:
  subdir:   "ZAPDTR"
  merged:   "d5f4769b8"
upstream:
  origin:   "C:/ZeldaStuff/ZAPDTR"
  branch:   "rebase2"
  commit:   "d5f4769b8"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* Fix missing commands in the exporter.

* Cleanups.

* git subrepo pull --force --remote=https://github.com/harbourmasters/ZAPDTR --branch=master ZAPDTR

subrepo:
  subdir:   "ZAPDTR"
  merged:   "d4c35b90a"
upstream:
  origin:   "https://github.com/harbourmasters/ZAPDTR"
  branch:   "master"
  commit:   "d4c35b90a"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* Add unordered_map include to fix MacOS

* fix string_view

* Update Main.cpp

* fix string view

* So close I can almost taste it

* So close

* Fix missed git marker.

* Fix surface types and

* Update ZFile.cpp

* Delete Jenkinsfile

---------

Co-authored-by: Christopher Leggett <chris@leggett.dev>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-05-07 19:58:50 -04:00
Malkierian
778f548b01
Move Game Saving to Separate Thread (#2820)
* Refactor `Vec2f`, `Vec3f`, `Vec3s` in `z64math` to avoid reserved identifiers.

* Include `z64save` in SaveManager, which requires encapsulating `#include gameplaystats.h` and `InitStatTracker` in the cpp to fix compile issues.

Adds SaveContext reference parameters to SaveFunc and existing implementations in preparation for threaded saves.

* Threaded saves fully implemented.

Platform-specific save code removed.

Thread safety added. Will wait for thread pool tasks to finish before resetting or closing.

* Converted gSaveContext copy for save threads to the heap with `new`, deleted at the end of the threaded function to prevent possible issues with the stack.

* Turns out leaving the call to `ThreadPoolWait` in a `GameInteractor::OnExitGame` hook seems to be just fine.

* Removed unnecessary references to `SaveManager::ThreadPoolWait()`, game hooks are the only places it's called now.

* Re-added WiiU/Switch performance save code.

* Added call to `SaveManager::ThreadPoolWait` in `Sram_InitSave` to prevent trying to load a newly "created" save before the save file was actually written.

---------

Co-authored-by: Christopher Leggett <chris@leggett.dev>
2023-05-05 17:20:34 -04:00
aMannus
81372c092d
CrowdControl 2.0 compatibility & category tweak (#2814)
* Updated CC 2.0 .cs file and small category fix

* Remove old comments

* Prepare prices and descriptions in .cs file

* Finalize 2.0 files
2023-05-05 17:18:29 -04:00
Adam Bird
79a10c62ef
remove tts hotkey for linux and update readme (#2833) 2023-05-05 02:38:54 -04:00
Adam Bird
5f0f2731ee
udpate mac launch script to set SHIP_HOME (#2831) 2023-05-05 02:34:07 -04:00
Kenix3
f9cfcde627
Lus updates (#2835)
* Changes for LUS renames in ResourceManager and Archive.

* Moves WriteSaveFile and ReadSaveFile to SaveManager.

* Removes ImGui namespace.

* Bump LUS

* Updates gitignore for intellij projects.

* Controller usage is now up to date with newest LUS.

* Adapters for removal of Controller.WriteToSource from LUS.

* Uses correct capitalization on Controller.GetProfile()

* Bump LUS

---------

Co-authored-by: Christopher Leggett <chris@leggett.dev>
2023-05-04 23:56:57 -04:00
briaguya
c3ba15ed57
fix: don't crash when changing margins (#2828)
for some reason we were getting garbage data in cvarNameMargins when doing things the `const char *` way. i wasn't able to figure out why that was getting garbage but this makes it so we don't get garbage in there

Co-authored-by: briaguya <briaguya@alice>
2023-05-04 00:35:56 -04:00
PurpleHato
d025ca0d90
TWEAK: Rupee dash duplication (#2815)
* TWEAK: Rupee dash duplication

Rupee dash was duplicated while being moved over the EXTRA MODES, so this fixes the duplication and put it only there

* Update soh/soh/GameMenuBar.cpp

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-05-04 00:31:52 -04:00
briaguya
c02dcb598a
fix: properly load textures for debug text (#2775)
Co-authored-by: briaguya <briaguya@alice>
2023-05-03 22:23:50 -04:00
GaryOderNichts
176650cb3a
GCC 13 support (#2780) 2023-05-03 21:55:49 -04:00
briaguya
7d0515c501
fix: properly load custom models on scene transition (#2779)
* hack that makes it so custom models still work on scene transition

* Update soh/soh/OTRGlobals.cpp

Co-authored-by: Nicholas Estelami <NEstelami@users.noreply.github.com>

* naming/formatting

---------

Co-authored-by: briaguya <briaguya@alice>
Co-authored-by: Nicholas Estelami <NEstelami@users.noreply.github.com>
2023-05-03 21:54:23 -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
2845a29e28
more mq only texture lookup fixes (#2803) 2023-05-03 21:35:08 -04:00
AltoXorg
f27ef0ec3b
fix: extractor dialog No selection (#2798) 2023-05-03 21:29:50 -04:00
Adam Bird
f9a696e9bd
add back missing early break/return for bottle filling (#2817) 2023-05-03 21:26:03 -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
Kenix3
4980ae8dcc
Lus updates (#2822)
* Changes for LUS renames in ResourceManager and Archive.

* Moves WriteSaveFile and ReadSaveFile to SaveManager.

* Removes ImGui namespace.

* Bump LUS

* Update soh/soh/GameMenuBar.cpp

* Bump LUS

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-05-03 20:46:26 -04:00
AltoXorg
859bf856b8
remove 100 character limit to baseRomPath (#2801) 2023-04-30 19:52:37 -04:00
Adam Bird
dac90bb9eb
fix mq dungeons crashing by not using mq textures (#2764) 2023-04-27 23:30:14 -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
Adam Bird
000a5d28f3
Add version info and other details to windows exe properties (#2743)
* add version info and other details to windows exe properties

* configure properties file directly to src dir

* move version name in properties and change to Title Case
2023-04-25 10:36:35 -04:00
louist103
aea46e7cb2
Implement built in Extractor for Windows (#2730)
* wip

* const

* split zapd into two targets

* Workingish.

* fix working dir and copy xmls on build (#2)

* dont change current working dir with dialog prompts

* copy asset xmls to target dir

* make zpadlib public

* Messagebox.

* Check for WIN32

* threading

* Cleanups to the exporter and main.

* Multi extraction.

* Fix byteswap header includes.

* Fix another byteswap include.

* fix again.

* stddef size_t

* Add other targets for ZAPDLib

* Non windows.

* IDYES IDNO

* Linux fixes

* hopefully remove switch and wiiu from building extractor

* Please?

* validate roms and add another valid rom

* ifdef out extract.h for switch and wiiu

* Maybe update lux

* Remove ZAPDlib from switch and WiiU

* more rules

* Update soh/soh/Extractor/Extract.cpp

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

* Update ZAPDTR/ZAPD/ExecutableMain.cpp

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

* Update ZAPDTR/ZAPD/CMakeLists.txt

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

* Update ZAPDTR/ZAPD/GameConfig.cpp

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

* Update ZAPDTR/ZAPD/Globals.cpp

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

* Update ZAPDTR/ZAPD/Main.cpp

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

* Update soh/CMakeLists.txt

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

* Update soh/soh/Extractor/Extract.cpp

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

* Update soh/soh/Extractor/Extract.cpp

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

* Update soh/soh/Extractor/Extract.cpp

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

* the last fix

* Add context to a comment

---------

Co-authored-by: Adam Bird <archez39@me.com>
Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-04-25 00:01:17 -04:00
briaguya
44d3f1ccbb
fix: update xml resolution for FireTempleBigVerticalFlame to match dlist resolution (#2741) 2023-04-24 14:44:30 -04:00
Adam Bird
d0041d28ea
Implement patches for authentic texture overflows (#2737)
* implement dlist patching for authentic texture overflows

* add overflow patch to deku stick; move toggle
2023-04-23 19:42:59 -04:00
briaguya
5324dfae67
clean up build info on logo screen (#2736) 2023-04-23 19:13:51 -04:00
RaelCappra
25ceca0fbf
Enhancement: Aiming reticle for the bow/slingshot (#2715)
* Bow reticle enhancement

* Menu bar checkbox

* fix

* simplify bow/slingshot reticle logic

* Comment on RETICLE_MAX

* Tooltip clarity update

---------

Co-authored-by: briaguya <briaguya@alice>
2023-04-22 21:59:34 -04:00
Adam Bird
42ff9742ed
Tweak: Unique GetItemEntry for Progressive Bombchus with particle effects (#2732)
* give progressive bombchus its own getitementry to allow custom draw effects

* fix timestamp item check
2023-04-21 19:01:19 -04:00
aMannus
37c0345529
ImGui Cleanup - Move Experimental entries, clean up presets (#2725)
* ImGui cleanup

* Fix Wii U

* Fix Wii U build 2: Electric Boogaloo

* Review comments

* Review Comments 2: Electric Boogaloo
2023-04-21 16:05:38 -04:00
inspectredc
c146ca4aa5
Fix: SoT Time Travel B-Button Behaviour (#2720)
* time travel allows fishing rod + fixes vanilla ToT age change behaviour

* oops removed too much
2023-04-20 21:53:56 -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
Adam Bird
7d20509b5b
correctly handle vanilla/mq dungeon location exclusions (#2726)
The logic for showing/hiding Vanilla/MQ dungeon locations in the exclusion tab was not accounting for the case if MQ dungeons is set to "Random".

This rewrites the logic check to account for all 3 cases, and only looks at the count value when set to "Set Number".
Also the CVar get for MQ count needs to default to 12 instead 0, to match the declared default behavior everywhere else.
2023-04-20 20:58:43 -04:00
briaguya
37390c441f
feat: allow toggling vsync, fix: vrr support (#2716) 2023-04-20 20:57:32 -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
19d8d38082
Fix: Update GetItem value for freestanding items and shopsanity plentiful (#2718)
* fix freestanding items not changing getItem value on the fly

* fix getItem models in shops for plentiful items
2023-04-18 00:41:08 -04:00
aMannus
831711a459
Revert FPS slider behaviour for DX11 (#2686) 2023-04-14 10:44:58 -04:00
aMannus
ead17892fe
Change console commands to bind commands with parameters (#2706) 2023-04-14 09:55:24 -04:00
aMannus
92fa54c3f9
Replaces text chevron with Font Awesome icon (#2687) 2023-04-13 09:32:51 -04:00
briaguya
c4ce2f10cd
build/package/ship soh.otr (#2699)
* update

* Update generate-builds.yml

* Update generate-builds.yml

* sohotr in CI?

* paths

* gitignore soh.otr

* Fix

* no COMMAND maybe?

* try generating otr as it's own step

* deps

* f

* g

* h

* a

* cc

* ccc

* m

* blarg

* try uploading

* try

* s

* copy things

* wii u?

* wiiu

* don't fail

* windows without cpack?

* wut

* whoops

* see all the things plz

* b

* v

* zip working maybe

* ok but this tho

* pdb and switch

* mac lus

* soh.otr in appimage

* down first

* mac

* bundle soh otr into mac app and read it from the bundle

* appimage fix

* try just downloading for mac?

* i like to mv it mv it

* mv to the right place

* no more otrgui

* bring back otrgui and assets

* echo blarg

* echo

* zapd.exe

* clean and remove

* a

* space

---------

Co-authored-by: louis <louist103@gmail.com>
Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com>
Co-authored-by: briaguya <briaguya@alice>
Co-authored-by: Adam Bird <archez39@me.com>
2023-04-12 21:14:33 -04:00
Adam Bird
40b6dae261 Fix: Kak GS placement on construction site (#2695) 2023-04-11 18:56:57 -04:00
Adam Bird
ac506c8b3e
Fix: Use correct fps value for frame interpolation with match refresh rate (#2694) 2023-04-11 18:54:10 -04:00
Adam Bird
059df8187e
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
2023-04-11 18:27:51 -04:00
Patrick12115
fe71cdfbb6
[Reduced Clutter] Disable Hot/Underwater Warning Text (#2684)
* Disable Warning Text

* Moved to Reduced Clutter
2023-04-11 08:18:03 -04:00
inspectredc
6f8207d3bb
Fix: Switch Age No Longer Reloads Start Room (#2679) 2023-04-11 08:15:47 -04:00
Adam Bird
d56899dd0b
fix death mountain cloud in rando (#2691) 2023-04-11 08:14:21 -04:00
Adam Bird
b47d538e62
fix own dungeon items on shuffled boss rooms (#2683) 2023-04-11 07:31:37 -04:00
briaguya
330da0b5ec
khan -> dev 2023-04-07 17:06:58 -04:00
inspectredc
1fa31410c2
Switch age fix (#2676)
* specific scenarios for switch age button, non rando

* Working fix for vanilla swordless change age

* Fix now works for randomiser

* Fixed room load on change age transition

* Removed potentially unnecessary function call

Need to investigate this more, maybe wait for more room documentation.

* Suggested Edits

Moves setting cvar back into mods.cpp and makes clear the condition expected for the no sword flag
2023-04-07 17:05:12 -04:00
Adam Bird
2149cd1fdd
fix boss clear logic and add bongo logic trick (#2677) 2023-04-07 15:54:49 -04:00
RaelCappra
0f6147f41d
Link voice pitch v0 (#2430)
* Link voice pitch v0

* Using a new variable instead

* Move voice pitch slider to Options tab

* fallback to original behavior if freqMultiplier is set to 1

* Move reset button to Options tab with its slider

* Fix voice pitch slider width in Options tab

* [Review] Always use freqMultiplier
2023-04-07 15:54:26 -04:00
Adam Bird
693f778b60
fix jabu mq clear condition for boss entrance rando (#2671) 2023-04-07 11:24:35 -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
d434941724
Fix: Gameplay Stats OOB (#2673)
* Handle `sceneMapping` OOB behavior

* whoops

* More solid definition of upper bound
2023-04-06 23:09:25 -04:00
briaguya
44906598e4
fix: properly display static background scenes (#2669) 2023-04-04 03:12:09 -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
briaguya
94ad837c02
bump lus (#2661)
* bump lus

* start fixing build errors

* update resources to support lus changes

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

---------

Co-authored-by: briaguya <briaguya>
Co-authored-by: Kenix <kenixwhisperwind@gmail.com>
2023-04-02 14:18:45 -04:00
Adam Bird
62bd4b0ba7
remove rando allowing grave pulling during day (#2660) 2023-04-02 14:18:21 -04:00
PurpleHato
77cc91d0de
ADD: Time Saver --> Time Travel with the Song of Time (#2575)
* ADD: Time Saver --> Time Travel with the Song of Time

Co-Authored-By: aMannus <4244591+aMannus@users.noreply.github.com>
Co-Authored-By: David Chavez <david@dcvz.io>

* TWEAK: one liner for the gPlayState check

* ADD: Time Saver --> Time Travel with the Song of Time

Co-Authored-By: aMannus <4244591+aMannus@users.noreply.github.com>
Co-Authored-By: David Chavez <david@dcvz.io>

* TWEAK: one liner for the gPlayState check

* Timetravel stuff

* tweazk oopsies

* Fixes timeline

* tweak frog dist

* ADD: Time Saver --> Time Travel with the Song of Time

Co-Authored-By: aMannus <4244591+aMannus@users.noreply.github.com>
Co-Authored-By: David Chavez <david@dcvz.io>

* TWEAK: one liner for the gPlayState check

* Timetravel stuff

* tweazk oopsies

* Fixes timeline

* tweak frog dist

* oppsie²

* del dupe

* del dupe

* tweak tooltip

---------

Co-authored-by: aMannus <4244591+aMannus@users.noreply.github.com>
Co-authored-by: David Chavez <david@dcvz.io>
2023-04-02 12:34:02 -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
Malkierian
04d0cd8532
Adds OnTransitionEnd hook to GameInteractor, called at the end of a transition after all mid-transition setup is called. (#2635)
Transitions final autosave location to `OnTransitionEnd`.

Adds functionality to autosave to set a delayed save flag if AutoSave is set to Major or All Items and one is obtained in a grotto, to avoid grotto autosaving but still provide for the autosave when location-based saving is off.

Fixes small bug with item lookup where sometimes an item's `modIndex` would sometimes be reported one way, but the way Randomizer does things it would be in a the other `modIndex`, and the lookup would fail.

Minor variable name clarification in ItemTableManager.

Modifies AutoSave to account for item ID overlap from `MOD_RANDOMIZER` table (all items in the randomizer table is considered major for AutoSave purposes except ice traps).
2023-04-02 04:47:23 -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
Josh Bodner
21d82e7c4c
Cleanup of ImGui code (#2576)
* Change sliders to have +/- buttons by default

* Remove unnecessary margin setting

* Add +/- buttons to remaining sliders and fix some broken UI

* Update EnhancementComboBox to not need array size

* Remove redundant widgets from randomizer

* Miscellaneous fixes

* Fix Switch build break

* Consolidate disabled styling in widgets

* Simplify widget logic

* Merge with most recent PRs

* Fix audio fanfare and sound effect sliders mixup

* Fix sliders being one button too wide

* Fix sliders being too long

* Fix sliders being too long on console
2023-04-01 16:10:49 -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
Malkierian
f7703e14e8
Fix Missing Custom Sequences (#2649)
* Modifies custom sequence loading to bypass other sounds being loaded in AudioCollection to fix missing custom sequences on load.

* Modified `audio_load`'s sequenceMap allocation to utilize `AudioCollection`'s sequenceMap size to account for all audio assets already loaded into that sequenceMap. This gives a non-arbitrary number in addition to the vanilla sequence count to allocate with for `audio_load`'s sequenceMap.

Added `HasSequenceNum` to `AudioCollection` as well to streamline the check against `AudioCollection`'s sequenceMap to skip the non-sequence assets in there.

Added clarification comment for seqNum and MAX_AUTHENTIC_SEQID section.

* Clarified comment about AudioCollection seqNum and MAX_AUTHENTIC_SEQID.

* A bit more on comment from the last commit.
2023-03-31 23:35:29 -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
Malkierian
e76b990c8a
Randomzier: Fix starting rupee item collection (#2645)
* When rupees are given as starting items, they still modify `gSaveContext.rupeeAccumulator`, which means that if you make a new file, start it, and reload without saving, or exit SoH before starting the new file, those rupees were lost. This adds a check for `gPlayState` being NULL, and if it is, adds those initial rupees to the rupee count directly.

* Update soh/src/code/z_parameter.c

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

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-03-22 20:59:08 -04:00
Malkierian
533ee9379a
Balanced Shopsanity Bugfix (#2640)
* Fixes settings bug with Balanced shopsanity prices from Shopsanity Affordable Update.

* Wrong location

* Updated fixed comment
2023-03-15 22:46:30 -04:00
Malkierian
7f5f4251ca
Another Item_Give bug fixed... (#2636) 2023-03-15 13:25:24 -04:00
Christopher Leggett
58ef377d87
Fixes some XML texture size and offeset errors. (#2621) 2023-03-14 10:46:52 +01:00
Malkierian
1b158015e6
Fixes bug introduced by 73052617ed where keys, among others, would corrupt inventory slots. (#2626) 2023-03-14 10:46:33 +01: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
Malkierian
264623f40a
Shopsanity Affordable Logic Update (#2617)
* Modified Affordable logic to select randomly from 10, 105, 205, and 505 depending on the selected wallet tier. Updated the tooltip to reflect.

* Clarified logic in comments and variable names.

* Streamlined affordable check for starter wallet.

One more function comment.

* More streamlining of affordable price generation, comment clarification.
2023-03-13 17:24:51 -04:00
aMannus
866882e4c6
CrowdControl V2: Effect Overhaul (#2433) 2023-03-13 11:37:50 +01:00
Christopher Leggett
d9008938f8
Makes sequenceMap and seqLoadStatus a dynamic size (#2610)
Refactors to allow the above two arrays to be a dynamic size when the game launches, size is set during the AudioLoad_Init function.
2023-03-12 15:55:25 -04: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
Adam Bird
39acd71fc4
remove left over boss location logic from mq logic (#2619) 2023-03-12 08:01:18 +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
aMannus
1c00d56053
Exclude club moblins in clear rooms (#2593) 2023-03-08 13:10:14 -05:00
Adam Bird
7c558ae089
fix rando quest selection falling back to vanilla saves (#2599) 2023-03-08 13:09:22 -05:00
Adam Bird
60f4f71495
fix flag wind speed to use correct uint type (#2600) 2023-03-08 13:08:54 -05:00
Adam Bird
2117d98178
fix skulltula token count message on vanilla (#2597) 2023-03-08 10:18:02 -05:00
briaguya
4a89c20ac9
bump lus + resolve lus conflicts (#2598) 2023-03-07 23:03:00 -05:00
briaguya
eb28d114cd
khan -> dev 2023-03-06 23:39:08 -05:00
Malkierian
5d32343919
Modify cutsceneIndex in scene transition autosave to include use-cases outside of normal vanilla play. (#2588) 2023-03-06 23:17:27 -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
briaguya
76ceda3118
khan -> dev 2023-03-02 17:13:31 -05:00
Adam Bird
a5bf135541
fix change age cheat causing link to spawn in the wrong spot (#2573) 2023-03-02 17:12:46 -05:00
Josh Bodner
0d54cb15df
Spot fix so autosave dropdown will save immediately (#2568) 2023-03-02 16:57:55 -05:00
David Chavez
981c6348ab
Fix voice compilation (#2571) 2023-03-02 21:58:27 +01:00
Amaro Martínez
d3f864cea9
Simplify Asset Headers (#2474) 2023-03-02 15:37:47 +01:00
David Chavez
21466192e5
[Accessibility] Text to Speech (#2487) 2023-03-02 09:27:28 +01:00
David Chavez
b13f6f4b70
[Interpolation] Allow Matching & Limit Max FPS (#2466) 2023-03-01 16:12:55 +01:00
David Chavez
109345e94d
[Resources] Properly encode soh textures and remove raw load (#2548) 2023-03-01 10:18:26 +01:00
David Chavez
b74be9196c
[Accessibility] Add ability to disable camera re-centering on idle (#2503)
* Add ability to disable camera recentering on idle

* Remove platform check

* Update else camera comment
2023-02-28 21:42:15 -05: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
David Chavez
27d7cb0bc1
[CMake] Clean soh/CMakeLists (#2556) 2023-02-28 19:19:34 +01:00
briaguya
2df6acc908
Fix: some greg hint stuff (#2557)
Co-authored-by: briaguya <briaguya@alice>
2023-02-28 18:23:22 +01:00
David Chavez
c91a044d46
[GameInteractor] Introduce GameFrameUpdate Hook and Migrate Cheats (#2554) 2023-02-28 11:20:43 +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
Josh Bodner
f481b86386
Change autosave to use dropdown (#2550) 2023-02-28 00:07:47 -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
9ec091a636
add missing settings values that weren't being parsed (#2541) 2023-02-26 23:05:07 -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
briaguya
17aeec4b13
add greg to gameplay stats (#2544)
Co-authored-by: briaguya <briaguya>
2023-02-26 23:04:47 -05:00
David Chavez
2cb4a6ee7e
[Resources] Cleanup old hacks and rename (#2546) 2023-02-27 02:55:40 +01:00
David Chavez
448b4e49d3
[GameInteractor] Update Naming Modhooks (#2543) 2023-02-27 01:46:25 +01:00
Adam Bird
c1ddeec02a
fix cutscenes loading wrong resource when only an mq rom is loaded (#2545) 2023-02-27 01:44:30 +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
briaguya
fef230bc87
make greg bridge more greg (#2532)
* make greg bridge more greg

* use green rupee color from cosmetics editor

* use hooks to not patch/unpatch every frame

* use gi hook

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-24 15:55:53 -05:00
Malkierian
29daec879b
Shopsanity price range selection (#2517)
* Adds price range select box for shopsanity when shopsanity is 1 or more items.
Default option is the original functionality, now under "Random" select option.

Other options include Affordable, which makes each item 10 rupees, and one option for each level of wallet available with shopsanity, where each wallet's max capacity is the upper limit on the price randomization. These still go in 5 rupee increments, like Random.

Also keeps track of and saves/loads settings appropriately on game start.

* Changed "Random" default shopsanity price selection to "Balanced" to be more properly descriptive.

Refactored GetRandomShopPrice to try to keep Balanced as the default, with a sane fallback price of 150 should the weighted randomizer somehow fail.

* Missed one change from Random to Balanced.

* Changed wallet range to minimum of 5, and removed the multiple of 5 requirement (full rando within range).

* Modified the system to add a checkbox for affordability which then adds a price cap that is just above the max value of the previous wallet tier. Effectively this keeps the wallet lock in place, but prevents anything from getting more expensive than 5 past the previous tier.

* Fixed hover help text and tooltip formatting.

* Changed wallet ranges to generate multiples of 5. May need weighted generation after playtesting.
2023-02-24 04:21:13 -05:00
briaguya
23d2e4a2cc
improve cvar usage in AudioEditor (#2523)
Co-authored-by: briaguya <briaguya@alice>
2023-02-24 03:21:46 -05:00
briaguya
95fe6b492b
fix: use trick names for scrub and house of skulltula hints (#2528)
* update writealllocations to always write trickname and start seeing where things break

* handle simple vs complex items

* always grab a trick name

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-24 03:21:35 -05:00
briaguya
df6da69f7d
add greg bridge altar text (#2524)
Co-authored-by: briaguya <briaguya@alice>
2023-02-24 03:20:24 -05:00
briaguya
96dd7073e4
always add a gossip stone hint for greg when greg bridge is enabled (#2530)
* always add a gossip stone hint for greg when greg bridge is enabled

* don't double loop

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-24 02:57:31 -05:00
briaguya
231b7eecca
"greg the green rupee" (#2529)
Co-authored-by: briaguya <briaguya@alice>
2023-02-24 02:57:19 -05:00
briaguya
e25b11c5ac
Add menu option for changing disappearing path behavior (#2527)
* Adding CVar for z-fighting fix

* ultraship update

* remove commented out code

* formatting

---------

Co-authored-by: Bagbar <ckonrad86@gmx.de>
2023-02-23 22:42:58 -05:00
briaguya
ff94d35ea9
fix a couple junk hints that were making AutoFormatHintTextString loop forever (#2525) 2023-02-23 22:14:17 -05:00
Adam Bird
6e4b1aec2a fix excluded locations being removed if you haven't viewed the location tab (#2518) 2023-02-23 08:47:13 +01:00
Adam Bird
3d30f1701a make the gf chest as child use the correct RC check (#2519) 2023-02-23 08:47:13 +01:00
Adam Bird
ffbaef7823 fix incorrect hint key for child spawn location (#2507) 2023-02-23 08:47:13 +01:00
Amaro Martínez
656e593a67 Fix Lakeside Laboratory title card (#2501) 2023-02-23 08:47:13 +01:00
Adam Bird
6a09934e3b fix logic to use fire timer for deku scrub in DMC (#2502) 2023-02-23 08:47:13 +01:00
briaguya
d238533aba
bump lus (#2521) 2023-02-23 01:49:54 -05:00
Matt Wiens
7860f88241
Fix menu bar fix description typo (#2504) 2023-02-23 01:14:27 -05:00
Evgenii Babinets
e8e4afbbcd
Fixed potential memory corruption when loading personal item tracker notes (#2512) 2023-02-23 01:13:32 -05:00
Ralphie Morell
4a4f7e6d96
[Fix] Static Bomb Radius (#2515) 2023-02-21 08:49:53 +01:00
briaguya
9325e6d0a5
fix: don't show duplicate gregs on item tracker (#2498)
Co-authored-by: briaguya <briaguya@alice>
2023-02-17 11:05:15 -05:00
briaguya
494bdcdb25
gibbs -> dev 2023-02-17 08:02:08 -05:00
Malkierian
868689ce3e
Entrance tracker tweaks (#2446)
* Hide return transitions for dungeon, grotto and interior entrances when "Decouple entrances" is off.

* "Highlight last entrance" now highlights the override reverseIndex entry in the list if "Decouple entrances" is off, to correspond with not displaying return directions for the same setting (without this, nothing gets highlighted with the return transitions hidden with "Decouple entrances" off).

* Removed unnecessary printf

* Moved redundancy check to filtering loop instead of display loop.

Introduced setting to optionally force showing redundant entrances when decoupled is off.

Formatting changes suggested by Archez.

* Changed "show redundant" to "hide reverse" where applicable, and change

Added option disabling based on Decouple Entrances.

* Finished descriptive comment.

* Moved "Hide reverse" to left column of tracker settings.

Changed to PaddedEnhancementCheckbox, changed checkbox padding accordingly, and set default to true.

* Restore tooltip to Hide Reverse option, fix default value.

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

* Restored padding underneath last option in entrance tracker List Items section.

---------

Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
2023-02-17 07:38:07 -05:00
Adam Bird
3f3f4ff3ef
Fix: Prevent certain items from being marked as "major" (#2496)
* fix certain items being marked as major

* simplify check

* avoid string check
2023-02-17 07:14:43 -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
briaguya
3d8752b3aa
you found greg! (#2458)
adds greg to the item tracker

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-16 20:10:31 -05:00
briaguya
f4f10e4a49
don't show duped sequence names, don't repeat track intros on barinade (#2482)
* better fix for repeated sequence names, add delay to fix repeated bgm on barinade

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-16 18:45:51 -05:00
briaguya
6b93da37d4
fix: use cache on LoadFileRaw (#2489)
* fix: use cache on LoadFileRaw

this makes it so explosions don't use the dpad texture

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-16 18:05:36 -05:00
David Chavez
6cd7066706
Generate assets with MQ present (#2485) 2023-02-16 13:32:01 -05:00
AltoXorg
877fc2dcca
use the convenient printf fomat as ImGui::Text supports it (#2486) 2023-02-16 11:37:27 -05:00
briaguya
1e6ec1bdda
exclude audio from shuffle (#2411)
* Rename "SFX Editor" to "Audio Editor"
* Move some functionality out into a new class `AudioCollection`
* Add a tab to exclude sfx/sequences from shuffle pool 

---------

Co-authored-by: briaguya <briaguya@alice>
Co-authored-by: briaguya <briaguya>
Co-authored-by: David Chavez <david@dcvz.io>
2023-02-16 09:49:45 -05:00
briaguya
deb47ea430
hintless altar text (#2456)
Co-authored-by: briaguya <briaguya@alice>
2023-02-15 21:00:44 -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
David Chavez
8934274c67
[GameInteractor] Game Hooks (#2481) 2023-02-15 20:30:34 +01:00
David Chavez
2c10bca615
Fix compilation against latest libultraship (#2479) 2023-02-15 11:06:19 +01: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
Kenix3
3a4a260e21
SoH now uses the multithreaded resource manager. (#2467)
* SoH now uses the multithreaded resource manager.

* Fixes build errors on Linux and decreases audio heap size.

* Updates LUS.
2023-02-15 01:02:09 -05:00
Ralphie Morell
7c3c662eba
Rando: Allow strings as seed hashes (#2438)
* Allows strings to be used for rando seed hashes;
updated conversion method from `stoi` to `stoul`

* apply suggestions

* Allow spaces + autoselect on input field focus

* Added new text filter; applied suggestions

* leaving 3d rando logic alone

* Apply more suggestions

* Revert buffer size to 1024
2023-02-14 21:43:25 -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
Cardboy777
218971c4a9
Option for projectile ammo to match item instead of age (#2453)
* Projectile ammo matches ItemAction instead of age

extracted logic from months-old PR

* Added cvar under "Enhancements -> Gameplay -> Items" for bow/slingshot ammo

* Update GameMenuBar.cpp
2023-02-14 21:14:20 -05:00
Garrett Cox
462ab00c7e
Save skipped checks (#2476) 2023-02-14 20:50:59 -05:00
PurpleHato
622d8c4aff
TWEAK: Debug Warp Translations errors (#2464)
Volvagia is Vulcania in french (I'm so used to it in English)
and I somehow put the german version of dodongo's cavern in french, oops
2023-02-14 08:56:25 -05:00
PurpleHato
75782e4019
TWEAK: German Rando Navi Hint (Shiek Name) (#2463)
In German Shiek is called Sheik (something related to how they switched letter to conserve the wanted pronunciation of the name)
2023-02-14 08:55:12 -05:00
David Chavez
66b2d2d5fa
Add asset headers (#2465) 2023-02-14 08:29:46 -05:00
louist103
8c87bc13db
More junk hints. (#2417)
* More junk hints.

* More hints.

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

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

* More junk hints.

* More hints.

* Remove a hint.

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-02-13 22:50:13 -05:00
Adam Bird
67421179e4
Fix: Rando settings not being initialized in time (#2461)
* fix entrance init and entrance tracker not working properly when no spoiler log is loaded

* fix rando adult trade spoilable items reverting when no spoiler log loaded
2023-02-13 02:00:59 -05:00
Adam Bird
1e9f8df33b
Fix: Hyrule Field bridge entrance and sun song placing link out of bounds in Entrance Rando (#2457)
* fix market night escape to work with entrance rando; adjust HF bridge spawn to not have link fall in water at night

* use scene enums for ER logic instead of magic nums

* fix sun song loading are with wrong link position with grotto shuffle on

* Update soh/soh/Enhancements/randomizer/randomizer_entrance.c
2023-02-12 23:34:16 -05:00
PurpleHato
8f9dc17752
FIX: Inverted Night and Day in German (#2448) 2023-02-12 17:58:57 -05:00
briaguya
df1e26d4cd
fix rainbow popping (#2441) 2023-02-08 00:19:48 -05:00
Adam Bird
fdf9d51444
update cvar name for n64 mode (#2440) 2023-02-08 00:18:53 -05:00
Adam Bird
f57cae120d
Fix: exclude locations not updating and add more location logic (#2428)
* fix location tab not updating and remove hidden excludes during generation

* add more exclude locations and fix broken ones

* update check tracker check visibility

* rename enum

* rename enums again
2023-02-06 20:51:26 -05:00
PurpleHato
177194ca5a
ADD: Exit Market at Night to rando preset (#2432) 2023-02-06 17:06:40 -05:00
PurpleHato
3218b2def2
FIX: Song's Overlay with Fast Ocarina Playback (#2431)
* FIX: Affected songs

* TWEAK: Addressed comments
2023-02-06 10:56:40 -05:00
David Chavez
8a76a3aa83
Fix: Hang on exit game and CC is enabled (#2427)
Happens during dev - might affect release, so PRing this.
2023-02-06 11:02:51 +01:00
Ralphie Morell
5771e6cd1f
Fix spillover on goron messages (#2425) 2023-02-01 00:12:21 -05:00
aMannus
e14fcf92d2
Fix GI overruling link size over anything else (#2424) 2023-01-31 07:21:16 -05:00
aMannus
612700c2ab
Change gPauseAnyCursor into combobox (#2423)
* Change gPauseAnyCursor into combobox

* Add enums

* Change naming
2023-01-31 06:53:22 -05:00
Adam Bird
4e08eca1b9
adjust closed forest and starting age settings for edge cases (#2421) 2023-01-30 22:51:41 -05:00
Sirius902
44f963e310
Rumble and check tracker fixes (#2419)
* Fix rumble

* Fix check tracker crash
2023-01-30 12:33:52 -05:00
Sirius902
544460d909
QPA restoration (#2422) 2023-01-30 08:43:30 -05:00
PurpleHato
f6c310ae84
TWEAK: Controller Navigation rename + tooltip (#2407)
* TWEAK: Controller Navigation rename + tooltip

* TWEAK: add back FW

* TWEAK: Button size + name

* TWEAK: Tooltip and text position

* TWEAK: added a PaddedSeparator

* TWEAK: Removed the padding from aMannus Request
2023-01-28 12:02:38 -05:00
PurpleHato
9b020c0986
TWEAK: Misspelling "Gold" in German + Box formating (#2416) 2023-01-28 10:51:41 -05:00
lilDavid
3617b2e5b7
Fix chest sizes making contents unobtainable (#2410) 2023-01-28 10:17:47 -05:00
aMannus
72dcf3466b
Check tracker fixes (#2414) 2023-01-27 19:16:31 -05:00
Adam Bird
0aab836d1f
Fix: Override jail capture for the Gerudo fighter (#2413)
* handle overriding gerudo capture for the fighter

* add entrance include
2023-01-27 18:36:38 -05:00
Garrett Cox
9fe7839f9a
Adjustment to gFastFarores tooltip (#2409) 2023-01-27 01:39:35 -05:00
David Chavez
22efba8cd7
Fix: Quit Game (#2403)
* Fix quit implemention in console & window

* Point to latest LUS

* match lus from develop
2023-01-26 20:10:00 -05:00
Adam Bird
1e2b60c6e0
clear cvars that lock up randomizer menu on boot (#2405) 2023-01-26 20:09:33 -05:00
PurpleHato
279553e6b3
TWEAK: Forgot some translation on Debug Warp Screen (#2406) 2023-01-26 20:09:21 -05:00
Kenix3
47f206825d
Debug camera (#2400)
* Moves SoH mixer to SoH from LUS.

* Debug camera now works in SoH, but mempak saving does not (yet).

* Debug camera is now enabled/disabled based on the gDebugEnabled cvar.

* Updates OTRGlobals comments

* Updates OTRGlobals comments
2023-01-26 18:43:09 -05:00
Christopher Leggett
569013535e
Improves the Block Pushing Speed Enhancement (#2396)
* Increases the actual block pushing speed.

Previously this enhancement only decreased the delay between pushes in any noticeable way because the top speed of the blocks was clamped. The enhancement now increases the top speed of the blocks according to the slider's value.

* Applies previous changes to milk crates.

* Applies same fix to fire temple stone blocks

(I believe these are the ones with the faces on them)

* Applies fixes to Poe painting blocks (forest temple)
2023-01-26 00:58:26 -05:00
Adam Bird
589e25948e
Add manual seed input for rando generation (#2057)
* add manual seed input for rando generation

* add tooltip for seed input

* switch to calloc

* add seed testing count generator

* add console command for rando gen

* add boost and custom hash_32 functions

* use hash_32 funcs for rando generation

* limit seed input field to uint32

* rename custom boost header imports to boost_custom
2023-01-25 18:33:27 -05:00
aMannus
170a9103f9
Implement GameInteractor & move CrowdControl and console commands to it (#2358)
* Begin GameInteractor

* Basic skeleton of PoC

* WIP

* First 2 CC effects transitioned to GameInteractor

* Prepare GameInteractor classes for CrowdControl

* More effects & replace chaosEffects with GameInteractor

* CC connection fixes & all CC effects (enemy spawns still borked)

* First couple of build error fixes

* Fix build

* Proper enemy spawning

* Clean up old CC code

* Extract link size/invisibility into GameInteractor

* Small fix/cleanup

* Suggestions for PR

* Address PR comment

* Addressed more comments & small adjustments

* Fix crash when spawning enemies

* Remove Remove()

* Move checks into Apply() and move CC and some console commands to it

* Use inheritance to abstract check on application

* Rename prefix Actions with RawAction

* Make Remove return a Result

* Fix issue with compilation

* debugconsole -> GameInteractionEffects progress

* Add State in GI

* Unify some Effects

* Port more debug console items

* Remove state modifyiers from raw actions

* Port over last raw action / state in console

* Adjust some types

* Consolidate link size modifier effect

* Adjust more types

* Define category strings in CC

* Clean up remaining non defined strings

* Fix bug in timed effects

* Rename old pack

* CC fixes

* Translate GI enum function

* Console cleanup/fixes/consistency

Co-authored-by: David Chavez <david@dcvz.io>
2023-01-25 18:13:33 -05:00
tcpowell
ec4cee787c
Gameplay Stats Tweaks (#2379)
* persist stat tracker across sessions

* fix tab spaces

* configurable gameplay stats display

* streamline to use AddWindow method
2023-01-25 17:43:50 -05:00
Garrett Cox
7a75fe8411
Add faster farores enhancement (#2394)
* Add faster farores enhancement

* Add preset entry
2023-01-25 17:27:11 -05:00
Ralphie Morell
6d6c1c8c32
Enhancement: Better Farore's Wind (#2374)
* Updated SaveManager, SaveContext;
lifted restriction from gtg and ganon's castle;
disabled clearing fw during master sword lift;
added checkbox

* increment load version (whoops); clear age fw after use

* beef up fw console handler (for testing)

* Simplify better FW (2 copies > 1 copy)

* Apply suggestions

* whoops
2023-01-25 14:32:21 -05:00
Garrett Cox
21ae445548
Add missing trade sequence items from gameplay stats (#2393)
* Add missing trade sequence items from gameplay stats

* Update soh/soh/Enhancements/gameplaystats.cpp
2023-01-24 16:08:38 -05:00
PurpleHato
5c21bb0b8a
TWEAK: German mistake (#2392) 2023-01-24 15:39:37 -05:00
briaguya
6b6cfa5ebe
rupee name cleanup (#2391)
* fix: add missing comma to fix oob

* bring back some old rupee names, remove some that don't render properly

Co-authored-by: briaguya <briaguya@alice>
2023-01-24 01:11:48 -05:00
Adam Bird
402d7dd3b7
fix wrong flag name for zeldas letter define (#2390) 2023-01-24 00:51:48 -05:00
Garrett Cox
0629140357
Don't require input for credits textboxes (#2193)
* Don't require input for credits textboxes

* Use cvar instead of rando flag
2023-01-23 17:47:54 -05:00
Garrett Cox
beb414eb0a
Add cheat for extending hookshot reach (#2178)
* Add cheat for extending hookshot reach

* Adjust cvar usage
2023-01-23 17:28:50 -05:00
lilDavid
2422c94f6b
Rando: Shuffle 100 Gold Skulltula Reward (#1944)
* Shuffle 100 token reward

* Add 100 token hint

* 100 GS Shuffle: Fix name inconsistency

* Add 10 tokens to plentiful pool

* Ganon's Boss Key on 100 GS Reward

* Golden Skull Token -> Gold Skulltula Token

* Properly disable 100 GS reward shuffle check box

* Use enums for 100 GS shuffle

* Fix mismatched LUS

* Fix CVar calls

* ADD: French translation

* Only add extra tokens in Tokensanity

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
2023-01-23 17:01:52 -05:00
Garrett Cox
e5bc5188e7
Actor view values now using pointers rather than copies, add playerState flags to save editor (#2388) 2023-01-23 16:39:05 -05:00
Garrett Cox
eb222f3998
Add enhancement for dog following you everywhere (#2050)
* Add enhancement for dog following you everywhere

* Persist dogParams to save file

* Make doggo float in water

* Wrap change in cvar condition and update cvar usage
2023-01-23 16:22:28 -05:00
Garrett Cox
a1cb921042
v1 Dlist Viewer (#2387) 2023-01-23 16:04:37 -05:00
PurpleHato
e79bd2587d
ADD: Debug Warp Restoration + Translations (#2386)
* Finish translations for Map Select

* First Pass

* TWEAK: Add back Japanese as default to conserve vanilla

* TWEAK: replace some array with structs + some translations

* TWEAK: loading messages [TODO: proper translations]

* TWEAK: forgot to push z64.h for loading messages + translated scene type

* TWEAK: spacing

* TWEAK: comment

* TWEAK: Small german OPT position

* TWEAK: german typo

* TWEAK: translation to cutsceneLabels

* TWEAK: Nabooru's name + Lairs

* TWEAK: Updated Cvar to new way to call them

* ADD: German

* Debug localization

* TWEAK: Age

They are noted as a flag thingy and not a literal age

* Tweak: Frogot the Great Fairy

* TWEAK: adressed comment

Co-authored-by: Amaro Martínez <xoas@airmail.cc>
2023-01-23 15:36:28 -05:00
Adam Bird
cb5faa1ac8
fix mido spawn for dungeon entrance rando (#2384) 2023-01-23 14:08:16 -05:00
Adam Bird
37f31116b3
Add reset/randomize all SFX and Cosmetic commands to console (#2378)
* add reset/randomize all commands to debug console for sfx and cosmetic editor

* fix cvar func
2023-01-22 03:51:23 -05:00
AltoXorg
52a976489b
implement audio backend fallbacks (#1857)
* audio & rendering backend option greyed out if theres only one

* add audio fallback code

* InitializeAudioPlayer/WindowManager add param

* string -> string_view

* Revert "audio & rendering backend option greyed out if theres only one"

This reverts commit e94a7fff50.

* revert lus changes

* moved fallback function to LUS

* use audioplayerbridge
2023-01-21 18:05:05 -05:00
splemb
643a98244b
Enhancement: MM-Style Static Explosion Radius (#2322)
* Adds Static Explosion Radius Enhancement

* Changed default value

* Update libultraship

* Update CVar Syntax

* Revert "Update libultraship"

This reverts commit d0e243565a.
2023-01-21 17:45:43 -05:00
nianjiilical
a58705eaf4
Rando: Adds 90~ new random rupee names, alphabetizes them (#2330)
* more rupee names

* typo

* feedback

* more feedback
2023-01-21 17:09:42 -05:00
briaguya
a9e7faa180
Full health spawn (#2377)
* full health spawn

Co-authored-by: MoriyaFaith <46070717+MoriyaFaith@users.noreply.github.com>

* add enahancement to gamemenubar, update to use new cvar method names, simplify save loading logic so loading a save with less than 3 hearts spawns with full hearts with enhancement enabled instead of spawing with 3

* formatting

Co-authored-by: MoriyaFaith <46070717+MoriyaFaith@users.noreply.github.com>
2023-01-21 09:36:35 -05:00
aMannus
4291ec8252
Rando - Ganon & Ganondorf cutscene skips (#2321)
* Ganon(dorf) cutscene skips

* Remove leftover code

* Comment out the Ganondorf dying cutscene skip
2023-01-21 07:55:53 -05:00
briaguya
2a9d93dd65
fix: return enum value so mido moves away properly (#2376)
when pulling in documentation i missed a couple returns
this was causing mido to never stop blocking the path to the deku tree
after searchign the codebase, i found two instances of this mistake
this pr fixes them

Co-authored-by: briaguya <briaguya@alice>
2023-01-21 06:31:33 -05:00
Christopher Leggett
1b9962dfc2
Enhancement: Adds Slider for Duration of Sequence Names on the Overlay (#2375)
* New function: overlay text duration in seconds.

`Overlay_DisplayText` took a float as an argument, with no clear indication of what that float represented. That float also evaluates to different durations given different frame rates. However, since we know what the frame rate should be at any given time (since it's stored in a CVar) we can calculate what this duration should be based on the number of seconds we want the overlay to be displayed. That's what `Overlay_DisplayText_Seconds` does.

* Adds Slider for Overlay Sequence Name Durations
2023-01-20 21:48:17 -05:00
aMannus
1b9ab52e35
Tweak - Rando freestanding/skulltula ice trap behaviour (#2230)
* Improve skulltula ice traps

* Improve freestanding ice traps

* Merge fix
2023-01-20 21:30:49 -05:00
Adam Bird
261db2c3e1
Rando: Boss Entrance Shuffle (#2194)
* sync 3ds upstream logic changes for boss rooms

* add boss shuffle settings and handling to 3ds code

* add boss shuffle handling to game code

* repair authentically bugged entrances for boss shuffle

* add boss entrances to the entrance tracker

* unset hint area for boss rooms to fix altar hint

* update boss reward hints to not mention dungeons

* one more boss heart container hint fix

* reorder entrance rando funcs

* support closed forest with boss shuffle and simple boss room entrance pairs in shuffle table

* fix death warp in boss rooms without saving; fix KD boss room in tracker

* remove boss shuffle check from dungeon open checks and some cleanups

* add boss shuffle to preset clear

* remove dungeon entry exit connection from boss rooms

* another no hint fix for boss shuffle

* undo change for exact location hints

* clarify comments
2023-01-20 01:00:12 -05:00
Ralphie Morell
7964bde063
Rando: Misc. Hints (#1947)
* Added too much

* Added 3d settings and brought over to soh

* fixed conditionals for replacing LA hint

* whoops

* Finshed making settings consistent; minor text edit

* fix leftovers from adding warp hints

* more fixes from merge

* fix skull hint messages

* Added fire temple goron junk hints; menu stuff

* Address feedback

* Added optional scrub text

* whoops

* Add hint cvars to clear preset func

* whoops again

* whoops the third

* ADD: French Pass

* FIXED: Dampe + Skull Reward

* TWEAK: German skulltula hint

* TWEAK: French oopsie

* Address feedback

* whoops

* remove "staticness" from altar/ganon text funcs

* ADD: German

* actually add warp song hints to things;
always generate ganon hint and let OTRGlobals handle showing it

* Fix CVar Getters

* whoops

* for real this time

* Actually implemented scrub text in 3d rando

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
2023-01-19 23:45:34 -05:00
Patrick12115
c0ad43e509
Add Starting Songs Option (#2221) 2023-01-19 04:54:29 -05:00
briaguya
d9662ab63b
fix: update cvar usage from merge 2023-01-19 04:33:07 -05:00
briaguya
52b182d4dc
Merge pull request #2371 from HarbourMasters/develop-bradley
brad -> dev
2023-01-19 04:31:34 -05:00
Christopher Leggett
12737143c7
Adds option to add higher pitches to silver rupee jingle (#2246)
* Adds option to add higher pitches to silver rupee jingle.

Some rooms in Master Quest had 10 silver rupees, but the game was programmed to only play the jingle 5 times and then just went silent for the rest. This option adds 5 more transposition values to the array, and an option to play them (so that authentic behavior is preserved by default).

* Adds the new option to Vanilla Plus preset and up

Also adds it to the list to be reset back to 0 when applying the default preset.

* Changes display name of checkbox.

* Change CVar_GetS32 to CVarGetInteger
2023-01-19 04:10:47 -05:00
Christopher Leggett
a335aba987
Adds option for showing sequence names on the overlay (#2237)
* Adds option for showing sequence names on the overlay

Allows sequences to appear on the overlay in the bottom right corner for a few seconds whenever a new one is loaded into the primary sequence player. This means it does not apply to fanfares or enemy bgm. Fanfares I chose not to display because it would cause a lot of text to display back to back in some areas, and enemy bgm would have some technical challenges with this due to the way it loads. Mainly because the Lost Woods music would load in Goron City the same way (as well as the opposite).

* Fixes crash when a sequence without a name is attempted to be displayed.

* Removes accidentally committed CMakeSettings.json

* Updates CVar_GetS32 to CVarGetInteger
2023-01-19 03:50:50 -05:00
Christopher Leggett
edceb2d460
Adds lock/unlock all buttons to Cosmetics Editor. (#2225)
* Adds lock/unlock all buttons to Cosmetics Editor.

Adds Lock All and Unlock All, which locks all visible cosmetics options (i.e. does not lock the advanced options if Advanced isn't checked, just like the existing randomize all buttons), and a Lock All Advanced and Unlock All Advanced button that is only visible while the Advanced Options are enabled.

* Updates latest develop and CVar API Changes.
2023-01-19 03:32:05 -05:00
briaguya
7c8be2153c
documentation: use NpcInteractInfo from zret (#2370) 2023-01-19 02:38:04 -05:00
aMannus
a5f7478b99
Fix CC connection bugs (#2367) 2023-01-18 16:56:32 +01:00
briaguya
c36e9cc32d Merge remote-tracking branch 'origin/develop-bradley' into bradmerge 2023-01-18 01:21:18 -05:00
briaguya
750ae907c2
sdl windowed fullscreen (#2351) 2023-01-17 22:14:45 -05:00
Kenix3
2e4a19c0ee
Moves SoH mixer to SoH from LUS. (#2361) 2023-01-17 22:03:55 -05:00
briaguya
f665326a67
workaround for vanilla save check tracker crash (#2359)
Co-authored-by: briaguya <briaguya@alice>
2023-01-17 21:40:02 -05:00
briaguya
418d0f8e6c
fix: default cvar values before applying presets (#2357) 2023-01-17 17:57:02 -05:00
UltraHDR
13b8f26435 Set LSApplicationCategoryType to games 2023-01-17 17:19:35 -05:00
briaguya
15a6568607
Merge branch 'develop' into bradmerge 2023-01-17 16:44:46 -05:00
briaguya
1fe862515d
fix top left dungeon entrance icon in graveyard (#2303)
Co-authored-by: briaguya <briaguya>
2023-01-17 15:42:09 -05:00
Adam Bird
6eef813e5d
fix wrong entrances in epona check handler (#2352) 2023-01-17 15:20:21 -05:00
Adam Bird
76c9895432
add missing medigoron hint text (#2339) 2023-01-17 15:19:22 -05:00
Adam Bird
048207eb7d
Fix exiting courtyard at night not taking link to castle grounds in dungeon entrance randomizer (#2316) 2023-01-17 15:18:59 -05:00
Amaro Martínez
170b9c1224
Disable BEL char by default when terminal attached (#2306) 2023-01-17 15:18:13 -05:00
Adam Bird
1e7cf8858f
fix one-way entrances making some entrances disappear from the overrides (#2318) 2023-01-17 21:07:58 +01:00
Adam Bird
4b10a887a6
Fix: Remove MQ Spirit Temple silver block for child to guarantee access to the chest (#2342) 2023-01-17 21:05:19 +01:00
Adam Bird
ff3548a1b6
Rando: Adjust locked door logic for temples and give starting keys for MQ Spirit (#2343) 2023-01-17 21:03:08 +01:00
Adam Bird
fda198db76
Fix: Reset waterbox collisions in Lake Hylia and Morphas room (#2346) 2023-01-17 21:01:45 +01:00
Andrew Van Caem
7f06087cef
Altered save flag docs concerning events in Mido's house (#2311) 2023-01-17 14:46:42 -05:00
Garrett Cox
6ae28273d1
Fix Ganon Boss Key for MQ only otrs (#2295) 2023-01-17 14:23:00 -05:00
Amaro Martínez
5b2a50cac2
Remove repeated preset entries (#2294) 2023-01-17 14:01:45 -05:00
briaguya
1e258318a1
fix: properly randomize mirror shield and silver gaunts chests when using only an mq otr (#2291) 2023-01-17 13:17:00 -05:00
PurpleHato
156de816fb
FIX: Equip now message (#2286) 2023-01-17 12:40:05 -05:00
briaguya
ba13e6b2c4 refactor: use LUS 1.0 RC
Co-authored-by: kenix3 <kenixwhisperwind@gmail.com>
Co-authored-by: David Chavez <david@dcvz.io>
Co-authored-by: KiritoDv <kiritodev01@gmail.com>
Co-authored-by: Christopher Leggett <chris@leggett.dev>
2023-01-17 00:33:56 -05:00
briaguya
f42f86e3ef
fix: make fisherman rumble text work (#2279)
we weren't correctly setting the pakType in padMgr because
the depreciated `gRumbleEnabled` cvar was being checked
2022-12-26 06:37:40 -05:00
briaguya
85bccab1bb
bump lus version (#2269)
* bump lus version

* Fixed StringHelper issues caused by the latest lus version

Co-authored-by: KiritoDv <kiritodev01@gmail.com>
2022-12-24 17:49:54 -05:00
briaguya
013244560e
hi mom (#2261)
Co-authored-by: aMannus <mannusmenting@gmail.com>
2022-12-24 00:45:02 -05:00
Adam Bird
9529cc1217
SFX: Support replaying the current BGM when changed (#2150)
* add support for reloading the current bgm when changing it in the sfx editor

* clarify audio command with comment

* fix wrong seq type after merge
2022-12-23 23:50:39 -05:00
briaguya
0017bf1fcc
fix: correct item ordering in kak potion shop (#2256)
Co-authored-by: briaguya <briaguya>
2022-12-23 22:27:19 -05:00
aMannus
f6a7f3d13c
Fix enemy rando flags (#2253) 2022-12-23 22:27:01 -05:00
aMannus
99367ebb53
Fix silver rupee room in GtG (#2252) 2022-12-23 22:26:26 -05:00
Adam Bird
d215c76eba
fix shopsanity spawning objects for actors (#2247) 2022-12-23 22:26:01 -05:00
aMannus
07bae6b84c
Fix common enemy rando crashes (#2242) 2022-12-23 22:25:38 -05:00
aMannus
565775a3dc
Fix ice trap particles (#2229) 2022-12-21 11:14:00 -05:00
aMannus
9eb190e734
Fix particle regression (#2228) 2022-12-21 10:40:23 -05:00
Garrett Cox
0e7a89d117
Fix crash on mac with custom sequences (#2226) 2022-12-21 03:04:11 -05:00
briaguya
73873a6dbc
fix: no longer leak memory, invalidate textures properly (#2223)
* Revert "Fix Ganondorf boss battle ending (MQ only) (#2072)"

This reverts commit 52b896271c.

* yolo this should work

* finish comment

* see if this doesn't lag switches!

* formatting

* formatting

Co-authored-by: briaguya <briaguya@alice>
2022-12-21 01:26:13 -05:00
aMannus
e03ef85f3b
Enemy Rando Hyrule Field crash hotfix (#2222) 2022-12-21 01:03:05 -05:00
Christopher Leggett
8c8111c7b8
Small improvement to sfx randomize button. (#2219)
Should result in less allocations.
2022-12-21 00:31:51 -05:00
GaryOderNichts
1a10d8f627
Fix AdpcmBook allocations (#2214) 2022-12-21 00:15:05 -05:00
aMannus
a1a6c07549
Rando - Fix ice traps & get item logic (#2210)
* Fix ice traps & get item logic

* Fix shop keepers & more draw logic cleanup
2022-12-20 23:32:01 -05:00
Adam Bird
6f7361e1a4
only save authentic sequence cvars (#2216) 2022-12-20 17:09:12 -05:00
Garrett Cox
95f1ba7202
Fix cosmetic oob hacks (#2211) 2022-12-20 16:21:00 -05:00
GaryOderNichts
4eee417520
WiiU: Don't invalidate tex cache for dodongo (#2220) 2022-12-20 15:52:13 -05:00
GaryOderNichts
0f3c2d7c78
Fix gfx patching on 32-bit platforms (#2213) 2022-12-20 14:19:25 -05:00
Christopher Leggett
56ac27b8f4
Fixes crash during randomization of individual sound effects. (#2203)
* Fixes randomization of individual sound effects.

* Re-adds the mistakenly removed const specifier.

* Implements new randomization syntax that actually fixes the crash.

* Increases default width of sfx editor menu.

The default width was cutting off a lot of the text in the dropdowns due to the added Randomize button.
2022-12-19 05:12:36 -05:00
PurpleHato
4999df5395
TWEAK: Rando Text (French / German) (#2204)
* TWEAK: Some Rando Text

French and German tweaks (German made by Timmy_GamerNepgear on Discord)

Tweak: water control level style to fits Navi's style textboxes

* TWEAK: %c instead of %w
2022-12-18 21:07:05 -05:00
Adam Bird
51f3e37010
fix medi goron not selling randomized item and continuously selling knifes (#2206) 2022-12-18 20:07:35 -05:00
Adam Bird
c4b077d83b
fix warp song hints not being set if gossip stones are turned off (#2197) 2022-12-17 20:06:23 -05:00
Garrett Cox
be38b41644
[#361] Fix ganon boss offset on retail rom (#2190) 2022-12-17 19:51:52 -05:00
Garrett Cox
d3f2da2a8f
[#1803] Fix hookshot target offset on retail rom (#2189) 2022-12-17 19:21:00 -05:00
Christopher Leggett
8a69f1f020
Fixes receiving the wrong item when picking up ammo drops near a chest. (#2183)
* Fixes receiving the wrong item when picking up ammo drops near a chest.

Still shows the wrong model above links head but does give the right
item and shows the right text.

* Fixes get item model during first time pickup anim near chest.
2022-12-13 23:27:51 -05:00
briaguya
e71583d47c
fix: populate merchant prices table with expensive scrub prices (#2181)
* fix: populate merchant prices with vanilla scrub prices

* temporary expensive scrub workaround

Co-authored-by: briaguya <briaguya@alice>
2022-12-13 21:57:59 -05:00
Garrett Cox
5965cdb193
Fix save compatibility issue from renames (#2177)
* Revert json key changes in save v1 and v2

* Introduce save v3

* Add workaround for breaking save compatibility in 5.1.0

* Handle scarecrow long song a bit differently since the array is never empty
2022-12-13 19:18:18 -05:00
Christopher Leggett
7718e74d73
Always use authentic cache policy for replaced seqs (#2176) 2022-12-13 14:55:00 -05:00
briaguya
9a9b4bd679
fix: set color picker alpha on reset (#2173)
* fix: set color picker alpha on reset

Fixes a bug where the colour picker enhancement widget without alpha uses a garbage value for alpha on reset

Co-authored-by: sonoftunk <sonoftunk@gmail.com>

* formatting

Co-authored-by: sonoftunk <sonoftunk@gmail.com>
Co-authored-by: briaguya <briaguya@alice>
2022-12-12 23:40:27 -05:00
Garrett Cox
99c1f046a6
Move entrance tracker button down one (#2172) 2022-12-12 23:07:46 -05:00
Adam Bird
d2a5f6a06c
Add missing randomizer options to default preset (#2171)
* add all randomizer options to the default preset clear

* fix typo in randomizer menu

* remove enhancements from randomizer preset clear list
2022-12-12 22:36:50 -05:00
Garrett Cox
389a3b1709
[#2165] Rename big key to boss key for spoiler files (#2170) 2022-12-12 21:58:32 -05:00
Garrett Cox
462eb6d25a
Fix issue with hover boots interpolation when wearing bunny hood (#2167) 2022-12-12 21:32:24 -05:00
briaguya
efd40d0b89
fix: show always shuffled scrubs on check tracker (#2161)
Co-authored-by: briaguya <briaguya@alice>
2022-12-12 21:14:16 -05:00
briaguya
7676cca589
fix: always add anju as adult and trade claim check to location tracker (#2162)
Co-authored-by: briaguya <briaguya@alice>
2022-12-12 20:53:13 -05:00
Christopher Leggett
f80091af77
Prevents autosave during Ganon fight. (#2163)
* Prevents autosave during Ganon fight.

* Removes unnecessary switch case.
2022-12-12 20:50:13 -05:00
briaguya
0b24f3274a
add rupee name (#2164)
add "Strawbs" from Celeste

Co-authored-by: briaguya <briaguya@alice>
2022-12-12 20:39:14 -05:00
briaguya
a99892c09b
fix: get gravedigging tour in check tracker working in rando (#2159) 2022-12-13 02:04:13 +01:00
frizzle101101
cabcfb009c
improving free cam settings configurability (#1987)
* Initial camera distance slider

* works with freecam

* improving the settings configurability, adding distance slider and transition speed for the free camera
adding seperate sensitivity and invert settings for aiming/first person camera

* spelling

* tooltip msg on camera invvert

* typos

* removing the original free camera checkbox in experimental menu

* adding name change to new presets file

Co-authored-by: RaelCappra <rael.cappra@gmail.com>
2022-12-12 16:10:28 -05:00
frizzle101101
cb4a0aa21b
added fix option to fix camera swing; (#1992)
* added fix option to fix camera swing; Fixes camera getting stuck on collision when standing still, also fixes slight shift back in camera when stop moving

* add option to fix hang off ledge swing rate; Fixes camera swing rate when player falls of a ledge and camera swings around

* adding camera fixes to preset list
2022-12-12 15:31:33 -05:00
Christopher Leggett
e4ebdf76d9
Fixes crash due to OOB soundfont access. (#2157) 2022-12-12 13:35:34 -05:00
Adam Bird
72d53d61ed
rename decouple entrances option (#2154) 2022-12-12 01:59:55 -05:00
Christopher Leggett
071e48f589
Removes problematic sequences from the list. (#2153)
* Removes problematic sequences from the list.

These sequences were part of the ending and credits and thus didn't loop correctly.

* Readds problematic sequences as `SEQ_NOSHUFFLE`
2022-12-12 00:54:17 -05:00
briaguya
43ff9713e9
fix: bool defintion causing fast file select crash (#2142)
Co-authored-by: briaguya <briaguya@alice>
2022-12-11 17:12:02 -05:00
sonoftunk
15c8ccd0cf
Check Tracker - Fixes colours not initializing correctly in Check Tracker settings (#2141) 2022-12-11 13:14:50 -05:00
Adam Bird
41db15be48
Rando: Add Lake Hylia water control system (#2108)
* add lake hylia water control system

* fix actor spawn params

* remove non-working switch details

* adjust french translation

* fix object spawn

* use flag funcs

* use renamed eventchk flag for raise lh water
2022-12-11 01:00:18 -05:00
aMannus
6e70cff145
Customize behaviour cleanup (#2132) 2022-12-11 00:45:35 -05:00
Ralphie Morell
cb232b87c7
Add QoL sneak option (#2128)
* Added sneak option

* fix french/german choices

* market sneak uses cvar instead of n64dd;
added toggle in gamebar

* whoops

* move enhancement from rando to regular

* address feedback

* accounted for entrance rando

* damn it archez

* added TODO about AI translated messages

* fix variable names
2022-12-10 23:28:22 -05:00
Amaro Martínez
dc1b8f017e
Add: Title Screen Translation (#1461)
* Add: PRESS START Translation

* Translate Title Screen

* Update z_en_mag.c
2022-12-10 23:07:43 -05:00
sonoftunk
b56e8926f0
Randomizer Auto Location tracker (#1942)
* Initial Auto-Location Tracking

* Updates styling for checked items in Check Tracker

* Fixes crashing issues with Check Tracker rendering

* Auto scroll Check Tracker windows to current area

* Checks Tracker only shows checked locations once in game

* Fixes issue where Check Tracker would auto-scroll to wrong location when entering a grotto

* Fixes gerudo fortress checks showing in tracker when settings have them removed

* InfTable Check Location Fixes: Lost Dog Richard, Rolling Gorons, HBA 1000, Thawed Zora

* Fixes most Event Chk Inf Checks on Check Tracker, and Frogs

* Check Tracker - Song from Malon now works

* Check Tracker
- Fixes Claim Check check not tracking
- Fixes spoiler for Claim Check check when getting Biggoron's Sword
- Fixes LACS being spoiled and not tracking

* Check Tracker - Fixes #2 for Skull Mask and Mask of Truth checks

* Check Tracker
- Adds support for merchants
- Fixes #7 for Bomchu Salesman
- Fixes #12 for Medigoron

* Check Tracker - Fixes #8 for Song from Saria

* Check Tracker - Fixes #9 for Adult Shooting Gallery

* Check Tracker - Fixes #10 for Composer Grave

* Check Tracker - Fixes #14 for Song from Ocarina of Time

* Check Tracker - Fixes #16 for Shooting the Sun

* Check Tracker - Fixes #19 for Darunia's Joy

* Save Editor - Adds missing label for Treasure Chest Game

* Check Tracker - Fixes Great Faries checks

* Check Tracker - Fixes Sheik at Temple

* Check Tracker - Fixes Great Fairy auto-scroll to wrong location

* Check Tracker - Updates blue warp checks
- Fixes Bongo Bongo and Twinrova checks

* Check Tracker - Fixes Dampe's Gravedigging Tour

* Check Tracker - Fixes Prescription to King Zora

* Check Tracker - Fixes Bazaar showing under wrong area on tracker between adult/child

* Check Tracker - Fixes scroll for Hyrule Market and Bazaar

* Check Tracker - Fixes giving Adult Trade Items shown on tracker: Broken Sword, Saw, Cojiro, Eyeball Froge, and Eyedrops

* Cleans up item_location

* Check Tracker - Item List
- Fixes item list not updating when changing seeds/options
- Separates item exclusion list from item check list
- Clean up comments

* Check Tracker - Adds Skip functionality to buttons

* Check Tracker - Refactors adult trade items to RandomizerInf

* Check Tracker - Fixes an issue where any time an item is removed the tracker would cause an application crash

* Check Tracker - Item names are now dependent on file language

* Check Tracker - Fixes Gerudo Card check not showing in Fast setting

* Reorders headers to (hopefully) avoid CI build conflicts on linux/consoles

* Explicitly defines vector header in randomizer.h to fix compile errors

* Complete Refactor of Check Tracker ImGui

* Adds missing check tracker files to CMakeLists

* Reverts the Item_location whitespace cleanup from ad10807c

* Check Tracker - Loading Fixes
- Fixes a bug where loading a save file a second time would add all the checks again
- Fixes a bug where the check tracker would not render at all until in a save file

* Check Tracker - Fixes a bug where checks would sometimes fail to load

* Check Tracker - Fixes duplicated checks when using Only on Pause or Only on Combo

* Check Tracker - Works around issue where single characters don't show in EnhancementCombobox, and fixes a label for combo buttons held option

* Check Tracker - Applies all Check Tracker changes to Item Location

* Check Tracker - Updated Check List
- Adds Link's pocket, either in KF or HM depending on starting age
- Supports Scrubs and Merchants
- Uses enums instead of magic numbers
- Updates DC Scrub Short Names for MQ

* Check Tracker - Adds a performance mode option

* Check Tracker - List Fixes (requires new rando generation)
- Fixes Frogs Rupees always visible
- Fixes Kokiri Sword Chest not showing
- Fixes Weird Egg not showing

* Check Tracker - MQ List basic support

* Check Tracker - MQ/Vanilla anti-spoilers

* Check Tracker - Collecting a compass now spoils the area

* Check Tracker - Basic Vanilla Support and fixes
- Vanilla items show in check tracker, even if many won't auto check
- Fixes an issue with Gerudo Fortress Keys
- Refactors IsVisibleInCheckTracker to randomizer_check_tracjer

* Check Tracker - Fixes merge conflict from 08a487f35e

* Check Tracker - Fixes tracker loading as Floating when default value is set to Windowed

* Randomizer Location Exclusion List
- Adds Scrubs, Merchants, Shops. Adult Trade items, MQ Dungeons, and Bean Salesman
- Fixes Kokiri Sword Chest, Weird Egg, and Frog Song Rupees from misbehaving
- Updates Gerudo Fortress logic to be dependent on Open/Fast/Normal Fortress
- Removes Invalid Check
- Adds RO Enum for MQ settings
- Updates magic values to RO enum

* Location Exclusion List - Scrubs that are always randomized now always show on the list

* For now, removes some extra code only needed for a Check Tracker.

* Randomizer Location Exclusion List - Fixes Eyeball Frog from showing up when Adult Trade Items was off

* Location Tracker - Updates Eyedrops to use RandomizerInf instead of Chest

* Check Tracker - Fixes a bug where Link's Pocket item wasn't acting as checked for area item count

* Check Tracker - Fixes a bug where Locations would incorrectly say Vanilla due to the first check in the area being a non-MQ check

* Check Tracker - Fixes a crash when Check Tracker is docked but not visible

* Check Tracker - Fixes areas being spoiled when loading different save files

* Check Tracker - Only reset variables if they are initialized

* Check Tracker - Cleans up old comments, unused variables, methods, and macros, adds language TODOs,

* Check Tracker - Readds rainbow UI elements after Cosmetics Editor refactor

* Check Tracker - Removal of flag lookup that was refactored, no longer needed header, and some trivial whitespace fixes.

* Check Tracker - Refactors Index to Bitmask code to a macro

* Check Tracker - Changes ordering from alphabetical to RandomizerCheck ordering

* Check Tracker - Wraps everything in a namespace to avoid global variable usage

* Check Tracker - Explicitly defines for-loop scope

* Check Tracker - refactors dungeon lookup from static array to function

* Fixes a bug when using EnhancementColor with alpha

* Check Tracker - Refactors all colour to use direct conversions

* Check Tracker - refactors settings loading and check visibility for readability

* Check Tracker - Fixes a bug where the wrong label showed on the Check Tracker BG Color

* UIWidgets - Adds Alpha bar to EnhancementColor when using alpha parameter
2022-12-10 22:39:23 -05:00
sonoftunk
40cb4a6d7d
Randomizer Location Exclusion List (#2070)
* Randomizer Location Exclusion List
- Adds Scrubs, Merchants, Shops. Adult Trade items, MQ Dungeons, and Bean Salesman
- Fixes Kokiri Sword Chest, Weird Egg, and Frog Song Rupees from misbehaving
- Updates Gerudo Fortress logic to be dependent on Open/Fast/Normal Fortress
- Removes Invalid Check
- Adds RO Enum for MQ settings
- Updates magic values to RO enum

* Location Exclusion List - Scrubs that are always randomized now always show on the list

* For now, removes some extra code only needed for a Check Tracker.

* Randomizer Location Exclusion List - Fixes Eyeball Frog from showing up when Adult Trade Items was off

* Apply suggestions from code review

Location Exclusion List - Applies suggested dungeon item defaults

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

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2022-12-10 18:21:36 -05:00
Josh Bodner
26ec69606a
Don't autosave immediately after purchasing from a shop (#2079) 2022-12-10 21:39:26 +01:00
Sarge-117
8c23bcd67c
Gameplay stats 1.1 (#2129) 2022-12-10 21:37:33 +01:00
Garrett Cox
8021f29c3e
Add toggle for all locations reachable (#2125) 2022-12-10 21:36:17 +01:00
Garrett Cox
fd20753849
Add docs for custom sequences (#2124) 2022-12-10 21:35:26 +01:00
Adam Bird
875b9aaff8
fix lab dive check with eye drops (#2119) 2022-12-10 21:28:11 +01:00
Oliver Schall
c1e0db336d
Disable potion menu elements when potion change is turned off (#2049) 2022-12-10 21:27:38 +01:00
briaguya
408143ec8c
fix: prevent oob access of sequenceMap (#2123)
Co-authored-by: briaguya <briaguya@alice>
2022-12-09 02:25:45 -05:00
Garrett Cox
274c12f3cb
Cosmetic Editor v3 (#1898)
* Cosmetic Editor v3

* Workaround for cvar_clear not working correctly

* Nest RGBA values under Value key

* Implement arrow cosmetics

* Implement keese cosmetics

* Tweaks to life meter

* Implement file choose color

* Remove old title fire colors

* A few more silly things

* Fix from upstream pulls

* Fix hilts and sword during ganon cutscene

* Add slingshot

* Add metal trap and red ice

* Add iron knuckles cosmetics

* Add navi cosmetics

* Attempt to fix linux error

* adjust some comments and alignment

* Implement trails cosmetics

* Implement charged sword spins

* Comment out options that haven't been implemented

* Fix exploded rupee color in shooting gallery

* Add two silly options

* Add comments and minor changes from feedback

* Adjust comment about boomerang gem

* Gracefully handle chest textures missing
2022-12-08 23:24:39 -05:00
Christopher Leggett
8c8c761726
Custom Sequences (#2066)
* Allows OTRExporter to parse pairs of .seq and .meta files

* Gets added sequences available to SfxEditor and playing in game.

* Some cleanup of the names appearing in the SfxEditor.

* Moves sequence swap lower in the audio command stack.

* Increases temp cache memory available on title/file-select screen.

Certain sequences wouldn't play on the file select and title screen
because they were too large to be cached.

* Introduces workaround for 255 sequence limit.

* Bug fixes and cleanup.

* Fixes bug where fanfares would sometimes disable the sequence player.

* Fixes bug causing certain areas to discard caches when loading enemy music.

* Fixes potential config-related crash by replacing invalid characters.

* Allows custom bgm to play in all BGM categories.

* Properly randomizes the custom tracks.

* Moves custom sequences to a patch OTR.

* If custom music was not loaded, fall back to default values.

* Prevents OOB crash on Synthwave array and adds octave drop feature.

Added octave drop to experimental features, which drops the octave of
a note that is too high for the audio engine to actually play. Without
this, some custom sequences have notes which cap at a specific value
and sound terrible. At least with this they will still harmonize with
the other notes. Experimental tab added to the SfxEditor to house
the checkbox for the octave drop feature.

* Adds more pool memory for a few tracks that couldn't fit.

* Some cleanup on the generated music archive process.

* Fixes missed memory boost from earlier.

* Adds ability to remove enemy proximity music.

* Applies correct cache policy to fanfares to prevent unloading sequences.

* Removes case-sensitiveness of the sequence type.

* Fixes not reverting to sequence after miniboss.

* Fixes transition to/from miniboss (again) and ocarina bug.

To be clear, fixes the more rampant portable ocarina bug present in my earlier builds, not the authentic one.

* Finally properly fixes transitions between sequences

For miniboss fights and SfxEditor previews.

* Removes unneeded boolean expression.

* Adds randomize button to individual SFX Editor entries.

* Fixes lost woods music overwriting goron city music.

* Plays swapped Hyrule Field music when transitioning to daytime.

* Fixes swapping Gerudo Valley music when transitioning from daytime.

* Updates custom sequence OTRPath to match SequenceOTRizer.

* Reverts changes to OTRExporter in favor of external tool

* Fixes formatting issues.

* Attempts to fix formatting issue in git diff.

* Should actually fix formatting issues.

* Should fix mac/linux exclusive build error.

* Fixes segfault on macos.

* sort custom seqs

* Fixes audioseq crash when under 255 seqs

* Removes magic numbers.

* Removes commented out code.

* fixes formatting in SfxEditor.h

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

* Cleans up the one hardcoded QueueSeqCmd call.

* Fixes unneeded erroneous memory boost applied earlier.

* Applies additional formatting/cleanliness suggestions from review

* Fixes small logic bug

Co-authored-by: RaelCappra <rael.cappra@gmail.com>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2022-12-08 23:07:45 -05:00
briaguya
4a35b9e798
fix: correctly parse custom nocturne warp text (#2116)
This was causing an issue where hints were not being properly parsed,
because ParseHintLocationsFile was erroring out when trying to read
from a part of the json that didn't exist. Since that method is using
pokemon exception handling, it was failing silently.

This just makes it so the key in the spoiler log matches the key we're trying
to read (and brings it in line with the rest of the warp text names)

Co-authored-by: briaguya <briaguya>
2022-12-08 10:44:30 -05:00
briaguya
fa4ffb5913
fix: ensure play isn't null when reading from it (#2115)
Co-authored-by: briaguya <briaguya>
2022-12-08 10:44:08 -05:00
Adam Bird
025e18e7e5
clear the rando generating cvar on launch to prevent softlocking generating a new seed (#2109) 2022-12-08 00:17:05 +01:00
aMannus
b593e27384
ER - Shabom timer fix (#2110) 2022-12-08 00:16:08 +01:00
louist103
31947cd51b
Copy cleanups (#1932) 2022-12-07 00:28:35 -05:00
Adam Bird
8337e4e24f
Rando: Entrance Tracker v1 (#2005)
* initial pass for entrance tracker

* add search meta tags to entrance tracker data; clear entrance tracker on title screen

* rename to use playstate/play

* fix lus imports

* move discovered entrance info to SohStats struct

* Add scene info and highlighting to entrance tracker

* hide undiscovered text when searching

* add comments for entrance tracker

* fix merge conflict error

* account for zora river -> hyrule field water entrance in tracker

* fix assignement error

* remove unneeded defaults from debug file init

* adjust entrance tracker settings and add more search tags

* convert magic numbers to defines; add more comments to entrance tracker; clarify variable names

* add reverse index to entrance tracker data to compare with instead of using strings

* rename variables
2022-12-06 23:44:14 -05:00
briaguya
4f109178ff Merge branch 'develop-flynn' into flynn-to-dev 2022-12-06 21:29:27 -05:00
Adam Bird
77123196d1
fix lake hylia water level raised flag not being set in rando (#2103) 2022-12-06 20:09:05 -05:00
Amaro Martínez
52b896271c
Fix Ganondorf boss battle ending (MQ only) (#2072) 2022-12-06 19:24:09 -05:00
Adam Bird
d9f3844b2d
[Feature] Entrance Rando v2 (#2071) 2022-12-07 00:37:50 +01:00
PurpleHato
7f4a19461c
ADD: Rando German Custom Messages (#2102)
* ADD: Rando German Custom Messages

Thanks to Timmy_GamerNepgear on Discord for the translation, I basically just formatted the text

* TWEAK: Forgot a small breakline
2022-12-06 22:54:54 +01:00
PurpleHato
b8465a9ef9
TWEAK: Rando french typos 2022-12-06 15:00:55 -05:00
lilDavid
db4af238f2
Kaleidoscope: Fix C buttons when closing the menu (#2100) 2022-12-06 14:17:07 -05:00
aMannus
598cac725e
[Feature] Rando: Enemy Randomizer V1 (#1781) 2022-12-06 10:33:50 +01:00
Oliver Schall
d9a08d0747
Added bombchu minigame difficulty menu (#2080)
* Added bombchu bowling difficulty menu

* Removed incorrect diff

* Added bombchu bowling difficulty presets

* Shortened cucco removal logic
2022-12-06 01:17:20 -05:00
briaguya
3921f15264
use enum for boss keysanity (#2096)
* use enum for boss keysanity

* merge

Co-authored-by: briaguya <briaguya@alice>
2022-12-06 01:03:55 -05:00
briaguya
767b707a8c
use enum for keyrings (#2095)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 01:00:36 -05:00
briaguya
dbfdb42406
use enum for hint clarity (#2092)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 01:00:24 -05:00
briaguya
541d1d35a4
use enum for shuffle scrubs (#2089)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 01:00:12 -05:00
briaguya
ca4875befc
use enums for tokensanity (#2088)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 00:59:59 -05:00
briaguya
a93728599d
use enum values for maps and compasses (#2086)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 00:59:48 -05:00
briaguya
d03e876289
use enum for logic (#2098)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 00:37:07 -05:00
briaguya
4ee0ddaa15
use enum for language (#2097)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 00:36:53 -05:00
briaguya
1e0e80f580
use enum for hint distribution (#2093)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 00:36:28 -05:00
briaguya
8b96c023fb
use enum for gerudo keys (#2094)
* use enum for gerudo keys

* don't use cvar that doesn't exist

Co-authored-by: briaguya <briaguya@alice>
2022-12-06 00:36:13 -05:00
briaguya
52bf2d600b
use enum for gossip stone hints (#2091)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 00:35:59 -05:00
briaguya
306183aa1b
use enum for shuffle merchants (#2090)
* use enum for shuffle merchants

* remove comment that isn't needed anymore

Co-authored-by: briaguya <briaguya@alice>
2022-12-06 00:35:44 -05:00
briaguya
22c4b1afa3
use enum for shuffle songs (#2087)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 00:35:08 -05:00
briaguya
321e563c82
use enum for starting age (#2085)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 00:34:30 -05:00
briaguya
acd07f2a07
add/use enum values for rando mq dungeon options (#2056)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 00:32:53 -05:00
aMannus
d3bfc102fe
[Fix} Small Crowd Control fixes (#2061) 2022-12-06 06:28:50 +01:00
Amaro Martínez
1a9898b918
Fix Ganondorf title card (#2082) 2022-12-05 14:38:28 -05:00
frizzle101101
da1aa270ad
making edit and continue compiling in vs possible (#1988)
* making edit and continue compiling in vs possible

* fix tab spacing
2022-12-04 23:25:24 -05:00
Josh Bodner
656dcd2021
Don't autosave after obtaining bombchus if bombchu drops are enabled (#2077) 2022-12-04 20:54:23 -05:00
Josh Bodner
39b80137f6
Don't autosave in the Chamber of Sages (#2076) 2022-12-04 20:13:29 -05:00
aMannus
5d2b794c00
Fix hookshot retraction on dpad (#2065) 2022-12-04 19:27:15 -05:00
aMannus
5b5310ea92
Disable bunny hood NPC interactions with MM bunny hood on (#2058)
* Disable bunny hood NPC interactions

* Enum
2022-12-04 19:03:04 -05:00
aMannus
d4aeb79341
Fix jabu skulltula check (#2062) 2022-11-30 10:13:00 -05:00
briaguya
8d398f7130
refactor: separate RandoOption enum, use max (#2055)
* refactor: separate RandoOption enum, use max

* missed a couple magic array sizes

* couple more

Co-authored-by: briaguya <briaguya@alice>
2022-11-30 01:40:55 -05:00
briaguya
d6c528d9d0
use shopsanity enum (#2054)
* enums for rainbow bridge

* reorder enum

* use enums for shopsanity

* remove space

Co-authored-by: briaguya <briaguya@alice>
2022-11-30 00:30:51 -05:00
briaguya
e193f0dc0e
enums for rainbow bridge (#2052)
* enums for rainbow bridge

* reorder enum

Co-authored-by: briaguya <briaguya@alice>
2022-11-29 23:41:46 -05:00
briaguya
00a862a252
use trial enum instead of magic numbers (#2039)
* use trial enum instead of magic numbers

* simplify trial count/random trial logic

* set default to set number

Co-authored-by: briaguya <briaguya@alice>
2022-11-29 22:43:05 -05:00
briaguya
06df45efc7
use forest enum values instead of magic numbers (#2038) 2022-11-30 02:32:22 +01:00
briaguya
17c6a3653c
use enum for keysanity (#2044) 2022-11-30 02:05:11 +01:00
briaguya
b976ef58fe
use enum for ganon's boss key (#2046) 2022-11-30 02:01:41 +01:00
briaguya
a15f89a3e4
Use enum values for ice trap setting (#2041)
Co-authored-by: briaguya <briaguya@alice>
Co-authored-by: David Chavez <david@dcvz.io>
2022-11-30 00:40:35 +01:00
briaguya
aba034ef53
Use enum for links pocket, dungeon reward shuffle (#2045)
Co-authored-by: briaguya <briaguya@alice>
2022-11-30 00:37:53 +01:00
briaguya
ec8ec8d322
Use enum for kak gate (#2043)
Co-authored-by: briaguya <briaguya@alice>
Co-authored-by: David Chavez <david@dcvz.io>
2022-11-30 00:33:38 +01:00
briaguya
bfc0ca5388
Use enum values for item pool (#2042)
* use enum values for item pool

* Update soh/soh/Enhancements/presets.h

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

Co-authored-by: briaguya <briaguya@alice>
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2022-11-30 00:31:59 +01:00
briaguya
7e9c5d428c
Use gerudo fortress enum (#2040)
Co-authored-by: briaguya <briaguya@alice>
2022-11-30 00:30:52 +01:00
Garrett Cox
3cb9f93ff4
[docs] Pull upstream updates: SetupDL (#2048) 2022-11-30 00:29:36 +01:00
Garrett Cox
d7c3522142
[docs] Upstream updates 1 (#1955)
* First round of upstream updates and commenting patternss

* Renames from z64player

* Renames from z64save

* Undo changes to legacy save struct

* Add missing reference from entrance rando

* Fixes from stat tracker

* More tweaks
2022-11-30 00:28:57 +01:00
PurpleHato
453eb7af88
Missing space (#2024) 2022-11-28 18:21:25 -05:00
briaguya
5037b99740
rename 3drando dot enums to match soh enum naming (#2034) 2022-11-28 23:49:21 +01:00
Ada
9027d85671
TWEAK: Game controls menu simplification (#2007) 2022-11-28 23:45:07 +01:00
briaguya
0424c5aaf3
fix: rando door of time enum usage (#2032) 2022-11-28 22:41:33 +01:00
briaguya
97e612b921
flynn -> dev
flynn -> dev
2022-11-28 15:59:00 -05:00
Garrett Cox
091b6a2987
[Fix] Issue with first two rainbow bridge settings getting swapped (#2023)
Fixes #2022
2022-11-26 19:39:45 +01:00
briaguya
1bf5fb64a5
[Fix] Dodongo boss battle crashing with only mq otr (#2020)
Co-authored-by: briaguya <briaguya>
2022-11-26 08:19:33 +01:00
PurpleHato
80bb4577b0
Google Translation Strikes back (#2014) 2022-11-24 13:17:47 -05:00
sonoftunk
bd54ac5d15
Removes duplicated rando option enum for merchant (#2008) 2022-11-23 21:05:48 -05:00
Sarge-117
67e325a0b9
Fix C-button counts and ice trap count (#2009) 2022-11-23 20:53:10 -05:00
frizzle101101
d65718db85
fix int sliders to fill the window like float sliders (#1984)
* fix int sliders to fill the window like float sliders

* add a spacer to make it consistent with float slider

* add a spacer to make it consistent with float slider

* adding pop width further constancy with float slider
2022-11-23 16:14:11 -05:00
Oliver Schall
4526550e95
[Enhancement] Added checkbox to disable finishing difficulty behavior changes (#1990) 2022-11-23 13:43:06 +01:00
sonoftunk
c3f51fef2a
[Format] Lines up checks in item_location (#2004) 2022-11-23 13:42:14 +01:00
Sarge-117
9c162fc0ec
Gameplay Stat Tracker V1 (#1986)
* First test of gathering some gameplay stats

* timer changes and other stuff

* Move code to new files + rename

* Name change - gamePlayStats

* Finish rename, remove n64ddFlag checks

* Improve item get times

* Better time tracking, more stats,

* Put button under Enhancements

* Fix merge conflict

* Add pauseCount, fix bug with rando items

* Adjust inits/declarations

* step counter

* Name change: "itemGetTime" to "timestamp"

* Tidying + CI test

* Set up array for stat counts

* Macro

#define GAMEPLAYSTAT_TOTAL_TIME (gSaveContext.gameplayStats.playTimer / 2 + gSaveContext.gameplayStats.pauseTimer / 3)

* Add boss defeat timestamps

* Add sword swings, pots broken, bushes cut

* fix int type

* Add counts for enemies defeated

Broken down by enemy, with a total

* Add ammo used

* Hide breakdowns until count > 0

* Forgot Big Octo

* Count chests opened

* Update after LUS submodule

* Enemy count spacing

* Comments

* Count 3 mini Floormasters as 1 Floormaster

+ some cleanup

* Comments

* Colour coding for timestamps on quest items

i.e. medallions/stones/songs

* Move stat into the sohStats struct

+ rearrange the counts enum for easier addition of future counts

* Some documentation + count button presses

* Stop counting button presses when Ganon defeated

* Couple bugfixes

Add count for Gerudo Thief, fix step counter counting in some situations where it shouldn't

* Fix comment
2022-11-22 20:04:40 -05:00
Ralphie Morell
9cfe7bff47
Rando: Settings Enum (#1761)
* added rando option enum; added options to load from spoiler file

* whoops

* Moved to `randomizerTypes` header; fixed ammo drop enum

* Actually populated options with new enums

* Added add'l enums for ganon boss key
2022-11-22 17:11:05 -05:00
Amaro Martínez
0fca1019a2
Do not use Yes/No hardcoded options for Better Owl (#2002) 2022-11-22 14:23:48 -05:00
Garrett Cox
8461ea4abd
Add s6 and hellmode presets for rando (#1904)
* Refactor how presets are created and used, and add presets for rando

* Add new enhancements to clear

* Tweaks and feedback
2022-11-22 12:30:18 -05:00