first commit for LCS

This commit is contained in:
aap
2021-01-08 01:41:40 +01:00
parent bc363a74f5
commit ebdf08a514
35 changed files with 534 additions and 533 deletions

View File

@ -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);

View File

@ -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
};

View File

@ -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;

View File

@ -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
};

View File

@ -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