summaryrefslogtreecommitdiff
path: root/src/T2TowerDoc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/T2TowerDoc.h')
-rw-r--r--src/T2TowerDoc.h472
1 files changed, 309 insertions, 163 deletions
diff --git a/src/T2TowerDoc.h b/src/T2TowerDoc.h
index e657d47..9371bce 100644
--- a/src/T2TowerDoc.h
+++ b/src/T2TowerDoc.h
@@ -1,198 +1,306 @@
#pragma once
#include "common.h"
#include "T2MsgWindowCallback.h"
+#include "T2Settlement.h"
#include "T2Sprite.h"
#include "T2ToolCallback.h"
+#include "T2TowerMainView.h"
enum {
- kTowerDocWindowType0 = 0,
- kTowerDocWindowType1,
- kTowerDocWindowType2
+ kControlWindow,
+ kMessageWindow,
+ kToolWindow
+};
+
+// The type of entity found when performing a hit test
+enum {
+ kHitNull,
+ kHitBkgndInfo,
+ kHitTenant,
+ kHitMover,
+ kHitPeople,
+ kHitOutObj,
+ kHitSpriteObj
+};
+
+union HitTestResult {
+ T2DrawableObject *obj;
+ T2SpriteObj *spriteObj;
+ unsigned int bkgndInfo;
+};
+
+enum {
+ // Leave the cursor as-is
+ kCursorNoChange = -1,
+ // Destruct (193, 184)
+ kCursorDestruct = 0,
+ // Finger (187, 188)
+ kCursorFinger = 1,
+ // Info (193, 183)
+ kCursorInfo = 2,
+ // Zoom (195, 195)
+ kCursorZoom = 3,
+ // Hand (189, 190)
+ kCursorHand = 4,
+ // Mic (185, 185)
+ kCursorMic = 5,
+ // Search range (192, 192)
+ kCursorSearchRange = 6,
+ // No symbol (210, 210)
+ kCursorNo = 7,
+ // Use IDC_ARROW
+ kCursorDefault = 0x100
+};
+
+class T2HUnknown;
+
+typedef void (*TowerDocDestroyCallback)(void *);
+
+enum {
+ kDm0 = 0,
+ kDm1,
+ kDm2,
+ kDm3
+};
+
+struct DragMask {
+ int x0;
+ int x4;
+ RECT rect;
};
class T2TowerDoc : public CDocument, public T2MsgWindowCallback, public T2ToolCallback {
+ DECLARE_DYNCREATE(T2TowerDoc)
+ DECLARE_MESSAGE_MAP()
+
public:
- virtual int IsDustOn() const;
- virtual void LoadsWorldPlugin();
+ T2TowerDoc();
+ virtual ~T2TowerDoc();
+ virtual void Serialize(CArchive &ar);
+
+ // is this one properly placed???
+ virtual BOOL IsDustOn() const { return mIsDustOn; }
+ virtual void LoadsWorldPlugin(); // new file?
// C0
- virtual void towerDoc_vfC0();
+ virtual void towerDoc_vfC0(int);
virtual void towerDoc_vfC4();
+
virtual void towerDoc_vfC8();
- virtual void towerDoc_vfCC();
+ virtual void towerDoc_vfCC(T2PluginSpecifier *inWorldPluginSpec, BOOL inIsExistingFile);
+ void xUnkNameSelectWorld(T2PluginSpecifier *inWorldPluginSpec);
+ void x41CFEB();
// D0
virtual void towerDoc_vfD0();
- virtual void towerDoc_vfD4();
- virtual void towerDoc_vfD8();
- virtual void towerDoc_vfDC();
+ void LoadOptionPlugins();
+ virtual void towerDoc_vfD4(BOOL inResetMainWindow);
+ virtual BOOL OnNewDocument();
+ virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);
+ virtual BOOL OnSaveDocument(LPCTSTR lpszPathName);
+
+ virtual void towerDoc_vfD8(const RECT &inRect1, const RECT &inRect2);
+ virtual void DrawRequestAll(const RECT &inRect);
// E0
- virtual void towerDoc_vfE0();
- virtual void towerDoc_vfE4();
- virtual void towerDoc_vfE8();
- virtual void towerDoc_vfEC();
+ virtual void DrawMoverAll(const RECT &inRect);
+ virtual void DrawInView(const RECT &inRect1, const RECT &inRect2);
+ virtual void DrawOutView(const RECT &inRect1, const RECT &inRect2);
+ virtual void DrawBuilding(const RECT &inRect1, const RECT &inRect2);
// F0
- virtual void towerDoc_vfF0();
- virtual void towerDoc_vfF4();
- virtual void towerDoc_vfF8();
- virtual void towerDoc_vfFC();
+ virtual void towerDoc_vfF0(const RECT &inRect1, const RECT &inRect2);
+ virtual void DrawBkgnd(const RECT &inRect);
+ virtual void towerDoc_vfF8(const RECT &inRect);
+ virtual void towerDoc_vfFC(const RECT &inRect);
// 100
- virtual void towerDoc_vf100();
- virtual void towerDoc_vf104();
- virtual int towerDoc_vf108() const; // get zoom level
- virtual T2BitImage *towerDoc_vf10C() const;
+ virtual void towerDoc_vf100(const RECT &inRect);
+ virtual void DrawTenantOutViewAll(const RECT &inRect);
+ virtual int GetZoomLevel() const;
+ void SetZoomLevel(int inZoom) { mZoomLevel = inZoom; }
+ virtual T2BitImage *GetImage() const;
// 110
- virtual T2TowerMainView *GetTowerMainView(); // GetMainView ref: Mac ver asserts
- virtual void towerDoc_vf114();
- virtual void towerDoc_vf118();
- virtual void towerDoc_vf11C(int startIndex, int count, PALETTEENTRY *entries); // updates palette
+ virtual T2TowerMainView *GetMainView() const;
+ virtual void SelectPlugins(BOOL inIsGradeUp);
+ virtual void InitSound(T2SoundPlayer *inSoundPlayer);
+ void LoadSoundForPlugin(T2TemplatePlugin *inPlugin);
+ virtual void UpdatePalette(int startIndex, int count, PALETTEENTRY *entries); // updates palette
// 120
- virtual T2DateTime *towerDoc_vf120() const;
- virtual T2RouteNavigator *towerDoc_vf124(); // GetRouteNavi()
- virtual T2TemplatePluginList *towerDoc_vf128();
- virtual T2FloorInfo *towerDoc_vf12C() const;
+ virtual T2DateTime *GetNow() const;
+ virtual T2RouteNavigator *GetRouteNavi() const;
+ virtual T2TemplatePluginList *GetSilhouetteTemplates();
+ virtual T2FloorInfo *GetFloorInfo() const { return mFloorInfo; }
// 130
- virtual T2Pool *towerDoc_vf130(); // GetPool
- virtual T2SoundPlayer *towerDoc_vf134();
- virtual int towerDoc_vf138() const; // game level?
- virtual T2TowerMessage *towerDoc_vf13C();
+ virtual T2Pool *GetPool() const { return mPool; }
+ virtual T2SoundPlayer *GetSoundPlayer() const { return mSoundPlayer; }
+ virtual int GetLevel() const { return mGameLevel; }
+ virtual T2TowerMessage *towerDoc_vf13C() { return mTowerMessage; }
// 140
- virtual int towerDoc_vf140(); // get view mode?
- virtual void towerDoc_vf144(int);
- virtual int towerDoc_vf148() const; // get walk rate?
- virtual void towerDoc_vf14C(int walkRate);
+ virtual int GetViewMode() const { return mViewMode; }
+ virtual void SetViewMode(int inViewMode);
+ virtual int GetWalkRate() const { return mWalkRate; }
+ virtual void SetWalkRate(int inWalkRate);
// 150
- virtual T2TrafficInfo *towerDoc_vf150() const;
- virtual BOOL towerDoc_vf154(); // IsToiletFlagOn?
- virtual void towerDoc_vf158();
- virtual int towerDoc_vf15C(const RECT &rect); // returns bool maybe?
+ virtual T2TrafficInfo *GetTrafficInfo() const { return mTrafficInfo; }
+ virtual BOOL IsToiletFlagOn() const;
+ virtual BOOL IsColdFlagOn() const;
+ int CheckGameLevel();
+ void UpdateAllTenant();
+ virtual BOOL IsRectInView(const RECT &inRect);
// 160
- virtual T2PaletteAnime *towerDoc_vf160() const;
- virtual void towerDoc_vf164(const char *inText); // sets infobar message
- virtual void towerDoc_vf168();
- virtual BOOL towerDoc_vf16C() const; // GetElevTransparent
+ virtual T2PaletteAnime *GetPaletteAnime() const { return mPaletteAnime; }
+ virtual void SetInfoBarText(const char *inText);
+ virtual void towerDoc_vf168(const RECT &inRect) {
+ mTowerMainView->CenterOnRectAndZoom(inRect);
+ }
+ virtual BOOL GetElevTransparent() const { return mElevTransparent; }
// 170
- virtual T2WorldDef *towerDoc_vf170();
- virtual T2RegistedTenantDB *towerDoc_vf174();
- virtual T2TemplatePluginList *towerDoc_vf178(); // get tenant templates
- virtual T2TemplatePluginList *towerDoc_vf17C(); // get mover templates
+ virtual T2WorldDef *GetWorldDef() const { return mWorldDef; }
+ virtual T2RegistedTenantDB *GetRegistedTenantDB() const { return mRegistedTenantDB; }
+ virtual T2TemplatePluginList *GetTenantTemplates() const { return mTenantTemplates; }
+ virtual T2TemplatePluginList *GetMoverTemplates() const { return mMoverTemplates; }
// 180
- virtual T2TemplatePluginList *towerDoc_vf180(); // get outobj templates
- virtual void towerDoc_vf184();
- virtual void towerDoc_vf188();
- virtual T2Tenant *towerDoc_vf18C();
+ virtual T2TemplatePluginList *GetOuterObjTemplates() const { return mOuterObjTemplates; }
+ CPluginInfoArray *MakePluginInfoArray();
+ void _MakePluginInfoArray(CPluginInfoArray *inResultArray, CFilePluginList *inPluginArray);
+ virtual void towerDoc_vf184(int inFlags);
+ virtual void FinalEventOccur();
+ virtual T2Tenant *GetSearchRangeFrom() const { return mSearchRangeFrom; }
// 190
- virtual void towerDoc_vf190();
+ virtual void SetSearchRangeFrom(T2Tenant *inTenant);
virtual void towerDoc_vf194();
- virtual void towerDoc_vf198(int);
- virtual void towerDoc_vf19C();
+ virtual void towerDoc_vf198(unsigned short inWindowType);
+ virtual void SetCursorType(int inCursor, BOOL inIsPressed);
// 1A0
- virtual void towerDoc_vf1A0(int);
- virtual BOOL towerDoc_vf1A4() const; // called from T2MainWindow::OnClose
- virtual void towerDoc_vf1A8();
- virtual void towerDoc_vf1AC();
+ virtual void towerDoc_vf1A0(BOOL inPause);
+ virtual BOOL towerDoc_vf1A4() const { return _1F8 != 0; }
+ virtual void *towerDoc_vf1A8() const { return mDestroyCallbackData; }
+ virtual void towerDoc_vf1AC(void *inData) { mDestroyCallbackData = inData; }
// 1B0
- virtual void towerDoc_vf1B0();
- virtual void towerDoc_vf1B4();
- virtual void towerDoc_vf1B8(T2People *);
- virtual void towerDoc_vf1BC();
+ virtual void towerDoc_vf1B0(TowerDocDestroyCallback inFunc) { mDestroyCallback = inFunc; }
+ virtual void BreakoutEmergency();
+ virtual void AddFavoritePeople(T2People *inPeople);
+ virtual void AddFavoriteTenant(T2Tenant *inTenant);
// 1C0
- virtual void towerDoc_vf1C0();
- virtual void towerDoc_vf1C4(T2People *, BOOL);
- virtual void towerDoc_vf1C8();
- virtual void towerDoc_vf1CC(T2Tenant *, BOOL);
+ virtual void RemoveFavoritePeople(const char *inName, BOOL inFlag);
+ virtual void RemoveFavoritePeople(T2People *inPeople, BOOL inFlag);
+ virtual void RemoveFavoriteTenant(const char *inName, BOOL inFlag);
+ virtual void RemoveFavoriteTenant(T2Tenant *inTenant, BOOL inFlag);
// 1D0
- virtual void towerDoc_vf1D0();
+ virtual void towerDoc_vf1D0(int unk1, int unk2) {}
virtual void towerDoc_vf1D4();
virtual void towerDoc_vf1D8();
- virtual void towerDoc_vf1DC();
+ virtual void CreatePool();
// 1E0
- virtual void towerDoc_vf1E0();
- virtual void towerDoc_vf1E4();
- virtual void towerDoc_vf1E8();
- virtual void towerDoc_vf1EC();
+ virtual void LoadPool(T2Archive &inArchive);
+ virtual void DoDestruct(const CPoint &inPt);
+ virtual BOOL DestructTenant(POINT inPt1, POINT inPt2, T2Tenant *inTenant, BOOL inSkipSounds);
+ BOOL OutsideAreaCheck(T2Tenant *inTenant, BOOL inShowError);
+ void CalcCraneUpdateRect(RECT &ioRect);
+ virtual BOOL DestructMover(POINT inPt1, POINT inPt2, T2Mover *inMover);
// 1F0
- virtual void towerDoc_vf1F0();
- virtual void towerDoc_vf1F4();
- virtual void towerDoc_vf1F8();
- virtual void towerDoc_vf1FC();
+ virtual BOOL DestructOutObj(POINT inPt1, POINT inPt2, T2OutObj *inOutObj);
+ virtual BOOL DoClickByTenantTool(CRect inRect, T2TenantDef *inDef, unsigned int inValiation);
+ virtual void DoDragByTenantTool(CRect inRect);
+ virtual void DoReleaseByTenantTool(CRect inRect);
// 200
- virtual void towerDoc_vf200();
- virtual void towerDoc_vf204();
- virtual void towerDoc_vf208();
- virtual void towerDoc_vf20C();
+ virtual BOOL DoClickByMoverTool(CRect inRect, T2MoverDef *inDef, unsigned int inValiation, BOOL inIsFromMouseMove);
+ virtual void DoDragByMoverTool(CRect inRect);
+ virtual void DoReleaseByMoverTool(CRect inRect);
+ virtual void DoClickByOutObjTool(CRect inRect, T2OuterObjDef *inDef, unsigned int inValiation);
// 210
- virtual void towerDoc_vf210();
- virtual void towerDoc_vf214();
- virtual void towerDoc_vf218();
- virtual void towerDoc_vf21C();
+ virtual void DoDragByOutObjTool(CRect inRect);
+ virtual void DoReleaseByOutObjTool(CRect inRect);
+ virtual BOOL DoClickByFingerTool(CPoint inPt);
+ virtual void DoDragByFingerTool(CPoint inPt);
// 220
- virtual void towerDoc_vf220();
- virtual void towerDoc_vf224();
- virtual void towerDoc_vf228();
- virtual void towerDoc_vf22C();
+ virtual void DoReleaseByFingerTool(CPoint inPt);
+ virtual void DoGetInfo(CPoint inPt);
+ virtual void towerDoc_vf228(CPoint inPt);
+ virtual void DoInterview(CPoint inPt);
// 230
- virtual void towerDoc_vf230();
- virtual void towerDoc_vf234();
- virtual void towerDoc_vf238(T2Name *); // find tenant from search dialog
- virtual void towerDoc_vf23C();
+ virtual void DoSearchRangeTool(CPoint inPt);
+ virtual void DoRenumberTenant();
+ virtual void DoFind(T2Name *inName);
+ BOOL x4295F1(T2People *inPeople, RECT &outRect);
+ virtual BOOL towerDoc_vf23C(CPoint inPt);
// 240
- virtual void towerDoc_vf240();
- virtual void towerDoc_vf244();
- virtual void towerDoc_vf248();
- virtual void towerDoc_vf24C();
+ virtual void CalcDragMask(CRect inRect);
+ virtual int CalcDragMaskPoint(CRect &ioRect, int &ioFunds, DragMask *inArray, int inMode, BOOL inShowError); // CalcDragMaskPoint
+ virtual BOOL towerDoc_vf248(CRect inRect);
+ virtual T2Tenant *AssignNewTenant(T2TenantDef *inTenantDef, RECT &inRect, unsigned int inValiation);
// 250
- virtual void towerDoc_vf250();
- virtual void towerDoc_vf254();
- virtual void towerDoc_vf258();
- virtual void towerDoc_vf25C();
+ virtual void CheckBuildQueue();
+ virtual BOOL CheckTenantArea(const RECT &inRect, T2TenantDef *inTenantDef, BOOL inShowErr, BOOL inUnkFlag);
+ virtual BOOL towerDoc_vf258(const RECT &inRect, T2MoverDef *inMoverDef);
+ virtual BOOL towerDoc_vf25C(const RECT &inRect, T2MoverDef *inMoverDef);
// 260
- virtual void towerDoc_vf260();
- virtual void towerDoc_vf264();
- virtual void towerDoc_vf268(T2Tenant *inTenant); // TenantRemoved
- virtual int towerDoc_vf26C() const; // GetCurrentFunds?
+ virtual void towerDoc_vf260(const RECT &inRect, T2OuterObjDef *inOuterObjDef);
+ virtual void TenantAdded(T2Tenant *inTenant);
+ virtual void TenantRemoved(T2Tenant *inTenant);
+ virtual int GetCurrentFunds() const { return mSettlement->GetCurrentFunds(); }
// 270
- virtual void towerDoc_vf270(int, short); // DoPay
- virtual void towerDoc_vf274();
- virtual void DoPayTool(int cost, short unk, T2ToolDef *toolDef);
- virtual int towerDoc_vf27C(int inV); // GetNextTenantNumber
+ virtual void DoPay(int inCost, short inFundGroup);
+ virtual void DoPayTool(int inCost, short inFundGroup, T2ToolDef *inToolDef, const char *inMessage, int inLimitLength, int inLimitType);
+ virtual void DoPayTool(int inCost, short inFundGroup, T2ToolDef *toolDef);
+ virtual int GetNextTenantNumber(int inV);
// 280
- virtual void towerDoc_vf280();
- virtual void towerDoc_vf284();
- virtual void towerDoc_vf288();
- virtual void towerDoc_vf28C();
+ virtual void towerDoc_vf280(); // empty: RecreateFavoriteMenus?
+ virtual void towerDoc_vf284() { UpdateAllTenant(); }
+ virtual BOOL towerDoc_vf288(RECT &ioRect, int &ioCost);
+ virtual void FillFloor(const RECT &inRect);
// 290
- virtual void towerDoc_vf290(int pauseVal);
- virtual void towerDoc_vf294();
+ virtual void towerDoc_vf290(BOOL inPause);
+ virtual void towerDoc_vf294() { towerDoc_vf290(false); }
virtual void towerDoc_vf298();
- virtual void towerDoc_vf29C();
+ virtual int HitTest(POINT inPt, HitTestResult &outObj, BOOL inSkipPeople, BOOL inSkipOuterObj);
+ int HitTestLayer(T2BitImage *inImage, POINT inPt, HitTestResult &outObj, int inLayer);
// 2A0
virtual T2ToolWindow *towerDoc_vf2A0();
- virtual int towerDoc_vf2A4() const; // get speed
- virtual void towerDoc_vf2A8(int); // SetDrawSpeed
- virtual void towerDoc_vf2AC();
+ virtual int GetDrawSpeed() const { return mDrawSpeed; }
+ virtual int SetDrawSpeed(int inVal) {
+ int oldVal = mDrawSpeed;
+ mDrawSpeed = inVal;
+ return oldVal;
+ }
+ virtual BOOL SetElevTransparent(BOOL inTransparent);
// 2B0
- virtual void towerDoc_vf2B0(BOOL); // SetVolatile maybe?
- virtual void towerDoc_vf2B4();
- virtual void towerDoc_vf2B8();
- virtual void towerDoc_vf2BC();
+ virtual BOOL towerDoc_vf2B0(BOOL inValue); // SetVolatile maybe?
+ virtual int towerDoc_vf2B4() const { return _1FC; }
+ virtual void CallbackZoomIn(POINT inPt);
+ virtual void CallbackZoomOut();
+ virtual void CallbackInView();
+ virtual void CallbackOutView();
+ virtual void CallbackPriceView();
+ virtual void CallbackMaintView();
+ virtual void CallbackTransView();
+ virtual void CallbackEvalView();
+ virtual void CallbackPause(BOOL inPause);
+ virtual void CallbackCalendar();
+ virtual void CallbackFunds();
+ virtual void CallbackPopulation();
+ virtual BOOL towerDoc_vf2BC(const char *inPath);
// 2C0
- virtual void towerDoc_vf2C0();
+ virtual BOOL towerDoc_vf2C0(const char *inPath);
+ virtual void toolCallback_vf00(int unkParam1, T2ToolIconItem *inItem);
- // this might be SetVolatile actually
+ void x429A9A(BOOL inPause);
+ void x429B01(BOOL inPause);
+
+ // this might be SetVolatile actually
void SetFireBurning(BOOL flag) { m208 = flag; }
- int Get22C() { return _22C; }
+ int Get228() { return m228; }
+ BOOL Get22C() const { return _22C; }
T2PluginLoader *mT2PluginLoader;
T2WorldPlugin *mWorldPlugin;
T2PluginSpecifier *mWorldPluginSpecifier;
- T2PluginSpecifier *mToPluginSpecifier;
+ T2PluginSpecifier *mToolPaletteSpecifier;
DWORD mWorldPluginID;
- DWORD mToPluginID;
+ DWORD mToolPaletteID;
T2WorldDef *mWorldDef;
int _78;
int _7C;
int mZoomLevel;
- int _84;
+ // the current funds when the player clicked to begin building a tenant
+ int mFundsOnClick;
BOOL mPause;
int mGameLevel;
int _90;
@@ -203,9 +311,9 @@ public:
int mViewMode;
int _A8;
int _AC;
- int _B0;
- int _B4;
- int _B8;
+ BOOL _B0;
+ int mLastRequestedCursor;
+ int mCurrentCursorIndex;
int mBC;
DWORD mC0;
T2DateTime *mNow;
@@ -216,12 +324,12 @@ public:
T2TrafficInfo *mTrafficInfo;
T2Sprite mSprite;
T2SoundPlayer *mSoundPlayer;
- CFilePluginList *mTenantPluginsListOther;
- CFilePluginList *mMoverPluginsListOther;
- CFilePluginList *mOoPluginsListOther;
+ CFilePluginList *mTenantPlugins;
+ CFilePluginList *mMoverPlugins;
+ CFilePluginList *mOuterObjPlugins;
T2MoviePluginList *mMoviePluginList;
- CFilePluginList *mHePluginsListOther;
- CFilePluginList *mAdPluginsListOther;
+ CFilePluginList *mHallEventPlugins;
+ CFilePluginList *mAdvertisePlugins;
T2TemplatePluginList *mTenantTemplates;
T2TemplatePluginList *mMoverTemplates;
T2TemplatePluginList *mMatterTemplates;
@@ -236,43 +344,42 @@ public:
T2PeopleArrayList *mPeopleArrayList;
T2Pool *mPool;
T2RegistedTenantDB *mRegistedTenantDB;
- int _15C;
+ T2TenantDef *mFloorDef;
T2RouteNavigator *mRouteNavigator;
- T2Equip *mSearchRangeFrom;
+ T2Tenant *mSearchRangeFrom;
int mCraneCount;
POINT *mCranePosArray;
- int _170;
+ T2HUnknown *_170;
int _174;
T2PaletteAnime *mPaletteAnime;
- int _17C;
- int m180;
- int m184;
- int _188;
- int _18C;
+ BOOL mPaletteUpdated;
+ BOOL mDebugStepRunEnabled;
+ BOOL mDisplayIPS;
+ POINT m188;
BOOL mErrorFlag;
BOOL mNewDocFlag;
BOOL mIsStuffLoadedFlag;
T2TowerMainView *mTowerMainView;
T2TenantDef *m1A0;
- int _1A4;
+ T2Tenant *_1A4;
int _1A8;
int _1AC;
- int _1B0;
- int _1B4;
+ unsigned int mValiation;
+ DragMask *mDragMask;
CObjectQueue *mObjectQueue;
- int _1BC;
- int _1C0;
+ POINT _1BC;
T2Equip *m1C4;
- int _1C8;
+ // does the system support palettes?
+ BOOL mIsPaletteMode;
int m1CC;
BOOL mElevTransparent;
- int isDustOn;
- int mToiletDenomi;
+ BOOL mIsDustOn;
+ unsigned int mToiletDenomi;
unsigned int mColdDenomi;
int mWalkRate;
- int _1E4;
- int _1E8;
- int _1EC;
+ BOOL _1E4;
+ void *mDestroyCallbackData;
+ TowerDocDestroyCallback mDestroyCallback;
int m1F0;
int _1F4;
int _1F8;
@@ -280,13 +387,52 @@ public:
int _200;
int m204;
int m208;
- int m20C;
+ time_t m20C;
int m210;
int m214;
- int m218;
- unsigned int m21C;
- unsigned int m220; // speed?
+ DWORD m218;
+ DWORD m21C;
+ unsigned int mDrawSpeed;
int _224;
int m228;
- int _22C;
+ BOOL _22C;
+
+protected:
+ afx_msg void OnSystemInformation();
+ afx_msg void OnUpdateDebugStepRun(CCmdUI *pCmdUI);
+ afx_msg void OnDebugStepRun();
+ void InvalClock();
+ void InvalCalender();
+ void InvalFunds();
+ void InvalPopulation();
+ void SetupGradeAnimation();
+ void x42670C();
+ void x426717();
+ void CycleOutlinePalette();
+ afx_msg void OnUpdateDebugIdleSpeedMeasuring(CCmdUI *pCmdUI);
+ afx_msg void OnDebugIdleSpeedMeasuring();
+ afx_msg void OnUpdateDebugAllLoadMeasuring(CCmdUI *pCmdUI);
+ afx_msg void OnDebugAllLoadMeasuring();
+ afx_msg void OnUpdateDebugPool(CCmdUI *pCmdUI);
+ afx_msg void OnDebugPool();
+ afx_msg void OnUpdateDebugDisplayIPS(CCmdUI *pCmdUI);
+ afx_msg void OnDebugDisplayIPS();
+ afx_msg void OnUpdateDebugPeople(CCmdUI *pCmdUI);
+ afx_msg void OnDebugPeople();
+ afx_msg void OnDebugGradeUp();
+ afx_msg void OnDebugGradeDown();
+ afx_msg void OnPause();
+ afx_msg void OnUpdatePause(CCmdUI *pCmdUI);
+ afx_msg void OnSetting();
+ afx_msg void OnUpdateSetting(CCmdUI *pCmdUI);
+ afx_msg void OnHideElevatorRoom();
+ afx_msg void OnUpdateHideElevatorRoom(CCmdUI *pCmdUI);
+ afx_msg void OnFavorite();
+ afx_msg void OnUpdateFavorite(CCmdUI *pCmdUI);
+ afx_msg void OnHideControlWindow();
+ afx_msg void OnUpdateHideControlWindow(CCmdUI *pCmdUI);
+ afx_msg void OnHideMessageWindow();
+ afx_msg void OnUpdateHideMessageWindow(CCmdUI *pCmdUI);
+ afx_msg void OnHideToolWindow();
+ afx_msg void OnUpdateHideToolWindow(CCmdUI *pCmdUI);
};