1
0
Fork 0
mirror of https://git.rip/DMCA_FUCKER/re3.git synced 2024-12-23 19:30:10 +00:00

review fixes

This commit is contained in:
Nikolay Korolev 2020-02-16 12:44:33 +03:00
parent 85d815cf9d
commit a36da99798
2 changed files with 66 additions and 64 deletions

View file

@ -2197,7 +2197,7 @@ int8 CRunningScript::ProcessCommands100To199(int32 command)
case COMMAND_PRINT_BIG: case COMMAND_PRINT_BIG:
{ {
wchar* key = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); wchar* key = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CollectParameters(&m_nIp, 2); CollectParameters(&m_nIp, 2);
CMessages::AddBigMessage(key, ScriptParams[0], ScriptParams[1] - 1); CMessages::AddBigMessage(key, ScriptParams[0], ScriptParams[1] - 1);
return 0; return 0;
@ -2205,7 +2205,7 @@ int8 CRunningScript::ProcessCommands100To199(int32 command)
case COMMAND_PRINT: case COMMAND_PRINT:
{ {
wchar* key = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); wchar* key = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CollectParameters(&m_nIp, 2); CollectParameters(&m_nIp, 2);
CMessages::AddMessage(key, ScriptParams[0], ScriptParams[1]); CMessages::AddMessage(key, ScriptParams[0], ScriptParams[1]);
return 0; return 0;
@ -2213,7 +2213,7 @@ int8 CRunningScript::ProcessCommands100To199(int32 command)
case COMMAND_PRINT_NOW: case COMMAND_PRINT_NOW:
{ {
wchar* key = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); wchar* key = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CollectParameters(&m_nIp, 2); CollectParameters(&m_nIp, 2);
CMessages::AddMessageJumpQ(key, ScriptParams[0], ScriptParams[1]); CMessages::AddMessageJumpQ(key, ScriptParams[0], ScriptParams[1]);
return 0; return 0;
@ -2221,7 +2221,7 @@ int8 CRunningScript::ProcessCommands100To199(int32 command)
case COMMAND_PRINT_SOON: case COMMAND_PRINT_SOON:
{ {
wchar* key = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); wchar* key = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CollectParameters(&m_nIp, 2); CollectParameters(&m_nIp, 2);
CMessages::AddMessageSoon(key, ScriptParams[0], ScriptParams[1]); CMessages::AddMessageSoon(key, ScriptParams[0], ScriptParams[1]);
return 0; return 0;
@ -2704,7 +2704,7 @@ int8 CRunningScript::ProcessCommands200To299(int32 command)
CTheScripts::ReadTextLabelFromScript(&m_nIp, label); CTheScripts::ReadTextLabelFromScript(&m_nIp, label);
int zoneToCheck = CTheZones::FindZoneByLabelAndReturnIndex(label); int zoneToCheck = CTheZones::FindZoneByLabelAndReturnIndex(label);
if (zoneToCheck != -1) if (zoneToCheck != -1)
m_nIp += 8; /* why only if zone != 1? */ m_nIp += KEY_LENGTH_IN_SCRIPT; /* why only if zone != 1? */
CVector pos = pPlayer->GetPos(); CVector pos = pPlayer->GetPos();
CZone* pZone = CTheZones::GetZone(zoneToCheck); CZone* pZone = CTheZones::GetZone(zoneToCheck);
UpdateCompareFlag(CTheZones::PointLiesWithinZone(pos, pZone)); UpdateCompareFlag(CTheZones::PointLiesWithinZone(pos, pZone));
@ -3031,7 +3031,7 @@ int8 CRunningScript::ProcessCommands300To399(int32 command)
{ {
char label[12]; char label[12];
CTheScripts::ReadTextLabelFromScript(&m_nIp, label); CTheScripts::ReadTextLabelFromScript(&m_nIp, label);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CollectParameters(&m_nIp, 16); CollectParameters(&m_nIp, 16);
int zone = CTheZones::FindZoneByLabelAndReturnIndex(label); int zone = CTheZones::FindZoneByLabelAndReturnIndex(label);
if (zone < 0) { if (zone < 0) {
@ -3056,7 +3056,7 @@ int8 CRunningScript::ProcessCommands300To399(int32 command)
CTheScripts::ReadTextLabelFromScript(&m_nIp, label); CTheScripts::ReadTextLabelFromScript(&m_nIp, label);
int zone = CTheZones::FindZoneByLabelAndReturnIndex(label); int zone = CTheZones::FindZoneByLabelAndReturnIndex(label);
if (zone != -1) if (zone != -1)
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CVector pos = pPed->bInVehicle ? pPed->m_pMyVehicle->GetPosition() : pPed->GetPosition(); CVector pos = pPed->bInVehicle ? pPed->m_pMyVehicle->GetPosition() : pPed->GetPosition();
UpdateCompareFlag(CTheZones::PointLiesWithinZone(pos, CTheZones::GetZone(zone))); UpdateCompareFlag(CTheZones::PointLiesWithinZone(pos, CTheZones::GetZone(zone)));
return 0; return 0;
@ -3080,7 +3080,7 @@ int8 CRunningScript::ProcessCommands300To399(int32 command)
char label[12]; char label[12];
CTheScripts::ReadTextLabelFromScript(&m_nIp, label); CTheScripts::ReadTextLabelFromScript(&m_nIp, label);
int16 zone = CTheZones::FindZoneByLabelAndReturnIndex(label); int16 zone = CTheZones::FindZoneByLabelAndReturnIndex(label);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CollectParameters(&m_nIp, 2); CollectParameters(&m_nIp, 2);
if (zone < 0) { if (zone < 0) {
debug("Couldn't find zone - %s\n", label); debug("Couldn't find zone - %s\n", label);
@ -3122,7 +3122,7 @@ int8 CRunningScript::ProcessCommands300To399(int32 command)
{ {
char label[12]; char label[12];
CTheScripts::ReadTextLabelFromScript(&m_nIp, label); CTheScripts::ReadTextLabelFromScript(&m_nIp, label);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CollectParameters(&m_nIp, 10); CollectParameters(&m_nIp, 10);
int16 zone = CTheZones::FindZoneByLabelAndReturnIndex(label); int16 zone = CTheZones::FindZoneByLabelAndReturnIndex(label);
if (zone < 0) { if (zone < 0) {
@ -5020,11 +5020,11 @@ int8 CRunningScript::ProcessCommands500To599(int32 command)
{ {
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
char name[16]; char name[16];
strncpy(name, (char*)&CTheScripts::ScriptSpace[m_nIp], 8); strncpy(name, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
for (int i = 0; i < 8; i++) for (int i = 0; i < KEY_LENGTH_IN_SCRIPT; i++)
name[i] = tolower(name[i]); name[i] = tolower(name[i]);
CStreaming::RequestSpecialChar(ScriptParams[0] - 1, name, STREAMFLAGS_DEPENDENCY | STREAMFLAGS_SCRIPTOWNED); CStreaming::RequestSpecialChar(ScriptParams[0] - 1, name, STREAMFLAGS_DEPENDENCY | STREAMFLAGS_SCRIPTOWNED);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
return 0; return 0;
} }
case COMMAND_HAS_SPECIAL_CHARACTER_LOADED: case COMMAND_HAS_SPECIAL_CHARACTER_LOADED:
@ -5891,11 +5891,11 @@ int8 CRunningScript::ProcessCommands700To799(int32 command)
} }
case COMMAND_GET_RANDOM_CHAR_IN_ZONE: case COMMAND_GET_RANDOM_CHAR_IN_ZONE:
{ {
char zone[8]; char zone[KEY_LENGTH_IN_SCRIPT];
strncpy(zone, (const char*)&CTheScripts::ScriptSpace[m_nIp], 8); strncpy(zone, (const char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
int nZone = CTheZones::FindZoneByLabelAndReturnIndex(zone); int nZone = CTheZones::FindZoneByLabelAndReturnIndex(zone);
if (nZone != -1) if (nZone != -1)
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CZone* pZone = CTheZones::GetZone(nZone); CZone* pZone = CTheZones::GetZone(nZone);
int ped_handle = -1; int ped_handle = -1;
CVector pos = FindPlayerCoors(); CVector pos = FindPlayerCoors();
@ -5992,9 +5992,9 @@ int8 CRunningScript::ProcessCommands700To799(int32 command)
} }
case COMMAND_LOAD_CUTSCENE: case COMMAND_LOAD_CUTSCENE:
{ {
char name[8]; char name[KEY_LENGTH_IN_SCRIPT];
strncpy(name, (const char*)&CTheScripts::ScriptSpace[m_nIp], 8); strncpy(name, (const char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CCutsceneMgr::LoadCutsceneData(name); CCutsceneMgr::LoadCutsceneData(name);
return 0; return 0;
} }
@ -6009,11 +6009,11 @@ int8 CRunningScript::ProcessCommands700To799(int32 command)
case COMMAND_SET_CUTSCENE_ANIM: case COMMAND_SET_CUTSCENE_ANIM:
{ {
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
char name[8]; char name[KEY_LENGTH_IN_SCRIPT];
CObject* pObject = CPools::GetObjectPool()->GetAt(ScriptParams[0]); CObject* pObject = CPools::GetObjectPool()->GetAt(ScriptParams[0]);
assert(pObject); assert(pObject);
strncpy(name, (const char*)&CTheScripts::ScriptSpace[m_nIp], 8); strncpy(name, (const char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CCutsceneMgr::SetCutsceneAnim(name, pObject); CCutsceneMgr::SetCutsceneAnim(name, pObject);
return 0; return 0;
} }
@ -6127,12 +6127,12 @@ int8 CRunningScript::ProcessCommands700To799(int32 command)
case COMMAND_LOAD_SPECIAL_MODEL: case COMMAND_LOAD_SPECIAL_MODEL:
{ {
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
char name[8]; char name[KEY_LENGTH_IN_SCRIPT];
strncpy(name, (const char*)&CTheScripts::ScriptSpace[m_nIp], 8); strncpy(name, (const char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
for (int i = 0; i < 8; i++) for (int i = 0; i < KEY_LENGTH_IN_SCRIPT; i++)
name[i] = tolower(name[i]); name[i] = tolower(name[i]);
CStreaming::RequestSpecialModel(ScriptParams[0], name, STREAMFLAGS_DEPENDENCY | STREAMFLAGS_SCRIPTOWNED); CStreaming::RequestSpecialModel(ScriptParams[0], name, STREAMFLAGS_DEPENDENCY | STREAMFLAGS_SCRIPTOWNED);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
return 0; return 0;
} }
case COMMAND_CREATE_CUTSCENE_HEAD: case COMMAND_CREATE_CUTSCENE_HEAD:
@ -6150,9 +6150,9 @@ int8 CRunningScript::ProcessCommands700To799(int32 command)
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
CObject* pCutHead = CPools::GetObjectPool()->GetAt(ScriptParams[0]); CObject* pCutHead = CPools::GetObjectPool()->GetAt(ScriptParams[0]);
assert(pCutHead); assert(pCutHead);
char name[8]; char name[KEY_LENGTH_IN_SCRIPT];
strncpy(name, (const char*)&CTheScripts::ScriptSpace[m_nIp], 8); strncpy(name, (const char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CTimer::Stop(); CTimer::Stop();
CCutsceneMgr::SetHeadAnim(name, pCutHead); CCutsceneMgr::SetHeadAnim(name, pCutHead);
CTimer::Update(); CTimer::Update();
@ -6374,10 +6374,10 @@ int8 CRunningScript::ProcessCommands700To799(int32 command)
return 0; return 0;
case COMMAND_REGISTER_MISSION_PASSED: case COMMAND_REGISTER_MISSION_PASSED:
{ {
char name[8]; char name[KEY_LENGTH_IN_SCRIPT];
strncpy(name, (const char*)&CTheScripts::ScriptSpace[m_nIp], 8); strncpy(name, (const char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
strncpy(CStats::LastMissionPassedName, name, 8); strncpy(CStats::LastMissionPassedName, name, KEY_LENGTH_IN_SCRIPT);
++CStats::MissionsPassed; ++CStats::MissionsPassed;
CStats::CheckPointReachedSuccessfully(); CStats::CheckPointReachedSuccessfully();
return 0; return 0;
@ -6506,9 +6506,9 @@ int8 CRunningScript::ProcessCommands800To899(int32 command)
} }
case COMMAND_SET_ZONE_GROUP: case COMMAND_SET_ZONE_GROUP:
{ {
char zone[8]; char zone[KEY_LENGTH_IN_SCRIPT];
CTheScripts::ReadTextLabelFromScript(&m_nIp, zone); CTheScripts::ReadTextLabelFromScript(&m_nIp, zone);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CollectParameters(&m_nIp, 2); CollectParameters(&m_nIp, 2);
int zone_id = CTheZones::FindZoneByLabelAndReturnIndex(zone); int zone_id = CTheZones::FindZoneByLabelAndReturnIndex(zone);
if (zone_id < 0) { if (zone_id < 0) {
@ -6568,11 +6568,11 @@ int8 CRunningScript::ProcessCommands800To899(int32 command)
} }
case COMMAND_GET_RANDOM_CAR_OF_TYPE_IN_ZONE: case COMMAND_GET_RANDOM_CAR_OF_TYPE_IN_ZONE:
{ {
char zone[8]; char zone[KEY_LENGTH_IN_SCRIPT];
CTheScripts::ReadTextLabelFromScript(&m_nIp, zone); CTheScripts::ReadTextLabelFromScript(&m_nIp, zone);
int zone_id = CTheZones::FindZoneByLabelAndReturnIndex(zone); int zone_id = CTheZones::FindZoneByLabelAndReturnIndex(zone);
if (zone_id != -1) if (zone_id != -1)
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CZone* pZone = CTheZones::GetZone(zone_id); CZone* pZone = CTheZones::GetZone(zone_id);
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
int handle = -1; int handle = -1;
@ -7012,16 +7012,16 @@ int8 CRunningScript::ProcessCommands800To899(int32 command)
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
CPed* pPed = CPools::GetPedPool()->GetAt(ScriptParams[0]); CPed* pPed = CPools::GetPedPool()->GetAt(ScriptParams[0]);
assert(pPed); assert(pPed);
char name[8]; char name[KEY_LENGTH_IN_SCRIPT];
CTheScripts::ReadTextLabelFromScript(&m_nIp, name); CTheScripts::ReadTextLabelFromScript(&m_nIp, name);
for (int i = 0; i < 8; i++) for (int i = 0; i < KEY_LENGTH_IN_SCRIPT; i++)
name[i] = tolower(name[i]); name[i] = tolower(name[i]);
int mi = pPed->GetModelIndex(); int mi = pPed->GetModelIndex();
pPed->DeleteRwObject(); pPed->DeleteRwObject();
if (pPed->IsPlayer()) if (pPed->IsPlayer())
mi = 0; mi = 0;
CStreaming::RequestSpecialModel(mi, name, STREAMFLAGS_DEPENDENCY | STREAMFLAGS_SCRIPTOWNED); CStreaming::RequestSpecialModel(mi, name, STREAMFLAGS_DEPENDENCY | STREAMFLAGS_SCRIPTOWNED);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CWorld::Remove(pPed); CWorld::Remove(pPed);
return 0; return 0;
} }
@ -7074,11 +7074,11 @@ int8 CRunningScript::ProcessCommands800To899(int32 command)
case COMMAND_IS_EXPLOSION_IN_ZONE: case COMMAND_IS_EXPLOSION_IN_ZONE:
{ {
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
char zone[8]; char zone[KEY_LENGTH_IN_SCRIPT];
CTheScripts::ReadTextLabelFromScript(&m_nIp, zone); CTheScripts::ReadTextLabelFromScript(&m_nIp, zone);
int zone_id = CTheZones::FindZoneByLabelAndReturnIndex(zone); int zone_id = CTheZones::FindZoneByLabelAndReturnIndex(zone);
if (zone_id != -1) if (zone_id != -1)
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CZone* pZone = CTheZones::GetZone(zone_id); CZone* pZone = CTheZones::GetZone(zone_id);
UpdateCompareFlag(CExplosion::TestForExplosionInArea((eExplosionType)ScriptParams[0], UpdateCompareFlag(CExplosion::TestForExplosionInArea((eExplosionType)ScriptParams[0],
pZone->minx, pZone->maxx, pZone->miny, pZone->maxy, pZone->minz, pZone->maxz)); pZone->minx, pZone->maxx, pZone->miny, pZone->maxy, pZone->minz, pZone->maxz));
@ -7536,14 +7536,14 @@ WRAPPER int8 CRunningScript::ProcessCommands900To999(int32 command) { EAXJMP(0x4
int8 CRunningScript::ProcessCommands900To999(int32 command) int8 CRunningScript::ProcessCommands900To999(int32 command)
{ {
char str[52]; char str[52];
char onscreen_str[8]; char onscreen_str[KEY_LENGTH_IN_SCRIPT];
switch (command) { switch (command) {
case COMMAND_PRINT_STRING_IN_STRING_NOW: case COMMAND_PRINT_STRING_IN_STRING_NOW:
{ {
wchar* source = CTheScripts::GetTextByKeyFromScript(&m_nIp); wchar* source = CTheScripts::GetTextByKeyFromScript(&m_nIp);
wchar* str = CTheScripts::GetTextByKeyFromScript(&m_nIp); wchar* pstr = CTheScripts::GetTextByKeyFromScript(&m_nIp);
CollectParameters(&m_nIp, 2); CollectParameters(&m_nIp, 2);
CMessages::AddMessageJumpQWithString(source, ScriptParams[0], ScriptParams[1], str); CMessages::AddMessageJumpQWithString(source, ScriptParams[0], ScriptParams[1], pstr);
return 0; return 0;
} }
//case COMMAND_PRINT_STRING_IN_STRING_SOON: //case COMMAND_PRINT_STRING_IN_STRING_SOON:
@ -7660,10 +7660,10 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
case COMMAND_LOAD_SPRITE: case COMMAND_LOAD_SPRITE:
{ {
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
strncpy(str, (char*)&CTheScripts::ScriptSpace[m_nIp], 8); strncpy(str, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
for (int i = 0; i < 8; i++) for (int i = 0; i < KEY_LENGTH_IN_SCRIPT; i++)
str[i] = tolower(str[i]); str[i] = tolower(str[i]);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
int slot = CTxdStore::FindTxdSlot("script"); int slot = CTxdStore::FindTxdSlot("script");
CTxdStore::PushCurrentTxd(); CTxdStore::PushCurrentTxd();
CTxdStore::SetCurrentTxd(slot); CTxdStore::SetCurrentTxd(slot);
@ -7674,9 +7674,9 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
case COMMAND_LOAD_TEXTURE_DICTIONARY: case COMMAND_LOAD_TEXTURE_DICTIONARY:
{ {
strcpy(str, "models\\"); strcpy(str, "models\\");
strncpy(str + sizeof("models\\"), (char*)&CTheScripts::ScriptSpace[m_nIp], 8); strncpy(str + sizeof("models\\"), (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
strcat(str, ".txd"); strcat(str, ".txd");
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
int slot = CTxdStore::FindTxdSlot("script"); int slot = CTxdStore::FindTxdSlot("script");
if (slot == -1) if (slot == -1)
slot = CTxdStore::AddTxdSlot("script"); slot = CTxdStore::AddTxdSlot("script");
@ -7723,7 +7723,7 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
case COMMAND_PLAY_MISSION_PASSED_TUNE: case COMMAND_PLAY_MISSION_PASSED_TUNE:
{ {
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
DMAudio.ChangeMusicMode(0); DMAudio.ChangeMusicMode(MUSICMODE_FRONTEND);
DMAudio.PlayFrontEndTrack(ScriptParams[0] + STREAMED_SOUND_MISSION_COMPLETED - 1, 0); DMAudio.PlayFrontEndTrack(ScriptParams[0] + STREAMED_SOUND_MISSION_COMPLETED - 1, 0);
return 0; return 0;
} }
@ -7857,11 +7857,11 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
} }
case COMMAND_SCRIPT_NAME: case COMMAND_SCRIPT_NAME:
{ {
strncpy(str, (char*)&CTheScripts::ScriptSpace[m_nIp], 8); strncpy(str, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
for (int i = 0; i < 8; i++) for (int i = 0; i < KEY_LENGTH_IN_SCRIPT; i++)
str[i] = tolower(str[i]); str[i] = tolower(str[i]);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
strncpy(m_abScriptName, str, 8); strncpy(m_abScriptName, str, KEY_LENGTH_IN_SCRIPT);
return 0; return 0;
} }
case COMMAND_CHANGE_GARAGE_TYPE_WITH_CAR_MODEL: case COMMAND_CHANGE_GARAGE_TYPE_WITH_CAR_MODEL:
@ -8095,8 +8095,8 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
assert(CTheScripts::ScriptSpace[m_nIp++] == ARGUMENT_GLOBALVAR); assert(CTheScripts::ScriptSpace[m_nIp++] == ARGUMENT_GLOBALVAR);
int16 var = CTheScripts::Read2BytesFromScript(&m_nIp); int16 var = CTheScripts::Read2BytesFromScript(&m_nIp);
wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); // ??? wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); // ???
strncpy(onscreen_str, (char*)&CTheScripts::ScriptSpace[m_nIp], 8); strncpy(onscreen_str, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CUserDisplay::OnscnTimer.AddClock(var, onscreen_str); CUserDisplay::OnscnTimer.AddClock(var, onscreen_str);
return 0; return 0;
} }
@ -8106,8 +8106,8 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
int16 var = CTheScripts::Read2BytesFromScript(&m_nIp); int16 var = CTheScripts::Read2BytesFromScript(&m_nIp);
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); // ??? wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); // ???
strncpy(onscreen_str, (char*)&CTheScripts::ScriptSpace[m_nIp], 8); strncpy(onscreen_str, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
CUserDisplay::OnscnTimer.AddCounter(var, ScriptParams[0], onscreen_str); CUserDisplay::OnscnTimer.AddCounter(var, ScriptParams[0], onscreen_str);
return 0; return 0;
} }
@ -8284,10 +8284,10 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
UpdateCompareFlag(CTheScripts::StuckCars.HasCarBeenStuckForAWhile(ScriptParams[0])); UpdateCompareFlag(CTheScripts::StuckCars.HasCarBeenStuckForAWhile(ScriptParams[0]));
return 0; return 0;
case COMMAND_LOAD_MISSION_AUDIO: case COMMAND_LOAD_MISSION_AUDIO:
strncpy(str, (char*)&CTheScripts::ScriptSpace[m_nIp], 8); strncpy(str, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
for (int i = 0; i < 8; i++) for (int i = 0; i < KEY_LENGTH_IN_SCRIPT; i++)
str[i] = tolower(str[i]); str[i] = tolower(str[i]);
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
DMAudio.PreloadMissionAudio(str); DMAudio.PreloadMissionAudio(str);
return 0; return 0;
case COMMAND_HAS_MISSION_AUDIO_LOADED: case COMMAND_HAS_MISSION_AUDIO_LOADED:
@ -8412,7 +8412,7 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
strncmp((char*)&CTheScripts::ScriptSpace[m_nIp], "GUN_2A", 7) == 0 || strncmp((char*)&CTheScripts::ScriptSpace[m_nIp], "GUN_2A", 7) == 0 ||
strncmp((char*)&CTheScripts::ScriptSpace[m_nIp], "GUN_3A", 7) == 0 || strncmp((char*)&CTheScripts::ScriptSpace[m_nIp], "GUN_3A", 7) == 0 ||
strncmp((char*)&CTheScripts::ScriptSpace[m_nIp], "GUN_4A", 7) == 0)) { strncmp((char*)&CTheScripts::ScriptSpace[m_nIp], "GUN_4A", 7) == 0)) {
m_nIp += 8; m_nIp += KEY_LENGTH_IN_SCRIPT;
return 0; return 0;
} }
wchar* text = CTheScripts::GetTextByKeyFromScript(&m_nIp); wchar* text = CTheScripts::GetTextByKeyFromScript(&m_nIp);

View file

@ -11,6 +11,8 @@ class CPed;
class CObject; class CObject;
class CPlayerInfo; class CPlayerInfo;
#define KEY_LENGTH_IN_SCRIPT 8
struct CScriptRectangle struct CScriptRectangle
{ {
int8 m_bIsUsed; int8 m_bIsUsed;
@ -409,11 +411,11 @@ public:
return Read2BytesFromScript(pIp) / 16.0f; return Read2BytesFromScript(pIp) / 16.0f;
} }
static void ReadTextLabelFromScript(uint32* pIp, char* buf){ static void ReadTextLabelFromScript(uint32* pIp, char* buf){
strncpy(buf, (const char*)&ScriptSpace[*pIp], 8); strncpy(buf, (const char*)&ScriptSpace[*pIp], KEY_LENGTH_IN_SCRIPT);
} }
static wchar* GetTextByKeyFromScript(uint32* pIp) { static wchar* GetTextByKeyFromScript(uint32* pIp) {
wchar* text = TheText.Get((const char*)&ScriptSpace[*pIp]); wchar* text = TheText.Get((const char*)&ScriptSpace[*pIp]);
*pIp += 8; *pIp += KEY_LENGTH_IN_SCRIPT;
return text; return text;
} }
}; };