Commit Graph

722 Commits

Author SHA1 Message Date
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
Amaro Martínez
170b9c1224
Disable BEL char by default when terminal attached (#2306) 2023-01-17 15:18:13 -05: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
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
013244560e
hi mom (#2261)
Co-authored-by: aMannus <mannusmenting@gmail.com>
2022-12-24 00:45:02 -05:00
aMannus
f6a7f3d13c
Fix enemy rando flags (#2253) 2022-12-23 22:27:01 -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
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
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
Adam Bird
51f3e37010
fix medi goron not selling randomized item and continuously selling knifes (#2206) 2022-12-18 20:07:35 -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
Christopher Leggett
7718e74d73
Always use authentic cache policy for replaced seqs (#2176) 2022-12-13 14:55:00 -05:00
Garrett Cox
462eb6d25a
Fix issue with hover boots interpolation when wearing bunny hood (#2167) 2022-12-12 21:32:24 -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
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
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
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
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
Adam Bird
875b9aaff8
fix lab dive check with eye drops (#2119) 2022-12-10 21:28:11 +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
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
aMannus
b593e27384
ER - Shabom timer fix (#2110) 2022-12-08 00:16:08 +01: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
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
541d1d35a4
use enum for shuffle scrubs (#2089)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 01:00:12 -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
4ee0ddaa15
use enum for language (#2097)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 00:36:53 -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
321e563c82
use enum for starting age (#2085)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 00:34:30 -05:00
Amaro Martínez
1a9898b918
Fix Ganondorf title card (#2082) 2022-12-05 14:38:28 -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
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
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
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
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
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
Sarge-117
67e325a0b9
Fix C-button counts and ice trap count (#2009) 2022-11-23 20:53:10 -05:00
Oliver Schall
4526550e95
[Enhancement] Added checkbox to disable finishing difficulty behavior changes (#1990) 2022-11-23 13:43:06 +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
Alto1772
156f713e19
[Enhancement] Add option to hide build details on boot screen (#1948) 2022-11-22 09:42:01 +01:00
DeusVexus
b843937b34
[Fix] Rando: Like Likes should not eat tunics (#1978) 2022-11-22 09:30:12 +01:00
DeusVexus
1ae4e2c1f7
[Enhancement] Include minigame ammo in infinite ammo cheat (#1973) 2022-11-22 09:18:23 +01:00
Adam Bird
c87f066848
[Fix] Allow turning in Ruto's letter after rescuing her (#1999) 2022-11-22 09:17:51 +01:00
briaguya
15eb293e61
[Fix] Create MQ saves when only MQ OTR loaded (#2001)
Co-authored-by: briaguya <briaguya@alice>
2022-11-22 08:59:27 +01:00
frizzle101101
c569a46933
[Enhancement] Add fix camera drift option to fixes menu (#1983) 2022-11-22 08:57:26 +01:00
Oliver Schall
8841e0b607
Fixed Shooting Gallery Difficulty Menu implementation issues (#1991) 2022-11-22 00:53:23 +01:00
GaryOderNichts
5dcc7e41b9
Display all game versions in build info (#1982) 2022-11-20 20:13:54 +01:00
Oliver Schall
82fff6486c
Shooting gallery difficulty options menu (#1354)
* Added difficulty settings menu for shooting gallery

* Reverted linux assert fix for PR

* Added difficulty option to not randomize rupee order as adult

* Changed checkbox wording due to text overflow

* Reverted incorrect change from merge

* Update soh/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c

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

* Added Checkbox to turn on and off all customizations in shooting gallery behavior

* Added disable-switch for sliders, shooting gallery difficulty options are now disabled when customize behavior is turned off instead of hidden

Co-authored-by: Ralphie Morell <rafael.morell@techfield.us>
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2022-11-18 18:55:22 -05:00
Josh Bodner
2c0ec96eff
Fix credits timing (#1254)
* Fix credits timing

* Add documentation

* Fix typo
2022-11-18 18:42:58 -05:00
Garrett Cox
283854c854
Implement option to start with a specific number of skulltula tokens (#1967) 2022-11-16 01:39:53 -05:00
briaguya
c9a3dcdb44
update lus (#1965)
* update lus

* rename things to fix build

Co-authored-by: briaguya <briaguya@alice>
2022-11-14 23:01:06 -05:00
Josh Bodner
e7597bae30
Prevent autosave when first loading a file (#1792) 2022-11-14 20:02:07 -05:00
briaguya
8571545bf2
Cheat: Switch Age and Reload Link (#1963)
* Added button to switch age

* Added logic to switch link's age

Reloads link from last entrance he went through once his age is switched.

* Link now respawns where he last was

* Update game.c

* move setting to GameMenuBar.cpp, fix build issues

Co-authored-by: Jake Edvenson <77412657+JakeEdvenson@users.noreply.github.com>
Co-authored-by: briaguya <briaguya@alice>
2022-11-14 19:29:16 -05:00
RaelCappra
6361a4c776
Fixes most known bugs associated with FreeCam (#1960)
* Fixes most known bugs associated with FreeCam

Co-authored-by: MelonSpeedruns <melonspeedruns@outlook.com>

* Address review suggestions

Co-authored-by: MelonSpeedruns <melonspeedruns@outlook.com>
2022-11-14 17:59:17 -05:00
Adam Bird
15a9975200
Entrance Rando (#1760) 2022-11-14 12:13:21 +01:00
briaguya
3914781ebf
Import libultraship as a submodule (#1943)
Co-authored-by: briaguya <briaguya>
Co-authored-by: Christopher Leggett <chris@leggett.dev>
Co-authored-by: David Chavez <davi@dcvz.io>
2022-11-14 11:22:34 +01:00
Ralphie Morell
341bc43daf
Rando: Shuffle Merchants (#1720) 2022-11-08 19:54:51 +01:00
lilDavid
e170407517
Enhancements for equipping magic arrows (#1022)
Skip Magic Arrow Equip Animation, Equip Multiple Arrows at Once
2022-11-07 09:05:56 +01:00
RaelCappra
8d57ef4bed
Restore QPA glitched damage (#1789) 2022-11-07 09:02:42 +01:00
Dakota Brown
328ff0e8c4
Added Chests of Agony (#1885) 2022-11-06 22:07:58 +01:00
Garrett Cox
2f6dea92c7
Add option to disable jump velocity boost with bunny hood (#1918) 2022-11-06 10:05:34 +01:00
Garrett Cox
99260acaf1
Use PlayState instead of GlobalContext (#1927)
* Use PlayState instead of GlobalContext
- GlobalContext -> PlayState
- globalCtx -> play
- GlobalCtx -> PlayState
- globalContext -> playState

* Find and replace Gameplay_ with Play_

* Correct some misnamed argument cases
2022-11-06 09:24:34 +01:00
Garrett Cox
4396411d10
Add enhancement for making nuts explode bombs, similar to bombchus (#1906) 2022-11-05 14:37:32 +01:00
Garrett Cox
1dc28978fe
Fix copy/paste for ganons castle keyring (#1916) 2022-11-05 03:00:34 -04:00
Garrett Cox
960c2732e5
Skip cutscenes for DOT and Rainbow bridge in rando (#1908) 2022-11-04 21:47:13 -04:00
Garrett Cox
a40b7180d9
handle keyrings on sohStats (#1911) 2022-11-04 21:37:16 -04:00
Garrett Cox
763f3a5760
Tweaks to chest matches contents setting (#1902) 2022-11-03 18:07:11 -04:00
Garrett Cox
a4697c6fcb
Change lineup tick default to off (#1899) 2022-11-03 12:55:40 -04:00
Christopher Leggett
75af33a04c
Fixes choose-quest with missing MQ crash. (#1903) 2022-11-03 12:29:25 -04:00
Garrett Cox
c5940905e7
Add glitch line-up tick option (#1875) 2022-11-02 22:07:10 -04:00
Christopher Leggett
4156a1d2c7
Fixes bug preventing name entry with single OTR. (#1894) 2022-11-02 18:00:57 -04:00
Christopher Leggett
d49a1cd6b3
Fixes bug with generating seed on the choose-quest screen. (#1892) 2022-11-02 17:30:44 -04:00
Garrett Cox
3b7b4913eb
Track keys, heart pieces, and heart containers collected (#1849)
* Track keys, heart pieces, and heart containers collected

* Update soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp
2022-11-02 14:09:25 -04:00
Garrett Cox
897e70b6fc
Sfx Editor - 3rd Pass (#1873)
* First pass on SFX Editor

* Fix crash at night in Colossus (and probably other undocumented issues)

The SFX editor was swapping out the bytes corresponding to the sequence
to be played regardless of the audio command being issued. This fix
ensures the swap will only happen on commands which actually treat those
bytes as a sequence identifier.

* enabling a few more songs/fanfares

* Removing a few broken bgms, fixing the preview button returning to the wrong bgm

* Fixes restoration from miniboss music to previous one

* add timed minigame into the sounds pool

* A few small tweaks

* More cleanup and add instruments

* adjust usage of getReverseReplacementSeq

* Changes from feedback and prefix external methods with SfxEditor

Co-authored-by: RaelCappra <rael.cappra@gmail.com>
2022-11-02 12:27:05 -04:00
Christopher Leggett
fd8a2c9483
Adds in-game menu for selecting a dungeon quest/randomizer (#1863)
* Adds most visuals and interactions for quest select menu.

* "Scrolling" menu, adds remaining sub/title textures, language support

* Tweak: ENG, FRA, GER title to match the original style

* ADD: Randomizer tex

* TWEAK: Randomizer ZAPD extension format

* Adds control stick prompts to the "scrolling" menu.

* Adds third entry for Randomizer.

* Bold text on randomizer subtitle.

* Ensures the game won't allow selecting an unsupported quest.

* Makes save files be created from the quest menu selection.

* Removes the master quest and randomizer checkboxes (no longer needed).

* Removes lock on MQ-only rando.

* Skips quest select if only one quest is playable.

* Adds ability to back out of quest select menu

* Show seed icons while Randomizer is selected on Quest Select Menu.

* Fixes custom hud colors and d-pad navigation.

* Implements backing up from name entry to quest select.

Also implements backwards rotations on the file select screen.

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
2022-11-02 11:50:47 -04:00
Garrett Cox
dda4a13bc3
Implement keyrings (#1869)
* Implement keyrings

* ADD: French GIMessage

* Remove cvar include

* Rename maxKeys to numOfKeysOnKeyring

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
2022-11-02 11:36:02 -04:00
Garrett Cox
e6150ea8da
Add cheat: hookshot everything (#1874) 2022-10-31 22:28:03 +01:00
Christopher Leggett
087f42a826
Fixes crash with toggling walk speed. (#1877) 2022-10-31 12:39:43 -04:00
Amaro Martínez
8932f30904
Fix Piece of Heart sound (#1862)
Fixes #1843.
2022-10-31 01:56:57 -04:00
vaguerant
76e4e97a72
Correct gNoRestrictAge for gTimelessEquipment (#1856) 2022-10-30 00:00:17 +02:00
Garrett Cox
4a686cf800
Redone fast file select (#1854)
* Redone fast file select

* Update soh/src/overlays/gamestates/ovl_title/z_title.c

* Prevent loading incompatible saves

* Dont change cvar on incompatible file
2022-10-29 13:53:39 -04:00
Garrett Cox
0389c8084c
Cleanup some of our uses of custom messages (#1847)
* Cleanup some of our uses of custom messages

* Fix some string escape warnings
2022-10-25 21:24:48 -04:00
vaguerant
67e98d43b7
Time Savers: Ask to Equip New Items (#1133)
* Time Savers: Ask to Equip New Items

* Add to presets; fix early SFX

* Simplify text reading

* Shrug, does this fix it

* Merge error

* Merge develop
2022-10-24 14:16:59 -04:00
Christopher Leggett
60c9e869e3
Ensures MQ and Vanilla title Logos are saved with different names. (#1788)
This way either one can be loaded according to which OTR/whether or not MQ is enabled.
2022-10-23 04:04:20 -04:00
Amaro Martínez
fc1a009953
Restore save confirmation screen when saving and in game over (N64) (#1750)
* Restore save confirmation screen

* Use correct time from NTSC decomp

* Apply suggested changes

* Update GameMenuBar.cpp
2022-10-23 03:40:47 -04:00
briaguya
af5a780e63
Merge pull request #1836 from HarbourMasters/develop-zhora
zhora -> dev
2022-10-22 16:50:23 -04:00
Christopher Leggett
6fe7728bd1
Fixes a crash on Switch and cleans up some rando ui interactions. (#1832) 2022-10-22 12:31:20 -04:00
Garrett Cox
1db4e9303e
Enable MQ Dungeons in Randomizer (#1828)
* Refactor GetCheckFromActor, WIP currently broken

* Fixes build errors via forward declarations and emplace vs insert.

* Removes some unnecessary code.

* Fixes non-windows build errors.

* Fixes Deku Scrubs outside of grottos.

* Fixes DMC Deku Scrub Grotto Center

* Fixes Ruto Blue Warp

* Fix issue identifying blue warp rando checks

* Move identifyCow to randomizer.cpp

* Various updates to vanilla check objects

* Identify MQ checks in check object table

* Adjustments to how multimap is used and initialized

* Convert u16 in check object table to s16

* Fix a few issues with MQ checks

* Fix issue with TWO_ACTOR_PARAMS macro

* Fixes some scrubs and cows appearing as identical.

* Fixes known gossip stone issues (ToT, DC)

* Fixes Dampe's Gravedigging tour rcObject

* Fix crash on locations tab

* Enable master quest dungeons in rando

Co-authored-by: Christopher Leggett <chris@leggett.dev>
2022-10-21 21:43:37 -04:00
Garrett Cox
e6e2184fe1
Add missed key count spot (#1820) 2022-10-21 01:32:35 -04:00
Ada
c914bd20b8
Adds camera sensitivity option back (#1817)
* Adds camera sensitivity option

* Fixes default values

* Fixes default values (for real this time)
2022-10-21 00:39:42 -04:00
vaguerant
76942aeaee
Fix killer door textures (#1177)
* Fix killer door textures

* Remove todo as requested by @Rozelette
2022-10-21 00:28:40 -04:00
Cardboy777
5d29c4755e
Add cheat for removing age restrictions on items (#1644)
* Add Cheat for disabling age check on equipment

* Add Cheat for disabling age check on equipment... pt 2

* cleanup some logic with macros

* Keep adult strength as child & prevent equipment greyout

* Timeless Equipment cleanup
2022-10-21 00:18:31 -04:00
Josh Bodner
4fb78f9caa
Add toggle option for walk speed modifiers (#1783)
* Add toggle option for walk speed modifiers

* Preserve toggle status between scene transitions

* Apply suggestions from code review

renaming from `gSpeedToggle` to `gWalkSpeedToggle`

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2022-10-20 23:55:15 -04:00
Ralphie Morell
262e036c22
Rando: Starting Age fixes (#1755)
* Updated starting age restrictions;
patched specific circumstances in 3d rando

* cleanup some testing stuff

* whoops

* become Sherlock Holmes; tooltip cleanup

* Explicit logic for forcing child age

* Apply bria's suggestion

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

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2022-10-20 23:22:58 -04:00
Garrett Cox
dbd5585e15
Implement LACS settings for ganons boss key (#1802)
* Implement LACS settings for ganons boss key

* Add description
2022-10-20 23:10:29 -04:00
Garrett Cox
e5cc09a96f
Chest size and texture matches contents (#1778)
* Implement most of chest size and texture matches contents, just need an item table

* Add GetItemCategory to getItem tables

* Revert changes that tie chest size and texture to randomizer

* Support chest size & texture as an enhancement that works on outside of rando

* Add gChestSizeAndTextureMatchesContents to rando preset

* Prevent gChestSizeAndTextureMatchesContents in chest minigame

* Fix for forest temple boss key chest

* Add options for texture or size only
2022-10-20 22:33:04 -04:00
Christopher Leggett
f756da02e5
Fixes a few bugs I introduced for MQ file select screen. (#1808)
* Fixes a few bugs I introduced for MQ file select screen.

- MQ Saves could not be loaded while only an mq otr is present, because `requiresOriginal` was true when `gSaveContext.mqDungeonCount` was less than 12. That value only ever gets set for rando saves, so I added a check for the rando flag to that conditional.
- The rando tag was not getting grayed out with the rest of the save file.
- Some necessary meta info wasn't getting loaded when the randomizer CVar was off. Removed that check so that the rando save data always gets loaded during InitMeta. That way the amount of mq dungeons can be checked for validity with the loaded set of OTRs even if randomizer isn't enabled.

* i not 1

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2022-10-20 22:13:08 -04:00
Christopher Leggett
c60ad115cd
Fixes equipment changes while in water. (#1814) 2022-10-20 18:14:20 -04:00
briaguya
a920aea8de
Merge pull request #1807 from HarbourMasters/develop-zhora
zhora -> dev
2022-10-20 09:47:07 -04:00
Adam Bird
7d9a050a4d
Fix better debug warp menu grottos (#1799) 2022-10-20 15:33:45 +02:00
Christopher Leggett
4a029cc6cf
Cuts down on excess rando lookups in z_en_item00 (#1805)
* Cuts down on excess GetCheckFromActor lookups in z_en_item00

* Fixes non-windows build errors.
2022-10-19 23:29:28 -04:00
Sarge-117
4173eadae2
Fix tunics/boots on C-buttons not always being enabled (#1782)
* Always enable C-buttons with equipment

* Fix for it still sometimes being disables
2022-10-19 21:51:42 -04:00
Christopher Leggett
7b08f98b8c
Dual OTR MQ and Vanilla Support (#1694)
* Changes OTR Extraction to have specific mq and nonmq paths.

Also updates the game to load resources according to whether or not
Master Quest or Vanilla is loaded.

* Removes unneeded code from the last commit.

* Fixes some weird formatting in ZRom.c

* Loads oot-mq.otr and patches oot.otr on top, if both are present.

If only one or the other are present, it becomes the only and main OTR.

* Adds ImGui Logic for whether or an MQ Checkbox.

Checkbox checked only specifies whether new saves should be MQ or not.
Checkbox is disabled or force-enabled according to which OTRs are loaded.
Also as a necessity includes tracking what game versions have been loaded
from the OTRs.

* Adds MQ settings logic for Randomizer's ImGui menu.

* Writes Master Quest dungeons to the spoiler log

* Loads MQ Dungeons from spoiler, persists in save, and loads when appropriate.

* Adds logic to prevent loading or creating incompatible rando saves.

* Fixdes some linux build issues and new rando save issues

* Makes appimage create both vanilla and mq otrs

If either rom is present, it makes the corresponding OTR. If both are present,
it will make both. If one OTR is present but both roms are present, it will
create the missing OTR.

* Makes it so a randomized save file will not be marked as MQ.

* Refactors to load all OTRs from MainPath or a specific list.

Also adds the ability to take a std::unordered_set of hashes to
validate each OTR's version file against.

* Fixes a syntax error

* Makes ExtractAssets output Vanilla and MQ OTRs if both roms are present

* Fixes asset generation bug.

* Partially working fix for dual OTR extract_assets

Currently the cmake ExtractAssets target will return with a 1 if you
only end up exporting one type of OTR isntead of both. Haven't found
a great way to only attempt to copy a file if it exists from within
cmake. It does actually correctly copy the OTR that is generated,
despite the error from copying the other one.

Pushing as is for now but will keep investigating.

* Adds oot-mq.otr to the gitignore.

* Makes ExtractAssets not fail on only one rom/OTR.

* Removes PatchesPath from the constructors requiring OTRFiles vector.

* Renames OOT_UNKNOWN to just UNKNOWN to remove OOT specific reference.

* Removes randomizing MQ Dungeons and re-disables MQ rando.

Doing this so the PR can get merged quicker with just the Dual OTR
support and won't need to wait on rando logic to be updated. That
will happen in another PR directly after the merge.

* Update mac startup script for dual otr

* Update soh/macosx/soh-macos.sh

* Update soh/macosx/soh-macos.sh

* Update soh/macosx/soh-macos.sh

* Implements new BinaryReader to fix Linux build issue.

BinaryReader itself comes from https://github.com/Moneyl/BinaryTools
I added a wrapper to adapt it to the ABI from ZAPD's Binary Reader and
add Endianness checking. I also had to copy a handful of other bits and
pieces from ZAPD to make it all function as expected.

* A few edits to the updatream BinaryReader to compile it on Linux.

* Adds the Endianness to the first byte of the version file.

* Fixes Jenkins

* Addresses some of Kenix's comments

* Renames `ReadNullTerminatedString` to `ReadCString`

* Refactors Archive::LoadFile into a private method with more arguments.

* Removes BitConverter and extends existing endianness.h instead.

* Fixes an endianness issue with the version file.

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2022-10-16 23:07:35 -04:00
Christopher Leggett
1b6dd8a0fe
Adds extra entry to obj_lift FallTimerDurations. (#1777)
Prevents an OOB access that, as far as I know, was only causing issues
on the Switch, but this addition is harmless everywhere else.
2022-10-15 00:00:48 +02:00
briaguya
350315a5d1
Merge pull request #1769 from HarbourMasters/develop-zhora
zhora -> dev
2022-10-13 14:55:19 -04:00
lilDavid
f4c871e35c
Fix Anju as Adult and Trade Pocket Cucco order (#1766) 2022-10-13 12:40:48 -04:00
Amaro Martínez
42a5f46e5e
Fix Gerudo Warrior Clothing (#1752)
* Fix Gerudo Warrior Clothing

* Update soh/soh/GameMenuBar.cpp

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

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2022-10-13 09:46:58 -04:00
Rozelette
7878b8f3e4
Fix animation in Ganon that is causing an OOB access during animation (#1764)
* Fix animation in Ganon that is causing an OOB access during animation

* Fix function args
2022-10-13 09:18:31 -04:00
aMannus
7906d70485
Fix: Pickup item cutscene logic fix (#1733)
* Fix: Fix for the pickup CS logic fix (fixed)

* Tiny cleanup

* More fixes + clarified comments

* Extract more logic into bool, clarified comments
2022-10-12 22:30:15 -04:00
Rozelette
dd62d0882e
Add hack for Ruto's earrings (#1759)
* Add hack for Ruto's earrings

* Add tag for the underlining issue for easy grepping

* typo
2022-10-12 22:18:35 -04:00
briaguya
595e105ef1
Merge pull request #1758 from HarbourMasters/develop-zhora
zhora -> dev
2022-10-12 18:44:26 -04:00
aMannus
d102506fba
Catch-all fix for mask select (#1728) 2022-10-12 17:21:04 -04:00