diff options
Diffstat (limited to 'src/World.h')
-rw-r--r-- | src/World.h | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/src/World.h b/src/World.h deleted file mode 100644 index 3b7090da..00000000 --- a/src/World.h +++ /dev/null @@ -1,119 +0,0 @@ -#pragma once - -#include "Game.h" -#include "Lists.h" -#include "PlayerInfo.h" - -/* Sectors span from -2000 to 2000 in x and y. - * With 100x100 sectors, each is 40x40 units. */ - -#define SECTOR_SIZE_X (40.0f) -#define SECTOR_SIZE_Y (40.0f) - -#define NUMSECTORS_X (100) -#define NUMSECTORS_Y (100) - -#define WORLD_SIZE_X (NUMSECTORS_X * SECTOR_SIZE_X) -#define WORLD_SIZE_Y (NUMSECTORS_Y * SECTOR_SIZE_Y) - -#define WORLD_MIN_X (-2000.0f) -#define WORLD_MIN_Y (-2000.0f) - -#define WORLD_MAX_X (WORLD_MIN_X + WORLD_SIZE_X) -#define WORLD_MAX_Y (WORLD_MIN_Y + WORLD_SIZE_Y) - -enum -{ - ENTITYLIST_BUILDINGS, - ENTITYLIST_BUILDINGS_OVERLAP, - ENTITYLIST_OBJECTS, - ENTITYLIST_OBJECTS_OVERLAP, - ENTITYLIST_VEHICLES, - ENTITYLIST_VEHICLES_OVERLAP, - ENTITYLIST_PEDS, - ENTITYLIST_PEDS_OVERLAP, - ENTITYLIST_DUMMIES, - ENTITYLIST_DUMMIES_OVERLAP, - - NUMSECTORENTITYLISTS -}; - -class CSector -{ -public: - CPtrList m_lists[NUMSECTORENTITYLISTS]; -}; -static_assert(sizeof(CSector) == 0x28, "CSector: error"); - -class CEntity; -struct CColPoint; -struct CColLine; -struct CStoredCollPoly; - -class CWorld -{ - static CPtrList *ms_bigBuildingsList; // [4]; - static CPtrList &ms_listMovingEntityPtrs; - static CSector (*ms_aSectors)[NUMSECTORS_X]; // [NUMSECTORS_Y][NUMSECTORS_X]; - static uint16 &ms_nCurrentScanCode; - -public: - static uint8 &PlayerInFocus; - static CPlayerInfo *Players; - static CEntity *&pIgnoreEntity; - static bool &bIncludeDeadPeds; - static bool &bNoMoreCollisionTorque; - static bool &bSecondShift; - static bool &bForceProcessControl; - static bool &bProcessCutsceneOnly; - - static void Remove(CEntity *entity); - static void Add(CEntity *entity); - - static CSector *GetSector(int x, int y) { return &ms_aSectors[y][x]; } - static CPtrList &GetBigBuildingList(eLevelName i) { return ms_bigBuildingsList[i]; } - static CPtrList &GetMovingEntityList(void) { return ms_listMovingEntityPtrs; } - static uint16 GetCurrentScanCode(void) { return ms_nCurrentScanCode; } - static void AdvanceCurrentScanCode(void){ - if(++CWorld::ms_nCurrentScanCode == 0){ - CWorld::ClearScanCodes(); - CWorld::ms_nCurrentScanCode = 1; - } - } - static void ClearScanCodes(void); - - static bool CameraToIgnoreThisObject(CEntity *ent); - - static bool ProcessLineOfSight(const CVector &point1, const CVector &point2, CColPoint &point, CEntity *&entity, bool checkBuildings, bool checkVehicles, bool checkPeds, bool checkObjects, bool checkDummies, bool ignoreSeeThrough, bool ignoreSomeObjects = false); - static bool ProcessLineOfSightSector(CSector §or, const CColLine &line, CColPoint &point, float &dist, CEntity *&entity, bool checkBuildings, bool checkVehicles, bool checkPeds, bool checkObjects, bool checkDummies, bool ignoreSeeThrough, bool ignoreSomeObjects = false); - static bool ProcessLineOfSightSectorList(CPtrList &list, const CColLine &line, CColPoint &point, float &dist, CEntity *&entity, bool ignoreSeeThrough, bool ignoreSomeObjects = false); - static bool ProcessVerticalLine(const CVector &point1, float z2, CColPoint &point, CEntity *&entity, bool checkBuildings, bool checkVehicles, bool checkPeds, bool checkObjects, bool checkDummies, bool ignoreSeeThrough, CStoredCollPoly *poly); - static bool ProcessVerticalLineSector(CSector §or, const CColLine &line, CColPoint &point, CEntity *&entity, bool checkBuildings, bool checkVehicles, bool checkPeds, bool checkObjects, bool checkDummies, bool ignoreSeeThrough, CStoredCollPoly *poly); - static bool ProcessVerticalLineSectorList(CPtrList &list, const CColLine &line, CColPoint &point, float &dist, CEntity *&entity, bool ignoreSeeThrough, CStoredCollPoly *poly); - static bool GetIsLineOfSightClear(const CVector &point1, const CVector &point2, bool checkBuildings, bool checkVehicles, bool checkPeds, bool checkObjects, bool checkDummies, bool ignoreSeeThrough, bool ignoreSomeObjects = false); - static bool GetIsLineOfSightSectorClear(CSector §or, const CColLine &line, bool checkBuildings, bool checkVehicles, bool checkPeds, bool checkObjects, bool checkDummies, bool ignoreSeeThrough, bool ignoreSomeObjects = false); - static bool GetIsLineOfSightSectorListClear(CPtrList &list, const CColLine &line, bool ignoreSeeThrough, bool ignoreSomeObjects = false); - - static float FindGroundZForCoord(float x, float y); - static float FindGroundZFor3DCoord(float x, float y, float z, bool *found); - static float FindRoofZFor3DCoord(float x, float y, float z, bool *found); - - static float GetSectorX(float f) { return ((f - WORLD_MIN_X)/SECTOR_SIZE_X); } - static float GetSectorY(float f) { return ((f - WORLD_MIN_Y)/SECTOR_SIZE_Y); } - static int GetSectorIndexX(float f) { return (int)GetSectorX(f); } - static int GetSectorIndexY(float f) { return (int)GetSectorY(f); } - static float GetWorldX(int x) { return x*SECTOR_SIZE_X + WORLD_MIN_X; } - static float GetWorldY(int y) { return y*SECTOR_SIZE_Y + WORLD_MIN_Y; } -}; - -class CPlayerPed; -class CVehicle; -CPlayerPed *FindPlayerPed(void); -CVehicle *FindPlayerVehicle(void); -CVehicle *FindPlayerTrain(void); -CEntity *FindPlayerEntity(void); -CVector FindPlayerCoors(void); -CVector &FindPlayerSpeed(void); -CVector &FindPlayerCentreOfWorld(int32 player); -CVector &FindPlayerCentreOfWorld_NoSniperShift(void); -float FindPlayerHeading(void); |