new zone stuff
This commit is contained in:
@@ -1,57 +1,5 @@
|
||||
class CEntity;
|
||||
|
||||
class CCullZone
|
||||
{
|
||||
public:
|
||||
CVector position;
|
||||
float minx;
|
||||
float maxx;
|
||||
float miny;
|
||||
float maxy;
|
||||
float minz;
|
||||
float maxz;
|
||||
|
||||
int32 m_indexStart;
|
||||
int16 m_groupIndexCount[3];
|
||||
int16 m_numBuildings;
|
||||
int16 m_numTreadablesPlus10m;
|
||||
int16 m_numTreadables;
|
||||
|
||||
void DoStuffLeavingZone(void);
|
||||
static void DoStuffLeavingZone_OneBuilding(uint16 i);
|
||||
static void DoStuffLeavingZone_OneTreadableBoth(uint16 i);
|
||||
void DoStuffEnteringZone(void);
|
||||
static void DoStuffEnteringZone_OneBuilding(uint16 i);
|
||||
static void DoStuffEnteringZone_OneTreadablePlus10m(uint16 i);
|
||||
static void DoStuffEnteringZone_OneTreadable(uint16 i);
|
||||
|
||||
|
||||
static bool TestLine(CVector a1, CVector a2);
|
||||
float CalcDistToCullZoneSquared(float x, float y);
|
||||
float CalcDistToCullZone(float x, float y) { return Sqrt(CalcDistToCullZoneSquared(x, y)); };
|
||||
bool IsEntityCloseEnoughToZone(CEntity* entity, bool checkLevel);
|
||||
|
||||
void GetGroupStartAndSize(int32 groupid, int32 &start, int32 &size) {
|
||||
switch (groupid) {
|
||||
case 1:
|
||||
start = m_groupIndexCount[0] + m_indexStart;
|
||||
size = m_groupIndexCount[1];
|
||||
break;
|
||||
case 2:
|
||||
start = m_groupIndexCount[0] + m_groupIndexCount[1] + m_indexStart;
|
||||
size = m_groupIndexCount[2];
|
||||
break;
|
||||
default:
|
||||
start = m_indexStart;
|
||||
size = m_groupIndexCount[0];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void FindTestPoints() {}; // todo
|
||||
bool TestEntityVisibilityFromCullZone(CEntity*, float, CEntity*) { return false; }; // todo
|
||||
};
|
||||
|
||||
enum eZoneAttribs
|
||||
{
|
||||
ATTRZONE_CAMCLOSEIN = 1,
|
||||
@@ -79,27 +27,17 @@ struct CAttributeZone
|
||||
class CCullZones
|
||||
{
|
||||
public:
|
||||
static int32 NumCullZones;
|
||||
static CCullZone aZones[NUMCULLZONES];
|
||||
static int32 NumAttributeZones;
|
||||
static CAttributeZone aAttributeZones[NUMATTRIBZONES];
|
||||
static uint16 aIndices[NUMZONEINDICES];
|
||||
static int16 aPointersToBigBuildingsForBuildings[NUMBUILDINGS];
|
||||
static int16 aPointersToBigBuildingsForTreadables[NUMTREADABLES];
|
||||
|
||||
static int32 CurrentWantedLevelDrop_Player;
|
||||
static int32 CurrentFlags_Camera;
|
||||
static int32 CurrentFlags_Player;
|
||||
static int32 OldCullZone;
|
||||
static int32 EntityIndicesUsed;
|
||||
static bool bCurrentSubwayIsInvisible;
|
||||
static bool bCullZonesDisabled;
|
||||
|
||||
static void Init(void);
|
||||
static void ResolveVisibilities(void);
|
||||
static void Update(void);
|
||||
static void ForceCullZoneCoors(CVector coors);
|
||||
static int32 FindCullZoneForCoors(CVector coors);
|
||||
static int32 FindAttributesForCoors(CVector coors, int32 *wantedLevel);
|
||||
static CAttributeZone *FindZoneWithStairsAttributeForPlayer(void);
|
||||
static void MarkSubwayAsInvisible(bool visible);
|
||||
@@ -117,12 +55,6 @@ public:
|
||||
static bool CamNoRain(void) { return (CurrentFlags_Camera & ATTRZONE_NORAIN) != 0; }
|
||||
static int32 GetWantedLevelDrop(void) { return CurrentWantedLevelDrop_Player; }
|
||||
|
||||
static void BuildListForBigBuildings();
|
||||
static void DoVisibilityTestCullZone(int zoneId, bool doIt);
|
||||
static bool DoWeHaveMoreThanXOccurencesOfSet(int32 count, uint16 *set);
|
||||
|
||||
static void CompressIndicesArray() {};// todo
|
||||
|
||||
//--MIAMI: TODO
|
||||
static bool PoliceAbandonCars(void) { return false; }
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user