Shipwright/soh/include
mckinlee 3187564f5b
Pause Warp Enhancement (#3223)
* 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
2024-02-15 19:13:54 -06:00
..
boost_custom/container_hash Add manual seed input for rando generation (#2057) 2023-01-25 18:33:27 -05:00
libc refactor: use LUS 1.0 RC 2023-01-17 00:33:56 -05:00
tables Entrance Docs (#3332) 2023-11-19 14:29:56 -05:00
align_asset_macro.h Simplify Asset Headers (#2474) 2023-03-02 15:37:47 +01:00
alignment.h [docs] Upstream updates 1 (#1955) 2022-11-30 00:28:57 +01:00
alloca.h Linux/GCC Support (#28) 2022-05-11 13:18:24 -04:00
command_macros_base.h Big-endian support (#909) 2022-07-27 23:50:56 +02:00
fp.h Dynamic Actor IDs (#1729) 2023-06-01 21:39:50 -04:00
functions.h Pause Warp Enhancement (#3223) 2024-02-15 19:13:54 -06:00
global.h Dynamic Actor IDs (#1729) 2023-06-01 21:39:50 -04:00
ichain.h git subrepo clone https://github.com/HarbourMasters/soh.git 2022-03-22 02:51:23 +01:00
macro.inc git subrepo clone https://github.com/HarbourMasters/soh.git 2022-03-22 02:51:23 +01:00
macros.h Age Requirement Docs (#3277) 2023-10-20 18:40:10 -05:00
message_data_fmt.h git subrepo clone https://github.com/HarbourMasters/soh.git 2022-03-22 02:51:23 +01:00
message_data_static.h Randomizer v2 (#1065) 2022-09-21 00:50:22 -04:00
message_data_textbox_types.h Randomizer v2 (#1065) 2022-09-21 00:50:22 -04:00
regs.h Transition docs (#3322) 2023-11-19 02:38:07 -05:00
segment_symbols.h Linux crash handler (#1209) 2022-08-31 22:59:38 -04:00
sequence.h git subrepo clone https://github.com/HarbourMasters/soh.git 2022-03-22 02:51:23 +01:00
sfx.h git subrepo clone https://github.com/HarbourMasters/soh.git 2022-03-22 02:51:23 +01:00
unk.h git subrepo clone https://github.com/HarbourMasters/soh.git 2022-03-22 02:51:23 +01:00
variables.h docs: update func_800FADF8 to Audio_ResetActiveSequences (#3471) 2023-12-26 13:30:49 -05:00
vt.h Disable BEL char by default when terminal attached (#2306) 2023-01-17 15:18:13 -05:00
z64.h Merge remote-tracking branch 'origin/develop-macready' into mergeDevelopMacreadyJan31 2024-01-31 18:12:06 -05:00
z64actor.h Enhancement: Enemy Health Bar (#3035) 2023-07-12 21:55:24 -04:00
z64animation.h Removed hardcoded skeleton types in actor draw code. (#2979) 2023-09-26 08:45:10 -05:00
z64audio.h docs: update func_800FADF8 to Audio_ResetActiveSequences (#3471) 2023-12-26 13:30:49 -05:00
z64bgcheck.h Use PlayState instead of GlobalContext (#1927) 2022-11-06 09:24:34 +01:00
z64camera.h refactor: use LUS 1.0 RC 2023-01-17 00:33:56 -05:00
z64collision_check.h git subrepo clone https://github.com/HarbourMasters/soh.git 2022-03-22 02:51:23 +01:00
z64cutscene_commands.h git subrepo clone https://github.com/HarbourMasters/soh.git 2022-03-22 02:51:23 +01:00
z64cutscene.h refactor: use LUS 1.0 RC 2023-01-17 00:33:56 -05:00
z64dma.h refactor: use LUS 1.0 RC 2023-01-17 00:33:56 -05:00
z64effect.h refactor: use LUS 1.0 RC 2023-01-17 00:33:56 -05:00
z64elf_message.h refactor: use LUS 1.0 RC 2023-01-17 00:33:56 -05:00
z64environment.h Transition docs (#3322) 2023-11-19 02:38:07 -05:00
z64interface.h DPad items 2022-06-22 23:13:32 -04:00
z64item.h Player Equip Docs (#3282) 2023-10-30 10:56:36 -05:00
z64light.h refactor: use LUS 1.0 RC 2023-01-17 00:33:56 -05:00
z64map_mark.h refactor: use LUS 1.0 RC 2023-01-17 00:33:56 -05:00
z64math.h Move Game Saving to Separate Thread (#2820) 2023-05-05 17:20:34 -04:00
z64object.h git subrepo clone https://github.com/HarbourMasters/soh.git 2022-03-22 02:51:23 +01:00
z64player.h Remove special IAs (#3453) 2024-01-02 00:29:47 -05:00
z64save.h fix quest assignment (#3343) 2023-11-04 22:52:09 +01:00
z64scene.h Entrance Docs (#3332) 2023-11-19 14:29:56 -05:00
z64skin.h Use PlayState instead of GlobalContext (#1927) 2022-11-06 09:24:34 +01:00
z64transition.h Transition docs (#3322) 2023-11-19 02:38:07 -05:00