diff options
author | Ash Wolf <ninji@wuffs.org> | 2023-06-28 22:22:32 +0100 |
---|---|---|
committer | Ash Wolf <ninji@wuffs.org> | 2023-06-28 22:22:32 +0100 |
commit | c0c336500955a23e344651e5412c9d9d441ef4ee (patch) | |
tree | 790769c748db307cf3314f6e896e2f61c68561a2 /src/T2DLL/T2MetroRailway.h | |
parent | 37e364b2c6cc7487a1c888d256a73e5337bb7189 (diff) | |
download | t2win-c0c336500955a23e344651e5412c9d9d441ef4ee.tar.gz t2win-c0c336500955a23e344651e5412c9d9d441ef4ee.zip |
first pass of T2DLL
Diffstat (limited to '')
-rw-r--r-- | src/T2DLL/T2MetroRailway.h | 35 |
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; +}; |