Commit Graph

453 Commits

Author SHA1 Message Date
briaguya
2a0a31ae7e Merge branch 'develop-khan' into khan-to-dev 2023-04-01 14:19:41 -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
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
7f5f4251ca
Another Item_Give bug fixed... (#2636) 2023-03-15 13:25:24 -04: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
2bd8316d54 Merge remote-tracking branch 'hm/develop-khan' into khan-to-dev 2023-03-14 00:29:30 -04:00
aMannus
866882e4c6
CrowdControl V2: Effect Overhaul (#2433) 2023-03-13 11:37:50 +01:00
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
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
Adam Bird
7c558ae089
fix rando quest selection falling back to vanilla saves (#2599) 2023-03-08 13:09:22 -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
David Chavez
21466192e5
[Accessibility] Text to Speech (#2487) 2023-03-02 09:27:28 +01:00
David Chavez
109345e94d
[Resources] Properly encode soh textures and remove raw load (#2548) 2023-03-01 10:18:26 +01:00
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
c91a044d46
[GameInteractor] Introduce GameFrameUpdate Hook and Migrate Cheats (#2554) 2023-02-28 11:20:43 +01:00
Josh Bodner
f481b86386
Change autosave to use dropdown (#2550) 2023-02-28 00:07:47 -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
Amaro Martínez
656e593a67 Fix Lakeside Laboratory title card (#2501) 2023-02-23 08:47:13 +01:00
briaguya
494bdcdb25
gibbs -> dev 2023-02-17 08:02: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
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
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
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
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
Sirius902
44f963e310
Rumble and check tracker fixes (#2419)
* Fix rumble

* Fix check tracker crash
2023-01-30 12:33:52 -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
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
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
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
Adam Bird
cb5faa1ac8
fix mido spawn for dungeon entrance rando (#2384) 2023-01-23 14:08:16 -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
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
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
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
briaguya
7c8be2153c
documentation: use NpcInteractInfo from zret (#2370) 2023-01-19 02:38:04 -05:00
Kenix3
2e4a19c0ee
Moves SoH mixer to SoH from LUS. (#2361) 2023-01-17 22:03:55 -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
Amaro Martínez
170b9c1224
Disable BEL char by default when terminal attached (#2306) 2023-01-17 15:18:13 -05: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
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
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
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
Christopher Leggett
7718e74d73
Always use authentic cache policy for replaced seqs (#2176) 2022-12-13 14:55:00 -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
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
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
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
d9f3844b2d
[Feature] Entrance Rando v2 (#2071) 2022-12-07 00:37:50 +01:00
aMannus
598cac725e
[Feature] Rando: Enemy Randomizer V1 (#1781) 2022-12-06 10:33:50 +01: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
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
321e563c82
use enum for starting age (#2085)
Co-authored-by: briaguya <briaguya@alice>
2022-12-06 00:34:30 -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
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
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
Sarge-117
67e325a0b9
Fix C-button counts and ice trap count (#2009) 2022-11-23 20:53:10 -05: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
frizzle101101
c569a46933
[Enhancement] Add fix camera drift option to fixes menu (#1983) 2022-11-22 08:57:26 +01: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