* Pause Warp Enhancement
This commit introduces the PauseWarp mod, a feature that allows players to warp to different locations in the game directly from the pause menu.
- Add PauseWarpState structure to manage flags and cooldowns for the pause warp feature.
- Implement IsStateValid function for state validation.
- Implement ResetStateFlags function to reset all state flags to default values.
- Add InitiateWarp function to handle the initiation of warp sequences.
- Implement HandleWarpConfirmation function to confirm and execute warp actions.
- Implement HandleCooldowns function to manage various cooldown timers.
- Add PauseWarp_Main function as the main logic, called every frame to handle pause warp functionality.
- Map warp song messages to in-game text messages.
* Warp Song Check
-Now if you do not have a warp song you won't be able to select the empty slot and still teleport.
* Added Audio Fanfares and Changed stateFlag1 to PLAYER_STATE1_IN_CUTSCENE
-When selecting a warp song the audio for the applicable warp song will now play for a extra vanilla feel.
-Changed the stateFlag1 because previously it just disabled input allowing enemies to harm you. Now that won't happen because the game is put into a cutscene state.
* Feedback Update
-A new hook was created 'OnPauseMenu' so now PauseWarp_Main is only called when the pause menu is open
-Moved pauswarp.c to the Enhancements folder
-Removed from graph.c
PR Change:
Changing to the main branch instead of sulu
* Feedback Update #2
-Introduced new function 'PauseWarp_Idle' now that 'PauseWarp_Main' is no longer called every frame
-Added C wrapper to access 'GameInteractor::IsSaveLoaded' and scrapped the 'IsStateValid' function
-Added 'PauseWarp_Idle' to the the 'RegisterPauseWarp' function
-Refactored the code some
* Linux Compile Issue
-Added a missing header that was causing a compile issue for linux
-Hopefully, it won't crash
* Minor Bug Fix
-Now link won't get soft locked when warping to the same location twice
* Update libultraship
* Revert "Update libultraship"
This reverts commit 746fc23479.
* Bug Fix
-Added more checks to ensure vanilla behavior when a Ocarina is not in the players inventory.
* WIP
* Done unless I'm missing headers
* now we done
* clean up, these arn't needed anymore
* Rename OnPauseMenu to OnKaleidoUpdate
* 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
* 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>
* 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
* First batch some overlay
* Almost all overlay
* effect & gamestate
* kaleido stuffs
* more overlay
* more left over from code folder
* remaining hardcoded line and file
* Open & Close _DISP __FILE__ & __LINE__ clean up
* Some if (1) {} remove
* LOG_xxxx __FILE__ , __LINE__ cleaned
* ASSERT macro __FILE__ __LINE__
* mtx without line/file in functions
* " if (1) {} " & "if (0) {}" and tab/white place
* LogUtils as macro
* GameState_, GameAlloc_, SystemArena_ & ZeldaArena_
* Revert "GameState_, GameAlloc_, SystemArena_ & ZeldaArena_"
This reverts commit 0d85caaf7e.
* Like last commit but as macro
* Fix matrix not using macros
* use function not macro
* DebugArena_* functions
GameAlloc_MallocDebug
BgCheck_PosErrorCheck as macros
removed issues with ; in macro file