summaryrefslogtreecommitdiff
path: root/src/T2TowerDoc.h
blob: 2af4ff0bafd61c9158d5bb2f0f4a598469026407 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
#pragma once
#include "common.h"
#include "T2MsgWindowCallback.h"
#include "T2Sprite.h"
#include "T2ToolCallback.h"

enum {
    kTowerDocWindowType0 = 0,
    kTowerDocWindowType1,
    kTowerDocWindowType2
};

class T2TowerDoc : public CDocument, public T2MsgWindowCallback, public T2ToolCallback {
public:
	virtual int IsDustOn() const;
	virtual void LoadsWorldPlugin();
	// C0
	virtual void towerDoc_vfC0();
	virtual void towerDoc_vfC4();
	virtual void towerDoc_vfC8();
	virtual void towerDoc_vfCC();
	// D0
	virtual void towerDoc_vfD0();
	virtual void towerDoc_vfD4();
	virtual void towerDoc_vfD8();
	virtual void towerDoc_vfDC();
	// E0
	virtual void towerDoc_vfE0();
	virtual void towerDoc_vfE4();
	virtual void towerDoc_vfE8();
	virtual void towerDoc_vfEC();
	// F0
	virtual void towerDoc_vfF0();
	virtual void towerDoc_vfF4();
	virtual void towerDoc_vfF8();
	virtual void towerDoc_vfFC();
	// 100
	virtual void towerDoc_vf100();
	virtual void towerDoc_vf104();
	virtual int towerDoc_vf108() const; // get zoom level
	virtual T2BitImage *towerDoc_vf10C() const;
	// 110
	virtual T2TowerMainView *GetTowerMainView();
	virtual void towerDoc_vf114();
	virtual void towerDoc_vf118();
	virtual void towerDoc_vf11C(int startIndex, int count, PALETTEENTRY *entries); // updates palette
	// 120
	virtual T2DateTime *towerDoc_vf120() const;
	virtual T2RouteNavigator *towerDoc_vf124();
	virtual T2TemplatePluginList *towerDoc_vf128();
	virtual T2FloorInfo *towerDoc_vf12C() const;
	// 130
	virtual T2Pool *towerDoc_vf130();
	virtual T2SoundPlayer *towerDoc_vf134();
	virtual int towerDoc_vf138() const; // game level?
	virtual T2TowerMessage *towerDoc_vf13C();
	// 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);
	// 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?
	// 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
	// 170
	virtual T2WorldDef *towerDoc_vf170();
	virtual T2RegistedTenantDB *towerDoc_vf174();
	virtual T2TemplatePluginList *towerDoc_vf178(); // get tenant templates
	virtual T2TemplatePluginList *towerDoc_vf17C(); // get mover templates
	// 180
	virtual T2TemplatePluginList *towerDoc_vf180(); // get outobj templates
	virtual void towerDoc_vf184();
	virtual void towerDoc_vf188();
	virtual T2Tenant *towerDoc_vf18C();
	// 190
	virtual void towerDoc_vf190();
	virtual void towerDoc_vf194();
	virtual void towerDoc_vf198(int);
	virtual void towerDoc_vf19C();
	// 1A0
	virtual void towerDoc_vf1A0(int);
	virtual BOOL towerDoc_vf1A4() const; // called from T2MainWindow::OnClose
	virtual void towerDoc_vf1A8();
	virtual void towerDoc_vf1AC();
	// 1B0
	virtual void towerDoc_vf1B0();
	virtual void towerDoc_vf1B4();
	virtual void towerDoc_vf1B8(T2People *);
	virtual void towerDoc_vf1BC();
	// 1C0
	virtual void towerDoc_vf1C0();
	virtual void towerDoc_vf1C4(T2People *, BOOL);
	virtual void towerDoc_vf1C8();
	virtual void towerDoc_vf1CC(T2Tenant *, BOOL);
	// 1D0
	virtual void towerDoc_vf1D0();
	virtual void towerDoc_vf1D4();
	virtual void towerDoc_vf1D8();
	virtual void towerDoc_vf1DC();
	// 1E0
	virtual void towerDoc_vf1E0();
	virtual void towerDoc_vf1E4();
	virtual void towerDoc_vf1E8();
	virtual void towerDoc_vf1EC();
	// 1F0
	virtual void towerDoc_vf1F0();
	virtual void towerDoc_vf1F4();
	virtual void towerDoc_vf1F8();
	virtual void towerDoc_vf1FC();
	// 200
	virtual void towerDoc_vf200();
	virtual void towerDoc_vf204();
	virtual void towerDoc_vf208();
	virtual void towerDoc_vf20C();
	// 210
	virtual void towerDoc_vf210();
	virtual void towerDoc_vf214();
	virtual void towerDoc_vf218();
	virtual void towerDoc_vf21C();
	// 220
	virtual void towerDoc_vf220();
	virtual void towerDoc_vf224();
	virtual void towerDoc_vf228();
	virtual void towerDoc_vf22C();
	// 230
	virtual void towerDoc_vf230();
	virtual void towerDoc_vf234();
	virtual void towerDoc_vf238(T2Name *); // find tenant from search dialog
	virtual void towerDoc_vf23C();
	// 240
	virtual void towerDoc_vf240();
	virtual void towerDoc_vf244();
	virtual void towerDoc_vf248();
	virtual void towerDoc_vf24C();
	// 250
	virtual void towerDoc_vf250();
	virtual void towerDoc_vf254();
	virtual void towerDoc_vf258();
	virtual void towerDoc_vf25C();
	// 260
	virtual void towerDoc_vf260();
	virtual void towerDoc_vf264();
	virtual void towerDoc_vf268(T2Tenant *inTenant); // TenantRemoved
	virtual int towerDoc_vf26C() const; // 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
	// 280
	virtual void towerDoc_vf280();
	virtual void towerDoc_vf284();
	virtual void towerDoc_vf288();
	virtual void towerDoc_vf28C();
	// 290
	virtual void towerDoc_vf290(int pauseVal);
	virtual void towerDoc_vf294();
	virtual void towerDoc_vf298();
	virtual void towerDoc_vf29C();
	// 2A0
	virtual T2ToolWindow *towerDoc_vf2A0();
	virtual int towerDoc_vf2A4() const; // get speed
	virtual void towerDoc_vf2A8(int); // SetDrawSpeed
	virtual void towerDoc_vf2AC();
	// 2B0
	virtual void towerDoc_vf2B0(BOOL); // SetVolatile maybe?
	virtual void towerDoc_vf2B4();
	virtual void towerDoc_vf2B8();
	virtual void towerDoc_vf2BC();
	// 2C0
	virtual void towerDoc_vf2C0();

