mirror of
https://git.rip/DMCA_FUCKER/re3.git
synced 2024-12-23 03:20:00 +00:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
7e4ef2162a
2
librw
2
librw
|
@ -1 +1 @@
|
||||||
Subproject commit 84c582c1d7a64a213523b8e4c8211f8b7a4fdcd1
|
Subproject commit 6ff378bb16007ad003b1a71996944a20f2e76556
|
|
@ -8552,12 +8552,12 @@ const MissionAudioData MissionAudioNameSfxAssoc[] = {
|
||||||
{"door_1", STREAMED_SOUND_MISSION_DOOR_1}, {"door_2", STREAMED_SOUND_MISSION_DOOR_2}, {"door_3", STREAMED_SOUND_MISSION_DOOR_3},
|
{"door_1", STREAMED_SOUND_MISSION_DOOR_1}, {"door_2", STREAMED_SOUND_MISSION_DOOR_2}, {"door_3", STREAMED_SOUND_MISSION_DOOR_3},
|
||||||
{"door_4", STREAMED_SOUND_MISSION_DOOR_4}, {"door_5", STREAMED_SOUND_MISSION_DOOR_5}, {"door_6", STREAMED_SOUND_MISSION_DOOR_6},
|
{"door_4", STREAMED_SOUND_MISSION_DOOR_4}, {"door_5", STREAMED_SOUND_MISSION_DOOR_5}, {"door_6", STREAMED_SOUND_MISSION_DOOR_6},
|
||||||
{"t3_a", STREAMED_SOUND_MISSION_T3_A}, {"t3_b", STREAMED_SOUND_MISSION_T3_B}, {"t3_c", STREAMED_SOUND_MISSION_T3_C},
|
{"t3_a", STREAMED_SOUND_MISSION_T3_A}, {"t3_b", STREAMED_SOUND_MISSION_T3_B}, {"t3_c", STREAMED_SOUND_MISSION_T3_C},
|
||||||
{"k1_b", STREAMED_SOUND_MISSION_K1_B}, {"c_1", STREAMED_SOUND_MISSION_CAT1}};
|
{"k1_b", STREAMED_SOUND_MISSION_K1_B}, {"c_1", STREAMED_SOUND_MISSION_CAT1}, {nil, 0}};
|
||||||
|
|
||||||
int32
|
int32
|
||||||
FindMissionAudioSfx(const char *name)
|
FindMissionAudioSfx(const char *name)
|
||||||
{
|
{
|
||||||
for (uint32 i = 0; i < ARRAY_SIZE(MissionAudioNameSfxAssoc); ++i) {
|
for (uint32 i = 0; MissionAudioNameSfxAssoc[i].m_pName != nil; ++i) {
|
||||||
if (!CGeneral::faststricmp(MissionAudioNameSfxAssoc[i].m_pName, name))
|
if (!CGeneral::faststricmp(MissionAudioNameSfxAssoc[i].m_pName, name))
|
||||||
return MissionAudioNameSfxAssoc[i].m_nId;
|
return MissionAudioNameSfxAssoc[i].m_nId;
|
||||||
}
|
}
|
||||||
|
|
|
@ -301,14 +301,14 @@ cMusicManager::GetRadioInCar(void)
|
||||||
CVehicle *veh = FindPlayerVehicle();
|
CVehicle *veh = FindPlayerVehicle();
|
||||||
if (veh != nil){
|
if (veh != nil){
|
||||||
if (UsesPoliceRadio(veh)) {
|
if (UsesPoliceRadio(veh)) {
|
||||||
if (m_nRadioInCar == NO_STREAMED_SOUND || CReplay::IsPlayingBack() && AudioManager.m_nUserPause)
|
if (m_nRadioInCar == NO_STREAMED_SOUND || (CReplay::IsPlayingBack() && AudioManager.m_nUserPause == 0))
|
||||||
return POLICE_RADIO;
|
return POLICE_RADIO;
|
||||||
return m_nRadioInCar;
|
return m_nRadioInCar;
|
||||||
} else return veh->m_nRadioStation;
|
} else return veh->m_nRadioStation;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_nRadioInCar == NO_STREAMED_SOUND || CReplay::IsPlayingBack() && AudioManager.m_nUserPause)
|
if (m_nRadioInCar == NO_STREAMED_SOUND || (CReplay::IsPlayingBack() && AudioManager.m_nUserPause == 0))
|
||||||
return RADIO_OFF;
|
return RADIO_OFF;
|
||||||
return m_nRadioInCar;
|
return m_nRadioInCar;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1028,12 +1028,6 @@ DebugMenuProcess(void)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef LIBRW
|
|
||||||
#define CURRENTCAM (rw::engine->currentCamera)
|
|
||||||
#else
|
|
||||||
#define CURRENTCAM ((RwCamera*)RWSRCGLOBAL(curCamera))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void
|
void
|
||||||
DebugMenuRender(void)
|
DebugMenuRender(void)
|
||||||
{
|
{
|
||||||
|
@ -1048,7 +1042,7 @@ DebugMenuRender(void)
|
||||||
RwRenderStateSet(rwRENDERSTATEFOGENABLE, 0);
|
RwRenderStateSet(rwRENDERSTATEFOGENABLE, 0);
|
||||||
RwRenderStateSet(rwRENDERSTATECULLMODE, (void*)rwCULLMODECULLNONE);
|
RwRenderStateSet(rwRENDERSTATECULLMODE, (void*)rwCULLMODECULLNONE);
|
||||||
|
|
||||||
RwCamera *cam = CURRENTCAM;
|
RwCamera *cam = RwCameraGetCurrentCamera();
|
||||||
screenWidth = RwRasterGetWidth(RwCameraGetRaster(cam));
|
screenWidth = RwRasterGetWidth(RwCameraGetRaster(cam));
|
||||||
screenHeight = RwRasterGetHeight(RwCameraGetRaster(cam));
|
screenHeight = RwRasterGetHeight(RwCameraGetRaster(cam));
|
||||||
|
|
||||||
|
@ -1080,7 +1074,7 @@ drawArrow(RwRect r, int direction, int style)
|
||||||
static RwImVertexIndex indices[] = { 0, 1, 2, 2, 1, 3 };
|
static RwImVertexIndex indices[] = { 0, 1, 2, 2, 1, 3 };
|
||||||
static RwIm2DVertex arrowVerts[4];
|
static RwIm2DVertex arrowVerts[4];
|
||||||
|
|
||||||
RwCamera *cam = CURRENTCAM;
|
RwCamera *cam = RwCameraGetCurrentCamera();
|
||||||
float recipz = 1.0f/RwCameraGetNearClipPlane(cam);
|
float recipz = 1.0f/RwCameraGetNearClipPlane(cam);
|
||||||
|
|
||||||
int width = RwRasterGetWidth(arrow);
|
int width = RwRasterGetWidth(arrow);
|
||||||
|
@ -1183,7 +1177,7 @@ drawMouse(void)
|
||||||
static RwIm2DVertex vertices[4];
|
static RwIm2DVertex vertices[4];
|
||||||
RwIm2DVertex *vert;
|
RwIm2DVertex *vert;
|
||||||
RwCamera *cam;
|
RwCamera *cam;
|
||||||
cam = CURRENTCAM;
|
cam = RwCameraGetCurrentCamera();
|
||||||
float x = mouseX;
|
float x = mouseX;
|
||||||
float y = mouseY;
|
float y = mouseY;
|
||||||
float w = RwRasterGetWidth(cursor);
|
float w = RwRasterGetWidth(cursor);
|
||||||
|
|
|
@ -152,7 +152,7 @@ RwReal RwCameraGetNearClipPlane(const RwCamera *camera) { return camera->n
|
||||||
RwReal RwCameraGetFarClipPlane(const RwCamera *camera) { return camera->farPlane; }
|
RwReal RwCameraGetFarClipPlane(const RwCamera *camera) { return camera->farPlane; }
|
||||||
RwCamera *RwCameraSetFogDistance(RwCamera *camera, RwReal fogDistance) { camera->fogPlane = fogDistance; return camera; }
|
RwCamera *RwCameraSetFogDistance(RwCamera *camera, RwReal fogDistance) { camera->fogPlane = fogDistance; return camera; }
|
||||||
RwReal RwCameraGetFogDistance(const RwCamera *camera) { return camera->fogPlane; }
|
RwReal RwCameraGetFogDistance(const RwCamera *camera) { return camera->fogPlane; }
|
||||||
RwCamera *RwCameraGetCurrentCamera(void);
|
RwCamera *RwCameraGetCurrentCamera(void) { return rw::engine->currentCamera; }
|
||||||
RwCameraProjection RwCameraGetProjection(const RwCamera *camera);
|
RwCameraProjection RwCameraGetProjection(const RwCamera *camera);
|
||||||
const RwV2d *RwCameraGetViewWindow(const RwCamera *camera) { return &camera->viewWindow; }
|
const RwV2d *RwCameraGetViewWindow(const RwCamera *camera) { return &camera->viewWindow; }
|
||||||
RwMatrix *RwCameraGetViewMatrix(RwCamera *camera) { return &camera->viewMatrix; }
|
RwMatrix *RwCameraGetViewMatrix(RwCamera *camera) { return &camera->viewMatrix; }
|
||||||
|
@ -615,8 +615,8 @@ RpGeometry *RpGeometryCreateSpace(RwReal radius);
|
||||||
RpMorphTarget *RpMorphTargetSetBoundingSphere(RpMorphTarget *morphTarget, const RwSphere *boundingSphere) { morphTarget->boundingSphere = *boundingSphere; return morphTarget; }
|
RpMorphTarget *RpMorphTargetSetBoundingSphere(RpMorphTarget *morphTarget, const RwSphere *boundingSphere) { morphTarget->boundingSphere = *boundingSphere; return morphTarget; }
|
||||||
RwSphere *RpMorphTargetGetBoundingSphere(RpMorphTarget *morphTarget) { return &morphTarget->boundingSphere; }
|
RwSphere *RpMorphTargetGetBoundingSphere(RpMorphTarget *morphTarget) { return &morphTarget->boundingSphere; }
|
||||||
const RpMorphTarget *RpMorphTargetCalcBoundingSphere(const RpMorphTarget *morphTarget, RwSphere *boundingSphere) { *boundingSphere = morphTarget->calculateBoundingSphere(); return morphTarget; }
|
const RpMorphTarget *RpMorphTargetCalcBoundingSphere(const RpMorphTarget *morphTarget, RwSphere *boundingSphere) { *boundingSphere = morphTarget->calculateBoundingSphere(); return morphTarget; }
|
||||||
RwInt32 RpGeometryAddMorphTargets(RpGeometry *geometry, RwInt32 mtcount);
|
RwInt32 RpGeometryAddMorphTargets(RpGeometry *geometry, RwInt32 mtcount) { RwInt32 n = geometry->numMorphTargets; geometry->addMorphTargets(mtcount); return n; }
|
||||||
RwInt32 RpGeometryAddMorphTarget(RpGeometry *geometry);
|
RwInt32 RpGeometryAddMorphTarget(RpGeometry *geometry) { return RpGeometryAddMorphTargets(geometry, 1); }
|
||||||
RpGeometry *RpGeometryRemoveMorphTarget(RpGeometry *geometry, RwInt32 morphTarget);
|
RpGeometry *RpGeometryRemoveMorphTarget(RpGeometry *geometry, RwInt32 morphTarget);
|
||||||
RwInt32 RpGeometryGetNumMorphTargets(const RpGeometry *geometry);
|
RwInt32 RpGeometryGetNumMorphTargets(const RpGeometry *geometry);
|
||||||
RpMorphTarget *RpGeometryGetMorphTarget(const RpGeometry *geometry, RwInt32 morphTarget) { return &geometry->morphTargets[morphTarget]; }
|
RpMorphTarget *RpGeometryGetMorphTarget(const RpGeometry *geometry, RwInt32 morphTarget) { return &geometry->morphTargets[morphTarget]; }
|
||||||
|
@ -790,6 +790,12 @@ RpMaterial *RpMatFXMaterialSetEnvMapFrame( RpMaterial *material, RwFrame *frame
|
||||||
mfx->setEnvFrame(frame);
|
mfx->setEnvFrame(frame);
|
||||||
return material;
|
return material;
|
||||||
}
|
}
|
||||||
|
RpMaterial *RpMatFXMaterialSetEnvMapFrameBufferAlpha( RpMaterial *material, RwBool useFrameBufferAlpha )
|
||||||
|
{
|
||||||
|
MatFX *mfx = MatFX::get(material);
|
||||||
|
mfx->setEnvFBAlpha(useFrameBufferAlpha);
|
||||||
|
return material;
|
||||||
|
}
|
||||||
RpMaterial *RpMatFXMaterialSetEnvMapCoefficient( RpMaterial *material, RwReal coef )
|
RpMaterial *RpMatFXMaterialSetEnvMapCoefficient( RpMaterial *material, RwReal coef )
|
||||||
{
|
{
|
||||||
MatFX *mfx = MatFX::get(material);
|
MatFX *mfx = MatFX::get(material);
|
||||||
|
|
|
@ -3232,7 +3232,7 @@ CAutomobile::VehicleDamage(float impulse, uint16 damagedPiece)
|
||||||
if(impulse > 25.0f && GetStatus() != STATUS_WRECKED){
|
if(impulse > 25.0f && GetStatus() != STATUS_WRECKED){
|
||||||
if(bIsLawEnforcer &&
|
if(bIsLawEnforcer &&
|
||||||
FindPlayerVehicle() && FindPlayerVehicle() == m_pDamageEntity &&
|
FindPlayerVehicle() && FindPlayerVehicle() == m_pDamageEntity &&
|
||||||
GetStatus() != STATUS_ABANDONED &&
|
GetStatus() != STATUS_ABANDONED &&
|
||||||
FindPlayerVehicle()->m_vecMoveSpeed.Magnitude() >= m_vecMoveSpeed.Magnitude() &&
|
FindPlayerVehicle()->m_vecMoveSpeed.Magnitude() >= m_vecMoveSpeed.Magnitude() &&
|
||||||
FindPlayerVehicle()->m_vecMoveSpeed.Magnitude() > 0.1f)
|
FindPlayerVehicle()->m_vecMoveSpeed.Magnitude() > 0.1f)
|
||||||
FindPlayerPed()->SetWantedLevelNoDrop(1);
|
FindPlayerPed()->SetWantedLevelNoDrop(1);
|
||||||
|
@ -3276,6 +3276,7 @@ CAutomobile::VehicleDamage(float impulse, uint16 damagedPiece)
|
||||||
case CAR_PIECE_BONNET:
|
case CAR_PIECE_BONNET:
|
||||||
GetComponentWorldPosition(CAR_BONNET, pos);
|
GetComponentWorldPosition(CAR_BONNET, pos);
|
||||||
dmgDrawCarCollidingParticles(pos, impulse);
|
dmgDrawCarCollidingParticles(pos, impulse);
|
||||||
|
if(GetModelIndex() != MI_DODO)
|
||||||
if(Damage.ApplyDamage(COMPONENT_DOOR_BONNET, impulse*impulseMult, pHandling->fCollisionDamageMultiplier)){
|
if(Damage.ApplyDamage(COMPONENT_DOOR_BONNET, impulse*impulseMult, pHandling->fCollisionDamageMultiplier)){
|
||||||
SetDoorDamage(CAR_BONNET, DOOR_BONNET);
|
SetDoorDamage(CAR_BONNET, DOOR_BONNET);
|
||||||
doubleMoney = true;
|
doubleMoney = true;
|
||||||
|
@ -3286,7 +3287,7 @@ CAutomobile::VehicleDamage(float impulse, uint16 damagedPiece)
|
||||||
case CAR_PIECE_BUMP_REAR:
|
case CAR_PIECE_BUMP_REAR:
|
||||||
GetComponentWorldPosition(CAR_BUMP_REAR, pos);
|
GetComponentWorldPosition(CAR_BUMP_REAR, pos);
|
||||||
dmgDrawCarCollidingParticles(pos, impulse);
|
dmgDrawCarCollidingParticles(pos, impulse);
|
||||||
if(Damage.ApplyDamage(COMPONENT_BUMPER_FRONT, impulse*impulseMult, pHandling->fCollisionDamageMultiplier)){
|
if(Damage.ApplyDamage(COMPONENT_BUMPER_REAR, impulse*impulseMult, pHandling->fCollisionDamageMultiplier)){
|
||||||
SetBumperDamage(CAR_BUMP_REAR, VEHBUMPER_REAR);
|
SetBumperDamage(CAR_BUMP_REAR, VEHBUMPER_REAR);
|
||||||
doubleMoney = true;
|
doubleMoney = true;
|
||||||
}
|
}
|
||||||
|
@ -3542,8 +3543,8 @@ CAutomobile::AddWheelDirtAndWater(CColPoint *colpoint, uint32 belowEffectSpeed)
|
||||||
int i;
|
int i;
|
||||||
CVector dir;
|
CVector dir;
|
||||||
static RwRGBA grassCol = { 8, 24, 8, 255 };
|
static RwRGBA grassCol = { 8, 24, 8, 255 };
|
||||||
static RwRGBA dirtCol = { 64, 64, 64, 255 };
|
static RwRGBA gravelCol = { 64, 64, 64, 255 };
|
||||||
static RwRGBA dirttrackCol = { 64, 32, 16, 255 };
|
static RwRGBA mudCol = { 64, 32, 16, 255 };
|
||||||
static RwRGBA waterCol = { 48, 48, 64, 0 };
|
static RwRGBA waterCol = { 48, 48, 64, 0 };
|
||||||
|
|
||||||
if(!belowEffectSpeed)
|
if(!belowEffectSpeed)
|
||||||
|
@ -3565,7 +3566,7 @@ CAutomobile::AddWheelDirtAndWater(CColPoint *colpoint, uint32 belowEffectSpeed)
|
||||||
for(i = 0; i < 4; i++){
|
for(i = 0; i < 4; i++){
|
||||||
dir.z = CGeneral::GetRandomNumberInRange(0.03f, 0.06f);
|
dir.z = CGeneral::GetRandomNumberInRange(0.03f, 0.06f);
|
||||||
CParticle::AddParticle(PARTICLE_WHEEL_DIRT, colpoint->point, dir, nil,
|
CParticle::AddParticle(PARTICLE_WHEEL_DIRT, colpoint->point, dir, nil,
|
||||||
CGeneral::GetRandomNumberInRange(0.02f, 0.06f), dirtCol);
|
CGeneral::GetRandomNumberInRange(0.02f, 0.06f), gravelCol);
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
case SURFACE_MUD_DRY:
|
case SURFACE_MUD_DRY:
|
||||||
|
@ -3574,7 +3575,7 @@ CAutomobile::AddWheelDirtAndWater(CColPoint *colpoint, uint32 belowEffectSpeed)
|
||||||
for(i = 0; i < 4; i++){
|
for(i = 0; i < 4; i++){
|
||||||
dir.z = CGeneral::GetRandomNumberInRange(0.03f, 0.06f);
|
dir.z = CGeneral::GetRandomNumberInRange(0.03f, 0.06f);
|
||||||
CParticle::AddParticle(PARTICLE_WHEEL_DIRT, colpoint->point, dir, nil,
|
CParticle::AddParticle(PARTICLE_WHEEL_DIRT, colpoint->point, dir, nil,
|
||||||
CGeneral::GetRandomNumberInRange(0.02f, 0.06f), dirttrackCol);
|
CGeneral::GetRandomNumberInRange(0.02f, 0.06f), mudCol);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
default:
|
default:
|
||||||
|
@ -4420,7 +4421,7 @@ CAutomobile::SpawnFlyingComponent(int32 component, uint32 type)
|
||||||
dist += GetUp();
|
dist += GetUp();
|
||||||
if(GetUp().z > 0.0f){
|
if(GetUp().z > 0.0f){
|
||||||
// simulate fast upward movement if going fast
|
// simulate fast upward movement if going fast
|
||||||
float speed = CVector2D(m_vecMoveSpeed).MagnitudeSqr();
|
float speed = CVector2D(m_vecMoveSpeed).Magnitude();
|
||||||
obj->GetMatrix().Translate(GetUp()*speed);
|
obj->GetMatrix().Translate(GetUp()*speed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4452,8 +4453,11 @@ CAutomobile::RemoveBonnetInPedCollision(void)
|
||||||
|
|
||||||
if(Damage.GetDoorStatus(DOOR_BONNET) == DOOR_STATUS_SWINGING &&
|
if(Damage.GetDoorStatus(DOOR_BONNET) == DOOR_STATUS_SWINGING &&
|
||||||
Doors[DOOR_BONNET].RetAngleWhenOpen()*0.4f < Doors[DOOR_BONNET].m_fAngle){
|
Doors[DOOR_BONNET].RetAngleWhenOpen()*0.4f < Doors[DOOR_BONNET].m_fAngle){
|
||||||
// BUG? why not COMPGROUP_BONNET?
|
#ifdef FIX_BUGS
|
||||||
|
obj = SpawnFlyingComponent(CAR_BONNET, COMPGROUP_BONNET);
|
||||||
|
#else
|
||||||
obj = SpawnFlyingComponent(CAR_BONNET, COMPGROUP_DOOR);
|
obj = SpawnFlyingComponent(CAR_BONNET, COMPGROUP_DOOR);
|
||||||
|
#endif
|
||||||
// make both doors invisible on car
|
// make both doors invisible on car
|
||||||
SetComponentVisibility(m_aCarNodes[CAR_BONNET], ATOMIC_FLAG_NONE);
|
SetComponentVisibility(m_aCarNodes[CAR_BONNET], ATOMIC_FLAG_NONE);
|
||||||
Damage.SetDoorStatus(DOOR_BONNET, DOOR_STATUS_MISSING);
|
Damage.SetDoorStatus(DOOR_BONNET, DOOR_STATUS_MISSING);
|
||||||
|
@ -4514,13 +4518,16 @@ CAutomobile::SetDoorDamage(int32 component, eDoors door, bool noFlyingComponents
|
||||||
status = DOOR_STATUS_MISSING;
|
status = DOOR_STATUS_MISSING;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(status == DOOR_STATUS_SMASHED){
|
switch(status){
|
||||||
|
case DOOR_STATUS_SMASHED:
|
||||||
// show damaged part
|
// show damaged part
|
||||||
SetComponentVisibility(m_aCarNodes[component], ATOMIC_FLAG_DAM);
|
SetComponentVisibility(m_aCarNodes[component], ATOMIC_FLAG_DAM);
|
||||||
}else if(status == DOOR_STATUS_SWINGING){
|
break;
|
||||||
|
case DOOR_STATUS_SWINGING:
|
||||||
// turn off angle cull for swinging doors
|
// turn off angle cull for swinging doors
|
||||||
RwFrameForAllObjects(m_aCarNodes[component], CVehicleModelInfo::SetAtomicFlagCB, (void*)ATOMIC_FLAG_NOCULL);
|
RwFrameForAllObjects(m_aCarNodes[component], CVehicleModelInfo::SetAtomicFlagCB, (void*)ATOMIC_FLAG_NOCULL);
|
||||||
}else if(status == DOOR_STATUS_MISSING){
|
break;
|
||||||
|
case DOOR_STATUS_MISSING:
|
||||||
if(!noFlyingComponents){
|
if(!noFlyingComponents){
|
||||||
if(door == DOOR_BONNET)
|
if(door == DOOR_BONNET)
|
||||||
SpawnFlyingComponent(component, COMPGROUP_BONNET);
|
SpawnFlyingComponent(component, COMPGROUP_BONNET);
|
||||||
|
@ -4531,6 +4538,7 @@ CAutomobile::SetDoorDamage(int32 component, eDoors door, bool noFlyingComponents
|
||||||
}
|
}
|
||||||
// hide both
|
// hide both
|
||||||
SetComponentVisibility(m_aCarNodes[component], ATOMIC_FLAG_NONE);
|
SetComponentVisibility(m_aCarNodes[component], ATOMIC_FLAG_NONE);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ CDamageManager::CDamageManager(void)
|
||||||
{
|
{
|
||||||
ResetDamageStatus();
|
ResetDamageStatus();
|
||||||
m_fWheelDamageEffect = 0.75f;
|
m_fWheelDamageEffect = 0.75f;
|
||||||
field_24 = 1;
|
field_18 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -28,12 +28,8 @@ CDamageManager::FuckCarCompletely(void)
|
||||||
m_wheelStatus[0] = WHEEL_STATUS_MISSING;
|
m_wheelStatus[0] = WHEEL_STATUS_MISSING;
|
||||||
// wheels 1-3 not reset?
|
// wheels 1-3 not reset?
|
||||||
|
|
||||||
m_doorStatus[0] = DOOR_STATUS_MISSING;
|
for(i = 0; i < ARRAY_SIZE(m_doorStatus); i++)
|
||||||
m_doorStatus[1] = DOOR_STATUS_MISSING;
|
m_doorStatus[i] = DOOR_STATUS_MISSING;
|
||||||
m_doorStatus[2] = DOOR_STATUS_MISSING;
|
|
||||||
m_doorStatus[3] = DOOR_STATUS_MISSING;
|
|
||||||
m_doorStatus[4] = DOOR_STATUS_MISSING;
|
|
||||||
m_doorStatus[5] = DOOR_STATUS_MISSING;
|
|
||||||
|
|
||||||
for(i = 0; i < 3; i++){
|
for(i = 0; i < 3; i++){
|
||||||
#ifdef FIX_BUGS
|
#ifdef FIX_BUGS
|
||||||
|
|
|
@ -86,7 +86,7 @@ public:
|
||||||
uint8 m_doorStatus[6];
|
uint8 m_doorStatus[6];
|
||||||
uint32 m_lightStatus;
|
uint32 m_lightStatus;
|
||||||
uint32 m_panelStatus;
|
uint32 m_panelStatus;
|
||||||
uint32 field_24;
|
uint8 field_18;
|
||||||
|
|
||||||
CDamageManager(void);
|
CDamageManager(void);
|
||||||
|
|
||||||
|
|
|
@ -780,7 +780,7 @@ CVehicle::ShufflePassengersToMakeSpace(void)
|
||||||
return false;
|
return false;
|
||||||
if (pPassengers[1] &&
|
if (pPassengers[1] &&
|
||||||
!(m_nGettingInFlags & CAR_DOOR_FLAG_LR) &&
|
!(m_nGettingInFlags & CAR_DOOR_FLAG_LR) &&
|
||||||
IsRoomForPedToLeaveCar(COMPONENT_DOOR_REAR_LEFT, nil)) {
|
IsRoomForPedToLeaveCar(CAR_DOOR_LR, nil)) {
|
||||||
if (!pPassengers[2] && !(m_nGettingInFlags & CAR_DOOR_FLAG_RR)) {
|
if (!pPassengers[2] && !(m_nGettingInFlags & CAR_DOOR_FLAG_RR)) {
|
||||||
pPassengers[2] = pPassengers[1];
|
pPassengers[2] = pPassengers[1];
|
||||||
pPassengers[1] = nil;
|
pPassengers[1] = nil;
|
||||||
|
@ -797,7 +797,7 @@ CVehicle::ShufflePassengersToMakeSpace(void)
|
||||||
}
|
}
|
||||||
if (pPassengers[2] &&
|
if (pPassengers[2] &&
|
||||||
!(m_nGettingInFlags & CAR_DOOR_FLAG_RR) &&
|
!(m_nGettingInFlags & CAR_DOOR_FLAG_RR) &&
|
||||||
IsRoomForPedToLeaveCar(COMPONENT_DOOR_REAR_RIGHT, nil)) {
|
IsRoomForPedToLeaveCar(CAR_DOOR_RR, nil)) {
|
||||||
if (!pPassengers[1] && !(m_nGettingInFlags & CAR_DOOR_FLAG_LR)) {
|
if (!pPassengers[1] && !(m_nGettingInFlags & CAR_DOOR_FLAG_LR)) {
|
||||||
pPassengers[1] = pPassengers[2];
|
pPassengers[1] = pPassengers[2];
|
||||||
pPassengers[2] = nil;
|
pPassengers[2] = nil;
|
||||||
|
@ -814,7 +814,7 @@ CVehicle::ShufflePassengersToMakeSpace(void)
|
||||||
}
|
}
|
||||||
if (pPassengers[0] &&
|
if (pPassengers[0] &&
|
||||||
!(m_nGettingInFlags & CAR_DOOR_FLAG_RF) &&
|
!(m_nGettingInFlags & CAR_DOOR_FLAG_RF) &&
|
||||||
IsRoomForPedToLeaveCar(COMPONENT_DOOR_FRONT_RIGHT, nil)) {
|
IsRoomForPedToLeaveCar(CAR_DOOR_RF, nil)) {
|
||||||
if (!pPassengers[1] && !(m_nGettingInFlags & CAR_DOOR_FLAG_LR)) {
|
if (!pPassengers[1] && !(m_nGettingInFlags & CAR_DOOR_FLAG_LR)) {
|
||||||
pPassengers[1] = pPassengers[0];
|
pPassengers[1] = pPassengers[0];
|
||||||
pPassengers[0] = nil;
|
pPassengers[0] = nil;
|
||||||
|
@ -1192,7 +1192,7 @@ CVehicle::ProcessCarAlarm(void)
|
||||||
{
|
{
|
||||||
uint32 step;
|
uint32 step;
|
||||||
|
|
||||||
if(m_nAlarmState == 0 || m_nAlarmState == -1)
|
if(!IsAlarmOn())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
step = CTimer::GetTimeStepInMilliseconds();
|
step = CTimer::GetTimeStepInMilliseconds();
|
||||||
|
|
Loading…
Reference in a new issue