mirror of
https://github.com/halpz/re3.git
synced 2025-06-30 00:06:20 +00:00
Update CRadar.cpp, CHud.cpp, CDraw.cpp fixed bug in templates.h.
This commit is contained in:
@ -9,10 +9,12 @@
|
||||
#include "World.h"
|
||||
#include "ModelIndices.h"
|
||||
#include "SampleManager.h"
|
||||
#include "Replay.h"
|
||||
|
||||
cMusicManager &MusicManager = *(cMusicManager*)0x8F3964;
|
||||
int &gNumRetunePresses = *(int*)0x650B80;
|
||||
int &gRetuneCounter = *(int*)0x650B84;
|
||||
int32 &gNumRetunePresses = *(int32*)0x650B80;
|
||||
wchar *pCurrentStation = (wchar*)0x650B9C;
|
||||
uint8 &cDisplay = *(uint8*)0x650BA1;
|
||||
|
||||
//WRAPPER void cMusicManager::DisplayRadioStationName(void) { EAXJMP(0x57E6D0); }
|
||||
|
||||
@ -44,98 +46,127 @@ bool cMusicManager::PlayerInCar()
|
||||
|
||||
void cMusicManager::DisplayRadioStationName()
|
||||
{
|
||||
wchar *RadioName = nullptr;
|
||||
uint32 RadioStation = gNumRetunePresses + MusicManager.m_nCurrentStreamedSound;
|
||||
int8 pRetune;
|
||||
int8 gStreamedSound;
|
||||
int8 gRetuneCounter;
|
||||
|
||||
switch (RadioStation) {
|
||||
case HEAD_RADIO:
|
||||
RadioName = TheText.Get("FEA_FM0");
|
||||
break;
|
||||
case DOUBLE_CLEF:
|
||||
RadioName = TheText.Get("FEA_FM1");
|
||||
break;
|
||||
case JAH_RADIO:
|
||||
RadioName = TheText.Get("FEA_FM2");
|
||||
break;
|
||||
case RISE_FM:
|
||||
RadioName = TheText.Get("FEA_FM3");
|
||||
break;
|
||||
case LIPS_106:
|
||||
RadioName = TheText.Get("FEA_FM4");
|
||||
break;
|
||||
case GAME_FM:
|
||||
RadioName = TheText.Get("FEA_FM5");
|
||||
break;
|
||||
case MSX_FM:
|
||||
RadioName = TheText.Get("FEA_FM6");
|
||||
break;
|
||||
case FLASHBACK:
|
||||
RadioName = TheText.Get("FEA_FM7");
|
||||
break;
|
||||
case CHATTERBOX:
|
||||
RadioName = TheText.Get("FEA_FM8");
|
||||
break;
|
||||
case USERTRACK:
|
||||
RadioName = TheText.Get("FEA_FM9");
|
||||
break;
|
||||
default:
|
||||
RadioName = nullptr;
|
||||
break;
|
||||
}
|
||||
if (!CTimer::GetIsPaused() && !TheCamera.m_WideScreenOn && cMusicManager::PlayerInCar() && CReplay::Mode != 1) {
|
||||
if (MusicManager.m_bPlayerInCar && !MusicManager.m_bPreviousPlayerInCar)
|
||||
pCurrentStation = nullptr;
|
||||
|
||||
CFont::SetJustifyOff();
|
||||
CFont::SetBackgroundOff();
|
||||
CFont::SetScale(HUD_STRETCH_X(0.8f), HUD_STRETCH_Y(1.35f));
|
||||
CFont::SetPropOn();
|
||||
CFont::SetFontStyle(FONT_HEADING);
|
||||
CFont::SetCentreOn();
|
||||
CFont::SetCentreSize(HUD_STRETCH_X(640.0f));;
|
||||
if (cSampleManager.IsMP3RadioChannelAvailable()) {
|
||||
gStreamedSound = MusicManager.m_nCurrentStreamedSound;
|
||||
|
||||
static int32 nTime = 0;
|
||||
if (!CTimer::GetIsPaused() && !TheCamera.m_WideScreenOn && MusicManager.PlayerInCar()) {
|
||||
if (gNumRetunePresses || (MusicManager.m_bPlayerInCar && !MusicManager.m_bPreviousPlayerInCar))
|
||||
nTime = CTimer::GetTimeInMilliseconds() + 2000;
|
||||
|
||||
if (CTimer::GetTimeInMilliseconds() < nTime) {
|
||||
if (RadioStation) {
|
||||
if (MusicManager.m_nCurrentStreamedSound == STREAMED_SOUND_WATER_AMBIENT ||
|
||||
MusicManager.m_nCurrentStreamedSound == STREAMED_SOUND_RADIO_POLICE ||
|
||||
MusicManager.m_nCurrentStreamedSound == STREAMED_SOUND_WATER_AMBIENT ||
|
||||
MusicManager.m_nCurrentStreamedSound == STREAMED_SOUND_CITY_AMBIENT)
|
||||
RadioStation = RADIO_OFF;
|
||||
else {
|
||||
if (RadioStation > HEAD_RADIO) {
|
||||
if (cSampleManager.IsMP3RadioChannelAvailable()) {
|
||||
if (RadioStation > USERTRACK) {
|
||||
RadioStation = RADIO_OFF;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (RadioStation > CHATTERBOX) {
|
||||
RadioStation = RADIO_OFF;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
RadioStation = RADIO_OFF;
|
||||
}
|
||||
if (gStreamedSound != STREAMED_SOUND_CITY_AMBIENT && gStreamedSound != STREAMED_SOUND_WATER_AMBIENT) {
|
||||
if (gStreamedSound > STREAMED_SOUND_RADIO_MP3_PLAYER)
|
||||
return;
|
||||
}
|
||||
else {
|
||||
gStreamedSound = STREAMED_SOUND_RADIO_POLICE;
|
||||
}
|
||||
|
||||
if (RadioName) {
|
||||
CFont::SetColor(CRGBA(0, 0, 0, 255));
|
||||
pRetune = gNumRetunePresses + gStreamedSound;
|
||||
|
||||
CFont::PrintString(SCREEN_WIDTH / 2, HUD_STRETCH_Y(23.0f), RadioName);
|
||||
|
||||
if (gNumRetunePresses)
|
||||
CFont::SetColor(CRGBA(102, 133, 143, 255));
|
||||
else
|
||||
CFont::SetColor(CRGBA(147, 196, 211, 255));
|
||||
|
||||
CFont::PrintString(SCREEN_WIDTH / 2, HUD_STRETCH_Y(22.0f), RadioName);
|
||||
CFont::DrawFonts();
|
||||
if (pRetune == POLICE_RADIO) {
|
||||
pRetune = RADIO_OFF;
|
||||
}
|
||||
else if (pRetune > POLICE_RADIO) {
|
||||
pRetune = pRetune - 11;
|
||||
}
|
||||
}
|
||||
else {
|
||||
gStreamedSound = MusicManager.m_nCurrentStreamedSound;
|
||||
pRetune = gNumRetunePresses + gStreamedSound;
|
||||
|
||||
if (pRetune >= USERTRACK) {
|
||||
gRetuneCounter = gNumRetunePresses;
|
||||
pRetune = MusicManager.m_nCurrentStreamedSound;
|
||||
|
||||
if (gStreamedSound == STREAMED_SOUND_WATER_AMBIENT)
|
||||
pRetune = RADIO_OFF;
|
||||
|
||||
while (gRetuneCounter) {
|
||||
if (pRetune == RADIO_OFF) {
|
||||
pRetune = HEAD_RADIO;
|
||||
}
|
||||
else if (pRetune < USERTRACK) {
|
||||
pRetune = pRetune + 1;
|
||||
}
|
||||
if (pRetune == USERTRACK)
|
||||
pRetune = RADIO_OFF;
|
||||
|
||||
--gRetuneCounter;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
wchar *string = nullptr;
|
||||
|
||||
switch (pRetune) {
|
||||
case HEAD_RADIO:
|
||||
string = TheText.Get("FEA_FM0");
|
||||
break;
|
||||
case DOUBLE_CLEF:
|
||||
string = TheText.Get("FEA_FM1");
|
||||
break;
|
||||
case JAH_RADIO:
|
||||
string = TheText.Get("FEA_FM2");
|
||||
break;
|
||||
case RISE_FM:
|
||||
string = TheText.Get("FEA_FM3");
|
||||
break;
|
||||
case LIPS_106:
|
||||
string = TheText.Get("FEA_FM4");
|
||||
break;
|
||||
case GAME_FM:
|
||||
string = TheText.Get("FEA_FM5");
|
||||
break;
|
||||
case MSX_FM:
|
||||
string = TheText.Get("FEA_FM6");
|
||||
break;
|
||||
case FLASHBACK:
|
||||
string = TheText.Get("FEA_FM7");
|
||||
break;
|
||||
case CHATTERBOX:
|
||||
string = TheText.Get("FEA_FM8");
|
||||
break;
|
||||
case USERTRACK:
|
||||
string = TheText.Get("FEA_FM9");
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
};
|
||||
|
||||
if (pRetune > CHATTERBOX && !CSampleManager::IsMP3RadioChannelAvailable()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (string && pCurrentStation != string || MusicManager.m_nCurrentStreamedSound == STREAMED_SOUND_RADIO_MP3_PLAYER && MusicManager.m_nPreviousStreamedSound != STREAMED_SOUND_RADIO_MP3_PLAYER) {
|
||||
pCurrentStation = string;
|
||||
cDisplay = 60;
|
||||
}
|
||||
else {
|
||||
if (!cDisplay)
|
||||
return;
|
||||
--cDisplay;
|
||||
}
|
||||
|
||||
CFont::SetJustifyOff();
|
||||
CFont::SetBackgroundOff();
|
||||
CFont::SetScale(SCREEN_SCALE_X(0.8f), SCREEN_SCALE_Y(1.35f));
|
||||
CFont::SetPropOn();
|
||||
CFont::SetFontStyle(FONT_HEADING);
|
||||
CFont::SetCentreOn();
|
||||
CFont::SetCentreSize(SCREEN_SCALE_X(640.0f));
|
||||
CFont::SetColor(CRGBA(0, 0, 0, 255));
|
||||
CFont::PrintString(SCREEN_WIDTH / 2, SCREEN_SCALE_Y(23.0f), pCurrentStation);
|
||||
|
||||
if (gNumRetunePresses)
|
||||
CFont::SetColor(CRGBA(102, 133, 143, 255));
|
||||
else
|
||||
CFont::SetColor(CRGBA(147, 196, 211, 255));
|
||||
|
||||
CFont::PrintString(SCREEN_WIDTH / 2, SCREEN_SCALE_Y(22.0f), pCurrentStation);
|
||||
CFont::DrawFonts();
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ public:
|
||||
static uint32 &nNumOfMp3Files;
|
||||
|
||||
public:
|
||||
bool IsMP3RadioChannelAvailable();
|
||||
static bool IsMP3RadioChannelAvailable();
|
||||
};
|
||||
|
||||
extern CSampleManager &cSampleManager;
|
Reference in New Issue
Block a user