	// this might be SetVolatile actually
	void SetFireBurning(BOOL flag) { m208 = flag; }

	int Get22C() { return _22C; }

    T2PluginLoader *mT2PluginLoader;
    T2WorldPlugin *mWorldPlugin;
    T2PluginSpecifier *mWorldPluginSpecifier;
    T2PluginSpecifier *mToPluginSpecifier;
    DWORD mWorldPluginID;
    DWORD mToPluginID;
    T2WorldDef *mWorldDef;
    int _78;
    int _7C;
	int mZoomLevel;
    int _84;
    BOOL mPause;
    int mGameLevel;
    int _90;
    int _94;
    int _98;
    int m9C;
    DWORD mA0; // VIPs that have been satisfied
	int mViewMode;
    int _A8;
    int _AC;
    int _B0;
    int _B4;
    int _B8;
    int mBC;
    DWORD mC0;
    T2DateTime *mNow;
    T2TowerMessage *mTowerMessage;
    CString mCC;
	T2FloorInfo *mFloorInfo;
    BkgndInfo *mBkgndInfo;
    T2TrafficInfo *mTrafficInfo;
    T2Sprite mSprite;
    T2SoundPlayer *mSoundPlayer;
    CFilePluginList *mTenantPluginsListOther;
    CFilePluginList *mMoverPluginsListOther;
    CFilePluginList *mOoPluginsListOther;
    T2MoviePluginList *mMoviePluginList;
    CFilePluginList *mHePluginsListOther;
    CFilePluginList *mAdPluginsListOther;
    T2TemplatePluginList *mTenantTemplates;
    T2TemplatePluginList *mMoverTemplates;
    T2TemplatePluginList *mMatterTemplates;
    T2TemplatePluginList *mPeopleTemplates;
    T2TemplatePluginList *mSilhouetteTemplates;
    T2TemplatePluginList *mOuterObjTemplates;
    T2TemplatePluginDB *mTemplatePluginDB;
    T2OptionPluginList *mOptionPluginList;
    T2OuterObjList *mOuterObjList;
    T2Settlement *mSettlement;
	T2NameList *mNameDB;
	T2PeopleArrayList *mPeopleArrayList;
    T2Pool *mPool;
    T2RegistedTenantDB *mRegistedTenantDB;
    int _15C;
    T2RouteNavigator *mRouteNavigator;
    T2Equip *mSearchRangeFrom;
    int mCraneCount;
    POINT *mCranePosArray;
    int _170;
    int _174;
    T2PaletteAnime *mPaletteAnime;
    int _17C;
    int m180;
    int m184;
    int _188;
    int _18C;
    BOOL mErrorFlag;
    BOOL mNewDocFlag;
    BOOL mIsStuffLoadedFlag;
	T2TowerMainView *mTowerMainView;
    T2TenantDef *m1A0;
    int _1A4;
    int _1A8;
    int _1AC;
    int _1B0;
    int _1B4;
    CObjectQueue *mObjectQueue;
    int _1BC;
    int _1C0;
    T2Equip *m1C4;
    int _1C8;
    int m1CC;
    BOOL mElevTransparent;
    int isDustOn;
    int mToiletDenomi;
    unsigned int mColdDenomi;
    int mWalkRate;
    int _1E4;
    int _1E8;
    int _1EC;
    int m1F0;
    int _1F4;
    int _1F8;
    int _1FC;
    int _200;
    int m204;
    int m208;
    int m20C;
    int m210;
    int m214;
    int m218;
    unsigned int m21C;
    unsigned int m220; // speed?
    int _224;
    int m228;
    int _22C;
};