From 62877ed4f394cb4ae4d0561a9780c43c57b52bd2 Mon Sep 17 00:00:00 2001 From: Ziemas Date: Fri, 21 May 2021 00:10:27 +0200 Subject: [PATCH] Overlord: Music tweak struct. (#509) --- game/overlord/iso_cd.cpp | 4 ++-- game/overlord/srpc.cpp | 6 +++--- game/overlord/srpc.h | 14 ++++++++++++-- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/game/overlord/iso_cd.cpp b/game/overlord/iso_cd.cpp index 3f4399ff32..022acd7827 100644 --- a/game/overlord/iso_cd.cpp +++ b/game/overlord/iso_cd.cpp @@ -354,10 +354,10 @@ void LoadMusicTweaks(u8* buffer) { MakeISOName(iso_name, "TWEAKVAL.MUS"); FileRecord* fr = FS_FindIN(iso_name); if (!fr || !ReadSectorsNow(fr->location, 1, buffer)) { - *(s32*)gMusicTweakInfo = 0; + gMusicTweakInfo.TweakCount = 0; lg::warn("[OVERLORD ISO CD] Failed to load music tweaks!"); } else { - memcpy(gMusicTweakInfo, buffer, MUSIC_TWEAK_SIZE); + memcpy((void*)&gMusicTweakInfo, buffer, sizeof(MusicTweaks)); } } diff --git a/game/overlord/srpc.cpp b/game/overlord/srpc.cpp index 0f43b05a65..d7796cd383 100644 --- a/game/overlord/srpc.cpp +++ b/game/overlord/srpc.cpp @@ -1,8 +1,8 @@ #include #include "srpc.h" -u8 gMusicTweakInfo[0x204]; +MusicTweaks gMusicTweakInfo; void srpc_init_globals() { - memset(gMusicTweakInfo, 0, sizeof(gMusicTweakInfo)); -} \ No newline at end of file + memset((void*)&gMusicTweakInfo, 0, sizeof(gMusicTweakInfo)); +} diff --git a/game/overlord/srpc.h b/game/overlord/srpc.h index 61d60095da..fbff2a360b 100644 --- a/game/overlord/srpc.h +++ b/game/overlord/srpc.h @@ -7,7 +7,17 @@ void srpc_init_globals(); -constexpr int MUSIC_TWEAK_SIZE = 0x204; -extern u8 gMusicTweakInfo[MUSIC_TWEAK_SIZE]; +constexpr int MUSIC_TWEAK_COUNT = 32; + +struct MusicTweaks { + u32 TweakCount; + + struct { + char MusicName[12]; + u32 VolumeAdjust; + } MusicTweak[MUSIC_TWEAK_COUNT]; +}; + +extern MusicTweaks gMusicTweakInfo; #endif // JAK_V2_SRPC_H