summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2MetroRailway.h
diff options
context:
space:
mode:
authorAsh Wolf <ninji@wuffs.org>2023-06-28 22:22:32 +0100
committerAsh Wolf <ninji@wuffs.org>2023-06-28 22:22:32 +0100
commitc0c336500955a23e344651e5412c9d9d441ef4ee (patch)
tree790769c748db307cf3314f6e896e2f61c68561a2 /src/T2DLL/T2MetroRailway.h
parent37e364b2c6cc7487a1c888d256a73e5337bb7189 (diff)
downloadt2win-c0c336500955a23e344651e5412c9d9d441ef4ee.tar.gz
t2win-c0c336500955a23e344651e5412c9d9d441ef4ee.zip
first pass of T2DLL
Diffstat (limited to '')
-rw-r--r--src/T2DLL/T2MetroRailway.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/T2DLL/T2MetroRailway.h b/src/T2DLL/T2MetroRailway.h
new file mode 100644
index 0000000..40a7277
--- /dev/null
+++ b/src/T2DLL/T2MetroRailway.h
@@ -0,0 +1,35 @@
+#pragma once
+#include "common.h"
+#include "T2EventItem.h"
+#include "T2Transport.h"
+
+class T2MetroRailway : public T2EventItem, public T2Transport {
+public:
+ T2MetroRailway(T2TowerEvent* inTowerEvent, CResFile* inResFile, int inSubID);
+ T2MetroRailway(T2TowerEvent* inTowerEvent, int inSubID, int inLevelBit, BOOL inExclusive, int inCycleDay, int inBeginTime, int inEndTime);
+ virtual ~T2MetroRailway();
+ virtual DWORD GetID() { return 'MREv'; }
+ virtual int Start(T2TowerDoc* inDoc);
+ virtual int Exec(T2TowerDoc *inDoc);
+ virtual void StopEvent(T2TowerDoc* inDoc);
+ virtual BOOL IsBeginTime(unsigned int inTime);
+ virtual void Write(T2Archive& inArchive);
+ virtual void Read(T2Archive& inArchive);
+ virtual void DoSetStatus(int inStatus) { SetStatus(inStatus); }
+ virtual T2TowerDoc *DoGetTowerDoc() const { return GetTowerDoc(); }
+ virtual int DoGetBeginTime() { return GetBeginTime(); }
+ virtual T2WorldDef *DoGetWorldDef() { return GetWorldDef(); }
+
+ void Init(T2Transport* inParent, CResFile* inResFile);
+ BOOL CreateSpriteObj(T2TowerDoc *inDoc);
+ void Show();
+ void Hide();
+
+protected:
+ int m74;
+ int mCurrentSprite;
+ int mTrainSpriteIndices[4];
+ T2BitImage *mImage;
+ T2ImageObj *mImageObj;
+ BOOL mVisible;
+};