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