From 4f4b1f914540465a77aa8daf7e837042a96b3e31 Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Wed, 9 Sep 2020 19:37:44 +0300 Subject: cMusicManager, cDMAudio, radio position save/load, a few commands implemented --- src/core/Game.cpp | 3 +-- src/core/Stats.cpp | 5 +++++ src/core/Stats.h | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src/core') diff --git a/src/core/Game.cpp b/src/core/Game.cpp index d108c78d..6ba6b191 100644 --- a/src/core/Game.cpp +++ b/src/core/Game.cpp @@ -463,8 +463,7 @@ bool CGame::Initialise(const char* datFile) #ifdef USE_TEXTURE_POOL _TexturePoolsUnknown(true); #endif - // TODO(Miami) - // DMAudio.SetStartingTrackPositions(1); + DMAudio.SetStartingTrackPositions(true); DMAudio.ChangeMusicMode(MUSICMODE_GAME); return true; } diff --git a/src/core/Stats.cpp b/src/core/Stats.cpp index 1efcee01..9aff2758 100644 --- a/src/core/Stats.cpp +++ b/src/core/Stats.cpp @@ -447,6 +447,11 @@ void CStats::AddPropertyAsOwned(int32 id) } } +float CStats::GetFavoriteRadioStationList(int32 station) +{ + return FavoriteRadioStationList[station]; +} + void CStats::SaveStats(uint8 *buf, uint32 *size) { CheckPointReachedSuccessfully(); diff --git a/src/core/Stats.h b/src/core/Stats.h index f9ad4174..aac54af5 100644 --- a/src/core/Stats.h +++ b/src/core/Stats.h @@ -144,4 +144,5 @@ public: static void LongestTimeInBloodRing(int32); static void AddPropertyAsOwned(int32); + static float GetFavoriteRadioStationList(int32); }; -- cgit v1.2.3 From f0ccbcb281adbf7f5c13a7611682ff9f1006cf24 Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Wed, 9 Sep 2020 20:37:36 +0300 Subject: CStats::PopulateFavoriteRadioStationList --- src/core/Stats.cpp | 17 ++++++++++++----- src/core/Stats.h | 1 + 2 files changed, 13 insertions(+), 5 deletions(-) (limited to 'src/core') diff --git a/src/core/Stats.cpp b/src/core/Stats.cpp index 9aff2758..9a5066ce 100644 --- a/src/core/Stats.cpp +++ b/src/core/Stats.cpp @@ -4,6 +4,7 @@ #include "Text.h" #include "World.h" #include "Pad.h" +#include "DMAudio.h" #include @@ -102,7 +103,7 @@ float CStats::LongestWheelieDist; float CStats::LongestStoppieDist; float CStats::Longest2WheelDist; -// --MIAMI: functions below are done except TODOs, but there are some to be moved from Frontend +// --MIAMI: functions below are done, but there are some to be moved from Frontend void CStats::Init() { @@ -198,9 +199,7 @@ void CStats::Init() NoMoreHurricanes = 0; ShowChaseStatOnScreen = 0; abSonyCDs[0] = 0; - // TODO(Miami): Change this with PopulateFavoriteRadioStationList(); !! - for (int i = 0; i < NUM_RADIOS; i++) - FavoriteRadioStationList[i] = 0.0f; + PopulateFavoriteRadioStationList(); NumPropertyOwned = 0; for (int i = 0; i < TOTAL_PROPERTIES; i++) @@ -633,7 +632,7 @@ void CStats::SaveStats(uint8 *buf, uint32 *size) CopyToBuf(buf, TotalLegitimateKills); CopyToBuf(buf, LastMissionPassedName); CopyToBuf(buf, CheatedCount); - // TODO(Miami): Set favourite radio stations!! + PopulateFavoriteRadioStationList(); CopyToBuf(buf, FavoriteRadioStationList); assert(buf - buf_start == *size); @@ -738,3 +737,11 @@ void CStats::LoadStats(uint8 *buf, uint32 size) assert(buf - buf_start == size); #undef CopyFromBuf } + +void +CStats::PopulateFavoriteRadioStationList() +{ + float* pListenTimeArray = DMAudio.GetListenTimeArray(); + for (int i = 0; i < NUM_RADIOS; i++) + FavoriteRadioStationList[i] = pListenTimeArray[i]; +} \ No newline at end of file diff --git a/src/core/Stats.h b/src/core/Stats.h index aac54af5..21cb67ef 100644 --- a/src/core/Stats.h +++ b/src/core/Stats.h @@ -144,5 +144,6 @@ public: static void LongestTimeInBloodRing(int32); static void AddPropertyAsOwned(int32); + static void PopulateFavoriteRadioStationList(); static float GetFavoriteRadioStationList(int32); }; -- cgit v1.2.3