This commit is contained in:
Nikolay Korolev
2021-06-25 10:15:19 +03:00
200 changed files with 18744 additions and 7666 deletions

View File

@ -2920,8 +2920,8 @@ CAutomobile::ProcessControlInputs(uint8 pad)
float speed = DotProduct(m_vecMoveSpeed, GetForward());
if(!CPad::GetPad(pad)->GetExitVehicle() ||
pDriver && pDriver->m_pVehicleAnim && (pDriver->m_pVehicleAnim->animId == ANIM_CAR_ROLLOUT_LHS ||
pDriver->m_pVehicleAnim->animId == ANIM_CAR_ROLLOUT_RHS))
pDriver && pDriver->m_pVehicleAnim && (pDriver->m_pVehicleAnim->animId == ANIM_STD_ROLLOUT_LHS ||
pDriver->m_pVehicleAnim->animId == ANIM_STD_ROLLOUT_RHS))
bIsHandbrakeOn = !!CPad::GetPad(pad)->GetHandBrake();
else
bIsHandbrakeOn = true;
@ -3707,11 +3707,11 @@ CAutomobile::DoDriveByShootings(void)
lookingRight = true;
}
AnimationId rightAnim = ANIM_DRIVEBY_R;
AnimationId leftAnim = ANIM_DRIVEBY_L;
AnimationId rightAnim = ANIM_STD_CAR_DRIVEBY_RIGHT;
AnimationId leftAnim = ANIM_STD_CAR_DRIVEBY_LEFT;
if (pDriver->m_pMyVehicle->bLowVehicle) {
rightAnim = ANIM_DRIVEBY_LOW_R;
leftAnim = ANIM_DRIVEBY_LOW_L;
rightAnim = ANIM_STD_CAR_DRIVEBY_RIGHT_LO;
leftAnim = ANIM_STD_CAR_DRIVEBY_LEFT_LO;
}
if(lookingLeft || lookingRight){
@ -3750,11 +3750,11 @@ CAutomobile::DoDriveByShootings(void)
// TODO: what is this?
if(!lookingLeft && m_weaponDoorTimerLeft > 0.0f){
m_weaponDoorTimerLeft = Max(m_weaponDoorTimerLeft - CTimer::GetTimeStep()*0.1f, 0.0f);
ProcessOpenDoor(CAR_DOOR_LF, NUM_STD_ANIMS, m_weaponDoorTimerLeft);
ProcessOpenDoor(CAR_DOOR_LF, ANIM_STD_NUM, m_weaponDoorTimerLeft);
}
if(!lookingRight && m_weaponDoorTimerRight > 0.0f){
m_weaponDoorTimerRight = Max(m_weaponDoorTimerRight - CTimer::GetTimeStep()*0.1f, 0.0f);
ProcessOpenDoor(CAR_DOOR_RF, NUM_STD_ANIMS, m_weaponDoorTimerRight);
ProcessOpenDoor(CAR_DOOR_RF, ANIM_STD_NUM, m_weaponDoorTimerRight);
}
}
@ -4474,55 +4474,55 @@ CAutomobile::ProcessOpenDoor(uint32 component, uint32 anim, float time)
return;
switch(anim){
case ANIM_CAR_QJACK:
case ANIM_CAR_OPEN_LHS:
case ANIM_CAR_OPEN_RHS:
case ANIM_STD_QUICKJACK:
case ANIM_STD_CAR_OPEN_DOOR_LHS:
case ANIM_STD_CAR_OPEN_DOOR_RHS:
ProcessDoorOpenAnimation(this, component, door, time, 0.41f, 0.89f);
break;
case ANIM_CAR_CLOSEDOOR_LHS:
case ANIM_CAR_CLOSEDOOR_LOW_LHS:
case ANIM_CAR_CLOSEDOOR_RHS:
case ANIM_CAR_CLOSEDOOR_LOW_RHS:
case ANIM_STD_CAR_CLOSE_DOOR_LHS:
case ANIM_STD_CAR_CLOSE_DOOR_LO_LHS:
case ANIM_STD_CAR_CLOSE_DOOR_RHS:
case ANIM_STD_CAR_CLOSE_DOOR_LO_RHS:
ProcessDoorCloseAnimation(this, component, door, time, 0.2f, 0.45f);
break;
case ANIM_CAR_ROLLDOOR:
case ANIM_CAR_ROLLDOOR_LOW:
case ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LHS:
case ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LO_LHS:
ProcessDoorOpenCloseAnimation(this, component, door, time, 0.1f, 0.6f, 0.95f);
break;
case ANIM_CAR_GETOUT_LHS:
case ANIM_CAR_GETOUT_LOW_LHS:
case ANIM_CAR_GETOUT_RHS:
case ANIM_CAR_GETOUT_LOW_RHS:
case ANIM_STD_GETOUT_LHS:
case ANIM_STD_GETOUT_LO_LHS:
case ANIM_STD_GETOUT_RHS:
case ANIM_STD_GETOUT_LO_RHS:
ProcessDoorOpenAnimation(this, component, door, time, 0.06f, 0.43f);
break;
case ANIM_CAR_CLOSE_LHS:
case ANIM_CAR_CLOSE_RHS:
case ANIM_STD_CAR_CLOSE_LHS:
case ANIM_STD_CAR_CLOSE_RHS:
ProcessDoorCloseAnimation(this, component, door, time, 0.1f, 0.23f);
break;
case ANIM_CAR_PULLOUT_RHS:
case ANIM_CAR_PULLOUT_LOW_RHS:
case ANIM_STD_CAR_PULL_OUT_PED_RHS:
case ANIM_STD_CAR_PULL_OUT_PED_LO_RHS:
OpenDoor(component, door, 1.0f);
break;
case ANIM_COACH_OPEN_L:
case ANIM_COACH_OPEN_R:
case ANIM_STD_COACH_OPEN_LHS:
case ANIM_STD_COACH_OPEN_RHS:
ProcessDoorOpenAnimation(this, component, door, time, 0.66f, 0.8f);
break;
case ANIM_COACH_OUT_L:
case ANIM_STD_COACH_GET_OUT_LHS:
ProcessDoorOpenAnimation(this, component, door, time, 0.0f, 0.3f);
break;
case ANIM_VAN_OPEN_L:
case ANIM_VAN_OPEN:
case ANIM_STD_VAN_OPEN_DOOR_REAR_LHS:
case ANIM_STD_VAN_OPEN_DOOR_REAR_RHS:
ProcessDoorOpenAnimation(this, component, door, time, 0.37f, 0.55f);
break;
case ANIM_VAN_CLOSE_L:
case ANIM_VAN_CLOSE:
case ANIM_STD_VAN_CLOSE_DOOR_REAR_LHS:
case ANIM_STD_VAN_CLOSE_DOOR_REAR_RHS:
ProcessDoorCloseAnimation(this, component, door, time, 0.5f, 0.8f);
break;
case ANIM_VAN_GETOUT_L:
case ANIM_VAN_GETOUT:
case ANIM_STD_VAN_GET_OUT_REAR_LHS:
case ANIM_STD_VAN_GET_OUT_REAR_RHS:
ProcessDoorOpenAnimation(this, component, door, time, 0.5f, 0.6f);
break;
case NUM_STD_ANIMS:
case ANIM_STD_NUM:
OpenDoor(component, door, time);
break;
}
@ -4810,7 +4810,7 @@ CAutomobile::GetHeightAboveRoad(void)
void
CAutomobile::PlayCarHorn(void)
{
int r;
uint32 r;
if (IsAlarmOn() || m_nCarHornTimer != 0)
return;
@ -5679,13 +5679,13 @@ CAutomobile::CloseAllDoors(void)
void
CAutomobile::KnockPedOutCar(eWeaponType weapon, uint16 door, CPed *ped)
{
AnimationId anim = ANIM_KO_SHOT_FRONT1;
AnimationId anim = ANIM_STD_KO_FRONT;
if(ped == nil)
return;
ped->m_vehDoor = door;
ped->SetPedState(PED_IDLE);
CAnimManager::BlendAnimation(ped->GetClump(), ped->m_animGroup, ANIM_IDLE_STANCE, 100.0f);
CAnimManager::BlendAnimation(ped->GetClump(), ped->m_animGroup, ANIM_STD_IDLE, 100.0f);
CPed::PedSetOutCarCB(nil, ped);
ped->SetMoveState(PEDMOVE_STILL);
if(GetUp().z < 0.0f)
@ -5698,14 +5698,14 @@ CAutomobile::KnockPedOutCar(eWeaponType weapon, uint16 door, CPed *ped)
case WEAPONTYPE_UNIDENTIFIED:
ped->m_vecMoveSpeed = m_vecMoveSpeed;
ped->m_pCollidingEntity = this;
anim = NUM_STD_ANIMS;
anim = ANIM_STD_NUM;
break;
case WEAPONTYPE_BASEBALLBAT:
case WEAPONTYPE_RAMMEDBYCAR:
case WEAPONTYPE_FALL:
ped->m_vecMoveSpeed = m_vecMoveSpeed;
anim = ANIM_KD_LEFT;
anim = ANIM_STD_SPINFORWARD_LEFT;
ApplyMoveForce(4.0f*GetUp() + 8.0f*GetRight());
break;
}

View File

@ -575,7 +575,7 @@ CBike::ProcessControl(void)
// Lean forward speed up
float savedAirResistance = m_fAirResistance;
if(GetStatus() == STATUS_PLAYER && pDriver){
CAnimBlendAssociation *assoc = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_FWD);
CAnimBlendAssociation *assoc = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_LEANF);
if(assoc && assoc->blendAmount > 0.5f &&
assoc->currentTime > 0.06f && assoc->currentTime < 0.14f){
m_fAirResistance *= 0.6f;
@ -1016,7 +1016,7 @@ CBike::ProcessControl(void)
// Process leaning
float idleAngle = 0.0f;
if(pDriver){
CAnimBlendAssociation *assoc = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_STILL);
CAnimBlendAssociation *assoc = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_READY);
if(assoc)
idleAngle = DEGTORAD(10.0f) * assoc->blendAmount;
}
@ -2037,35 +2037,35 @@ CBike::DoDriveByShootings(void)
if(lookingLeft || lookingRight || CPad::GetPad(0)->GetCarGunFired()){
if(lookingLeft){
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_LHS);
if(anim)
anim->blendDelta = -1000.0f;
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_FT);
if(anim)
anim->blendDelta = -1000.0f;
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_RHS);
if(anim == nil || anim->blendDelta < 0.0f)
anim = CAnimManager::AddAnimation(pDriver->GetClump(), m_bikeAnimType, ANIM_BIKE_DRIVEBY_RHS);
}else if(lookingRight){
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_RHS);
if(anim)
anim->blendDelta = -1000.0f;
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_FT);
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_FORWARD);
if(anim)
anim->blendDelta = -1000.0f;
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_LHS);
if(anim == nil || anim->blendDelta < 0.0f)
anim = CAnimManager::AddAnimation(pDriver->GetClump(), m_bikeAnimType, ANIM_BIKE_DRIVEBY_LHS);
}else{
}else if(lookingRight){
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_LHS);
if(anim)
anim->blendDelta = -1000.0f;
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_FORWARD);
if(anim)
anim->blendDelta = -1000.0f;
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_RHS);
if(anim == nil || anim->blendDelta < 0.0f)
anim = CAnimManager::AddAnimation(pDriver->GetClump(), m_bikeAnimType, ANIM_BIKE_DRIVEBY_RHS);
}else{
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_RHS);
if(anim)
anim->blendDelta = -1000.0f;
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_FT);
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_LHS);
if(anim)
anim->blendDelta = -1000.0f;
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_FORWARD);
if(anim == nil || anim->blendDelta < 0.0f)
anim = CAnimManager::AddAnimation(pDriver->GetClump(), m_bikeAnimType, ANIM_BIKE_DRIVEBY_FT);
anim = CAnimManager::AddAnimation(pDriver->GetClump(), m_bikeAnimType, ANIM_BIKE_DRIVEBY_FORWARD);
}
if (!anim || !anim->IsRunning()) {
@ -2076,13 +2076,13 @@ CBike::DoDriveByShootings(void)
}
}else{
weapon->Reload();
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_RHS);
if(anim)
anim->blendDelta = -1000.0f;
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_LHS);
if(anim)
anim->blendDelta = -1000.0f;
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_FT);
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_RHS);
if(anim)
anim->blendDelta = -1000.0f;
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_BIKE_DRIVEBY_FORWARD);
if(anim)
anim->blendDelta = -1000.0f;
}
@ -2549,7 +2549,7 @@ CBike::GetHeightAboveRoad(void)
void
CBike::PlayCarHorn(void)
{
int r;
uint32 r;
if (IsAlarmOn() || m_nCarHornTimer != 0)
return;
@ -2576,7 +2576,7 @@ CBike::PlayCarHorn(void)
void
CBike::KnockOffRider(eWeaponType weapon, uint8 direction, CPed *ped, bool bGetBackOn)
{
AnimationId anim = ANIM_KO_SHOT_FRONT1;
AnimationId anim = ANIM_STD_KO_FRONT;
if(ped == nil)
return;
@ -2614,7 +2614,7 @@ CBike::KnockOffRider(eWeaponType weapon, uint8 direction, CPed *ped, bool bGetBa
}
ped->SetPedState(PED_IDLE);
CAnimManager::BlendAnimation(ped->GetClump(), ped->m_animGroup, ANIM_IDLE_STANCE, 100.0f);
CAnimManager::BlendAnimation(ped->GetClump(), ped->m_animGroup, ANIM_STD_IDLE, 100.0f);
ped->m_vehDoor = CAR_DOOR_LF;
CPed::PedSetOutCarCB(nil, ped);
ped->SetMoveState(PEDMOVE_STILL);
@ -2628,14 +2628,14 @@ CBike::KnockOffRider(eWeaponType weapon, uint8 direction, CPed *ped, bool bGetBa
case WEAPONTYPE_UNIDENTIFIED:
ped->m_vecMoveSpeed = m_vecMoveSpeed;
ped->m_pCollidingEntity = this;
anim = NUM_STD_ANIMS;
anim = ANIM_STD_NUM;
break;
case WEAPONTYPE_BASEBALLBAT:
default:
switch(direction){
case 0:
anim = ANIM_BIKE_FALL_R;
anim = ANIM_STD_BIKE_FALLBACK;
ped->m_vecMoveSpeed = CVector(0.0f, 0.0f, 0.1f);
if(m_vecMoveSpeed.MagnitudeSqr() < SQR(0.3f))
ped->ApplyMoveForce(5.0f*GetUp() - 6.0f*GetForward());
@ -2644,11 +2644,11 @@ CBike::KnockOffRider(eWeaponType weapon, uint8 direction, CPed *ped, bool bGetBa
case 1:
case 2:
if(m_vecMoveSpeed.MagnitudeSqr() > SQR(0.3f)){
anim = ANIM_KO_SPIN_R;
anim = ANIM_STD_HIGHIMPACT_LEFT;
ped->m_vecMoveSpeed = 0.3f*m_vecMoveSpeed;
ped->ApplyMoveForce(5.0f*GetUp() + 6.0f*GetRight());
}else{
anim = ANIM_KD_LEFT;
anim = ANIM_STD_SPINFORWARD_LEFT;
ped->m_vecMoveSpeed = m_vecMoveSpeed;
ped->ApplyMoveForce(4.0f*GetUp() + 8.0f*GetRight());
}
@ -2657,11 +2657,11 @@ CBike::KnockOffRider(eWeaponType weapon, uint8 direction, CPed *ped, bool bGetBa
break;
case 3:
if(m_vecMoveSpeed.MagnitudeSqr() > SQR(0.3f)){
anim = ANIM_KO_SPIN_L;
anim = ANIM_STD_HIGHIMPACT_RIGHT;
ped->m_vecMoveSpeed = 0.3f*m_vecMoveSpeed;
ped->ApplyMoveForce(5.0f*GetUp() - 6.0f*GetRight());
}else{
anim = ANIM_KD_RIGHT;
anim = ANIM_STD_SPINFORWARD_RIGHT;
ped->m_vecMoveSpeed = m_vecMoveSpeed;
ped->ApplyMoveForce(4.0f*GetUp() - 8.0f*GetRight());
}
@ -2673,7 +2673,7 @@ CBike::KnockOffRider(eWeaponType weapon, uint8 direction, CPed *ped, bool bGetBa
case WEAPONTYPE_DROWNING:{
RwRGBA color;
anim = ANIM_FALL_FALL;
anim = ANIM_STD_FALL;
ped->m_vecMoveSpeed = m_vecMoveSpeed*0.2f;
ped->m_vecMoveSpeed.z = 0.0f;
ped->m_pCollidingEntity = this;
@ -2698,10 +2698,10 @@ CBike::KnockOffRider(eWeaponType weapon, uint8 direction, CPed *ped, bool bGetBa
CGeneral::GetRandomNumberInRange(3.0f, 7.0f));
ped->m_pCollidingEntity = this;
switch(direction){
case 0: anim = ANIM_KO_SKID_BACK; break;
case 1: anim = ANIM_KD_RIGHT; break;
case 2: anim = ANIM_BIKE_FALL_R; break;
case 3: anim = ANIM_KD_LEFT; break;
case 0: anim = ANIM_STD_HIGHIMPACT_BACK; break;
case 1: anim = ANIM_STD_SPINFORWARD_RIGHT; break;
case 2: anim = ANIM_STD_BIKE_FALLBACK; break;
case 3: anim = ANIM_STD_SPINFORWARD_LEFT; break;
}
if(m_nWheelsOnGround == 0)
ped->bKnockedOffBike = true;
@ -2717,10 +2717,10 @@ CBike::KnockOffRider(eWeaponType weapon, uint8 direction, CPed *ped, bool bGetBa
CGeneral::GetRandomNumberInRange(minForceZ, maxForceZ));
ped->m_pCollidingEntity = this;
switch(direction){
case 0: anim = ANIM_KO_SKID_BACK; break;
case 1: anim = ANIM_KD_RIGHT; break;
case 2: anim = ANIM_KO_SKID_FRONT; break;
case 3: anim = ANIM_KD_LEFT; break;
case 0: anim = ANIM_STD_HIGHIMPACT_BACK; break;
case 1: anim = ANIM_STD_SPINFORWARD_RIGHT; break;
case 2: anim = ANIM_STD_HIGHIMPACT_FRONT; break;
case 3: anim = ANIM_STD_SPINFORWARD_LEFT; break;
}
ped->bKnockedOffBike = true;
if(ped->IsPlayer())
@ -2735,7 +2735,7 @@ CBike::KnockOffRider(eWeaponType weapon, uint8 direction, CPed *ped, bool bGetBa
ped->bIsInTheAir = true;
ped->bIsInWater = true;
ped->bTouchingWater = true;
CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_FALL_FALL, 4.0f);
CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_FALL, 4.0f);
}else if(weapon != WEAPONTYPE_UNARMED){
if(ped->m_fHealth > 0.0f)
ped->SetFall(1000, anim, 0);

View File

@ -1440,19 +1440,19 @@ CBoat::DoDriveByShootings(void)
if(lookingLeft || lookingRight){
if(lookingLeft){
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_DRIVEBY_R);
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_STD_CAR_DRIVEBY_RIGHT);
if(anim)
anim->blendDelta = -1000.0f;
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_DRIVEBY_L);
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_STD_CAR_DRIVEBY_LEFT);
if(anim == nil || anim->blendDelta < 0.0f)
anim = CAnimManager::AddAnimation(pDriver->GetClump(), ASSOCGRP_STD, ANIM_DRIVEBY_L);
anim = CAnimManager::AddAnimation(pDriver->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_DRIVEBY_LEFT);
}else if(pDriver->m_pMyVehicle->pPassengers[0] == nil || TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_1STPERSON){
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_DRIVEBY_L);
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_STD_CAR_DRIVEBY_LEFT);
if(anim)
anim->blendDelta = -1000.0f;
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_DRIVEBY_R);
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_STD_CAR_DRIVEBY_RIGHT);
if(anim == nil || anim->blendDelta < 0.0f)
anim = CAnimManager::AddAnimation(pDriver->GetClump(), ASSOCGRP_STD, ANIM_DRIVEBY_R);
anim = CAnimManager::AddAnimation(pDriver->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_DRIVEBY_RIGHT);
}
if (!anim || !anim->IsRunning()) {
@ -1463,10 +1463,10 @@ CBoat::DoDriveByShootings(void)
}
}else{
weapon->Reload();
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_DRIVEBY_L);
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_STD_CAR_DRIVEBY_LEFT);
if(anim)
anim->blendDelta = -1000.0f;
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_DRIVEBY_R);
anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_STD_CAR_DRIVEBY_RIGHT);
if(anim)
anim->blendDelta = -1000.0f;
}

