mirror of
https://github.com/halpz/re3.git
synced 2024-12-25 18:05:27 +00:00
Fix sniper and water creatures bug, mark some files
This commit is contained in:
parent
ed82c55475
commit
a01b14f301
|
@ -2,6 +2,8 @@
|
|||
|
||||
#include <ctype.h>
|
||||
|
||||
// --MIAMI: file done
|
||||
|
||||
class CGeneral
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
#include "World.h"
|
||||
#include "Dummy.h"
|
||||
|
||||
// --MIAMI: file done
|
||||
|
||||
void *CDummy::operator new(size_t sz) { return CPools::GetDummyPool()->New(); }
|
||||
void CDummy::operator delete(void *p, size_t sz) { CPools::GetDummyPool()->Delete((CDummy*)p); }
|
||||
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
#include "DummyObject.h"
|
||||
#include "Pools.h"
|
||||
|
||||
// --MIAMI: file done
|
||||
|
||||
CDummyObject::CDummyObject(CObject *obj)
|
||||
{
|
||||
SetModelIndexNoCreate(obj->GetModelIndex());
|
||||
|
|
|
@ -36,6 +36,7 @@ CObject::CObject(void)
|
|||
m_colour2 = 0;
|
||||
m_colour1 = m_colour2;
|
||||
m_nBonusValue = 0;
|
||||
// m_nCostValue = 0; // TODO(Miami)
|
||||
bIsPickup = false;
|
||||
bPickupObjWithMessage = false;
|
||||
bOutOfStock = false;
|
||||
|
@ -44,8 +45,12 @@ CObject::CObject(void)
|
|||
bHasBeenDamaged = false;
|
||||
m_nRefModelIndex = -1;
|
||||
bUseVehicleColours = false;
|
||||
// bIsStreetLight = false; // duplicate
|
||||
m_pCurSurface = nil;
|
||||
m_pCollidingEntity = nil;
|
||||
m_nBeachballBounces = 0;
|
||||
bIsStreetLight = false;
|
||||
m_area = AREA_EVERYWHERE;
|
||||
}
|
||||
|
||||
CObject::CObject(int32 mi, bool createRW)
|
||||
|
@ -138,12 +143,16 @@ CObject::Render(void)
|
|||
bool
|
||||
CObject::SetupLighting(void)
|
||||
{
|
||||
DeActivateDirectional();
|
||||
SetAmbientColours();
|
||||
|
||||
if(bRenderScorched){
|
||||
WorldReplaceNormalLightsWithScorched(Scene.world, 0.1f);
|
||||
return true;
|
||||
} else if (bIsPickup) {
|
||||
SetFullAmbient();
|
||||
return true;
|
||||
} else if (bIsWeapon) {
|
||||
ActivateDirectional();
|
||||
SetAmbientColoursForPedsCarsAndObjects();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -151,8 +160,10 @@ CObject::SetupLighting(void)
|
|||
void
|
||||
CObject::RemoveLighting(bool reset)
|
||||
{
|
||||
if(reset)
|
||||
WorldReplaceScorchedLightsWithNormal(Scene.world);
|
||||
if(reset) {
|
||||
SetAmbientColours();
|
||||
DeActivateDirectional();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -363,6 +374,8 @@ CObject::CanBeDeleted(void)
|
|||
return true;
|
||||
case CUTSCENE_OBJECT:
|
||||
return false;
|
||||
case CONTROLLED_SUB_OBJECT:
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ enum {
|
|||
MISSION_OBJECT = 2,
|
||||
TEMP_OBJECT = 3,
|
||||
CUTSCENE_OBJECT = 4,
|
||||
ESCALATOR_OBJECT = 5,
|
||||
CONTROLLED_SUB_OBJECT = 5,
|
||||
};
|
||||
|
||||
enum CollisionSpecialResponseCase
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
#include "Projectile.h"
|
||||
|
||||
// --MIAMI: file done
|
||||
|
||||
CProjectile::CProjectile(int32 model) : CObject()
|
||||
{
|
||||
m_fMass = 1.0f;
|
||||
|
|
|
@ -23,7 +23,7 @@ CStingerSegment::CStingerSegment()
|
|||
m_fBuoyancy = GRAVITY * m_fMass * 0.1f;
|
||||
bExplosionProof = true;
|
||||
SetModelIndex(MI_PLC_STINGER);
|
||||
ObjectCreatedBy = ESCALATOR_OBJECT;
|
||||
ObjectCreatedBy = CONTROLLED_SUB_OBJECT;
|
||||
NumOfStingerSegments++;
|
||||
}
|
||||
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
#include "main.h"
|
||||
#include "PedRoutes.h"
|
||||
|
||||
// --MIAMI: file done
|
||||
|
||||
CRouteNode gaRoutes[NUMPEDROUTES];
|
||||
|
||||
void
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
#include "FileMgr.h"
|
||||
#include "PedStats.h"
|
||||
|
||||
// --MIAMI: file done
|
||||
|
||||
CPedStats *CPedStats::ms_apPedStats[NUM_PEDSTATS];
|
||||
|
||||
void
|
||||
|
|
|
@ -1358,7 +1358,7 @@ CEscalator::Update(void) {
|
|||
if (m_pSteps[i]) {
|
||||
m_pSteps[i]->SetPosition(m_pos1);
|
||||
CWorld::Add(m_pSteps[i]);
|
||||
m_pSteps[i]->ObjectCreatedBy = ESCALATOR_OBJECT;
|
||||
m_pSteps[i]->ObjectCreatedBy = CONTROLLED_SUB_OBJECT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,3 +22,4 @@ void SetAmbientColours(void);
|
|||
void SetAmbientColoursForPedsCarsAndObjects(void);
|
||||
void SetAmbientColoursToIndicateRoadGroup(int i);
|
||||
void SetAmbientColours(RwRGBAReal *color);
|
||||
void SetFullAmbient(void);
|
||||
|
|
|
@ -1011,14 +1011,16 @@ CHeli::TestSniperCollision(CVector *line0, CVector *line1)
|
|||
bool hit = false;
|
||||
|
||||
for(i = 0; i < NUM_HELIS; i++){
|
||||
CVector pilotPos = pHelis[i]->GetMatrix() * CVector(-0.43f, 1.49f, 1.5f);
|
||||
if(pHelis[i] && !pHelis[i]->bBulletProof && CCollision::DistToLine(line0, line1, &pilotPos) < 0.8f){
|
||||
pHelis[i]->m_fAngularSpeed = CGeneral::GetRandomTrueFalse() ? 0.05f : -0.05f;
|
||||
pHelis[i]->m_heliStatus = HELI_STATUS_SHOT_DOWN;
|
||||
pHelis[i]->m_nExplosionTimer = CTimer::GetTimeInMilliseconds() + 9999999;
|
||||
pHelis[i]->m_numSwat = 0;
|
||||
if(pHelis[i] && !pHelis[i]->bBulletProof) {
|
||||
CVector pilotPos = pHelis[i]->GetMatrix() * CVector(-0.43f, 1.49f, 1.5f);
|
||||
if(CCollision::DistToLine(line0, line1, &pilotPos) < 0.8f){
|
||||
pHelis[i]->m_fAngularSpeed = CGeneral::GetRandomTrueFalse() ? 0.05f : -0.05f;
|
||||
pHelis[i]->m_heliStatus = HELI_STATUS_SHOT_DOWN;
|
||||
pHelis[i]->m_nExplosionTimer = CTimer::GetTimeInMilliseconds() + 9999999;
|
||||
pHelis[i]->m_numSwat = 0;
|
||||
|
||||
hit = true;
|
||||
hit = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return hit;
|
||||
|
|
Loading…
Reference in a new issue