summaryrefslogtreecommitdiffstats
path: root/src/core/Streaming.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/core/Streaming.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/core/Streaming.h b/src/core/Streaming.h
index cf8790e9..84434769 100644
--- a/src/core/Streaming.h
+++ b/src/core/Streaming.h
@@ -3,8 +3,7 @@
#include "Game.h"
enum {
- STREAM_OFFSET_MODEL = 0,
- STREAM_OFFSET_TXD = STREAM_OFFSET_MODEL+MODELINFOSIZE,
+ STREAM_OFFSET_TXD = MODELINFOSIZE,
NUMSTREAMINFO = STREAM_OFFSET_TXD+TXDSTORESIZE
};
@@ -16,8 +15,7 @@ enum StreamFlags
STREAMFLAGS_PRIORITY = 0x08,
STREAMFLAGS_NOFADE = 0x10,
- // TODO: this isn't named well, maybe CANT_REMOVE?
- STREAMFLAGS_NOT_IN_LIST = STREAMFLAGS_DONT_REMOVE|STREAMFLAGS_SCRIPTOWNED,
+ STREAMFLAGS_CANT_REMOVE = STREAMFLAGS_DONT_REMOVE|STREAMFLAGS_SCRIPTOWNED,
STREAMFLAGS_KEEP_IN_MEMORY = STREAMFLAGS_DONT_REMOVE|STREAMFLAGS_SCRIPTOWNED|STREAMFLAGS_DEPENDENCY,
};
@@ -108,6 +106,7 @@ public:
static uint32 ms_memoryAvailable;
static void Init(void);
+ static void Init2(void);
static void Shutdown(void);
static void Update(void);
static void LoadCdDirectory(void);
@@ -115,6 +114,9 @@ public:
static bool ConvertBufferToObject(int8 *buf, int32 streamId);
static bool FinishLoadingLargeFile(int8 *buf, int32 streamId);
static bool HasModelLoaded(int32 id) { return ms_aInfoForModel[id].m_loadState == STREAMSTATE_LOADED; }
+ static bool HasTxdLoaded(int32 id) { return HasModelLoaded(id+STREAM_OFFSET_TXD); }
+ static bool CanRemoveModel(int32 id) { return (ms_aInfoForModel[id].m_flags & STREAMFLAGS_CANT_REMOVE) == 0; }
+ static bool CanRemoveTxd(int32 id) { return CanRemoveModel(id+STREAM_OFFSET_TXD); }
static void RequestModel(int32 model, int32 flags);
static void ReRequestModel(int32 model) { RequestModel(model, ms_aInfoForModel[model].m_flags); }
static void RequestTxd(int32 txd, int32 flags) { RequestModel(txd + STREAM_OFFSET_TXD, flags); }