View File

@ -737,7 +737,7 @@ CHeli::SendDownSwat(void)
m_numSwat--;
swat->m_nRopeID = (uintptr)this + m_numSwat;
m_aSwatState[m_numSwat] = 255;
CAnimManager::BlendAnimation(swat->GetClump(), ASSOCGRP_STD, ANIM_ABSEIL, 4.0f);
CAnimManager::BlendAnimation(swat->GetClump(), ASSOCGRP_STD, ANIM_STD_ABSEIL, 4.0f);
return true;
}
return false;

View File

@ -123,7 +123,7 @@ void
CPlane::DeleteRwObject(void)
{
if(m_rwObject && RwObjectGetType(m_rwObject) == rpATOMIC){
m_matrix.Detach();
GetMatrix().Detach();
if(RwObjectGetType(m_rwObject) == rpATOMIC){ // useless check
RwFrame *f = RpAtomicGetFrame((RpAtomic*)m_rwObject);
RpAtomicDestroy((RpAtomic*)m_rwObject);
@ -567,13 +567,13 @@ CPlane::ProcessControl(void)
m_rwObject = CModelInfo::GetModelInfo(mi->m_planeLodId)->CreateInstance();
POP_MEMID();
if(m_rwObject)
m_matrix.AttachRW(RwFrameGetMatrix(RpAtomicGetFrame((RpAtomic*)m_rwObject)));
GetMatrix().AttachRW(RwFrameGetMatrix(RpAtomicGetFrame((RpAtomic*)m_rwObject)));
}
}
}else if(CStreaming::HasModelLoaded(GetModelIndex())){
if(m_rwObject && RwObjectGetType(m_rwObject) == rpATOMIC){
// Get rid of LOD model
m_matrix.Detach();
GetMatrix().Detach();
if(m_rwObject){ // useless check
if(RwObjectGetType(m_rwObject) == rpATOMIC){ // useless check
RwFrame *f = RpAtomicGetFrame((RpAtomic*)m_rwObject);

View File

@ -50,10 +50,10 @@ bool CVehicle::bDisableRemoteDetonationOnContact;
bool CVehicle::m_bDisplayHandlingInfo;
#endif
void *CVehicle::operator new(size_t sz) { return CPools::GetVehiclePool()->New(); }
void *CVehicle::operator new(size_t sz, int handle) { return CPools::GetVehiclePool()->New(handle); }
void CVehicle::operator delete(void *p, size_t sz) { CPools::GetVehiclePool()->Delete((CVehicle*)p); }
void CVehicle::operator delete(void *p, int handle) { CPools::GetVehiclePool()->Delete((CVehicle*)p); }
void *CVehicle::operator new(size_t sz) throw() { return CPools::GetVehiclePool()->New(); }
void *CVehicle::operator new(size_t sz, int handle) throw() { return CPools::GetVehiclePool()->New(handle); }
void CVehicle::operator delete(void *p, size_t sz) throw() { CPools::GetVehiclePool()->Delete((CVehicle*)p); }
void CVehicle::operator delete(void *p, int handle) throw() { CPools::GetVehiclePool()->Delete((CVehicle*)p); }
#ifdef FIX_BUGS
// I think they meant that
@ -152,8 +152,8 @@ CVehicle::CVehicle(uint8 CreatedBy)
m_fMapObjectHeightAhead = m_fMapObjectHeightBehind = 0.0f;
m_audioEntityId = DMAudio.CreateEntity(AUDIOTYPE_PHYSICAL, this);
if(m_audioEntityId >= 0)
DMAudio.SetEntityStatus(m_audioEntityId, true);
//m_nRadioStation = CGeneral::GetRandomNumber() % USERTRACK;
DMAudio.SetEntityStatus(m_audioEntityId, TRUE);
//m_nRadioStation = CGeneral::GetRandomNumber() % NUM_RADIOS;
switch(GetModelIndex()){
case MI_HUNTER:
case MI_ANGEL:
@ -170,7 +170,7 @@ CVehicle::CVehicle(uint8 CreatedBy)
m_nRadioStation = RADIO_OFF;
break;
default:
m_nRadioStation = CGeneral::GetRandomNumber() % USERTRACK;
m_nRadioStation = CGeneral::GetRandomNumber() % NUM_RADIOS;
break;
}
m_pCurGroundEntity = nil;

View File

@ -269,7 +269,7 @@ public:
eCarLock m_nDoorLock;
int8 m_nLastWeaponDamage; // see eWeaponType, -1 if no damage
CEntity *m_pLastDamageEntity;
int8 m_nRadioStation;
uint8 m_nRadioStation;
uint8 m_bRainAudioCounter;
uint8 m_bRainSamplesCounter;
uint32 m_nCarHornTimer;
@ -281,10 +281,10 @@ public:
float m_fSteerInput;
uint8 m_vehType;
static void *operator new(size_t);
static void *operator new(size_t sz, int slot);
static void operator delete(void*, size_t);
static void operator delete(void*, int);
static void *operator new(size_t) throw();
static void *operator new(size_t sz, int slot) throw();
static void operator delete(void*, size_t) throw();
static void operator delete(void*, int) throw();
CVehicle(void) {} // FAKE
CVehicle(uint8 CreatedBy);