summaryrefslogtreecommitdiffstats
path: root/src/collision/ColStore.h
diff options
context:
space:
mode:
authoraap <aap@papnet.eu>2021-01-23 12:40:23 +0100
committeraap <aap@papnet.eu>2021-01-23 12:40:23 +0100
commit20bcd4bd69c601cfccd6ec8b319f26fddbae9e9f (patch)
treefa4adbfea0ee59098876151fcab206e71ad12ca5 /src/collision/ColStore.h
parentfix (diff)
downloadre3-20bcd4bd69c601cfccd6ec8b319f26fddbae9e9f.tar
re3-20bcd4bd69c601cfccd6ec8b319f26fddbae9e9f.tar.gz
re3-20bcd4bd69c601cfccd6ec8b319f26fddbae9e9f.tar.bz2
re3-20bcd4bd69c601cfccd6ec8b319f26fddbae9e9f.tar.lz
re3-20bcd4bd69c601cfccd6ec8b319f26fddbae9e9f.tar.xz
re3-20bcd4bd69c601cfccd6ec8b319f26fddbae9e9f.tar.zst
re3-20bcd4bd69c601cfccd6ec8b319f26fddbae9e9f.zip
Diffstat (limited to 'src/collision/ColStore.h')
-rw-r--r--src/collision/ColStore.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/collision/ColStore.h b/src/collision/ColStore.h
index e0da92ca..d09bbf8f 100644
--- a/src/collision/ColStore.h
+++ b/src/collision/ColStore.h
@@ -9,11 +9,13 @@ struct ColDef { // made up name
char name[20];
int16 minIndex;
int16 maxIndex;
+ void *chunk;
};
class CColStore
{
static CPool<ColDef,ColDef> *ms_pColPool;
+ static bool m_onlyBB;
public:
static void Initialise(void);
@@ -25,15 +27,18 @@ public:
static CRect &GetBoundingBox(int32 slot);
static void IncludeModelIndex(int32 slot, int32 modelIndex);
static bool LoadCol(int32 storeID, uint8 *buffer, int32 bufsize);
+ static void LoadColCHK(int32 slot, void *data, void *chunk);
static void RemoveCol(int32 slot);
- static void AddCollisionNeededAtPosn(const CVector2D &pos);
+ static void AddCollisionNeededAtPosn(const CVector &pos);
static void LoadAllCollision(void);
static void RemoveAllCollision(void);
- static void LoadCollision(const CVector2D &pos);
- static void RequestCollision(const CVector2D &pos);
- static void EnsureCollisionIsInMemory(const CVector2D &pos);
- static bool HasCollisionLoaded(const CVector2D &pos);
- static bool HasCollisionLoaded(eLevelName level) { return true; }; // TODO
+ static void LoadCollision(const CVector &pos, eLevelName level = LEVEL_GENERIC);
+ static void RequestCollision(const CVector &pos);
+ static void EnsureCollisionIsInMemory(const CVector &pos);
+ static bool DoScriptsWantThisIn(int32 slot);
+ static bool HasCollisionLoaded(eLevelName level);
+ static bool HasCollisionLoaded(const CVector &pos);
+ static void Load(bool, CPool<ColDef> *pool);
static ColDef *GetSlot(int slot) {
assert(slot >= 0);