summaryrefslogtreecommitdiffstats
path: root/src/Streaming.h
diff options
context:
space:
mode:
authoraap <aap@papnet.eu>2019-05-15 16:52:37 +0200
committeraap <aap@papnet.eu>2019-05-15 16:52:37 +0200
commit600bf0351476a5a21aabb5429132ddf7f52ac0b9 (patch)
treed8e48b3a581679e33830fb7c98ed69e1e242e2c2 /src/Streaming.h
downloadre3-600bf0351476a5a21aabb5429132ddf7f52ac0b9.tar
re3-600bf0351476a5a21aabb5429132ddf7f52ac0b9.tar.gz
re3-600bf0351476a5a21aabb5429132ddf7f52ac0b9.tar.bz2
re3-600bf0351476a5a21aabb5429132ddf7f52ac0b9.tar.lz
re3-600bf0351476a5a21aabb5429132ddf7f52ac0b9.tar.xz
re3-600bf0351476a5a21aabb5429132ddf7f52ac0b9.tar.zst
re3-600bf0351476a5a21aabb5429132ddf7f52ac0b9.zip
Diffstat (limited to 'src/Streaming.h')
-rw-r--r--src/Streaming.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/Streaming.h b/src/Streaming.h
new file mode 100644
index 00000000..1acfc261
--- /dev/null
+++ b/src/Streaming.h
@@ -0,0 +1,54 @@
+#pragma once
+
+enum {
+ STREAM_OFFSET_MODEL = 0,
+ STREAM_OFFSET_TXD = STREAM_OFFSET_MODEL+MODELINFOSIZE,
+ NUMSTREAMINFO = STREAM_OFFSET_TXD+TXDSTORESIZE
+};
+
+enum StreamFlags
+{
+ STREAM_DONT_REMOVE = 0x01,
+ STREAM_SCRIPTOWNED = 0x02,
+ STREAM_DEPENDENCY = 0x04,
+ STREAM_PRIORITY = 0x08,
+ STREAM_NOFADE = 0x10,
+};
+
+enum StreamLoadState
+{
+ STREAM_NOTLOADED = 0,
+ STREAM_LOADED = 1,
+ STREAM_INQUEUE = 2,
+ STREAM_READING = 3, // what is this?
+ STREAM_BIGFILE = 4,
+};
+
+class CStreamingInfo
+{
+public:
+ CStreamingInfo *m_next;
+ CStreamingInfo *m_prev;
+ uint8 m_loadState;
+ uint8 m_flags;
+
+ int16 m_nextID;
+ uint32 m_position;
+ uint32 m_size;
+
+// bool GetCdPosnAndSize(uint32 *pos, uint32 *size);
+// void SetCdPosnAndSize(uint32 pos, uint32 size);
+// void AddToList(CStreamingInfo *link);
+// void RemoveFromList(void);
+};
+
+class CStreaming
+{
+public:
+ static bool &ms_disableStreaming;
+ static int32 &ms_numModelsRequested;
+ static CStreamingInfo *ms_aInfoForModel; //[NUMSTREAMINFO]
+
+ static void RemoveModel(int32 id);
+ static void RequestModel(int32 model, int32 flags);
+};