mirror of https://github.com/Nofated095/re-GTA.git
SetPosition, part 1
This commit is contained in:
parent
a1c1be7af9
commit
d23b2c423e
|
@ -267,11 +267,11 @@ CCutsceneMgr::SetupCutsceneToStart(void)
|
||||||
assert(RwObjectGetType(ms_pCutsceneObjects[i]->m_rwObject) == rpCLUMP);
|
assert(RwObjectGetType(ms_pCutsceneObjects[i]->m_rwObject) == rpCLUMP);
|
||||||
if (CAnimBlendAssociation *pAnimBlendAssoc = RpAnimBlendClumpGetFirstAssociation((RpClump*)ms_pCutsceneObjects[i]->m_rwObject)) {
|
if (CAnimBlendAssociation *pAnimBlendAssoc = RpAnimBlendClumpGetFirstAssociation((RpClump*)ms_pCutsceneObjects[i]->m_rwObject)) {
|
||||||
assert(pAnimBlendAssoc->hierarchy->sequences[0].HasTranslation());
|
assert(pAnimBlendAssoc->hierarchy->sequences[0].HasTranslation());
|
||||||
ms_pCutsceneObjects[i]->GetPosition() = ms_cutsceneOffset + ((KeyFrameTrans*)pAnimBlendAssoc->hierarchy->sequences[0].GetKeyFrame(0))->translation;
|
ms_pCutsceneObjects[i]->SetPosition(ms_cutsceneOffset + ((KeyFrameTrans*)pAnimBlendAssoc->hierarchy->sequences[0].GetKeyFrame(0))->translation);
|
||||||
CWorld::Add(ms_pCutsceneObjects[i]);
|
CWorld::Add(ms_pCutsceneObjects[i]);
|
||||||
pAnimBlendAssoc->SetRun();
|
pAnimBlendAssoc->SetRun();
|
||||||
} else {
|
} else {
|
||||||
ms_pCutsceneObjects[i]->GetPosition() = ms_cutsceneOffset;
|
ms_pCutsceneObjects[i]->SetPosition(ms_cutsceneOffset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9814,7 +9814,7 @@ cAudioManager::Terminate()
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
cAudioManager::TranslateEntity(CVector *in, CVector *out) const
|
cAudioManager::TranslateEntity(Const CVector *in, CVector *out) const
|
||||||
{
|
{
|
||||||
*out = MultiplyInverse(TheCamera.GetMatrix(), *in);
|
*out = MultiplyInverse(TheCamera.GetMatrix(), *in);
|
||||||
}
|
}
|
||||||
|
|
|
@ -456,7 +456,7 @@ public:
|
||||||
void SetupSuspectLastSeenReport();
|
void SetupSuspectLastSeenReport();
|
||||||
|
|
||||||
void Terminate();
|
void Terminate();
|
||||||
void TranslateEntity(CVector *v1, CVector *v2) const;
|
void TranslateEntity(Const CVector *v1, CVector *v2) const;
|
||||||
|
|
||||||
void UpdateGasPedalAudio(CAutomobile *automobile);
|
void UpdateGasPedalAudio(CAutomobile *automobile);
|
||||||
void UpdateReflections();
|
void UpdateReflections();
|
||||||
|
|
|
@ -93,16 +93,16 @@ void CBridge::Update()
|
||||||
// Move bridge part
|
// Move bridge part
|
||||||
if (liftHeight != OldLift)
|
if (liftHeight != OldLift)
|
||||||
{
|
{
|
||||||
pLiftPart->GetPosition().z = DefaultZLiftPart + liftHeight;
|
pLiftPart->GetMatrix().GetPosition().z = DefaultZLiftPart + liftHeight;
|
||||||
pLiftPart->GetMatrix().UpdateRW();
|
pLiftPart->GetMatrix().UpdateRW();
|
||||||
pLiftPart->UpdateRwFrame();
|
pLiftPart->UpdateRwFrame();
|
||||||
if (pLiftRoad)
|
if (pLiftRoad)
|
||||||
{
|
{
|
||||||
pLiftRoad->GetPosition().z = DefaultZLiftRoad + liftHeight;
|
pLiftRoad->GetMatrix().GetPosition().z = DefaultZLiftRoad + liftHeight;
|
||||||
pLiftRoad->GetMatrix().UpdateRW();
|
pLiftRoad->GetMatrix().UpdateRW();
|
||||||
pLiftRoad->UpdateRwFrame();
|
pLiftRoad->UpdateRwFrame();
|
||||||
}
|
}
|
||||||
pWeight->GetPosition().z = DefaultZLiftWeight - liftHeight;
|
pWeight->GetMatrix().GetPosition().z = DefaultZLiftWeight - liftHeight;
|
||||||
pWeight->GetMatrix().UpdateRW();
|
pWeight->GetMatrix().UpdateRW();
|
||||||
pWeight->UpdateRwFrame();
|
pWeight->UpdateRwFrame();
|
||||||
|
|
||||||
|
|
|
@ -461,7 +461,7 @@ CCarCtrl::GenerateOneRandomCar()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
finalPosition.z = groundZ + pCar->GetHeightAboveRoad();
|
finalPosition.z = groundZ + pCar->GetHeightAboveRoad();
|
||||||
pCar->GetPosition() = finalPosition;
|
pCar->SetPosition(finalPosition);
|
||||||
pCar->SetMoveSpeed(directionIncludingCurve / GAME_SPEED_TO_CARAI_SPEED);
|
pCar->SetMoveSpeed(directionIncludingCurve / GAME_SPEED_TO_CARAI_SPEED);
|
||||||
CVector2D speedDifferenceWithTarget = (CVector2D)pCar->GetMoveSpeed() - vecPlayerSpeed;
|
CVector2D speedDifferenceWithTarget = (CVector2D)pCar->GetMoveSpeed() - vecPlayerSpeed;
|
||||||
CVector2D distanceToTarget = positionIncludingCurve - vecTargetPos;
|
CVector2D distanceToTarget = positionIncludingCurve - vecTargetPos;
|
||||||
|
@ -1964,9 +1964,8 @@ void CCarCtrl::DragCarToPoint(CVehicle* pVehicle, CVector* pPoint)
|
||||||
pVehicle->GetRight() = CVector(posTarget.y - midPos.y, -(posTarget.x - midPos.x), 0.0f) / 3;
|
pVehicle->GetRight() = CVector(posTarget.y - midPos.y, -(posTarget.x - midPos.x), 0.0f) / 3;
|
||||||
pVehicle->GetForward() = CVector(-cosZ * pVehicle->GetRight().y, cosZ * pVehicle->GetRight().x, sinZ);
|
pVehicle->GetForward() = CVector(-cosZ * pVehicle->GetRight().y, cosZ * pVehicle->GetRight().x, sinZ);
|
||||||
pVehicle->GetUp() = CrossProduct(pVehicle->GetRight(), pVehicle->GetForward());
|
pVehicle->GetUp() = CrossProduct(pVehicle->GetRight(), pVehicle->GetForward());
|
||||||
pVehicle->GetPosition() = (CVector(midPos.x, midPos.y, actualBehindZ)
|
pVehicle->SetPosition((CVector(midPos.x, midPos.y, actualBehindZ) + CVector(posTarget.x, posTarget.y, actualAheadZ)) / 2);
|
||||||
+ CVector(posTarget.x, posTarget.y, actualAheadZ)) / 2;
|
pVehicle->GetMatrix().GetPosition().z += pVehicle->GetHeightAboveRoad();
|
||||||
pVehicle->GetPosition().z += pVehicle->GetHeightAboveRoad();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
float CCarCtrl::FindSpeedMultiplier(float angleChange, float minAngle, float maxAngle, float coef)
|
float CCarCtrl::FindSpeedMultiplier(float angleChange, float minAngle, float maxAngle, float coef)
|
||||||
|
@ -2647,7 +2646,7 @@ bool CCarCtrl::GenerateOneEmergencyServicesCar(uint32 mi, CVector vecPos)
|
||||||
return nil;
|
return nil;
|
||||||
CAutomobile* pVehicle = new CAutomobile(mi, RANDOM_VEHICLE);
|
CAutomobile* pVehicle = new CAutomobile(mi, RANDOM_VEHICLE);
|
||||||
pVehicle->AutoPilot.m_vecDestinationCoors = vecPos;
|
pVehicle->AutoPilot.m_vecDestinationCoors = vecPos;
|
||||||
pVehicle->GetPosition() = spawnPos;
|
pVehicle->SetPosition(spawnPos);
|
||||||
pVehicle->AutoPilot.m_nCarMission = (JoinCarWithRoadSystemGotoCoors(pVehicle, vecPos, false)) ? MISSION_GOTOCOORDS_STRAIGHT : MISSION_GOTOCOORDS;
|
pVehicle->AutoPilot.m_nCarMission = (JoinCarWithRoadSystemGotoCoors(pVehicle, vecPos, false)) ? MISSION_GOTOCOORDS_STRAIGHT : MISSION_GOTOCOORDS;
|
||||||
pVehicle->AutoPilot.m_fMaxTrafficSpeed = pVehicle->AutoPilot.m_nCruiseSpeed = 25;
|
pVehicle->AutoPilot.m_fMaxTrafficSpeed = pVehicle->AutoPilot.m_nCruiseSpeed = 25;
|
||||||
pVehicle->AutoPilot.m_nTempAction = TEMPACT_NONE;
|
pVehicle->AutoPilot.m_nTempAction = TEMPACT_NONE;
|
||||||
|
@ -2672,7 +2671,7 @@ bool CCarCtrl::GenerateOneEmergencyServicesCar(uint32 mi, CVector vecPos)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
spawnPos.z = groundZ + pVehicle->GetDistanceFromCentreOfMassToBaseOfModel();
|
spawnPos.z = groundZ + pVehicle->GetDistanceFromCentreOfMassToBaseOfModel();
|
||||||
pVehicle->GetPosition() = spawnPos;
|
pVehicle->SetPosition(spawnPos);
|
||||||
pVehicle->SetMoveSpeed(CVector(0.0f, 0.0f, 0.0f));
|
pVehicle->SetMoveSpeed(CVector(0.0f, 0.0f, 0.0f));
|
||||||
pVehicle->SetStatus(STATUS_PHYSICS);
|
pVehicle->SetStatus(STATUS_PHYSICS);
|
||||||
switch (mi){
|
switch (mi){
|
||||||
|
|
|
@ -2164,7 +2164,7 @@ int32 CGarages::FindMaxNumStoredCarsForGarage(eGarageType type)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CGarages::IsPointWithinHideOutGarage(CVector& point)
|
bool CGarages::IsPointWithinHideOutGarage(Const CVector& point)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < NUM_GARAGES; i++) {
|
for (int i = 0; i < NUM_GARAGES; i++) {
|
||||||
switch (aGarages[i].m_eGarageType) {
|
switch (aGarages[i].m_eGarageType) {
|
||||||
|
@ -2180,7 +2180,7 @@ bool CGarages::IsPointWithinHideOutGarage(CVector& point)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CGarages::IsPointWithinAnyGarage(CVector& point)
|
bool CGarages::IsPointWithinAnyGarage(Const CVector& point)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < NUM_GARAGES; i++) {
|
for (int i = 0; i < NUM_GARAGES; i++) {
|
||||||
switch (aGarages[i].m_eGarageType) {
|
switch (aGarages[i].m_eGarageType) {
|
||||||
|
|
|
@ -232,8 +232,8 @@ public:
|
||||||
static bool CameraShouldBeOutside(void);
|
static bool CameraShouldBeOutside(void);
|
||||||
static void GivePlayerDetonator(void);
|
static void GivePlayerDetonator(void);
|
||||||
static void PlayerArrestedOrDied(void);
|
static void PlayerArrestedOrDied(void);
|
||||||
static bool IsPointWithinHideOutGarage(CVector&);
|
static bool IsPointWithinHideOutGarage(Const CVector&);
|
||||||
static bool IsPointWithinAnyGarage(CVector&);
|
static bool IsPointWithinAnyGarage(Const CVector&);
|
||||||
static void SetAllDoorsBackToOriginalHeight(void);
|
static void SetAllDoorsBackToOriginalHeight(void);
|
||||||
static void Save(uint8* buf, uint32* size);
|
static void Save(uint8* buf, uint32* size);
|
||||||
static void Load(uint8* buf, uint32 size);
|
static void Load(uint8* buf, uint32 size);
|
||||||
|
|
|
@ -301,7 +301,7 @@ CPhoneInfo::Initialise(void)
|
||||||
if (building->m_modelIndex == MI_PHONEBOOTH1) {
|
if (building->m_modelIndex == MI_PHONEBOOTH1) {
|
||||||
CPhone *maxPhone = &m_aPhones[m_nMax];
|
CPhone *maxPhone = &m_aPhones[m_nMax];
|
||||||
maxPhone->m_nState = PHONE_STATE_FREE;
|
maxPhone->m_nState = PHONE_STATE_FREE;
|
||||||
maxPhone->m_vecPos = *(building->GetPosition());
|
maxPhone->m_vecPos = building->GetPosition();
|
||||||
maxPhone->m_pEntity = building;
|
maxPhone->m_pEntity = building;
|
||||||
m_nMax++;
|
m_nMax++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,7 +84,7 @@ CPickup::GiveUsAPickUpObject(int32 handle)
|
||||||
|
|
||||||
if (object == nil) return nil;
|
if (object == nil) return nil;
|
||||||
object->ObjectCreatedBy = MISSION_OBJECT;
|
object->ObjectCreatedBy = MISSION_OBJECT;
|
||||||
object->GetPosition() = m_vecPos;
|
object->SetPosition(m_vecPos);
|
||||||
object->SetOrientation(0.0f, 0.0f, -HALFPI);
|
object->SetOrientation(0.0f, 0.0f, -HALFPI);
|
||||||
object->GetMatrix().UpdateRW();
|
object->GetMatrix().UpdateRW();
|
||||||
object->UpdateRwFrame();
|
object->UpdateRwFrame();
|
||||||
|
@ -695,7 +695,7 @@ CPickups::DoPickUpEffects(CEntity *entity)
|
||||||
|
|
||||||
assert(colorId >= 0);
|
assert(colorId >= 0);
|
||||||
|
|
||||||
CVector &pos = entity->GetPosition();
|
const CVector &pos = entity->GetPosition();
|
||||||
|
|
||||||
float colorModifier = ((CGeneral::GetRandomNumber() & 0x1F) * 0.015f + 1.0f) * modifiedSin * 0.15f;
|
float colorModifier = ((CGeneral::GetRandomNumber() & 0x1F) * 0.015f + 1.0f) * modifiedSin * 0.15f;
|
||||||
CShadows::StoreStaticShadow(
|
CShadows::StoreStaticShadow(
|
||||||
|
@ -749,7 +749,7 @@ CPickups::DoPickUpEffects(CEntity *entity)
|
||||||
void
|
void
|
||||||
CPickups::DoMineEffects(CEntity *entity)
|
CPickups::DoMineEffects(CEntity *entity)
|
||||||
{
|
{
|
||||||
CVector &pos = entity->GetPosition();
|
const CVector &pos = entity->GetPosition();
|
||||||
float dist = (TheCamera.GetPosition() - pos).Magnitude();
|
float dist = (TheCamera.GetPosition() - pos).Magnitude();
|
||||||
const float MAXDIST = 20.0f;
|
const float MAXDIST = 20.0f;
|
||||||
|
|
||||||
|
@ -771,7 +771,7 @@ CPickups::DoMineEffects(CEntity *entity)
|
||||||
void
|
void
|
||||||
CPickups::DoMoneyEffects(CEntity *entity)
|
CPickups::DoMoneyEffects(CEntity *entity)
|
||||||
{
|
{
|
||||||
CVector &pos = entity->GetPosition();
|
const CVector &pos = entity->GetPosition();
|
||||||
float dist = (TheCamera.GetPosition() - pos).Magnitude();
|
float dist = (TheCamera.GetPosition() - pos).Magnitude();
|
||||||
const float MAXDIST = 20.0f;
|
const float MAXDIST = 20.0f;
|
||||||
|
|
||||||
|
@ -793,7 +793,7 @@ CPickups::DoMoneyEffects(CEntity *entity)
|
||||||
void
|
void
|
||||||
CPickups::DoCollectableEffects(CEntity *entity)
|
CPickups::DoCollectableEffects(CEntity *entity)
|
||||||
{
|
{
|
||||||
CVector &pos = entity->GetPosition();
|
const CVector &pos = entity->GetPosition();
|
||||||
float dist = (TheCamera.GetPosition() - pos).Magnitude();
|
float dist = (TheCamera.GetPosition() - pos).Magnitude();
|
||||||
const float MAXDIST = 14.0f;
|
const float MAXDIST = 14.0f;
|
||||||
|
|
||||||
|
@ -1145,7 +1145,7 @@ CPacManPickups::GeneratePMPickUps(CVector pos, float scrambleMult, int16 count,
|
||||||
CObject *obj = new CObject(MI_BULLION, true);
|
CObject *obj = new CObject(MI_BULLION, true);
|
||||||
if (obj != nil) {
|
if (obj != nil) {
|
||||||
obj->ObjectCreatedBy = MISSION_OBJECT;
|
obj->ObjectCreatedBy = MISSION_OBJECT;
|
||||||
obj->GetPosition() = aPMPickUps[i].m_vecPosn;
|
obj->SetPosition(aPMPickUps[i].m_vecPosn);
|
||||||
obj->SetOrientation(0.0f, 0.0f, -HALFPI);
|
obj->SetOrientation(0.0f, 0.0f, -HALFPI);
|
||||||
obj->GetMatrix().UpdateRW();
|
obj->GetMatrix().UpdateRW();
|
||||||
obj->UpdateRwFrame();
|
obj->UpdateRwFrame();
|
||||||
|
@ -1296,7 +1296,7 @@ CPacManPickups::GeneratePMPickUpsForRace(int32 race)
|
||||||
if (obj != nil) {
|
if (obj != nil) {
|
||||||
obj->ObjectCreatedBy = MISSION_OBJECT;
|
obj->ObjectCreatedBy = MISSION_OBJECT;
|
||||||
|
|
||||||
obj->GetPosition() = aPMPickUps[i].m_vecPosn;
|
obj->SetPosition(aPMPickUps[i].m_vecPosn);
|
||||||
obj->SetOrientation(0.0f, 0.0f, -HALFPI);
|
obj->SetOrientation(0.0f, 0.0f, -HALFPI);
|
||||||
obj->GetMatrix().UpdateRW();
|
obj->GetMatrix().UpdateRW();
|
||||||
obj->UpdateRwFrame();
|
obj->UpdateRwFrame();
|
||||||
|
|
|
@ -279,7 +279,7 @@ void CRecordDataForChase::SaveOrRetrieveCarPositions(void)
|
||||||
}
|
}
|
||||||
if (CPad::GetPad(0)->GetLeftShockJustDown() && CPad::GetPad(0)->GetRightShockJustDown()) {
|
if (CPad::GetPad(0)->GetLeftShockJustDown() && CPad::GetPad(0)->GetRightShockJustDown()) {
|
||||||
if (!CPad::GetPad(0)->GetRightShockJustDown()) {
|
if (!CPad::GetPad(0)->GetRightShockJustDown()) {
|
||||||
pChaseCars[CurrentCar]->GetPosition() = NewCoorsForRecordedCars[PositionChanges].pos;
|
pChaseCars[CurrentCar]->SetPosition(NewCoorsForRecordedCars[PositionChanges].pos);
|
||||||
pChaseCars[CurrentCar]->SetMoveSpeed(0.0f, 0.0f, 0.0f);
|
pChaseCars[CurrentCar]->SetMoveSpeed(0.0f, 0.0f, 0.0f);
|
||||||
pChaseCars[CurrentCar]->GetMatrix().SetRotateZOnly(DEGTORAD(NewCoorsForRecordedCars[PositionChanges].angle));
|
pChaseCars[CurrentCar]->GetMatrix().SetRotateZOnly(DEGTORAD(NewCoorsForRecordedCars[PositionChanges].angle));
|
||||||
++PositionChanges;
|
++PositionChanges;
|
||||||
|
@ -311,12 +311,12 @@ void CRecordDataForChase::SaveOrRetrieveCarPositions(void)
|
||||||
pChaseCars[i]->GetRight() += (tmp.GetRight() - pChaseCars[i]->GetRight()) * dp;
|
pChaseCars[i]->GetRight() += (tmp.GetRight() - pChaseCars[i]->GetRight()) * dp;
|
||||||
pChaseCars[i]->GetForward() += (tmp.GetForward() - pChaseCars[i]->GetForward()) * dp;
|
pChaseCars[i]->GetForward() += (tmp.GetForward() - pChaseCars[i]->GetForward()) * dp;
|
||||||
pChaseCars[i]->GetUp() += (tmp.GetUp() - pChaseCars[i]->GetUp()) * dp;
|
pChaseCars[i]->GetUp() += (tmp.GetUp() - pChaseCars[i]->GetUp()) * dp;
|
||||||
pChaseCars[i]->GetPosition() += (tmp.GetPosition() - pChaseCars[i]->GetPosition()) * dp;
|
pChaseCars[i]->GetMatrix().GetPosition() += (tmp.GetPosition() - pChaseCars[i]->GetPosition()) * dp;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
RestoreInfoForCar(pChaseCars[i], &pBaseMemForCar[i][CHASE_SCENE_FRAMES_IN_RECORDING - 1], true);
|
RestoreInfoForCar(pChaseCars[i], &pBaseMemForCar[i][CHASE_SCENE_FRAMES_IN_RECORDING - 1], true);
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
pChaseCars[i]->GetPosition().z += 0.2f;
|
pChaseCars[i]->GetMatrix().GetPosition().z += 0.2f;
|
||||||
}
|
}
|
||||||
pChaseCars[i]->GetMatrix().UpdateRW();
|
pChaseCars[i]->GetMatrix().UpdateRW();
|
||||||
pChaseCars[i]->UpdateRwFrame();
|
pChaseCars[i]->UpdateRwFrame();
|
||||||
|
@ -407,7 +407,7 @@ void CRecordDataForChase::GiveUsACar(int32 mi, CVector pos, float angle, CAutomo
|
||||||
if (!CStreaming::HasModelLoaded(mi))
|
if (!CStreaming::HasModelLoaded(mi))
|
||||||
return;
|
return;
|
||||||
CAutomobile* pCar = new CAutomobile(mi, MISSION_VEHICLE);
|
CAutomobile* pCar = new CAutomobile(mi, MISSION_VEHICLE);
|
||||||
pCar->GetPosition() = pos;
|
pCar->SetPosition(pos);
|
||||||
pCar->SetStatus(STATUS_PLAYER_PLAYBACKFROMBUFFER);
|
pCar->SetStatus(STATUS_PLAYER_PLAYBACKFROMBUFFER);
|
||||||
pCar->GetMatrix().SetRotateZOnly(DEGTORAD(angle));
|
pCar->GetMatrix().SetRotateZOnly(DEGTORAD(angle));
|
||||||
pCar->pDriver = nil;
|
pCar->pDriver = nil;
|
||||||
|
|
|
@ -18,7 +18,7 @@ CRemote::GivePlayerRemoteControlledCar(float x, float y, float z, float rot, uin
|
||||||
z = car->GetDistanceFromCentreOfMassToBaseOfModel() + CWorld::FindGroundZFor3DCoord(x, y, z + 2.0f, &found);
|
z = car->GetDistanceFromCentreOfMassToBaseOfModel() + CWorld::FindGroundZFor3DCoord(x, y, z + 2.0f, &found);
|
||||||
|
|
||||||
car->GetMatrix().SetRotateZOnly(rot);
|
car->GetMatrix().SetRotateZOnly(rot);
|
||||||
car->GetPosition() = CVector(x, y, z);
|
car->SetPosition(x, y, z);
|
||||||
car->SetStatus(STATUS_PLAYER_REMOTE);
|
car->SetStatus(STATUS_PLAYER_REMOTE);
|
||||||
car->bIsLocked = true;
|
car->bIsLocked = true;
|
||||||
|
|
||||||
|
|
|
@ -1020,7 +1020,7 @@ void CReplay::ProcessReplayCamera(void)
|
||||||
switch (CameraMode) {
|
switch (CameraMode) {
|
||||||
case REPLAYCAMMODE_TOPDOWN:
|
case REPLAYCAMMODE_TOPDOWN:
|
||||||
{
|
{
|
||||||
TheCamera.GetPosition() = CVector(CameraFocusX, CameraFocusY, CameraFocusZ + 15.0f);
|
TheCamera.SetPosition(CameraFocusX, CameraFocusY, CameraFocusZ + 15.0f);
|
||||||
TheCamera.GetForward() = CVector(0.0f, 0.0f, -1.0f);
|
TheCamera.GetForward() = CVector(0.0f, 0.0f, -1.0f);
|
||||||
TheCamera.GetUp() = CVector(0.0f, 1.0f, 0.0f);
|
TheCamera.GetUp() = CVector(0.0f, 1.0f, 0.0f);
|
||||||
TheCamera.GetRight() = CVector(1.0f, 0.0f, 0.0f);
|
TheCamera.GetRight() = CVector(1.0f, 0.0f, 0.0f);
|
||||||
|
@ -1539,7 +1539,7 @@ void CReplay::ProcessLookAroundCam(void)
|
||||||
TheCamera.GetForward() = forward;
|
TheCamera.GetForward() = forward;
|
||||||
TheCamera.GetUp() = up;
|
TheCamera.GetUp() = up;
|
||||||
TheCamera.GetRight() = right;
|
TheCamera.GetRight() = right;
|
||||||
TheCamera.GetPosition() = camera_pt;
|
TheCamera.SetPosition(camera_pt);
|
||||||
RwMatrix* pm = RwFrameGetMatrix(RwCameraGetFrame(TheCamera.m_pRwCamera));
|
RwMatrix* pm = RwFrameGetMatrix(RwCameraGetFrame(TheCamera.m_pRwCamera));
|
||||||
pm->pos = *(RwV3d*)&TheCamera.GetPosition();
|
pm->pos = *(RwV3d*)&TheCamera.GetPosition();
|
||||||
pm->at = *(RwV3d*)&TheCamera.GetForward();
|
pm->at = *(RwV3d*)&TheCamera.GetForward();
|
||||||
|
|
|
@ -349,7 +349,7 @@ void CSceneEdit::ProcessCommand(void)
|
||||||
}
|
}
|
||||||
CPed* pPed = new CCivilianPed(PEDTYPE_SPECIAL, m_nPedmodelId);
|
CPed* pPed = new CCivilianPed(PEDTYPE_SPECIAL, m_nPedmodelId);
|
||||||
pPed->CharCreatedBy = MISSION_CHAR;
|
pPed->CharCreatedBy = MISSION_CHAR;
|
||||||
pPed->GetPosition() = m_vecCurrentPosition;
|
pPed->SetPosition(m_vecCurrentPosition);
|
||||||
pPed->SetOrientation(0.0f, 0.0f, 0.0f);
|
pPed->SetOrientation(0.0f, 0.0f, 0.0f);
|
||||||
CWorld::Add(pPed);
|
CWorld::Add(pPed);
|
||||||
pPed->bUsesCollision = false;
|
pPed->bUsesCollision = false;
|
||||||
|
@ -363,7 +363,7 @@ void CSceneEdit::ProcessCommand(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
pActors[m_nActor]->GetPosition() = m_vecCurrentPosition;
|
pActors[m_nActor]->SetPosition(m_vecCurrentPosition);
|
||||||
pActors[m_nActor]->SetOrientation(0.0f, 0.0f, 0.0f);
|
pActors[m_nActor]->SetOrientation(0.0f, 0.0f, 0.0f);
|
||||||
int32 mi = m_nPedmodelId;
|
int32 mi = m_nPedmodelId;
|
||||||
if (CPad::GetPad(1)->GetLeftShoulder1JustDown())
|
if (CPad::GetPad(1)->GetLeftShoulder1JustDown())
|
||||||
|
@ -405,7 +405,7 @@ void CSceneEdit::ProcessCommand(void)
|
||||||
SelectActor();
|
SelectActor();
|
||||||
if (m_bCommandActive)
|
if (m_bCommandActive)
|
||||||
break;
|
break;
|
||||||
pActors[m_nActor]->GetPosition() = m_vecCurrentPosition;
|
pActors[m_nActor]->SetPosition(m_vecCurrentPosition);
|
||||||
if (CPad::GetPad(1)->GetTriangleJustDown()) {
|
if (CPad::GetPad(1)->GetTriangleJustDown()) {
|
||||||
m_bCommandActive = false;
|
m_bCommandActive = false;
|
||||||
#ifndef FIX_BUGS // why? it crashes, also makes no sense
|
#ifndef FIX_BUGS // why? it crashes, also makes no sense
|
||||||
|
@ -451,7 +451,7 @@ void CSceneEdit::ProcessCommand(void)
|
||||||
}
|
}
|
||||||
CVehicle* pVehicle = new CAutomobile(m_nVehiclemodelId, MISSION_VEHICLE);
|
CVehicle* pVehicle = new CAutomobile(m_nVehiclemodelId, MISSION_VEHICLE);
|
||||||
pVehicle->SetStatus(STATUS_PHYSICS);
|
pVehicle->SetStatus(STATUS_PHYSICS);
|
||||||
pVehicle->GetPosition() = m_vecCurrentPosition;
|
pVehicle->SetPosition(m_vecCurrentPosition);
|
||||||
pVehicle->SetOrientation(0.0f, 0.0f, 0.0f);
|
pVehicle->SetOrientation(0.0f, 0.0f, 0.0f);
|
||||||
CWorld::Add(pVehicle);
|
CWorld::Add(pVehicle);
|
||||||
pVehicle->bUsesCollision = false;
|
pVehicle->bUsesCollision = false;
|
||||||
|
@ -465,7 +465,7 @@ void CSceneEdit::ProcessCommand(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
pVehicles[m_nVehicle]->GetPosition() = m_vecCurrentPosition;
|
pVehicles[m_nVehicle]->SetPosition(m_vecCurrentPosition);
|
||||||
pVehicles[m_nVehicle]->SetOrientation(0.0f, 0.0f, 0.0f);
|
pVehicles[m_nVehicle]->SetOrientation(0.0f, 0.0f, 0.0f);
|
||||||
int32 mi = m_nVehiclemodelId;
|
int32 mi = m_nVehiclemodelId;
|
||||||
if (CPad::GetPad(1)->GetLeftShoulder1JustDown())
|
if (CPad::GetPad(1)->GetLeftShoulder1JustDown())
|
||||||
|
@ -507,7 +507,7 @@ void CSceneEdit::ProcessCommand(void)
|
||||||
SelectVehicle();
|
SelectVehicle();
|
||||||
if (m_bCommandActive)
|
if (m_bCommandActive)
|
||||||
break;
|
break;
|
||||||
pVehicles[m_nVehicle]->GetPosition() = m_vecCurrentPosition;
|
pVehicles[m_nVehicle]->SetPosition(m_vecCurrentPosition);
|
||||||
if (CPad::GetPad(1)->GetTriangleJustDown()) {
|
if (CPad::GetPad(1)->GetTriangleJustDown()) {
|
||||||
m_bCommandActive = false;
|
m_bCommandActive = false;
|
||||||
#ifndef FIX_BUGS // again, why? works wrong
|
#ifndef FIX_BUGS // again, why? works wrong
|
||||||
|
@ -785,7 +785,7 @@ void CSceneEdit::PlayBack(void)
|
||||||
CPed* pPed = new CCivilianPed(PEDTYPE_SPECIAL, m_nPedmodelId);
|
CPed* pPed = new CCivilianPed(PEDTYPE_SPECIAL, m_nPedmodelId);
|
||||||
pPed->CharCreatedBy = MISSION_CHAR;
|
pPed->CharCreatedBy = MISSION_CHAR;
|
||||||
CWorld::Add(pPed);
|
CWorld::Add(pPed);
|
||||||
pPed->GetPosition() = m_vecCurrentPosition;
|
pPed->SetPosition(m_vecCurrentPosition);
|
||||||
pPed->SetOrientation(0.0f, 0.0f, 0.0f);
|
pPed->SetOrientation(0.0f, 0.0f, 0.0f);
|
||||||
for (int i = 0; i < NUM_ACTORS_IN_MOVIE; i++) {
|
for (int i = 0; i < NUM_ACTORS_IN_MOVIE; i++) {
|
||||||
if (pActors[i] == nil) {
|
if (pActors[i] == nil) {
|
||||||
|
@ -811,7 +811,7 @@ void CSceneEdit::PlayBack(void)
|
||||||
}
|
}
|
||||||
CVehicle* pVehicle = new CAutomobile(m_nVehiclemodelId, MISSION_VEHICLE);
|
CVehicle* pVehicle = new CAutomobile(m_nVehiclemodelId, MISSION_VEHICLE);
|
||||||
pVehicle->SetStatus(STATUS_PHYSICS);
|
pVehicle->SetStatus(STATUS_PHYSICS);
|
||||||
pVehicle->GetPosition() = m_vecCurrentPosition;
|
pVehicle->SetPosition(m_vecCurrentPosition);
|
||||||
pVehicle->SetOrientation(0.0f, 0.0f, 0.0f);
|
pVehicle->SetOrientation(0.0f, 0.0f, 0.0f);
|
||||||
CWorld::Add(pVehicle);
|
CWorld::Add(pVehicle);
|
||||||
for (int i = 0; i < NUM_VEHICLES_IN_MOVIE; i++) {
|
for (int i = 0; i < NUM_VEHICLES_IN_MOVIE; i++) {
|
||||||
|
|
|
@ -1293,7 +1293,7 @@ int8 CRunningScript::ProcessCommands0To99(int32 command)
|
||||||
if (pos.z <= MAP_Z_LOW_LIMIT)
|
if (pos.z <= MAP_Z_LOW_LIMIT)
|
||||||
pos.z = CWorld::FindGroundZForCoord(pos.x, pos.y);
|
pos.z = CWorld::FindGroundZForCoord(pos.x, pos.y);
|
||||||
pos.z += CWorld::Players[index].m_pPed->GetDistanceFromCentreOfMassToBaseOfModel();
|
pos.z += CWorld::Players[index].m_pPed->GetDistanceFromCentreOfMassToBaseOfModel();
|
||||||
CWorld::Players[index].m_pPed->GetPosition() = pos;
|
CWorld::Players[index].m_pPed->SetPosition(pos);
|
||||||
CTheScripts::ClearSpaceForMissionEntity(pos, CWorld::Players[index].m_pPed);
|
CTheScripts::ClearSpaceForMissionEntity(pos, CWorld::Players[index].m_pPed);
|
||||||
CPlayerPed::ReactivatePlayerPed(index);
|
CPlayerPed::ReactivatePlayerPed(index);
|
||||||
ScriptParams[0] = index;
|
ScriptParams[0] = index;
|
||||||
|
@ -5153,7 +5153,7 @@ int8 CRunningScript::ProcessCommands500To599(int32 command)
|
||||||
if (pos.z <= MAP_Z_LOW_LIMIT)
|
if (pos.z <= MAP_Z_LOW_LIMIT)
|
||||||
pos.z = CWorld::FindGroundZForCoord(pos.x, pos.y);
|
pos.z = CWorld::FindGroundZForCoord(pos.x, pos.y);
|
||||||
CRestart::OverrideNextRestart(pos, *(float*)&ScriptParams[3]);
|
CRestart::OverrideNextRestart(pos, *(float*)&ScriptParams[3]);
|
||||||
if (CWorld::Players[CWorld::PlayerInFocus].m_WBState != WBSTATE_PLAYING) //TODO: enum
|
if (CWorld::Players[CWorld::PlayerInFocus].m_WBState != WBSTATE_PLAYING)
|
||||||
printf("RESTART_CRITICAL_MISSION - Player state is not PLAYING\n");
|
printf("RESTART_CRITICAL_MISSION - Player state is not PLAYING\n");
|
||||||
CWorld::Players[CWorld::PlayerInFocus].PlayerFailedCriticalMission();
|
CWorld::Players[CWorld::PlayerInFocus].PlayerFailedCriticalMission();
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -11,6 +11,12 @@ public:
|
||||||
CPlaceable(void);
|
CPlaceable(void);
|
||||||
virtual ~CPlaceable(void);
|
virtual ~CPlaceable(void);
|
||||||
CVector &GetPosition(void) { return m_matrix.GetPosition(); }
|
CVector &GetPosition(void) { return m_matrix.GetPosition(); }
|
||||||
|
void SetPosition(float x, float y, float z) {
|
||||||
|
m_matrix.GetPosition().x = x;
|
||||||
|
m_matrix.GetPosition().y = y;
|
||||||
|
m_matrix.GetPosition().z = z;
|
||||||
|
}
|
||||||
|
void SetPosition(const CVector &pos) { m_matrix.GetPosition() = pos; }
|
||||||
CVector &GetRight(void) { return m_matrix.GetRight(); }
|
CVector &GetRight(void) { return m_matrix.GetRight(); }
|
||||||
CVector &GetForward(void) { return m_matrix.GetForward(); }
|
CVector &GetForward(void) { return m_matrix.GetForward(); }
|
||||||
CVector &GetUp(void) { return m_matrix.GetUp(); }
|
CVector &GetUp(void) { return m_matrix.GetUp(); }
|
||||||
|
|
|
@ -659,7 +659,7 @@ CWorld::GetIsLineOfSightSectorListClear(CPtrList &list, const CColLine &line, bo
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CWorld::FindObjectsInRangeSectorList(CPtrList &list, CVector ¢re, float radius, bool ignoreZ, short *nextObject,
|
CWorld::FindObjectsInRangeSectorList(CPtrList &list, Const CVector ¢re, float radius, bool ignoreZ, short *nextObject,
|
||||||
short lastObject, CEntity **objects)
|
short lastObject, CEntity **objects)
|
||||||
{
|
{
|
||||||
float radiusSqr = radius * radius;
|
float radiusSqr = radius * radius;
|
||||||
|
@ -685,7 +685,7 @@ CWorld::FindObjectsInRangeSectorList(CPtrList &list, CVector ¢re, float radi
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CWorld::FindObjectsInRange(CVector ¢re, float radius, bool ignoreZ, short *nextObject, short lastObject,
|
CWorld::FindObjectsInRange(Const CVector ¢re, float radius, bool ignoreZ, short *nextObject, short lastObject,
|
||||||
CEntity **objects, bool checkBuildings, bool checkVehicles, bool checkPeds,
|
CEntity **objects, bool checkBuildings, bool checkVehicles, bool checkPeds,
|
||||||
bool checkObjects, bool checkDummies)
|
bool checkObjects, bool checkDummies)
|
||||||
{
|
{
|
||||||
|
|
|
@ -101,8 +101,8 @@ public:
|
||||||
|
|
||||||
static CEntity *TestSphereAgainstWorld(CVector centre, float radius, CEntity *entityToIgnore, bool checkBuildings, bool checkVehicles, bool checkPeds, bool checkObjects, bool checkDummies, bool ignoreSomeObjects);
|
static CEntity *TestSphereAgainstWorld(CVector centre, float radius, CEntity *entityToIgnore, bool checkBuildings, bool checkVehicles, bool checkPeds, bool checkObjects, bool checkDummies, bool ignoreSomeObjects);
|
||||||
static CEntity *TestSphereAgainstSectorList(CPtrList&, CVector, float, CEntity*, bool);
|
static CEntity *TestSphereAgainstSectorList(CPtrList&, CVector, float, CEntity*, bool);
|
||||||
static void FindObjectsInRangeSectorList(CPtrList&, CVector&, float, bool, short*, short, CEntity**);
|
static void FindObjectsInRangeSectorList(CPtrList&, Const CVector&, float, bool, short*, short, CEntity**);
|
||||||
static void FindObjectsInRange(CVector&, float, bool, short*, short, CEntity**, bool, bool, bool, bool, bool);
|
static void FindObjectsInRange(Const CVector&, float, bool, short*, short, CEntity**, bool, bool, bool, bool, bool);
|
||||||
static void FindObjectsOfTypeInRangeSectorList(uint32 modelId, CPtrList& list, const CVector& position, float radius, bool bCheck2DOnly, int16* nEntitiesFound, int16 maxEntitiesToFind, CEntity** aEntities);
|
static void FindObjectsOfTypeInRangeSectorList(uint32 modelId, CPtrList& list, const CVector& position, float radius, bool bCheck2DOnly, int16* nEntitiesFound, int16 maxEntitiesToFind, CEntity** aEntities);
|
||||||
static void FindObjectsOfTypeInRange(uint32 modelId, const CVector& position, float radius, bool bCheck2DOnly, int16* nEntitiesFound, int16 maxEntitiesToFind, CEntity** aEntities, bool bBuildings, bool bVehicles, bool bPeds, bool bObjects, bool bDummies);
|
static void FindObjectsOfTypeInRange(uint32 modelId, const CVector& position, float radius, bool bCheck2DOnly, int16* nEntitiesFound, int16 maxEntitiesToFind, CEntity** aEntities, bool bBuildings, bool bVehicles, bool bPeds, bool bObjects, bool bDummies);
|
||||||
static float FindGroundZForCoord(float x, float y);
|
static float FindGroundZForCoord(float x, float y);
|
||||||
|
|
|
@ -58,6 +58,9 @@
|
||||||
#define Max(a,b) ((a) > (b) ? (a) : (b))
|
#define Max(a,b) ((a) > (b) ? (a) : (b))
|
||||||
#define Min(a,b) ((a) < (b) ? (a) : (b))
|
#define Min(a,b) ((a) < (b) ? (a) : (b))
|
||||||
|
|
||||||
|
// Use this to add const that wasn't there in the original code
|
||||||
|
#define Const const
|
||||||
|
|
||||||
typedef uint8_t uint8;
|
typedef uint8_t uint8;
|
||||||
typedef int8_t int8;
|
typedef int8_t int8;
|
||||||
typedef uint16_t uint16;
|
typedef uint16_t uint16;
|
||||||
|
|
|
@ -2401,7 +2401,7 @@ void
|
||||||
CPed::Teleport(CVector pos)
|
CPed::Teleport(CVector pos)
|
||||||
{
|
{
|
||||||
CWorld::Remove(this);
|
CWorld::Remove(this);
|
||||||
GetPosition() = pos;
|
SetPosition(pos);
|
||||||
bIsStanding = false;
|
bIsStanding = false;
|
||||||
m_nPedStateTimer = 0;
|
m_nPedStateTimer = 0;
|
||||||
m_actionX = 0.0f;
|
m_actionX = 0.0f;
|
||||||
|
@ -3222,7 +3222,7 @@ CPed::TurnBody(void)
|
||||||
bool turnDone = true;
|
bool turnDone = true;
|
||||||
|
|
||||||
if (m_pLookTarget) {
|
if (m_pLookTarget) {
|
||||||
CVector &lookPos = m_pLookTarget->GetPosition();
|
const CVector &lookPos = m_pLookTarget->GetPosition();
|
||||||
|
|
||||||
lookDir = CGeneral::GetRadianAngleBetweenPoints(
|
lookDir = CGeneral::GetRadianAngleBetweenPoints(
|
||||||
lookPos.x,
|
lookPos.x,
|
||||||
|
|
|
@ -58,7 +58,7 @@ CPointLights::AddLight(uint8 type, CVector coors, CVector dir, float radius, flo
|
||||||
}
|
}
|
||||||
|
|
||||||
float
|
float
|
||||||
CPointLights::GenerateLightsAffectingObject(CVector *objCoors)
|
CPointLights::GenerateLightsAffectingObject(Const CVector *objCoors)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
float ret;
|
float ret;
|
||||||
|
|
|
@ -39,7 +39,7 @@ public:
|
||||||
|
|
||||||
static void InitPerFrame(void);
|
static void InitPerFrame(void);
|
||||||
static void AddLight(uint8 type, CVector coors, CVector dir, float radius, float red, float green, float blue, uint8 fogType, bool castExtraShadows);
|
static void AddLight(uint8 type, CVector coors, CVector dir, float radius, float red, float green, float blue, uint8 fogType, bool castExtraShadows);
|
||||||
static float GenerateLightsAffectingObject(CVector *objCoors);
|
static float GenerateLightsAffectingObject(Const CVector *objCoors);
|
||||||
static void RemoveLightsAffectingObject(void);
|
static void RemoveLightsAffectingObject(void);
|
||||||
static void RenderFogEffect(void);
|
static void RenderFogEffect(void);
|
||||||
};
|
};
|
||||||
|
|
|
@ -214,7 +214,7 @@ CShadows::AddPermanentShadow(uint8 ShadowType, RwTexture *pTexture, CVector *pPo
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CShadows::StoreStaticShadow(uint32 nID, uint8 ShadowType, RwTexture *pTexture, CVector *pPosn,
|
CShadows::StoreStaticShadow(uint32 nID, uint8 ShadowType, RwTexture *pTexture, Const CVector *pPosn,
|
||||||
float fFrontX, float fFrontY, float fSideX, float fSideY,
|
float fFrontX, float fFrontY, float fSideX, float fSideY,
|
||||||
int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue,
|
int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue,
|
||||||
float fZDistance, float fScale, float fDrawDistance, bool bTempShadow, float fUpDistance)
|
float fZDistance, float fScale, float fDrawDistance, bool bTempShadow, float fUpDistance)
|
||||||
|
|
|
@ -143,7 +143,7 @@ public:
|
||||||
static void Init (void);
|
static void Init (void);
|
||||||
static void Shutdown (void);
|
static void Shutdown (void);
|
||||||
static void AddPermanentShadow ( uint8 ShadowType, RwTexture *pTexture, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, uint32 nTime, float fScale);
|
static void AddPermanentShadow ( uint8 ShadowType, RwTexture *pTexture, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, uint32 nTime, float fScale);
|
||||||
static void StoreStaticShadow (uint32 nID, uint8 ShadowType, RwTexture *pTexture, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, float fScale, float fDrawDistance, bool bTempShadow, float fUpDistance);
|
static void StoreStaticShadow (uint32 nID, uint8 ShadowType, RwTexture *pTexture, Const CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, float fScale, float fDrawDistance, bool bTempShadow, float fUpDistance);
|
||||||
static void StoreShadowToBeRendered ( uint8 ShadowType, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue);
|
static void StoreShadowToBeRendered ( uint8 ShadowType, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue);
|
||||||
static void StoreShadowToBeRendered ( uint8 ShadowType, RwTexture *pTexture, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, bool bDrawOnWater, float fScale);
|
static void StoreShadowToBeRendered ( uint8 ShadowType, RwTexture *pTexture, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, bool bDrawOnWater, float fScale);
|
||||||
static void StoreShadowForCar (CAutomobile *pCar);
|
static void StoreShadowForCar (CAutomobile *pCar);
|
||||||
|
|
|
@ -161,7 +161,7 @@ CTrain::ProcessControl(void)
|
||||||
CVector posFront = (1.0f - f)*trackNodes[curTrackNodeFront].p + f*trackNodes[nextTrackNodeFront].p;
|
CVector posFront = (1.0f - f)*trackNodes[curTrackNodeFront].p + f*trackNodes[nextTrackNodeFront].p;
|
||||||
|
|
||||||
// Now set matrix
|
// Now set matrix
|
||||||
GetPosition() = (posRear + posFront)/2.0f;
|
SetPosition((posRear + posFront)/2.0f);
|
||||||
CVector fwd = posFront - posRear;
|
CVector fwd = posFront - posRear;
|
||||||
fwd.Normalise();
|
fwd.Normalise();
|
||||||
CVector right = CrossProduct(fwd, CVector(0.0f, 0.0f, 1.0f));
|
CVector right = CrossProduct(fwd, CVector(0.0f, 0.0f, 1.0f));
|
||||||
|
|
|
@ -245,7 +245,7 @@ CProjectileInfo::IsProjectileInRange(float x1, float x2, float y1, float y2, flo
|
||||||
for (int i = 0; i < ARRAY_SIZE(ms_apProjectile); i++) {
|
for (int i = 0; i < ARRAY_SIZE(ms_apProjectile); i++) {
|
||||||
if (gaProjectileInfo[i].m_bInUse) {
|
if (gaProjectileInfo[i].m_bInUse) {
|
||||||
if (gaProjectileInfo[i].m_eWeaponType == WEAPONTYPE_ROCKETLAUNCHER || gaProjectileInfo[i].m_eWeaponType == WEAPONTYPE_MOLOTOV || gaProjectileInfo[i].m_eWeaponType == WEAPONTYPE_GRENADE) {
|
if (gaProjectileInfo[i].m_eWeaponType == WEAPONTYPE_ROCKETLAUNCHER || gaProjectileInfo[i].m_eWeaponType == WEAPONTYPE_MOLOTOV || gaProjectileInfo[i].m_eWeaponType == WEAPONTYPE_GRENADE) {
|
||||||
CVector &pos = ms_apProjectile[i]->GetPosition();
|
const CVector &pos = ms_apProjectile[i]->GetPosition();
|
||||||
if (pos.x >= x1 && pos.x <= x2 && pos.y >= y1 && pos.y <= y2 && pos.z >= z1 && pos.z <= z2) {
|
if (pos.x >= x1 && pos.x <= x2 && pos.y >= y1 && pos.y <= y2 && pos.z >= z1 && pos.z <= z2) {
|
||||||
result = true;
|
result = true;
|
||||||
if (remove) {
|
if (remove) {
|
||||||
|
|
Loading…
Reference in New Issue