diff options
| author | djevangelia <263709373+djevangelia@users.noreply.github.com> | 2026-07-22 15:48:10 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-07-22 13:48:10 +0000 |
| commit | fb657cc5d596ff38e555286c745cba2b4b014eb4 (patch) | |
| tree | 8821ae81eafe88c1f73181153a3c41fdc99f29dc /soh/src/code/code_800EC960.c | |
| parent | d62c5879aaf4b64d68f6069cc2413c9d5f2eac92 (diff) | |
Savestates, more AudioOcarina serialization (#6954)
Diffstat (limited to 'soh/src/code/code_800EC960.c')
| -rw-r--r-- | soh/src/code/code_800EC960.c | 149 |
1 files changed, 112 insertions, 37 deletions
diff --git a/soh/src/code/code_800EC960.c b/soh/src/code/code_800EC960.c index 59a30e379..402e5c822 100644 --- a/soh/src/code/code_800EC960.c +++ b/soh/src/code/code_800EC960.c @@ -1313,44 +1313,119 @@ u32 sDebugPadPress; // decomp: debug only s32 sAudioUpdateTaskStart; // decomp: debug only s32 sAudioUpdateTaskEnd; // decomp: debug only -#define AUDIO_OCA_SHIP_SAVESTATE_FIELDS(F) \ - F(sIsOcarinaInputEnabled) \ - F(sOcarinaInstrumentId) \ - F(sCurOcarinaPitch) \ - F(sPrevOcarinaPitch) \ - F(sCurOcarinaButtonIndex) \ - F(sMusicStaffPrevPitch) \ - F(sCurOcarinaBendFreq) \ - F(sRelativeOcarinaVolume) \ - F(sCurOcarinaBendIndex) \ - F(sCurOcarinaVolume) \ - F(sCurOcarinaVibrato) \ - F(sPlaybackState) \ - F(sOcarinaFlags) \ - F(sPlaybackNoteTimer) \ - F(sPlaybackNotePos) \ - F(sPlaybackStaffPos) \ - F(sOcarinaInputButtonCur) \ - F(sOcarinaInputButtonStart) \ - F(sOcarinaInputButtonPrev) \ - F(sOcarinaInputButtonPress) \ - F(D_8016BA1C) \ - F(sCurOcarinaSongWithoutMusicStaff) \ - F(sOcarinaWithoutMusicStaffPos) \ - F(sOcarinaHasStartedSong) \ - F(sFirstOcarinaSongIndex) \ - F(sLastOcarinaSongIndex) \ - F(sAvailOcarinaSongFlags) \ - F(sStaffOcarinaPlayingPos) \ - F(sMusicStaffPos) \ - F(sMusicStaffCurHeldLength) \ - F(sMusicStaffExpectedLength) \ - F(sMusicStaffExpectedPitch) \ - F(sScarecrowsLongSongSecondNote) \ - F(sIsMalonSinging) \ - F(sMalonSingingDist) \ +#define AUDIOOCARINA_SHIP_SAVESTATE_FIELDS(F) \ + F(sOcarinaSongNotes[OCARINA_SONG_MEMORY_GAME]) \ + F(sOcarinaSongNotes[OCARINA_SONG_SCARECROW_SPAWN]) \ + F(sOcaMemoryGameAppendPos) \ + F(sOcaMemoryGameEndPos) \ + F(D_801305B0) \ + F(D_801305B4) \ + F(D_801305B8) \ + F(D_801305BC) \ + F(D_801305C0) \ + F(sAudioIncreasingTranspose) \ + F(sPrevChargeLevel) \ + F(sSfxSwordChargeFreq) \ + F(sEnterGanonsTowerTimer) \ + F(D_80130608) \ + F(sAudioCutsceneFlag) \ + F(sSpecReverb) \ + F(sAudioEnvReverb) \ + F(sAudioCodeReverb) \ + F(sPrevSeqMode) \ + F(sAudioEnemyDist) \ + F(sAudioEnemyVol) \ + F(sPrevMainBgmSeqId) \ + F(sSeqResumePoint) \ + F(sPrevSceneSeqId) \ + F(sNumFramesStill) \ + F(sNumFramesMoving) \ + F(sAudioBaseFilter) \ + F(sAudioExtraFilter) \ + F(sAudioBaseFilter2) \ + F(sAudioExtraFilter2) \ + F(sSariaBgmPtr) \ + F(D_80130650) \ + F(D_8016B7A8) \ + F(D_8016B7AC) \ + F(D_8016B7B0) \ + F(D_8016B7B4) \ + F(sRiverFreqScaleLerp) \ + F(sWaterfallFreqScaleLerp) \ + F(D_8016B7D8) \ + F(D_8016B7DC) \ + F(D_8016B7E0) \ + F(sRiverSoundMainBgmVol) \ + F(sRiverSoundMainBgmCurrentVol) \ + F(sRiverSoundMainBgmLower) \ + F(sRiverSoundMainBgmRestore) \ + F(sGanonsTowerVol) \ + F(sSfxChannelState) \ + F(sMalonSingingTimer) \ + F(sMalonSingingDisabled) \ + F(D_8016B9F3) \ + F(sFanfareStartTimer) \ + F(sFanfareSeqId) \ + F(sRecordingState) \ + F(sRecordSongPos) \ + F(sOcarinaRecordTaskStart) \ + F(sRecordOcarinaPitch) \ + F(sRecordOcarinaVolume) \ + F(sRecordOcarinaVibrato) \ + F(sRecordOcarinaBendIndex) \ + F(sRecordOcarinaButtonIndex) \ + F(sPlayedOcarinaSongIndexPlusOne) \ + F(sMusicStaffNumNotesPerTest) \ + F(sOcarinaDropInputTimer) \ + F(sPlayingStaff) \ + F(sPlaybackStaff) \ + F(sRecordingStaff) \ + F(sNotePlaybackVolume) \ + F(sNotePlaybackVibrato) \ + F(sNotePlaybackBend) \ + F(sRelativeNotePlaybackBend) \ + F(sRelativeNotePlaybackVolume) \ + F(sOcarinaPlaybackTaskStart) \ + F(sPrevOcarinaWithMusicStaffFlags) \ + F(sOcarinaUpdateTaskStart) \ + F(sOcarinaInputStickAdj) \ + F(sIsOcarinaInputEnabled) \ + F(sOcarinaInstrumentId) \ + F(sCurOcarinaPitch) \ + F(sPrevOcarinaPitch) \ + F(sCurOcarinaButtonIndex) \ + F(sMusicStaffPrevPitch) \ + F(sCurOcarinaBendFreq) \ + F(sRelativeOcarinaVolume) \ + F(sCurOcarinaBendIndex) \ + F(sCurOcarinaVolume) \ + F(sCurOcarinaVibrato) \ + F(sPlaybackState) \ + F(sOcarinaFlags) \ + F(sPlaybackNoteTimer) \ + F(sPlaybackNotePos) \ + F(sPlaybackStaffPos) \ + F(sOcarinaInputButtonCur) \ + F(sOcarinaInputButtonStart) \ + F(sOcarinaInputButtonPrev) \ + F(sOcarinaInputButtonPress) \ + F(D_8016BA1C) \ + F(sCurOcarinaSongWithoutMusicStaff) \ + F(sOcarinaWithoutMusicStaffPos) \ + F(sOcarinaHasStartedSong) \ + F(sFirstOcarinaSongIndex) \ + F(sLastOcarinaSongIndex) \ + F(sAvailOcarinaSongFlags) \ + F(sStaffOcarinaPlayingPos) \ + F(sMusicStaffPos) \ + F(sMusicStaffCurHeldLength) \ + F(sMusicStaffExpectedLength) \ + F(sMusicStaffExpectedPitch) \ + F(sScarecrowsLongSongSecondNote) \ + F(sIsMalonSinging) \ + F(sMalonSingingDist) \ F(sPlaybackPitch) -SHIP_SAVESTATE_DEFINE(AudioOca, AUDIO_OCA_SHIP_SAVESTATE_FIELDS) +SHIP_SAVESTATE_DEFINE(AudioOcarina, AUDIOOCARINA_SHIP_SAVESTATE_FIELDS) void PadMgr_RequestPadData(PadMgr* padmgr, Input* inputs, s32 mode); |
