mirror of
https://git.rip/DMCA_FUCKER/re3.git
synced 2024-11-10 18:09:16 +00:00
first commit for LCS
This commit is contained in:
parent
bc363a74f5
commit
ebdf08a514
10
premake5.lua
10
premake5.lua
|
@ -58,7 +58,7 @@ function getarch(a)
|
||||||
return a
|
return a
|
||||||
end
|
end
|
||||||
|
|
||||||
workspace "reVC"
|
workspace "reLCS"
|
||||||
language "C++"
|
language "C++"
|
||||||
configurations { "Debug", "Release" }
|
configurations { "Debug", "Release" }
|
||||||
location "build"
|
location "build"
|
||||||
|
@ -225,9 +225,9 @@ local function addSrcFiles( prefix )
|
||||||
return prefix .. "/*cpp", prefix .. "/*.h", prefix .. "/*.c", prefix .. "/*.ico", prefix .. "/*.rc"
|
return prefix .. "/*cpp", prefix .. "/*.h", prefix .. "/*.c", prefix .. "/*.ico", prefix .. "/*.rc"
|
||||||
end
|
end
|
||||||
|
|
||||||
project "reVC"
|
project "reLCS"
|
||||||
kind "WindowedApp"
|
kind "WindowedApp"
|
||||||
targetname "reVC"
|
targetname "reLCS"
|
||||||
targetdir "bin/%{cfg.platform}/%{cfg.buildcfg}"
|
targetdir "bin/%{cfg.platform}/%{cfg.buildcfg}"
|
||||||
defines { "MIAMI" }
|
defines { "MIAMI" }
|
||||||
|
|
||||||
|
@ -303,8 +303,8 @@ project "reVC"
|
||||||
defines { "AUDIO_OAL" }
|
defines { "AUDIO_OAL" }
|
||||||
|
|
||||||
filter {}
|
filter {}
|
||||||
if(os.getenv("GTA_VC_RE_DIR")) then
|
if(os.getenv("GTA_LCS_RE_DIR")) then
|
||||||
setpaths("$(GTA_VC_RE_DIR)/", "%(cfg.buildtarget.name)", "")
|
setpaths("$(GTA_LCS_RE_DIR)/", "%(cfg.buildtarget.name)", "")
|
||||||
end
|
end
|
||||||
|
|
||||||
filter "platforms:win*"
|
filter "platforms:win*"
|
||||||
|
|
|
@ -633,8 +633,8 @@ CCutsceneMgr::RemoveEverythingFromTheWorldForTheBiggestFuckoffCutsceneEver()
|
||||||
CStreaming::RemoveCurrentZonesModels();
|
CStreaming::RemoveCurrentZonesModels();
|
||||||
CStreaming::SetModelIsDeletable(MI_MALE01);
|
CStreaming::SetModelIsDeletable(MI_MALE01);
|
||||||
CStreaming::SetModelTxdIsDeletable(MI_MALE01);
|
CStreaming::SetModelTxdIsDeletable(MI_MALE01);
|
||||||
CStreaming::SetModelIsDeletable(MI_HMOCA);
|
CStreaming::SetModelIsDeletable(MI_TAXI_D);
|
||||||
CStreaming::SetModelTxdIsDeletable(MI_HMOCA);
|
CStreaming::SetModelTxdIsDeletable(MI_TAXI_D);
|
||||||
CStreaming::SetModelIsDeletable(MI_NIGHTSTICK);
|
CStreaming::SetModelIsDeletable(MI_NIGHTSTICK);
|
||||||
CStreaming::SetModelTxdIsDeletable(MI_NIGHTSTICK);
|
CStreaming::SetModelTxdIsDeletable(MI_NIGHTSTICK);
|
||||||
CStreaming::SetModelIsDeletable(MI_MISSILE);
|
CStreaming::SetModelIsDeletable(MI_MISSILE);
|
||||||
|
|
|
@ -5296,6 +5296,7 @@ cAudioManager::GetPedCommentSfx(CPed *ped, int32 sound)
|
||||||
case MI_MEDIC: return GetMedicTalkSfx(ped, sound);
|
case MI_MEDIC: return GetMedicTalkSfx(ped, sound);
|
||||||
case MI_FIREMAN: return GetFiremanTalkSfx(ped, sound);
|
case MI_FIREMAN: return GetFiremanTalkSfx(ped, sound);
|
||||||
case MI_MALE01: return GetDefaultTalkSfx(ped, sound);
|
case MI_MALE01: return GetDefaultTalkSfx(ped, sound);
|
||||||
|
/* LCS: removed for now
|
||||||
case MI_HFYST: return GetHFYSTTalkSfx(ped, sound);
|
case MI_HFYST: return GetHFYSTTalkSfx(ped, sound);
|
||||||
case MI_HFOST: return GetHFOSTTalkSfx(ped, sound);
|
case MI_HFOST: return GetHFOSTTalkSfx(ped, sound);
|
||||||
case MI_HMYST: return GetHMYSTTalkSfx(ped, sound);
|
case MI_HMYST: return GetHMYSTTalkSfx(ped, sound);
|
||||||
|
@ -5384,6 +5385,7 @@ cAudioManager::GetPedCommentSfx(CPed *ped, int32 sound)
|
||||||
case MI_BKB: return GetBKTalkSfx(ped, sound);
|
case MI_BKB: return GetBKTalkSfx(ped, sound);
|
||||||
case MI_PGA:
|
case MI_PGA:
|
||||||
case MI_PGB: return GetPGTalkSfx(ped, sound);
|
case MI_PGB: return GetPGTalkSfx(ped, sound);
|
||||||
|
*/
|
||||||
case MI_VICE1:
|
case MI_VICE1:
|
||||||
case MI_VICE2:
|
case MI_VICE2:
|
||||||
case MI_VICE3:
|
case MI_VICE3:
|
||||||
|
@ -7567,7 +7569,8 @@ cAudioManager::GetSGTalkSfx(CPed *ped, int16 sound)
|
||||||
case SOUND_PED_CHAT: GetPhrase(sfx, ped->m_lastComment, 1064, 12); break;
|
case SOUND_PED_CHAT: GetPhrase(sfx, ped->m_lastComment, 1064, 12); break;
|
||||||
default: return GetGenericMaleTalkSfx(ped, sound);
|
default: return GetGenericMaleTalkSfx(ped, sound);
|
||||||
}
|
}
|
||||||
if(ped->GetModelIndex() == MI_SGB) sfx += 93;
|
// LCS removed for now
|
||||||
|
// if(ped->GetModelIndex() == MI_SGB) sfx += 93;
|
||||||
return sfx;
|
return sfx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1295,7 +1295,7 @@ cMusicManager::UsesPoliceRadio(CVehicle *veh)
|
||||||
bool
|
bool
|
||||||
cMusicManager::UsesTaxiRadio(CVehicle *veh)
|
cMusicManager::UsesTaxiRadio(CVehicle *veh)
|
||||||
{
|
{
|
||||||
if (veh->GetModelIndex() != MI_KAUFMAN) return false;
|
if (veh->GetModelIndex() != MI_CABBIE) return false;
|
||||||
return CTheScripts::bPlayerHasMetDebbieHarry;
|
return CTheScripts::bPlayerHasMetDebbieHarry;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -546,8 +546,7 @@ cAudioManager::SetupSuspectLastSeenReport()
|
||||||
break;
|
break;
|
||||||
case MI_TAXI:
|
case MI_TAXI:
|
||||||
case MI_CABBIE:
|
case MI_CABBIE:
|
||||||
case MI_ZEBRA:
|
case MI_BORGNINE:
|
||||||
case MI_KAUFMAN:
|
|
||||||
sample = SFX_POLICE_RADIO_TAXI;
|
sample = SFX_POLICE_RADIO_TAXI;
|
||||||
break;
|
break;
|
||||||
case MI_BOBCAT:
|
case MI_BOBCAT:
|
||||||
|
|
|
@ -420,7 +420,7 @@ CGameLogic::SetUpShortCut(CVector vStartPos, float fStartAngle, CVector vEndPos,
|
||||||
ShortCutStartOrientation = fStartAngle;
|
ShortCutStartOrientation = fStartAngle;
|
||||||
ShortCutDestination = vEndPos;
|
ShortCutDestination = vEndPos;
|
||||||
ShortCutDestinationOrientation = fEndAngle;
|
ShortCutDestinationOrientation = fEndAngle;
|
||||||
CStreaming::RequestModel(MI_KAUFMAN, 0);
|
CStreaming::RequestModel(MI_CABBIE, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -452,11 +452,11 @@ CGameLogic::UpdateShortCut()
|
||||||
{
|
{
|
||||||
switch (ShortCutState) {
|
switch (ShortCutState) {
|
||||||
case SHORTCUT_INIT:
|
case SHORTCUT_INIT:
|
||||||
if (!CStreaming::HasModelLoaded(MI_KAUFMAN)) {
|
if (!CStreaming::HasModelLoaded(MI_CABBIE)) {
|
||||||
CStreaming::RequestModel(MI_KAUFMAN, 0);
|
CStreaming::RequestModel(MI_CABBIE, 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
pShortCutTaxi = new CAutomobile(MI_KAUFMAN, RANDOM_VEHICLE);
|
pShortCutTaxi = new CAutomobile(MI_CABBIE, RANDOM_VEHICLE);
|
||||||
if (!pShortCutTaxi)
|
if (!pShortCutTaxi)
|
||||||
return;
|
return;
|
||||||
pShortCutTaxi->SetPosition(ShortCutStart);
|
pShortCutTaxi->SetPosition(ShortCutStart);
|
||||||
|
|
|
@ -2201,7 +2201,7 @@ int open_script()
|
||||||
#endif
|
#endif
|
||||||
switch (scriptToLoad) {
|
switch (scriptToLoad) {
|
||||||
case 0: scriptfile = "main.scm"; break;
|
case 0: scriptfile = "main.scm"; break;
|
||||||
case 1: scriptfile = "freeroam_miami.scm"; break;
|
case 1: scriptfile = "freeroam_lcs.scm"; break;
|
||||||
case 2: scriptfile = "main_d.scm"; break;
|
case 2: scriptfile = "main_d.scm"; break;
|
||||||
}
|
}
|
||||||
return CFileMgr::OpenFile(scriptfile, "rb");
|
return CFileMgr::OpenFile(scriptfile, "rb");
|
||||||
|
|
|
@ -1817,6 +1817,7 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
|
||||||
continue;
|
continue;
|
||||||
if (CModelInfo::IsCarModel(model) || CModelInfo::IsBikeModel(model)) {
|
if (CModelInfo::IsCarModel(model) || CModelInfo::IsBikeModel(model)) {
|
||||||
switch (model) {
|
switch (model) {
|
||||||
|
// TODO(LCS): do it right
|
||||||
case MI_LANDSTAL:
|
case MI_LANDSTAL:
|
||||||
case MI_LINERUN:
|
case MI_LINERUN:
|
||||||
case MI_RIO:
|
case MI_RIO:
|
||||||
|
@ -1842,13 +1843,13 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
|
||||||
case MI_ANGEL:
|
case MI_ANGEL:
|
||||||
case MI_COACH:
|
case MI_COACH:
|
||||||
case MI_RCBANDIT:
|
case MI_RCBANDIT:
|
||||||
case MI_ROMERO:
|
//case MI_ROMERO:
|
||||||
case MI_PACKER:
|
//case MI_PACKER:
|
||||||
case MI_SENTXS:
|
//case MI_SENTXS:
|
||||||
case MI_SQUALO:
|
case MI_SQUALO:
|
||||||
case MI_SEASPAR:
|
case MI_SEASPAR:
|
||||||
case MI_PIZZABOY:
|
case MI_PIZZABOY:
|
||||||
case MI_GANGBUR:
|
//case MI_GANGBUR:
|
||||||
case MI_AIRTRAIN:
|
case MI_AIRTRAIN:
|
||||||
case MI_DEADDODO:
|
case MI_DEADDODO:
|
||||||
case MI_SPEEDER:
|
case MI_SPEEDER:
|
||||||
|
@ -1857,44 +1858,44 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
|
||||||
case MI_FLATBED:
|
case MI_FLATBED:
|
||||||
case MI_YANKEE:
|
case MI_YANKEE:
|
||||||
case MI_CADDY:
|
case MI_CADDY:
|
||||||
case MI_ZEBRA:
|
//case MI_ZEBRA:
|
||||||
case MI_TOPFUN:
|
case MI_TOPFUN:
|
||||||
case MI_SKIMMER:
|
case MI_SKIMMER:
|
||||||
case MI_RCBARON:
|
case MI_RCBARON:
|
||||||
case MI_RCRAIDER:
|
case MI_RCRAIDER:
|
||||||
case MI_SPARROW:
|
case MI_SPARROW:
|
||||||
case MI_PATRIOT:
|
case MI_PATRIOT:
|
||||||
case MI_LOVEFIST:
|
//case MI_LOVEFIST:
|
||||||
case MI_COASTG:
|
case MI_COASTG:
|
||||||
case MI_DINGHY:
|
case MI_DINGHY:
|
||||||
case MI_HERMES:
|
//case MI_HERMES:
|
||||||
case MI_SABRETUR:
|
//case MI_SABRETUR:
|
||||||
case MI_PHEONIX:
|
case MI_PHEONIX:
|
||||||
case MI_WALTON:
|
//case MI_WALTON:
|
||||||
case MI_COMET:
|
case MI_COMET:
|
||||||
case MI_DELUXO:
|
//case MI_DELUXO:
|
||||||
case MI_BURRITO:
|
//case MI_BURRITO:
|
||||||
case MI_SPAND:
|
//case MI_SPAND:
|
||||||
case MI_MARQUIS:
|
case MI_MARQUIS:
|
||||||
case MI_BAGGAGE:
|
case MI_BAGGAGE:
|
||||||
case MI_KAUFMAN:
|
//case MI_KAUFMAN:
|
||||||
case MI_MAVERICK:
|
case MI_MAVERICK:
|
||||||
case MI_VCNMAV:
|
case MI_VCNMAV:
|
||||||
case MI_RANCHER:
|
//case MI_RANCHER:
|
||||||
case MI_FBIRANCH:
|
case MI_FBIRANCH:
|
||||||
case MI_JETMAX:
|
case MI_JETMAX:
|
||||||
case MI_HOTRING:
|
//case MI_HOTRING:
|
||||||
case MI_SANDKING:
|
case MI_SANDKING:
|
||||||
case MI_BLISTAC:
|
//case MI_BLISTAC:
|
||||||
case MI_POLMAV:
|
case MI_POLMAV:
|
||||||
case MI_BOXVILLE:
|
//case MI_BOXVILLE:
|
||||||
case MI_BENSON:
|
//case MI_BENSON:
|
||||||
case MI_MESA:
|
//case MI_MESA:
|
||||||
case MI_RCGOBLIN:
|
case MI_RCGOBLIN:
|
||||||
case MI_HOTRINA:
|
//case MI_HOTRINA:
|
||||||
case MI_HOTRINB:
|
//case MI_HOTRINB:
|
||||||
case MI_BLOODRA:
|
//case MI_BLOODRA:
|
||||||
case MI_BLOODRB:
|
//case MI_BLOODRB:
|
||||||
case MI_VICECHEE:
|
case MI_VICECHEE:
|
||||||
model = -1;
|
model = -1;
|
||||||
break;
|
break;
|
||||||
|
@ -1909,23 +1910,23 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
|
||||||
case MI_MOONBEAM:
|
case MI_MOONBEAM:
|
||||||
case MI_ESPERANT:
|
case MI_ESPERANT:
|
||||||
case MI_TAXI:
|
case MI_TAXI:
|
||||||
case MI_WASHING:
|
//case MI_WASHING:
|
||||||
case MI_BOBCAT:
|
case MI_BOBCAT:
|
||||||
case MI_BANSHEE:
|
case MI_BANSHEE:
|
||||||
case MI_CABBIE:
|
case MI_CABBIE:
|
||||||
case MI_STALLION:
|
case MI_STALLION:
|
||||||
case MI_RUMPO:
|
case MI_RUMPO:
|
||||||
case MI_ADMIRAL:
|
//case MI_ADMIRAL:
|
||||||
case MI_PCJ600:
|
case MI_PCJ600:
|
||||||
case MI_FAGGIO:
|
case MI_FAGGIO:
|
||||||
case MI_FREEWAY:
|
case MI_FREEWAY:
|
||||||
case MI_GLENDALE:
|
//case MI_GLENDALE:
|
||||||
case MI_OCEANIC:
|
//case MI_OCEANIC:
|
||||||
case MI_SANCHEZ:
|
case MI_SANCHEZ:
|
||||||
case MI_SABRE:
|
//case MI_SABRE:
|
||||||
case MI_REGINA:
|
//case MI_REGINA:
|
||||||
case MI_VIRGO:
|
//case MI_VIRGO:
|
||||||
case MI_GREENWOO:
|
//case MI_GREENWOO:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
printf("CREATE_RANDOM_CAR_FOR_CAR_PARK - Unknown car model %d\n", CStreaming::ms_vehiclesLoaded[index]);
|
printf("CREATE_RANDOM_CAR_FOR_CAR_PARK - Unknown car model %d\n", CStreaming::ms_vehiclesLoaded[index]);
|
||||||
|
|
|
@ -846,14 +846,15 @@ CFileLoader::LoadVehicleObject(const char *line)
|
||||||
char type[8], handlingId[16], gamename[32], animFile[16], vehclass[12];
|
char type[8], handlingId[16], gamename[32], animFile[16], vehclass[12];
|
||||||
uint32 frequency, comprules;
|
uint32 frequency, comprules;
|
||||||
int32 level, misc;
|
int32 level, misc;
|
||||||
float wheelScale;
|
float wheelScale, normalSplay;
|
||||||
CVehicleModelInfo *mi;
|
CVehicleModelInfo *mi;
|
||||||
char *p;
|
char *p;
|
||||||
|
|
||||||
sscanf(line, "%d %s %s %s %s %s %s %s %d %d %x %d %f",
|
sscanf(line, "%d %s %s %s %s %s %s %s %d %d %x %d %f %f",
|
||||||
&id, model, txd,
|
&id, model, txd,
|
||||||
type, handlingId, gamename, animFile, vehclass,
|
type, handlingId, gamename, animFile, vehclass,
|
||||||
&frequency, &level, &comprules, &misc, &wheelScale);
|
&frequency, &level, &comprules, &misc, &wheelScale,
|
||||||
|
&normalSplay);
|
||||||
|
|
||||||
mi = CModelInfo::AddVehicleModel(id);
|
mi = CModelInfo::AddVehicleModel(id);
|
||||||
mi->SetName(model);
|
mi->SetName(model);
|
||||||
|
@ -873,6 +874,8 @@ CFileLoader::LoadVehicleObject(const char *line)
|
||||||
mi->m_vehicleType = VEHICLE_TYPE_BOAT;
|
mi->m_vehicleType = VEHICLE_TYPE_BOAT;
|
||||||
}else if(strcmp(type, "train") == 0){
|
}else if(strcmp(type, "train") == 0){
|
||||||
mi->m_vehicleType = VEHICLE_TYPE_TRAIN;
|
mi->m_vehicleType = VEHICLE_TYPE_TRAIN;
|
||||||
|
}else if(strcmp(type, "ferry") == 0){
|
||||||
|
mi->m_vehicleType = VEHICLE_TYPE_FERRY;
|
||||||
}else if(strcmp(type, "heli") == 0){
|
}else if(strcmp(type, "heli") == 0){
|
||||||
mi->m_vehicleType = VEHICLE_TYPE_HELI;
|
mi->m_vehicleType = VEHICLE_TYPE_HELI;
|
||||||
}else if(strcmp(type, "plane") == 0){
|
}else if(strcmp(type, "plane") == 0){
|
||||||
|
|
|
@ -375,7 +375,7 @@ bool CGame::Initialise(const char* datFile)
|
||||||
#ifdef USE_TEXTURE_POOL
|
#ifdef USE_TEXTURE_POOL
|
||||||
_TexturePoolsUnknown(false);
|
_TexturePoolsUnknown(false);
|
||||||
#endif
|
#endif
|
||||||
currLevel = LEVEL_BEACH;
|
currLevel = LEVEL_INDUSTRIAL;
|
||||||
currArea = AREA_MAIN_MAP;
|
currArea = AREA_MAIN_MAP;
|
||||||
|
|
||||||
PUSH_MEMID(MEMID_TEXTURES);
|
PUSH_MEMID(MEMID_TEXTURES);
|
||||||
|
@ -441,7 +441,7 @@ bool CGame::Initialise(const char* datFile)
|
||||||
|
|
||||||
CdStreamAddImage("MODELS\\GTA3.IMG");
|
CdStreamAddImage("MODELS\\GTA3.IMG");
|
||||||
|
|
||||||
CFileLoader::LoadLevel("DATA\\DEFAULT.DAT");
|
// CFileLoader::LoadLevel("DATA\\DEFAULT.DAT");
|
||||||
CFileLoader::LoadLevel(datFile);
|
CFileLoader::LoadLevel(datFile);
|
||||||
#ifdef EXTENDED_PIPELINES
|
#ifdef EXTENDED_PIPELINES
|
||||||
// for generic fallback
|
// for generic fallback
|
||||||
|
@ -661,8 +661,9 @@ void CGame::ReInitGameObjectVariables(void)
|
||||||
CDraw::SetFOV(120.0f);
|
CDraw::SetFOV(120.0f);
|
||||||
CDraw::ms_fLODDistance = 500.0f;
|
CDraw::ms_fLODDistance = 500.0f;
|
||||||
CStreaming::RequestBigBuildings(LEVEL_GENERIC);
|
CStreaming::RequestBigBuildings(LEVEL_GENERIC);
|
||||||
CStreaming::RemoveIslandsNotUsed(LEVEL_BEACH);
|
CStreaming::RemoveIslandsNotUsed(LEVEL_INDUSTRIAL);
|
||||||
CStreaming::RemoveIslandsNotUsed(LEVEL_MAINLAND);
|
CStreaming::RemoveIslandsNotUsed(LEVEL_COMMERCIAL);
|
||||||
|
CStreaming::RemoveIslandsNotUsed(LEVEL_SUBURBAN);
|
||||||
CStreaming::LoadAllRequestedModels(false);
|
CStreaming::LoadAllRequestedModels(false);
|
||||||
currArea = AREA_MAIN_MAP;
|
currArea = AREA_MAIN_MAP;
|
||||||
CPed::Initialise();
|
CPed::Initialise();
|
||||||
|
|
|
@ -3,10 +3,11 @@
|
||||||
enum eLevelName {
|
enum eLevelName {
|
||||||
LEVEL_IGNORE = -1, // beware, this is only used in CPhysical's m_nZoneLevel
|
LEVEL_IGNORE = -1, // beware, this is only used in CPhysical's m_nZoneLevel
|
||||||
LEVEL_GENERIC = 0,
|
LEVEL_GENERIC = 0,
|
||||||
LEVEL_BEACH,
|
LEVEL_INDUSTRIAL,
|
||||||
LEVEL_MAINLAND,
|
LEVEL_COMMERCIAL,
|
||||||
|
LEVEL_SUBURBAN,
|
||||||
|
|
||||||
NUM_LEVELS
|
NUM_LEVELS // LCS: should be 5 eventually...
|
||||||
};
|
};
|
||||||
|
|
||||||
enum eAreaName {
|
enum eAreaName {
|
||||||
|
|
|
@ -97,6 +97,7 @@ extern bool gbFastTime;
|
||||||
extern bool gGravityCheat;
|
extern bool gGravityCheat;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* LCS: removed
|
||||||
void SpecialCarCheats()
|
void SpecialCarCheats()
|
||||||
{
|
{
|
||||||
if ( !CVehicle::bCheat9 )
|
if ( !CVehicle::bCheat9 )
|
||||||
|
@ -145,6 +146,7 @@ void SpecialCarCheats()
|
||||||
CPad::bHasPlayerCheated = true;
|
CPad::bHasPlayerCheated = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
void PickUpChicksCheat()
|
void PickUpChicksCheat()
|
||||||
{
|
{
|
||||||
|
@ -370,7 +372,7 @@ void ChangePlayerCheat()
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
do {
|
do {
|
||||||
modelId = CGeneral::GetRandomNumberInRange(0, MI_PGA);
|
modelId = CGeneral::GetRandomNumberInRange(0, MI_GANG18);
|
||||||
anotherModelId = modelId+1;
|
anotherModelId = modelId+1;
|
||||||
} while (!CModelInfo::GetModelInfo(anotherModelId));
|
} while (!CModelInfo::GetModelInfo(anotherModelId));
|
||||||
} while (anotherModelId >= MI_SPECIAL01 && anotherModelId <= MI_SPECIAL04 || modelId == MI_TAXI_D);
|
} while (anotherModelId >= MI_SPECIAL01 && anotherModelId <= MI_SPECIAL04 || modelId == MI_TAXI_D);
|
||||||
|
@ -589,16 +591,18 @@ void SuicideCheat(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoChicksWithGunsCheat(void) {
|
void DoChicksWithGunsCheat(void) {
|
||||||
|
/* // broken in LCS
|
||||||
CHud::SetHelpMessage(TheText.Get("CHEAT1"), true);
|
CHud::SetHelpMessage(TheText.Get("CHEAT1"), true);
|
||||||
CStreaming::SetModelIsDeletable(CGangs::GetGangPedModel1(GANG_PLAYER));
|
CStreaming::SetModelIsDeletable(CGangs::GetGangPedModel1(GANG_PLAYER));
|
||||||
CStreaming::SetModelIsDeletable(CGangs::GetGangPedModel2(GANG_PLAYER));
|
CStreaming::SetModelIsDeletable(CGangs::GetGangPedModel2(GANG_PLAYER));
|
||||||
CStreaming::SetModelTxdIsDeletable(CGangs::GetGangPedModel1(GANG_PLAYER));
|
CStreaming::SetModelTxdIsDeletable(CGangs::GetGangPedModel1(GANG_PLAYER));
|
||||||
CStreaming::SetModelTxdIsDeletable(CGangs::GetGangPedModel2(GANG_PLAYER));
|
CStreaming::SetModelTxdIsDeletable(CGangs::GetGangPedModel2(GANG_PLAYER));
|
||||||
CStreaming::RemoveCurrentZonesModels();
|
CStreaming::RemoveCurrentZonesModels();
|
||||||
CGangs::SetGangPedModels(GANG_PLAYER, MI_HFYBE, MI_WFYBE);
|
CGangs::SetGangPedModels(GANG_PLAYER, MI_CAS_WOM, MI_HOS_WOM);
|
||||||
CGangs::SetGangWeapons(GANG_PLAYER, WEAPONTYPE_M4, WEAPONTYPE_M4);
|
CGangs::SetGangWeapons(GANG_PLAYER, WEAPONTYPE_M4, WEAPONTYPE_M4);
|
||||||
CStats::CheatedCount += 1000;
|
CStats::CheatedCount += 1000;
|
||||||
CPad::bHasPlayerCheated = true;
|
CPad::bHasPlayerCheated = true;
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -1420,6 +1424,8 @@ void CPad::AddToPCCheatString(char c)
|
||||||
KeyBoardCheatString[0] = ' ';
|
KeyBoardCheatString[0] = ' ';
|
||||||
BlackCarsCheat();
|
BlackCarsCheat();
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
// LCS: removed for now
|
||||||
// "TRAVELINSTYLE"
|
// "TRAVELINSTYLE"
|
||||||
else if (!Cheat_strncmp(KeyBoardCheatString, "HQ`U`iLSFaNZ[")) {
|
else if (!Cheat_strncmp(KeyBoardCheatString, "HQ`U`iLSFaNZ[")) {
|
||||||
KeyBoardCheatString[0] = ' ';
|
KeyBoardCheatString[0] = ' ';
|
||||||
|
@ -1515,6 +1521,7 @@ void CPad::AddToPCCheatString(char c)
|
||||||
KeyBoardCheatString[0] = ' ';
|
KeyBoardCheatString[0] = ' ';
|
||||||
ChangePlayerModel("igdiaz");
|
ChangePlayerModel("igdiaz");
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
// DEEPFRIEDMARSBARS
|
// DEEPFRIEDMARSBARS
|
||||||
else if (!Cheat_strncmp(KeyBoardCheatString, "VWHC`mDTEPVZMpRK")) {
|
else if (!Cheat_strncmp(KeyBoardCheatString, "VWHC`mDTEPVZMpRK")) {
|
||||||
KeyBoardCheatString[0] = ' ';
|
KeyBoardCheatString[0] = ' ';
|
||||||
|
@ -1530,11 +1537,13 @@ void CPad::AddToPCCheatString(char c)
|
||||||
KeyBoardCheatString[0] = ' ';
|
KeyBoardCheatString[0] = ' ';
|
||||||
BackToTheFuture();
|
BackToTheFuture();
|
||||||
}
|
}
|
||||||
|
/* LCS: removed
|
||||||
// LOADSOFLITTLETHINGS
|
// LOADSOFLITTLETHINGS
|
||||||
else if (!Cheat_strncmp(KeyBoardCheatString, "VLUJUoHSU_VTMo`J]bV")) {
|
else if (!Cheat_strncmp(KeyBoardCheatString, "VLUJUoHSU_VTMo`J]bV")) {
|
||||||
KeyBoardCheatString[0] = ' ';
|
KeyBoardCheatString[0] = ' ';
|
||||||
SpecialCarCheats();
|
SpecialCarCheats();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
// HOPINGIRL
|
// HOPINGIRL
|
||||||
else if (!Cheat_strncmp(KeyBoardCheatString, "OWPH[dSVI")) {
|
else if (!Cheat_strncmp(KeyBoardCheatString, "OWPH[dSVI")) {
|
||||||
KeyBoardCheatString[0] = ' ';
|
KeyBoardCheatString[0] = ' ';
|
||||||
|
|
|
@ -78,10 +78,16 @@ size_t CStreaming::ms_memoryAvailable;
|
||||||
|
|
||||||
int32 desiredNumVehiclesLoaded = 12;
|
int32 desiredNumVehiclesLoaded = 12;
|
||||||
|
|
||||||
CEntity *pIslandLODmainlandEntity;
|
CEntity *pIslandLODindustEntity;
|
||||||
CEntity *pIslandLODbeachEntity;
|
CEntity *pIslandLODcomIndEntity;
|
||||||
int32 islandLODmainland;
|
CEntity *pIslandLODcomSubEntity;
|
||||||
int32 islandLODbeach;
|
CEntity *pIslandLODsubIndEntity;
|
||||||
|
CEntity *pIslandLODsubComEntity;
|
||||||
|
int32 islandLODindust;
|
||||||
|
int32 islandLODcomInd;
|
||||||
|
int32 islandLODcomSub;
|
||||||
|
int32 islandLODsubInd;
|
||||||
|
int32 islandLODsubCom;
|
||||||
|
|
||||||
#ifndef MASTER
|
#ifndef MASTER
|
||||||
bool gbPrintStats;
|
bool gbPrintStats;
|
||||||
|
@ -240,12 +246,21 @@ CStreaming::Init2(void)
|
||||||
|
|
||||||
// find island LODs
|
// find island LODs
|
||||||
|
|
||||||
pIslandLODmainlandEntity = nil;
|
pIslandLODindustEntity = nil;
|
||||||
pIslandLODbeachEntity = nil;
|
pIslandLODcomIndEntity = nil;
|
||||||
islandLODmainland = -1;
|
pIslandLODcomSubEntity = nil;
|
||||||
islandLODbeach = -1;
|
pIslandLODsubIndEntity = nil;
|
||||||
CModelInfo::GetModelInfo("IslandLODmainland", &islandLODmainland);
|
pIslandLODsubComEntity = nil;
|
||||||
CModelInfo::GetModelInfo("IslandLODbeach", &islandLODbeach);
|
islandLODindust = -1;
|
||||||
|
islandLODcomInd = -1;
|
||||||
|
islandLODcomSub = -1;
|
||||||
|
islandLODsubInd = -1;
|
||||||
|
islandLODsubCom = -1;
|
||||||
|
CModelInfo::GetModelInfo("IslandLODInd", &islandLODindust);
|
||||||
|
CModelInfo::GetModelInfo("IslandLODcomIND", &islandLODcomInd);
|
||||||
|
CModelInfo::GetModelInfo("IslandLODcomSUB", &islandLODcomSub);
|
||||||
|
CModelInfo::GetModelInfo("IslandLODsubIND", &islandLODsubInd);
|
||||||
|
CModelInfo::GetModelInfo("IslandLODsubCOM", &islandLODsubCom);
|
||||||
|
|
||||||
#ifndef MASTER
|
#ifndef MASTER
|
||||||
VarConsole.Add("Streaming Debug", &gbPrintStats, true);
|
VarConsole.Add("Streaming Debug", &gbPrintStats, true);
|
||||||
|
@ -912,13 +927,17 @@ CStreaming::RequestIslands(eLevelName level)
|
||||||
{
|
{
|
||||||
ISLAND_LOADING_ISNT(HIGH)
|
ISLAND_LOADING_ISNT(HIGH)
|
||||||
switch(level){
|
switch(level){
|
||||||
case LEVEL_MAINLAND:
|
case LEVEL_INDUSTRIAL:
|
||||||
if(islandLODbeach != -1)
|
RequestModel(islandLODcomInd, BIGBUILDINGFLAGS);
|
||||||
RequestModel(islandLODbeach, BIGBUILDINGFLAGS);
|
RequestModel(islandLODsubInd, BIGBUILDINGFLAGS);
|
||||||
break;
|
break;
|
||||||
case LEVEL_BEACH:
|
case LEVEL_COMMERCIAL:
|
||||||
if(islandLODmainland != -1)
|
RequestModel(islandLODindust, BIGBUILDINGFLAGS);
|
||||||
RequestModel(islandLODmainland, BIGBUILDINGFLAGS);
|
RequestModel(islandLODsubCom, BIGBUILDINGFLAGS);
|
||||||
|
break;
|
||||||
|
case LEVEL_SUBURBAN:
|
||||||
|
RequestModel(islandLODindust, BIGBUILDINGFLAGS);
|
||||||
|
RequestModel(islandLODcomSub, BIGBUILDINGFLAGS);
|
||||||
break;
|
break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
@ -1127,10 +1146,12 @@ CStreaming::RemoveModel(int32 id)
|
||||||
void
|
void
|
||||||
CStreaming::RemoveUnusedBuildings(eLevelName level)
|
CStreaming::RemoveUnusedBuildings(eLevelName level)
|
||||||
{
|
{
|
||||||
if(level != LEVEL_BEACH)
|
if(level != LEVEL_INDUSTRIAL)
|
||||||
RemoveBuildings(LEVEL_BEACH);
|
RemoveBuildings(LEVEL_INDUSTRIAL);
|
||||||
if(level != LEVEL_MAINLAND)
|
if(level != LEVEL_COMMERCIAL)
|
||||||
RemoveBuildings(LEVEL_MAINLAND);
|
RemoveBuildings(LEVEL_COMMERCIAL);
|
||||||
|
if(level != LEVEL_SUBURBAN)
|
||||||
|
RemoveBuildings(LEVEL_SUBURBAN);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -1253,10 +1274,12 @@ CStreaming::RemoveUnusedBigBuildings(eLevelName level)
|
||||||
{
|
{
|
||||||
ISLAND_LOADING_IS(LOW)
|
ISLAND_LOADING_IS(LOW)
|
||||||
{
|
{
|
||||||
if(level != LEVEL_BEACH)
|
if(level != LEVEL_INDUSTRIAL)
|
||||||
RemoveBigBuildings(LEVEL_BEACH);
|
RemoveBigBuildings(LEVEL_INDUSTRIAL);
|
||||||
if(level != LEVEL_MAINLAND)
|
if(level != LEVEL_COMMERCIAL)
|
||||||
RemoveBigBuildings(LEVEL_MAINLAND);
|
RemoveBigBuildings(LEVEL_COMMERCIAL);
|
||||||
|
if(level != LEVEL_SUBURBAN)
|
||||||
|
RemoveBigBuildings(LEVEL_SUBURBAN);
|
||||||
}
|
}
|
||||||
RemoveIslandsNotUsed(level);
|
RemoveIslandsNotUsed(level);
|
||||||
}
|
}
|
||||||
|
@ -1278,15 +1301,21 @@ void
|
||||||
CStreaming::RemoveIslandsNotUsed(eLevelName level)
|
CStreaming::RemoveIslandsNotUsed(eLevelName level)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
if(pIslandLODmainlandEntity == nil)
|
if(pIslandLODindustEntity == nil)
|
||||||
for(i = CPools::GetBuildingPool()->GetSize()-1; i >= 0; i--){
|
for(i = CPools::GetBuildingPool()->GetSize()-1; i >= 0; i--){
|
||||||
CBuilding *building = CPools::GetBuildingPool()->GetSlot(i);
|
CBuilding *building = CPools::GetBuildingPool()->GetSlot(i);
|
||||||
if(building == nil)
|
if(building == nil)
|
||||||
continue;
|
continue;
|
||||||
if(building->GetModelIndex() == islandLODmainland)
|
if(building->GetModelIndex() == islandLODindust)
|
||||||
pIslandLODmainlandEntity = building;
|
pIslandLODindustEntity = building;
|
||||||
if(building->GetModelIndex() == islandLODbeach)
|
else if(building->GetModelIndex() == islandLODcomInd)
|
||||||
pIslandLODbeachEntity = building;
|
pIslandLODcomIndEntity = building;
|
||||||
|
else if(building->GetModelIndex() == islandLODcomSub)
|
||||||
|
pIslandLODcomSubEntity = building;
|
||||||
|
else if(building->GetModelIndex() == islandLODsubInd)
|
||||||
|
pIslandLODsubIndEntity = building;
|
||||||
|
else if(building->GetModelIndex() == islandLODsubCom)
|
||||||
|
pIslandLODsubComEntity = building;
|
||||||
}
|
}
|
||||||
#ifdef NO_ISLAND_LOADING
|
#ifdef NO_ISLAND_LOADING
|
||||||
if(FrontEndMenuManager.m_PrefsIslandLoading == CMenuManager::ISLAND_LOADING_HIGH) {
|
if(FrontEndMenuManager.m_PrefsIslandLoading == CMenuManager::ISLAND_LOADING_HIGH) {
|
||||||
|
@ -1295,12 +1324,27 @@ CStreaming::RemoveIslandsNotUsed(eLevelName level)
|
||||||
} else
|
} else
|
||||||
#endif
|
#endif
|
||||||
switch(level){
|
switch(level){
|
||||||
case LEVEL_MAINLAND:
|
case LEVEL_INDUSTRIAL:
|
||||||
DeleteIsland(pIslandLODmainlandEntity);
|
DeleteIsland(pIslandLODindustEntity);
|
||||||
|
DeleteIsland(pIslandLODcomSubEntity);
|
||||||
|
DeleteIsland(pIslandLODsubComEntity);
|
||||||
break;
|
break;
|
||||||
case LEVEL_BEACH:
|
case LEVEL_COMMERCIAL:
|
||||||
DeleteIsland(pIslandLODbeachEntity);
|
DeleteIsland(pIslandLODcomIndEntity);
|
||||||
|
DeleteIsland(pIslandLODcomSubEntity);
|
||||||
|
DeleteIsland(pIslandLODsubIndEntity);
|
||||||
|
break;
|
||||||
|
case LEVEL_SUBURBAN:
|
||||||
|
DeleteIsland(pIslandLODsubIndEntity);
|
||||||
|
DeleteIsland(pIslandLODsubComEntity);
|
||||||
|
DeleteIsland(pIslandLODcomIndEntity);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
DeleteIsland(pIslandLODindustEntity);
|
||||||
|
DeleteIsland(pIslandLODcomIndEntity);
|
||||||
|
DeleteIsland(pIslandLODcomSubEntity);
|
||||||
|
DeleteIsland(pIslandLODsubIndEntity);
|
||||||
|
DeleteIsland(pIslandLODsubComEntity);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1562,6 +1606,7 @@ CStreaming::IsObjectInCdImage(int32 id)
|
||||||
void
|
void
|
||||||
CStreaming::SetModelIsDeletable(int32 id)
|
CStreaming::SetModelIsDeletable(int32 id)
|
||||||
{
|
{
|
||||||
|
assert(id >= 0); // guard against fake IDs
|
||||||
ms_aInfoForModel[id].m_flags &= ~STREAMFLAGS_DONT_REMOVE;
|
ms_aInfoForModel[id].m_flags &= ~STREAMFLAGS_DONT_REMOVE;
|
||||||
if ((id >= STREAM_OFFSET_TXD && id < STREAM_OFFSET_COL || CModelInfo::GetModelInfo(id)->GetModelType() != MITYPE_VEHICLE) &&
|
if ((id >= STREAM_OFFSET_TXD && id < STREAM_OFFSET_COL || CModelInfo::GetModelInfo(id)->GetModelType() != MITYPE_VEHICLE) &&
|
||||||
(ms_aInfoForModel[id].m_flags & STREAMFLAGS_SCRIPTOWNED) == 0){
|
(ms_aInfoForModel[id].m_flags & STREAMFLAGS_SCRIPTOWNED) == 0){
|
||||||
|
@ -1640,11 +1685,11 @@ CStreaming::StreamVehiclesAndPeds(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
if(FindPlayerPed()->m_pWanted->AreFbiRequired()){
|
if(FindPlayerPed()->m_pWanted->AreFbiRequired()){
|
||||||
RequestModel(MI_FBIRANCH, STREAMFLAGS_DONT_REMOVE);
|
RequestModel(MI_FBICAR, STREAMFLAGS_DONT_REMOVE);
|
||||||
RequestModel(MI_FBI, STREAMFLAGS_DONT_REMOVE);
|
RequestModel(MI_FBI, STREAMFLAGS_DONT_REMOVE);
|
||||||
}else{
|
}else{
|
||||||
SetModelIsDeletable(MI_FBIRANCH);
|
SetModelIsDeletable(MI_FBICAR);
|
||||||
if(!HasModelLoaded(MI_FBIRANCH))
|
if(!HasModelLoaded(MI_FBICAR))
|
||||||
SetModelIsDeletable(MI_FBI);
|
SetModelIsDeletable(MI_FBI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1664,6 +1709,7 @@ CStreaming::StreamVehiclesAndPeds(void)
|
||||||
else
|
else
|
||||||
SetModelIsDeletable(MI_CHOPPER);
|
SetModelIsDeletable(MI_CHOPPER);
|
||||||
|
|
||||||
|
/* LCS: removed
|
||||||
if (FindPlayerPed()->m_pWanted->AreMiamiViceRequired()) {
|
if (FindPlayerPed()->m_pWanted->AreMiamiViceRequired()) {
|
||||||
SetModelIsDeletable(MI_VICE1);
|
SetModelIsDeletable(MI_VICE1);
|
||||||
SetModelIsDeletable(MI_VICE2);
|
SetModelIsDeletable(MI_VICE2);
|
||||||
|
@ -1705,6 +1751,7 @@ CStreaming::StreamVehiclesAndPeds(void)
|
||||||
SetModelIsDeletable(MI_VICE7);
|
SetModelIsDeletable(MI_VICE7);
|
||||||
SetModelIsDeletable(MI_VICE8);
|
SetModelIsDeletable(MI_VICE8);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
if(timeBeforeNextLoad >= 0)
|
if(timeBeforeNextLoad >= 0)
|
||||||
timeBeforeNextLoad--;
|
timeBeforeNextLoad--;
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
#define WORLD_SIZE_X (NUMSECTORS_X * SECTOR_SIZE_X)
|
#define WORLD_SIZE_X (NUMSECTORS_X * SECTOR_SIZE_X)
|
||||||
#define WORLD_SIZE_Y (NUMSECTORS_Y * SECTOR_SIZE_Y)
|
#define WORLD_SIZE_Y (NUMSECTORS_Y * SECTOR_SIZE_Y)
|
||||||
|
|
||||||
#define WORLD_MIN_X (-2400.0f)
|
#define WORLD_MIN_X (-2000.0f)
|
||||||
#define WORLD_MIN_Y (-2000.0f)
|
#define WORLD_MIN_Y (-2000.0f)
|
||||||
|
|
||||||
#define WORLD_MAX_X (WORLD_MIN_X + WORLD_SIZE_X)
|
#define WORLD_MAX_X (WORLD_MIN_X + WORLD_SIZE_X)
|
||||||
|
|
|
@ -88,20 +88,20 @@ CTheZones::Init(void)
|
||||||
TotalNumberOfInfoZones = 1;
|
TotalNumberOfInfoZones = 1;
|
||||||
|
|
||||||
strcpy(InfoZoneArray[0].name, "CITYINF");
|
strcpy(InfoZoneArray[0].name, "CITYINF");
|
||||||
InfoZoneArray[0].minx = -2400.0f;
|
InfoZoneArray[0].minx = -2000.0f;
|
||||||
InfoZoneArray[0].miny = -2000.0f;
|
InfoZoneArray[0].miny = -2000.0f;
|
||||||
InfoZoneArray[0].minz = -500.0f;
|
InfoZoneArray[0].minz = -500.0f;
|
||||||
InfoZoneArray[0].maxx = 1600.0f;
|
InfoZoneArray[0].maxx = 2000.0f;
|
||||||
InfoZoneArray[0].maxy = 2000.0f;
|
InfoZoneArray[0].maxy = 2000.0f;
|
||||||
InfoZoneArray[0].maxz = 500.0f;
|
InfoZoneArray[0].maxz = 500.0f;
|
||||||
InfoZoneArray[0].level = LEVEL_GENERIC;
|
InfoZoneArray[0].level = LEVEL_GENERIC;
|
||||||
InfoZoneArray[0].type = ZONE_INFO;
|
InfoZoneArray[0].type = ZONE_INFO;
|
||||||
|
|
||||||
strcpy(NavigationZoneArray[0].name, "VICE_C");
|
strcpy(NavigationZoneArray[0].name, "VICE_C");
|
||||||
NavigationZoneArray[0].minx = -2400.0f;
|
NavigationZoneArray[0].minx = -2000.0f;
|
||||||
NavigationZoneArray[0].miny = -2000.0f;
|
NavigationZoneArray[0].miny = -2000.0f;
|
||||||
NavigationZoneArray[0].minz = -500.0f;
|
NavigationZoneArray[0].minz = -500.0f;
|
||||||
NavigationZoneArray[0].maxx = 1600.0f;
|
NavigationZoneArray[0].maxx = 2000.0f;
|
||||||
NavigationZoneArray[0].maxy = 2000.0f;
|
NavigationZoneArray[0].maxy = 2000.0f;
|
||||||
NavigationZoneArray[0].maxz = 500.0f;
|
NavigationZoneArray[0].maxz = 500.0f;
|
||||||
NavigationZoneArray[0].level = LEVEL_GENERIC;
|
NavigationZoneArray[0].level = LEVEL_GENERIC;
|
||||||
|
@ -115,10 +115,10 @@ CTheZones::Init(void)
|
||||||
}
|
}
|
||||||
TotalNumberOfMapZones = 1;
|
TotalNumberOfMapZones = 1;
|
||||||
strcpy(MapZoneArray[0].name, "THEMAP");
|
strcpy(MapZoneArray[0].name, "THEMAP");
|
||||||
MapZoneArray[0].minx = -2400.0f;
|
MapZoneArray[0].minx = -2000.0f;
|
||||||
MapZoneArray[0].miny = -2000.0f;
|
MapZoneArray[0].miny = -2000.0f;
|
||||||
MapZoneArray[0].minz = -500.0f;
|
MapZoneArray[0].minz = -500.0f;
|
||||||
MapZoneArray[0].maxx = 1600.0f;
|
MapZoneArray[0].maxx = 2000.0f;
|
||||||
MapZoneArray[0].maxy = 2000.0f;
|
MapZoneArray[0].maxy = 2000.0f;
|
||||||
MapZoneArray[0].maxz = 500.0f;
|
MapZoneArray[0].maxz = 500.0f;
|
||||||
MapZoneArray[0].level = LEVEL_GENERIC;
|
MapZoneArray[0].level = LEVEL_GENERIC;
|
||||||
|
|
|
@ -7,15 +7,15 @@ enum Config {
|
||||||
MAX_CDIMAGES = 8, // additional cdimages
|
MAX_CDIMAGES = 8, // additional cdimages
|
||||||
MAX_CDCHANNELS = 5,
|
MAX_CDCHANNELS = 5,
|
||||||
|
|
||||||
MODELINFOSIZE = 6500, // 4900 on PS2
|
MODELINFOSIZE = 6500, // only 4900
|
||||||
TXDSTORESIZE = 1385,
|
TXDSTORESIZE = 1385, // only 1200
|
||||||
COLSTORESIZE = 31,
|
COLSTORESIZE = 31, // only 15
|
||||||
EXTRADIRSIZE = 256,
|
EXTRADIRSIZE = 256,
|
||||||
CUTSCENEDIRSIZE = 512,
|
CUTSCENEDIRSIZE = 512,
|
||||||
|
|
||||||
SIMPLEMODELSIZE = 3885,
|
SIMPLEMODELSIZE = 3885,
|
||||||
TIMEMODELSIZE = 385,
|
TIMEMODELSIZE = 385,
|
||||||
CLUMPMODELSIZE = 5,
|
CLUMPMODELSIZE = 10,
|
||||||
WEAPONMODELSIZE = 37,
|
WEAPONMODELSIZE = 37,
|
||||||
PEDMODELSIZE = 130,
|
PEDMODELSIZE = 130,
|
||||||
VEHICLEMODELSIZE = 110,
|
VEHICLEMODELSIZE = 110,
|
||||||
|
@ -26,19 +26,19 @@ enum Config {
|
||||||
NUMOBJECTINFO = 210,
|
NUMOBJECTINFO = 210,
|
||||||
|
|
||||||
// Pool sizes
|
// Pool sizes
|
||||||
NUMPTRNODES = 50000,
|
NUMPTRNODES = 50000, // only 30100
|
||||||
NUMENTRYINFOS = 3200,
|
NUMENTRYINFOS = 4000,
|
||||||
NUMPEDS = 140,
|
NUMPEDS = 140, // only 70
|
||||||
NUMVEHICLES = 110,
|
NUMVEHICLES = 110, // only 70
|
||||||
NUMBUILDINGS = 7000,
|
NUMBUILDINGS = 7000, // only 6757
|
||||||
NUMTREADABLES = 1,
|
NUMTREADABLES = 1300,
|
||||||
NUMOBJECTS = 460,
|
NUMOBJECTS = 475,
|
||||||
NUMDUMMIES = 2340,
|
NUMDUMMIES = 3000,
|
||||||
NUMAUDIOSCRIPTOBJECTS = 192,
|
NUMAUDIOSCRIPTOBJECTS = 192,
|
||||||
NUMCOLMODELS = 4400,
|
NUMCOLMODELS = 4400,
|
||||||
NUMCUTSCENEOBJECTS = 50, // not a pool in VC
|
NUMCUTSCENEOBJECTS = 50, // not a pool in VC
|
||||||
|
|
||||||
NUMANIMBLOCKS = 35,
|
NUMANIMBLOCKS = 60,
|
||||||
NUMANIMATIONS = 450,
|
NUMANIMATIONS = 450,
|
||||||
|
|
||||||
NUMTEMPOBJECTS = 40,
|
NUMTEMPOBJECTS = 40,
|
||||||
|
@ -58,13 +58,13 @@ enum Config {
|
||||||
NUMREFERENCES = 800,
|
NUMREFERENCES = 800,
|
||||||
|
|
||||||
// Zones
|
// Zones
|
||||||
NUMAUDIOZONES = 14,
|
NUMAUDIOZONES = 36,
|
||||||
NUMINFOZONES = 169,
|
NUMINFOZONES = 169,
|
||||||
NUMMAPZONES = 39,
|
NUMMAPZONES = 110,
|
||||||
NUMNAVIGZONES = 20,
|
NUMNAVIGZONES = 70,
|
||||||
|
|
||||||
// Cull zones
|
// Cull zones
|
||||||
NUMATTRIBZONES = 704,
|
NUMATTRIBZONES = 900,
|
||||||
|
|
||||||
NUMOCCLUSIONVOLUMES = 350,
|
NUMOCCLUSIONVOLUMES = 350,
|
||||||
NUMACTIVEOCCLUDERS = 48,
|
NUMACTIVEOCCLUDERS = 48,
|
||||||
|
@ -208,7 +208,7 @@ enum Config {
|
||||||
# define RANDOMSPLASH // use random splash as on PS2
|
# define RANDOMSPLASH // use random splash as on PS2
|
||||||
# define PS2_MATFX
|
# define PS2_MATFX
|
||||||
# endif
|
# endif
|
||||||
# define PC_PLAYER_CONTROLS // mouse player/cam mode
|
//# define PC_PLAYER_CONTROLS // mouse player/cam mode
|
||||||
# define GTA_REPLAY
|
# define GTA_REPLAY
|
||||||
# define GTA_SCENE_EDIT
|
# define GTA_SCENE_EDIT
|
||||||
#elif defined GTA_XBOX
|
#elif defined GTA_XBOX
|
||||||
|
@ -256,7 +256,7 @@ enum Config {
|
||||||
#define USE_TXD_CDIMAGE // generate and load textures from txd.img
|
#define USE_TXD_CDIMAGE // generate and load textures from txd.img
|
||||||
#define PS2_ALPHA_TEST // emulate ps2 alpha test
|
#define PS2_ALPHA_TEST // emulate ps2 alpha test
|
||||||
#define IMPROVED_VIDEOMODE // save and load videomode parameters instead of a magic number
|
#define IMPROVED_VIDEOMODE // save and load videomode parameters instead of a magic number
|
||||||
#define DISABLE_LOADING_SCREEN // disable the loading screen which vastly improves the loading time
|
//#define DISABLE_LOADING_SCREEN // disable the loading screen which vastly improves the loading time
|
||||||
#define DISABLE_VSYNC_ON_TEXTURE_CONVERSION // make texture conversion work faster by disabling vsync
|
#define DISABLE_VSYNC_ON_TEXTURE_CONVERSION // make texture conversion work faster by disabling vsync
|
||||||
//#define USE_TEXTURE_POOL
|
//#define USE_TEXTURE_POOL
|
||||||
#ifdef LIBRW
|
#ifdef LIBRW
|
||||||
|
@ -310,7 +310,7 @@ enum Config {
|
||||||
|
|
||||||
# ifdef CUSTOM_FRONTEND_OPTIONS
|
# ifdef CUSTOM_FRONTEND_OPTIONS
|
||||||
# define GRAPHICS_MENU_OPTIONS // otherwise Display settings will be scrollable
|
# define GRAPHICS_MENU_OPTIONS // otherwise Display settings will be scrollable
|
||||||
# define NO_ISLAND_LOADING // disable loadscreen between islands via loading all island data at once, consumes more memory and CPU
|
//# define NO_ISLAND_LOADING // disable loadscreen between islands via loading all island data at once, consumes more memory and CPU
|
||||||
# define CUTSCENE_BORDERS_SWITCH
|
# define CUTSCENE_BORDERS_SWITCH
|
||||||
//# define MULTISAMPLING // adds MSAA option
|
//# define MULTISAMPLING // adds MSAA option
|
||||||
# define INVERT_LOOK_FOR_PAD // enable the hidden option
|
# define INVERT_LOOK_FOR_PAD // enable the hidden option
|
||||||
|
|
|
@ -157,7 +157,7 @@ void CheckAndSaveIniFloat(const char *cat, const char *key, float val, bool &cha
|
||||||
|
|
||||||
void LoadINISettings()
|
void LoadINISettings()
|
||||||
{
|
{
|
||||||
cfg.load_file("reVC.ini");
|
cfg.load_file("reLCS.ini");
|
||||||
|
|
||||||
#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
|
#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
|
||||||
// Written by assuming the codes below will run after _InputInitialiseJoys().
|
// Written by assuming the codes below will run after _InputInitialiseJoys().
|
||||||
|
@ -260,7 +260,7 @@ void SaveINISettings()
|
||||||
CheckAndSaveIniInt("Rendering", "BackfaceCulling", gBackfaceCulling, changed);
|
CheckAndSaveIniInt("Rendering", "BackfaceCulling", gBackfaceCulling, changed);
|
||||||
|
|
||||||
if (changed)
|
if (changed)
|
||||||
cfg.write_file("reVC.ini");
|
cfg.write_file("reLCS.ini");
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -290,7 +290,6 @@ void FastWeatherCheat();
|
||||||
void OnlyRenderWheelsCheat();
|
void OnlyRenderWheelsCheat();
|
||||||
void ChittyChittyBangBangCheat();
|
void ChittyChittyBangBangCheat();
|
||||||
void StrongGripCheat();
|
void StrongGripCheat();
|
||||||
void SpecialCarCheats();
|
|
||||||
void PickUpChicksCheat();
|
void PickUpChicksCheat();
|
||||||
|
|
||||||
DebugMenuEntry *carCol1;
|
DebugMenuEntry *carCol1;
|
||||||
|
@ -561,7 +560,6 @@ DebugMenuPopulate(void)
|
||||||
DebugMenuAddCmd("Cheats", "Only render wheels", OnlyRenderWheelsCheat);
|
DebugMenuAddCmd("Cheats", "Only render wheels", OnlyRenderWheelsCheat);
|
||||||
DebugMenuAddCmd("Cheats", "Chitty chitty bang bang", ChittyChittyBangBangCheat);
|
DebugMenuAddCmd("Cheats", "Chitty chitty bang bang", ChittyChittyBangBangCheat);
|
||||||
DebugMenuAddCmd("Cheats", "Strong grip", StrongGripCheat);
|
DebugMenuAddCmd("Cheats", "Strong grip", StrongGripCheat);
|
||||||
DebugMenuAddCmd("Cheats", "Special car", SpecialCarCheats);
|
|
||||||
DebugMenuAddCmd("Cheats", "Pickup chicks", PickUpChicksCheat);
|
DebugMenuAddCmd("Cheats", "Pickup chicks", PickUpChicksCheat);
|
||||||
|
|
||||||
static int spawnCarId = MI_LANDSTAL;
|
static int spawnCarId = MI_LANDSTAL;
|
||||||
|
|
|
@ -157,96 +157,85 @@ enum
|
||||||
MI_FIREMAN,
|
MI_FIREMAN,
|
||||||
MI_MALE01,
|
MI_MALE01,
|
||||||
|
|
||||||
MI_HFYST = 9,
|
MI_TAXI_D = 9,
|
||||||
MI_HFOST,
|
MI_PIMP,
|
||||||
MI_HMYST,
|
MI_CRIMINAL01,
|
||||||
MI_HMOST,
|
MI_CRIMINAL02,
|
||||||
MI_HFYRI,
|
MI_MALE02,
|
||||||
MI_HFORI,
|
MI_MALE03,
|
||||||
MI_HMYRI,
|
MI_FATMALE01,
|
||||||
MI_HMORI,
|
MI_FATMALE02,
|
||||||
MI_HFYBE,
|
MI_FEMALE01,
|
||||||
MI_HFOBE,
|
MI_FEMALE02,
|
||||||
MI_HMYBE,
|
MI_FEMALE03,
|
||||||
MI_HMOBE,
|
MI_FATFEMALE01,
|
||||||
MI_HFYBU,
|
MI_FATFEMALE02,
|
||||||
MI_HFYMD,
|
MI_PROSTITUTE,
|
||||||
MI_HFYCG,
|
MI_PROSTITUTE2,
|
||||||
MI_HFYPR,
|
MI_P_MAN1,
|
||||||
MI_HFOTR,
|
MI_P_MAN2,
|
||||||
MI_HMOTR,
|
MI_P_WOM1,
|
||||||
MI_HMYAP,
|
MI_P_WOM2,
|
||||||
MI_HMOCA,
|
MI_CT_MAN1,
|
||||||
MI_TAXI_D = MI_HMOCA,
|
MI_CT_MAN2,
|
||||||
MI_BMODK,
|
MI_CT_WOM1,
|
||||||
MI_BMYKR,
|
MI_CT_WOM2,
|
||||||
MI_BFYST,
|
MI_LI_MAN1,
|
||||||
MI_BFOST,
|
MI_LI_MAN2,
|
||||||
MI_BMYST,
|
MI_LI_WOM1,
|
||||||
MI_BMOST,
|
MI_LI_WOM2,
|
||||||
MI_BFYRI,
|
MI_DOCKER1,
|
||||||
MI_BFORI,
|
MI_DOCKER2,
|
||||||
MI_BMYRI,
|
MI_SCUM_MAN,
|
||||||
MI_BFYBE,
|
MI_SCUM_WOM,
|
||||||
MI_BMYBE,
|
MI_WORKER1,
|
||||||
MI_BFOBE,
|
MI_WORKER2,
|
||||||
MI_BMOBE,
|
MI_B_MAN1,
|
||||||
MI_BMYBU,
|
MI_B_MAN2,
|
||||||
MI_BFYPR,
|
MI_B_MAN3,
|
||||||
MI_BFOTR,
|
MI_B_WOM1,
|
||||||
MI_BMOTR,
|
MI_B_WOM2,
|
||||||
MI_BMYPI,
|
MI_B_WOM3,
|
||||||
MI_BMYBB,
|
MI_MOD_MAN,
|
||||||
MI_WMYCR,
|
MI_MOD_WOM,
|
||||||
MI_WFYST,
|
MI_ST_MAN,
|
||||||
MI_WFOST,
|
MI_ST_WOM,
|
||||||
MI_WMYST,
|
MI_FAN_MAN1,
|
||||||
MI_WMOST,
|
MI_FAN_MAN2,
|
||||||
MI_WFYRI,
|
MI_FAN_WOM,
|
||||||
MI_WFORI,
|
MI_HOS_MAN,
|
||||||
MI_WMYRI,
|
MI_HOS_WOM,
|
||||||
MI_WMORI,
|
MI_CONST1,
|
||||||
MI_WFYBE,
|
MI_CONST2,
|
||||||
MI_WMYBE,
|
MI_SHOPPER1,
|
||||||
MI_WFOBE,
|
MI_SHOPPER2,
|
||||||
MI_WMOBE,
|
MI_SHOPPER3,
|
||||||
MI_WMYCW,
|
MI_STUD_MAN,
|
||||||
MI_WMYGO,
|
MI_STUD_WOM,
|
||||||
MI_WFOGO,
|
MI_CAS_MAN,
|
||||||
MI_WMOGO,
|
MI_CAS_WOM,
|
||||||
MI_WFYLG,
|
MI_CAMP_MAN,
|
||||||
MI_WMYLG,
|
MI_CAMP_WOM,
|
||||||
MI_WFYBU,
|
MI_HITMAN,
|
||||||
MI_WMYBU,
|
|
||||||
MI_WMOBU,
|
|
||||||
MI_WFYPR,
|
|
||||||
MI_WFOTR,
|
|
||||||
MI_WMOTR,
|
|
||||||
MI_WMYPI,
|
|
||||||
MI_WMOCA,
|
|
||||||
MI_WFYJG,
|
|
||||||
MI_WMYJG,
|
|
||||||
MI_WFYSK,
|
|
||||||
MI_WMYSK,
|
|
||||||
MI_WFYSH,
|
|
||||||
MI_WFOSH,
|
|
||||||
MI_JFOTO,
|
|
||||||
MI_JMOTO,
|
|
||||||
|
|
||||||
MI_CBA,// = 83,
|
MI_GANG01 = 79,
|
||||||
MI_CBB,
|
MI_GANG02,
|
||||||
MI_HNA,
|
MI_GANG03,
|
||||||
MI_HNB,
|
MI_GANG04,
|
||||||
MI_SGA,
|
MI_GANG05,
|
||||||
MI_SGB,
|
MI_GANG06,
|
||||||
MI_CLA,
|
MI_GANG07,
|
||||||
MI_CLB,
|
MI_GANG08,
|
||||||
MI_GDA,
|
MI_GANG09,
|
||||||
MI_GDB,
|
MI_GANG10,
|
||||||
MI_BKA,
|
MI_GANG11,
|
||||||
MI_BKB,
|
MI_GANG12,
|
||||||
MI_PGA,
|
MI_GANG13,
|
||||||
MI_PGB,
|
MI_GANG14,
|
||||||
|
MI_GANG15,
|
||||||
|
MI_GANG16,
|
||||||
|
MI_GANG17,
|
||||||
|
MI_GANG18,
|
||||||
MI_VICE1,
|
MI_VICE1,
|
||||||
MI_VICE2,
|
MI_VICE2,
|
||||||
MI_VICE3,
|
MI_VICE3,
|
||||||
|
@ -283,19 +272,20 @@ enum
|
||||||
MI_LAST_PED = MI_SPECIAL21,
|
MI_LAST_PED = MI_SPECIAL21,
|
||||||
MI_FIRST_VEHICLE,
|
MI_FIRST_VEHICLE,
|
||||||
|
|
||||||
MI_LANDSTAL = MI_FIRST_VEHICLE,
|
MI_SPIDER = MI_FIRST_VEHICLE,
|
||||||
|
MI_LANDSTAL,
|
||||||
MI_IDAHO,
|
MI_IDAHO,
|
||||||
MI_STINGER,
|
MI_STINGER,
|
||||||
MI_LINERUN,
|
MI_LINERUN,
|
||||||
MI_PEREN,
|
MI_PEREN,
|
||||||
MI_SENTINEL,
|
MI_SENTINEL,
|
||||||
MI_RIO,
|
MI_PATRIOT,
|
||||||
MI_FIRETRUCK,
|
MI_FIRETRUK,
|
||||||
MI_TRASH,
|
MI_TRASH,
|
||||||
MI_STRETCH,
|
MI_STRETCH,
|
||||||
MI_MANANA,
|
MI_MANANA,
|
||||||
MI_INFERNUS,
|
MI_INFERNUS,
|
||||||
MI_VOODOO,
|
MI_BLISTA,
|
||||||
MI_PONY,
|
MI_PONY,
|
||||||
MI_MULE,
|
MI_MULE,
|
||||||
MI_CHEETAH,
|
MI_CHEETAH,
|
||||||
|
@ -304,100 +294,121 @@ enum
|
||||||
MI_MOONBEAM,
|
MI_MOONBEAM,
|
||||||
MI_ESPERANT,
|
MI_ESPERANT,
|
||||||
MI_TAXI,
|
MI_TAXI,
|
||||||
MI_WASHING,
|
MI_KURUMA,
|
||||||
MI_BOBCAT,
|
MI_BOBCAT,
|
||||||
MI_MRWHOOP,
|
MI_MRWHOOP,
|
||||||
MI_BFINJECT,
|
MI_BFINJECT,
|
||||||
MI_HUNTER,
|
MI_HEARSE,
|
||||||
MI_POLICE,
|
MI_POLICE,
|
||||||
MI_ENFORCER,
|
MI_ENFORCER,
|
||||||
MI_SECURICA,
|
MI_SECURICA,
|
||||||
MI_BANSHEE,
|
MI_BANSHEE,
|
||||||
MI_PREDATOR,
|
|
||||||
MI_BUS,
|
MI_BUS,
|
||||||
MI_RHINO,
|
MI_RHINO,
|
||||||
MI_BARRACKS,
|
MI_BARRACKS,
|
||||||
MI_CUBAN,
|
MI_DODO,
|
||||||
MI_CHOPPER,
|
|
||||||
MI_ANGEL,
|
|
||||||
MI_COACH,
|
MI_COACH,
|
||||||
MI_CABBIE,
|
MI_CABBIE,
|
||||||
MI_STALLION,
|
MI_STALLION,
|
||||||
MI_RUMPO,
|
MI_RUMPO,
|
||||||
MI_RCBANDIT,
|
MI_RCBANDIT,
|
||||||
MI_ROMERO,
|
MI_BELLYUP,
|
||||||
MI_PACKER,
|
MI_MRWONGS,
|
||||||
MI_SENTXS,
|
MI_MAFIA,
|
||||||
MI_ADMIRAL,
|
MI_YARDIE,
|
||||||
MI_SQUALO,
|
MI_YAKUZA,
|
||||||
MI_SEASPAR,
|
MI_DIABLOS,
|
||||||
MI_PIZZABOY,
|
MI_COLUMB,
|
||||||
MI_GANGBUR,
|
MI_HOODS,
|
||||||
MI_AIRTRAIN,
|
MI_PANLANT,
|
||||||
MI_DEADDODO,
|
|
||||||
MI_SPEEDER,
|
|
||||||
MI_REEFER,
|
|
||||||
MI_TROPIC,
|
|
||||||
MI_FLATBED,
|
MI_FLATBED,
|
||||||
MI_YANKEE,
|
MI_YANKEE,
|
||||||
MI_CADDY,
|
MI_BORGNINE,
|
||||||
MI_ZEBRA,
|
MI_TOYZ,
|
||||||
MI_TOPFUN,
|
MI_CAMPVAN,
|
||||||
MI_SKIMMER,
|
MI_BALLOT,
|
||||||
|
MI_SHELBY,
|
||||||
|
MI_PONTIAC,
|
||||||
|
MI_ESPRIT,
|
||||||
|
MI_AMMOTRUK,
|
||||||
|
MI_HOTROD,
|
||||||
|
MI_SINDACCO_CAR,
|
||||||
|
MI_FORELLI_CAR,
|
||||||
|
MI_FERRY,
|
||||||
|
MI_GHOST,
|
||||||
|
MI_SPEEDER,
|
||||||
|
MI_REEFER,
|
||||||
|
MI_PREDATOR,
|
||||||
|
MI_TRAIN,
|
||||||
|
MI_ESCAPE,
|
||||||
|
MI_CHOPPER,
|
||||||
|
MI_AIRTRAIN,
|
||||||
|
MI_DEADDODO,
|
||||||
|
MI_ANGEL,
|
||||||
|
MI_PIZZABOY,
|
||||||
|
MI_NOODLEBOY,
|
||||||
MI_PCJ600,
|
MI_PCJ600,
|
||||||
MI_FAGGIO,
|
MI_FAGGIO,
|
||||||
MI_FREEWAY,
|
MI_FREEWAY,
|
||||||
MI_RCBARON,
|
MI_ANGEL2,
|
||||||
MI_RCRAIDER,
|
MI_SANCHEZ2,
|
||||||
MI_GLENDALE,
|
|
||||||
MI_OCEANIC,
|
|
||||||
MI_SANCHEZ,
|
MI_SANCHEZ,
|
||||||
|
MI_RCGOBLIN,
|
||||||
|
MI_RCRAIDER,
|
||||||
|
MI_HUNTER,
|
||||||
|
MI_MAVERICK,
|
||||||
|
MI_POLMAV,
|
||||||
|
MI_VCNMAV,
|
||||||
|
|
||||||
|
MI_LAST_VEHICLE = MI_VCNMAV,
|
||||||
|
|
||||||
|
// HACK HACK, hopefully temporary
|
||||||
|
MI_SEASPAR = -1000,
|
||||||
MI_SPARROW,
|
MI_SPARROW,
|
||||||
MI_PATRIOT,
|
MI_RCBARON,
|
||||||
MI_LOVEFIST,
|
MI_TOPFUN,
|
||||||
|
MI_CADDY,
|
||||||
|
MI_BAGGAGE,
|
||||||
|
MI_FBIRANCH,
|
||||||
|
MI_VICECHEE,
|
||||||
|
MI_FIRETRUCK,
|
||||||
|
MI_RIO,
|
||||||
|
MI_SQUALO,
|
||||||
|
MI_JETMAX,
|
||||||
MI_COASTG,
|
MI_COASTG,
|
||||||
MI_DINGHY,
|
MI_DINGHY,
|
||||||
MI_HERMES,
|
MI_MARQUIS,
|
||||||
MI_SABRE,
|
MI_SKIMMER,
|
||||||
MI_SABRETUR,
|
MI_TROPIC,
|
||||||
|
MI_SANDKING,
|
||||||
|
MI_VOODOO,
|
||||||
|
MI_CUBAN,
|
||||||
MI_PHEONIX,
|
MI_PHEONIX,
|
||||||
MI_WALTON,
|
|
||||||
MI_REGINA,
|
|
||||||
MI_COMET,
|
MI_COMET,
|
||||||
|
MI_SABRE,
|
||||||
|
MI_VIRGO,
|
||||||
|
MI_RANCHER,
|
||||||
|
MI_BLISTAC,
|
||||||
|
MI_WASHING,
|
||||||
|
MI_ADMIRAL,
|
||||||
|
MI_SABRETUR,
|
||||||
MI_DELUXO,
|
MI_DELUXO,
|
||||||
|
MI_HOTRING,
|
||||||
|
MI_REGINA,
|
||||||
|
MI_SENTXS,
|
||||||
|
MI_GLENDALE,
|
||||||
|
MI_OCEANIC,
|
||||||
|
MI_HERMES,
|
||||||
|
MI_GREENWOO,
|
||||||
|
MI_LOVEFIST,
|
||||||
|
MI_GANGBUR,
|
||||||
MI_BURRITO,
|
MI_BURRITO,
|
||||||
MI_SPAND,
|
MI_SPAND,
|
||||||
MI_MARQUIS,
|
MI_PACKER,
|
||||||
MI_BAGGAGE,
|
MI_WALTON,
|
||||||
MI_KAUFMAN,
|
MI_ROMERO,
|
||||||
MI_MAVERICK,
|
|
||||||
MI_VCNMAV,
|
|
||||||
MI_RANCHER,
|
|
||||||
MI_FBIRANCH,
|
|
||||||
MI_VIRGO,
|
|
||||||
MI_GREENWOO,
|
|
||||||
MI_JETMAX,
|
|
||||||
MI_HOTRING,
|
|
||||||
MI_SANDKING,
|
|
||||||
MI_BLISTAC,
|
|
||||||
MI_POLMAV,
|
|
||||||
MI_BOXVILLE,
|
|
||||||
MI_BENSON,
|
|
||||||
MI_MESA,
|
|
||||||
MI_RCGOBLIN,
|
|
||||||
MI_HOTRINA,
|
|
||||||
MI_HOTRINB,
|
|
||||||
MI_BLOODRA,
|
|
||||||
MI_BLOODRB,
|
|
||||||
MI_VICECHEE,
|
|
||||||
|
|
||||||
// HACK
|
MI_WHEEL_RIM = 237,
|
||||||
MI_TRAIN = -1,
|
|
||||||
MI_DODO = -2,
|
|
||||||
|
|
||||||
MI_LAST_VEHICLE = MI_VICECHEE,
|
|
||||||
|
|
||||||
MI_WHEEL_RIM,
|
|
||||||
MI_WHEEL_OFFROAD,
|
MI_WHEEL_OFFROAD,
|
||||||
MI_WHEEL_TRUCK,
|
MI_WHEEL_TRUCK,
|
||||||
|
|
||||||
|
@ -458,14 +469,18 @@ enum
|
||||||
MI_FINGERS,
|
MI_FINGERS,
|
||||||
MI_MINIGUN2,
|
MI_MINIGUN2,
|
||||||
|
|
||||||
MI_CUTOBJ01,// = 295,
|
MI_CUTOBJ01 = 120,
|
||||||
MI_CUTOBJ02,
|
MI_CUTOBJ02,
|
||||||
MI_CUTOBJ03,
|
MI_CUTOBJ03,
|
||||||
MI_CUTOBJ04,
|
MI_CUTOBJ04,
|
||||||
MI_CUTOBJ05,
|
MI_CUTOBJ05,
|
||||||
|
MI_CUTOBJ06,
|
||||||
|
MI_CUTOBJ07,
|
||||||
|
MI_CUTOBJ08,
|
||||||
|
MI_CUTOBJ09,
|
||||||
|
MI_CUTOBJ10,
|
||||||
|
|
||||||
|
NUM_DEFAULT_MODELS = 300
|
||||||
NUM_DEFAULT_MODELS,// = 300
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum{
|
enum{
|
||||||
|
|
|
@ -175,7 +175,7 @@ CSimpleModelInfo::FindRelatedModel(int32 minID, int32 maxID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define NEAR_DRAW_DIST 0.0f // 100.0f in liberty city
|
#define NEAR_DRAW_DIST 100.0f // 0.0f in vice city
|
||||||
|
|
||||||
void
|
void
|
||||||
CSimpleModelInfo::SetupBigBuilding(int32 minID, int32 maxID)
|
CSimpleModelInfo::SetupBigBuilding(int32 minID, int32 maxID)
|
||||||
|
|
|
@ -31,6 +31,7 @@ enum eVehicleType {
|
||||||
VEHICLE_TYPE_HELI,
|
VEHICLE_TYPE_HELI,
|
||||||
VEHICLE_TYPE_PLANE,
|
VEHICLE_TYPE_PLANE,
|
||||||
VEHICLE_TYPE_BIKE,
|
VEHICLE_TYPE_BIKE,
|
||||||
|
VEHICLE_TYPE_FERRY,
|
||||||
NUM_VEHICLE_TYPES
|
NUM_VEHICLE_TYPES
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -22,23 +22,24 @@ CGangInfo::CGangInfo() :
|
||||||
|
|
||||||
void CGangs::Initialise(void)
|
void CGangs::Initialise(void)
|
||||||
{
|
{
|
||||||
SetGangPedModels(GANG_CUBAN, MI_CBA, MI_CBB);
|
SetGangPedModels(GANG_MAFIA, MI_GANG01, MI_GANG02);
|
||||||
SetGangPedModels(GANG_HAITIAN, MI_HNA, MI_HNB);
|
SetGangPedModels(GANG_TRIAD, MI_GANG03, MI_GANG04);
|
||||||
SetGangPedModels(GANG_STREET, MI_SGA, MI_SGB);
|
SetGangPedModels(GANG_DIABLOS, MI_GANG05, MI_GANG06);
|
||||||
SetGangPedModels(GANG_DIAZ, MI_CLA, MI_CLB);
|
SetGangPedModels(GANG_YAKUZA, MI_GANG07, MI_GANG08);
|
||||||
SetGangPedModels(GANG_SECURITY, MI_GDA, MI_GDB);
|
SetGangPedModels(GANG_YARDIE, MI_GANG09, MI_GANG10);
|
||||||
SetGangPedModels(GANG_BIKER, MI_BKA, MI_BKB);
|
SetGangPedModels(GANG_COLUMB, MI_GANG11, MI_GANG12);
|
||||||
SetGangPedModels(GANG_PLAYER, MI_PGA, MI_PGB);
|
SetGangPedModels(GANG_HOODS, MI_GANG13, MI_GANG14);
|
||||||
SetGangPedModels(GANG_GOLFER, MI_WFOGO, MI_WMOGO);
|
SetGangPedModels(GANG_FORELLI, MI_GANG15, MI_GANG16);
|
||||||
SetGangVehicleModel(GANG_CUBAN, MI_CUBAN);
|
SetGangPedModels(GANG_SINDACCO, MI_GANG17, MI_GANG18);
|
||||||
SetGangVehicleModel(GANG_HAITIAN, MI_VOODOO);
|
SetGangVehicleModel(GANG_MAFIA, MI_MAFIA);
|
||||||
SetGangVehicleModel(GANG_STREET, MI_GANGBUR);
|
SetGangVehicleModel(GANG_TRIAD, MI_BELLYUP);
|
||||||
SetGangVehicleModel(GANG_DIAZ, -1);
|
SetGangVehicleModel(GANG_DIABLOS, MI_DIABLOS);
|
||||||
SetGangVehicleModel(GANG_SECURITY, -1);
|
SetGangVehicleModel(GANG_YAKUZA, MI_YAKUZA);
|
||||||
SetGangVehicleModel(GANG_BIKER, MI_ANGEL);
|
SetGangVehicleModel(GANG_YARDIE, MI_YARDIE);
|
||||||
SetGangVehicleModel(GANG_PLAYER, -1);
|
SetGangVehicleModel(GANG_COLUMB, MI_COLUMB);
|
||||||
SetGangVehicleModel(GANG_GOLFER, MI_CADDY);
|
SetGangVehicleModel(GANG_HOODS, MI_HOODS);
|
||||||
SetGangWeapons(GANG_GOLFER, WEAPONTYPE_GOLFCLUB, WEAPONTYPE_GOLFCLUB);
|
SetGangVehicleModel(GANG_FORELLI, MI_FORELLI_CAR);
|
||||||
|
SetGangVehicleModel(GANG_SINDACCO, MI_SINDACCO_CAR);
|
||||||
#ifdef FIX_BUGS
|
#ifdef FIX_BUGS
|
||||||
for (int i = 0; i < NUM_GANGS; i++)
|
for (int i = 0; i < NUM_GANGS; i++)
|
||||||
SetGangPedModelOverride(i, -1);
|
SetGangPedModelOverride(i, -1);
|
||||||
|
|
|
@ -17,15 +17,15 @@ struct CGangInfo
|
||||||
VALIDATE_SIZE(CGangInfo, 0x10);
|
VALIDATE_SIZE(CGangInfo, 0x10);
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
GANG_CUBAN = 0,
|
GANG_MAFIA = 0,
|
||||||
GANG_HAITIAN,
|
GANG_TRIAD,
|
||||||
GANG_STREET,
|
GANG_DIABLOS,
|
||||||
GANG_DIAZ,
|
GANG_YAKUZA,
|
||||||
GANG_SECURITY,
|
GANG_YARDIE,
|
||||||
GANG_BIKER,
|
GANG_COLUMB,
|
||||||
GANG_PLAYER,
|
GANG_HOODS,
|
||||||
GANG_GOLFER,
|
GANG_FORELLI,
|
||||||
GANG_9,
|
GANG_SINDACCO,
|
||||||
NUM_GANGS
|
NUM_GANGS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -9433,7 +9433,7 @@ CPed::SetRadioStation(void)
|
||||||
if (IsPlayer() || !m_pMyVehicle || m_pMyVehicle->pDriver != this)
|
if (IsPlayer() || !m_pMyVehicle || m_pMyVehicle->pDriver != this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (GetModelIndex() != MI_PGA && GetModelIndex() != MI_PGB) {
|
if (GetModelIndex() != MI_GANG13 && GetModelIndex() != MI_GANG14) {
|
||||||
if (m_pMyVehicle->m_nRadioStation != modelInfo->radio1 && m_pMyVehicle->m_nRadioStation != modelInfo->radio2) {
|
if (m_pMyVehicle->m_nRadioStation != modelInfo->radio1 && m_pMyVehicle->m_nRadioStation != modelInfo->radio2) {
|
||||||
if (CGeneral::GetRandomTrueFalse())
|
if (CGeneral::GetRandomTrueFalse())
|
||||||
m_pMyVehicle->m_nRadioStation = modelInfo->radio1;
|
m_pMyVehicle->m_nRadioStation = modelInfo->radio1;
|
||||||
|
|
|
@ -95,6 +95,9 @@ VALIDATE_SIZE(CPedType, 0x20);
|
||||||
|
|
||||||
enum ePedStats
|
enum ePedStats
|
||||||
{
|
{
|
||||||
|
PEDSTAT_COWARD,
|
||||||
|
PEDSTAT_SHOPPER,
|
||||||
|
PEDSTAT_OLDSHOPPER,
|
||||||
PEDSTAT_PLAYER,
|
PEDSTAT_PLAYER,
|
||||||
PEDSTAT_COP,
|
PEDSTAT_COP,
|
||||||
PEDSTAT_MEDIC,
|
PEDSTAT_MEDIC,
|
||||||
|
@ -106,6 +109,8 @@ enum ePedStats
|
||||||
PEDSTAT_GANG5,
|
PEDSTAT_GANG5,
|
||||||
PEDSTAT_GANG6,
|
PEDSTAT_GANG6,
|
||||||
PEDSTAT_GANG7,
|
PEDSTAT_GANG7,
|
||||||
|
PEDSTAT_GANG8,
|
||||||
|
PEDSTAT_GANG9,
|
||||||
PEDSTAT_STREET_GUY,
|
PEDSTAT_STREET_GUY,
|
||||||
PEDSTAT_SUIT_GUY,
|
PEDSTAT_SUIT_GUY,
|
||||||
PEDSTAT_SENSIBLE_GUY,
|
PEDSTAT_SENSIBLE_GUY,
|
||||||
|
@ -128,13 +133,10 @@ enum ePedStats
|
||||||
PEDSTAT_PSYCHO,
|
PEDSTAT_PSYCHO,
|
||||||
PEDSTAT_STEWARD,
|
PEDSTAT_STEWARD,
|
||||||
PEDSTAT_SPORTSFAN,
|
PEDSTAT_SPORTSFAN,
|
||||||
PEDSTAT_SHOPPER,
|
|
||||||
PEDSTAT_OLDSHOPPER,
|
|
||||||
PEDSTAT_BEACH_GUY,
|
PEDSTAT_BEACH_GUY,
|
||||||
PEDSTAT_BEACH_GIRL,
|
PEDSTAT_BEACH_GIRL,
|
||||||
PEDSTAT_SKATER,
|
PEDSTAT_SKATER,
|
||||||
PEDSTAT_STD_MISSION,
|
PEDSTAT_STD_MISSION,
|
||||||
PEDSTAT_COWARD,
|
|
||||||
|
|
||||||
NUM_PEDSTATS
|
NUM_PEDSTATS
|
||||||
};
|
};
|
||||||
|
|
|
@ -558,12 +558,9 @@ CPopulation::AddToPopulation(float minDist, float maxDist, float minDistOffScree
|
||||||
// Taxi side mission
|
// Taxi side mission
|
||||||
if (CTheScripts::IsPlayerOnAMission()) {
|
if (CTheScripts::IsPlayerOnAMission()) {
|
||||||
CPed *player = FindPlayerPed();
|
CPed *player = FindPlayerPed();
|
||||||
if (player && player->InVehicle()) {
|
if (player && player->InVehicle() && player->m_pMyVehicle->IsTaxi())
|
||||||
int32 model = player->m_pMyVehicle->GetModelIndex();
|
|
||||||
if (model == MI_TAXI || model == MI_CABBIE || model == MI_ZEBRA || model == MI_KAUFMAN)
|
|
||||||
missionAndWeatherMult = 1.0f;
|
missionAndWeatherMult = 1.0f;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (CDarkel::FrenzyOnGoing())
|
if (CDarkel::FrenzyOnGoing())
|
||||||
missionAndWeatherMult = 1.0f;
|
missionAndWeatherMult = 1.0f;
|
||||||
int selectedMaxPeds = CGame::IsInInterior() ? CPopulation::MaxNumberOfPedsInUseInterior : CPopulation::MaxNumberOfPedsInUse;
|
int selectedMaxPeds = CGame::IsInInterior() ? CPopulation::MaxNumberOfPedsInUseInterior : CPopulation::MaxNumberOfPedsInUse;
|
||||||
|
@ -843,7 +840,7 @@ CPopulation::AddPedInCar(CVehicle* car, bool isDriver)
|
||||||
pedType = PEDTYPE_COP;
|
pedType = PEDTYPE_COP;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (car->GetModelIndex() == MI_TAXI || car->GetModelIndex() == MI_CABBIE || car->GetModelIndex() == MI_ZEBRA || car->GetModelIndex() == MI_KAUFMAN) {
|
if (car->IsTaxi()) {
|
||||||
if (isDriver) {
|
if (isDriver) {
|
||||||
pedType = PEDTYPE_CIVMALE;
|
pedType = PEDTYPE_CIVMALE;
|
||||||
preferredModel = MI_TAXI_D;
|
preferredModel = MI_TAXI_D;
|
||||||
|
@ -1210,10 +1207,11 @@ CPopulation::IsSkateable(CVector const& pos)
|
||||||
return foundCol.surfaceB == SURFACE_TARMAC || foundCol.surfaceB == SURFACE_PAVEMENT;
|
return foundCol.surfaceB == SURFACE_TARMAC || foundCol.surfaceB == SURFACE_PAVEMENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--LCS: done
|
||||||
bool
|
bool
|
||||||
CPopulation::CanJeerAtStripper(int32 model)
|
CPopulation::CanJeerAtStripper(int32 model)
|
||||||
{
|
{
|
||||||
return model == MI_WMOBE || model == MI_WMYBE || model == MI_WMOST || model == MI_BMYBB;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -1245,46 +1243,38 @@ bool
|
||||||
CPopulation::IsMale(int32 model)
|
CPopulation::IsMale(int32 model)
|
||||||
{
|
{
|
||||||
switch (model) {
|
switch (model) {
|
||||||
case MI_HMYST:
|
// TODO(LCS): do this right
|
||||||
case MI_HMOST:
|
case MI_TAXI_D:
|
||||||
case MI_HMYRI:
|
case MI_PIMP:
|
||||||
case MI_HMORI:
|
case MI_CRIMINAL01:
|
||||||
case MI_HMYBE:
|
case MI_CRIMINAL02:
|
||||||
case MI_HMOBE:
|
case MI_MALE02:
|
||||||
case MI_HMOTR:
|
case MI_MALE03:
|
||||||
case MI_HMYAP:
|
case MI_P_MAN1:
|
||||||
case MI_HMOCA:
|
case MI_P_MAN2:
|
||||||
case MI_BMODK:
|
case MI_CT_MAN1:
|
||||||
case MI_BMYKR:
|
case MI_CT_MAN2:
|
||||||
case MI_BMYST:
|
case MI_LI_MAN1:
|
||||||
case MI_BMOST:
|
case MI_LI_MAN2:
|
||||||
case MI_BMYRI:
|
case MI_DOCKER1:
|
||||||
case MI_BMYBE:
|
case MI_DOCKER2:
|
||||||
case MI_BMOBE:
|
case MI_SCUM_MAN:
|
||||||
case MI_BMYBU:
|
case MI_WORKER1:
|
||||||
case MI_BMOTR:
|
case MI_WORKER2:
|
||||||
case MI_BMYPI:
|
case MI_B_MAN1:
|
||||||
case MI_BMYBB:
|
case MI_B_MAN2:
|
||||||
case MI_WMYCR:
|
case MI_B_MAN3:
|
||||||
case MI_WMYST:
|
case MI_MOD_MAN:
|
||||||
case MI_WMOST:
|
case MI_ST_MAN:
|
||||||
case MI_WMYRI:
|
case MI_FAN_MAN1:
|
||||||
case MI_WMORI:
|
case MI_FAN_MAN2:
|
||||||
case MI_WMYBE:
|
case MI_HOS_MAN:
|
||||||
case MI_WMOBE:
|
case MI_CONST1:
|
||||||
case MI_WMYCW:
|
case MI_CONST2:
|
||||||
case MI_WMYGO:
|
case MI_STUD_MAN:
|
||||||
case MI_WMOGO:
|
case MI_CAS_MAN:
|
||||||
case MI_WMYLG:
|
case MI_CAMP_MAN:
|
||||||
case MI_WMYBU:
|
case MI_HITMAN:
|
||||||
case MI_WMOBU:
|
|
||||||
case MI_WMOTR:
|
|
||||||
case MI_WMYPI:
|
|
||||||
case MI_WMOCA:
|
|
||||||
case MI_WMYJG:
|
|
||||||
case MI_WMYSK:
|
|
||||||
|
|
||||||
// BUG? Why no JMOTO?
|
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
@ -1295,41 +1285,34 @@ bool
|
||||||
CPopulation::IsFemale(int32 model)
|
CPopulation::IsFemale(int32 model)
|
||||||
{
|
{
|
||||||
switch (model) {
|
switch (model) {
|
||||||
case MI_HFYST:
|
// TODO(LCS): do this right
|
||||||
case MI_HFOST:
|
case MI_FEMALE01:
|
||||||
case MI_HFYRI:
|
case MI_FEMALE02:
|
||||||
case MI_HFORI:
|
case MI_FEMALE03:
|
||||||
case MI_HFYBE:
|
case MI_FATFEMALE01:
|
||||||
case MI_HFOBE:
|
case MI_FATFEMALE02:
|
||||||
case MI_HFYBU:
|
case MI_PROSTITUTE:
|
||||||
case MI_HFYMD:
|
case MI_PROSTITUTE2:
|
||||||
case MI_HFYCG:
|
case MI_P_WOM1:
|
||||||
case MI_HFYPR:
|
case MI_P_WOM2:
|
||||||
case MI_HFOTR:
|
case MI_CT_WOM1:
|
||||||
case MI_BFYST:
|
case MI_CT_WOM2:
|
||||||
case MI_BFOST:
|
case MI_LI_WOM1:
|
||||||
case MI_BFYRI:
|
case MI_LI_WOM2:
|
||||||
case MI_BFORI:
|
case MI_SCUM_WOM:
|
||||||
case MI_BFYBE:
|
case MI_B_WOM1:
|
||||||
case MI_BFOBE:
|
case MI_B_WOM2:
|
||||||
case MI_BFYPR:
|
case MI_B_WOM3:
|
||||||
case MI_BFOTR:
|
case MI_MOD_WOM:
|
||||||
case MI_WFYST:
|
case MI_ST_WOM:
|
||||||
case MI_WFOST:
|
case MI_FAN_WOM:
|
||||||
case MI_WFYRI:
|
case MI_HOS_WOM:
|
||||||
case MI_WFORI:
|
case MI_SHOPPER1:
|
||||||
case MI_WFYBE:
|
case MI_SHOPPER2:
|
||||||
case MI_WFOBE:
|
case MI_SHOPPER3:
|
||||||
case MI_WFOGO:
|
case MI_STUD_WOM:
|
||||||
case MI_WFYLG:
|
case MI_CAS_WOM:
|
||||||
case MI_WFYBU:
|
case MI_CAMP_WOM:
|
||||||
case MI_WFYPR:
|
|
||||||
case MI_WFOTR:
|
|
||||||
case MI_WFYJG:
|
|
||||||
case MI_WFYSK:
|
|
||||||
case MI_WFYSH:
|
|
||||||
case MI_WFOSH:
|
|
||||||
case MI_JFOTO:
|
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
@ -1339,23 +1322,7 @@ CPopulation::IsFemale(int32 model)
|
||||||
bool
|
bool
|
||||||
CPopulation::IsSunbather(int32 model)
|
CPopulation::IsSunbather(int32 model)
|
||||||
{
|
{
|
||||||
switch (model) {
|
|
||||||
case MI_HFYBE:
|
|
||||||
case MI_HFOBE:
|
|
||||||
case MI_HMYBE:
|
|
||||||
case MI_HMOBE:
|
|
||||||
case MI_BFYBE:
|
|
||||||
case MI_BMYBE:
|
|
||||||
case MI_BFOBE:
|
|
||||||
case MI_BMOBE:
|
|
||||||
case MI_WFYBE:
|
|
||||||
case MI_WMYBE:
|
|
||||||
case MI_WFOBE:
|
|
||||||
case MI_WMOBE:
|
|
||||||
return true;
|
|
||||||
default:
|
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int32
|
int32
|
||||||
|
@ -1367,13 +1334,13 @@ CPopulation::ComputeRandomisedGangSize(void)
|
||||||
bool
|
bool
|
||||||
CPopulation::CanSolicitPlayerInCar(int32 model)
|
CPopulation::CanSolicitPlayerInCar(int32 model)
|
||||||
{
|
{
|
||||||
return model == MI_HFYPR || model == MI_BFYPR || model == MI_WFYPR;
|
return model == MI_PROSTITUTE || model == MI_PROSTITUTE2;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
CPopulation::CanSolicitPlayerOnFoot(int32 model)
|
CPopulation::CanSolicitPlayerOnFoot(int32 model)
|
||||||
{
|
{
|
||||||
return model == MI_HFYMD || model == MI_HFYCG || model == MI_BFOTR || model == MI_BMOTR || model == MI_WFOTR || model == MI_WMOTR;
|
return model == MI_B_WOM3 || model == MI_FEMALE01 || model == MI_FEMALE02 || model == MI_FEMALE03;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
|
|
|
@ -417,8 +417,9 @@ void CMovingThings::Init()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CEscalators::Init();
|
// LCS: removed
|
||||||
aScrollBars[0].Init(CVector(-1069.209f, 1320.126f, 18.848f), CVector(-1069.209f, 1342.299f, 22.612f), SCROLL_ARENA_STRING, 128, 255, 0, 0.3f);
|
// CEscalators::Init();
|
||||||
|
// aScrollBars[0].Init(CVector(-1069.209f, 1320.126f, 18.848f), CVector(-1069.209f, 1342.299f, 22.612f), SCROLL_ARENA_STRING, 128, 255, 0, 0.3f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMovingThings::Shutdown()
|
void CMovingThings::Shutdown()
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define WATER_X_OFFSET (400.0f)
|
#define WATER_X_OFFSET (0.0f)
|
||||||
|
|
||||||
#define WATER_Z_OFFSET (0.5f)
|
#define WATER_Z_OFFSET (0.5f)
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ bool gPS2alphaTest = true;
|
||||||
#else
|
#else
|
||||||
bool gPS2alphaTest = false;
|
bool gPS2alphaTest = false;
|
||||||
#endif
|
#endif
|
||||||
bool gBackfaceCulling = true;
|
bool gBackfaceCulling = false; // can we ever enable this in LCS even?
|
||||||
|
|
||||||
#if !defined(FINAL) || defined(DEBUGMENU)
|
#if !defined(FINAL) || defined(DEBUGMENU)
|
||||||
static bool charsetOpen;
|
static bool charsetOpen;
|
||||||
|
|
|
@ -632,8 +632,9 @@ CVisibilityPlugins::RenderVehicleTailRotorAlphaCB(RpAtomic *atomic)
|
||||||
RpAtomic*
|
RpAtomic*
|
||||||
CVisibilityPlugins::RenderPlayerCB(RpAtomic *atomic)
|
CVisibilityPlugins::RenderPlayerCB(RpAtomic *atomic)
|
||||||
{
|
{
|
||||||
if(CWorld::Players[0].m_pSkinTexture)
|
// LCS: removed
|
||||||
RpGeometryForAllMaterials(RpAtomicGetGeometry(atomic), SetTextureCB, CWorld::Players[0].m_pSkinTexture);
|
// if(CWorld::Players[0].m_pSkinTexture)
|
||||||
|
// RpGeometryForAllMaterials(RpAtomicGetGeometry(atomic), SetTextureCB, CWorld::Players[0].m_pSkinTexture);
|
||||||
RENDERCALLBACK(atomic);
|
RENDERCALLBACK(atomic);
|
||||||
return atomic;
|
return atomic;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2193,8 +2193,7 @@ CAutomobile::PreRender(void)
|
||||||
|
|
||||||
case MI_TAXI:
|
case MI_TAXI:
|
||||||
case MI_CABBIE:
|
case MI_CABBIE:
|
||||||
case MI_ZEBRA:
|
case MI_BORGNINE:
|
||||||
case MI_KAUFMAN:
|
|
||||||
if(bTaxiLight){
|
if(bTaxiLight){
|
||||||
CVector pos = GetPosition() + GetUp()*0.95f;
|
CVector pos = GetPosition() + GetUp()*0.95f;
|
||||||
CCoronas::RegisterCorona((uintptr)this + 21,
|
CCoronas::RegisterCorona((uintptr)this + 21,
|
||||||
|
|
|
@ -62,6 +62,7 @@ void CCranes::InitCranes(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* // TODO(LCS)
|
||||||
for (CPtrNode* pNode = CWorld::GetBigBuildingList(LEVEL_MAINLAND).first; pNode; pNode = pNode->next) {
|
for (CPtrNode* pNode = CWorld::GetBigBuildingList(LEVEL_MAINLAND).first; pNode; pNode = pNode->next) {
|
||||||
CEntity* pEntity = (CEntity*)pNode->item;
|
CEntity* pEntity = (CEntity*)pNode->item;
|
||||||
if (MODELID_CRANE_1 == pEntity->GetModelIndex() ||
|
if (MODELID_CRANE_1 == pEntity->GetModelIndex() ||
|
||||||
|
@ -72,6 +73,7 @@ void CCranes::InitCranes(void)
|
||||||
MODELID_CRANE_6 == pEntity->GetModelIndex())
|
MODELID_CRANE_6 == pEntity->GetModelIndex())
|
||||||
AddThisOneCrane(pEntity);
|
AddThisOneCrane(pEntity);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void CCranes::AddThisOneCrane(CEntity* pEntity)
|
void CCranes::AddThisOneCrane(CEntity* pEntity)
|
||||||
|
|
|
@ -44,6 +44,7 @@ const char VehicleNames[NUMHANDLINGS][14] = {
|
||||||
"RHINO",
|
"RHINO",
|
||||||
"BARRACKS",
|
"BARRACKS",
|
||||||
"TRAIN",
|
"TRAIN",
|
||||||
|
"FERRY",
|
||||||
"HELI",
|
"HELI",
|
||||||
"DODO",
|
"DODO",
|
||||||
"COACH",
|
"COACH",
|
||||||
|
@ -56,66 +57,40 @@ const char VehicleNames[NUMHANDLINGS][14] = {
|
||||||
"DEADDODO",
|
"DEADDODO",
|
||||||
"FLATBED",
|
"FLATBED",
|
||||||
"YANKEE",
|
"YANKEE",
|
||||||
"GOLFCART",
|
"BLISTA",
|
||||||
"VOODOO",
|
"BELLYUP",
|
||||||
"WASHING",
|
"MRWONGS",
|
||||||
"CUBAN",
|
"YARDIE",
|
||||||
"ROMERO",
|
"YAKUZA",
|
||||||
"PACKER",
|
"DIABLOS",
|
||||||
"ADMIRAL",
|
"COLUMB",
|
||||||
"GANGBUR",
|
"HOODS",
|
||||||
"ZEBRA",
|
"PANLANT",
|
||||||
"TOPFUN",
|
"BORGNINE",
|
||||||
"GLENDALE",
|
"CAMPVAN",
|
||||||
"OCEANIC",
|
"BALLOT",
|
||||||
"HERMES",
|
"SPIDER",
|
||||||
"SABRE1",
|
"SHELBY",
|
||||||
"SABRETUR",
|
"PONTIAC",
|
||||||
"PHEONIX",
|
"ESPRIT",
|
||||||
"WALTON",
|
"MINI",
|
||||||
"REGINA",
|
"HOTROD",
|
||||||
"COMET",
|
"SINDACCO",
|
||||||
"DELUXO",
|
"FORELLI",
|
||||||
"BURRITO",
|
|
||||||
"SPAND",
|
|
||||||
"BAGGAGE",
|
|
||||||
"KAUFMAN",
|
|
||||||
"RANCHER",
|
|
||||||
"FBIRANCH",
|
|
||||||
"VIRGO",
|
|
||||||
"GREENWOO",
|
|
||||||
"HOTRING",
|
|
||||||
"SANDKING",
|
|
||||||
"BLISTAC",
|
|
||||||
"BOXVILLE",
|
|
||||||
"BENSON",
|
|
||||||
"DESPERAD",
|
|
||||||
"LOVEFIST",
|
|
||||||
"BLOODRA",
|
|
||||||
"BLOODRB",
|
|
||||||
"BIKE",
|
"BIKE",
|
||||||
"MOPED",
|
"MOPED",
|
||||||
"DIRTBIKE",
|
"DIRTBIKE",
|
||||||
"ANGEL",
|
"ANGEL",
|
||||||
|
"DIRTBIK2",
|
||||||
|
"ANGE2",
|
||||||
"FREEWAY",
|
"FREEWAY",
|
||||||
"PREDATOR",
|
"PREDATOR",
|
||||||
"SPEEDER",
|
"SPEEDER",
|
||||||
"REEFER",
|
"REEFER",
|
||||||
"RIO",
|
|
||||||
"SQUALO",
|
|
||||||
"TROPIC",
|
|
||||||
"COASTGRD",
|
|
||||||
"DINGHY",
|
|
||||||
"MARQUIS",
|
|
||||||
"CUPBOAT",
|
|
||||||
"SEAPLANE",
|
|
||||||
"SPARROW",
|
|
||||||
"SEASPAR",
|
|
||||||
"MAVERICK",
|
"MAVERICK",
|
||||||
"COASTMAV",
|
"COASTMAV",
|
||||||
"POLMAV",
|
"POLMAV",
|
||||||
"HUNTER",
|
"HUNTER",
|
||||||
"RCBARON",
|
|
||||||
"RCGOBLIN",
|
"RCGOBLIN",
|
||||||
"RCCOPTER"
|
"RCCOPTER"
|
||||||
};
|
};
|
||||||
|
@ -350,7 +325,7 @@ void
|
||||||
cHandlingDataMgr::ConvertDataToGameUnits(tHandlingData *handling)
|
cHandlingDataMgr::ConvertDataToGameUnits(tHandlingData *handling)
|
||||||
{
|
{
|
||||||
// convert distance to m, time to 1/50s
|
// convert distance to m, time to 1/50s
|
||||||
float velocity, a, b, specificVolume;
|
float velocity, a, b;
|
||||||
|
|
||||||
handling->Transmission.fEngineAcceleration *= 1.0f/(50.0f*50.0f);
|
handling->Transmission.fEngineAcceleration *= 1.0f/(50.0f*50.0f);
|
||||||
handling->Transmission.fMaxVelocity *= 1000.0f/(60.0f*60.0f * 50.0f);
|
handling->Transmission.fMaxVelocity *= 1000.0f/(60.0f*60.0f * 50.0f);
|
||||||
|
@ -422,15 +397,15 @@ cHandlingDataMgr::GetHandlingId(const char *name)
|
||||||
tFlyingHandlingData*
|
tFlyingHandlingData*
|
||||||
cHandlingDataMgr::GetFlyingPointer(uint8 id)
|
cHandlingDataMgr::GetFlyingPointer(uint8 id)
|
||||||
{
|
{
|
||||||
if(id >= HANDLING_SEAPLANE && id <= HANDLING_RCCOPTER)
|
if(id >= HANDLING_MAVERICK && id <= HANDLING_RCCOPTER)
|
||||||
return &FlyingHandlingData[id-HANDLING_SEAPLANE];
|
return &FlyingHandlingData[id-HANDLING_MAVERICK];
|
||||||
return &FlyingHandlingData[0];
|
return &FlyingHandlingData[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
tBoatHandlingData*
|
tBoatHandlingData*
|
||||||
cHandlingDataMgr::GetBoatPointer(uint8 id)
|
cHandlingDataMgr::GetBoatPointer(uint8 id)
|
||||||
{
|
{
|
||||||
if(id >= HANDLING_PREDATOR && id <= HANDLING_SEAPLANE)
|
if(id >= HANDLING_PREDATOR && id <= HANDLING_MAVERICK)
|
||||||
return &BoatHandlingData[id-HANDLING_PREDATOR];
|
return &BoatHandlingData[id-HANDLING_PREDATOR];
|
||||||
return &BoatHandlingData[0];
|
return &BoatHandlingData[0];
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,6 +36,7 @@ enum tVehicleType
|
||||||
HANDLING_RHINO,
|
HANDLING_RHINO,
|
||||||
HANDLING_BARRACKS,
|
HANDLING_BARRACKS,
|
||||||
HANDLING_TRAIN,
|
HANDLING_TRAIN,
|
||||||
|
HANDLING_FERRY,
|
||||||
HANDLING_HELI,
|
HANDLING_HELI,
|
||||||
HANDLING_DODO,
|
HANDLING_DODO,
|
||||||
HANDLING_COACH,
|
HANDLING_COACH,
|
||||||
|
@ -48,76 +49,51 @@ enum tVehicleType
|
||||||
HANDLING_DEADDODO,
|
HANDLING_DEADDODO,
|
||||||
HANDLING_FLATBED,
|
HANDLING_FLATBED,
|
||||||
HANDLING_YANKEE,
|
HANDLING_YANKEE,
|
||||||
HANDLING_GOLFCART,
|
HANDLING_BLISTA,
|
||||||
HANDLING_VOODOO,
|
HANDLING_BELLYUP,
|
||||||
HANDLING_WASHING,
|
HANDLING_MRWONGS,
|
||||||
HANDLING_CUBAN,
|
HANDLING_YARDIE,
|
||||||
HANDLING_ROMERO,
|
HANDLING_YAKUZA,
|
||||||
HANDLING_PACKER,
|
HANDLING_DIABLOS,
|
||||||
HANDLING_ADMIRAL,
|
HANDLING_COLUMB,
|
||||||
HANDLING_GANGBUR,
|
HANDLING_HOODS,
|
||||||
HANDLING_ZEBRA,
|
HANDLING_PANLANT,
|
||||||
HANDLING_TOPFUN,
|
HANDLING_BORGNINE,
|
||||||
HANDLING_GLENDALE,
|
HANDLING_CAMPVAN,
|
||||||
HANDLING_OCEANIC,
|
HANDLING_BALLOT,
|
||||||
HANDLING_HERMES,
|
HANDLING_SPIDER,
|
||||||
HANDLING_SABRE1,
|
HANDLING_SHELBY,
|
||||||
HANDLING_SABRETUR,
|
HANDLING_PONTIAC,
|
||||||
HANDLING_PHEONIX,
|
HANDLING_ESPRIT,
|
||||||
HANDLING_WALTON,
|
HANDLING_MINI,
|
||||||
HANDLING_REGINA,
|
HANDLING_HOTROD,
|
||||||
HANDLING_COMET,
|
HANDLING_SINDACCO,
|
||||||
HANDLING_DELUXO,
|
HANDLING_FORELLI,
|
||||||
HANDLING_BURRITO,
|
|
||||||
HANDLING_SPAND,
|
|
||||||
HANDLING_BAGGAGE,
|
|
||||||
HANDLING_KAUFMAN,
|
|
||||||
HANDLING_RANCHER,
|
|
||||||
HANDLING_FBIRANCH,
|
|
||||||
HANDLING_VIRGO,
|
|
||||||
HANDLING_GREENWOO,
|
|
||||||
HANDLING_HOTRING,
|
|
||||||
HANDLING_SANDKING,
|
|
||||||
HANDLING_BLISTAC,
|
|
||||||
HANDLING_BOXVILLE,
|
|
||||||
HANDLING_BENSON,
|
|
||||||
HANDLING_DESPERAD,
|
|
||||||
HANDLING_LOVEFIST,
|
|
||||||
HANDLING_BLOODRA,
|
|
||||||
HANDLING_BLOODRB,
|
|
||||||
|
|
||||||
HANDLING_BIKE,
|
HANDLING_BIKE,
|
||||||
HANDLING_MOPED,
|
HANDLING_MOPED,
|
||||||
HANDLING_DIRTBIKE,
|
HANDLING_DIRTBIKE,
|
||||||
HANDLING_ANGEL,
|
HANDLING_ANGEL,
|
||||||
|
HANDLING_DIRTBIK2,
|
||||||
|
HANDLING_ANGE2,
|
||||||
HANDLING_FREEWAY,
|
HANDLING_FREEWAY,
|
||||||
|
|
||||||
HANDLING_PREDATOR,
|
HANDLING_PREDATOR,
|
||||||
HANDLING_SPEEDER,
|
HANDLING_SPEEDER,
|
||||||
HANDLING_REEFER,
|
HANDLING_REEFER,
|
||||||
HANDLING_RIO,
|
|
||||||
HANDLING_SQUALO,
|
|
||||||
HANDLING_TROPIC,
|
|
||||||
HANDLING_COASTGRD,
|
|
||||||
HANDLING_DINGHY,
|
|
||||||
HANDLING_MARQUIS,
|
|
||||||
HANDLING_CUPBOAT,
|
|
||||||
HANDLING_SEAPLANE, // both boat and plane!
|
|
||||||
HANDLING_SPARROW,
|
|
||||||
HANDLING_SEASPAR,
|
|
||||||
HANDLING_MAVERICK,
|
HANDLING_MAVERICK,
|
||||||
HANDLING_COASTMAV,
|
HANDLING_COASTMAV,
|
||||||
HANDLING_POLMAV,
|
HANDLING_POLMAV,
|
||||||
HANDLING_HUNTER,
|
HANDLING_HUNTER,
|
||||||
HANDLING_RCBARON,
|
|
||||||
HANDLING_RCGOBLIN,
|
HANDLING_RCGOBLIN,
|
||||||
HANDLING_RCCOPTER,
|
HANDLING_RCCOPTER,
|
||||||
|
|
||||||
NUMHANDLINGS,
|
NUMHANDLINGS,
|
||||||
|
|
||||||
NUMBIKEHANDLINGS = HANDLING_FREEWAY+1 - HANDLING_BIKE,
|
NUMBIKEHANDLINGS = HANDLING_FREEWAY+1 - HANDLING_BIKE,
|
||||||
NUMFLYINGHANDLINGS = HANDLING_RCCOPTER+1 - HANDLING_SEAPLANE,
|
NUMFLYINGHANDLINGS = HANDLING_RCCOPTER+1 - HANDLING_MAVERICK,
|
||||||
NUMBOATHANDLINGS = HANDLING_SEAPLANE+1 - HANDLING_PREDATOR,
|
NUMBOATHANDLINGS = HANDLING_COASTMAV+1 - HANDLING_PREDATOR,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum tField // most likely a handling field enum, never used so :shrug:
|
enum tField // most likely a handling field enum, never used so :shrug:
|
||||||
|
|
|
@ -1841,8 +1841,7 @@ CVehicle::SetDriver(CPed *driver)
|
||||||
|
|
||||||
case MI_TAXI:
|
case MI_TAXI:
|
||||||
case MI_CABBIE:
|
case MI_CABBIE:
|
||||||
case MI_ZEBRA:
|
case MI_BORGNINE:
|
||||||
case MI_KAUFMAN:
|
|
||||||
CWorld::Players[CWorld::PlayerInFocus].m_nMoney += 12;
|
CWorld::Players[CWorld::PlayerInFocus].m_nMoney += 12;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -384,8 +384,8 @@ public:
|
||||||
|
|
||||||
bool IsAlarmOn(void) { return m_nAlarmState != 0 && m_nAlarmState != -1 && GetStatus() != STATUS_WRECKED; }
|
bool IsAlarmOn(void) { return m_nAlarmState != 0 && m_nAlarmState != -1 && GetStatus() != STATUS_WRECKED; }
|
||||||
CVehicleModelInfo* GetModelInfo() { return (CVehicleModelInfo*)CModelInfo::GetModelInfo(GetModelIndex()); }
|
CVehicleModelInfo* GetModelInfo() { return (CVehicleModelInfo*)CModelInfo::GetModelInfo(GetModelIndex()); }
|
||||||
bool IsTaxi(void) { return GetModelIndex() == MI_TAXI || GetModelIndex() == MI_CABBIE || GetModelIndex() == MI_ZEBRA || GetModelIndex() == MI_KAUFMAN; }
|
bool IsTaxi(void) { return GetModelIndex() == MI_TAXI || GetModelIndex() == MI_CABBIE || GetModelIndex() == MI_BORGNINE; }
|
||||||
bool IsLimo(void) { return GetModelIndex() == MI_STRETCH || GetModelIndex() == MI_LOVEFIST; }
|
bool IsLimo(void) { return GetModelIndex() == MI_STRETCH; }
|
||||||
bool IsRealHeli(void) { return !!(pHandling->Flags & HANDLING_IS_HELI); }
|
bool IsRealHeli(void) { return !!(pHandling->Flags & HANDLING_IS_HELI); }
|
||||||
bool IsRealPlane(void) { return !!(pHandling->Flags & HANDLING_IS_PLANE); }
|
bool IsRealPlane(void) { return !!(pHandling->Flags & HANDLING_IS_PLANE); }
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue