NightRaven109 commited on
Commit
73e6223
·
verified ·
1 Parent(s): 91a1661

Upload 14 files

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ signatures.db filter=lfs diff=lfs merge=lfs -text
HF_README.md ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ ---
4
+
5
+ # Vibe Reverse Engineering — Signature Database
6
+
7
+ Game-specific function signature data for [Vibe-Reverse-Engineering](https://github.com/Ekozmaster/Vibe-Reverse-Engineering).
8
+
9
+ ## Usage
10
+
11
+ ```bash
12
+ python -m retools.sigdb pull # download signatures.db
13
+ python -m retools.sigdb pull --sources # also download source CSVs
14
+ ```
15
+
16
+ ## Contents
17
+
18
+ - `signatures.db` — Pre-built SQLite signature database
19
+ - `sources/` — Game-specific function address maps (CSV, TOML, header files)
20
+ - `manifest.json` — File listing for automated downloads
21
+
22
+ ## Games
23
+
24
+ | Directory | Game | Functions |
25
+ |-----------|------|-----------|
26
+ | devilution | Diablo I | 1,884 |
27
+ | isle | LEGO Island | 3,107 |
28
+ | peggle | Peggle | 852 |
29
+ | cmr2 | Colin McRae Rally 2 | 123 |
manifest.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "sources": [
3
+ "sources/cmr2/functions.csv",
4
+ "sources/devilution/defs.h",
5
+ "sources/devilution/devilution_reference_kb.h",
6
+ "sources/devilution/diablo.toml",
7
+ "sources/devilution/enums.h",
8
+ "sources/devilution/functions.csv",
9
+ "sources/devilution/structs.h",
10
+ "sources/devilution/types.h",
11
+ "sources/isle/files.txt",
12
+ "sources/isle/functions.csv",
13
+ "sources/peggle/functions.csv"
14
+ ]
15
+ }
signatures.db ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7199528023d45c6bd19376c5f28ca930d6d70eee915f4ce807201d67b80e44e2
3
+ size 688128
sources/cmr2/functions.csv ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ address,name
2
+ 0x00407f80,CAIHelper::FUN_00407f80
3
+ 0x00407ec0,CAIHelper::GetNameForID
4
+ 0x004aad70,CFileBuffer::AllocateLockedBuffer
5
+ 0x004aad90,CFileBuffer::ReallocateLockedBuffer
6
+ 0x004aa220,CFileBuffer::GetGenericFileBuffer
7
+ 0x004aade0,CFileBuffer::FreeGenericFileBuffer
8
+ 0x004d21e0,CFrontend::FUN_004d21e0
9
+ 0x004b7560,CFrontend::FUN_004b7560
10
+ 0x004b7590,CFrontend::FUN_004b7590
11
+ 0x004a9700,CFrontend::FUN_004a9700
12
+ 0x004a9a40,CGame::SetShouldExit
13
+ 0x004d0780,CGame::FUN_004d0780
14
+ 0x004057d0,CGame::FUN_004057d0
15
+ 0x004d15e0,CGame::InitializeGame
16
+ 0x0049c2c0,CGame::FUN_0049c2c0
17
+ 0x0049c310,CGame::FUN_0049c310
18
+ 0x0049c370,CGame::FUN_0049c370
19
+ 0x0049c150,CGame::FUN_0049c150
20
+ 0x0049c190,CGame::FUN_0049c190
21
+ 0x00501680,CGame::FUN_00501680
22
+ 0x004ea880,CGame::FUN_004ea880
23
+ 0x004083e0,CGame::FUN_004083e0
24
+ 0x00406810,CGame::FUN_00406810
25
+ 0x0049c0a0,CGame::RegisterCallback
26
+ 0x004a17b0,CGame::FUN_004a17b0
27
+ 0x004a17f0,CGame::FUN_004a17f0
28
+ 0x004a1a90,CGame::FUN_004a1a90
29
+ 0x004aaa10,CGame::FUN_004aaa10
30
+ 0x004aaac0,CGame::Cleanup
31
+ 0x004aab40,CGame::DestroyDirectPlay
32
+ 0x004aabb0,CGame::DestroyDirectPlayLobby
33
+ 0x004aad40,CGame::GetDirectPlay
34
+ 0x004057f0,CGameInfo::GetGameLanguage
35
+ 0x00405800,CGameInfo::GetGameRegion
36
+ 0x00405810,CGameInfo::SetGameRegion
37
+ 0x00405820,CGameInfo::GetGameRegionDirectory
38
+ 0x00405d80,CGameInfo::FUN_00405d80
39
+ 0x00405c10,CGameInfo::GetScreenWidth
40
+ 0x00405c30,CGameInfo::GetScreenHeight
41
+ 0x00405c50,CGameInfo::GetColourDepth
42
+ 0x00405c20,CGameInfo::SetScreenWidth
43
+ 0x00405c40,CGameInfo::SetScreenHeight
44
+ 0x00405c60,CGameInfo::SetColourDepth
45
+ 0x004f4b40,CGameInfo::FUN_004f4b40
46
+ 0x00405de0,CGameInfo::FUN_00405de0
47
+ 0x00510410,CGameInfo::FUN_00510410
48
+ 0x00510570,CGameInfo::FUN_00510570
49
+ 0x00406010,CGameInfo::FUN_00406010
50
+ 0x00406560,CGameInfo::FUN_00406560
51
+ 0x00406580,CGameInfo::FUN_00406580
52
+ 0x0049eaf0,CGameInfo::SetupInputs
53
+ 0x004ea5e0,CGameInfo::LoadGameInfo
54
+ 0x00405b20,CGameInfo::IsFullscreen
55
+ 0x00405ca0,CGameInfo::FUN_00405ca0
56
+ 0x00406410,CGameInfo::FUN_00406410
57
+ 0x004eac50,CGameInfo::FUN_004eac50
58
+ 0x004d0590,CGameInfo::FUN_004d0590
59
+ 0x0049ea90,CGameInfo::FUN_0049ea90
60
+ 0x0049e930,CGameInfo::FUN_0049e930
61
+ 0x004d05d0,CGameInfo::FUN_004d05d0
62
+ 0x004d05a0,CGameInfo::FUN_004d05a0
63
+ 0x004aaa40,CGameInfo::FUN_004aaa40
64
+ 0x004a0c60,CGameInfo::FUN_004a0c60
65
+ 0x004a9d70,CGenericFileLoader::FUN_004a9d70
66
+ 0x004a9c30,CGenericFileLoader::FUN_004a9c30
67
+ 0x004aa590,CGenericFileLoader::GetGenericFileSize
68
+ 0x00405830,CGraphics::InitializeDirectX
69
+ 0x00405990,CGraphics::SetDefaults
70
+ 0x0049fd30,CInput::DInputCreate
71
+ 0x0049fe30,CInput::DInputCreateDevice
72
+ 0x0049fd60,CInput::DInputRelease
73
+ 0x0049fd90,CInput::DInputReleaseDevices
74
+ 0x0049ef90,CInput::FUN_0049ef90
75
+ 0x0049f6b0,CInput::FUN_0049f6b0
76
+ 0x0049f0e0,CInput::SetupKeyboard
77
+ 0x0049f060,CInput::SetupMouse
78
+ 0x0049f000,CInput::SetMouseCoopLevel
79
+ 0x0049f690,CInput::GetAttachedJoysticks
80
+ 0x0049f6d0,CInput::SetupJoystick
81
+ 0x0049fad0,CInput::SetupJoystickDeviceInfo
82
+ 0x0049ee10,CInput::SetJoystickAxisRange
83
+ 0x0049ee90,CInput::SetJoystickAxisDeadzone
84
+ 0x0049ef10,CInput::SetJoystickAxisSaturation
85
+ 0x004aae20,CInput::FUN_004aae20
86
+ 0x004ab5f0,CInput::FUN_004ab5f0
87
+ 0x004aafd0,CInput::SetForceFeedbackAutocenter
88
+ 0x004aaf00,CInput::ResetForceFeedbackEffects
89
+ 0x004aaea0,CInput::ResetForceFeedbackEffectsAlt
90
+ 0x0040bf70,CInput::LoadControllerInfo
91
+ 0x0040be90,CInput::FUN_0040be90
92
+ 0x0040c440,CInput::FUN_0040c440
93
+ 0x0049eb90,CInput::FUN_0049eb90
94
+ 0x0040c530,CInput::FUN_0040c530
95
+ 0x0040ed90,CInstallInfo::GetFrontendDir
96
+ 0x0040eda0,CInstallInfo::GetCountrySpecificDir
97
+ 0x004aa480,CInstallInfo::ShowNoCDErrorMessage
98
+ 0x040e8d0,CInstallInfo::FUN_0040e8d0
99
+ 0x004aa6c0,CInstallInfo::SetGameHDPath
100
+ 0x004aa6e0,CInstallInfo::SetGameCDPath
101
+ 0x004aa700,CInstallInfo::GetGameHDPath
102
+ 0x004aa710,CInstallInfo::GetGameCDPath
103
+ 0x004ab620,CLogger::OpenLogFile
104
+ 0x004ab670,CLogger::LogToFile
105
+ 0x004ab6f0,CLogger::CloseLogFile
106
+ 0x0040e3c0,CNetworkLeaderboards::Reset
107
+ 0x0040e3f0,CNetworkLeaderboards::LoadLeaderboards
108
+ 0x00406910,RallyDataCountryIndex
109
+ 0x00406930,RallyDataStageIndex
110
+ 0x004074f0,RallyDataState
111
+ 0x0040d390,RallyTiming_GetOverallPositionDriverID
112
+ 0x0040d3b0,RallyTiming_GetOverallTimeForPosition
113
+ 0x0040d100,RallyTiming_ResetOverallPlayerTimes
114
+ 0x004aa720,CRegKey::GetValueFromKey
115
+ 0x004583c0,GetStageSplitCount
116
+ 0x00455cf0,StageTiming_GetDriverIDForPosition
117
+ 0x00455d70,StageTiming_GetTimeForPosition
118
+ 0x00415db0,PrepareFormatGapToLeader
119
+ 0x004de170,FormatCentisecondsAsMinSecMSec
120
+ 0x0040d480,ConvertRawTimeToCentiseconds
121
+ 0x004a9720,CMain::Initialize
122
+ 0x004a8140,CMain::CreateGameWindow
123
+ 0x004a98b0,CMain::MessageHandler
sources/devilution/defs.h ADDED
@@ -0,0 +1,280 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * @file defs.h
3
+ *
4
+ * Global definitions and Macros.
5
+ */
6
+
7
+ #ifdef HELLFIRE
8
+ #define DIABOOL BOOLEAN
9
+ #define GAME_NAME "HELLFIRE"
10
+ #define APP_NAME "Hellfire"
11
+ #else
12
+ #define DIABOOL BOOL
13
+ #define GAME_NAME "DIABLO"
14
+ #define APP_NAME "Diablo"
15
+ #endif
16
+
17
+ #ifdef HELLFIRE
18
+ #define HFAND &&
19
+ #define DERROR GetLastError
20
+ #else
21
+ #define HFAND &
22
+ #define DERROR SErrGetLastError
23
+ #endif
24
+
25
+ #define DMAXX 40
26
+ #define DMAXY 40
27
+
28
+ #define LIGHTSIZE 6912 // 27 * 256
29
+
30
+ #define GMENU_SLIDER 0x40000000
31
+ #define GMENU_ENABLED 0x80000000
32
+
33
+ // must be unsigned to generate unsigned comparisons with pnum
34
+ #define MAX_PLRS 4
35
+
36
+ #define MAX_CHARACTERS 10
37
+ #ifdef HELLFIRE
38
+ #define MAX_LVLS 24
39
+ #define MAX_LVLMTYPES 24
40
+ #define MAX_SPELLS 52
41
+ #else
42
+ #define MAX_LVLS 16
43
+ #define MAX_LVLMTYPES 16
44
+ #define MAX_SPELLS 37
45
+ #endif
46
+ #define MAX_SPELL_LEVEL 15
47
+ #define SPELLBIT(s) ((__int64)1 << (s - 1))
48
+
49
+ #define MAX_CHUNKS (MAX_LVLS + 5)
50
+
51
+ // #define MAX_PATH 260
52
+ #define MAX_SEND_STR_LEN 80
53
+
54
+ #define MAXDEAD 31
55
+ #define MAXDUNX 112
56
+ #define MAXDUNY 112
57
+ #define MAXITEMS 127
58
+ #define MAXBELTITEMS 8
59
+ #define MAXLIGHTS 32
60
+ #define MAXMISSILES 125
61
+ #define MAXMONSTERS 200
62
+ #define MAXOBJECTS 127
63
+ #define MAXPORTAL 4
64
+ #ifdef HELLFIRE
65
+ #define MAXQUESTS 24
66
+ #define MAXMULTIQUESTS 10
67
+ #else
68
+ #define MAXQUESTS 16
69
+ #define MAXMULTIQUESTS 4
70
+ #endif
71
+ #define MAXTHEMES 50
72
+ #define MAXTILES 2048
73
+ #ifdef HELLFIRE
74
+ #define MAXTRIGGERS 7
75
+ #else
76
+ #define MAXTRIGGERS 5
77
+ #endif
78
+ #define MAXVISION 32
79
+ #define MDMAXX 40
80
+ #define MDMAXY 40
81
+ #define MAXCHARLEVEL 51
82
+ #ifdef HELLFIRE
83
+ #define ITEMTYPES 43
84
+ #else
85
+ #define ITEMTYPES 35
86
+ #endif
87
+
88
+ // number of inventory grid cells
89
+ #define NUM_INV_GRID_ELEM 40
90
+ #define INV_SLOT_SIZE_PX 28
91
+
92
+ // Item indestructible durability
93
+ #define DUR_INDESTRUCTIBLE 255
94
+
95
+ #define VOLUME_MIN -1600
96
+ #define VOLUME_MAX 0
97
+
98
+ #define NUM_TOWNERS 16
99
+
100
+ // todo: enums
101
+ #ifdef HELLFIRE
102
+ #define NUMLEVELS 25
103
+ #define BOY_MAX_VALUE 200000
104
+ #define WITCH_ITEMS 25
105
+ #define WITCH_MAX_VALUE 200000
106
+ #define SMITH_ITEMS 25
107
+ #define SMITH_PREMIUM_ITEMS 15
108
+ #define SMITH_MAX_VALUE 200000
109
+ #define SMITH_MAX_PREMIUM_VALUE 200000
110
+ #define STORE_LINES 104
111
+ #else
112
+ #define NUMLEVELS 17
113
+ #define BOY_MAX_VALUE 90000
114
+ #define WITCH_ITEMS 20
115
+ #define WITCH_MAX_VALUE 140000
116
+ #define SMITH_ITEMS 20
117
+ #define SMITH_PREMIUM_ITEMS 6
118
+ #define SMITH_MAX_VALUE 140000
119
+ #define SMITH_MAX_PREMIUM_VALUE 140000
120
+ #define STORE_LINES 24
121
+ #endif
122
+
123
+ // from diablo 2 beta
124
+ #define MAXEXP 2000000000
125
+ #define MAXRESIST 75
126
+
127
+ #define GOLD_SMALL_LIMIT 1000
128
+ #define GOLD_MEDIUM_LIMIT 2500
129
+ #define GOLD_MAX_LIMIT 5000
130
+
131
+ #define PLR_NAME_LEN 32
132
+
133
+ #define MAXPATHNODES 300
134
+
135
+ #define MAX_PATH_LENGTH 25
136
+
137
+ // 256 kilobytes + 3 bytes (demo leftover) for file magic (262147)
138
+ // final game uses 4-byte magic instead of 3
139
+ #define FILEBUFF ((256 * 1024) + 3)
140
+
141
+ #define PMSG_COUNT 8
142
+
143
+ // Diablo Retail Version Game ID
144
+ #ifdef HELLFIRE
145
+ #define GAME_ID ((int)'HRTL')
146
+ #define GAME_VERSION 34
147
+ #define PROGRAM_NAME "Hellfire Retail"
148
+ #else
149
+ #define GAME_ID ((int)'DRTL')
150
+ #define GAME_VERSION 42
151
+ #define PROGRAM_NAME "Diablo Retail"
152
+ #endif
153
+
154
+ // Diablo uses a 256 color palette
155
+ // Entry 0-127 (0x00-0x7F) are level specific
156
+ // Entry 128-255 (0x80-0xFF) are global
157
+
158
+ // standard palette for all levels
159
+ // 8 or 16 shades per color
160
+ // example (dark blue): PAL16_BLUE+14, PAL8_BLUE+7
161
+ // example (light red): PAL16_RED+2, PAL8_RED
162
+ // example (orange): PAL16_ORANGE+8, PAL8_ORANGE+4
163
+ #define PAL8_BLUE 128
164
+ #define PAL8_RED 136
165
+ #define PAL8_YELLOW 144
166
+ #define PAL8_ORANGE 152
167
+ #define PAL16_BEIGE 160
168
+ #define PAL16_BLUE 176
169
+ #define PAL16_YELLOW 192
170
+ #define PAL16_ORANGE 208
171
+ #define PAL16_RED 224
172
+ #define PAL16_GRAY 240
173
+
174
+ #define SCREEN_WIDTH 640
175
+ #define SCREEN_HEIGHT 480
176
+
177
+ #define ZOOM_WIDTH (SCREEN_WIDTH / 2 + TILE_WIDTH)
178
+ #define ZOOM_HEIGHT (VIEWPORT_HEIGHT / 2 + TILE_HEIGHT + TILE_HEIGHT / 2)
179
+
180
+ // If defined, use 32-bit colors instead of 8-bit [Default -> Undefined]
181
+ //#define RGBMODE
182
+
183
+ #ifndef RGBMODE
184
+ #define SCREEN_BPP 8
185
+ #else
186
+ #define SCREEN_BPP 32
187
+ #endif
188
+
189
+ #define BORDER_LEFT 64
190
+ #define BORDER_TOP 160
191
+ #define BORDER_RIGHT 64
192
+ #define BORDER_BOTTOM 16
193
+
194
+ #define SCREEN_X BORDER_LEFT
195
+ #define SCREEN_Y BORDER_TOP
196
+
197
+ #define BUFFER_WIDTH (BORDER_LEFT + SCREEN_WIDTH + BORDER_RIGHT)
198
+ #define BUFFER_HEIGHT (BORDER_TOP + SCREEN_HEIGHT + BORDER_BOTTOM)
199
+
200
+ #define TILE_WIDTH 64
201
+ #define TILE_HEIGHT 32
202
+
203
+ #define PANEL_WIDTH 640
204
+ #define PANEL_HEIGHT 128
205
+ #define PANEL_TOP (SCREEN_HEIGHT - PANEL_HEIGHT)
206
+ #define PANEL_LEFT (SCREEN_WIDTH - PANEL_WIDTH) / 2
207
+ #define PANEL_X (SCREEN_X + PANEL_LEFT)
208
+ #define PANEL_Y (SCREEN_Y + PANEL_TOP)
209
+
210
+ #define SPANEL_WIDTH 320
211
+ #define SPANEL_HEIGHT 352
212
+
213
+ #define RIGHT_PANEL (SCREEN_WIDTH - SPANEL_WIDTH)
214
+ #define RIGHT_PANEL_X (SCREEN_X + RIGHT_PANEL)
215
+
216
+ #if SCREEN_WIDTH <= PANEL_WIDTH
217
+ #define VIEWPORT_HEIGHT (SCREEN_HEIGHT - PANEL_HEIGHT)
218
+ #else
219
+ #define VIEWPORT_HEIGHT SCREEN_HEIGHT
220
+ #endif
221
+
222
+ #define DIALOG_TOP ((SCREEN_HEIGHT - PANEL_HEIGHT) / 2 - 18)
223
+ #define DIALOG_Y (SCREEN_Y + DIALOG_TOP)
224
+
225
+ #define SCREENXY(x, y) ((x) + SCREEN_X + ((y) + SCREEN_Y) * BUFFER_WIDTH)
226
+
227
+ #define MemFreeDbg(p) \
228
+ { \
229
+ void *p__p; \
230
+ p__p = p; \
231
+ p = NULL; \
232
+ mem_free_dbg(p__p); \
233
+ }
234
+
235
+ #undef assert
236
+
237
+ #ifndef _DEBUG
238
+ #define assert(exp) ((void)(exp))
239
+ #else
240
+ #define assert(exp) (void)((exp) || (assert_fail(__LINE__, __FILE__, #exp), 0))
241
+ #endif
242
+
243
+ #ifndef INVALID_FILE_ATTRIBUTES
244
+ #define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
245
+ #endif
246
+
247
+ // Typedef for the function pointer
248
+ typedef void (*_PVFV)(void);
249
+
250
+ #if defined(_MSC_VER) && !defined(__APPLE__)
251
+ // Define our segment names
252
+ #define SEGMENT_C_INIT ".CRT$XCU"
253
+
254
+ // Build our various function tables and insert them into the correct segments.
255
+ #pragma data_seg(SEGMENT_C_INIT)
256
+ #pragma data_seg() // Switch back to the default segment
257
+ // Call function pointer arrays and place them in the segments created above
258
+ #define SEG_ALLOCATE(SEGMENT) __declspec(allocate(SEGMENT))
259
+ #else
260
+ #define SEG_ALLOCATE(SEGMENT)
261
+ #endif
262
+
263
+ // To apply to certain functions which have local variables aligned by 1 for unknown yet reason
264
+ #if (_MSC_VER == 1200)
265
+ #define ALIGN_BY_1 __declspec(align(1))
266
+ #else
267
+ #define ALIGN_BY_1
268
+ #endif
269
+
270
+ #if (_MSC_VER == 1200)
271
+ #define __FINLINE __forceinline
272
+ #else
273
+ #define __FINLINE
274
+ #endif
275
+
276
+ #ifndef _BIG_ENDIAN_
277
+ #define SwapLE32
278
+ #else
279
+ #define SwapLE32(value) (value << 24 | (value & 0xFF00) << 8 | (value & 0xFF0000) >> 8 | value >> 24);
280
+ #endif
sources/devilution/devilution_reference_kb.h ADDED
The diff for this file is too large to render. See raw diff
 
sources/devilution/diablo.toml ADDED
The diff for this file is too large to render. See raw diff
 
sources/devilution/enums.h ADDED
@@ -0,0 +1,3550 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * @file enums.h
3
+ *
4
+ * Various global enumerators.
5
+ */
6
+
7
+ typedef enum item_quality {
8
+ ITEM_QUALITY_NORMAL = 0,
9
+ ITEM_QUALITY_MAGIC = 1,
10
+ ITEM_QUALITY_UNIQUE = 2,
11
+ } item_quality;
12
+
13
+ typedef enum unique_base_item {
14
+ UITYPE_NONE = 0x0,
15
+ UITYPE_SHORTBOW = 0x1,
16
+ UITYPE_LONGBOW = 0x2,
17
+ UITYPE_HUNTBOW = 0x3,
18
+ UITYPE_COMPBOW = 0x4,
19
+ UITYPE_WARBOW = 0x5,
20
+ UITYPE_BATTLEBOW = 0x6,
21
+ UITYPE_DAGGER = 0x7,
22
+ UITYPE_FALCHION = 0x8,
23
+ UITYPE_CLAYMORE = 0x9,
24
+ UITYPE_BROADSWR = 0xA,
25
+ UITYPE_SABRE = 0xB,
26
+ UITYPE_SCIMITAR = 0xC,
27
+ UITYPE_LONGSWR = 0xD,
28
+ UITYPE_BASTARDSWR = 0xE,
29
+ UITYPE_TWOHANDSWR = 0xF,
30
+ UITYPE_GREATSWR = 0x10,
31
+ UITYPE_CLEAVER = 0x11,
32
+ UITYPE_LARGEAXE = 0x12,
33
+ UITYPE_BROADAXE = 0x13,
34
+ UITYPE_SMALLAXE = 0x14,
35
+ UITYPE_BATTLEAXE = 0x15,
36
+ UITYPE_GREATAXE = 0x16,
37
+ UITYPE_MACE = 0x17,
38
+ UITYPE_MORNSTAR = 0x18,
39
+ UITYPE_SPIKCLUB = 0x19,
40
+ UITYPE_MAUL = 0x1A,
41
+ UITYPE_WARHAMMER = 0x1B,
42
+ UITYPE_FLAIL = 0x1C,
43
+ UITYPE_LONGSTAFF = 0x1D,
44
+ UITYPE_SHORTSTAFF = 0x1E,
45
+ UITYPE_COMPSTAFF = 0x1F,
46
+ UITYPE_QUARSTAFF = 0x20,
47
+ UITYPE_WARSTAFF = 0x21,
48
+ UITYPE_SKULLCAP = 0x22,
49
+ UITYPE_HELM = 0x23,
50
+ UITYPE_GREATHELM = 0x24,
51
+ UITYPE_CROWN = 0x25,
52
+ UITYPE_38 = 0x26,
53
+ UITYPE_RAGS = 0x27,
54
+ UITYPE_STUDARMOR = 0x28,
55
+ UITYPE_CLOAK = 0x29,
56
+ UITYPE_ROBE = 0x2A,
57
+ UITYPE_CHAINMAIL = 0x2B,
58
+ UITYPE_LEATHARMOR = 0x2C,
59
+ UITYPE_BREASTPLATE = 0x2D,
60
+ UITYPE_CAPE = 0x2E,
61
+ UITYPE_PLATEMAIL = 0x2F,
62
+ UITYPE_FULLPLATE = 0x30,
63
+ UITYPE_BUCKLER = 0x31,
64
+ UITYPE_SMALLSHIELD = 0x32,
65
+ UITYPE_LARGESHIELD = 0x33,
66
+ UITYPE_KITESHIELD = 0x34,
67
+ UITYPE_GOTHSHIELD = 0x35,
68
+ UITYPE_RING = 0x36,
69
+ UITYPE_55 = 0x37,
70
+ UITYPE_AMULET = 0x38,
71
+ UITYPE_SKCROWN = 0x39,
72
+ UITYPE_INFRARING = 0x3A,
73
+ UITYPE_OPTAMULET = 0x3B,
74
+ UITYPE_TRING = 0x3C,
75
+ UITYPE_HARCREST = 0x3D,
76
+ UITYPE_MAPOFDOOM = 0x3E,
77
+ UITYPE_ELIXIR = 0x3F,
78
+ UITYPE_ARMOFVAL = 0x40,
79
+ UITYPE_STEELVEIL = 0x41,
80
+ UITYPE_GRISWOLD = 0x42,
81
+ UITYPE_LGTFORGE = 0x43,
82
+ UITYPE_LAZSTAFF = 0x44,
83
+ #ifdef HELLFIRE
84
+ UITYPE_BOVINE = 0x45,
85
+ #endif
86
+ UITYPE_INVALID = -1,
87
+ } unique_base_item;
88
+
89
+ typedef enum item_effect_type {
90
+ IPL_TOHIT = 0x0,
91
+ IPL_TOHIT_CURSE = 0x1,
92
+ IPL_DAMP = 0x2,
93
+ IPL_DAMP_CURSE = 0x3,
94
+ IPL_TOHIT_DAMP = 0x4,
95
+ IPL_TOHIT_DAMP_CURSE = 0x5,
96
+ IPL_ACP = 0x6,
97
+ IPL_ACP_CURSE = 0x7,
98
+ IPL_FIRERES = 0x8,
99
+ IPL_LIGHTRES = 0x9,
100
+ IPL_MAGICRES = 0xA,
101
+ IPL_ALLRES = 0xB,
102
+ IPL_SPLCOST = 0xC, /* only used in beta */
103
+ IPL_SPLDUR = 0xD, /* only used in beta */
104
+ IPL_SPLLVLADD = 0xE,
105
+ IPL_CHARGES = 0xF,
106
+ IPL_FIREDAM = 0x10,
107
+ IPL_LIGHTDAM = 0x11,
108
+ IPL_STR = 0x13,
109
+ IPL_STR_CURSE = 0x14,
110
+ IPL_MAG = 0x15,
111
+ IPL_MAG_CURSE = 0x16,
112
+ IPL_DEX = 0x17,
113
+ IPL_DEX_CURSE = 0x18,
114
+ IPL_VIT = 0x19,
115
+ IPL_VIT_CURSE = 0x1A,
116
+ IPL_ATTRIBS = 0x1B,
117
+ IPL_ATTRIBS_CURSE = 0x1C,
118
+ IPL_GETHIT_CURSE = 0x1D,
119
+ IPL_GETHIT = 0x1E,
120
+ IPL_LIFE = 0x1F,
121
+ IPL_LIFE_CURSE = 0x20,
122
+ IPL_MANA = 0x21,
123
+ IPL_MANA_CURSE = 0x22,
124
+ IPL_DUR = 0x23,
125
+ IPL_DUR_CURSE = 0x24,
126
+ IPL_INDESTRUCTIBLE = 0x25,
127
+ IPL_LIGHT = 0x26,
128
+ IPL_LIGHT_CURSE = 0x27,
129
+ IPL_MULT_ARROWS = 0x29, /* only used in hellfire */
130
+ IPL_FIRE_ARROWS = 0x2A,
131
+ IPL_LIGHT_ARROWS = 0x2B,
132
+ IPL_INVCURS = 0x2C,
133
+ IPL_THORNS = 0x2D,
134
+ IPL_NOMANA = 0x2E,
135
+ IPL_NOHEALPLR = 0x2F,
136
+ IPL_FIREBALL = 0x32, /* only used in hellfire */
137
+ IPL_ABSHALFTRAP = 0x34,
138
+ IPL_KNOCKBACK = 0x35,
139
+ IPL_NOHEALMON = 0x36,
140
+ IPL_STEALMANA = 0x37,
141
+ IPL_STEALLIFE = 0x38,
142
+ IPL_TARGAC = 0x39,
143
+ IPL_FASTATTACK = 0x3A,
144
+ IPL_FASTRECOVER = 0x3B,
145
+ IPL_FASTBLOCK = 0x3C,
146
+ IPL_DAMMOD = 0x3D,
147
+ IPL_RNDARROWVEL = 0x3E,
148
+ IPL_SETDAM = 0x3F,
149
+ IPL_SETDUR = 0x40,
150
+ IPL_NOMINSTR = 0x41,
151
+ IPL_SPELL = 0x42,
152
+ IPL_FASTSWING = 0x43,
153
+ IPL_ONEHAND = 0x44,
154
+ IPL_3XDAMVDEM = 0x45,
155
+ IPL_ALLRESZERO = 0x46,
156
+ IPL_DRAINLIFE = 0x48,
157
+ IPL_RNDSTEALLIFE = 0x49,
158
+ IPL_INFRAVISION = 0x4A,
159
+ IPL_SETAC = 0x4B,
160
+ IPL_ADDACLIFE = 0x4C,
161
+ IPL_ADDMANAAC = 0x4D,
162
+ IPL_FIRERESCLVL = 0x4E,
163
+ IPL_AC_CURSE = 0x4F,
164
+ #ifdef HELLFIRE
165
+ IPL_FIRERES_CURSE = 0x50,
166
+ IPL_LIGHTRES_CURSE = 0x51,
167
+ IPL_MAGICRES_CURSE = 0x52,
168
+ IPL_ALLRES_CURSE = 0x53,
169
+ IPL_DEVASTATION = 0x54,
170
+ IPL_DECAY = 0x55,
171
+ IPL_PERIL = 0x56,
172
+ IPL_JESTERS = 0x57,
173
+ IPL_CRYSTALLINE = 0x58,
174
+ IPL_DOPPELGANGER = 0x59,
175
+ IPL_ACDEMON = 0x5A,
176
+ IPL_ACUNDEAD = 0x5B,
177
+ IPL_MANATOLIFE = 0x5C,
178
+ IPL_LIFETOMANA = 0x5D,
179
+ #endif
180
+ IPL_INVALID = -1,
181
+ } item_effect_type;
182
+
183
+ typedef enum affix_item_type {
184
+ PLT_MISC = 0x1,
185
+ PLT_BOW = 0x10,
186
+ PLT_STAFF = 0x100,
187
+ PLT_WEAP = 0x1000,
188
+ PLT_SHLD = 0x10000,
189
+ PLT_ARMO = 0x100000,
190
+ } affix_item_type;
191
+
192
+ /// Item graphic IDs; frame_num-11 of objcurs.cel.
193
+ typedef enum item_cursor_graphic {
194
+ ICURS_POTION_OF_FULL_MANA = 0,
195
+ ICURS_SCROLL_OF = 1,
196
+ ICURS_GOLD_SMALL = 4,
197
+ ICURS_GOLD_MEDIUM = 5,
198
+ ICURS_GOLD_LARGE = 6,
199
+ ICURS_RING_OF_TRUTH = 10,
200
+ ICURS_RING = 12,
201
+ ICURS_SPECTRAL_ELIXIR = 15,
202
+ ICURS_GOLDEN_ELIXIR = 17,
203
+ ICURS_EMPYREAN_BAND = 18,
204
+ ICURS_EAR_SORCEROR = 19,
205
+ ICURS_EAR_WARRIOR = 20,
206
+ ICURS_EAR_ROGUE = 21,
207
+ ICURS_BLOOD_STONE = 25,
208
+ #ifdef HELLFIRE
209
+ ICURS_OIL = 30,
210
+ #endif
211
+ ICURS_ELIXIR_OF_VITALITY = 31,
212
+ ICURS_POTION_OF_HEALING = 32,
213
+ ICURS_POTION_OF_FULL_REJUVENATION = 33,
214
+ ICURS_ELIXIR_OF_MAGIC = 34,
215
+ ICURS_POTION_OF_FULL_HEALING = 35,
216
+ ICURS_ELIXIR_OF_DEXTERITY = 36,
217
+ ICURS_POTION_OF_REJUVENATION = 37,
218
+ ICURS_ELIXIR_OF_STRENGTH = 38,
219
+ ICURS_POTION_OF_MANA = 39,
220
+ ICURS_BRAIN = 40,
221
+ ICURS_OPTIC_AMULET = 44,
222
+ ICURS_AMULET = 45,
223
+ ICURS_DAGGER = 51,
224
+ ICURS_BLADE = 56,
225
+ ICURS_BASTARD_SWORD = 57,
226
+ ICURS_MACE = 59,
227
+ ICURS_LONG_SWORD = 60,
228
+ ICURS_BROAD_SWORD = 61,
229
+ ICURS_FALCHION = 62,
230
+ ICURS_MORNING_STAR = 63,
231
+ ICURS_SHORT_SWORD = 64,
232
+ ICURS_CLAYMORE = 65,
233
+ ICURS_CLUB = 66,
234
+ ICURS_SABRE = 67,
235
+ ICURS_SPIKED_CLUB = 70,
236
+ ICURS_SCIMITAR = 72,
237
+ ICURS_FULL_HELM = 75,
238
+ ICURS_MAGIC_ROCK = 76,
239
+ ICURS_THE_UNDEAD_CROWN = 78,
240
+ ICURS_HELM = 82,
241
+ ICURS_BUCKLER = 83,
242
+ ICURS_VIEL_OF_STEEL = 85,
243
+ ICURS_BOOK_GREY = 86,
244
+ ICURS_BOOK_RED = 87,
245
+ ICURS_BOOK_BLUE = 88,
246
+ ICURS_BLACK_MUSHROOM = 89,
247
+ ICURS_SKULL_CAP = 90,
248
+ ICURS_CAP = 91,
249
+ ICURS_HARLEQUIN_CREST = 93,
250
+ ICURS_CROWN = 95,
251
+ ICURS_MAP_OF_THE_STARS = 96,
252
+ ICURS_FUNGAL_TOME = 97,
253
+ ICURS_GREAT_HELM = 98,
254
+ ICURS_BATTLE_AXE = 101,
255
+ ICURS_HUNTERS_BOW = 102,
256
+ ICURS_FIELD_PLATE = 103,
257
+ ICURS_SMALL_SHIELD = 105,
258
+ ICURS_CLEAVER = 106,
259
+ ICURS_STUDDED_LEATHER_ARMOR = 107,
260
+ ICURS_SHORT_STAFF = 109,
261
+ ICURS_TWO_HANDED_SWORD = 110,
262
+ ICURS_CHAIN_MAIL = 111,
263
+ ICURS_SMALL_AXE = 112,
264
+ ICURS_KITE_SHIELD = 113,
265
+ ICURS_SCALE_MAIL = 114,
266
+ ICURS_SHORT_BOW = 118,
267
+ ICURS_LONG_WAR_BOW = 119,
268
+ ICURS_WAR_HAMMER = 121,
269
+ ICURS_MAUL = 122,
270
+ ICURS_LONG_STAFF = 123,
271
+ ICURS_WAR_STAFF = 124,
272
+ ICURS_TAVERN_SIGN = 126,
273
+ ICURS_HARD_LEATHER_ARMOR = 127,
274
+ ICURS_RAGS = 128,
275
+ ICURS_QUILTED_ARMOR = 129,
276
+ ICURS_FLAIL = 131,
277
+ ICURS_TOWER_SHIELD = 132,
278
+ ICURS_COMPOSITE_BOW = 133,
279
+ ICURS_GREAT_SWORD = 134,
280
+ ICURS_LEATHER_ARMOR = 135,
281
+ ICURS_SPLINT_MAIL = 136,
282
+ ICURS_ROBE = 137,
283
+ ICURS_ANVIL_OF_FURY = 140,
284
+ ICURS_BROAD_AXE = 141,
285
+ ICURS_LARGE_AXE = 142,
286
+ ICURS_GREAT_AXE = 143,
287
+ ICURS_AXE = 144,
288
+ ICURS_LARGE_SHIELD = 147,
289
+ ICURS_GOTHIC_SHIELD = 148,
290
+ ICURS_CLOAK = 149,
291
+ ICURS_CAPE = 150,
292
+ ICURS_FULL_PLATE_MAIL = 151,
293
+ ICURS_GOTHIC_PLATE = 152,
294
+ ICURS_BREAST_PLATE = 153,
295
+ ICURS_RING_MAIL = 154,
296
+ ICURS_STAFF_OF_LAZARUS = 155,
297
+ ICURS_ARKAINES_VALOR = 157,
298
+ ICURS_SHORT_WAR_BOW = 165,
299
+ ICURS_COMPOSITE_STAFF = 166,
300
+ ICURS_SHORT_BATTLE_BOW = 167,
301
+ ICURS_GOLD = 168,
302
+ #ifdef HELLFIRE
303
+ ICURS_AURIC_AMULET = 180,
304
+ ICURS_RUNE_BOMB = 187,
305
+ ICURS_THEODORE = 188,
306
+ ICURS_TORN_NOTE_1 = 189,
307
+ ICURS_TORN_NOTE_2 = 190,
308
+ ICURS_TORN_NOTE_3 = 191,
309
+ ICURS_RECONSTRUCTED_NOTE = 192,
310
+ ICURS_RUNE_OF_FIRE = 193,
311
+ ICURS_GREATER_RUNE_OF_FIRE = 194,
312
+ ICURS_RUNE_OF_LIGHTNING = 195,
313
+ ICURS_GREATER_RUNE_OF_LIGHTNING = 196,
314
+ ICURS_RUNE_OF_STONE = 197,
315
+ ICURS_GREY_SUIT = 198,
316
+ ICURS_BROWN_SUIT = 199,
317
+ ICURS_BOVINE = 226,
318
+ #endif
319
+ } item_cursor_graphic;
320
+
321
+ typedef enum _sfx_id {
322
+ PS_WALK1,
323
+ PS_WALK2,
324
+ PS_WALK3,
325
+ PS_WALK4,
326
+ PS_BFIRE,
327
+ PS_FMAG,
328
+ PS_TMAG,
329
+ PS_LGHIT,
330
+ PS_LGHIT1,
331
+ PS_SWING,
332
+ PS_SWING2,
333
+ PS_DEAD,
334
+ #ifdef HELLFIRE
335
+ IS_STING1,
336
+ IS_FBALLBOW,
337
+ #endif
338
+ IS_QUESTDN,
339
+ IS_ARMRFKD,
340
+ IS_BARLFIRE,
341
+ IS_BARREL,
342
+ #ifdef HELLFIRE
343
+ IS_POPPOP8,
344
+ IS_POPPOP5,
345
+ IS_POPPOP3,
346
+ IS_POPPOP2,
347
+ #endif
348
+ IS_BHIT,
349
+ IS_BHIT1,
350
+ IS_CHEST,
351
+ IS_DOORCLOS,
352
+ IS_DOOROPEN,
353
+ IS_FANVL,
354
+ IS_FAXE,
355
+ IS_FBLST,
356
+ IS_FBODY,
357
+ IS_FBOOK,
358
+ IS_FBOW,
359
+ IS_FCAP,
360
+ IS_FHARM,
361
+ IS_FLARM,
362
+ IS_FMAG,
363
+ IS_FMAG1,
364
+ IS_FMUSH,
365
+ IS_FPOT,
366
+ IS_FRING,
367
+ IS_FROCK,
368
+ IS_FSCRL,
369
+ IS_FSHLD,
370
+ IS_FSIGN,
371
+ IS_FSTAF,
372
+ IS_FSWOR,
373
+ IS_GOLD,
374
+ IS_HLMTFKD,
375
+ IS_IANVL,
376
+ IS_IAXE,
377
+ IS_IBLST,
378
+ IS_IBODY,
379
+ IS_IBOOK,
380
+ IS_IBOW,
381
+ IS_ICAP,
382
+ IS_IGRAB,
383
+ IS_IHARM,
384
+ IS_ILARM,
385
+ IS_IMUSH,
386
+ IS_IPOT,
387
+ IS_IRING,
388
+ IS_IROCK,
389
+ IS_ISCROL,
390
+ IS_ISHIEL,
391
+ IS_ISIGN,
392
+ IS_ISTAF,
393
+ IS_ISWORD,
394
+ IS_LEVER,
395
+ IS_MAGIC,
396
+ IS_MAGIC1,
397
+ IS_RBOOK,
398
+ IS_SARC,
399
+ IS_SHLDFKD,
400
+ IS_SWRDFKD,
401
+ IS_TITLEMOV,
402
+ IS_TITLSLCT,
403
+ SFX_SILENCE,
404
+ IS_TRAP,
405
+ IS_CAST1,
406
+ IS_CAST10,
407
+ IS_CAST12,
408
+ IS_CAST2,
409
+ IS_CAST3,
410
+ IS_CAST4,
411
+ IS_CAST5,
412
+ IS_CAST6,
413
+ IS_CAST7,
414
+ IS_CAST8,
415
+ IS_CAST9,
416
+ LS_HEALING,
417
+ IS_REPAIR,
418
+ LS_ACID,
419
+ LS_ACIDS,
420
+ LS_APOC,
421
+ LS_ARROWALL,
422
+ LS_BLODBOIL,
423
+ LS_BLODSTAR,
424
+ LS_BLSIMPT,
425
+ LS_BONESP,
426
+ LS_BSIMPCT,
427
+ LS_CALDRON,
428
+ LS_CBOLT,
429
+ LS_CHLTNING,
430
+ LS_DSERP,
431
+ LS_ELECIMP1,
432
+ LS_ELEMENTL,
433
+ LS_ETHEREAL,
434
+ LS_FBALL,
435
+ LS_FBOLT1,
436
+ LS_FBOLT2,
437
+ LS_FIRIMP1,
438
+ LS_FIRIMP2,
439
+ LS_FLAMWAVE,
440
+ LS_FLASH,
441
+ LS_FOUNTAIN,
442
+ LS_GOLUM,
443
+ LS_GOLUMDED,
444
+ LS_GSHRINE,
445
+ LS_GUARD,
446
+ LS_GUARDLAN,
447
+ LS_HOLYBOLT,
448
+ LS_HYPER,
449
+ LS_INFRAVIS,
450
+ LS_INVISIBL,
451
+ LS_INVPOT,
452
+ LS_LNING1,
453
+ LS_LTNING,
454
+ LS_MSHIELD,
455
+ #ifdef HELLFIRE
456
+ LS_NESTXPLD,
457
+ #endif
458
+ LS_NOVA,
459
+ LS_PORTAL,
460
+ LS_PUDDLE,
461
+ LS_RESUR,
462
+ LS_SCURSE,
463
+ LS_SCURIMP,
464
+ LS_SENTINEL,
465
+ LS_SHATTER,
466
+ LS_SOULFIRE,
467
+ LS_SPOUTLOP,
468
+ LS_SPOUTSTR,
469
+ LS_STORM,
470
+ LS_TRAPDIS,
471
+ LS_TELEPORT,
472
+ LS_VTHEFT,
473
+ LS_WALLLOOP,
474
+ LS_WALLSTRT,
475
+ #ifdef HELLFIRE
476
+ LS_LMAG,
477
+ #endif
478
+ #ifndef SPAWN
479
+ TSFX_BMAID1,
480
+ TSFX_BMAID2,
481
+ TSFX_BMAID3,
482
+ TSFX_BMAID4,
483
+ TSFX_BMAID5,
484
+ TSFX_BMAID6,
485
+ TSFX_BMAID7,
486
+ TSFX_BMAID8,
487
+ TSFX_BMAID9,
488
+ TSFX_BMAID10,
489
+ TSFX_BMAID11,
490
+ TSFX_BMAID12,
491
+ TSFX_BMAID13,
492
+ TSFX_BMAID14,
493
+ TSFX_BMAID15,
494
+ TSFX_BMAID16,
495
+ TSFX_BMAID17,
496
+ TSFX_BMAID18,
497
+ TSFX_BMAID19,
498
+ TSFX_BMAID20,
499
+ TSFX_BMAID21,
500
+ TSFX_BMAID22,
501
+ TSFX_BMAID23,
502
+ TSFX_BMAID24,
503
+ TSFX_BMAID25,
504
+ TSFX_BMAID26,
505
+ TSFX_BMAID27,
506
+ TSFX_BMAID28,
507
+ TSFX_BMAID29,
508
+ TSFX_BMAID30,
509
+ #endif
510
+ TSFX_BMAID31,
511
+ #ifndef SPAWN
512
+ TSFX_BMAID32,
513
+ TSFX_BMAID33,
514
+ TSFX_BMAID34,
515
+ TSFX_BMAID35,
516
+ TSFX_BMAID36,
517
+ TSFX_BMAID37,
518
+ TSFX_BMAID38,
519
+ TSFX_BMAID39,
520
+ TSFX_BMAID40,
521
+ TSFX_SMITH1,
522
+ TSFX_SMITH2,
523
+ TSFX_SMITH3,
524
+ TSFX_SMITH4,
525
+ TSFX_SMITH5,
526
+ TSFX_SMITH6,
527
+ TSFX_SMITH7,
528
+ TSFX_SMITH8,
529
+ TSFX_SMITH9,
530
+ TSFX_SMITH10,
531
+ TSFX_SMITH11,
532
+ TSFX_SMITH12,
533
+ TSFX_SMITH13,
534
+ TSFX_SMITH14,
535
+ TSFX_SMITH15,
536
+ TSFX_SMITH16,
537
+ TSFX_SMITH17,
538
+ TSFX_SMITH18,
539
+ TSFX_SMITH19,
540
+ TSFX_SMITH20,
541
+ TSFX_SMITH21,
542
+ TSFX_SMITH22,
543
+ TSFX_SMITH23,
544
+ TSFX_SMITH24,
545
+ TSFX_SMITH25,
546
+ TSFX_SMITH26,
547
+ TSFX_SMITH27,
548
+ TSFX_SMITH28,
549
+ TSFX_SMITH29,
550
+ TSFX_SMITH30,
551
+ TSFX_SMITH31,
552
+ TSFX_SMITH32,
553
+ TSFX_SMITH33,
554
+ TSFX_SMITH34,
555
+ TSFX_SMITH35,
556
+ TSFX_SMITH36,
557
+ TSFX_SMITH37,
558
+ TSFX_SMITH38,
559
+ TSFX_SMITH39,
560
+ TSFX_SMITH40,
561
+ TSFX_SMITH41,
562
+ TSFX_SMITH42,
563
+ TSFX_SMITH43,
564
+ #endif
565
+ TSFX_SMITH44,
566
+ #ifndef SPAWN
567
+ TSFX_SMITH45,
568
+ TSFX_SMITH46,
569
+ TSFX_SMITH47,
570
+ TSFX_SMITH48,
571
+ TSFX_SMITH49,
572
+ TSFX_SMITH50,
573
+ TSFX_SMITH51,
574
+ TSFX_SMITH52,
575
+ TSFX_SMITH53,
576
+ TSFX_SMITH54,
577
+ TSFX_SMITH55,
578
+ TSFX_SMITH56,
579
+ #endif
580
+ TSFX_COW1,
581
+ TSFX_COW2,
582
+ #ifdef HELLFIRE
583
+ TSFX_COW7,
584
+ TSFX_COW8,
585
+ #endif
586
+ #ifndef SPAWN
587
+ TSFX_DEADGUY,
588
+ TSFX_DRUNK1,
589
+ TSFX_DRUNK2,
590
+ TSFX_DRUNK3,
591
+ TSFX_DRUNK4,
592
+ TSFX_DRUNK5,
593
+ TSFX_DRUNK6,
594
+ TSFX_DRUNK7,
595
+ TSFX_DRUNK8,
596
+ TSFX_DRUNK9,
597
+ TSFX_DRUNK10,
598
+ TSFX_DRUNK11,
599
+ TSFX_DRUNK12,
600
+ TSFX_DRUNK13,
601
+ TSFX_DRUNK14,
602
+ TSFX_DRUNK15,
603
+ TSFX_DRUNK16,
604
+ TSFX_DRUNK17,
605
+ TSFX_DRUNK18,
606
+ TSFX_DRUNK19,
607
+ TSFX_DRUNK20,
608
+ TSFX_DRUNK21,
609
+ TSFX_DRUNK22,
610
+ TSFX_DRUNK23,
611
+ TSFX_DRUNK24,
612
+ TSFX_DRUNK25,
613
+ TSFX_DRUNK26,
614
+ #endif
615
+ TSFX_DRUNK27,
616
+ #ifndef SPAWN
617
+ TSFX_DRUNK28,
618
+ TSFX_DRUNK29,
619
+ TSFX_DRUNK30,
620
+ TSFX_DRUNK31,
621
+ TSFX_DRUNK32,
622
+ TSFX_DRUNK33,
623
+ TSFX_DRUNK34,
624
+ TSFX_DRUNK35,
625
+ TSFX_HEALER1,
626
+ TSFX_HEALER2,
627
+ TSFX_HEALER3,
628
+ TSFX_HEALER4,
629
+ TSFX_HEALER5,
630
+ TSFX_HEALER6,
631
+ TSFX_HEALER7,
632
+ TSFX_HEALER8,
633
+ TSFX_HEALER9,
634
+ TSFX_HEALER10,
635
+ TSFX_HEALER11,
636
+ TSFX_HEALER12,
637
+ TSFX_HEALER13,
638
+ TSFX_HEALER14,
639
+ TSFX_HEALER15,
640
+ TSFX_HEALER16,
641
+ TSFX_HEALER17,
642
+ TSFX_HEALER18,
643
+ TSFX_HEALER19,
644
+ TSFX_HEALER20,
645
+ TSFX_HEALER21,
646
+ TSFX_HEALER22,
647
+ TSFX_HEALER23,
648
+ TSFX_HEALER24,
649
+ TSFX_HEALER25,
650
+ TSFX_HEALER26,
651
+ TSFX_HEALER27,
652
+ TSFX_HEALER28,
653
+ TSFX_HEALER29,
654
+ TSFX_HEALER30,
655
+ TSFX_HEALER31,
656
+ TSFX_HEALER32,
657
+ TSFX_HEALER33,
658
+ TSFX_HEALER34,
659
+ TSFX_HEALER35,
660
+ TSFX_HEALER36,
661
+ #endif
662
+ TSFX_HEALER37,
663
+ #ifndef SPAWN
664
+ TSFX_HEALER38,
665
+ TSFX_HEALER39,
666
+ TSFX_HEALER40,
667
+ TSFX_HEALER41,
668
+ TSFX_HEALER42,
669
+ TSFX_HEALER43,
670
+ TSFX_HEALER44,
671
+ TSFX_HEALER45,
672
+ TSFX_HEALER46,
673
+ TSFX_HEALER47,
674
+ TSFX_PEGBOY1,
675
+ TSFX_PEGBOY2,
676
+ TSFX_PEGBOY3,
677
+ TSFX_PEGBOY4,
678
+ TSFX_PEGBOY5,
679
+ TSFX_PEGBOY6,
680
+ TSFX_PEGBOY7,
681
+ TSFX_PEGBOY8,
682
+ TSFX_PEGBOY9,
683
+ TSFX_PEGBOY10,
684
+ TSFX_PEGBOY11,
685
+ TSFX_PEGBOY12,
686
+ TSFX_PEGBOY13,
687
+ TSFX_PEGBOY14,
688
+ TSFX_PEGBOY15,
689
+ TSFX_PEGBOY16,
690
+ TSFX_PEGBOY17,
691
+ TSFX_PEGBOY18,
692
+ TSFX_PEGBOY19,
693
+ TSFX_PEGBOY20,
694
+ TSFX_PEGBOY21,
695
+ TSFX_PEGBOY22,
696
+ TSFX_PEGBOY23,
697
+ TSFX_PEGBOY24,
698
+ TSFX_PEGBOY25,
699
+ TSFX_PEGBOY26,
700
+ TSFX_PEGBOY27,
701
+ TSFX_PEGBOY28,
702
+ TSFX_PEGBOY29,
703
+ TSFX_PEGBOY30,
704
+ TSFX_PEGBOY31,
705
+ #endif
706
+ TSFX_PEGBOY32,
707
+ #ifndef SPAWN
708
+ TSFX_PEGBOY33,
709
+ TSFX_PEGBOY34,
710
+ TSFX_PEGBOY35,
711
+ TSFX_PEGBOY36,
712
+ TSFX_PEGBOY37,
713
+ TSFX_PEGBOY38,
714
+ TSFX_PEGBOY39,
715
+ TSFX_PEGBOY40,
716
+ TSFX_PEGBOY41,
717
+ TSFX_PEGBOY42,
718
+ TSFX_PEGBOY43,
719
+ TSFX_PRIEST0,
720
+ TSFX_PRIEST1,
721
+ TSFX_PRIEST2,
722
+ TSFX_PRIEST3,
723
+ TSFX_PRIEST4,
724
+ TSFX_PRIEST5,
725
+ TSFX_PRIEST6,
726
+ TSFX_PRIEST7,
727
+ TSFX_STORY0,
728
+ TSFX_STORY1,
729
+ TSFX_STORY2,
730
+ TSFX_STORY3,
731
+ TSFX_STORY4,
732
+ TSFX_STORY5,
733
+ TSFX_STORY6,
734
+ TSFX_STORY7,
735
+ TSFX_STORY8,
736
+ TSFX_STORY9,
737
+ TSFX_STORY10,
738
+ TSFX_STORY11,
739
+ TSFX_STORY12,
740
+ TSFX_STORY13,
741
+ TSFX_STORY14,
742
+ TSFX_STORY15,
743
+ TSFX_STORY16,
744
+ TSFX_STORY17,
745
+ TSFX_STORY18,
746
+ TSFX_STORY19,
747
+ TSFX_STORY20,
748
+ TSFX_STORY21,
749
+ TSFX_STORY22,
750
+ TSFX_STORY23,
751
+ TSFX_STORY24,
752
+ #endif
753
+ TSFX_STORY25,
754
+ #ifndef SPAWN
755
+ TSFX_STORY26,
756
+ TSFX_STORY27,
757
+ TSFX_STORY28,
758
+ TSFX_STORY29,
759
+ TSFX_STORY30,
760
+ TSFX_STORY31,
761
+ TSFX_STORY32,
762
+ TSFX_STORY33,
763
+ TSFX_STORY34,
764
+ TSFX_STORY35,
765
+ TSFX_STORY36,
766
+ TSFX_STORY37,
767
+ TSFX_STORY38,
768
+ #endif
769
+ TSFX_TAVERN0,
770
+ #ifndef SPAWN
771
+ TSFX_TAVERN1,
772
+ TSFX_TAVERN2,
773
+ TSFX_TAVERN3,
774
+ TSFX_TAVERN4,
775
+ TSFX_TAVERN5,
776
+ TSFX_TAVERN6,
777
+ TSFX_TAVERN7,
778
+ TSFX_TAVERN8,
779
+ TSFX_TAVERN9,
780
+ TSFX_TAVERN10,
781
+ TSFX_TAVERN11,
782
+ TSFX_TAVERN12,
783
+ TSFX_TAVERN13,
784
+ TSFX_TAVERN14,
785
+ TSFX_TAVERN15,
786
+ TSFX_TAVERN16,
787
+ TSFX_TAVERN17,
788
+ TSFX_TAVERN18,
789
+ TSFX_TAVERN19,
790
+ TSFX_TAVERN20,
791
+ TSFX_TAVERN21,
792
+ TSFX_TAVERN22,
793
+ TSFX_TAVERN23,
794
+ TSFX_TAVERN24,
795
+ TSFX_TAVERN25,
796
+ TSFX_TAVERN26,
797
+ TSFX_TAVERN27,
798
+ TSFX_TAVERN28,
799
+ TSFX_TAVERN29,
800
+ TSFX_TAVERN30,
801
+ TSFX_TAVERN31,
802
+ TSFX_TAVERN32,
803
+ TSFX_TAVERN33,
804
+ TSFX_TAVERN34,
805
+ TSFX_TAVERN35,
806
+ #endif
807
+ TSFX_TAVERN36,
808
+ #ifndef SPAWN
809
+ TSFX_TAVERN37,
810
+ TSFX_TAVERN38,
811
+ TSFX_TAVERN39,
812
+ TSFX_TAVERN40,
813
+ TSFX_TAVERN41,
814
+ TSFX_TAVERN42,
815
+ TSFX_TAVERN43,
816
+ TSFX_TAVERN44,
817
+ TSFX_TAVERN45,
818
+ TSFX_WITCH1,
819
+ TSFX_WITCH2,
820
+ TSFX_WITCH3,
821
+ TSFX_WITCH4,
822
+ TSFX_WITCH5,
823
+ TSFX_WITCH6,
824
+ TSFX_WITCH7,
825
+ TSFX_WITCH8,
826
+ TSFX_WITCH9,
827
+ TSFX_WITCH10,
828
+ TSFX_WITCH11,
829
+ TSFX_WITCH12,
830
+ TSFX_WITCH13,
831
+ TSFX_WITCH14,
832
+ TSFX_WITCH15,
833
+ TSFX_WITCH16,
834
+ TSFX_WITCH17,
835
+ TSFX_WITCH18,
836
+ TSFX_WITCH19,
837
+ TSFX_WITCH20,
838
+ TSFX_WITCH21,
839
+ TSFX_WITCH22,
840
+ TSFX_WITCH23,
841
+ TSFX_WITCH24,
842
+ TSFX_WITCH25,
843
+ TSFX_WITCH26,
844
+ TSFX_WITCH27,
845
+ TSFX_WITCH28,
846
+ TSFX_WITCH29,
847
+ TSFX_WITCH30,
848
+ TSFX_WITCH31,
849
+ TSFX_WITCH32,
850
+ TSFX_WITCH33,
851
+ TSFX_WITCH34,
852
+ TSFX_WITCH35,
853
+ TSFX_WITCH36,
854
+ TSFX_WITCH37,
855
+ #endif
856
+ TSFX_WITCH38,
857
+ #ifndef SPAWN
858
+ TSFX_WITCH39,
859
+ TSFX_WITCH40,
860
+ TSFX_WITCH41,
861
+ TSFX_WITCH42,
862
+ TSFX_WITCH43,
863
+ TSFX_WITCH44,
864
+ TSFX_WITCH45,
865
+ TSFX_WITCH46,
866
+ TSFX_WITCH47,
867
+ TSFX_WITCH48,
868
+ TSFX_WITCH49,
869
+ TSFX_WITCH50,
870
+ TSFX_WOUND,
871
+ PS_MAGE1,
872
+ PS_MAGE2,
873
+ PS_MAGE3,
874
+ PS_MAGE4,
875
+ PS_MAGE5,
876
+ PS_MAGE6,
877
+ PS_MAGE7,
878
+ PS_MAGE8,
879
+ PS_MAGE9,
880
+ PS_MAGE10,
881
+ PS_MAGE11,
882
+ PS_MAGE12,
883
+ PS_MAGE13,
884
+ PS_MAGE14,
885
+ PS_MAGE15,
886
+ PS_MAGE16,
887
+ PS_MAGE17,
888
+ PS_MAGE18,
889
+ PS_MAGE19,
890
+ PS_MAGE20,
891
+ PS_MAGE21,
892
+ PS_MAGE22,
893
+ PS_MAGE23,
894
+ PS_MAGE24,
895
+ PS_MAGE25,
896
+ PS_MAGE26,
897
+ PS_MAGE27,
898
+ PS_MAGE28,
899
+ PS_MAGE29,
900
+ PS_MAGE30,
901
+ PS_MAGE31,
902
+ PS_MAGE32,
903
+ PS_MAGE33,
904
+ PS_MAGE34,
905
+ PS_MAGE35,
906
+ PS_MAGE36,
907
+ PS_MAGE37,
908
+ PS_MAGE38,
909
+ PS_MAGE39,
910
+ PS_MAGE40,
911
+ PS_MAGE41,
912
+ PS_MAGE42,
913
+ PS_MAGE43,
914
+ PS_MAGE44,
915
+ PS_MAGE45,
916
+ PS_MAGE46,
917
+ PS_MAGE47,
918
+ PS_MAGE48,
919
+ PS_MAGE49,
920
+ PS_MAGE50,
921
+ PS_MAGE51,
922
+ PS_MAGE52,
923
+ PS_MAGE53,
924
+ PS_MAGE54,
925
+ PS_MAGE55,
926
+ PS_MAGE56,
927
+ PS_MAGE57,
928
+ PS_MAGE58,
929
+ PS_MAGE59,
930
+ PS_MAGE60,
931
+ PS_MAGE61,
932
+ PS_MAGE62,
933
+ PS_MAGE63,
934
+ PS_MAGE64,
935
+ PS_MAGE65,
936
+ PS_MAGE66,
937
+ PS_MAGE67,
938
+ PS_MAGE68,
939
+ PS_MAGE69,
940
+ PS_MAGE69B,
941
+ PS_MAGE70,
942
+ PS_MAGE71,
943
+ PS_MAGE72,
944
+ PS_MAGE73,
945
+ PS_MAGE74,
946
+ PS_MAGE75,
947
+ PS_MAGE76,
948
+ PS_MAGE77,
949
+ PS_MAGE78,
950
+ PS_MAGE79,
951
+ PS_MAGE80,
952
+ PS_MAGE81,
953
+ PS_MAGE82,
954
+ PS_MAGE83,
955
+ PS_MAGE84,
956
+ PS_MAGE85,
957
+ PS_MAGE86,
958
+ PS_MAGE87,
959
+ PS_MAGE88,
960
+ PS_MAGE89,
961
+ PS_MAGE90,
962
+ PS_MAGE91,
963
+ PS_MAGE92,
964
+ PS_MAGE93,
965
+ PS_MAGE94,
966
+ PS_MAGE95,
967
+ PS_MAGE96,
968
+ PS_MAGE97,
969
+ PS_MAGE98,
970
+ PS_MAGE99,
971
+ PS_MAGE100,
972
+ PS_MAGE101,
973
+ PS_MAGE102,
974
+ PS_ROGUE1,
975
+ PS_ROGUE2,
976
+ PS_ROGUE3,
977
+ PS_ROGUE4,
978
+ PS_ROGUE5,
979
+ PS_ROGUE6,
980
+ PS_ROGUE7,
981
+ PS_ROGUE8,
982
+ PS_ROGUE9,
983
+ PS_ROGUE10,
984
+ PS_ROGUE11,
985
+ PS_ROGUE12,
986
+ PS_ROGUE13,
987
+ PS_ROGUE14,
988
+ PS_ROGUE15,
989
+ PS_ROGUE16,
990
+ PS_ROGUE17,
991
+ PS_ROGUE18,
992
+ PS_ROGUE19,
993
+ PS_ROGUE20,
994
+ PS_ROGUE21,
995
+ PS_ROGUE22,
996
+ PS_ROGUE23,
997
+ PS_ROGUE24,
998
+ PS_ROGUE25,
999
+ PS_ROGUE26,
1000
+ PS_ROGUE27,
1001
+ PS_ROGUE28,
1002
+ PS_ROGUE29,
1003
+ PS_ROGUE30,
1004
+ PS_ROGUE31,
1005
+ PS_ROGUE32,
1006
+ PS_ROGUE33,
1007
+ PS_ROGUE34,
1008
+ PS_ROGUE35,
1009
+ PS_ROGUE36,
1010
+ PS_ROGUE37,
1011
+ PS_ROGUE38,
1012
+ PS_ROGUE39,
1013
+ PS_ROGUE40,
1014
+ PS_ROGUE41,
1015
+ PS_ROGUE42,
1016
+ PS_ROGUE43,
1017
+ PS_ROGUE44,
1018
+ PS_ROGUE45,
1019
+ PS_ROGUE46,
1020
+ PS_ROGUE47,
1021
+ PS_ROGUE48,
1022
+ PS_ROGUE49,
1023
+ PS_ROGUE50,
1024
+ PS_ROGUE51,
1025
+ PS_ROGUE52,
1026
+ PS_ROGUE53,
1027
+ PS_ROGUE54,
1028
+ PS_ROGUE55,
1029
+ PS_ROGUE56,
1030
+ PS_ROGUE57,
1031
+ PS_ROGUE58,
1032
+ PS_ROGUE59,
1033
+ PS_ROGUE60,
1034
+ PS_ROGUE61,
1035
+ PS_ROGUE62,
1036
+ PS_ROGUE63,
1037
+ PS_ROGUE64,
1038
+ PS_ROGUE65,
1039
+ PS_ROGUE66,
1040
+ PS_ROGUE67,
1041
+ PS_ROGUE68,
1042
+ PS_ROGUE69,
1043
+ PS_ROGUE69B,
1044
+ PS_ROGUE70,
1045
+ PS_ROGUE71,
1046
+ PS_ROGUE72,
1047
+ PS_ROGUE73,
1048
+ PS_ROGUE74,
1049
+ PS_ROGUE75,
1050
+ PS_ROGUE76,
1051
+ PS_ROGUE77,
1052
+ PS_ROGUE78,
1053
+ PS_ROGUE79,
1054
+ PS_ROGUE80,
1055
+ PS_ROGUE81,
1056
+ PS_ROGUE82,
1057
+ PS_ROGUE83,
1058
+ PS_ROGUE84,
1059
+ PS_ROGUE85,
1060
+ PS_ROGUE86,
1061
+ PS_ROGUE87,
1062
+ PS_ROGUE88,
1063
+ PS_ROGUE89,
1064
+ PS_ROGUE90,
1065
+ PS_ROGUE91,
1066
+ PS_ROGUE92,
1067
+ PS_ROGUE93,
1068
+ PS_ROGUE94,
1069
+ PS_ROGUE95,
1070
+ PS_ROGUE96,
1071
+ PS_ROGUE97,
1072
+ PS_ROGUE98,
1073
+ PS_ROGUE99,
1074
+ PS_ROGUE100,
1075
+ PS_ROGUE101,
1076
+ PS_ROGUE102,
1077
+ PS_WARR1,
1078
+ PS_WARR2,
1079
+ PS_WARR3,
1080
+ PS_WARR4,
1081
+ PS_WARR5,
1082
+ PS_WARR6,
1083
+ PS_WARR7,
1084
+ PS_WARR8,
1085
+ PS_WARR9,
1086
+ PS_WARR10,
1087
+ PS_WARR11,
1088
+ PS_WARR12,
1089
+ #endif
1090
+ PS_WARR13,
1091
+ PS_WARR14,
1092
+ PS_WARR14B,
1093
+ PS_WARR14C,
1094
+ PS_WARR15,
1095
+ PS_WARR15B,
1096
+ PS_WARR15C,
1097
+ PS_WARR16,
1098
+ PS_WARR16B,
1099
+ PS_WARR16C,
1100
+ PS_WARR17,
1101
+ PS_WARR18,
1102
+ PS_WARR19,
1103
+ PS_WARR20,
1104
+ PS_WARR21,
1105
+ PS_WARR22,
1106
+ PS_WARR23,
1107
+ PS_WARR24,
1108
+ PS_WARR25,
1109
+ PS_WARR26,
1110
+ PS_WARR27,
1111
+ PS_WARR28,
1112
+ PS_WARR29,
1113
+ PS_WARR30,
1114
+ PS_WARR31,
1115
+ PS_WARR32,
1116
+ PS_WARR33,
1117
+ PS_WARR34,
1118
+ PS_WARR35,
1119
+ PS_WARR36,
1120
+ PS_WARR37,
1121
+ PS_WARR38,
1122
+ PS_WARR39,
1123
+ PS_WARR40,
1124
+ PS_WARR41,
1125
+ PS_WARR42,
1126
+ PS_WARR43,
1127
+ PS_WARR44,
1128
+ PS_WARR45,
1129
+ PS_WARR46,
1130
+ PS_WARR47,
1131
+ PS_WARR48,
1132
+ PS_WARR49,
1133
+ PS_WARR50,
1134
+ PS_WARR51,
1135
+ PS_WARR52,
1136
+ PS_WARR53,
1137
+ PS_WARR54,
1138
+ PS_WARR55,
1139
+ PS_WARR56,
1140
+ PS_WARR57,
1141
+ PS_WARR58,
1142
+ PS_WARR59,
1143
+ PS_WARR60,
1144
+ PS_WARR61,
1145
+ PS_WARR62,
1146
+ PS_WARR63,
1147
+ PS_WARR64,
1148
+ PS_WARR65,
1149
+ PS_WARR66,
1150
+ PS_WARR67,
1151
+ PS_WARR68,
1152
+ PS_WARR69,
1153
+ PS_WARR69B,
1154
+ PS_WARR70,
1155
+ PS_WARR71,
1156
+ PS_WARR72,
1157
+ PS_WARR73,
1158
+ PS_WARR74,
1159
+ PS_WARR75,
1160
+ PS_WARR76,
1161
+ PS_WARR77,
1162
+ PS_WARR78,
1163
+ PS_WARR79,
1164
+ #ifndef SPAWN
1165
+ PS_WARR80,
1166
+ PS_WARR81,
1167
+ PS_WARR82,
1168
+ PS_WARR83,
1169
+ PS_WARR84,
1170
+ PS_WARR85,
1171
+ PS_WARR86,
1172
+ PS_WARR87,
1173
+ PS_WARR88,
1174
+ PS_WARR89,
1175
+ PS_WARR90,
1176
+ PS_WARR91,
1177
+ PS_WARR92,
1178
+ PS_WARR93,
1179
+ PS_WARR94,
1180
+ PS_WARR95,
1181
+ PS_WARR95B,
1182
+ PS_WARR95C,
1183
+ PS_WARR95D,
1184
+ PS_WARR95E,
1185
+ PS_WARR95F,
1186
+ #endif
1187
+ PS_WARR96B,
1188
+ PS_WARR97,
1189
+ PS_WARR98,
1190
+ PS_WARR99,
1191
+ #ifndef SPAWN
1192
+ PS_WARR100,
1193
+ PS_WARR101,
1194
+ PS_WARR102,
1195
+ #endif
1196
+ #ifdef HELLFIRE
1197
+ PS_MONK1,
1198
+ PS_MONK2,
1199
+ PS_MONK3,
1200
+ PS_MONK4,
1201
+ PS_MONK5,
1202
+ PS_MONK6,
1203
+ PS_MONK7,
1204
+ PS_MONK8,
1205
+ PS_MONK9,
1206
+ PS_MONK10,
1207
+ PS_MONK11,
1208
+ PS_MONK12,
1209
+ PS_MONK13,
1210
+ PS_MONK14,
1211
+ PS_MONK15,
1212
+ PS_MONK16,
1213
+ PS_MONK17,
1214
+ PS_MONK18,
1215
+ PS_MONK19,
1216
+ PS_MONK20,
1217
+ PS_MONK21,
1218
+ PS_MONK22,
1219
+ PS_MONK23,
1220
+ PS_MONK24,
1221
+ PS_MONK25,
1222
+ PS_MONK26,
1223
+ PS_MONK27,
1224
+ PS_MONK28,
1225
+ PS_MONK29,
1226
+ PS_MONK30,
1227
+ PS_MONK31,
1228
+ PS_MONK32,
1229
+ PS_MONK33,
1230
+ PS_MONK34,
1231
+ PS_MONK35,
1232
+ PS_MONK36,
1233
+ PS_MONK37,
1234
+ PS_MONK38,
1235
+ PS_MONK39,
1236
+ PS_MONK40,
1237
+ PS_MONK41,
1238
+ PS_MONK42,
1239
+ PS_MONK43,
1240
+ PS_MONK44,
1241
+ PS_MONK45,
1242
+ PS_MONK46,
1243
+ PS_MONK47,
1244
+ PS_MONK48,
1245
+ PS_MONK49,
1246
+ PS_MONK50,
1247
+ PS_MONK51,
1248
+ PS_MONK52,
1249
+ PS_MONK53,
1250
+ PS_MONK54,
1251
+ PS_MONK55,
1252
+ PS_MONK56,
1253
+ PS_MONK57,
1254
+ PS_MONK58,
1255
+ PS_MONK59,
1256
+ PS_MONK60,
1257
+ PS_MONK61,
1258
+ PS_MONK62,
1259
+ PS_MONK63,
1260
+ PS_MONK64,
1261
+ PS_MONK65,
1262
+ PS_MONK66,
1263
+ PS_MONK67,
1264
+ PS_MONK68,
1265
+ PS_MONK69,
1266
+ PS_MONK69B,
1267
+ PS_MONK70,
1268
+ PS_MONK71,
1269
+ PS_MONK72,
1270
+ PS_MONK73,
1271
+ PS_MONK74,
1272
+ PS_MONK75,
1273
+ PS_MONK76,
1274
+ PS_MONK77,
1275
+ PS_MONK78,
1276
+ PS_MONK79,
1277
+ PS_MONK80,
1278
+ PS_MONK81,
1279
+ PS_MONK82,
1280
+ PS_MONK83,
1281
+ PS_MONK84,
1282
+ PS_MONK85,
1283
+ PS_MONK86,
1284
+ PS_MONK87,
1285
+ PS_MONK88,
1286
+ PS_MONK89,
1287
+ PS_MONK90,
1288
+ PS_MONK91,
1289
+ PS_MONK92,
1290
+ PS_MONK93,
1291
+ PS_MONK94,
1292
+ PS_MONK95,
1293
+ PS_MONK96,
1294
+ PS_MONK97,
1295
+ PS_MONK98,
1296
+ PS_MONK99,
1297
+ PS_MONK100,
1298
+ PS_MONK101,
1299
+ PS_MONK102,
1300
+ #endif
1301
+ #ifndef SPAWN
1302
+ PS_NAR1,
1303
+ PS_NAR2,
1304
+ PS_NAR3,
1305
+ PS_NAR4,
1306
+ PS_NAR5,
1307
+ PS_NAR6,
1308
+ PS_NAR7,
1309
+ PS_NAR8,
1310
+ PS_NAR9,
1311
+ PS_DIABLVLINT,
1312
+ USFX_CLEAVER,
1313
+ USFX_GARBUD1,
1314
+ USFX_GARBUD2,
1315
+ USFX_GARBUD3,
1316
+ USFX_GARBUD4,
1317
+ USFX_IZUAL1,
1318
+ USFX_LACH1,
1319
+ USFX_LACH2,
1320
+ USFX_LACH3,
1321
+ USFX_LAZ1,
1322
+ USFX_LAZ2,
1323
+ USFX_SKING1,
1324
+ USFX_SNOT1,
1325
+ USFX_SNOT2,
1326
+ USFX_SNOT3,
1327
+ USFX_WARLRD1,
1328
+ USFX_WLOCK1,
1329
+ USFX_ZHAR1,
1330
+ USFX_ZHAR2,
1331
+ USFX_DIABLOD,
1332
+ #endif
1333
+ #ifdef HELLFIRE
1334
+ TSFX_FARMER1,
1335
+ TSFX_FARMER2,
1336
+ TSFX_FARMER2A,
1337
+ TSFX_FARMER3,
1338
+ TSFX_FARMER4,
1339
+ TSFX_FARMER5,
1340
+ TSFX_FARMER6,
1341
+ TSFX_FARMER7,
1342
+ TSFX_FARMER8,
1343
+ TSFX_FARMER9,
1344
+ TSFX_TEDDYBR1,
1345
+ TSFX_TEDDYBR2,
1346
+ TSFX_TEDDYBR3,
1347
+ TSFX_TEDDYBR4,
1348
+ USFX_DEFILER1,
1349
+ USFX_DEFILER2,
1350
+ USFX_DEFILER3,
1351
+ USFX_DEFILER4,
1352
+ USFX_DEFILER8,
1353
+ USFX_DEFILER6,
1354
+ USFX_DEFILER7,
1355
+ USFX_NAKRUL1,
1356
+ USFX_NAKRUL2,
1357
+ USFX_NAKRUL3,
1358
+ USFX_NAKRUL4,
1359
+ USFX_NAKRUL5,
1360
+ USFX_NAKRUL6,
1361
+ PS_NARATR3,
1362
+ TSFX_COWSUT1,
1363
+ TSFX_COWSUT2,
1364
+ TSFX_COWSUT3,
1365
+ TSFX_COWSUT4,
1366
+ TSFX_COWSUT4A,
1367
+ TSFX_COWSUT5,
1368
+ TSFX_COWSUT6,
1369
+ TSFX_COWSUT7,
1370
+ TSFX_COWSUT8,
1371
+ TSFX_COWSUT9,
1372
+ TSFX_COWSUT10,
1373
+ TSFX_COWSUT11,
1374
+ TSFX_COWSUT12,
1375
+ USFX_SKLJRN1,
1376
+ PS_NARATR6,
1377
+ PS_NARATR7,
1378
+ PS_NARATR8,
1379
+ PS_NARATR5,
1380
+ PS_NARATR9,
1381
+ PS_NARATR4,
1382
+ TSFX_TRADER1,
1383
+ IS_CROPEN,
1384
+ IS_CRCLOS,
1385
+ #endif
1386
+ } _sfx_id;
1387
+
1388
+ typedef enum sfx_flag {
1389
+ sfx_STREAM = 0x01,
1390
+ sfx_MISC = 0x02,
1391
+ sfx_UI = 0x04,
1392
+ sfx_MONK = 0x08,
1393
+ sfx_ROGUE = 0x10,
1394
+ sfx_WARRIOR = 0x20,
1395
+ sfx_SORCEROR = 0x40,
1396
+ sfx_LOADED = 0x80,
1397
+ } sfx_flag;
1398
+
1399
+ typedef enum item_equip_type {
1400
+ ILOC_NONE = 0x0,
1401
+ ILOC_ONEHAND = 0x1,
1402
+ ILOC_TWOHAND = 0x2,
1403
+ ILOC_ARMOR = 0x3,
1404
+ ILOC_HELM = 0x4,
1405
+ ILOC_RING = 0x5,
1406
+ ILOC_AMULET = 0x6,
1407
+ ILOC_UNEQUIPABLE = 0x7,
1408
+ ILOC_BELT = 0x8,
1409
+ ILOC_INVALID = -1,
1410
+ } item_equip_type;
1411
+
1412
+ typedef enum missile_id {
1413
+ MIS_ARROW = 0x0,
1414
+ MIS_FIREBOLT = 0x1,
1415
+ MIS_GUARDIAN = 0x2,
1416
+ MIS_RNDTELEPORT = 0x3,
1417
+ MIS_LIGHTBALL = 0x4,
1418
+ MIS_FIREWALL = 0x5,
1419
+ MIS_FIREBALL = 0x6,
1420
+ MIS_LIGHTCTRL = 0x7,
1421
+ MIS_LIGHTNING = 0x8,
1422
+ MIS_MISEXP = 0x9,
1423
+ MIS_TOWN = 0xA,
1424
+ MIS_FLASH = 0xB,
1425
+ MIS_FLASH2 = 0xC,
1426
+ MIS_MANASHIELD = 0xD,
1427
+ MIS_FIREMOVE = 0xE,
1428
+ MIS_CHAIN = 0xF,
1429
+ MIS_SENTINAL = 0x10, // TODO: Check beta
1430
+ MIS_BLODSTAR = 0x11, // TODO: Check beta
1431
+ MIS_BONE = 0x12, // TODO: Check beta
1432
+ MIS_METLHIT = 0x13, // TODO: Check beta
1433
+ MIS_RHINO = 0x14,
1434
+ MIS_MAGMABALL = 0x15,
1435
+ MIS_LIGHTCTRL2 = 0x16,
1436
+ MIS_LIGHTNING2 = 0x17,
1437
+ MIS_FLARE = 0x18,
1438
+ MIS_MISEXP2 = 0x19,
1439
+ MIS_TELEPORT = 0x1A,
1440
+ MIS_FARROW = 0x1B,
1441
+ MIS_DOOMSERP = 0x1C,
1442
+ MIS_FIREWALLA = 0x1D, // TODO: Check beta
1443
+ MIS_STONE = 0x1E,
1444
+ MIS_NULL_1F = 0x1F,
1445
+ MIS_INVISIBL = 0x20,
1446
+ MIS_GOLEM = 0x21,
1447
+ MIS_ETHEREALIZE = 0x22,
1448
+ MIS_BLODBUR = 0x23, // TODO: Check beta
1449
+ MIS_BOOM = 0x24,
1450
+ MIS_HEAL = 0x25,
1451
+ MIS_FIREWALLC = 0x26,
1452
+ MIS_INFRA = 0x27,
1453
+ MIS_IDENTIFY = 0x28,
1454
+ MIS_WAVE = 0x29,
1455
+ MIS_NOVA = 0x2A,
1456
+ MIS_BLODBOIL = 0x2B,
1457
+ MIS_APOCA = 0x2C,
1458
+ MIS_REPAIR = 0x2D,
1459
+ MIS_RECHARGE = 0x2E,
1460
+ MIS_DISARM = 0x2F,
1461
+ MIS_FLAME = 0x30,
1462
+ MIS_FLAMEC = 0x31,
1463
+ MIS_FIREMAN = 0x32, // TODO: Check beta
1464
+ MIS_KRULL = 0x33, // TODO: Check beta
1465
+ MIS_CBOLT = 0x34,
1466
+ MIS_HBOLT = 0x35,
1467
+ MIS_RESURRECT = 0x36,
1468
+ MIS_TELEKINESIS = 0x37,
1469
+ MIS_LARROW = 0x38,
1470
+ MIS_ACID = 0x39,
1471
+ MIS_MISEXP3 = 0x3A,
1472
+ MIS_ACIDPUD = 0x3B,
1473
+ MIS_HEALOTHER = 0x3C,
1474
+ MIS_ELEMENT = 0x3D,
1475
+ MIS_RESURRECTBEAM = 0x3E,
1476
+ MIS_BONESPIRIT = 0x3F,
1477
+ MIS_WEAPEXP = 0x40,
1478
+ MIS_RPORTAL = 0x41,
1479
+ MIS_BOOM2 = 0x42,
1480
+ MIS_DIABAPOCA = 0x43,
1481
+ #ifdef HELLFIRE
1482
+ MIS_MANA = 0x44,
1483
+ MIS_MAGI = 0x45,
1484
+ MIS_LIGHTWALL = 0x46,
1485
+ MIS_LIGHTNINGWALL = 0x47,
1486
+ MIS_IMMOLATION = 0x48,
1487
+ MIS_SPECARROW = 0x49,
1488
+ MIS_FIRENOVA = 0x4A,
1489
+ MIS_LIGHTARROW = 0x4B,
1490
+ MIS_CBOLTARROW = 0x4C,
1491
+ MIS_HBOLTARROW = 0x4D,
1492
+ MIS_WARP = 0x4E,
1493
+ MIS_REFLECT = 0x4F,
1494
+ MIS_BERSERK = 0x50,
1495
+ MIS_FIRERING = 0x51,
1496
+ MIS_STEALPOTS = 0x52,
1497
+ MIS_MANATRAP = 0x53,
1498
+ MIS_LIGHTRING = 0x54,
1499
+ MIS_SEARCH = 0x55,
1500
+ MIS_FLASHFR = 0x56,
1501
+ MIS_FLASHBK = 0x57,
1502
+ MIS_IMMOLATION2 = 0x58,
1503
+ MIS_RUNEFIRE = 0x59,
1504
+ MIS_RUNELIGHT = 0x5A,
1505
+ MIS_RUNENOVA = 0x5B,
1506
+ MIS_RUNEIMMOLAT = 0x5C,
1507
+ MIS_RUNESTONE = 0x5D,
1508
+ MIS_HIVEEXP = 0x5E,
1509
+ MIS_HORKDMN = 0x5F,
1510
+ MIS_JESTER = 0x60,
1511
+ MIS_HIVEEXP2 = 0x61,
1512
+ MIS_LICH = 0x62,
1513
+ MIS_PSYCHORB = 0x63,
1514
+ MIS_NECROMORB = 0x64,
1515
+ MIS_ARCHLICH = 0x65,
1516
+ MIS_BONEDEMON = 0x66,
1517
+ MIS_EXYEL2 = 0x67,
1518
+ MIS_EXRED3 = 0x68,
1519
+ MIS_EXBL2 = 0x69,
1520
+ MIS_EXBL3 = 0x6A,
1521
+ MIS_EXORA1 = 0x6B,
1522
+ #endif
1523
+ } missile_id;
1524
+
1525
+ typedef enum missile_graphic_id {
1526
+ MFILE_ARROWS,
1527
+ MFILE_FIREBA,
1528
+ MFILE_GUARD,
1529
+ MFILE_LGHNING,
1530
+ MFILE_FIREWAL,
1531
+ MFILE_MAGBLOS,
1532
+ MFILE_PORTAL,
1533
+ MFILE_BLUEXFR,
1534
+ MFILE_BLUEXBK,
1535
+ MFILE_MANASHLD,
1536
+ MFILE_BLOOD,
1537
+ MFILE_BONE,
1538
+ MFILE_METLHIT,
1539
+ MFILE_FARROW,
1540
+ MFILE_DOOM,
1541
+ MFILE_0F,
1542
+ MFILE_BLODBUR,
1543
+ MFILE_NEWEXP,
1544
+ MFILE_SHATTER1,
1545
+ MFILE_BIGEXP,
1546
+ MFILE_INFERNO,
1547
+ MFILE_THINLGHT,
1548
+ MFILE_FLARE,
1549
+ MFILE_FLAREEXP,
1550
+ MFILE_MAGBALL,
1551
+ MFILE_KRULL,
1552
+ MFILE_MINILTNG,
1553
+ MFILE_HOLY,
1554
+ MFILE_HOLYEXPL,
1555
+ MFILE_LARROW,
1556
+ MFILE_FIRARWEX,
1557
+ MFILE_ACIDBF,
1558
+ MFILE_ACIDSPLA,
1559
+ MFILE_ACIDPUD,
1560
+ MFILE_ETHRSHLD,
1561
+ MFILE_FIRERUN,
1562
+ MFILE_RESSUR1,
1563
+ MFILE_SKLBALL,
1564
+ MFILE_RPORTAL,
1565
+ MFILE_FIREPLAR,
1566
+ MFILE_SCUBMISB,
1567
+ MFILE_SCBSEXPB,
1568
+ MFILE_SCUBMISC,
1569
+ MFILE_SCBSEXPC,
1570
+ MFILE_SCUBMISD,
1571
+ MFILE_SCBSEXPD,
1572
+ #ifdef HELLFIRE
1573
+ MFILE_SPAWNS,
1574
+ MFILE_REFLECT,
1575
+ MFILE_LICH,
1576
+ MFILE_MSBLA,
1577
+ MFILE_NECROMORB,
1578
+ MFILE_ARCHLICH,
1579
+ MFILE_RUNE,
1580
+ MFILE_EXYEL2,
1581
+ MFILE_EXBL2,
1582
+ MFILE_EXRED3,
1583
+ MFILE_BONEDEMON,
1584
+ MFILE_EXORA1,
1585
+ MFILE_EXBL3,
1586
+ #endif
1587
+ MFILE_NULL,
1588
+ MFILE_NONE = 0xFF, // BUGFIX: should be `MFILE_NONE = MFILE_SCBSEXPD+1`, i.e. MFILE_NULL, since there would otherwise be an out-of-bounds in SetMissAnim when accessing misfiledata for any of the missiles that have MFILE_NONE as mFileNum in missiledata.
1589
+ } missile_graphic_id;
1590
+
1591
+ typedef enum _mai_id {
1592
+ AI_ZOMBIE = 0,
1593
+ AI_FAT = 1,
1594
+ AI_SKELSD = 2,
1595
+ AI_SKELBOW = 3,
1596
+ AI_SCAV = 4,
1597
+ AI_RHINO = 5,
1598
+ AI_GOATMC = 6,
1599
+ AI_GOATBOW = 7,
1600
+ AI_FALLEN = 8,
1601
+ AI_MAGMA = 9,
1602
+ AI_SKELKING = 10,
1603
+ AI_BAT = 11,
1604
+ AI_GARG = 12,
1605
+ AI_CLEAVER = 13,
1606
+ AI_SUCC = 14,
1607
+ AI_SNEAK = 15,
1608
+ AI_STORM = 16,
1609
+ AI_FIREMAN = 17,
1610
+ AI_GARBUD = 18,
1611
+ AI_ACID = 19,
1612
+ AI_ACIDUNIQ = 20,
1613
+ AI_GOLUM = 21,
1614
+ AI_ZHAR = 22,
1615
+ AI_SNOTSPIL = 23,
1616
+ AI_SNAKE = 24,
1617
+ AI_COUNSLR = 25,
1618
+ AI_MEGA = 26,
1619
+ AI_DIABLO = 27,
1620
+ AI_LAZURUS = 28,
1621
+ AI_LAZHELP = 29,
1622
+ AI_LACHDAN = 30,
1623
+ AI_WARLORD = 31,
1624
+ #ifdef HELLFIRE
1625
+ AI_FIREBAT = 32,
1626
+ AI_TORCHANT = 33,
1627
+ AI_HORKDMN = 34,
1628
+ AI_LICH = 35,
1629
+ AI_ARCHLICH = 36,
1630
+ AI_PSYCHORB = 37,
1631
+ AI_NECROMORB = 38,
1632
+ AI_BONEDEMON = 39,
1633
+ #endif
1634
+ } _mai_id;
1635
+
1636
+ typedef enum _mc_id {
1637
+ MC_UNDEAD = 0,
1638
+ MC_DEMON = 1,
1639
+ MC_ANIMAL = 2,
1640
+ } _mc_id;
1641
+
1642
+ typedef enum FILE_SYSTEM {
1643
+ FS_PC = 0,
1644
+ FS_CD = 1,
1645
+ } FILE_SYSTEM;
1646
+
1647
+ typedef enum _artfonts {
1648
+ AF_SMALL = 0,
1649
+ AF_SMALLGRAY = 1,
1650
+ AF_MED = 2,
1651
+ AF_MEDGRAY = 3,
1652
+ AF_BIG = 4,
1653
+ AF_BIGGRAY = 5,
1654
+ AF_HUGE = 6,
1655
+ AF_HUGEGRAY = 7,
1656
+ } _artfonts;
1657
+
1658
+ typedef enum _monster_id {
1659
+ MT_NZOMBIE = 0x0,
1660
+ MT_BZOMBIE = 0x1,
1661
+ MT_GZOMBIE = 0x2,
1662
+ MT_YZOMBIE = 0x3,
1663
+ MT_RFALLSP = 0x4,
1664
+ MT_DFALLSP = 0x5,
1665
+ MT_YFALLSP = 0x6,
1666
+ MT_BFALLSP = 0x7,
1667
+ MT_WSKELAX = 0x8,
1668
+ MT_TSKELAX = 0x9,
1669
+ MT_RSKELAX = 0xA,
1670
+ MT_XSKELAX = 0xB,
1671
+ MT_RFALLSD = 0xC,
1672
+ MT_DFALLSD = 0xD,
1673
+ MT_YFALLSD = 0xE,
1674
+ MT_BFALLSD = 0xF,
1675
+ MT_NSCAV = 0x10,
1676
+ MT_BSCAV = 0x11,
1677
+ MT_WSCAV = 0x12,
1678
+ MT_YSCAV = 0x13,
1679
+ MT_WSKELBW = 0x14,
1680
+ MT_TSKELBW = 0x15,
1681
+ MT_RSKELBW = 0x16,
1682
+ MT_XSKELBW = 0x17,
1683
+ MT_WSKELSD = 0x18,
1684
+ MT_TSKELSD = 0x19,
1685
+ MT_RSKELSD = 0x1A,
1686
+ MT_XSKELSD = 0x1B,
1687
+ MT_INVILORD = 0x1C,
1688
+ MT_SNEAK = 0x1D,
1689
+ MT_STALKER = 0x1E,
1690
+ MT_UNSEEN = 0x1F,
1691
+ MT_ILLWEAV = 0x20,
1692
+ MT_LRDSAYTR = 0x21,
1693
+ MT_NGOATMC = 0x22,
1694
+ MT_BGOATMC = 0x23,
1695
+ MT_RGOATMC = 0x24,
1696
+ MT_GGOATMC = 0x25,
1697
+ MT_FIEND = 0x26,
1698
+ MT_BLINK = 0x27,
1699
+ MT_GLOOM = 0x28,
1700
+ MT_FAMILIAR = 0x29,
1701
+ MT_NGOATBW = 0x2A,
1702
+ MT_BGOATBW = 0x2B,
1703
+ MT_RGOATBW = 0x2C,
1704
+ MT_GGOATBW = 0x2D,
1705
+ MT_NACID = 0x2E,
1706
+ MT_RACID = 0x2F,
1707
+ MT_BACID = 0x30,
1708
+ MT_XACID = 0x31,
1709
+ MT_SKING = 0x32,
1710
+ MT_CLEAVER = 0x33,
1711
+ MT_FAT = 0x34,
1712
+ MT_MUDMAN = 0x35,
1713
+ MT_TOAD = 0x36,
1714
+ MT_FLAYED = 0x37,
1715
+ MT_WYRM = 0x38,
1716
+ MT_CAVSLUG = 0x39,
1717
+ MT_DVLWYRM = 0x3A,
1718
+ MT_DEVOUR = 0x3B,
1719
+ MT_NMAGMA = 0x3C,
1720
+ MT_YMAGMA = 0x3D,
1721
+ MT_BMAGMA = 0x3E,
1722
+ MT_WMAGMA = 0x3F,
1723
+ MT_HORNED = 0x40,
1724
+ MT_MUDRUN = 0x41,
1725
+ MT_FROSTC = 0x42,
1726
+ MT_OBLORD = 0x43,
1727
+ MT_BONEDMN = 0x44,
1728
+ MT_REDDTH = 0x45,
1729
+ MT_LTCHDMN = 0x46,
1730
+ MT_UDEDBLRG = 0x47,
1731
+ MT_INCIN = 0x48,
1732
+ MT_FLAMLRD = 0x49,
1733
+ MT_DOOMFIRE = 0x4A,
1734
+ MT_HELLBURN = 0x4B,
1735
+ MT_STORM = 0x4C,
1736
+ MT_RSTORM = 0x4D,
1737
+ MT_STORML = 0x4E,
1738
+ MT_MAEL = 0x4F,
1739
+ MT_BIGFALL = 0x50,
1740
+ MT_WINGED = 0x51,
1741
+ MT_GARGOYLE = 0x52,
1742
+ MT_BLOODCLW = 0x53,
1743
+ MT_DEATHW = 0x54,
1744
+ MT_MEGA = 0x55,
1745
+ MT_GUARD = 0x56,
1746
+ MT_VTEXLRD = 0x57,
1747
+ MT_BALROG = 0x58,
1748
+ MT_NSNAKE = 0x59,
1749
+ MT_RSNAKE = 0x5A,
1750
+ MT_BSNAKE = 0x5B,
1751
+ MT_GSNAKE = 0x5C,
1752
+ MT_NBLACK = 0x5D,
1753
+ MT_RTBLACK = 0x5E,
1754
+ MT_BTBLACK = 0x5F,
1755
+ MT_RBLACK = 0x60,
1756
+ MT_UNRAV = 0x61,
1757
+ MT_HOLOWONE = 0x62,
1758
+ MT_PAINMSTR = 0x63,
1759
+ MT_REALWEAV = 0x64,
1760
+ MT_SUCCUBUS = 0x65,
1761
+ MT_SNOWWICH = 0x66,
1762
+ MT_HLSPWN = 0x67,
1763
+ MT_SOLBRNR = 0x68,
1764
+ MT_COUNSLR = 0x69,
1765
+ MT_MAGISTR = 0x6A,
1766
+ MT_CABALIST = 0x6B,
1767
+ MT_ADVOCATE = 0x6C,
1768
+ MT_GOLEM = 0x6D,
1769
+ MT_DIABLO = 0x6E,
1770
+ MT_DARKMAGE = 0x6F,
1771
+ #ifdef HELLFIRE
1772
+ MT_HELLBOAR = 0x70,
1773
+ MT_STINGER = 0x71,
1774
+ MT_PSYCHORB = 0x72,
1775
+ MT_ARACHNON = 0x73,
1776
+ MT_FELLTWIN = 0x74,
1777
+ MT_HORKSPWN = 0x75,
1778
+ MT_VENMTAIL = 0x76,
1779
+ MT_NECRMORB = 0x77,
1780
+ MT_SPIDLORD = 0x78,
1781
+ MT_LASHWORM = 0x79,
1782
+ MT_TORCHANT = 0x7A,
1783
+ MT_HORKDMN = 0x7B,
1784
+ MT_DEFILER = 0x7C,
1785
+ MT_GRAVEDIG = 0x7D,
1786
+ MT_TOMBRAT = 0x7E,
1787
+ MT_FIREBAT = 0x7F,
1788
+ MT_SKLWING = 0x80,
1789
+ MT_LICH = 0x81,
1790
+ MT_CRYPTDMN = 0x82,
1791
+ MT_HELLBAT = 0x83,
1792
+ MT_BONEDEMN = 0x84,
1793
+ MT_ARCHLICH = 0x85,
1794
+ MT_BICLOPS = 0x86,
1795
+ MT_FLESTHNG = 0x87,
1796
+ MT_REAPER = 0x88,
1797
+ MT_NAKRUL = 0x89,
1798
+ NUM_MTYPES,
1799
+ #else
1800
+ NUM_MTYPES = 0x6F, /// BUGFIX the count is off by one
1801
+ #endif
1802
+ } _monster_id;
1803
+
1804
+ // this enum contains indexes from UniqMonst array for special unique monsters (usually quest related)
1805
+ typedef enum {
1806
+ UMT_GARBUD = 0,
1807
+ UMT_SKELKING = 1,
1808
+ UMT_ZHAR = 2,
1809
+ UMT_SNOTSPIL = 3,
1810
+ UMT_LAZURUS = 4,
1811
+ UMT_RED_VEX = 5,
1812
+ UMT_BLACKJADE = 6,
1813
+ UMT_LACHDAN = 7,
1814
+ UMT_WARLORD = 8,
1815
+ UMT_BUTCHER = 9,
1816
+ #ifdef HELLFIRE
1817
+ UMT_HORKDMN = 10,
1818
+ UMT_DEFILER = 11,
1819
+ UMT_NAKRUL = 12,
1820
+ #endif
1821
+ } _uniq_monsterid;
1822
+
1823
+ typedef enum monster_flag {
1824
+ MFLAG_HIDDEN = 0x01,
1825
+ MFLAG_LOCK_ANIMATION = 0x02,
1826
+ MFLAG_ALLOW_SPECIAL = 0x04,
1827
+ MFLAG_NOHEAL = 0x08,
1828
+ MFLAG_TARGETS_MONSTER = 0x10,
1829
+ MFLAG_GOLEM = 0x20,
1830
+ MFLAG_QUEST_COMPLETE = 0x40,
1831
+ MFLAG_KNOCKBACK = 0x80,
1832
+ MFLAG_SEARCH = 0x100,
1833
+ MFLAG_CAN_OPEN_DOOR = 0x200,
1834
+ MFLAG_NO_ENEMY = 0x400,
1835
+ MFLAG_BERSERK = 0x800,
1836
+ MFLAG_NOLIFESTEAL = 0x1000
1837
+ } monster_flag;
1838
+
1839
+ typedef enum monster_goal {
1840
+ MGOAL_NORMAL = 1,
1841
+ MGOAL_RETREAT = 2,
1842
+ MGOAL_HEALING = 3,
1843
+ MGOAL_MOVE = 4,
1844
+ MGOAL_ATTACK2 = 5,
1845
+ MGOAL_INQUIRING = 6,
1846
+ MGOAL_TALKING = 7,
1847
+ } monster_goal;
1848
+
1849
+ typedef enum monster_resistance {
1850
+ RESIST_MAGIC = 0x01,
1851
+ RESIST_FIRE = 0x02,
1852
+ RESIST_LIGHTNING = 0x04,
1853
+ IMMUNE_MAGIC = 0x08,
1854
+ IMMUNE_FIRE = 0x10,
1855
+ IMMUNE_LIGHTNING = 0x20,
1856
+ IMMUNE_NULL_40 = 0x40,
1857
+ IMMUNE_ACID = 0x80,
1858
+ } monster_resistance;
1859
+
1860
+ typedef enum missile_resistance {
1861
+ MISR_NONE = 0,
1862
+ MISR_FIRE = 1,
1863
+ MISR_LIGHTNING = 2,
1864
+ MISR_MAGIC = 3,
1865
+ MISR_ACID = 4,
1866
+ } missile_resistance;
1867
+
1868
+ typedef enum _speech_id {
1869
+ TEXT_KING1 = 0x0,
1870
+ TEXT_KING2 = 0x1,
1871
+ TEXT_KING3 = 0x2,
1872
+ TEXT_KING4 = 0x3,
1873
+ TEXT_KING5 = 0x4,
1874
+ TEXT_KING6 = 0x5,
1875
+ TEXT_KING7 = 0x6,
1876
+ TEXT_KING8 = 0x7,
1877
+ TEXT_KING9 = 0x8,
1878
+ TEXT_KING10 = 0x9,
1879
+ TEXT_KING11 = 0xA,
1880
+ TEXT_BANNER1 = 0xB,
1881
+ TEXT_BANNER2 = 0xC,
1882
+ TEXT_BANNER3 = 0xD,
1883
+ TEXT_BANNER4 = 0xE,
1884
+ TEXT_BANNER5 = 0xF,
1885
+ TEXT_BANNER6 = 0x10,
1886
+ TEXT_BANNER7 = 0x11,
1887
+ TEXT_BANNER8 = 0x12,
1888
+ TEXT_BANNER9 = 0x13,
1889
+ TEXT_BANNER10 = 0x14,
1890
+ TEXT_BANNER11 = 0x15,
1891
+ TEXT_BANNER12 = 0x16,
1892
+ TEXT_VILE1 = 0x17,
1893
+ TEXT_VILE2 = 0x18,
1894
+ TEXT_VILE3 = 0x19,
1895
+ TEXT_VILE4 = 0x1A,
1896
+ TEXT_VILE5 = 0x1B,
1897
+ TEXT_VILE6 = 0x1C,
1898
+ TEXT_VILE7 = 0x1D,
1899
+ TEXT_VILE8 = 0x1E,
1900
+ TEXT_VILE9 = 0x1F,
1901
+ TEXT_VILE10 = 0x20,
1902
+ TEXT_VILE11 = 0x21,
1903
+ TEXT_VILE12 = 0x22,
1904
+ TEXT_VILE13 = 0x23,
1905
+ TEXT_VILE14 = 0x24,
1906
+ TEXT_POISON1 = 0x25,
1907
+ TEXT_POISON2 = 0x26,
1908
+ TEXT_POISON3 = 0x27,
1909
+ TEXT_POISON4 = 0x28,
1910
+ TEXT_POISON5 = 0x29,
1911
+ TEXT_POISON6 = 0x2A,
1912
+ TEXT_POISON7 = 0x2B,
1913
+ TEXT_POISON8 = 0x2C,
1914
+ TEXT_POISON9 = 0x2D,
1915
+ TEXT_POISON10 = 0x2E,
1916
+ TEXT_BONE1 = 0x2F,
1917
+ TEXT_BONE2 = 0x30,
1918
+ TEXT_BONE3 = 0x31,
1919
+ TEXT_BONE4 = 0x32,
1920
+ TEXT_BONE5 = 0x33,
1921
+ TEXT_BONE6 = 0x34,
1922
+ TEXT_BONE7 = 0x35,
1923
+ TEXT_BONE8 = 0x36,
1924
+ TEXT_BUTCH1 = 0x37,
1925
+ TEXT_BUTCH2 = 0x38,
1926
+ TEXT_BUTCH3 = 0x39,
1927
+ TEXT_BUTCH4 = 0x3A,
1928
+ TEXT_BUTCH5 = 0x3B,
1929
+ TEXT_BUTCH6 = 0x3C,
1930
+ TEXT_BUTCH7 = 0x3D,
1931
+ TEXT_BUTCH8 = 0x3E,
1932
+ TEXT_BUTCH9 = 0x3F,
1933
+ TEXT_BUTCH10 = 0x40,
1934
+ TEXT_BLIND1 = 0x41,
1935
+ TEXT_BLIND2 = 0x42,
1936
+ TEXT_BLIND3 = 0x43,
1937
+ TEXT_BLIND4 = 0x44,
1938
+ TEXT_BLIND5 = 0x45,
1939
+ TEXT_BLIND6 = 0x46,
1940
+ TEXT_BLIND7 = 0x47,
1941
+ TEXT_BLIND8 = 0x48,
1942
+ TEXT_VEIL1 = 0x49,
1943
+ TEXT_VEIL2 = 0x4A,
1944
+ TEXT_VEIL3 = 0x4B,
1945
+ TEXT_VEIL4 = 0x4C,
1946
+ TEXT_VEIL5 = 0x4D,
1947
+ TEXT_VEIL6 = 0x4E,
1948
+ TEXT_VEIL7 = 0x4F,
1949
+ TEXT_VEIL8 = 0x50,
1950
+ TEXT_VEIL9 = 0x51,
1951
+ TEXT_VEIL10 = 0x52,
1952
+ TEXT_VEIL11 = 0x53,
1953
+ TEXT_ANVIL1 = 0x54,
1954
+ TEXT_ANVIL2 = 0x55,
1955
+ TEXT_ANVIL3 = 0x56,
1956
+ TEXT_ANVIL4 = 0x57,
1957
+ TEXT_ANVIL5 = 0x58,
1958
+ TEXT_ANVIL6 = 0x59,
1959
+ TEXT_ANVIL7 = 0x5A,
1960
+ TEXT_ANVIL8 = 0x5B,
1961
+ TEXT_ANVIL9 = 0x5C,
1962
+ TEXT_ANVIL10 = 0x5D,
1963
+ TEXT_BLOOD1 = 0x5E,
1964
+ TEXT_BLOOD2 = 0x5F,
1965
+ TEXT_BLOOD3 = 0x60,
1966
+ TEXT_BLOOD4 = 0x61,
1967
+ TEXT_BLOOD5 = 0x62,
1968
+ TEXT_BLOOD6 = 0x63,
1969
+ TEXT_BLOOD7 = 0x64,
1970
+ TEXT_BLOOD8 = 0x65,
1971
+ TEXT_WARLRD1 = 0x66,
1972
+ TEXT_WARLRD2 = 0x67,
1973
+ TEXT_WARLRD3 = 0x68,
1974
+ TEXT_WARLRD4 = 0x69,
1975
+ TEXT_WARLRD5 = 0x6A,
1976
+ TEXT_WARLRD6 = 0x6B,
1977
+ TEXT_WARLRD7 = 0x6C,
1978
+ TEXT_WARLRD8 = 0x6D,
1979
+ TEXT_WARLRD9 = 0x6E,
1980
+ TEXT_INFRA1 = 0x6F,
1981
+ TEXT_INFRA2 = 0x70,
1982
+ TEXT_INFRA3 = 0x71,
1983
+ TEXT_INFRA4 = 0x72,
1984
+ TEXT_INFRA5 = 0x73,
1985
+ TEXT_INFRA6 = 0x74,
1986
+ TEXT_INFRA7 = 0x75,
1987
+ TEXT_INFRA8 = 0x76,
1988
+ TEXT_INFRA9 = 0x77,
1989
+ TEXT_INFRA10 = 0x78,
1990
+ TEXT_MUSH1 = 0x79,
1991
+ TEXT_MUSH2 = 0x7A,
1992
+ TEXT_MUSH3 = 0x7B,
1993
+ TEXT_MUSH4 = 0x7C,
1994
+ TEXT_MUSH5 = 0x7D,
1995
+ TEXT_MUSH6 = 0x7E,
1996
+ TEXT_MUSH7 = 0x7F,
1997
+ TEXT_MUSH8 = 0x80,
1998
+ TEXT_MUSH9 = 0x81,
1999
+ TEXT_MUSH10 = 0x82,
2000
+ TEXT_MUSH11 = 0x83,
2001
+ TEXT_MUSH12 = 0x84,
2002
+ TEXT_MUSH13 = 0x85,
2003
+ TEXT_DOOM1 = 0x86,
2004
+ TEXT_DOOM2 = 0x87,
2005
+ TEXT_DOOM3 = 0x88,
2006
+ TEXT_DOOM4 = 0x89,
2007
+ TEXT_DOOM5 = 0x8A,
2008
+ TEXT_DOOM6 = 0x8B,
2009
+ TEXT_DOOM7 = 0x8C,
2010
+ TEXT_DOOM8 = 0x8D,
2011
+ TEXT_DOOM9 = 0x8E,
2012
+ TEXT_DOOM10 = 0x8F,
2013
+ TEXT_GARBUD1 = 0x90,
2014
+ TEXT_GARBUD2 = 0x91,
2015
+ TEXT_GARBUD3 = 0x92,
2016
+ TEXT_GARBUD4 = 0x93,
2017
+ TEXT_ZHAR1 = 0x94,
2018
+ TEXT_ZHAR2 = 0x95,
2019
+ TEXT_STORY1 = 0x96,
2020
+ TEXT_STORY2 = 0x97,
2021
+ TEXT_STORY3 = 0x98,
2022
+ TEXT_STORY4 = 0x99,
2023
+ TEXT_STORY5 = 0x9A,
2024
+ TEXT_STORY6 = 0x9B,
2025
+ TEXT_STORY7 = 0x9C,
2026
+ TEXT_STORY9 = 0x9D,
2027
+ TEXT_STORY10 = 0x9E,
2028
+ TEXT_STORY11 = 0x9F,
2029
+ TEXT_OGDEN1 = 0xA0,
2030
+ TEXT_OGDEN2 = 0xA1,
2031
+ TEXT_OGDEN3 = 0xA2,
2032
+ TEXT_OGDEN4 = 0xA3,
2033
+ TEXT_OGDEN5 = 0xA4,
2034
+ TEXT_OGDEN6 = 0xA5,
2035
+ TEXT_OGDEN8 = 0xA6,
2036
+ TEXT_OGDEN9 = 0xA7,
2037
+ TEXT_OGDEN10 = 0xA8,
2038
+ TEXT_PEPIN1 = 0xA9,
2039
+ TEXT_PEPIN2 = 0xAA,
2040
+ TEXT_PEPIN3 = 0xAB,
2041
+ TEXT_PEPIN4 = 0xAC,
2042
+ TEXT_PEPIN5 = 0xAD,
2043
+ TEXT_PEPIN6 = 0xAE,
2044
+ TEXT_PEPIN7 = 0xAF,
2045
+ TEXT_PEPIN9 = 0xB0,
2046
+ TEXT_PEPIN10 = 0xB1,
2047
+ TEXT_PEPIN11 = 0xB2,
2048
+ TEXT_GILLIAN1 = 0xB3,
2049
+ TEXT_GILLIAN2 = 0xB4,
2050
+ TEXT_GILLIAN3 = 0xB5,
2051
+ TEXT_GILLIAN4 = 0xB6,
2052
+ TEXT_GILLIAN5 = 0xB7,
2053
+ TEXT_GILLIAN6 = 0xB8,
2054
+ TEXT_GILLIAN7 = 0xB9,
2055
+ TEXT_GILLIAN9 = 0xBA,
2056
+ TEXT_GILLIAN10 = 0xBB,
2057
+ TEXT_GRISWOLD1 = 0xBC,
2058
+ TEXT_GRISWOLD2 = 0xBD,
2059
+ TEXT_GRISWOLD3 = 0xBE,
2060
+ TEXT_GRISWOLD4 = 0xBF,
2061
+ TEXT_GRISWOLD5 = 0xC0,
2062
+ TEXT_GRISWOLD6 = 0xC1,
2063
+ TEXT_GRISWOLD7 = 0xC2,
2064
+ TEXT_GRISWOLD8 = 0xC3,
2065
+ TEXT_GRISWOLD9 = 0xC4,
2066
+ TEXT_GRISWOLD10 = 0xC5,
2067
+ TEXT_GRISWOLD12 = 0xC6,
2068
+ TEXT_GRISWOLD13 = 0xC7,
2069
+ TEXT_FARNHAM1 = 0xC8,
2070
+ TEXT_FARNHAM2 = 0xC9,
2071
+ TEXT_FARNHAM3 = 0xCA,
2072
+ TEXT_FARNHAM4 = 0xCB,
2073
+ TEXT_FARNHAM5 = 0xCC,
2074
+ TEXT_FARNHAM6 = 0xCD,
2075
+ TEXT_FARNHAM8 = 0xCE,
2076
+ TEXT_FARNHAM9 = 0xCF,
2077
+ TEXT_FARNHAM10 = 0xD0,
2078
+ TEXT_FARNHAM11 = 0xD1,
2079
+ TEXT_FARNHAM12 = 0xD2,
2080
+ TEXT_FARNHAM13 = 0xD3,
2081
+ TEXT_ADRIA1 = 0xD4,
2082
+ TEXT_ADRIA2 = 0xD5,
2083
+ TEXT_ADRIA3 = 0xD6,
2084
+ TEXT_ADRIA4 = 0xD7,
2085
+ TEXT_ADRIA5 = 0xD8,
2086
+ TEXT_ADRIA6 = 0xD9,
2087
+ TEXT_ADRIA7 = 0xDA,
2088
+ TEXT_ADRIA8 = 0xDB,
2089
+ TEXT_ADRIA9 = 0xDC,
2090
+ TEXT_ADRIA10 = 0xDD,
2091
+ TEXT_ADRIA12 = 0xDE,
2092
+ TEXT_ADRIA13 = 0xDF,
2093
+ TEXT_WIRT1 = 0xE0,
2094
+ TEXT_WIRT2 = 0xE1,
2095
+ TEXT_WIRT3 = 0xE2,
2096
+ TEXT_WIRT4 = 0xE3,
2097
+ TEXT_WIRT5 = 0xE4,
2098
+ TEXT_WIRT6 = 0xE5,
2099
+ TEXT_WIRT7 = 0xE6,
2100
+ TEXT_WIRT8 = 0xE7,
2101
+ TEXT_WIRT9 = 0xE8,
2102
+ TEXT_WIRT11 = 0xE9,
2103
+ TEXT_WIRT12 = 0xEA,
2104
+ TEXT_BONER = 0xEB,
2105
+ TEXT_BLOODY = 0xEC,
2106
+ TEXT_BLINDING = 0xED,
2107
+ TEXT_BLOODWAR = 0xEE,
2108
+ TEXT_MBONER = 0xEF,
2109
+ TEXT_MBLOODY = 0xF0,
2110
+ TEXT_MBLINDING = 0xF1,
2111
+ TEXT_MBLOODWAR = 0xF2,
2112
+ TEXT_RBONER = 0xF3,
2113
+ TEXT_RBLOODY = 0xF4,
2114
+ TEXT_RBLINDING = 0xF5,
2115
+ TEXT_RBLOODWAR = 0xF6,
2116
+ TEXT_COW1 = 0xF7,
2117
+ TEXT_COW2 = 0xF8,
2118
+ TEXT_BOOK11 = 0xF9,
2119
+ TEXT_BOOK12 = 0xFA,
2120
+ TEXT_BOOK13 = 0xFB,
2121
+ TEXT_BOOK21 = 0xFC,
2122
+ TEXT_BOOK22 = 0xFD,
2123
+ TEXT_BOOK23 = 0xFE,
2124
+ TEXT_BOOK31 = 0xFF,
2125
+ TEXT_BOOK32 = 0x100,
2126
+ TEXT_BOOK33 = 0x101,
2127
+ TEXT_INTRO = 0x102,
2128
+ #ifdef HELLFIRE
2129
+ TEXT_HBONER = 0x103,
2130
+ TEXT_HBLOODY = 0x104,
2131
+ TEXT_HBLINDING = 0x105,
2132
+ TEXT_HBLOODWAR = 0x106,
2133
+ TEXT_BBONER = 0x107,
2134
+ TEXT_BBLOODY = 0x108,
2135
+ TEXT_BBLINDING = 0x109,
2136
+ TEXT_BBLOODWAR = 0x10A,
2137
+ TEXT_GRAVE1 = 0x10B,
2138
+ TEXT_GRAVE2 = 0x10C,
2139
+ TEXT_GRAVE3 = 0x10D,
2140
+ TEXT_GRAVE4 = 0x10E,
2141
+ TEXT_GRAVE5 = 0x10F,
2142
+ TEXT_GRAVE6 = 0x110,
2143
+ TEXT_GRAVE7 = 0x111,
2144
+ TEXT_GRAVE8 = 0x112,
2145
+ TEXT_GRAVE9 = 0x113,
2146
+ TEXT_GRAVE10 = 0x114,
2147
+ TEXT_FARMER1 = 0x115,
2148
+ TEXT_FARMER2 = 0x116,
2149
+ TEXT_FARMER3 = 0x117,
2150
+ TEXT_FARMER4 = 0x118,
2151
+ TEXT_FARMER5 = 0x119,
2152
+ TEXT_GIRL1 = 0x11A,
2153
+ TEXT_GIRL2 = 0x11B,
2154
+ TEXT_GIRL3 = 0x11C,
2155
+ TEXT_GIRL4 = 0x11D,
2156
+ TEXT_DEFILER1 = 0x11E,
2157
+ TEXT_DEFILER2 = 0x11F,
2158
+ TEXT_DEFILER3 = 0x120,
2159
+ TEXT_DEFILER4 = 0x121,
2160
+ TEXT_DEFILER5 = 0x122,
2161
+ TEXT_NAKRUL1 = 0x123,
2162
+ TEXT_NAKRUL2 = 0x124,
2163
+ TEXT_NAKRUL3 = 0x125,
2164
+ TEXT_NAKRUL4 = 0x126,
2165
+ TEXT_NAKRUL5 = 0x127,
2166
+ TEXT_CORNSTN = 0x128,
2167
+ TEXT_JERSEY1 = 0x129,
2168
+ TEXT_JERSEY2 = 0x12A,
2169
+ TEXT_JERSEY3 = 0x12B,
2170
+ TEXT_JERSEY4 = 0x12C,
2171
+ TEXT_JERSEY5 = 0x12D,
2172
+ TEXT_JERSEY6 = 0x12E,
2173
+ TEXT_JERSEY7 = 0x12F,
2174
+ TEXT_JERSEY8 = 0x130,
2175
+ TEXT_JERSEY9 = 0x131,
2176
+ TEXT_TRADER = 0x132,
2177
+ TEXT_FARMER6 = 0x133,
2178
+ TEXT_FARMER7 = 0x134,
2179
+ TEXT_FARMER8 = 0x135,
2180
+ TEXT_FARMER9 = 0x136,
2181
+ TEXT_FARMER10 = 0x137,
2182
+ TEXT_JERSEY10 = 0x138,
2183
+ TEXT_JERSEY11 = 0x139,
2184
+ TEXT_JERSEY12 = 0x13A,
2185
+ TEXT_JERSEY13 = 0x13B,
2186
+ TEXT_SKLJRN = 0x13C,
2187
+ TEXT_BOOK4 = 0x13D,
2188
+ TEXT_BOOK5 = 0x13E,
2189
+ TEXT_BOOK6 = 0x13F,
2190
+ TEXT_BOOK7 = 0x140,
2191
+ TEXT_BOOK8 = 0x141,
2192
+ TEXT_BOOK9 = 0x142,
2193
+ TEXT_BOOKA = 0x143,
2194
+ TEXT_BOOKB = 0x144,
2195
+ TEXT_BOOKC = 0x145,
2196
+ TEXT_OBOOKA = 0x146,
2197
+ TEXT_OBOOKB = 0x147,
2198
+ TEXT_OBOOKC = 0x148,
2199
+ TEXT_MBOOKA = 0x149,
2200
+ TEXT_MBOOKB = 0x14A,
2201
+ TEXT_MBOOKC = 0x14B,
2202
+ TEXT_RBOOKA = 0x14C,
2203
+ TEXT_RBOOKB = 0x14D,
2204
+ TEXT_RBOOKC = 0x14E,
2205
+ TEXT_BBOOKA = 0x14F,
2206
+ TEXT_BBOOKB = 0x150,
2207
+ TEXT_BBOOKC = 0x151,
2208
+ #endif
2209
+ } _speech_id;
2210
+
2211
+ typedef enum object_graphic_id {
2212
+ OFILE_L1BRAZ = 0x0,
2213
+ OFILE_L1DOORS = 0x1,
2214
+ OFILE_LEVER = 0x2,
2215
+ OFILE_CHEST1 = 0x3,
2216
+ OFILE_CHEST2 = 0x4,
2217
+ OFILE_BANNER = 0x5,
2218
+ OFILE_SKULPILE = 0x6,
2219
+ OFILE_SKULFIRE = 0x7,
2220
+ OFILE_SKULSTIK = 0x8,
2221
+ OFILE_CRUXSK1 = 0x9,
2222
+ OFILE_CRUXSK2 = 0xA,
2223
+ OFILE_CRUXSK3 = 0xB,
2224
+ OFILE_BOOK1 = 0xC,
2225
+ OFILE_BOOK2 = 0xD,
2226
+ OFILE_ROCKSTAN = 0xE,
2227
+ OFILE_ANGEL = 0xF,
2228
+ OFILE_CHEST3 = 0x10,
2229
+ OFILE_BURNCROS = 0x11,
2230
+ OFILE_CANDLE2 = 0x12,
2231
+ OFILE_NUDE2 = 0x13,
2232
+ OFILE_SWITCH4 = 0x14,
2233
+ OFILE_TNUDEM = 0x15,
2234
+ OFILE_TNUDEW = 0x16,
2235
+ OFILE_TSOUL = 0x17,
2236
+ OFILE_L2DOORS = 0x18,
2237
+ OFILE_WTORCH4 = 0x19,
2238
+ OFILE_WTORCH3 = 0x1A,
2239
+ OFILE_SARC = 0x1B,
2240
+ OFILE_FLAME1 = 0x1C,
2241
+ OFILE_PRSRPLT1 = 0x1D,
2242
+ OFILE_TRAPHOLE = 0x1E,
2243
+ OFILE_MINIWATR = 0x1F,
2244
+ OFILE_WTORCH2 = 0x20,
2245
+ OFILE_WTORCH1 = 0x21,
2246
+ OFILE_BCASE = 0x22,
2247
+ OFILE_BSHELF = 0x23,
2248
+ OFILE_WEAPSTND = 0x24,
2249
+ OFILE_BARREL = 0x25,
2250
+ OFILE_BARRELEX = 0x26,
2251
+ OFILE_LSHRINEG = 0x27,
2252
+ OFILE_RSHRINEG = 0x28,
2253
+ OFILE_BLOODFNT = 0x29,
2254
+ OFILE_DECAP = 0x2A,
2255
+ OFILE_PEDISTL = 0x2B,
2256
+ OFILE_L3DOORS = 0x2C,
2257
+ OFILE_PFOUNTN = 0x2D,
2258
+ OFILE_ARMSTAND = 0x2E,
2259
+ OFILE_GOATSHRN = 0x2F,
2260
+ OFILE_CAULDREN = 0x30,
2261
+ OFILE_MFOUNTN = 0x31,
2262
+ OFILE_TFOUNTN = 0x32,
2263
+ OFILE_ALTBOY = 0x33,
2264
+ OFILE_MCIRL = 0x34,
2265
+ OFILE_BKSLBRNT = 0x35,
2266
+ OFILE_MUSHPTCH = 0x36,
2267
+ OFILE_LZSTAND = 0x37,
2268
+ } object_graphic_id;
2269
+
2270
+ typedef enum dungeon_type {
2271
+ DTYPE_TOWN = 0x0,
2272
+ DTYPE_CATHEDRAL = 0x1,
2273
+ DTYPE_CATACOMBS = 0x2,
2274
+ DTYPE_CAVES = 0x3,
2275
+ DTYPE_HELL = 0x4,
2276
+ #ifdef HELLFIRE
2277
+ DTYPE_NEST = 0x5,
2278
+ DTYPE_CRYPT = 0x6,
2279
+ #endif
2280
+ DTYPE_NONE = 0xFF,
2281
+ } dungeon_type;
2282
+
2283
+ typedef enum dflag {
2284
+ BFLAG_MISSILE = 0x01,
2285
+ BFLAG_VISIBLE = 0x02,
2286
+ BFLAG_DEAD_PLAYER = 0x04,
2287
+ BFLAG_POPULATED = 0x08,
2288
+ BFLAG_MONSTLR = 0x10,
2289
+ BFLAG_PLAYERLR = 0x20,
2290
+ BFLAG_LIT = 0x40,
2291
+ BFLAG_EXPLORED = 0x80,
2292
+ } dflag;
2293
+
2294
+ typedef enum clicktype {
2295
+ CLICK_NONE = 0,
2296
+ CLICK_LEFT = 1,
2297
+ CLICK_RIGHT = 2,
2298
+ } clicktype;
2299
+
2300
+ typedef enum placeflag {
2301
+ PLACE_SCATTER = 1,
2302
+ PLACE_SPECIAL = 2,
2303
+ PLACE_UNIQUE = 4,
2304
+ } placeflag;
2305
+
2306
+ typedef enum mienemy_type {
2307
+ TARGET_MONSTERS = 0,
2308
+ TARGET_PLAYERS = 1,
2309
+ TARGET_BOTH = 2,
2310
+ } mienemy_type;
2311
+
2312
+ /*
2313
+ Looks like someone treated hex values as binary, so 0x10 came after 0x01, that's why we have 1 and 16, they did the same thing with affix_item_type
2314
+ */
2315
+ typedef enum goodorevil {
2316
+ GOE_ANY = 0x00,
2317
+ GOE_EVIL = 0x01,
2318
+ GOE_GOOD = 0x10,
2319
+ } goodorevil;
2320
+
2321
+ /*
2322
+ First 5 bits store level
2323
+ 6th bit stores onlygood flag
2324
+ 7th bit stores uper15 flag - uper means unique percent, this flag is true for unique monsters and loot from them has 15% to become unique
2325
+ 8th bit stores uper1 flag - this is loot from normal monsters, which has 1% to become unique
2326
+ 9th bit stores info if item is unique
2327
+ 10th bit stores info if item is a basic one from griswold
2328
+ 11th bit stores info if item is a premium one from griswold
2329
+ 12th bit stores info if item is from wirt
2330
+ 13th bit stores info if item is from adria
2331
+ 14th bit stores info if item is from pepin
2332
+ 15th bit stores pregen flag
2333
+
2334
+ combining CF_UPER15 and CF_UPER1 flags (CF_USEFUL) is used to mark potions and town portal scrolls created on the ground
2335
+ CF_TOWN is combining all store flags and indicates if item has been bought from a NPC
2336
+ */
2337
+ typedef enum icreateinfo_flag {
2338
+ CF_LEVEL = (1 << 6) - 1,
2339
+ CF_ONLYGOOD = 1 << 6,
2340
+ CF_UPER15 = 1 << 7,
2341
+ CF_UPER1 = 1 << 8,
2342
+ CF_UNIQUE = 1 << 9,
2343
+ CF_SMITH = 1 << 10,
2344
+ CF_SMITHPREMIUM = 1 << 11,
2345
+ CF_BOY = 1 << 12,
2346
+ CF_WITCH = 1 << 13,
2347
+ CF_HEALER = 1 << 14,
2348
+ CF_PREGEN = 1 << 15,
2349
+
2350
+ CF_USEFUL = CF_UPER15 | CF_UPER1,
2351
+ CF_TOWN = CF_SMITH | CF_SMITHPREMIUM | CF_BOY | CF_WITCH | CF_HEALER,
2352
+ } icreateinfo_flag;
2353
+
2354
+ typedef enum dungeon_message {
2355
+ DMSG_CATHEDRAL = 1 << 0,
2356
+ DMSG_CATACOMBS = 1 << 1,
2357
+ DMSG_CAVES = 1 << 2,
2358
+ DMSG_HELL = 1 << 3,
2359
+ DMSG_DIABLO = 1 << 4,
2360
+ } dungeon_message;
2361
+
2362
+ typedef enum diablo_message {
2363
+ EMSG_NONE = 0,
2364
+ EMSG_NO_AUTOMAP_IN_TOWN = 1,
2365
+ EMSG_NO_MULTIPLAYER_IN_DEMO = 2,
2366
+ EMSG_DIRECT_SOUND_FAILED = 3,
2367
+ EMSG_NOT_IN_SHAREWARE = 4,
2368
+ EMSG_NO_SPACE_TO_SAVE = 5,
2369
+ EMSG_NO_PAUSE_IN_TOWN = 6,
2370
+ EMSG_COPY_TO_HDD = 7,
2371
+ EMSG_DESYNC = 8,
2372
+ EMSG_NO_PAUSE_IN_MP = 9,
2373
+ EMSG_LOADING = 10,
2374
+ EMSG_SAVING = 11,
2375
+ EMSG_SHRINE_MYSTERIOUS = 12,
2376
+ EMSG_SHRINE_HIDDEN = 13,
2377
+ EMSG_SHRINE_GLOOMY = 14,
2378
+ EMSG_SHRINE_WEIRD = 15,
2379
+ EMSG_SHRINE_MAGICAL = 16,
2380
+ EMSG_SHRINE_STONE = 17,
2381
+ EMSG_SHRINE_RELIGIOUS = 18,
2382
+ EMSG_SHRINE_ENCHANTED = 19,
2383
+ EMSG_SHRINE_THAUMATURGIC = 20,
2384
+ EMSG_SHRINE_FASCINATING = 21,
2385
+ EMSG_SHRINE_CRYPTIC = 22,
2386
+ EMSG_SHRINE_UNUSED = 23,
2387
+ EMSG_SHRINE_ELDRITCH = 24,
2388
+ EMSG_SHRINE_EERIE = 25,
2389
+ EMSG_SHRINE_DIVINE = 26,
2390
+ EMSG_SHRINE_HOLY = 27,
2391
+ EMSG_SHRINE_SACRED = 28,
2392
+ EMSG_SHRINE_SPIRITUAL = 29,
2393
+ EMSG_SHRINE_SPOOKY1 = 30,
2394
+ EMSG_SHRINE_SPOOKY2 = 31,
2395
+ EMSG_SHRINE_ABANDONED = 32,
2396
+ EMSG_SHRINE_CREEPY = 33,
2397
+ EMSG_SHRINE_QUIET = 34,
2398
+ EMSG_SHRINE_SECLUDED = 35,
2399
+ EMSG_SHRINE_ORNATE = 36,
2400
+ EMSG_SHRINE_GLIMMERING = 37,
2401
+ EMSG_SHRINE_TAINTED1 = 38,
2402
+ EMSG_SHRINE_TAINTED2 = 39,
2403
+ EMSG_REQUIRES_LVL_8 = 40,
2404
+ EMSG_REQUIRES_LVL_13 = 41,
2405
+ EMSG_REQUIRES_LVL_17 = 42,
2406
+ EMSG_BONECHAMB = 43,
2407
+ #ifdef HELLFIRE
2408
+ EMSG_SHRINE_OILY = 44,
2409
+ EMSG_SHRINE_GLOWING = 45,
2410
+ EMSG_SHRINE_MENDICANT = 46,
2411
+ EMSG_SHRINE_SPARKLING = 47,
2412
+ EMSG_SHRINE_TOWN = 48,
2413
+ EMSG_SHRINE_SHIMMERING = 49,
2414
+ EMSG_SHRINE_SOLAR1 = 50,
2415
+ EMSG_SHRINE_SOLAR2 = 51,
2416
+ EMSG_SHRINE_SOLAR3 = 52,
2417
+ EMSG_SHRINE_SOLAR4 = 53,
2418
+ EMSG_SHRINE_MURPHYS = 54,
2419
+ #endif
2420
+ } diablo_message;
2421
+
2422
+ typedef enum magic_type {
2423
+ STYPE_FIRE = 0x0,
2424
+ STYPE_LIGHTNING = 0x1,
2425
+ STYPE_MAGIC = 0x2,
2426
+ } magic_type;
2427
+
2428
+ typedef enum theme_id {
2429
+ THEME_BARREL = 0x0,
2430
+ THEME_SHRINE = 0x1,
2431
+ THEME_MONSTPIT = 0x2,
2432
+ THEME_SKELROOM = 0x3,
2433
+ THEME_TREASURE = 0x4,
2434
+ THEME_LIBRARY = 0x5,
2435
+ THEME_TORTURE = 0x6,
2436
+ THEME_BLOODFOUNTAIN = 0x7,
2437
+ THEME_DECAPITATED = 0x8,
2438
+ THEME_PURIFYINGFOUNTAIN = 0x9,
2439
+ THEME_ARMORSTAND = 0xA,
2440
+ THEME_GOATSHRINE = 0xB,
2441
+ THEME_CAULDRON = 0xC,
2442
+ THEME_MURKYFOUNTAIN = 0xD,
2443
+ THEME_TEARFOUNTAIN = 0xE,
2444
+ THEME_BRNCROSS = 0xF,
2445
+ THEME_WEAPONRACK = 0x10,
2446
+ THEME_NONE = -1,
2447
+ } theme_id;
2448
+
2449
+ typedef enum event_type {
2450
+ EVENT_TYPE_PLAYER_CREATE_GAME = 1,
2451
+ EVENT_TYPE_2 = 2,
2452
+ EVENT_TYPE_PLAYER_LEAVE_GAME = 3,
2453
+ EVENT_TYPE_PLAYER_MESSAGE = 4,
2454
+ EVENT_TYPE_5 = 5,
2455
+ EVENT_TYPE_6 = 6,
2456
+ EVENT_TYPE_7 = 7,
2457
+ EVENT_TYPE_8 = 8,
2458
+ EVENT_TYPE_9 = 9,
2459
+ EVENT_TYPE_10 = 10,
2460
+ EVENT_TYPE_11 = 11,
2461
+ EVENT_TYPE_12 = 12,
2462
+ EVENT_TYPE_13 = 13,
2463
+ EVENT_TYPE_14 = 14,
2464
+ EVENT_TYPE_15 = 15,
2465
+ } event_type;
2466
+
2467
+ typedef enum _copyprot_results {
2468
+ COPYPROT_OK = 1,
2469
+ COPYPROT_CANCEL = 2,
2470
+ } _copyprot_results;
2471
+
2472
+ typedef enum text_color {
2473
+ COL_WHITE = 0x0,
2474
+ COL_BLUE = 0x1,
2475
+ COL_RED = 0x2,
2476
+ COL_GOLD = 0x3,
2477
+ } text_color;
2478
+
2479
+ typedef enum item_color {
2480
+ ICOL_WHITE = PAL16_YELLOW + 5,
2481
+ ICOL_BLUE = PAL16_BLUE + 5,
2482
+ ICOL_RED = PAL16_RED + 5,
2483
+ } item_color;
2484
+
2485
+ typedef enum _difficulty {
2486
+ DIFF_NORMAL = 0x0,
2487
+ DIFF_NIGHTMARE = 0x1,
2488
+ DIFF_HELL = 0x2,
2489
+ NUM_DIFFICULTIES = 0x3,
2490
+ } _difficulty;
2491
+
2492
+ typedef enum MON_MODE {
2493
+ MM_STAND = 0,
2494
+ MM_WALK = 1,
2495
+ MM_WALK2 = 2,
2496
+ MM_WALK3 = 3,
2497
+ MM_ATTACK = 4,
2498
+ MM_GOTHIT = 5,
2499
+ MM_DEATH = 6,
2500
+ MM_SATTACK = 7,
2501
+ MM_FADEIN = 8,
2502
+ MM_FADEOUT = 9,
2503
+ MM_RATTACK = 10,
2504
+ MM_SPSTAND = 11,
2505
+ MM_RSPATTACK = 12,
2506
+ MM_DELAY = 13,
2507
+ MM_CHARGE = 14,
2508
+ MM_STONE = 15,
2509
+ MM_HEAL = 16,
2510
+ MM_TALK = 17,
2511
+ } MON_MODE;
2512
+
2513
+ typedef enum MON_ANIM {
2514
+ MA_STAND = 0,
2515
+ MA_WALK = 1,
2516
+ MA_ATTACK = 2,
2517
+ MA_GOTHIT = 3,
2518
+ MA_DEATH = 4,
2519
+ MA_SPECIAL = 5,
2520
+ } MON_ANIM;
2521
+
2522
+ typedef enum PLR_MODE {
2523
+ PM_STAND = 0,
2524
+ PM_WALK = 1,
2525
+ PM_WALK2 = 2,
2526
+ PM_WALK3 = 3,
2527
+ PM_ATTACK = 4,
2528
+ PM_RATTACK = 5,
2529
+ PM_BLOCK = 6,
2530
+ PM_GOTHIT = 7,
2531
+ PM_DEATH = 8,
2532
+ PM_SPELL = 9,
2533
+ PM_NEWLVL = 10,
2534
+ PM_QUIT = 11,
2535
+ } PLR_MODE;
2536
+
2537
+ typedef enum spell_type {
2538
+ RSPLTYPE_SKILL = 0x0,
2539
+ RSPLTYPE_SPELL = 0x1,
2540
+ RSPLTYPE_SCROLL = 0x2,
2541
+ RSPLTYPE_CHARGES = 0x3,
2542
+ RSPLTYPE_INVALID = 0x4,
2543
+ } spell_type;
2544
+
2545
+ typedef enum cursor_id {
2546
+ CURSOR_NONE = 0x0,
2547
+ CURSOR_HAND = 0x1,
2548
+ CURSOR_IDENTIFY = 0x2,
2549
+ CURSOR_REPAIR = 0x3,
2550
+ CURSOR_RECHARGE = 0x4,
2551
+ CURSOR_DISARM = 0x5,
2552
+ CURSOR_OIL = 0x6,
2553
+ CURSOR_TELEKINESIS = 0x7,
2554
+ CURSOR_RESURRECT = 0x8,
2555
+ CURSOR_TELEPORT = 0x9,
2556
+ CURSOR_HEALOTHER = 0xA,
2557
+ CURSOR_HOURGLASS = 0xB,
2558
+ CURSOR_FIRSTITEM = 0xC,
2559
+ } cursor_id;
2560
+
2561
+ typedef enum direction {
2562
+ DIR_S = 0x0,
2563
+ DIR_SW = 0x1,
2564
+ DIR_W = 0x2,
2565
+ DIR_NW = 0x3,
2566
+ DIR_N = 0x4,
2567
+ DIR_NE = 0x5,
2568
+ DIR_E = 0x6,
2569
+ DIR_SE = 0x7,
2570
+ DIR_OMNI = 0x8,
2571
+ } direction;
2572
+
2573
+ typedef enum _scroll_direction {
2574
+ SDIR_NONE = 0x0,
2575
+ SDIR_N = 0x1,
2576
+ SDIR_NE = 0x2,
2577
+ SDIR_E = 0x3,
2578
+ SDIR_SE = 0x4,
2579
+ SDIR_S = 0x5,
2580
+ SDIR_SW = 0x6,
2581
+ SDIR_W = 0x7,
2582
+ SDIR_NW = 0x8,
2583
+ } _scroll_direction;
2584
+
2585
+ typedef enum interface_mode {
2586
+ WM_DIABNEXTLVL = 0x402, // WM_USER+2
2587
+ WM_DIABPREVLVL = 0x403,
2588
+ WM_DIABRTNLVL = 0x404,
2589
+ WM_DIABSETLVL = 0x405,
2590
+ WM_DIABWARPLVL = 0x406,
2591
+ WM_DIABTOWNWARP = 0x407,
2592
+ WM_DIABTWARPUP = 0x408,
2593
+ WM_DIABRETOWN = 0x409,
2594
+ WM_DIABNEWGAME = 0x40A,
2595
+ WM_DIABLOADGAME = 0x40B
2596
+ // WM_LEIGHSKIP = 0x40C, // psx only
2597
+ // WM_DIAVNEWLVL = 0x40D, // psx only
2598
+ } interface_mode;
2599
+
2600
+ typedef enum lvl_entry {
2601
+ ENTRY_MAIN = 0,
2602
+ ENTRY_PREV = 1,
2603
+ ENTRY_SETLVL = 2,
2604
+ ENTRY_RTNLVL = 3,
2605
+ ENTRY_LOAD = 4,
2606
+ ENTRY_WARPLVL = 5,
2607
+ ENTRY_TWARPDN = 6,
2608
+ ENTRY_TWARPUP = 7,
2609
+ } lvl_entry;
2610
+
2611
+ typedef enum game_info {
2612
+ GAMEINFO_NAME = 1,
2613
+ GAMEINFO_PASSWORD = 2,
2614
+ GAMEINFO_STATS = 3,
2615
+ GAMEINFO_MODEFLAG = 4,
2616
+ GAMEINFO_GAMETEMPLATE = 5,
2617
+ GAMEINFO_PLAYERS = 6,
2618
+ } game_info;
2619
+
2620
+ typedef enum spell_id {
2621
+ SPL_NULL = 0x0,
2622
+ SPL_FIREBOLT = 0x1,
2623
+ SPL_HEAL = 0x2,
2624
+ SPL_LIGHTNING = 0x3,
2625
+ SPL_FLASH = 0x4,
2626
+ SPL_IDENTIFY = 0x5,
2627
+ SPL_FIREWALL = 0x6,
2628
+ SPL_TOWN = 0x7,
2629
+ SPL_STONE = 0x8,
2630
+ SPL_INFRA = 0x9,
2631
+ SPL_RNDTELEPORT = 0xA,
2632
+ SPL_MANASHIELD = 0xB,
2633
+ SPL_FIREBALL = 0xC,
2634
+ SPL_GUARDIAN = 0xD,
2635
+ SPL_CHAIN = 0xE,
2636
+ SPL_WAVE = 0xF,
2637
+ SPL_DOOMSERP = 0x10,
2638
+ SPL_BLODRIT = 0x11,
2639
+ SPL_NOVA = 0x12,
2640
+ SPL_INVISIBIL = 0x13,
2641
+ SPL_FLAME = 0x14,
2642
+ SPL_GOLEM = 0x15,
2643
+ SPL_BLODBOIL = 0x16,
2644
+ SPL_TELEPORT = 0x17,
2645
+ SPL_APOCA = 0x18,
2646
+ SPL_ETHEREALIZE = 0x19,
2647
+ SPL_REPAIR = 0x1A,
2648
+ SPL_RECHARGE = 0x1B,
2649
+ SPL_DISARM = 0x1C,
2650
+ SPL_ELEMENT = 0x1D,
2651
+ SPL_CBOLT = 0x1E,
2652
+ SPL_HBOLT = 0x1F,
2653
+ SPL_RESURRECT = 0x20,
2654
+ SPL_TELEKINESIS = 0x21,
2655
+ SPL_HEALOTHER = 0x22,
2656
+ SPL_FLARE = 0x23,
2657
+ SPL_BONESPIRIT = 0x24,
2658
+ #ifdef HELLFIRE
2659
+ SPL_MANA = 0x25,
2660
+ SPL_MAGI = 0x26,
2661
+ SPL_JESTER = 0x27,
2662
+ SPL_LIGHTWALL = 0x28,
2663
+ SPL_IMMOLAT = 0x29,
2664
+ SPL_WARP = 0x2A,
2665
+ SPL_REFLECT = 0x2B,
2666
+ SPL_BERSERK = 0x2C,
2667
+ SPL_FIRERING = 0x2D,
2668
+ SPL_SEARCH = 0x2E,
2669
+ SPL_RUNEFIRE = 0x2F,
2670
+ SPL_RUNELIGHT = 0x30,
2671
+ SPL_RUNENOVA = 0x31,
2672
+ SPL_RUNEIMMOLAT = 0x32,
2673
+ SPL_RUNESTONE = 0x33,
2674
+ #endif
2675
+ SPL_INVALID = -1,
2676
+ } spell_id;
2677
+
2678
+ typedef enum _cmd_id {
2679
+ CMD_STAND,
2680
+ CMD_WALKXY,
2681
+ CMD_ACK_PLRINFO,
2682
+ CMD_ADDSTR,
2683
+ CMD_ADDMAG,
2684
+ CMD_ADDDEX,
2685
+ CMD_ADDVIT,
2686
+ CMD_SBSPELL,
2687
+ CMD_GETITEM,
2688
+ CMD_AGETITEM,
2689
+ CMD_PUTITEM,
2690
+ CMD_RESPAWNITEM,
2691
+ CMD_ATTACKXY,
2692
+ CMD_RATTACKXY,
2693
+ CMD_SPELLXY,
2694
+ CMD_TSPELLXY,
2695
+ CMD_OPOBJXY,
2696
+ CMD_DISARMXY,
2697
+ CMD_ATTACKID,
2698
+ CMD_ATTACKPID,
2699
+ CMD_RATTACKID,
2700
+ CMD_RATTACKPID,
2701
+ CMD_SPELLID,
2702
+ CMD_SPELLPID,
2703
+ CMD_TSPELLID,
2704
+ CMD_TSPELLPID,
2705
+ CMD_RESURRECT,
2706
+ CMD_OPOBJT,
2707
+ CMD_KNOCKBACK,
2708
+ CMD_TALKXY,
2709
+ CMD_NEWLVL,
2710
+ CMD_WARP,
2711
+ CMD_CHEAT_EXPERIENCE,
2712
+ CMD_CHEAT_SPELL_LEVEL,
2713
+ CMD_DEBUG,
2714
+ CMD_SYNCDATA,
2715
+ CMD_MONSTDEATH,
2716
+ CMD_MONSTDAMAGE,
2717
+ CMD_PLRDEAD,
2718
+ CMD_REQUESTGITEM,
2719
+ CMD_REQUESTAGITEM,
2720
+ CMD_GOTOGETITEM,
2721
+ CMD_GOTOAGETITEM,
2722
+ CMD_OPENDOOR,
2723
+ CMD_CLOSEDOOR,
2724
+ CMD_OPERATEOBJ,
2725
+ CMD_PLROPOBJ,
2726
+ CMD_BREAKOBJ,
2727
+ CMD_CHANGEPLRITEMS,
2728
+ CMD_DELPLRITEMS,
2729
+ CMD_PLRDAMAGE,
2730
+ CMD_PLRLEVEL,
2731
+ CMD_DROPITEM,
2732
+ CMD_PLAYER_JOINLEVEL,
2733
+ CMD_SEND_PLRINFO,
2734
+ CMD_SATTACKXY,
2735
+ CMD_ACTIVATEPORTAL,
2736
+ CMD_DEACTIVATEPORTAL,
2737
+ CMD_DLEVEL_0,
2738
+ CMD_DLEVEL_1,
2739
+ CMD_DLEVEL_2,
2740
+ CMD_DLEVEL_3,
2741
+ CMD_DLEVEL_4,
2742
+ CMD_DLEVEL_5,
2743
+ CMD_DLEVEL_6,
2744
+ CMD_DLEVEL_7,
2745
+ CMD_DLEVEL_8,
2746
+ CMD_DLEVEL_9,
2747
+ CMD_DLEVEL_10,
2748
+ CMD_DLEVEL_11,
2749
+ CMD_DLEVEL_12,
2750
+ CMD_DLEVEL_13,
2751
+ CMD_DLEVEL_14,
2752
+ CMD_DLEVEL_15,
2753
+ CMD_DLEVEL_16,
2754
+ #ifdef HELLFIRE
2755
+ CMD_DLEVEL_17,
2756
+ CMD_DLEVEL_18,
2757
+ CMD_DLEVEL_19,
2758
+ CMD_DLEVEL_20,
2759
+ CMD_DLEVEL_21,
2760
+ CMD_DLEVEL_22,
2761
+ CMD_DLEVEL_23,
2762
+ CMD_DLEVEL_24,
2763
+ #endif
2764
+ CMD_DLEVEL_JUNK,
2765
+ CMD_DLEVEL_END,
2766
+ CMD_HEALOTHER,
2767
+ CMD_STRING,
2768
+ CMD_SETSTR,
2769
+ CMD_SETMAG,
2770
+ CMD_SETDEX,
2771
+ CMD_SETVIT,
2772
+ CMD_RETOWN,
2773
+ CMD_SPELLXYD,
2774
+ CMD_ITEMEXTRA,
2775
+ CMD_SYNCPUTITEM,
2776
+ CMD_KILLGOLEM,
2777
+ CMD_SYNCQUEST,
2778
+ CMD_ENDSHIELD,
2779
+ CMD_AWAKEGOLEM,
2780
+ #ifdef HELLFIRE
2781
+ CMD_REFLECT,
2782
+ CMD_NAKRUL,
2783
+ CMD_OPENHIVE,
2784
+ CMD_OPENCRYPT,
2785
+ #else
2786
+ CMD_NOVA,
2787
+ CMD_SETSHIELD,
2788
+ CMD_REMSHIELD,
2789
+ #endif
2790
+ FAKE_CMD_SETID,
2791
+ FAKE_CMD_DROPID,
2792
+ NUM_CMDS,
2793
+ } _cmd_id;
2794
+
2795
+ typedef enum _talker_id {
2796
+ TOWN_SMITH = 0x0,
2797
+ TOWN_HEALER = 0x1,
2798
+ TOWN_DEADGUY = 0x2,
2799
+ TOWN_TAVERN = 0x3,
2800
+ TOWN_STORY = 0x4,
2801
+ TOWN_DRUNK = 0x5,
2802
+ TOWN_WITCH = 0x6,
2803
+ TOWN_BMAID = 0x7,
2804
+ TOWN_PEGBOY = 0x8,
2805
+ TOWN_COW = 0x9,
2806
+ #ifdef HELLFIRE
2807
+ TOWN_FARMER = 0xA,
2808
+ TOWN_GIRL = 0xB,
2809
+ TOWN_COWFARM = 0xC,
2810
+ #else
2811
+ TOWN_PRIEST = 0xA,
2812
+ #endif
2813
+ } _talker_id;
2814
+
2815
+ typedef enum _music_id {
2816
+ TMUSIC_TOWN,
2817
+ TMUSIC_L1,
2818
+ TMUSIC_L2,
2819
+ TMUSIC_L3,
2820
+ TMUSIC_L4,
2821
+ #ifdef HELLFIRE
2822
+ TMUSIC_L5,
2823
+ TMUSIC_L6,
2824
+ #endif
2825
+ TMUSIC_INTRO,
2826
+ NUM_MUSIC,
2827
+ } _music_id;
2828
+
2829
+ typedef enum _mainmenu_selections {
2830
+ MAINMENU_SINGLE_PLAYER = 1,
2831
+ MAINMENU_MULTIPLAYER,
2832
+ MAINMENU_REPLAY_INTRO,
2833
+ #ifdef HELLFIRE
2834
+ MAINMENU_SHOW_SUPPORT,
2835
+ #endif
2836
+ MAINMENU_SHOW_CREDITS,
2837
+ MAINMENU_EXIT_DIABLO,
2838
+ MAINMENU_ATTRACT_MODE,
2839
+ } _mainmenu_selections;
2840
+
2841
+ typedef enum _selhero_selections {
2842
+ SELHERO_NEW_DUNGEON = 1,
2843
+ SELHERO_CONTINUE = 2,
2844
+ SELHERO_CONNECT = 3,
2845
+ SELHERO_PREVIOUS = 4
2846
+ } _selhero_selections;
2847
+
2848
+ typedef enum panel_button_id {
2849
+ PANBTN_CHARINFO = 0,
2850
+ PANBTN_QLOG = 1,
2851
+ PANBTN_AUTOMAP = 2,
2852
+ PANBTN_MAINMENU = 3,
2853
+ PANBTN_INVENTORY = 4,
2854
+ PANBTN_SPELLBOOK = 5,
2855
+ PANBTN_SENDMSG = 6,
2856
+ PANBTN_FRIENDLY = 7,
2857
+ } panel_button_id;
2858
+
2859
+ typedef enum attribute_id {
2860
+ ATTRIB_STR = 0,
2861
+ ATTRIB_MAG = 1,
2862
+ ATTRIB_DEX = 2,
2863
+ ATTRIB_VIT = 3,
2864
+ } attribute_id;
2865
+
2866
+ typedef enum _object_id {
2867
+ OBJ_L1LIGHT = 0x0,
2868
+ OBJ_L1LDOOR = 0x1,
2869
+ OBJ_L1RDOOR = 0x2,
2870
+ OBJ_SKFIRE = 0x3,
2871
+ OBJ_LEVER = 0x4,
2872
+ OBJ_CHEST1 = 0x5,
2873
+ OBJ_CHEST2 = 0x6,
2874
+ OBJ_CHEST3 = 0x7,
2875
+ OBJ_CANDLE1 = 0x8,
2876
+ OBJ_CANDLE2 = 0x9,
2877
+ OBJ_CANDLEO = 0xA,
2878
+ OBJ_BANNERL = 0xB,
2879
+ OBJ_BANNERM = 0xC,
2880
+ OBJ_BANNERR = 0xD,
2881
+ OBJ_SKPILE = 0xE,
2882
+ OBJ_SKSTICK1 = 0xF,
2883
+ OBJ_SKSTICK2 = 0x10,
2884
+ OBJ_SKSTICK3 = 0x11,
2885
+ OBJ_SKSTICK4 = 0x12,
2886
+ OBJ_SKSTICK5 = 0x13,
2887
+ OBJ_CRUX1 = 0x14,
2888
+ OBJ_CRUX2 = 0x15,
2889
+ OBJ_CRUX3 = 0x16,
2890
+ OBJ_STAND = 0x17,
2891
+ OBJ_ANGEL = 0x18,
2892
+ OBJ_BOOK2L = 0x19,
2893
+ OBJ_BCROSS = 0x1A,
2894
+ OBJ_NUDEW2R = 0x1B,
2895
+ OBJ_SWITCHSKL = 0x1C,
2896
+ OBJ_TNUDEM1 = 0x1D,
2897
+ OBJ_TNUDEM2 = 0x1E,
2898
+ OBJ_TNUDEM3 = 0x1F,
2899
+ OBJ_TNUDEM4 = 0x20,
2900
+ OBJ_TNUDEW1 = 0x21,
2901
+ OBJ_TNUDEW2 = 0x22,
2902
+ OBJ_TNUDEW3 = 0x23,
2903
+ OBJ_TORTURE1 = 0x24,
2904
+ OBJ_TORTURE2 = 0x25,
2905
+ OBJ_TORTURE3 = 0x26,
2906
+ OBJ_TORTURE4 = 0x27,
2907
+ OBJ_TORTURE5 = 0x28,
2908
+ OBJ_BOOK2R = 0x29,
2909
+ OBJ_L2LDOOR = 0x2A,
2910
+ OBJ_L2RDOOR = 0x2B,
2911
+ OBJ_TORCHL = 0x2C,
2912
+ OBJ_TORCHR = 0x2D,
2913
+ OBJ_TORCHL2 = 0x2E,
2914
+ OBJ_TORCHR2 = 0x2F,
2915
+ OBJ_SARC = 0x30,
2916
+ OBJ_FLAMEHOLE = 0x31,
2917
+ OBJ_FLAMELVR = 0x32,
2918
+ OBJ_WATER = 0x33,
2919
+ OBJ_BOOKLVR = 0x34,
2920
+ OBJ_TRAPL = 0x35,
2921
+ OBJ_TRAPR = 0x36,
2922
+ OBJ_BOOKSHELF = 0x37,
2923
+ OBJ_WEAPRACK = 0x38,
2924
+ OBJ_BARREL = 0x39,
2925
+ OBJ_BARRELEX = 0x3A,
2926
+ OBJ_SHRINEL = 0x3B,
2927
+ OBJ_SHRINER = 0x3C,
2928
+ OBJ_SKELBOOK = 0x3D,
2929
+ OBJ_BOOKCASEL = 0x3E,
2930
+ OBJ_BOOKCASER = 0x3F,
2931
+ OBJ_BOOKSTAND = 0x40,
2932
+ OBJ_BOOKCANDLE = 0x41,
2933
+ OBJ_BLOODFTN = 0x42,
2934
+ OBJ_DECAP = 0x43,
2935
+ OBJ_TCHEST1 = 0x44,
2936
+ OBJ_TCHEST2 = 0x45,
2937
+ OBJ_TCHEST3 = 0x46,
2938
+ OBJ_BLINDBOOK = 0x47,
2939
+ OBJ_BLOODBOOK = 0x48,
2940
+ OBJ_PEDISTAL = 0x49,
2941
+ OBJ_L3LDOOR = 0x4A,
2942
+ OBJ_L3RDOOR = 0x4B,
2943
+ OBJ_PURIFYINGFTN = 0x4C,
2944
+ OBJ_ARMORSTAND = 0x4D,
2945
+ OBJ_ARMORSTANDN = 0x4E,
2946
+ OBJ_GOATSHRINE = 0x4F,
2947
+ OBJ_CAULDRON = 0x50,
2948
+ OBJ_MURKYFTN = 0x51,
2949
+ OBJ_TEARFTN = 0x52,
2950
+ OBJ_ALTBOY = 0x53,
2951
+ OBJ_MCIRCLE1 = 0x54,
2952
+ OBJ_MCIRCLE2 = 0x55,
2953
+ OBJ_STORYBOOK = 0x56,
2954
+ OBJ_STORYCANDLE = 0x57,
2955
+ OBJ_STEELTOME = 0x58,
2956
+ OBJ_WARARMOR = 0x59,
2957
+ OBJ_WARWEAP = 0x5A,
2958
+ OBJ_TBCROSS = 0x5B,
2959
+ OBJ_WEAPONRACK = 0x5C,
2960
+ OBJ_WEAPONRACKN = 0x5D,
2961
+ OBJ_MUSHPATCH = 0x5E,
2962
+ OBJ_LAZSTAND = 0x5F,
2963
+ OBJ_SLAINHERO = 0x60,
2964
+ OBJ_SIGNCHEST = 0x61,
2965
+ OBJ_NULL_98 = 0x62,
2966
+ } _object_id;
2967
+
2968
+ typedef enum item_misc_id {
2969
+ IMISC_NONE = 0x0,
2970
+ IMISC_USEFIRST = 0x1,
2971
+ IMISC_FULLHEAL = 0x2,
2972
+ IMISC_HEAL = 0x3,
2973
+ IMISC_OLDHEAL = 0x4,
2974
+ IMISC_DEADHEAL = 0x5,
2975
+ IMISC_MANA = 0x6,
2976
+ IMISC_FULLMANA = 0x7,
2977
+ IMISC_POTEXP = 0x8, /* add experience */
2978
+ IMISC_POTFORG = 0x9, /* remove experience */
2979
+ IMISC_ELIXSTR = 0xA,
2980
+ IMISC_ELIXMAG = 0xB,
2981
+ IMISC_ELIXDEX = 0xC,
2982
+ IMISC_ELIXVIT = 0xD,
2983
+ IMISC_ELIXWEAK = 0xE, /* double check with alpha */
2984
+ IMISC_ELIXDIS = 0xF,
2985
+ IMISC_ELIXCLUM = 0x10,
2986
+ IMISC_ELIXSICK = 0x11,
2987
+ IMISC_REJUV = 0x12,
2988
+ IMISC_FULLREJUV = 0x13,
2989
+ IMISC_USELAST = 0x14,
2990
+ IMISC_SCROLL = 0x15,
2991
+ IMISC_SCROLLT = 0x16,
2992
+ IMISC_STAFF = 0x17,
2993
+ IMISC_BOOK = 0x18,
2994
+ IMISC_RING = 0x19,
2995
+ IMISC_AMULET = 0x1A,
2996
+ IMISC_UNIQUE = 0x1B,
2997
+ IMISC_FOOD = 0x1C, /* from demo/PSX */
2998
+ IMISC_OILFIRST = 0x1D,
2999
+ IMISC_OILOF = 0x1E, /* oils are beta or hellfire only */
3000
+ IMISC_OILACC = 0x1F,
3001
+ IMISC_OILMAST = 0x20,
3002
+ IMISC_OILSHARP = 0x21,
3003
+ IMISC_OILDEATH = 0x22,
3004
+ IMISC_OILSKILL = 0x23,
3005
+ IMISC_OILBSMTH = 0x24,
3006
+ IMISC_OILFORT = 0x25,
3007
+ IMISC_OILPERM = 0x26,
3008
+ IMISC_OILHARD = 0x27,
3009
+ IMISC_OILIMP = 0x28,
3010
+ IMISC_OILLAST = 0x29,
3011
+ IMISC_MAPOFDOOM = 0x2A,
3012
+ IMISC_EAR = 0x2B,
3013
+ IMISC_SPECELIX = 0x2C,
3014
+ #ifdef HELLFIRE
3015
+ IMISC_RUNEFIRST = 0x2E,
3016
+ IMISC_RUNEF = 0x2F,
3017
+ IMISC_RUNEL = 0x30,
3018
+ IMISC_GR_RUNEL = 0x31,
3019
+ IMISC_GR_RUNEF = 0x32,
3020
+ IMISC_RUNES = 0x33,
3021
+ IMISC_RUNELAST = 0x34,
3022
+ IMISC_AURIC = 0x35,
3023
+ IMISC_NOTE = 0x36,
3024
+ #endif
3025
+ IMISC_INVALID = -1,
3026
+ } item_misc_id;
3027
+
3028
+ typedef enum item_type {
3029
+ ITYPE_MISC = 0x0,
3030
+ ITYPE_SWORD = 0x1,
3031
+ ITYPE_AXE = 0x2,
3032
+ ITYPE_BOW = 0x3,
3033
+ ITYPE_MACE = 0x4,
3034
+ ITYPE_SHIELD = 0x5,
3035
+ ITYPE_LARMOR = 0x6,
3036
+ ITYPE_HELM = 0x7,
3037
+ ITYPE_MARMOR = 0x8,
3038
+ ITYPE_HARMOR = 0x9,
3039
+ ITYPE_STAFF = 0xA,
3040
+ ITYPE_GOLD = 0xB,
3041
+ ITYPE_RING = 0xC,
3042
+ ITYPE_AMULET = 0xD,
3043
+ ITYPE_FOOD = 0xE, /* used in demo */
3044
+ ITYPE_NONE = -1,
3045
+ } item_type;
3046
+
3047
+ typedef enum _item_indexes {
3048
+ IDI_GOLD,
3049
+ IDI_WARRIOR,
3050
+ IDI_WARRSHLD,
3051
+ IDI_WARRCLUB,
3052
+ IDI_ROGUE,
3053
+ IDI_SORCEROR,
3054
+ IDI_CLEAVER,
3055
+ IDI_FIRSTQUEST = IDI_CLEAVER,
3056
+ IDI_SKCROWN,
3057
+ IDI_INFRARING,
3058
+ IDI_ROCK,
3059
+ IDI_OPTAMULET,
3060
+ IDI_TRING,
3061
+ IDI_BANNER,
3062
+ IDI_HARCREST,
3063
+ IDI_STEELVEIL,
3064
+ IDI_GLDNELIX,
3065
+ IDI_ANVIL,
3066
+ IDI_MUSHROOM,
3067
+ IDI_BRAIN,
3068
+ IDI_FUNGALTM,
3069
+ IDI_SPECELIX,
3070
+ IDI_BLDSTONE,
3071
+ IDI_MAPOFDOOM,
3072
+ IDI_LASTQUEST = IDI_MAPOFDOOM,
3073
+ IDI_EAR,
3074
+ IDI_HEAL,
3075
+ IDI_MANA,
3076
+ IDI_IDENTIFY,
3077
+ IDI_PORTAL,
3078
+ IDI_ARMOFVAL,
3079
+ IDI_FULLHEAL,
3080
+ IDI_FULLMANA,
3081
+ IDI_GRISWOLD,
3082
+ IDI_LGTFORGE,
3083
+ IDI_LAZSTAFF,
3084
+ IDI_RESURRECT,
3085
+ #ifdef HELLFIRE
3086
+ IDI_OIL,
3087
+ IDI_SHORTSTAFF,
3088
+ IDI_BARDSWORD,
3089
+ IDI_BARDDAGGER,
3090
+ IDI_RUNEBOMB,
3091
+ IDI_THEODORE,
3092
+ IDI_AURIC,
3093
+ IDI_NOTE1,
3094
+ IDI_NOTE2,
3095
+ IDI_NOTE3,
3096
+ IDI_FULLNOTE,
3097
+ IDI_BROWNSUIT,
3098
+ IDI_GREYSUIT,
3099
+ #endif
3100
+ } _item_indexes;
3101
+
3102
+ typedef enum _setlevels {
3103
+ //SL_BUTCHCHAMB = 0x0,
3104
+ SL_SKELKING = 0x1,
3105
+ SL_BONECHAMB = 0x2,
3106
+ SL_MAZE = 0x3,
3107
+ SL_POISONWATER = 0x4,
3108
+ SL_VILEBETRAYER = 0x5,
3109
+ } _setlevels;
3110
+
3111
+ typedef enum quest_id {
3112
+ Q_ROCK = 0x00,
3113
+ Q_MUSHROOM = 0x01,
3114
+ Q_GARBUD = 0x02,
3115
+ Q_ZHAR = 0x03,
3116
+ Q_VEIL = 0x04,
3117
+ Q_DIABLO = 0x05,
3118
+ Q_BUTCHER = 0x06,
3119
+ Q_LTBANNER = 0x07,
3120
+ Q_BLIND = 0x08,
3121
+ Q_BLOOD = 0x09,
3122
+ Q_ANVIL = 0x0A,
3123
+ Q_WARLORD = 0x0B,
3124
+ Q_SKELKING = 0x0C,
3125
+ Q_PWATER = 0x0D,
3126
+ Q_SCHAMB = 0x0E,
3127
+ Q_BETRAYER = 0x0F,
3128
+ #ifdef HELLFIRE
3129
+ Q_GRAVE = 0x10,
3130
+ Q_FARMER = 0x11,
3131
+ Q_GIRL = 0x12,
3132
+ Q_TRADER = 0x13,
3133
+ Q_DEFILER = 0x14,
3134
+ Q_NAKRUL = 0x15,
3135
+ Q_CORNSTN = 0x16,
3136
+ Q_JERSEY = 0x17,
3137
+ #endif
3138
+ Q_INVALID = -1,
3139
+ } quest_id;
3140
+
3141
+ typedef enum quest_state {
3142
+ QUEST_NOTAVAIL = 0,
3143
+ QUEST_INIT = 1,
3144
+ QUEST_ACTIVE = 2,
3145
+ QUEST_DONE = 3
3146
+ } quest_state;
3147
+
3148
+ typedef enum quest_gametype {
3149
+ QUEST_SINGLE = 0,
3150
+ QUEST_ANY = 1,
3151
+ QUEST_MULTI = 2,
3152
+ } quest_gametype;
3153
+
3154
+ typedef enum quest_mush_state {
3155
+ QS_INIT = 0,
3156
+ QS_TOMESPAWNED = 1,
3157
+ QS_TOMEGIVEN = 2,
3158
+ QS_MUSHSPAWNED = 3,
3159
+ QS_MUSHPICKED = 4,
3160
+ QS_MUSHGIVEN = 5,
3161
+ QS_BRAINSPAWNED = 6,
3162
+ QS_BRAINGIVEN = 7,
3163
+ } quest_mush_state;
3164
+
3165
+ typedef enum talk_id {
3166
+ STORE_NONE = 0x0,
3167
+ STORE_SMITH = 0x1,
3168
+ STORE_SBUY = 0x2,
3169
+ STORE_SSELL = 0x3,
3170
+ STORE_SREPAIR = 0x4,
3171
+ STORE_WITCH = 0x5,
3172
+ STORE_WBUY = 0x6,
3173
+ STORE_WSELL = 0x7,
3174
+ STORE_WRECHARGE = 0x8,
3175
+ STORE_NOMONEY = 0x9,
3176
+ STORE_NOROOM = 0xA,
3177
+ STORE_CONFIRM = 0xB,
3178
+ STORE_BOY = 0xC,
3179
+ STORE_BBOY = 0xD,
3180
+ STORE_HEALER = 0xE,
3181
+ STORE_STORY = 0xF,
3182
+ STORE_HBUY = 0x10,
3183
+ STORE_SIDENTIFY = 0x11,
3184
+ STORE_SPBUY = 0x12,
3185
+ STORE_GOSSIP = 0x13,
3186
+ STORE_IDSHOW = 0x14,
3187
+ STORE_TAVERN = 0x15,
3188
+ STORE_DRUNK = 0x16,
3189
+ STORE_BARMAID = 0x17,
3190
+ } talk_id;
3191
+
3192
+ typedef enum _unique_items {
3193
+ UITEM_CLEAVER = 0x0,
3194
+ UITEM_SKCROWN = 0x1,
3195
+ UITEM_INFRARING = 0x2,
3196
+ UITEM_OPTAMULET = 0x3,
3197
+ UITEM_TRING = 0x4,
3198
+ UITEM_HARCREST = 0x5,
3199
+ UITEM_STEELVEIL = 0x6,
3200
+ UITEM_ARMOFVAL = 0x7,
3201
+ UITEM_GRISWOLD = 0x8,
3202
+ #ifndef HELLFIRE
3203
+ UITEM_LGTFORGE = 0x9,
3204
+ #else
3205
+ UITEM_BOVINE = 0x9,
3206
+ #endif
3207
+ UITEM_RIFTBOW = 0xA,
3208
+ UITEM_NEEDLER = 0xB,
3209
+ UITEM_CELESTBOW = 0xC,
3210
+ UITEM_DEADLYHUNT = 0xD,
3211
+ UITEM_BOWOFDEAD = 0xE,
3212
+ UITEM_BLKOAKBOW = 0xF,
3213
+ UITEM_FLAMEDART = 0x10,
3214
+ UITEM_FLESHSTING = 0x11,
3215
+ UITEM_WINDFORCE = 0x12,
3216
+ UITEM_EAGLEHORN = 0x13,
3217
+ UITEM_GONNAGALDIRK = 0x14,
3218
+ UITEM_DEFENDER = 0x15,
3219
+ UITEM_GRYPHONCLAW = 0x16,
3220
+ UITEM_BLACKRAZOR = 0x17,
3221
+ UITEM_GIBBOUSMOON = 0x18,
3222
+ UITEM_ICESHANK = 0x19,
3223
+ UITEM_EXECUTIONER = 0x1A,
3224
+ UITEM_BONESAW = 0x1B,
3225
+ UITEM_SHADHAWK = 0x1C,
3226
+ UITEM_WIZSPIKE = 0x1D,
3227
+ UITEM_LGTSABRE = 0x1E,
3228
+ UITEM_FALCONTALON = 0x1F,
3229
+ UITEM_INFERNO = 0x20,
3230
+ UITEM_DOOMBRINGER = 0x21,
3231
+ UITEM_GRIZZLY = 0x22,
3232
+ UITEM_GRANDFATHER = 0x23,
3233
+ UITEM_MANGLER = 0x24,
3234
+ UITEM_SHARPBEAK = 0x25,
3235
+ UITEM_BLOODLSLAYER = 0x26,
3236
+ UITEM_CELESTAXE = 0x27,
3237
+ UITEM_WICKEDAXE = 0x28,
3238
+ UITEM_STONECLEAV = 0x29,
3239
+ UITEM_AGUHATCHET = 0x2A,
3240
+ UITEM_HELLSLAYER = 0x2B,
3241
+ UITEM_MESSERREAVER = 0x2C,
3242
+ UITEM_CRACKRUST = 0x2D,
3243
+ UITEM_JHOLMHAMM = 0x2E,
3244
+ UITEM_CIVERBS = 0x2F,
3245
+ UITEM_CELESTSTAR = 0x30,
3246
+ UITEM_BARANSTAR = 0x31,
3247
+ UITEM_GNARLROOT = 0x32,
3248
+ UITEM_CRANBASH = 0x33,
3249
+ UITEM_SCHAEFHAMM = 0x34,
3250
+ UITEM_DREAMFLANGE = 0x35,
3251
+ UITEM_STAFFOFSHAD = 0x36,
3252
+ UITEM_IMMOLATOR = 0x37,
3253
+ UITEM_STORMSPIRE = 0x38,
3254
+ UITEM_GLEAMSONG = 0x39,
3255
+ UITEM_THUNDERCALL = 0x3A,
3256
+ UITEM_PROTECTOR = 0x3B,
3257
+ UITEM_NAJPUZZLE = 0x3C,
3258
+ UITEM_MINDCRY = 0x3D,
3259
+ UITEM_RODOFONAN = 0x3E,
3260
+ UITEM_SPIRITSHELM = 0x3F,
3261
+ UITEM_THINKINGCAP = 0x40,
3262
+ UITEM_OVERLORDHELM = 0x41,
3263
+ UITEM_FOOLSCREST = 0x42,
3264
+ UITEM_GOTTERDAM = 0x43,
3265
+ UITEM_ROYCIRCLET = 0x44,
3266
+ UITEM_TORNFLESH = 0x45,
3267
+ UITEM_GLADBANE = 0x46,
3268
+ UITEM_RAINCLOAK = 0x47,
3269
+ UITEM_LEATHAUT = 0x48,
3270
+ UITEM_WISDWRAP = 0x49,
3271
+ UITEM_SPARKMAIL = 0x4A,
3272
+ UITEM_SCAVCARAP = 0x4B,
3273
+ UITEM_NIGHTSCAPE = 0x4C,
3274
+ UITEM_NAJPLATE = 0x4D,
3275
+ UITEM_DEMONSPIKE = 0x4E,
3276
+ UITEM_DEFLECTOR = 0x4F,
3277
+ UITEM_SKULLSHLD = 0x50,
3278
+ UITEM_DRAGONBRCH = 0x51,
3279
+ UITEM_BLKOAKSHLD = 0x52,
3280
+ UITEM_HOLYDEF = 0x53,
3281
+ UITEM_STORMSHLD = 0x54,
3282
+ UITEM_BRAMBLE = 0x55,
3283
+ UITEM_REGHA = 0x56,
3284
+ UITEM_BLEEDER = 0x57,
3285
+ UITEM_CONSTRICT = 0x58,
3286
+ UITEM_ENGAGE = 0x59,
3287
+ UITEM_INVALID = 0x5A,
3288
+ } _unique_items;
3289
+
3290
+ typedef enum plr_class {
3291
+ PC_WARRIOR = 0x0,
3292
+ PC_ROGUE = 0x1,
3293
+ PC_SORCERER = 0x2,
3294
+ #ifdef HELLFIRE
3295
+ PC_MONK = 0x3,
3296
+ PC_BARD = 0x4,
3297
+ PC_BARBARIAN = 0x5,
3298
+ #endif
3299
+ NUM_CLASSES
3300
+ } plr_class;
3301
+
3302
+ typedef enum _ui_classes {
3303
+ UI_WARRIOR = 0x0,
3304
+ UI_ROGUE = 0x1,
3305
+ UI_SORCERER = 0x2,
3306
+ #ifdef HELLFIRE
3307
+ UI_MONK = 0x3,
3308
+ UI_BARD = 0x4,
3309
+ UI_BARBARIAN = 0x5,
3310
+ #endif
3311
+ UI_NUM_CLASSES,
3312
+ } _ui_classes;
3313
+
3314
+ typedef enum _walk_path {
3315
+ WALK_NE = 0x1,
3316
+ WALK_NW = 0x2,
3317
+ WALK_SE = 0x3,
3318
+ WALK_SW = 0x4,
3319
+ WALK_N = 0x5,
3320
+ WALK_E = 0x6,
3321
+ WALK_S = 0x7,
3322
+ WALK_W = 0x8,
3323
+ WALK_NONE = -1,
3324
+ } _walk_path;
3325
+
3326
+ typedef enum player_weapon_type {
3327
+ WT_MELEE = 0,
3328
+ WT_RANGED = 1,
3329
+ } player_weapon_type;
3330
+
3331
+ typedef enum item_class {
3332
+ ICLASS_NONE = 0,
3333
+ ICLASS_WEAPON = 1,
3334
+ ICLASS_ARMOR = 2,
3335
+ ICLASS_MISC = 3,
3336
+ ICLASS_GOLD = 4,
3337
+ ICLASS_QUEST = 5,
3338
+ } item_class;
3339
+
3340
+ typedef enum item_drop_rate {
3341
+ IDROP_NEVER = 0,
3342
+ IDROP_REGULAR = 1,
3343
+ IDROP_DOUBLE = 2,
3344
+ } item_drop_rate;
3345
+
3346
+ typedef enum item_special_effect {
3347
+ ISPL_NONE = 0x00000000,
3348
+ ISPL_INFRAVISION = 0x00000001,
3349
+ ISPL_RNDSTEALLIFE = 0x00000002,
3350
+ ISPL_RNDARROWVEL = 0x00000004,
3351
+ ISPL_FIRE_ARROWS = 0x00000008,
3352
+ ISPL_FIREDAM = 0x00000010,
3353
+ ISPL_LIGHTDAM = 0x00000020,
3354
+ ISPL_DRAINLIFE = 0x00000040,
3355
+ ISPL_UNKNOWN_1 = 0x00000080,
3356
+ ISPL_NOHEALPLR = 0x00000100,
3357
+ ISPL_MULT_ARROWS = 0x00000200,
3358
+ ISPL_UNKNOWN_3 = 0x00000400,
3359
+ ISPL_KNOCKBACK = 0x00000800,
3360
+ ISPL_NOHEALMON = 0x00001000,
3361
+ ISPL_STEALMANA_3 = 0x00002000,
3362
+ ISPL_STEALMANA_5 = 0x00004000,
3363
+ ISPL_STEALLIFE_3 = 0x00008000,
3364
+ ISPL_STEALLIFE_5 = 0x00010000,
3365
+ ISPL_QUICKATTACK = 0x00020000,
3366
+ ISPL_FASTATTACK = 0x00040000,
3367
+ ISPL_FASTERATTACK = 0x00080000,
3368
+ ISPL_FASTESTATTACK = 0x00100000,
3369
+ ISPL_FASTRECOVER = 0x00200000,
3370
+ ISPL_FASTERRECOVER = 0x00400000,
3371
+ ISPL_FASTESTRECOVER = 0x00800000,
3372
+ ISPL_FASTBLOCK = 0x01000000,
3373
+ ISPL_LIGHT_ARROWS = 0x02000000,
3374
+ ISPL_THORNS = 0x04000000,
3375
+ ISPL_NOMANA = 0x08000000,
3376
+ ISPL_ABSHALFTRAP = 0x10000000,
3377
+ ISPL_UNKNOWN_4 = 0x20000000,
3378
+ ISPL_3XDAMVDEM = 0x40000000,
3379
+ ISPL_ALLRESZERO = 0x80000000,
3380
+ } item_special_effect;
3381
+
3382
+ typedef enum item_special_effect_hf {
3383
+ ISPLHF_DEVASTATION = 0x01,
3384
+ ISPLHF_DECAY = 0x02,
3385
+ ISPLHF_PERIL = 0x04,
3386
+ ISPLHF_JESTERS = 0x08,
3387
+ ISPLHF_DOPPELGANGER = 0x10,
3388
+ ISPLHF_ACDEMON = 0x20,
3389
+ ISPLHF_ACUNDEAD = 0x40,
3390
+ } item_special_effect_hf;
3391
+
3392
+ // Logical equipment locations
3393
+ typedef enum inv_body_loc {
3394
+ INVLOC_HEAD = 0,
3395
+ INVLOC_RING_LEFT = 1,
3396
+ INVLOC_RING_RIGHT = 2,
3397
+ INVLOC_AMULET = 3,
3398
+ INVLOC_HAND_LEFT = 4,
3399
+ INVLOC_HAND_RIGHT = 5,
3400
+ INVLOC_CHEST = 6,
3401
+ NUM_INVLOC,
3402
+ } inv_body_loc;
3403
+
3404
+ typedef enum inv_item {
3405
+ INVITEM_HEAD = 0,
3406
+ INVITEM_RING_LEFT = 1,
3407
+ INVITEM_RING_RIGHT = 2,
3408
+ INVITEM_AMULET = 3,
3409
+ INVITEM_HAND_LEFT = 4,
3410
+ INVITEM_HAND_RIGHT = 5,
3411
+ INVITEM_CHEST = 6,
3412
+ INVITEM_INV_FIRST = 7,
3413
+ INVITEM_INV_LAST = 46,
3414
+ INVITEM_BELT_FIRST = 47,
3415
+ INVITEM_BELT_LAST = 54,
3416
+ NUM_INVELEM
3417
+ } inv_item;
3418
+
3419
+ // identifiers for each of the inventory squares
3420
+ // see https://github.com/sanctuary/graphics/blob/master/inventory.png
3421
+ typedef enum inv_xy_slot {
3422
+ SLOTXY_HEAD_FIRST = 0,
3423
+ SLOTXY_HEAD_LAST = 3,
3424
+ SLOTXY_RING_LEFT = 4,
3425
+ SLOTXY_RING_RIGHT = 5,
3426
+ SLOTXY_AMULET = 6,
3427
+ SLOTXY_HAND_LEFT_FIRST = 7,
3428
+ SLOTXY_HAND_LEFT_LAST = 12,
3429
+ SLOTXY_HAND_RIGHT_FIRST = 13,
3430
+ SLOTXY_HAND_RIGHT_LAST = 18,
3431
+ SLOTXY_CHEST_FIRST = 19,
3432
+ SLOTXY_CHEST_LAST = 24,
3433
+
3434
+ // regular inventory
3435
+ SLOTXY_INV_FIRST = 25,
3436
+ SLOTXY_INV_LAST = 64,
3437
+
3438
+ // belt items
3439
+ SLOTXY_BELT_FIRST = 65,
3440
+ SLOTXY_BELT_LAST = 72,
3441
+ NUM_XY_SLOTS = 73
3442
+ } inv_xy_slot;
3443
+
3444
+ typedef enum player_graphic {
3445
+ PFILE_STAND = 1 << 0,
3446
+ PFILE_WALK = 1 << 1,
3447
+ PFILE_ATTACK = 1 << 2,
3448
+ PFILE_HIT = 1 << 3,
3449
+ PFILE_LIGHTNING = 1 << 4,
3450
+ PFILE_FIRE = 1 << 5,
3451
+ PFILE_MAGIC = 1 << 6,
3452
+ PFILE_DEATH = 1 << 7,
3453
+ PFILE_BLOCK = 1 << 8,
3454
+ // everything except PFILE_DEATH
3455
+ // 0b1_0111_1111
3456
+ PFILE_NONDEATH = 0x17F
3457
+ } player_graphic;
3458
+
3459
+ typedef enum anim_weapon_id {
3460
+ ANIM_ID_UNARMED = 0x00,
3461
+ ANIM_ID_UNARMED_SHIELD = 0x01,
3462
+ ANIM_ID_SWORD = 0x02,
3463
+ ANIM_ID_SWORD_SHIELD = 0x03,
3464
+ ANIM_ID_BOW = 0x04,
3465
+ ANIM_ID_AXE = 0x05,
3466
+ ANIM_ID_MACE = 0x06,
3467
+ ANIM_ID_MACE_SHIELD = 0x07,
3468
+ ANIM_ID_STAFF = 0x08
3469
+ } anim_weapon_id;
3470
+
3471
+ typedef enum anim_armor_id {
3472
+ ANIM_ID_LIGHT_ARMOR = 0x00,
3473
+ #ifndef SPAWN
3474
+ ANIM_ID_MEDIUM_ARMOR = 0x10,
3475
+ ANIM_ID_HEAVY_ARMOR = 0x20
3476
+ #endif
3477
+ } anim_armor_id;
3478
+
3479
+ typedef enum shrine_gametype {
3480
+ SHRINETYPE_ANY = 0,
3481
+ SHRINETYPE_SINGLE = 1,
3482
+ SHRINETYPE_MULTI = 2,
3483
+ } shrine_gametype;
3484
+
3485
+ typedef enum shrine_type {
3486
+ SHRINE_MYSTERIOUS = 0,
3487
+ SHRINE_HIDDEN = 1,
3488
+ SHRINE_GLOOMY = 2,
3489
+ SHRINE_WEIRD = 3,
3490
+ SHRINE_MAGICAL = 4,
3491
+ SHRINE_STONE = 5,
3492
+ SHRINE_RELIGIOUS = 6,
3493
+ SHRINE_ENCHANTED = 7,
3494
+ SHRINE_THAUMATURGIC = 8,
3495
+ SHRINE_FASCINATING = 9,
3496
+ SHRINE_CRYPTIC = 10,
3497
+ SHRINE_MAGICAL2 = 11,
3498
+ SHRINE_ELDRITCH = 12,
3499
+ SHRINE_EERIE = 13,
3500
+ SHRINE_DIVINE = 14,
3501
+ SHRINE_HOLY = 15,
3502
+ SHRINE_SACRED = 16,
3503
+ SHRINE_SPIRITUAL = 17,
3504
+ SHRINE_SPOOKY = 18,
3505
+ SHRINE_ABANDONED = 19,
3506
+ SHRINE_CREEPY = 20,
3507
+ SHRINE_QUIET = 21,
3508
+ SHRINE_SECLUDED = 22,
3509
+ SHRINE_ORNATE = 23,
3510
+ SHRINE_GLIMMERING = 24,
3511
+ SHRINE_TAINTED = 25,
3512
+ #ifdef HELLFIRE
3513
+ SHRINE_OILY = 26,
3514
+ SHRINE_GLOWING = 27,
3515
+ SHRINE_MENDICANT = 28,
3516
+ SHRINE_SPARKLING = 29,
3517
+ SHRINE_TOWN = 30,
3518
+ SHRINE_SHIMMERING = 31,
3519
+ SHRINE_SOLAR = 32,
3520
+ SHRINE_MURPHYS = 33,
3521
+ #endif
3522
+ NUM_SHRINETYPE
3523
+ } shrine_type;
3524
+
3525
+ typedef enum action_id {
3526
+ ACTION_NONE = -1,
3527
+ ACTION_ATTACK = 9,
3528
+ ACTION_RATTACK = 10,
3529
+ ACTION_SPELL = 12,
3530
+ ACTION_OPERATE = 13,
3531
+ ACTION_DISARM = 14,
3532
+ ACTION_PICKUPITEM = 15, // put item in hand (inventory screen open)
3533
+ ACTION_PICKUPAITEM = 16, // put item in inventory
3534
+ ACTION_TALK = 17,
3535
+ ACTION_OPERATETK = 18, // operate via telekinesis
3536
+ ACTION_ATTACKMON = 20,
3537
+ ACTION_ATTACKPLR = 21,
3538
+ ACTION_RATTACKMON = 22,
3539
+ ACTION_RATTACKPLR = 23,
3540
+ ACTION_SPELLMON = 24,
3541
+ ACTION_SPELLPLR = 25,
3542
+ ACTION_SPELLWALL = 26,
3543
+ } action_id;
3544
+
3545
+ typedef enum dlrg_flag {
3546
+ DLRG_HDOOR = 0x01,
3547
+ DLRG_VDOOR = 0x02,
3548
+ DLRG_CHAMBER = 0x40,
3549
+ DLRG_PROTECTED = 0x80,
3550
+ } dlrg_flag;
sources/devilution/functions.csv ADDED
@@ -0,0 +1,1884 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ address,name
2
+ 0x401010,operator_delete
3
+ 0x40102A,GetErrorStr
4
+ 0x4010CE,TraceErrorDD
5
+ 0x401831,TraceErrorDS
6
+ 0x40193A,TraceLastError
7
+ 0x401947,app_fatal
8
+ 0x401975,MsgBox
9
+ 0x4019C7,FreeDlg
10
+ 0x401A30,DrawDlg
11
+ 0x401A65,DDErrMsg
12
+ 0x401A88,DSErrMsg
13
+ 0x401AAB,center_window
14
+ 0x401B3D,ErrDlg
15
+ 0x401BCA,FuncDlg
16
+ 0x401C0F,TextDlg
17
+ 0x401C2E,ErrOkDlg
18
+ 0x401C9C,FileErrDlg
19
+ 0x401CE1,DiskFreeDlg
20
+ 0x401D1D,InsertCDDlg
21
+ 0x401D68,DirErrorDlg
22
+ 0x401DA4,InitAutomapOnce
23
+ 0x401DE8,InitAutomap
24
+ 0x401EF4,StartAutomap
25
+ 0x401F0D,AutomapUp
26
+ 0x401F1A,AutomapDown
27
+ 0x401F27,AutomapLeft
28
+ 0x401F34,AutomapRight
29
+ 0x401F41,AutomapZoomIn
30
+ 0x401F80,AutomapZoomOut
31
+ 0x401FBD,DrawAutomap
32
+ 0x402233,DrawAutomapTile
33
+ 0x4029A8,DrawAutomapPlr
34
+ 0x402D83,GetAutomapType
35
+ 0x402E4A,DrawAutomapText
36
+ 0x402F27,SetAutomapView
37
+ 0x4030DD,AutomapZoomReset
38
+ 0x40311B,CaptureScreen
39
+ 0x403204,CaptureHdr
40
+ 0x403294,CapturePal
41
+ 0x4032FD,CapturePix
42
+ 0x40336A,CaptureEnc
43
+ 0x4033A8,CaptureFile
44
+ 0x403470,RedPalette
45
+ 0x4034D9,codec_decode
46
+ 0x4035DB,codec_init_key
47
+ 0x4036AC,codec_get_encoded_len
48
+ 0x4036BE,codec_encode
49
+ 0x4037D4,DrawSpellCel
50
+ 0x40387E,SetSpellTrans
51
+ 0x4039C7,DrawSpell
52
+ 0x403A8E,DrawSpellList
53
+ 0x403F69,SetSpell
54
+ 0x403FAC,SetSpeedSpell
55
+ 0x404017,ToggleSpell
56
+ 0x4040DA,PrintChar
57
+ 0x404218,AddPanelString
58
+ 0x40424A,ClearPanel
59
+ 0x404259,DrawPanelBox
60
+ 0x4042CA,SetFlaskHeight
61
+ 0x40431B,DrawFlask
62
+ 0x40435B,DrawLifeFlask
63
+ 0x4043F4,UpdateLifeFlask
64
+ 0x404475,DrawManaFlask
65
+ 0x4044F6,control_update_life_mana
66
+ 0x40456A,UpdateManaFlask
67
+ 0x404616,InitControlPan
68
+ 0x404934,DrawCtrlPan
69
+ 0x404959,DrawCtrlBtns
70
+ 0x404A0A,DoSpeedBook
71
+ 0x404B52,DoPanBtn
72
+ 0x404BEB,control_set_button_down
73
+ 0x404C00,control_check_btn_press
74
+ 0x404C74,DoAutoMap
75
+ 0x404CA0,CheckPanelInfo
76
+ 0x404FE4,CheckBtnUp
77
+ 0x405181,FreeControlPan
78
+ 0x405295,control_WriteStringToBuffer
79
+ 0x4052C8,DrawInfoBox
80
+ 0x405551,PrintInfo
81
+ 0x4055BC,CPrintString
82
+ 0x405681,PrintGameStr
83
+ 0x4056D8,DrawChr
84
+ 0x406058,ADD_PlrStringXY
85
+ 0x40610F,MY_PlrStringXY
86
+ 0x4061CA,CheckLvlBtn
87
+ 0x406200,ReleaseLvlBtn
88
+ 0x406234,DrawLevelUpIcon
89
+ 0x40627A,CheckChrBtns
90
+ 0x406366,ReleaseChrBtns
91
+ 0x406408,DrawDurIcon
92
+ 0x40648E,DrawDurIcon4Item
93
+ 0x406508,RedBack
94
+ 0x406592,GetSBookTrans
95
+ 0x406667,DrawSpellBook
96
+ 0x4068F4,PrintSBookStr
97
+ 0x4069B6,CheckSBook
98
+ 0x406AF8,get_pieces_str
99
+ 0x406B08,DrawGoldSplit
100
+ 0x406C40,control_drop_gold
101
+ 0x406D6E,control_remove_gold
102
+ 0x406E24,control_set_gold_curs
103
+ 0x406E6A,DrawTalkPan
104
+ 0x407071,control_print_talk_msg
105
+ 0x4070F3,control_check_talk_btn
106
+ 0x40714D,control_release_talk_btn
107
+ 0x4071C0,control_reset_talk_msg
108
+ 0x4071FA,control_type_message
109
+ 0x407241,control_reset_talk
110
+ 0x40725A,control_talk_last_key
111
+ 0x40729A,control_presskeys
112
+ 0x407304,control_press_enter
113
+ 0x4073C2,control_up_down
114
+ 0x40740A,InitCursor
115
+ 0x407420,FreeCursor
116
+ 0x407437,SetICursor
117
+ 0x40746B,SetCursor_
118
+ 0x40748E,NewCursor
119
+ 0x407493,InitLevelCursor
120
+ 0x4074D0,CheckTown
121
+ 0x4075FD,CheckRportal
122
+ 0x407729,CheckCursMove
123
+ 0x4084A6,InitDead
124
+ 0x40865C,AddDead
125
+ 0x40867D,SyncUniqDead
126
+ 0x4086F4,LoadDebugGFX
127
+ 0x40870F,FreeDebugGFX
128
+ 0x408721,CheckDungeonClear
129
+ 0x4087C1,FreeGameMem
130
+ 0x408838,StartGame
131
+ 0x4088E2,run_game_loop
132
+ 0x408A8C,start_game
133
+ 0x408ADB,free_game
134
+ 0x408B1E,diablo_get_not_running
135
+ 0x408B4A,WinMain
136
+ 0x408CB1,diablo_parse_flags
137
+ 0x408D61,diablo_init_screen
138
+ 0x408DB1,diablo_find_window
139
+ 0x408DF4,diablo_reload_process
140
+ 0x408FCF,PressEscKey
141
+ 0x40905E,DisableInputWndProc
142
+ 0x409131,GM_Game
143
+ 0x4093B2,LeftMouseDown
144
+ 0x4095A5,LeftMouseCmd
145
+ 0x4097EC,TryIconCurs
146
+ 0x409963,LeftMouseUp
147
+ 0x4099A8,RightMouseDown
148
+ 0x409A8E,PressSysKey
149
+ 0x409AB0,diablo_hotkey_msg
150
+ 0x409B51,ReleaseKey
151
+ 0x409B5C,PressKey
152
+ 0x409F43,diablo_pause_game
153
+ 0x409F7F,PressChar
154
+ 0x40A391,LoadLvlGFX
155
+ 0x40A4B4,LoadAllGFX
156
+ 0x40A4E1,CreateLevel
157
+ 0x40A5A4,LoadGameLevel
158
+ 0x40AAE3,game_loop
159
+ 0x40AB33,game_logic
160
+ 0x40ABE7,timeout_cursor
161
+ 0x40AC6B,diablo_color_cyc_logic
162
+ 0x40ACAD,doom_get_frame_from_time
163
+ 0x40ACC6,doom_alloc_cel
164
+ 0x40ACD6,doom_cleanup
165
+ 0x40ACE8,doom_load_graphics
166
+ 0x40AD34,doom_init
167
+ 0x40AD5E,doom_close
168
+ 0x40AD74,doom_draw
169
+ 0x40ADD6,DRLG_Init_Globals
170
+ 0x40AE79,LoadL1Dungeon
171
+ 0x40AF65,DRLG_L1Floor
172
+ 0x40AFB3,DRLG_L1Pass3
173
+ 0x40B0A5,DRLG_InitL1Vals
174
+ 0x40B160,LoadPreL1Dungeon
175
+ 0x40B229,CreateL5Dungeon
176
+ 0x40B276,DRLG_LoadL1SP
177
+ 0x40B2F4,DRLG_FreeL1SP
178
+ 0x40B306,DRLG_L5
179
+ 0x40B56F,DRLG_PlaceDoor
180
+ 0x40B699,DRLG_L1Shadows
181
+ 0x40B881,DRLG_PlaceMiniSet
182
+ 0x40BAF6,InitL5Dungeon
183
+ 0x40BB18,L5ClearFlags
184
+ 0x40BB33,L5firstRoom
185
+ 0x40BD66,L5drawRoom
186
+ 0x40BD9D,L5roomGen
187
+ 0x40BFA4,L5checkRoom
188
+ 0x40C008,L5GetArea
189
+ 0x40C02A,L5makeDungeon
190
+ 0x40C06E,L5makeDmt
191
+ 0x40C0E0,L5AddWall
192
+ 0x40C23C,L5HWallOk
193
+ 0x40C2DC,L5VWallOk
194
+ 0x40C35B,L5HorizWall
195
+ 0x40C449,L5VertWall
196
+ 0x40C551,L5tileFix
197
+ 0x40C8C0,DRLG_L5Subs
198
+ 0x40C99D,L5FillChambers
199
+ 0x40CD86,DRLG_L5GChamber
200
+ 0x40CEC7,DRLG_L5GHall
201
+ 0x40CF17,DRLG_L5SetRoom
202
+ 0x40CF9C,DRLG_L5FloodTVal
203
+ 0x40D00B,DRLG_L5FTVR
204
+ 0x40D1FB,DRLG_L5TransFix
205
+ 0x40D283,DRLG_L5DirtFix
206
+ 0x40D2EF,DRLG_L5CornerFix
207
+ 0x40D357,InitDungeon
208
+ 0x40D379,L2LockoutFix
209
+ 0x40D4CC,L2DoorFix
210
+ 0x40D501,LoadL2Dungeon
211
+ 0x40D6C1,DRLG_L2Pass3
212
+ 0x40D7B3,LoadPreL2Dungeon
213
+ 0x40D888,CreateL2Dungeon
214
+ 0x40D94F,DRLG_LoadL2SP
215
+ 0x40D9A4,DRLG_FreeL2SP
216
+ 0x40D9B6,DRLG_L2
217
+ 0x40E074,DRLG_L2PlaceMiniSet
218
+ 0x40E2D1,DRLG_L2PlaceRndSet
219
+ 0x40E49C,DRLG_L2Subs
220
+ 0x40E59C,DRLG_L2Shadows
221
+ 0x40E66B,DRLG_L2SetRoom
222
+ 0x40E6F0,L2TileFix
223
+ 0x40E74F,CreateDungeon
224
+ 0x40E8A4,CreateRoom
225
+ 0x40ECF9,DefineRoom
226
+ 0x40EE1D,AddHall
227
+ 0x40EEAC,GetHall
228
+ 0x40EF09,ConnectHall
229
+ 0x40F265,CreateDoorType
230
+ 0x40F2BD,PlaceHallExt
231
+ 0x40F2D0,DoPatternCheck
232
+ 0x40F459,DL2_FillVoids
233
+ 0x40F9B1,DL2_Cont
234
+ 0x40F9EE,DL2_NumNoChar
235
+ 0x40FA10,DL2_DrawRoom
236
+ 0x40FA97,DL2_KnockWalls
237
+ 0x40FB6C,DRLG_L2FloodTVal
238
+ 0x40FBDB,DRLG_L2FTVR
239
+ 0x40FDCB,DRLG_L2TransFix
240
+ 0x40FE53,L2DirtFix
241
+ 0x40FEBF,DRLG_InitL2Vals
242
+ 0x40FF81,AddFenceDoors
243
+ 0x40FFEC,FenceDoorFix
244
+ 0x410105,DRLG_L3Anvil
245
+ 0x410215,FixL3Warp
246
+ 0x41027D,FixL3HallofHeroes
247
+ 0x4102F1,DRLG_L3LockRec
248
+ 0x410344,DRLG_L3Lockout
249
+ 0x4103A1,CreateL3Dungeon
250
+ 0x41044E,DRLG_L3
251
+ 0x41087F,InitL3Dungeon
252
+ 0x4108B5,DRLG_L3FillRoom
253
+ 0x4109F0,DRLG_L3CreateBlock
254
+ 0x410BC0,DRLG_L3FloorArea
255
+ 0x410BF4,DRLG_L3FillDiags
256
+ 0x410C65,DRLG_L3FillSingles
257
+ 0x410CC4,DRLG_L3FillStraights
258
+ 0x410EDB,DRLG_L3Edges
259
+ 0x410EFC,DRLG_L3GetFloorArea
260
+ 0x410F1F,DRLG_L3MakeMegas
261
+ 0x410FAD,DRLG_L3River
262
+ 0x411614,DRLG_L3Pool
263
+ 0x411772,DRLG_L3Spawn
264
+ 0x41189C,DRLG_L3SpawnEdge
265
+ 0x4119E0,DRLG_L3PoolFix
266
+ 0x411A74,DRLG_L3PlaceMiniSet
267
+ 0x411C83,DRLG_L3PlaceRndSet
268
+ 0x411E0E,DRLG_L3Wood
269
+ 0x41223E,WoodVertU
270
+ 0x41228A,WoodVertD
271
+ 0x4122CE,WoodHorizL
272
+ 0x41231A,WoodHorizR
273
+ 0x41235E,DRLG_L3Pass3
274
+ 0x412466,LoadL3Dungeon
275
+ 0x4125B0,LoadPreL3Dungeon
276
+ 0x412655,DRLG_LoadL4SP
277
+ 0x4126AD,DRLG_FreeL4SP
278
+ 0x4126BF,DRLG_L4SetSPRoom
279
+ 0x412744,L4SaveQuads
280
+ 0x4127D3,DRLG_L4SetRoom
281
+ 0x412831,DRLG_LoadDiabQuads
282
+ 0x412933,IsDURWall
283
+ 0x412948,IsDLLWall
284
+ 0x41295D,L4FixRim
285
+ 0x41297B,DRLG_L4GeneralFix
286
+ 0x4129B0,CreateL4Dungeon
287
+ 0x412A00,DRLG_L4
288
+ 0x412DDD,DRLG_L4Shadows
289
+ 0x412E34,InitL4Dungeon
290
+ 0x412E7B,L4makeDmt
291
+ 0x412ECB,L4AddWall
292
+ 0x4131C2,L4HWallOk
293
+ 0x413270,L4VWallOk
294
+ 0x41330B,L4HorizWall
295
+ 0x4133D6,L4VertWall
296
+ 0x4134B4,L4tileFix
297
+ 0x4142DD,DRLG_L4Subs
298
+ 0x41439A,L4makeDungeon
299
+ 0x4144B1,uShape
300
+ 0x4145E4,GetArea
301
+ 0x414606,L4firstRoom
302
+ 0x414738,L4drawRoom
303
+ 0x41476F,L4roomGen
304
+ 0x414976,L4checkRoom
305
+ 0x4149E2,DRLG_L4PlaceMiniSet
306
+ 0x414C44,DRLG_L4FloodTVal
307
+ 0x414CB3,DRLG_L4FTVR
308
+ 0x414EA3,DRLG_L4TransFix
309
+ 0x414F5B,DRLG_L4Corners
310
+ 0x414F90,DRLG_L4Pass3
311
+ 0x4150D6,dthread_remove_player
312
+ 0x415109,dthread_send_delta
313
+ 0x415186,dthread_start
314
+ 0x4151F3,dthread_handler
315
+ 0x4152C0,dthread_cleanup
316
+ 0x4153A0,dx_init
317
+ 0x4154B5,dx_create_back_buffer
318
+ 0x4155C2,dx_create_primary_surface
319
+ 0x41561A,dx_DirectDrawCreate
320
+ 0x415695,lock_buf
321
+ 0x41569A,lock_buf_priv
322
+ 0x415720,unlock_buf
323
+ 0x415725,unlock_buf_priv
324
+ 0x4157A0,dx_cleanup
325
+ 0x415848,dx_reinit
326
+ 0x4158B9,effect_is_playing
327
+ 0x4158E2,stream_stop
328
+ 0x41590B,InitMonsterSND
329
+ 0x4159DB,FreeMonsterSnd
330
+ 0x415A45,PlayEffect
331
+ 0x415AE1,calc_snd_position
332
+ 0x415B59,PlaySFX
333
+ 0x415B71,PlaySFX_priv
334
+ 0x415C2A,stream_play
335
+ 0x415C97,RndSFX
336
+ 0x415D01,PlaySfxLoc
337
+ 0x415D39,sound_stop
338
+ 0x415D9A,sfx_stop
339
+ 0x415DBA,sound_update
340
+ 0x415DD0,stream_update
341
+ 0x415DFF,effects_cleanup_sfx
342
+ 0x415E2A,sound_init
343
+ 0x415E77,priv_sound_init
344
+ 0x415ED8,ui_sound_init
345
+ 0x415EDF,effects_play_sound
346
+ 0x415F43,Decrypt
347
+ 0x415F8F,Encrypt
348
+ 0x415FDF,Hash
349
+ 0x41602E,InitHash
350
+ 0x41609D,PkwareCompress
351
+ 0x416133,PkwareBufferRead
352
+ 0x416167,PkwareBufferWrite
353
+ 0x41618E,PkwareDecompress
354
+ 0x41620C,CelBlit
355
+ 0x416274,CelDraw
356
+ 0x4162B8,CelBlitFrame
357
+ 0x4162DE,CelClippedDraw
358
+ 0x416359,CelClippedBlit
359
+ 0x4163AC,CelBlitLight
360
+ 0x416488,CelBlitLightTrans
361
+ 0x416565,CelDrawLight
362
+ 0x4165BD,CelClippedDrawLight
363
+ 0x41664B,CelClippedBlitLightTrans
364
+ 0x4166BF,CelDrawLightRed
365
+ 0x4167DB,CelBlitSafe
366
+ 0x41685A,CelClippedDrawSafe
367
+ 0x4168D5,CelClippedBlitSafe
368
+ 0x41692A,CelBlitLightSafe
369
+ 0x416A21,CelBlitLightTransSafe
370
+ 0x416B19,CelDrawLightSafe
371
+ 0x416BA9,CelClippedBlitLightTransSafe
372
+ 0x416C1B,CelDrawLightRedSafe
373
+ 0x416D3C,CelBlitWidth
374
+ 0x416DC6,CelBlitOutline
375
+ 0x416EC0,CelBlitOutlineSafe
376
+ 0x416FEF,ENG_set_pixel
377
+ 0x417034,engine_draw_pixel
378
+ 0x4170BD,DrawLine
379
+ 0x4174B3,GetDirection
380
+ 0x417518,SetRndSeed
381
+ 0x41752C,GetRndSeed
382
+ 0x41754B,random_
383
+ 0x41759B,DiabloAllocPtr
384
+ 0x4175E8,mem_free_dbg
385
+ 0x417618,LoadFileInMem
386
+ 0x417673,LoadFileWithMem
387
+ 0x4176D2,Cl2ApplyTrans
388
+ 0x417745,Cl2Draw
389
+ 0x4177BF,Cl2Blit
390
+ 0x417847,Cl2DrawOutline
391
+ 0x4178C5,Cl2BlitOutline
392
+ 0x417981,Cl2DrawLightTbl
393
+ 0x417A44,Cl2BlitLight
394
+ 0x417AE9,Cl2DrawLight
395
+ 0x417B83,Cl2DrawSafe
396
+ 0x417BFD,Cl2BlitSafe
397
+ 0x417C99,Cl2DrawOutlineSafe
398
+ 0x417D28,Cl2BlitOutlineSafe
399
+ 0x417DF8,Cl2DrawLightTblSafe
400
+ 0x417EBB,Cl2BlitLightSafe
401
+ 0x417F78,Cl2DrawLightSafe
402
+ 0x418012,PlayInGameMovie
403
+ 0x41804E,InitDiabloMsg
404
+ 0x41808F,ClrDiabloMsg
405
+ 0x4180AA,DrawDiabloMsg
406
+ 0x4182B7,fault_init_filter
407
+ 0x4182C1,fault_cleanup_filter_atexit
408
+ 0x4182CD,fault_cleanup_filter
409
+ 0x4182D7,TopLevelExceptionFilter
410
+ 0x418455,fault_hex_format
411
+ 0x418518,fault_unknown_module
412
+ 0x4185FF,fault_call_stack
413
+ 0x418688,fault_get_error_type
414
+ 0x41883C,fault_set_filter
415
+ 0x418853,fault_reset_filter
416
+ 0x418860,fault_get_filter
417
+ 0x418866,gamemenu_on
418
+ 0x41888F,gamemenu_update_single
419
+ 0x4188C8,gamemenu_update_multi
420
+ 0x4188D8,gamemenu_off
421
+ 0x4188E1,gamemenu_handle_previous
422
+ 0x4188F4,gamemenu_previous
423
+ 0x4188F9,gamemenu_new_game
424
+ 0x41893B,gamemenu_quit_game
425
+ 0x418948,gamemenu_load_game
426
+ 0x4189BE,gamemenu_save_game
427
+ 0x418A42,gamemenu_restart_town
428
+ 0x418A4C,gamemenu_options
429
+ 0x418A6C,gamemenu_get_music
430
+ 0x418A85,gamemenu_sound_music_toggle
431
+ 0x418AC6,gamemenu_get_sound
432
+ 0x418ADF,gamemenu_get_color_cycling
433
+ 0x418AF4,gamemenu_get_gamma
434
+ 0x418B1A,gamemenu_music_volume
435
+ 0x418BA3,gamemenu_slider_music_sound
436
+ 0x418BB0,gamemenu_sound_volume
437
+ 0x418C30,gamemenu_gamma
438
+ 0x418C5A,gamemenu_slider_gamma
439
+ 0x418C6A,gamemenu_color_cycling
440
+ 0x418C8B,FillSolidBlockTbls
441
+ 0x418D91,MakeSpeedCels
442
+ 0x4191BF,SortTiles
443
+ 0x4191FB,SwapTile
444
+ 0x41927A,IsometricCoord
445
+ 0x4192C2,SetSpeedCels
446
+ 0x41930B,SetDungeonMicros
447
+ 0x41944A,DRLG_InitTrans
448
+ 0x419477,DRLG_MRectTrans
449
+ 0x4194D0,DRLG_RectTrans
450
+ 0x419515,DRLG_CopyTrans
451
+ 0x419534,DRLG_ListTrans
452
+ 0x419565,DRLG_AreaTrans
453
+ 0x4195A2,DRLG_InitSetPC
454
+ 0x4195B9,DRLG_SetPC
455
+ 0x41960C,Make_SetPC
456
+ 0x41965B,DRLG_WillThemeRoomFit
457
+ 0x4197F4,DRLG_CreateThemeRoom
458
+ 0x419C10,DRLG_PlaceThemeRooms
459
+ 0x419D92,DRLG_HoldThemeRooms
460
+ 0x419E1F,SkipThemeRoom
461
+ 0x419E71,InitLevels
462
+ 0x419E8B,gmenu_draw_pause
463
+ 0x419EBE,gmenu_print_text
464
+ 0x419F17,FreeGMenu
465
+ 0x419F70,gmenu_init_menu
466
+ 0x419FE8,gmenu_is_active
467
+ 0x419FF4,gmenu_set_items
468
+ 0x41A04E,gmenu_up_down
469
+ 0x41A0B6,gmenu_draw
470
+ 0x41A145,gmenu_draw_menu_item
471
+ 0x41A239,gmenu_clear_buffer
472
+ 0x41A272,gmenu_get_lfont
473
+ 0x41A2AE,gmenu_presskeys
474
+ 0x41A32A,gmenu_left_right
475
+ 0x41A37A,gmenu_on_mouse_move
476
+ 0x41A3D2,gmenu_get_mouse_slider
477
+ 0x41A401,gmenu_left_mouse
478
+ 0x41A4B8,gmenu_enable
479
+ 0x41A4C6,gmenu_slider_set
480
+ 0x41A508,gmenu_slider_get
481
+ 0x41A545,gmenu_slider_steps
482
+ 0x41A553,InitHelp
483
+ 0x41A565,DrawHelp
484
+ 0x41A6FA,DrawHelpLine
485
+ 0x41A773,DisplayHelp
486
+ 0x41A78F,HelpScrollUp
487
+ 0x41A79F,HelpScrollDown
488
+ 0x41A7C3,init_cleanup
489
+ 0x41A84C,init_run_office_from_start_menu
490
+ 0x41A8B9,init_run_office
491
+ 0x41AA2C,init_disable_screensaver
492
+ 0x41AAC5,init_create_window
493
+ 0x41AC00,init_kill_mom_parent
494
+ 0x41AC21,init_find_mom_parent
495
+ 0x41AC71,init_await_mom_parent_exit
496
+ 0x41ACA1,init_archives
497
+ 0x41AD72,init_test_access
498
+ 0x41AF22,init_strip_trailing_slash
499
+ 0x41AF3A,init_read_test_file
500
+ 0x41AFCE,init_get_file_info
501
+ 0x41B06C,MainWndProc
502
+ 0x41B105,init_activate_window
503
+ 0x41B15F,WindowProc
504
+ 0x41B184,SetWindowProc
505
+ 0x41B1A0,interface_msg_pump
506
+ 0x41B1DF,IncProgress
507
+ 0x41B218,DrawCutscene
508
+ 0x41B28D,DrawProgress
509
+ 0x41B2B6,ShowProgress
510
+ 0x41B5F5,FreeInterface
511
+ 0x41B607,InitCutscene
512
+ 0x41B814,FreeInvGFX
513
+ 0x41B826,InitInv
514
+ 0x41B871,InvDrawSlotBack
515
+ 0x41B8C4,DrawInv
516
+ 0x41C060,DrawInvBelt
517
+ 0x41C23F,AutoPlace
518
+ 0x41C373,SpecialAutoPlace
519
+ 0x41C4E0,GoldAutoPlace
520
+ 0x41C6A9,WeaponAutoPlace
521
+ 0x41C746,SwapItem
522
+ 0x41C783,CheckInvPaste
523
+ 0x41D2CF,CheckInvSwap
524
+ 0x41D378,CheckInvCut
525
+ 0x41D6EB,inv_update_rem_item
526
+ 0x41D722,RemoveInvItem
527
+ 0x41D810,RemoveSpdBarItem
528
+ 0x41D86C,CheckInvItem
529
+ 0x41D893,CheckInvScrn
530
+ 0x41D8BF,CheckItemStats
531
+ 0x41D90B,CheckBookLevel
532
+ 0x41D97F,CheckQuestItem
533
+ 0x41DB65,InvGetItem
534
+ 0x41DC79,AutoGetItem
535
+ 0x41E103,FindGetItem
536
+ 0x41E158,SyncGetItem
537
+ 0x41E222,CanPut
538
+ 0x41E2F9,TryInvPut
539
+ 0x41E3BC,DrawInvMsg
540
+ 0x41E3E4,InvPutItem
541
+ 0x41E639,SyncPutItem
542
+ 0x41E8DD,CheckInvHLight
543
+ 0x41EAEA,RemoveScroll
544
+ 0x41EB8B,UseScroll
545
+ 0x41EC42,UseStaffCharge
546
+ 0x41EC7F,UseStaff
547
+ 0x41ECC3,StartGoldDrop
548
+ 0x41ED29,UseInvItem
549
+ 0x41EFA1,DoTelekinesis
550
+ 0x41F013,CalculateGold
551
+ 0x41F068,DropItemBeforeTrig
552
+ 0x41F096,InitItemGFX
553
+ 0x41F0E8,ItemPlace
554
+ 0x41F13A,AddInitItems
555
+ 0x41F24E,InitItems
556
+ 0x41F320,CalcPlrItemVals
557
+ 0x41F953,CalcPlrScrolls
558
+ 0x41FA4A,CalcPlrStaff
559
+ 0x41FA97,CalcSelfItems
560
+ 0x41FB91,CalcPlrItemMin
561
+ 0x41FBF6,ItemMinStats
562
+ 0x41FC2C,CalcPlrBookVals
563
+ 0x41FD3E,CalcPlrInv
564
+ 0x41FD98,SetPlrHandItem
565
+ 0x41FE98,GetPlrHandSeed
566
+ 0x41FEA4,GetGoldSeed
567
+ 0x41FF16,SetPlrHandSeed
568
+ 0x41FF19,SetPlrHandGoldCurs
569
+ 0x41FF4E,CreatePlrItems
570
+ 0x4200F8,ItemSpaceOk
571
+ 0x4201F2,GetItemSpace
572
+ 0x4202E8,GetSuperItemSpace
573
+ 0x420376,GetSuperItemLoc
574
+ 0x4203E0,CalcItemValue
575
+ 0x42042C,GetBookSpell
576
+ 0x420514,GetStaffPower
577
+ 0x4206E5,GetStaffSpell
578
+ 0x42084A,GetItemAttrs
579
+ 0x420B17,RndPL
580
+ 0x420B28,PLVal
581
+ 0x420B68,SaveItemPower
582
+ 0x4215EF,GetItemPower
583
+ 0x42191C,GetItemBonus
584
+ 0x4219C1,SetupItem
585
+ 0x421A4B,RndItem
586
+ 0x421B32,RndUItem
587
+ 0x421C2A,RndAllItems
588
+ 0x421CB7,RndTypeItems
589
+ 0x421D41,CheckUnique
590
+ 0x421E11,GetUniqueItem
591
+ 0x421F5C,SpawnUnique
592
+ 0x421FE6,ItemRndDur
593
+ 0x422024,SetupAllItems
594
+ 0x42217A,SpawnItem
595
+ 0x422290,CreateItem
596
+ 0x42232B,CreateRndItem
597
+ 0x4223D0,SetupAllUseful
598
+ 0x42243D,CreateRndUseful
599
+ 0x4224A6,CreateTypeItem
600
+ 0x42254A,RecreateItem
601
+ 0x42265C,RecreateEar
602
+ 0x422795,SpawnQuestItem
603
+ 0x4228B1,SpawnRock
604
+ 0x422989,RespawnItem
605
+ 0x422A50,DeleteItem
606
+ 0x422A84,ItemDoppel
607
+ 0x422ADE,ProcessItems
608
+ 0x422BB2,FreeItemGFX
609
+ 0x422BCF,GetItemFrm
610
+ 0x422BF0,GetItemStr
611
+ 0x422C63,CheckIdentify
612
+ 0x422C9C,DoRepair
613
+ 0x422CF6,RepairItem
614
+ 0x422D6C,DoRecharge
615
+ 0x422DDD,RechargeItem
616
+ 0x422E14,PrintItemOil
617
+ 0x422EF4,PrintItemPower
618
+ 0x423530,DrawUTextBack
619
+ 0x42358C,PrintUString
620
+ 0x42365B,DrawULine
621
+ 0x4236A6,DrawUniqueInfo
622
+ 0x4237DC,PrintItemMisc
623
+ 0x4238D4,PrintItemDetails
624
+ 0x423AE1,PrintItemDur
625
+ 0x423CE0,UseItem
626
+ 0x4241D7,StoreStatOk
627
+ 0x42421C,SmithItemOk
628
+ 0x424252,RndSmithItem
629
+ 0x4242C1,BubbleSwapItem
630
+ 0x4242F5,SortSmith
631
+ 0x424351,SpawnSmith
632
+ 0x424420,PremiumItemOk
633
+ 0x42445F,RndPremiumItem
634
+ 0x4244C6,SpawnOnePremium
635
+ 0x4245A0,SpawnPremium
636
+ 0x42466C,WitchItemOk
637
+ 0x4246D2,RndWitchItem
638
+ 0x424735,SortWitch
639
+ 0x424795,WitchBookLevel
640
+ 0x424815,SpawnWitch
641
+ 0x4249A4,RndBoyItem
642
+ 0x424A03,SpawnBoy
643
+ 0x424A9B,HealerItemOk
644
+ 0x424B49,RndHealerItem
645
+ 0x424BAC,SortHealer
646
+ 0x424C0C,SpawnHealer
647
+ 0x424D57,SpawnStoreGold
648
+ 0x424D80,RecreateSmithItem
649
+ 0x424DD1,RecreatePremiumItem
650
+ 0x424E3C,RecreateBoyItem
651
+ 0x424EA1,RecreateWitchItem
652
+ 0x424F52,RecreateHealerItem
653
+ 0x424FB8,RecreateTownItem
654
+ 0x42501F,RecalcStoreStats
655
+ 0x4250C0,ItemNoFlippy
656
+ 0x4250EF,CreateSpellBook
657
+ 0x4251B8,CreateMagicArmor
658
+ 0x4251B8,CreateMagicWeapon
659
+ 0x42526E,GetItemRecord
660
+ 0x425311,NextItemRecord
661
+ 0x425357,SetItemRecord
662
+ 0x42539E,PutItemRecord
663
+ 0x425443,RotateRadius
664
+ 0x4254BA,DoLighting
665
+ 0x4258B0,DoUnLight
666
+ 0x425930,DoUnVision
667
+ 0x42598A,DoVision
668
+ 0x425C13,FreeLightTable
669
+ 0x425C25,InitLightTable
670
+ 0x425C35,MakeLightTable
671
+ 0x425FB8,InitLightMax
672
+ 0x425FCE,InitLighting
673
+ 0x425FEC,AddLight
674
+ 0x426056,AddUnLight
675
+ 0x426076,ChangeLightRadius
676
+ 0x4260C5,ChangeLightXY
677
+ 0x426120,ChangeLightOff
678
+ 0x42617B,ChangeLight
679
+ 0x4261E7,ProcessLightList
680
+ 0x4262E0,SavePreLighting
681
+ 0x4262F8,InitVision
682
+ 0x426333,AddVision
683
+ 0x4263A0,ChangeVisionRadius
684
+ 0x4263E1,ChangeVisionXY
685
+ 0x42642B,ProcessVisionList
686
+ 0x42651F,lighting_color_cycling
687
+ 0x426564,LoadGame
688
+ 0x426AE2,BLoad
689
+ 0x426AF0,WLoad
690
+ 0x426B2C,ILoad
691
+ 0x426B68,OLoad
692
+ 0x426B7F,LoadPlayer
693
+ 0x426BA9,LoadMonster
694
+ 0x426BDE,LoadMissile
695
+ 0x426C08,LoadObject
696
+ 0x426C2A,LoadItem
697
+ 0x426C5F,LoadPremium
698
+ 0x426C89,LoadQuest
699
+ 0x426CDE,LoadLighting
700
+ 0x426D00,LoadVision
701
+ 0x426D22,LoadPortal
702
+ 0x426D45,SaveGame
703
+ 0x427203,BSave
704
+ 0x427211,WSave
705
+ 0x427258,ISave
706
+ 0x42729F,OSave
707
+ 0x4272B7,SavePlayer
708
+ 0x4272E1,SaveMonster
709
+ 0x42730B,SaveMissile
710
+ 0x427335,SaveObject
711
+ 0x427357,SaveItem
712
+ 0x427381,SavePremium
713
+ 0x4273AB,SaveQuest
714
+ 0x427404,SaveLighting
715
+ 0x427426,SaveVision
716
+ 0x427448,SavePortal
717
+ 0x42746B,SaveLevel
718
+ 0x42772F,LoadLevel
719
+ 0x427A30,log_flush
720
+ 0x427AC2,log_create
721
+ 0x427C18,log_get_version
722
+ 0x427CC9,log_printf
723
+ 0x427D75,log_dump_computer_info
724
+ 0x427E1E,mainmenu_refresh_music
725
+ 0x427E45,mainmenu_change_name
726
+ 0x427E62,mainmenu_select_hero_dialog
727
+ 0x427F76,mainmenu_loop
728
+ 0x427FEC,mainmenu_single_player
729
+ 0x427FFA,mainmenu_init_menu
730
+ 0x428030,mainmenu_multi_player
731
+ 0x42803F,mainmenu_play_intro
732
+ 0x428056,FreeQuestText
733
+ 0x42807A,InitQuestText
734
+ 0x4280A4,InitQTextMsg
735
+ 0x428104,DrawQTextBack
736
+ 0x428160,PrintQTextChr
737
+ 0x428202,DrawQText
738
+ 0x4283C0,GetDamageAmt
739
+ 0x428921,CheckBlock
740
+ 0x42897A,FindClosest
741
+ 0x428A99,GetSpellLevel
742
+ 0x428AC4,GetDirection8
743
+ 0x4290EE,GetDirection16
744
+ 0x42977E,DeleteMissile
745
+ 0x4297EE,GetMissileVel
746
+ 0x4298AD,PutMissile
747
+ 0x429918,GetMissilePos
748
+ 0x4299EA,MoveMissilePos
749
+ 0x429A99,MonsterTrapHit
750
+ 0x429C3B,MonsterMHit
751
+ 0x429F4E,PlayerMHit
752
+ 0x42A307,Plr2PlrMHit
753
+ 0x42A5DB,CheckMissileCol
754
+ 0x42A8D5,SetMissAnim
755
+ 0x42A959,SetMissDir
756
+ 0x42A973,LoadMissileGFX
757
+ 0x42AA5C,InitMissileGFX
758
+ 0x42AA89,FreeMissileGFX
759
+ 0x42AAF2,FreeMissiles
760
+ 0x42AB20,FreeMissiles2
761
+ 0x42AB4E,InitMissiles
762
+ 0x42AC0C,AddLArrow
763
+ 0x42ACD9,AddArrow
764
+ 0x42ADAA,GetVileMissPos
765
+ 0x42AE48,AddRndTeleport
766
+ 0x42AF8B,AddFirebolt
767
+ 0x42B09A,AddMagmaball
768
+ 0x42B113,miss_null_33
769
+ 0x42B159,AddTeleport
770
+ 0x42B284,AddLightball
771
+ 0x42B303,AddFirewall
772
+ 0x42B3C0,AddFireball
773
+ 0x42B4E7,AddLightctrl
774
+ 0x42B553,AddLightning
775
+ 0x42B620,AddMisexp
776
+ 0x42B711,AddWeapexp
777
+ 0x42B77C,CheckIfTrig
778
+ 0x42B7DF,AddTown
779
+ 0x42B9FC,AddFlash
780
+ 0x42BAC1,AddFlash2
781
+ 0x42BB83,AddManashield
782
+ 0x42BBFA,AddFiremove
783
+ 0x42BC76,AddGuardian
784
+ 0x42BE98,AddChain
785
+ 0x42BECB,miss_null_11
786
+ 0x42BEFE,miss_null_12
787
+ 0x42BF3B,miss_null_13
788
+ 0x42BF7A,AddRhino
789
+ 0x42C08B,miss_null_32
790
+ 0x42C167,AddFlare
791
+ 0x42C276,AddAcid
792
+ 0x42C2EE,miss_null_1D
793
+ 0x42C32A,AddAcidpud
794
+ 0x42C38E,AddStone
795
+ 0x42C518,AddGolem
796
+ 0x42C5DA,AddEtherealize
797
+ 0x42C664,miss_null_1F
798
+ 0x42C677,miss_null_23
799
+ 0x42C6D9,AddBoom
800
+ 0x42C72C,AddHeal
801
+ 0x42C80C,AddHealOther
802
+ 0x42C83F,AddElement
803
+ 0x42C942,AddIdentify
804
+ 0x42C993,AddFirewallC
805
+ 0x42CAF5,AddInfra
806
+ 0x42CB5C,AddWave
807
+ 0x42CBA7,AddNova
808
+ 0x42CC98,AddRepair
809
+ 0x42CCE9,AddRecharge
810
+ 0x42CD3A,AddDisarm
811
+ 0x42CD6D,AddApoca
812
+ 0x42CE32,AddFlame
813
+ 0x42CF35,AddFlamec
814
+ 0x42CFAD,AddCbolt
815
+ 0x42D098,AddHbolt
816
+ 0x42D178,AddResurrect
817
+ 0x42D1AF,AddResurrectBeam
818
+ 0x42D1F3,AddTelekinesis
819
+ 0x42D226,AddBoneSpirit
820
+ 0x42D311,AddRportal
821
+ 0x42D35B,AddDiabApoca
822
+ 0x42D3DA,AddMissile
823
+ 0x42D5A3,Sentfire
824
+ 0x42D67F,MI_Dummy
825
+ 0x42D680,MI_Golem
826
+ 0x42D7C7,MI_SetManashield
827
+ 0x42D7D2,MI_LArrow
828
+ 0x42DAD0,MI_Arrow
829
+ 0x42DBA1,MI_Firebolt
830
+ 0x42DE5A,MI_Lightball
831
+ 0x42DF42,mi_null_33
832
+ 0x42DFAB,MI_Acidpud
833
+ 0x42E01E,MI_Firewall
834
+ 0x42E18F,MI_Fireball
835
+ 0x42E5A7,MI_Lightctrl
836
+ 0x42E79B,MI_Lightning
837
+ 0x42E820,MI_Town
838
+ 0x42E9CB,MI_Flash
839
+ 0x42EAF1,MI_Flash2
840
+ 0x42EBBF,MI_Manashield
841
+ 0x42EE19,MI_Etherealize
842
+ 0x42EEFD,MI_Firemove
843
+ 0x42F0C8,MI_Guardian
844
+ 0x42F2C2,MI_Chain
845
+ 0x42F475,mi_null_11
846
+ 0x42F4A9,MI_Weapexp
847
+ 0x42F5D6,MI_Misexp
848
+ 0x42F692,MI_Acidsplat
849
+ 0x42F723,MI_Teleport
850
+ 0x42F82C,MI_Stone
851
+ 0x42F8EE,MI_Boom
852
+ 0x42F94F,MI_Rhino
853
+ 0x42FAD0,mi_null_32
854
+ 0x42FC74,MI_FirewallC
855
+ 0x42FDE3,MI_Infra
856
+ 0x42FE20,MI_Apoca
857
+ 0x42FF0B,MI_Wave
858
+ 0x430154,MI_Nova
859
+ 0x4302A7,MI_Blodboil
860
+ 0x4302B8,MI_Flame
861
+ 0x43037E,MI_Flamec
862
+ 0x43045C,MI_Cbolt
863
+ 0x4305E2,MI_Hbolt
864
+ 0x43071F,MI_Element
865
+ 0x430A98,MI_Bonespirit
866
+ 0x430C8D,MI_ResurrectBeam
867
+ 0x430CAC,MI_Rportal
868
+ 0x430DDA,ProcessMissiles
869
+ 0x430F35,missiles_process_charge
870
+ 0x430FB9,ClearMissileSpot
871
+ 0x430FEF,InitMonsterTRN
872
+ 0x43107B,InitLevelMonsters
873
+ 0x4310CF,AddMonsterType
874
+ 0x43114F,GetLevelMTypes
875
+ 0x4313F9,InitMonsterGFX
876
+ 0x4316AE,ClearMVars
877
+ 0x4316E7,InitMonster
878
+ 0x431A6B,ClrAllMonsters
879
+ 0x431B10,MonstPlace
880
+ 0x431B5D,PlaceMonster
881
+ 0x431B99,PlaceUniqueMonst
882
+ 0x432088,PlaceQuestMonsters
883
+ 0x4322FA,PlaceGroup
884
+ 0x432585,LoadDiabMonsts
885
+ 0x432637,InitMonsters
886
+ 0x43283D,PlaceUniques
887
+ 0x43290E,SetMapMonsters
888
+ 0x432A4D,DeleteMonster
889
+ 0x432A71,AddMonster
890
+ 0x432AC1,NewMonsterAnim
891
+ 0x432AFF,M_Ranged
892
+ 0x432B26,M_Talker
893
+ 0x432B5C,M_Enemy
894
+ 0x432E15,M_GetDir
895
+ 0x432E3D,M_CheckEFlag
896
+ 0x432E9D,M_StartStand
897
+ 0x432F29,M_StartDelay
898
+ 0x432F4F,M_StartSpStand
899
+ 0x432FBC,M_StartWalk
900
+ 0x43308F,M_StartWalk2
901
+ 0x4331AA,M_StartWalk3
902
+ 0x4332F6,M_StartAttack
903
+ 0x433367,M_StartRAttack
904
+ 0x4333EF,M_StartRSpAttack
905
+ 0x433480,M_StartSpAttack
906
+ 0x4334F4,M_StartEat
907
+ 0x43355C,M_ClearSquares
908
+ 0x43361B,M_GetKnockback
909
+ 0x4336E5,M_StartHit
910
+ 0x43385A,M_DiabloDeath
911
+ 0x433A4C,M2MStartHit
912
+ 0x433BCC,MonstStartKill
913
+ 0x433DC2,M2MStartKill
914
+ 0x433FC7,M_StartKill
915
+ 0x434045,M_SyncStartKill
916
+ 0x4340E0,M_StartFadein
917
+ 0x4341AD,M_StartFadeout
918
+ 0x434272,M_StartHeal
919
+ 0x43430A,M_ChangeLightOffset
920
+ 0x434374,M_DoStand
921
+ 0x4343F3,M_DoWalk
922
+ 0x434509,M_DoWalk2
923
+ 0x4345FC,M_DoWalk3
924
+ 0x434722,M_TryM2MHit
925
+ 0x43482C,M_TryH2HHit
926
+ 0x434C3B,M_DoAttack
927
+ 0x434DBD,M_DoRAttack
928
+ 0x434EB2,M_DoRSpAttack
929
+ 0x434FC7,M_DoSAttack
930
+ 0x43507E,M_DoFadein
931
+ 0x4350E3,M_DoFadeout
932
+ 0x435165,M_DoHeal
933
+ 0x4351F5,M_DoTalk
934
+ 0x43547A,M_Teleport
935
+ 0x4355BB,M_DoGotHit
936
+ 0x43561E,M_UpdateLeader
937
+ 0x435697,DoEnding
938
+ 0x43575C,PrepDoEnding
939
+ 0x4357DF,M_DoDeath
940
+ 0x4358EC,M_DoSpStand
941
+ 0x43596B,M_DoDelay
942
+ 0x435A14,M_DoStone
943
+ 0x435A62,M_WalkDir
944
+ 0x435BB5,GroupUnity
945
+ 0x435DA8,M_CallWalk
946
+ 0x435EB5,M_PathWalk
947
+ 0x435F35,M_CallWalk2
948
+ 0x435FBA,M_DumbWalk
949
+ 0x435FDB,M_RoundWalk
950
+ 0x4360B1,MAI_Zombie
951
+ 0x4361F7,MAI_SkelSd
952
+ 0x436331,MAI_Path
953
+ 0x4363F9,MAI_Snake
954
+ 0x43668F,MAI_Bat
955
+ 0x4368F7,MAI_SkelBow
956
+ 0x436A38,MAI_Fat
957
+ 0x436B60,MAI_Sneak
958
+ 0x436DC8,MAI_Fireman
959
+ 0x436FEC,MAI_Fallen
960
+ 0x4371D7,MAI_Cleaver
961
+ 0x437285,MAI_Round
962
+ 0x437520,MAI_GoatMc
963
+ 0x437528,MAI_Ranged
964
+ 0x4376B3,MAI_GoatBow
965
+ 0x4376BD,MAI_Succ
966
+ 0x4376C8,MAI_AcidUniq
967
+ 0x4376D3,MAI_Scav
968
+ 0x437957,MAI_Garg
969
+ 0x437A8B,MAI_RoundRanged
970
+ 0x437D93,MAI_Magma
971
+ 0x437DA2,MAI_Storm
972
+ 0x437DB1,MAI_Acid
973
+ 0x437DC0,MAI_Diablo
974
+ 0x437DCF,MAI_RR2
975
+ 0x4380DE,MAI_Mega
976
+ 0x4380E9,MAI_Golum
977
+ 0x438304,MAI_SkelKing
978
+ 0x43862D,MAI_Rhino
979
+ 0x43891F,MAI_Counselor
980
+ 0x438C79,MAI_Garbud
981
+ 0x438D7E,MAI_Zhar
982
+ 0x438EC2,MAI_SnotSpil
983
+ 0x439016,MAI_Lazurus
984
+ 0x439196,MAI_Lazhelp
985
+ 0x439253,MAI_Lachdanan
986
+ 0x439338,MAI_Warlord
987
+ 0x439419,DeleteMonsterList
988
+ 0x43947E,ProcessMonsters
989
+ 0x4397C5,FreeMonsters
990
+ 0x439831,DirOK
991
+ 0x439A32,PosOkMissile
992
+ 0x439A57,CheckNoSolid
993
+ 0x439A71,LineClearF
994
+ 0x439BE0,LineClear
995
+ 0x439BFA,LineClearF1
996
+ 0x439D75,SyncMonsterAnim
997
+ 0x439EA8,M_FallenFear
998
+ 0x439F92,PrintMonstHistory
999
+ 0x43A13A,PrintUniqueHistory
1000
+ 0x43A1C1,MissToMonst
1001
+ 0x43A45E,PosOkMonst
1002
+ 0x43A547,PosOkMonst2
1003
+ 0x43A613,PosOkMonst3
1004
+ 0x43A73B,IsSkel
1005
+ 0x43A760,IsGoat
1006
+ 0x43A77B,M_SpawnSkel
1007
+ 0x43A828,ActivateSpawn
1008
+ 0x43A879,SpawnSkeleton
1009
+ 0x43A979,PreSpawnSkeleton
1010
+ 0x43AA0C,TalktoMonster
1011
+ 0x43AADA,SpawnGolum
1012
+ 0x43AC0C,CanTalkToMonst
1013
+ 0x43AC43,CheckMonsterHit
1014
+ 0x43ACB5,encode_enemy
1015
+ 0x43ACCE,decode_enemy
1016
+ 0x43AD43,play_movie
1017
+ 0x43AE3E,MovieWndProc
1018
+ 0x43AEA0,mpqapi_set_hidden
1019
+ 0x43AEDC,mpqapi_store_creation_time
1020
+ 0x43AF4F,mpqapi_reg_load_modification_time
1021
+ 0x43AFA5,mpqapi_xor_buf
1022
+ 0x43AFC4,mpqapi_reg_store_modification_time
1023
+ 0x43B002,mpqapi_remove_hash_entry
1024
+ 0x43B054,mpqapi_alloc_block
1025
+ 0x43B0E4,mpqapi_new_block
1026
+ 0x43B123,FetchHandle
1027
+ 0x43B153,mpqapi_get_hash_index
1028
+ 0x43B1BD,mpqapi_remove_hash_entries
1029
+ 0x43B1F8,mpqapi_write_file
1030
+ 0x43B23D,mpqapi_add_file
1031
+ 0x43B317,mpqapi_write_file_contents
1032
+ 0x43B51C,mpqapi_find_free_block
1033
+ 0x43B570,mpqapi_rename
1034
+ 0x43B5AF,mpqapi_has_file
1035
+ 0x43B5BF,OpenMPQ
1036
+ 0x43B791,ParseMPQHeader
1037
+ 0x43B882,CloseMPQ
1038
+ 0x43B8FD,mpqapi_store_modified_time
1039
+ 0x43B970,mpqapi_flush_and_close
1040
+ 0x43B9CA,WriteMPQHeader
1041
+ 0x43BA60,mpqapi_write_block_table
1042
+ 0x43BAEB,mpqapi_write_hash_table
1043
+ 0x43BB79,mpqapi_can_seek
1044
+ 0x43BBB4,msg_send_drop_pkt
1045
+ 0x43BBCF,msg_send_packet
1046
+ 0x43BC31,msg_get_next_packet
1047
+ 0x43BC6D,msg_wait_resync
1048
+ 0x43BCED,msg_free_packets
1049
+ 0x43BD19,msg_wait_for_turns
1050
+ 0x43BDEB,run_delta_info
1051
+ 0x43BE0D,msg_pre_packet
1052
+ 0x43BE74,DeltaExportData
1053
+ 0x43BF2B,DeltaExportItem
1054
+ 0x43BF5B,DeltaExportObject
1055
+ 0x43BF6F,DeltaExportMonster
1056
+ 0x43BFA1,DeltaExportJunk
1057
+ 0x43C019,msg_comp_level
1058
+ 0x43C035,delta_init
1059
+ 0x43C07C,delta_kill_monster
1060
+ 0x43C0C2,delta_monster_hp
1061
+ 0x43C0F2,delta_sync_monster
1062
+ 0x43C134,delta_sync_golem
1063
+ 0x43C17D,delta_leave_sync
1064
+ 0x43C24F,delta_portal_inited
1065
+ 0x43C25D,delta_quest_inited
1066
+ 0x43C26B,DeltaAddItem
1067
+ 0x43C372,DeltaSaveLevel
1068
+ 0x43C3BA,DeltaLoadLevel
1069
+ 0x43C873,NetSendCmd
1070
+ 0x43C891,NetSendCmdGolem
1071
+ 0x43C8C7,NetSendCmdLoc
1072
+ 0x43C8F3,NetSendCmdLocParam1
1073
+ 0x43C928,NetSendCmdLocParam2
1074
+ 0x43C965,NetSendCmdLocParam3
1075
+ 0x43C9AB,NetSendCmdParam1
1076
+ 0x43C9D3,NetSendCmdParam2
1077
+ 0x43CA04,NetSendCmdParam3
1078
+ 0x43CA3D,NetSendCmdQuest
1079
+ 0x43CA84,NetSendCmdGItem
1080
+ 0x43CC09,NetSendCmdGItem2
1081
+ 0x43CC74,NetSendCmdReq2
1082
+ 0x43CCCF,NetSendCmdExtra
1083
+ 0x43CCF8,NetSendCmdPItem
1084
+ 0x43CE5B,NetSendCmdChItem
1085
+ 0x43CEB2,NetSendCmdDelItem
1086
+ 0x43CED4,NetSendCmdDItem
1087
+ 0x43D039,NetSendCmdDamage
1088
+ 0x43D064,NetSendCmdString
1089
+ 0x43D09D,delta_close_portal
1090
+ 0x43D0BC,ParseCmd
1091
+ 0x43D56F,On_DLEVEL
1092
+ 0x43D632,DeltaImportData
1093
+ 0x43D6BA,DeltaImportItem
1094
+ 0x43D6F5,DeltaImportObject
1095
+ 0x43D709,DeltaImportMonster
1096
+ 0x43D746,DeltaImportJunk
1097
+ 0x43D7F1,On_SYNCDATA
1098
+ 0x43D7FC,On_WALKXY
1099
+ 0x43D84A,On_ADDSTR
1100
+ 0x43D87B,On_ADDMAG
1101
+ 0x43D8AC,On_ADDDEX
1102
+ 0x43D8DD,On_ADDVIT
1103
+ 0x43D90E,On_SBSPELL
1104
+ 0x43D97D,msg_errorf
1105
+ 0x43D9C4,On_GOTOGETITEM
1106
+ 0x43DA16,On_REQUESTGITEM
1107
+ 0x43DAE6,i_own_level
1108
+ 0x43DB2D,On_GETITEM
1109
+ 0x43DC3D,delta_get_item
1110
+ 0x43DD40,On_GOTOAGETITEM
1111
+ 0x43DD92,On_REQUESTAGITEM
1112
+ 0x43DE60,On_AGETITEM
1113
+ 0x43DF6E,On_ITEMEXTRA
1114
+ 0x43DFC9,On_PUTITEM
1115
+ 0x43E0CE,delta_put_item
1116
+ 0x43E179,check_update_plr
1117
+ 0x43E193,On_SYNCPUTITEM
1118
+ 0x43E284,On_RESPAWNITEM
1119
+ 0x43E32A,On_ATTACKXY
1120
+ 0x43E386,On_SATTACKXY
1121
+ 0x43E3D5,On_RATTACKXY
1122
+ 0x43E424,On_SPELLXYD
1123
+ 0x43E4D2,On_SPELLXY
1124
+ 0x43E576,On_TSPELLXY
1125
+ 0x43E61A,On_OPOBJXY
1126
+ 0x43E68A,On_DISARMXY
1127
+ 0x43E6FA,On_OPOBJT
1128
+ 0x43E732,On_ATTACKID
1129
+ 0x43E7DF,On_ATTACKPID
1130
+ 0x43E840,On_RATTACKID
1131
+ 0x43E885,On_RATTACKPID
1132
+ 0x43E8CA,On_SPELLID
1133
+ 0x43E964,On_SPELLPID
1134
+ 0x43E9FE,On_TSPELLID
1135
+ 0x43EA98,On_TSPELLPID
1136
+ 0x43EB32,On_KNOCKBACK
1137
+ 0x43EB74,On_RESURRECT
1138
+ 0x43EBA4,On_HEALOTHER
1139
+ 0x43EBD5,On_TALKXY
1140
+ 0x43EC27,On_NEWLVL
1141
+ 0x43EC5B,On_WARP
1142
+ 0x43ECBA,On_MONSTDEATH
1143
+ 0x43ED23,On_KILLGOLEM
1144
+ 0x43ED89,On_AWAKEGOLEM
1145
+ 0x43EE3D,On_MONSTDAMAGE
1146
+ 0x43EEF5,On_PLRDEAD
1147
+ 0x43EF2D,On_PLRDAMAGE
1148
+ 0x43EFDD,On_OPENDOOR
1149
+ 0x43F033,delta_sync_object
1150
+ 0x43F058,On_CLOSEDOOR
1151
+ 0x43F0AE,On_OPERATEOBJ
1152
+ 0x43F104,On_PLROPOBJ
1153
+ 0x43F15C,On_BREAKOBJ
1154
+ 0x43F1B0,On_CHANGEPLRITEMS
1155
+ 0x43F1F0,On_DELPLRITEMS
1156
+ 0x43F21E,On_PLRLEVEL
1157
+ 0x43F258,On_DROPITEM
1158
+ 0x43F28F,On_SEND_PLRINFO
1159
+ 0x43F2C9,On_ACK_PLRINFO
1160
+ 0x43F2CE,On_PLAYER_JOINLEVEL
1161
+ 0x43F448,On_ACTIVATEPORTAL
1162
+ 0x43F521,delta_open_portal
1163
+ 0x43F55C,On_DEACTIVATEPORTAL
1164
+ 0x43F59A,On_RETOWN
1165
+ 0x43F5D3,On_SETSTR
1166
+ 0x43F60C,On_SETDEX
1167
+ 0x43F645,On_SETMAG
1168
+ 0x43F67E,On_SETVIT
1169
+ 0x43F6B7,On_STRING
1170
+ 0x43F6C2,On_STRING2
1171
+ 0x43F6EC,On_SYNCQUEST
1172
+ 0x43F72E,On_ENDSHIELD
1173
+ 0x43F7A5,On_CHEAT_EXPERIENCE
1174
+ 0x43F7A5,On_CHEAT_SPELL_LEVEL
1175
+ 0x43F7A5,On_DEBUG
1176
+ 0x43F7A9,On_NOVA
1177
+ 0x43F818,On_SETSHIELD
1178
+ 0x43F830,On_REMSHIELD
1179
+ 0x43F88D,msgcmd_cmd_cleanup
1180
+ 0x43F897,msgcmd_send_chat
1181
+ 0x43F8D4,msgcmd_add_server_cmd_W
1182
+ 0x43F8E5,msgcmd_add_server_cmd
1183
+ 0x43F920,TList<EXTERNMESSAGE>::TList<EXTERNMESSAGE>
1184
+ 0x43F936,TList<EXTERNMESSAGE>::DeleteAll
1185
+ 0x43F95E,TList<EXTERNMESSAGE>::Remove
1186
+ 0x43F999,TList<EXTERNMESSAGE>::Create
1187
+ 0x43F9E5,EXTERNMESSAGE::Delete
1188
+ 0x43FA14,TList<EXTERNMESSAGE>::Insert
1189
+ 0x43FA85,TList<EXTERNMESSAGE>::UnlinkAll
1190
+ 0x43FA98,TLink<EXTERNMESSAGE>::Unlink
1191
+ 0x43FAD4,multi_msg_add
1192
+ 0x43FAE2,NetSendLoPri
1193
+ 0x43FB0B,multi_copy_packet
1194
+ 0x43FB4D,multi_send_packet
1195
+ 0x43FBB5,NetRecvPlrData
1196
+ 0x43FC6F,NetSendHiPri
1197
+ 0x43FD27,multi_recv_packet
1198
+ 0x43FD90,multi_send_msg_packet
1199
+ 0x43FE0E,multi_msg_countdown
1200
+ 0x43FE3D,multi_parse_turn
1201
+ 0x43FE85,multi_handle_turn_upper_bit
1202
+ 0x43FEB7,multi_player_left
1203
+ 0x43FECA,multi_clear_left_tbl
1204
+ 0x43FF0E,multi_player_left_msg
1205
+ 0x43FF9D,multi_net_ping
1206
+ 0x43FFB0,multi_handle_delta
1207
+ 0x440058,multi_check_pkt_valid
1208
+ 0x440060,multi_mon_seeds
1209
+ 0x440093,multi_begin_timeout
1210
+ 0x440128,multi_check_drop_player
1211
+ 0x440153,multi_process_network_packets
1212
+ 0x44041D,multi_handle_all_packets
1213
+ 0x440444,multi_process_tmsgs
1214
+ 0x440477,multi_send_zero_packet
1215
+ 0x44055D,NetClose
1216
+ 0x4405A4,multi_event_handler
1217
+ 0x4405EC,multi_handle_events
1218
+ 0x440694,NetInit
1219
+ 0x440992,buffer_init
1220
+ 0x44099A,multi_send_pinfo
1221
+ 0x4409D5,InitLevelType
1222
+ 0x440A05,SetupLocalCoords
1223
+ 0x440A9B,multi_init_single
1224
+ 0x440B09,multi_init_multi
1225
+ 0x440BDB,multi_upgrade
1226
+ 0x440C17,recv_plrinfo
1227
+ 0x440DEC,nthread_terminate_game
1228
+ 0x440E28,nthread_send_and_recv_turn
1229
+ 0x440EAA,nthread_recv_turns
1230
+ 0x440F56,nthread_set_turn_upper_bit
1231
+ 0x440F61,nthread_start
1232
+ 0x4410CF,nthread_handler
1233
+ 0x441145,nthread_cleanup
1234
+ 0x4411C4,nthread_ignore_mutex
1235
+ 0x4411EF,nthread_has_500ms_passed
1236
+ 0x44121D,InitObjectGFX
1237
+ 0x441317,FreeObjectGFX
1238
+ 0x441345,RndLocOk
1239
+ 0x4413A0,InitRndLocObj
1240
+ 0x441477,InitRndLocBigObj
1241
+ 0x441584,InitRndLocObj5x5
1242
+ 0x44163B,ClrAllObjects
1243
+ 0x4416A8,AddTortures
1244
+ 0x44179F,AddCandles
1245
+ 0x4417E8,AddBookLever
1246
+ 0x441904,InitRndBarrels
1247
+ 0x441A00,AddL1Objs
1248
+ 0x441A98,AddL2Objs
1249
+ 0x441B16,AddL3Objs
1250
+ 0x441B8A,WallTrapLocOk
1251
+ 0x441BA0,AddL2Torches
1252
+ 0x441C8C,TorchLocOK
1253
+ 0x441CB3,AddObjTraps
1254
+ 0x441E58,AddChestTraps
1255
+ 0x441EE4,LoadMapObjects
1256
+ 0x441FAF,LoadMapObjs
1257
+ 0x442036,AddDiabObjs
1258
+ 0x4420F2,AddStoryBooks
1259
+ 0x4421CA,AddHookedBodies
1260
+ 0x44229F,AddL4Goodies
1261
+ 0x442316,AddLazStand
1262
+ 0x442418,InitObjects
1263
+ 0x4427C5,SetMapObjects
1264
+ 0x44292B,DeleteObject_
1265
+ 0x44297B,SetupObject
1266
+ 0x442A9D,SetObjMapRange
1267
+ 0x442AD1,SetBookMsg
1268
+ 0x442ADB,AddL1Door
1269
+ 0x442B2C,AddSCambBook
1270
+ 0x442B75,AddChest
1271
+ 0x442C27,AddL2Door
1272
+ 0x442C62,AddL3Door
1273
+ 0x442C9D,AddSarc
1274
+ 0x442CEE,AddFlameTrap
1275
+ 0x442D16,AddFlameLvr
1276
+ 0x442D2F,AddTrap
1277
+ 0x442D8A,AddObjLight
1278
+ 0x442DC1,AddBarrel
1279
+ 0x442E0F,AddShrine
1280
+ 0x442EB2,AddBookcase
1281
+ 0x442ECF,AddPurifyingFountain
1282
+ 0x442F08,AddArmorStand
1283
+ 0x442F3A,AddDecap
1284
+ 0x442F68,AddVilebook
1285
+ 0x442F88,AddMagicCircle
1286
+ 0x442FB1,AddBookstand
1287
+ 0x442FC4,AddPedistal
1288
+ 0x442FFC,AddStoryBook
1289
+ 0x44308E,AddWeaponRack
1290
+ 0x4430C0,AddTorturedBody
1291
+ 0x4430EE,GetRndObjLoc
1292
+ 0x443178,AddMushPatch
1293
+ 0x4431D4,AddSlainHero
1294
+ 0x4431FF,AddObject
1295
+ 0x4434CB,Obj_Light
1296
+ 0x4435B5,Obj_Circle
1297
+ 0x443727,Obj_StopAnim
1298
+ 0x44374A,Obj_Door
1299
+ 0x4437CD,Obj_Sarc
1300
+ 0x4437E6,ActivateTrapLine
1301
+ 0x443855,Obj_FlameTrap
1302
+ 0x443966,Obj_Trap
1303
+ 0x443AD5,Obj_BCrossDamage
1304
+ 0x443BD2,ProcessObjects
1305
+ 0x443D69,ObjSetMicro
1306
+ 0x443DEA,objects_set_door_piece
1307
+ 0x443E62,ObjSetMini
1308
+ 0x443EDA,ObjL1Special
1309
+ 0x443FC6,ObjL2Special
1310
+ 0x4440C2,DoorSet
1311
+ 0x444246,RedoPlayerVision
1312
+ 0x44427B,OperateL1RDoor
1313
+ 0x44443C,OperateL1LDoor
1314
+ 0x444613,OperateL2RDoor
1315
+ 0x444775,OperateL2LDoor
1316
+ 0x4448D7,OperateL3RDoor
1317
+ 0x444A3C,OperateL3LDoor
1318
+ 0x444BA1,MonstCheckDoors
1319
+ 0x444DC3,ObjChangeMap
1320
+ 0x444E9E,ObjChangeMapResync
1321
+ 0x444F4F,OperateL1Door
1322
+ 0x444FDE,OperateLever
1323
+ 0x4450AC,OperateBook
1324
+ 0x4452D1,OperateBookLever
1325
+ 0x445483,OperateSChambBk
1326
+ 0x44555A,OperateChest
1327
+ 0x4456E3,OperateMushPatch
1328
+ 0x4457B8,OperateInnSignChest
1329
+ 0x445880,OperateSlainHero
1330
+ 0x445954,OperateTrapLvr
1331
+ 0x445A0B,OperateSarc
1332
+ 0x445ADC,OperateL2Door
1333
+ 0x445B6C,OperateL3Door
1334
+ 0x445BFC,OperatePedistal
1335
+ 0x445D5F,TryDisarm
1336
+ 0x445E33,ItemMiscIdIdx
1337
+ 0x445E4B,OperateShrine
1338
+ 0x446E6A,OperateSkelBook
1339
+ 0x446F08,OperateBookCase
1340
+ 0x446FE8,OperateDecap
1341
+ 0x447046,OperateArmorStand
1342
+ 0x44710C,FindValidShrine
1343
+ 0x44715F,OperateGoatShrine
1344
+ 0x4471AA,OperateCauldron
1345
+ 0x4471FC,OperateFountains
1346
+ 0x4474AD,OperateWeaponRack
1347
+ 0x447558,OperateStoryBook
1348
+ 0x4475BB,OperateLazStand
1349
+ 0x447620,OperateObject
1350
+ 0x447932,SyncOpL1Door
1351
+ 0x4479A3,SyncOpL2Door
1352
+ 0x447A15,SyncOpL3Door
1353
+ 0x447A87,SyncOpObject
1354
+ 0x447C2D,BreakCrux
1355
+ 0x447CEF,BreakBarrel
1356
+ 0x447F63,BreakObject
1357
+ 0x447FEF,SyncBreakObj
1358
+ 0x448010,SyncL1Doors
1359
+ 0x4480BB,SyncCrux
1360
+ 0x448139,SyncLever
1361
+ 0x448163,SyncQSTLever
1362
+ 0x4481D2,SyncPedistal
1363
+ 0x448298,SyncL2Doors
1364
+ 0x44831E,SyncL3Doors
1365
+ 0x4483B0,SyncObjectAnim
1366
+ 0x44845E,GetObjectStr
1367
+ 0x448765,PackPlayer
1368
+ 0x448953,PackItem
1369
+ 0x448A5E,VerifyGoldSeeds
1370
+ 0x448AD0,UnPackPlayer
1371
+ 0x448D48,UnPackItem
1372
+ 0x448E05,SaveGamma
1373
+ 0x448E33,palette_init
1374
+ 0x448EAB,LoadGamma
1375
+ 0x448F20,LoadSysPal
1376
+ 0x448FC9,LoadPalette
1377
+ 0x449025,LoadRndLvlPal
1378
+ 0x44906C,ResetPal
1379
+ 0x449097,IncreaseGamma
1380
+ 0x4490D0,palette_update
1381
+ 0x449107,ApplyGamma
1382
+ 0x4491D0,DecreaseGamma
1383
+ 0x449209,UpdateGamma
1384
+ 0x44923E,BlackPalette
1385
+ 0x449245,SetFadeLevel
1386
+ 0x4492B0,PaletteFadeIn
1387
+ 0x449306,PaletteFadeOut
1388
+ 0x449336,palette_update_caves
1389
+ 0x449398,palette_update_quest_palette
1390
+ 0x4493C6,palette_get_color_cycling
1391
+ 0x4493CC,palette_set_color_cycling
1392
+ 0x4493D4,FindPath
1393
+ 0x4494D3,path_get_h_cost
1394
+ 0x449504,path_check_equal
1395
+ 0x44951C,GetNextPath
1396
+ 0x449546,path_solid_pieces
1397
+ 0x4495ED,path_get_path
1398
+ 0x44966F,path_parent_path
1399
+ 0x44979A,path_get_node1
1400
+ 0x4497B3,path_get_node2
1401
+ 0x4497CC,path_next_node
1402
+ 0x4497F7,path_set_coords
1403
+ 0x449890,path_push_active_step
1404
+ 0x4498A3,path_pop_active_step
1405
+ 0x4498B6,path_new_step
1406
+ 0x4498FC,pfile_init_save_directory
1407
+ 0x44995B,pfile_check_available_space
1408
+ 0x4499C3,pfile_write_hero
1409
+ 0x449A33,pfile_get_save_num_from_name
1410
+ 0x449A5B,pfile_encode_hero
1411
+ 0x449ADF,pfile_open_archive
1412
+ 0x449B30,pfile_get_save_path
1413
+ 0x449BB2,pfile_flush
1414
+ 0x449BE4,pfile_create_player_description
1415
+ 0x449C5A,pfile_rename_hero
1416
+ 0x449D22,pfile_flush_W
1417
+ 0x449D43,game_2_ui_player
1418
+ 0x449DD0,game_2_ui_class
1419
+ 0x449DE3,pfile_ui_set_hero_infos
1420
+ 0x449FAA,GetSaveDirectory
1421
+ 0x44A036,pfile_read_hero
1422
+ 0x44A158,pfile_open_save_archive
1423
+ 0x44A192,pfile_SFileCloseArchive
1424
+ 0x44A199,pfile_archive_contains_game
1425
+ 0x44A1CC,pfile_ui_set_class_stats
1426
+ 0x44A210,pfile_get_player_class
1427
+ 0x44A220,pfile_ui_save_create
1428
+ 0x44A2FF,pfile_get_file_name
1429
+ 0x44A356,pfile_delete_save
1430
+ 0x44A3A0,pfile_read_player_from_save
1431
+ 0x44A419,GetTempLevelNames
1432
+ 0x44A463,GetPermLevelNames
1433
+ 0x44A4E9,pfile_get_game_name
1434
+ 0x44A512,pfile_remove_temp_files
1435
+ 0x44A563,GetTempSaveNames
1436
+ 0x44A598,pfile_rename_temp_to_perm
1437
+ 0x44A644,GetPermSaveNames
1438
+ 0x44A679,pfile_write_save_file
1439
+ 0x44A727,pfile_strcpy
1440
+ 0x44A731,pfile_read
1441
+ 0x44A8B3,pfile_update
1442
+ 0x44A8F6,SetPlayerGPtrs
1443
+ 0x44A911,LoadPlrGFX
1444
+ 0x44AB70,InitPlayerGFX
1445
+ 0x44ABB4,InitPlrGFXMem
1446
+ 0x44ADC8,GetPlrGFXSize
1447
+ 0x44AE89,FreePlayerGFX
1448
+ 0x44AF37,NewPlrAnim
1449
+ 0x44AF9C,ClearPlrPVars
1450
+ 0x44AFED,SetPlrAnims
1451
+ 0x44B1FD,ClearPlrRVars
1452
+ 0x44B274,CreatePlayer
1453
+ 0x44B582,CalcStatDiff
1454
+ 0x44B5C3,NextPlrLevel
1455
+ 0x44B6C8,AddPlrExperience
1456
+ 0x44B7F8,AddPlrMonstExper
1457
+ 0x44B83C,InitPlayer
1458
+ 0x44BB33,InitMultiView
1459
+ 0x44BB6D,CheckEFlag
1460
+ 0x44BCC2,SolidLoc
1461
+ 0x44BCEB,PlrDirOK
1462
+ 0x44BD9A,PlrClrTrans
1463
+ 0x44BDDD,PlrDoTrans
1464
+ 0x44BE5E,SetPlayerOld
1465
+ 0x44BE95,FixPlayerLocation
1466
+ 0x44BF2D,StartStand
1467
+ 0x44BFE8,StartWalkStand
1468
+ 0x44C070,PM_ChangeLightOff
1469
+ 0x44C13D,PM_ChangeOffset
1470
+ 0x44C1E2,StartWalk
1471
+ 0x44C3AC,StartWalk2
1472
+ 0x44C5CF,StartWalk3
1473
+ 0x44C81E,StartAttack
1474
+ 0x44C8BB,StartRangeAttack
1475
+ 0x44C973,StartPlrBlock
1476
+ 0x44CA26,StartSpell
1477
+ 0x44CB95,FixPlrWalkTags
1478
+ 0x44CC62,RemovePlrFromMap
1479
+ 0x44CCD8,StartPlrHit
1480
+ 0x44CDFD,RespawnDeadItem
1481
+ 0x44CEC9,StartPlayerKill
1482
+ 0x44D1F4,PlrDeadItem
1483
+ 0x44D2F3,DropHalfPlayersGold
1484
+ 0x44D70B,SyncPlrKill
1485
+ 0x44D7A0,RemovePlrMissiles
1486
+ 0x44D8D1,InitLevelChange
1487
+ 0x44D973,StartNewLvl
1488
+ 0x44DA6F,RestartTownLvl
1489
+ 0x44DAFC,StartWarpLvl
1490
+ 0x44DB74,PM_DoStand
1491
+ 0x44DB77,PM_DoWalk
1492
+ 0x44DCE5,PM_DoWalk2
1493
+ 0x44DE30,PM_DoWalk3
1494
+ 0x44DFB1,WeaponDur
1495
+ 0x44E0BC,PlrHitMonst
1496
+ 0x44E442,PlrHitPlr
1497
+ 0x44E669,PlrHitObj
1498
+ 0x44E6A6,PM_DoAttack
1499
+ 0x44E8B8,PM_DoRangeAttack
1500
+ 0x44E9AC,ShieldDur
1501
+ 0x44EA4D,PM_DoBlock
1502
+ 0x44EAC6,PM_DoSpell
1503
+ 0x44EC06,PM_DoGotHit
1504
+ 0x44ECBC,ArmorDur
1505
+ 0x44ED7B,PM_DoDeath
1506
+ 0x44DB74,PM_DoNewLvl
1507
+ 0x44EE22,CheckNewPath
1508
+ 0x44F9BA,PlrDeathModeOK
1509
+ 0x44F9FC,ValidatePlayer
1510
+ 0x44FB32,ProcessPlayers
1511
+ 0x44FD31,CheckCheatStats
1512
+ 0x44FD8A,ClrPlrPath
1513
+ 0x44FDBA,PosOkPlayer
1514
+ 0x44FE9E,MakePlrPath
1515
+ 0x44FF6F,CheckPlrSpell
1516
+ 0x450217,SyncPlrAnim
1517
+ 0x45036D,SyncInitPlrPos
1518
+ 0x4504E4,SyncInitPlr
1519
+ 0x450508,CheckStats
1520
+ 0x450621,ModifyPlrStr
1521
+ 0x4506DB,ModifyPlrMag
1522
+ 0x450788,ModifyPlrDex
1523
+ 0x45082C,ModifyPlrVit
1524
+ 0x4508CF,SetPlayerHitPoints
1525
+ 0x45091E,SetPlrStr
1526
+ 0x450993,SetPlrMag
1527
+ 0x4509DF,SetPlrDex
1528
+ 0x450A54,SetPlrVit
1529
+ 0x450AA0,InitDungMsgs
1530
+ 0x450AC4,PlayDungMsgs
1531
+ 0x450D33,plrmsg_delay
1532
+ 0x450D6A,ErrorPlrMsg
1533
+ 0x450DB3,EventPlrMsg
1534
+ 0x450DFA,SendPlrMsg
1535
+ 0x450E64,ClearPlrMsg
1536
+ 0x450E8E,InitPlrMsg
1537
+ 0x450EAA,DrawPlrMsg
1538
+ 0x450F37,PrintPlrMsg
1539
+ 0x450FFE,InitPortals
1540
+ 0x451024,SetPortalStats
1541
+ 0x451062,AddWarpMissile
1542
+ 0x4510D6,SyncPortals
1543
+ 0x451131,AddInTownPortal
1544
+ 0x451145,ActivatePortal
1545
+ 0x45118A,DeactivatePortal
1546
+ 0x451196,PortalOnLevel
1547
+ 0x4511B8,RemovePortalMissile
1548
+ 0x451234,SetCurrentPortal
1549
+ 0x45123B,GetPortalLevel
1550
+ 0x4512E3,GetPortalLvlPos
1551
+ 0x451346,PosOkPortal
1552
+ 0x45138E,InitQuests
1553
+ 0x45155C,CheckQuests
1554
+ 0x45178F,ForceQuests
1555
+ 0x451831,QuestStatus
1556
+ 0x451871,CheckQuestKill
1557
+ 0x451BEA,DrawButcher
1558
+ 0x451C11,DrawSkelKing
1559
+ 0x451C32,DrawWarLord
1560
+ 0x451CC2,DrawSChamber
1561
+ 0x451D7C,DrawLTBanner
1562
+ 0x451E08,DrawBlind
1563
+ 0x451E94,DrawBlood
1564
+ 0x451F20,DRLG_CheckQuests
1565
+ 0x451FB1,SetReturnLvlPos
1566
+ 0x452064,GetReturnLvlPos
1567
+ 0x45209D,ResyncMPQuests
1568
+ 0x452159,ResyncQuests
1569
+ 0x45247F,PrintQLString
1570
+ 0x4525CD,DrawQuestLog
1571
+ 0x452659,StartQuestlog
1572
+ 0x4526C9,QuestlogUp
1573
+ 0x452710,QuestlogDown
1574
+ 0x45275A,QuestlogEnter
1575
+ 0x45279C,QuestlogESC
1576
+ 0x4527F1,SetMultiQuest
1577
+ 0x452831,SystemSupported
1578
+ 0x452885,RestrictedTest
1579
+ 0x4528F7,ReadOnlyTest
1580
+ 0x452985,ClearCursor
1581
+ 0x452994,DrawMissile
1582
+ 0x452B2A,DrawClippedMissile
1583
+ 0x452CC0,DrawDeadPlayer
1584
+ 0x452DA0,DrawPlayer
1585
+ 0x452F8B,DrawClippedPlayer
1586
+ 0x453160,DrawView
1587
+ 0x453272,DrawGame
1588
+ 0x453477,scrollrt_draw_lower
1589
+ 0x4538E2,scrollrt_draw_clipped_dungeon
1590
+ 0x453ED9,DrawClippedMonster
1591
+ 0x453FCC,DrawClippedObject
1592
+ 0x4540E5,scrollrt_draw_clipped_e_flag
1593
+ 0x454229,scrollrt_draw_lower_2
1594
+ 0x4545D2,scrollrt_draw_clipped_dungeon_2
1595
+ 0x454C09,scrollrt_draw_clipped_e_flag_2
1596
+ 0x454D9D,scrollrt_draw_upper
1597
+ 0x455217,scrollrt_draw_dungeon
1598
+ 0x455844,DrawMonster
1599
+ 0x455937,DrawObject
1600
+ 0x455A7D,scrollrt_draw_e_flag
1601
+ 0x455BD4,DrawZoom
1602
+ 0x455E32,ClearScreenBuffer
1603
+ 0x455E65,scrollrt_draw_game_screen
1604
+ 0x455EC7,scrollrt_draw_cursor_back_buffer
1605
+ 0x455F56,scrollrt_draw_cursor_item
1606
+ 0x456124,DrawMain
1607
+ 0x4563B3,DoBlitScreen
1608
+ 0x4564F9,DrawAndBlit
1609
+ 0x456625,ObjIndex
1610
+ 0x45666B,AddSKingObjs
1611
+ 0x45671A,AddSChamObjs
1612
+ 0x456755,AddVileObjs
1613
+ 0x4567AD,DRLG_SetMapTrans
1614
+ 0x456819,LoadSetMap
1615
+ 0x456A16,SHA1Clear
1616
+ 0x456A2B,SHA1Result
1617
+ 0x456A4D,SHA1Calculate
1618
+ 0x456A73,SHA1Input
1619
+ 0x456AC4,SHA1ProcessMessageBlock
1620
+ 0x456C82,SHA1Reset
1621
+ 0x456C90,SHA1Init
1622
+ 0x456CCB,snd_update
1623
+ 0x456D22,snd_stop_snd
1624
+ 0x456D34,snd_playing
1625
+ 0x456D60,snd_play_snd
1626
+ 0x456E39,sound_dup_channel
1627
+ 0x456E74,sound_file_reload
1628
+ 0x456F07,sound_file_load
1629
+ 0x457003,sound_CreateSoundBuffer
1630
+ 0x457060,sound_file_cleanup
1631
+ 0x45708B,snd_init
1632
+ 0x45712B,snd_get_volume
1633
+ 0x45717C,sound_create_primary_buffer
1634
+ 0x45727E,sound_DirectSoundCreate
1635
+ 0x4572FF,sound_cleanup
1636
+ 0x457358,snd_set_volume
1637
+ 0x457367,music_stop
1638
+ 0x457393,music_start
1639
+ 0x4573FE,sound_disable_music
1640
+ 0x457418,sound_get_or_set_music_volume
1641
+ 0x45743B,sound_get_or_set_sound_volume
1642
+ 0x45744E,GetManaAmount
1643
+ 0x45753A,UseMana
1644
+ 0x457584,CheckSpell
1645
+ 0x4575D5,CastSpell
1646
+ 0x4576B1,DoResurrect
1647
+ 0x4577CB,PlacePlayer
1648
+ 0x4578EE,DoHealOther
1649
+ 0x457A01,InitStores
1650
+ 0x457A87,SetupTownStores
1651
+ 0x457B42,FreeStoreMem
1652
+ 0x457B78,DrawSTextBack
1653
+ 0x457BD6,PrintSString
1654
+ 0x457DE2,DrawSLine
1655
+ 0x457E62,DrawSSlider
1656
+ 0x457F52,DrawSTextHelp
1657
+ 0x457F61,ClearSText
1658
+ 0x457FA6,AddSLine
1659
+ 0x457FCB,AddSTextVal
1660
+ 0x457FD8,OffsetSTextY
1661
+ 0x457FE5,AddSText
1662
+ 0x458036,StoreAutoPlace
1663
+ 0x4582B3,S_StartSmith
1664
+ 0x45837D,S_ScrollSBuy
1665
+ 0x458439,PrintStoreItem
1666
+ 0x4586B3,S_StartSBuy
1667
+ 0x458773,S_ScrollSPBuy
1668
+ 0x458851,S_StartSPBuy
1669
+ 0x458931,SmithSellOk
1670
+ 0x458972,S_ScrollSSell
1671
+ 0x458A59,S_StartSSell
1672
+ 0x458C0B,SmithRepairOk
1673
+ 0x458C4E,S_StartSRepair
1674
+ 0x458E9A,AddStoreHoldRepair
1675
+ 0x458F3D,S_StartWitch
1676
+ 0x458FE3,S_ScrollWBuy
1677
+ 0x45909F,S_StartWBuy
1678
+ 0x459169,WitchSellOk
1679
+ 0x4591C4,S_StartWSell
1680
+ 0x459431,WitchRechargeOk
1681
+ 0x459460,AddStoreHoldRecharge
1682
+ 0x4594E6,S_StartWRecharge
1683
+ 0x459693,S_StartNoMoney
1684
+ 0x4596CD,S_StartNoRoom
1685
+ 0x459700,S_StartConfirm
1686
+ 0x459873,S_StartBoy
1687
+ 0x459930,S_StartBBoy
1688
+ 0x4599FD,S_StartHealer
1689
+ 0x459AA5,S_ScrollHBuy
1690
+ 0x459B55,S_StartHBuy
1691
+ 0x459C15,S_StartStory
1692
+ 0x459C8E,IdItemOk
1693
+ 0x459CA2,AddStoreHoldId
1694
+ 0x459CE6,S_StartSIdentify
1695
+ 0x459F95,S_StartIdShow
1696
+ 0x45A046,S_StartTalk
1697
+ 0x45A168,S_StartTavern
1698
+ 0x45A1EC,S_StartBarMaid
1699
+ 0x45A25E,S_StartDrunk
1700
+ 0x45A2D0,StartStore
1701
+ 0x45A48F,DrawSText
1702
+ 0x45A584,STextESC
1703
+ 0x45A6AF,STextUp
1704
+ 0x45A757,STextDown
1705
+ 0x45A804,STextPrior
1706
+ 0x45A84E,STextNext
1707
+ 0x45A89B,S_SmithEnter
1708
+ 0x45A904,SetGoldCurs
1709
+ 0x45A94A,SetSpdbarGoldCurs
1710
+ 0x45A990,TakePlrsMoney
1711
+ 0x45AB69,SmithBuyItem
1712
+ 0x45AC14,S_SBuyEnter
1713
+ 0x45ACE9,SmithBuyPItem
1714
+ 0x45AD7E,S_SPBuyEnter
1715
+ 0x45AE72,StoreGoldFit
1716
+ 0x45AF48,PlaceStoreGold
1717
+ 0x45B010,StoreSellItem
1718
+ 0x45B160,S_SSellEnter
1719
+ 0x45B1DF,SmithRepairItem
1720
+ 0x45B2B6,S_SRepairEnter
1721
+ 0x45B337,S_WitchEnter
1722
+ 0x45B39F,WitchBuyItem
1723
+ 0x45B457,S_WBuyEnter
1724
+ 0x45B52C,S_WSellEnter
1725
+ 0x45B5AB,WitchRechargeItem
1726
+ 0x45B634,S_WRechargeEnter
1727
+ 0x45B6B5,S_BoyEnter
1728
+ 0x45B757,BoyBuyItem
1729
+ 0x45B791,HealerBuyItem
1730
+ 0x45B895,S_BBuyEnter
1731
+ 0x45B968,StoryIdItem
1732
+ 0x45BA57,S_ConfirmEnter
1733
+ 0x45BAF7,S_HealerEnter
1734
+ 0x45BB9F,S_HBuyEnter
1735
+ 0x45BC74,S_StoryEnter
1736
+ 0x45BCCA,S_SIDEnter
1737
+ 0x45BD4B,S_TalkEnter
1738
+ 0x45BE4A,S_TavernEnter
1739
+ 0x45BE98,S_BarmaidEnter
1740
+ 0x45BEE6,S_DrunkEnter
1741
+ 0x45BF34,STextEnter
1742
+ 0x45C053,CheckStoreBtn
1743
+ 0x45C18A,ReleaseStoreBtn
1744
+ 0x45C199,sync_all_monsters
1745
+ 0x45C21E,sync_one_monster
1746
+ 0x45C2C4,sync_monster_active
1747
+ 0x45C317,sync_monster_pos
1748
+ 0x45C386,sync_monster_active2
1749
+ 0x45C3E6,SyncPlrInv
1750
+ 0x45C5C7,sync_update
1751
+ 0x45C63B,sync_monster
1752
+ 0x45C84B,sync_init
1753
+ 0x45C870,TFit_Shrine
1754
+ 0x45C993,TFit_Obj5
1755
+ 0x45CA72,TFit_SkelRoom
1756
+ 0x45CAC4,TFit_GoatShrine
1757
+ 0x45CB09,CheckThemeObj3
1758
+ 0x45CB88,TFit_Obj3
1759
+ 0x45CBE4,CheckThemeReqs
1760
+ 0x45CC64,SpecialThemeFit
1761
+ 0x45CD9A,CheckThemeRoom
1762
+ 0x45CED2,InitThemes
1763
+ 0x45D087,HoldThemeRooms
1764
+ 0x45D0E1,PlaceThemeMonsts
1765
+ 0x45D1C2,Theme_Barrel
1766
+ 0x45D29A,Theme_Shrine
1767
+ 0x45D34D,Theme_MonstPit
1768
+ 0x45D3E6,Theme_SkelRoom
1769
+ 0x45D5BC,Theme_Treasure
1770
+ 0x45D707,Theme_Library
1771
+ 0x45D88A,Theme_Torture
1772
+ 0x45D95D,Theme_BloodFountain
1773
+ 0x45D9A3,Theme_Decap
1774
+ 0x45DA76,Theme_PurifyingFountain
1775
+ 0x45DABC,Theme_ArmorStand
1776
+ 0x45DBAD,Theme_GoatShrine
1777
+ 0x45DC7B,Theme_Cauldron
1778
+ 0x45DCC1,Theme_MurkyFountain
1779
+ 0x45DD07,Theme_TearFountain
1780
+ 0x45DD4D,Theme_BrnCross
1781
+ 0x45DE20,Theme_WeaponRack
1782
+ 0x45DF11,UpdateL4Trans
1783
+ 0x45DF31,CreateThemeRooms
1784
+ 0x45E08C,tmsg_get
1785
+ 0x45E0D7,tmsg_add
1786
+ 0x45E12A,tmsg_cleanup
1787
+ 0x45E151,town_clear_upper_buf
1788
+ 0x45E1B7,town_clear_low_buf
1789
+ 0x45E226,town_draw_clipped_e_flag
1790
+ 0x45E2A5,town_draw_clipped_town
1791
+ 0x45E5B0,town_draw_lower
1792
+ 0x45E898,town_draw_clipped_e_flag_2
1793
+ 0x45E939,town_draw_clipped_town_2
1794
+ 0x45EC49,town_draw_lower_2
1795
+ 0x45EF8A,town_draw_e_flag
1796
+ 0x45F013,town_draw_town_all
1797
+ 0x45F323,town_draw_upper
1798
+ 0x45F65D,T_DrawGame
1799
+ 0x45F856,T_DrawZoom
1800
+ 0x45FAAB,T_DrawView
1801
+ 0x45FBD7,SetTownMicros
1802
+ 0x45FCBF,T_FillSector
1803
+ 0x45FD75,T_FillTile
1804
+ 0x45FDE6,T_Pass3
1805
+ 0x45FF83,CreateTown
1806
+ 0x46019B,GetActiveTowner
1807
+ 0x4601C1,SetTownerGPtrs
1808
+ 0x4601FB,NewTownerAnim
1809
+ 0x46022F,InitTownerInfo
1810
+ 0x4602C4,InitQstSnds
1811
+ 0x460311,InitSmith
1812
+ 0x4603A0,InitBarOwner
1813
+ 0x460436,InitTownDead
1814
+ 0x4604C6,InitWitch
1815
+ 0x460555,InitBarmaid
1816
+ 0x4605E4,InitBoy
1817
+ 0x46067A,InitHealer
1818
+ 0x460709,InitTeller
1819
+ 0x460798,InitDrunk
1820
+ 0x460827,InitCows
1821
+ 0x460976,InitTowners
1822
+ 0x4609C3,FreeTownerGFX
1823
+ 0x460A05,TownCtrlMsg
1824
+ 0x460A78,TownBlackSmith
1825
+ 0x460A86,TownBarOwner
1826
+ 0x460A95,TownDead
1827
+ 0x460B0D,TownHealer
1828
+ 0x460B1C,TownStory
1829
+ 0x460B2B,TownDrunk
1830
+ 0x460B3A,TownBoy
1831
+ 0x460B49,TownWitch
1832
+ 0x460B58,TownBarMaid
1833
+ 0x460B67,TownCow
1834
+ 0x460B76,ProcessTowners
1835
+ 0x460C5C,PlrHasItem
1836
+ 0x460CAC,TownerTalk
1837
+ 0x460CC9,TalkToTowner
1838
+ 0x4617E8,CowSFX
1839
+ 0x4618B5,track_process
1840
+ 0x461953,track_repeat_walk
1841
+ 0x46199F,track_isscrolling
1842
+ 0x4619A7,InitNoTriggers
1843
+ 0x4619B6,InitTownTriggers
1844
+ 0x461B45,InitL1Triggers
1845
+ 0x461BEE,InitL2Triggers
1846
+ 0x461CF6,InitL3Triggers
1847
+ 0x461DC6,InitL4Triggers
1848
+ 0x461F0A,InitSKingTriggers
1849
+ 0x461F3A,InitSChambTriggers
1850
+ 0x461F6A,InitPWaterTriggers
1851
+ 0x461F9A,InitVPTriggers
1852
+ 0x461FCA,ForceTownTrig
1853
+ 0x462130,ForceL1Trig
1854
+ 0x46224C,ForceL2Trig
1855
+ 0x46244F,ForceL3Trig
1856
+ 0x46262D,ForceL4Trig
1857
+ 0x462876,Freeupstairs
1858
+ 0x4628B7,ForceSKingTrig
1859
+ 0x46291F,ForceSChambTrig
1860
+ 0x462987,ForcePWaterTrig
1861
+ 0x4629EF,CheckTrigForce
1862
+ 0x462A9D,CheckTriggers
1863
+ 0x462C7D,WCloseFile
1864
+ 0x462C84,WGetFileSize
1865
+ 0x462CAF,WGetFileArchive
1866
+ 0x462D06,WOpenFile
1867
+ 0x462D48,WReadFile
1868
+ 0x462D9A,WSetFilePointer
1869
+ 0x462DCE,LoadWaveFormat
1870
+ 0x462DFC,AllocateMemFile
1871
+ 0x462E45,FreeMemFile
1872
+ 0x462E53,ReadWaveFile
1873
+ 0x462F1D,ReadMemFile
1874
+ 0x462F73,FillMemFile
1875
+ 0x462FAE,SeekMemFile
1876
+ 0x462FCC,ReadWaveSection
1877
+ 0x463023,LoadWaveFile
1878
+ 0x463060,drawTopArchesUpperScreen
1879
+ 0x46468D,drawBottomArchesUpperScreen
1880
+ 0x4652C5,drawUpperScreen
1881
+ 0x465F38,drawTopArchesLowerScreen
1882
+ 0x467949,drawBottomArchesLowerScreen
1883
+ 0x46886B,drawLowerScreen
1884
+ 0x4696BE,world_draw_black_tile
sources/devilution/structs.h ADDED
@@ -0,0 +1,1683 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * @file structs.h
3
+ *
4
+ * Various global structures.
5
+ */
6
+
7
+ //////////////////////////////////////////////////
8
+ // control
9
+ //////////////////////////////////////////////////
10
+
11
+ typedef struct RECT32 {
12
+ int x;
13
+ int y;
14
+ int w;
15
+ int h;
16
+ } RECT32;
17
+
18
+ //////////////////////////////////////////////////
19
+ // items
20
+ //////////////////////////////////////////////////
21
+
22
+ typedef struct PLStruct {
23
+ const char *PLName;
24
+ int PLPower;
25
+ int PLParam1;
26
+ int PLParam2;
27
+ char PLMinLvl;
28
+ int PLIType;
29
+ BYTE PLGOE;
30
+ BOOL PLDouble;
31
+ BOOL PLOk;
32
+ int PLMinVal;
33
+ int PLMaxVal;
34
+ int PLMultVal;
35
+ } PLStruct;
36
+
37
+ typedef struct UItemStruct {
38
+ const char *UIName;
39
+ char UIItemId;
40
+ char UIMinLvl;
41
+ char UINumPL;
42
+ int UIValue;
43
+ char UIPower1;
44
+ int UIParam1;
45
+ int UIParam2;
46
+ char UIPower2;
47
+ int UIParam3;
48
+ int UIParam4;
49
+ char UIPower3;
50
+ int UIParam5;
51
+ int UIParam6;
52
+ char UIPower4;
53
+ int UIParam7;
54
+ int UIParam8;
55
+ char UIPower5;
56
+ int UIParam9;
57
+ int UIParam10;
58
+ char UIPower6;
59
+ int UIParam11;
60
+ int UIParam12;
61
+ } UItemStruct;
62
+
63
+ typedef struct ItemDataStruct {
64
+ int iRnd;
65
+ char iClass;
66
+ char iLoc;
67
+ int iCurs;
68
+ char itype;
69
+ char iItemId;
70
+ const char *iName;
71
+ const char *iSName;
72
+ char iMinMLvl;
73
+ int iDurability;
74
+ int iMinDam;
75
+ int iMaxDam;
76
+ int iMinAC;
77
+ int iMaxAC;
78
+ char iMinStr;
79
+ char iMinMag;
80
+ char iMinDex;
81
+ // item_special_effect
82
+ int iFlags;
83
+ // item_misc_id
84
+ int iMiscId;
85
+ // spell_id
86
+ int iSpell;
87
+ BOOL iUsable;
88
+ int iValue;
89
+ int iMaxValue;
90
+ } ItemDataStruct;
91
+
92
+ typedef struct ItemGetRecordStruct {
93
+ int nSeed;
94
+ unsigned short wCI;
95
+ int nIndex;
96
+ unsigned int dwTimestamp;
97
+ } ItemGetRecordStruct;
98
+
99
+ typedef struct ItemStruct {
100
+ int _iSeed;
101
+ WORD _iCreateInfo;
102
+ int _itype;
103
+ int _ix;
104
+ int _iy;
105
+ BOOL _iAnimFlag;
106
+ unsigned char *_iAnimData; // PSX name -> ItemFrame
107
+ int _iAnimLen; // Number of frames in current animation
108
+ int _iAnimFrame; // Current frame of animation.
109
+ int _iAnimWidth;
110
+ int _iAnimWidth2; // width 2?
111
+ BOOL _iDelFlag; // set when item is flagged for deletion, deprecated in 1.02
112
+ char _iSelFlag;
113
+ BOOL _iPostDraw;
114
+ BOOL _iIdentified;
115
+ char _iMagical;
116
+ char _iName[64];
117
+ char _iIName[64];
118
+ char _iLoc;
119
+ // item_class enum
120
+ char _iClass;
121
+ int _iCurs;
122
+ int _ivalue;
123
+ int _iIvalue;
124
+ int _iMinDam;
125
+ int _iMaxDam;
126
+ int _iAC;
127
+ // item_special_effect
128
+ int _iFlags;
129
+ // item_misc_id
130
+ int _iMiscId;
131
+ // spell_id
132
+ int _iSpell;
133
+ int _iCharges;
134
+ int _iMaxCharges;
135
+ int _iDurability;
136
+ int _iMaxDur;
137
+ int _iPLDam;
138
+ int _iPLToHit;
139
+ int _iPLAC;
140
+ int _iPLStr;
141
+ int _iPLMag;
142
+ int _iPLDex;
143
+ int _iPLVit;
144
+ int _iPLFR;
145
+ int _iPLLR;
146
+ int _iPLMR;
147
+ int _iPLMana;
148
+ int _iPLHP;
149
+ int _iPLDamMod;
150
+ int _iPLGetHit;
151
+ int _iPLLight;
152
+ char _iSplLvlAdd;
153
+ char _iRequest;
154
+ int _iUid;
155
+ int _iFMinDam;
156
+ int _iFMaxDam;
157
+ int _iLMinDam;
158
+ int _iLMaxDam;
159
+ int _iPLEnAc;
160
+ char _iPrePower;
161
+ char _iSufPower;
162
+ int _iVAdd1;
163
+ int _iVMult1;
164
+ int _iVAdd2;
165
+ int _iVMult2;
166
+ char _iMinStr;
167
+ unsigned char _iMinMag;
168
+ char _iMinDex;
169
+ BOOL _iStatFlag;
170
+ int IDidx;
171
+ int offs016C; // _oldlight or _iInvalid
172
+ #ifdef HELLFIRE
173
+ int _iDamAcFlags;
174
+ #endif
175
+ } ItemStruct;
176
+
177
+ //////////////////////////////////////////////////
178
+ // player
179
+ //////////////////////////////////////////////////
180
+
181
+ typedef struct PlayerStruct {
182
+ int _pmode;
183
+ char walkpath[MAX_PATH_LENGTH];
184
+ BOOLEAN plractive;
185
+ int destAction;
186
+ int destParam1;
187
+ int destParam2;
188
+ int destParam3;
189
+ int destParam4;
190
+ int plrlevel;
191
+ int _px; // Tile X-position of player
192
+ int _py; // Tile Y-position of player
193
+ int _pfutx; // Future tile X-position of player. Set at start of walking animation
194
+ int _pfuty; // Future tile Y-position of player. Set at start of walking animation
195
+ int _ptargx; // Target tile X-position for player movment. Set during pathfinding
196
+ int _ptargy; // Target tile Y-position for player movment. Set during pathfinding
197
+ int _pownerx; // Tile X-position of player. Set via network on player input
198
+ int _pownery; // Tile X-position of player. Set via network on player input
199
+ int _poldx; // Most recent X-position in dPlayer.
200
+ int _poldy; // Most recent Y-position in dPlayer.
201
+ int _pxoff; // Player sprite's pixel X-offset from tile.
202
+ int _pyoff; // Player sprite's pixel Y-offset from tile.
203
+ int _pxvel; // Pixel X-velocity while walking. Indirectly applied to _pxoff via _pvar6
204
+ int _pyvel; // Pixel Y-velocity while walking. Indirectly applied to _pyoff via _pvar7
205
+ int _pdir; // Direction faced by player (direction enum)
206
+ int _nextdir; // Unused
207
+ int _pgfxnum; // Bitmask indicating what variant of the sprite the player is using. Lower byte define weapon (anim_weapon_id) and higher values define armour (starting with anim_armor_id)
208
+ unsigned char *_pAnimData;
209
+ int _pAnimDelay; // Tick length of each frame in the current animation
210
+ int _pAnimCnt; // Increases by one each game tick, counting how close we are to _pAnimDelay
211
+ int _pAnimLen; // Number of frames in current animation
212
+ int _pAnimFrame; // Current frame of animation.
213
+ int _pAnimWidth;
214
+ int _pAnimWidth2;
215
+ int _peflag;
216
+ int _plid;
217
+ int _pvid;
218
+ int _pSpell;
219
+ char _pSplType;
220
+ char _pSplFrom;
221
+ int _pTSpell;
222
+ char _pTSplType;
223
+ int _pRSpell;
224
+ // enum spell_type
225
+ char _pRSplType;
226
+ int _pSBkSpell;
227
+ char _pSBkSplType;
228
+ char _pSplLvl[64];
229
+ unsigned __int64 _pMemSpells; // Bitmask of learned spells
230
+ unsigned __int64 _pAblSpells; // Bitmask of abilities
231
+ unsigned __int64 _pScrlSpells; // Bitmask of spells avalible via scrolls
232
+ UCHAR _pSpellFlags;
233
+ int _pSplHotKey[4];
234
+ char _pSplTHotKey[4];
235
+ int _pwtype;
236
+ BOOLEAN _pBlockFlag;
237
+ BOOLEAN _pInvincible;
238
+ char _pLightRad;
239
+ BOOLEAN _pLvlChanging; // True when the player is transitioning between levels
240
+ char _pName[PLR_NAME_LEN];
241
+ // plr_class enum value.
242
+ // TODO: this could very well be `enum plr_class _pClass`
243
+ // since there are 3 bytes of alingment after this field.
244
+ // it could just be that the compiler optimized away all accesses to
245
+ // the higher bytes by using byte instructions, since all possible values
246
+ // of plr_class fit into one byte.
247
+ char _pClass;
248
+ int _pStrength;
249
+ int _pBaseStr;
250
+ int _pMagic;
251
+ int _pBaseMag;
252
+ int _pDexterity;
253
+ int _pBaseDex;
254
+ int _pVitality;
255
+ int _pBaseVit;
256
+ int _pStatPts;
257
+ int _pDamageMod;
258
+ int _pBaseToBlk;
259
+ int _pHPBase;
260
+ int _pMaxHPBase;
261
+ int _pHitPoints;
262
+ int _pMaxHP;
263
+ int _pHPPer;
264
+ int _pManaBase;
265
+ int _pMaxManaBase;
266
+ int _pMana;
267
+ int _pMaxMana;
268
+ int _pManaPer;
269
+ char _pLevel;
270
+ char _pMaxLvl;
271
+ int _pExperience;
272
+ int _pMaxExp;
273
+ int _pNextExper;
274
+ char _pArmorClass;
275
+ char _pMagResist;
276
+ char _pFireResist;
277
+ char _pLghtResist;
278
+ int _pGold;
279
+ BOOL _pInfraFlag;
280
+ int _pVar1; // Used for referring to X-position of player when finishing moving one tile (also used to define target coordinates for spells and ranged attacks)
281
+ int _pVar2; // Used for referring to Y-position of player when finishing moving one tile (also used to define target coordinates for spells and ranged attacks)
282
+ int _pVar3; // Player's direction when ending movement. Also used for casting direction of SPL_FIREWALL.
283
+ int _pVar4; // Used for storing X-position of a tile which should have its BFLAG_PLAYERLR flag removed after walking. When starting to walk the game places the player in the dPlayer array -1 in the Y coordinate, and uses BFLAG_PLAYERLR to check if it should be using -1 to the Y coordinate when rendering the player (also used for storing the level of a spell when the player casts it)
284
+ int _pVar5; // Used for storing Y-position of a tile which should have its BFLAG_PLAYERLR flag removed after walking. When starting to walk the game places the player in the dPlayer array -1 in the Y coordinate, and uses BFLAG_PLAYERLR to check if it should be using -1 to the Y coordinate when rendering the player (also used for storing the level of a spell when the player casts it)
285
+ int _pVar6; // Same as _pxoff but contains the value in a higher range
286
+ int _pVar7; // Same as _pyoff but contains the value in a higher range
287
+ int _pVar8; // Used for counting how close we are to reaching the next tile when walking (usually counts to 8, which is equal to the walk animation length). Also used for stalling the appearance of the options screen after dying in singleplayer
288
+ BOOLEAN _pLvlVisited[NUMLEVELS];
289
+ BOOLEAN _pSLvlVisited[NUMLEVELS]; // only 10 used
290
+ int _pGFXLoad;
291
+ unsigned char *_pNAnim[8]; // Stand animations
292
+ int _pNFrames;
293
+ int _pNWidth;
294
+ unsigned char *_pWAnim[8]; // Walk animations
295
+ int _pWFrames;
296
+ int _pWWidth;
297
+ unsigned char *_pAAnim[8]; // Attack animations
298
+ int _pAFrames;
299
+ int _pAWidth;
300
+ int _pAFNum;
301
+ unsigned char *_pLAnim[8]; // Lightning spell cast animations
302
+ unsigned char *_pFAnim[8]; // Fire spell cast animations
303
+ unsigned char *_pTAnim[8]; // Generic spell cast animations
304
+ int _pSFrames;
305
+ int _pSWidth;
306
+ int _pSFNum;
307
+ unsigned char *_pHAnim[8]; // Getting hit animations
308
+ int _pHFrames;
309
+ int _pHWidth;
310
+ unsigned char *_pDAnim[8]; // Death animations
311
+ int _pDFrames;
312
+ int _pDWidth;
313
+ unsigned char *_pBAnim[8]; // Block animations
314
+ int _pBFrames;
315
+ int _pBWidth;
316
+ ItemStruct InvBody[NUM_INVLOC];
317
+ ItemStruct InvList[NUM_INV_GRID_ELEM];
318
+ int _pNumInv;
319
+ char InvGrid[NUM_INV_GRID_ELEM];
320
+ ItemStruct SpdList[MAXBELTITEMS];
321
+ ItemStruct HoldItem;
322
+ int _pIMinDam;
323
+ int _pIMaxDam;
324
+ int _pIAC;
325
+ int _pIBonusDam;
326
+ int _pIBonusToHit;
327
+ int _pIBonusAC;
328
+ int _pIBonusDamMod;
329
+ unsigned __int64 _pISpells; // Bitmask of staff spell
330
+ int _pIFlags;
331
+ int _pIGetHit;
332
+ char _pISplLvlAdd;
333
+ char _pISplCost;
334
+ int _pISplDur;
335
+ int _pIEnAc;
336
+ int _pIFMinDam;
337
+ int _pIFMaxDam;
338
+ int _pILMinDam;
339
+ int _pILMaxDam;
340
+ int _pOilType;
341
+ unsigned char pTownWarps;
342
+ unsigned char pDungMsgs;
343
+ unsigned char pLvlLoad;
344
+ #ifdef HELLFIRE
345
+ unsigned char pDungMsgs2;
346
+ #else
347
+ unsigned char pBattleNet;
348
+ #endif
349
+ BOOLEAN pManaShield;
350
+ char bReserved[3];
351
+ WORD wReflections;
352
+ short wReserved[7];
353
+ DWORD pDiabloKillLevel;
354
+ int pDifficulty;
355
+ int pDamAcFlags;
356
+ int dwReserved[5];
357
+ unsigned char *_pNData;
358
+ unsigned char *_pWData;
359
+ unsigned char *_pAData;
360
+ unsigned char *_pLData;
361
+ unsigned char *_pFData;
362
+ unsigned char *_pTData;
363
+ unsigned char *_pHData;
364
+ unsigned char *_pDData;
365
+ unsigned char *_pBData;
366
+ void *pReserved;
367
+ } PlayerStruct;
368
+
369
+ //////////////////////////////////////////////////
370
+ // textdat
371
+ //////////////////////////////////////////////////
372
+
373
+ typedef struct TextDataStruct {
374
+ const char *txtstr;
375
+ int scrlltxt;
376
+ int txtspd;
377
+ int sfxnr;
378
+ } TextDataStruct;
379
+
380
+ //////////////////////////////////////////////////
381
+ // missiles
382
+ //////////////////////////////////////////////////
383
+
384
+ // TPDEF PTR FCN VOID MIADDPRC
385
+ // TPDEF PTR FCN VOID MIPROC
386
+
387
+ typedef struct MissileData {
388
+ unsigned char mName;
389
+ void (*mAddProc)(int, int, int, int, int, int, char, int, int);
390
+ void (*mProc)(int);
391
+ BOOL mDraw;
392
+ unsigned char mType;
393
+ unsigned char mResist;
394
+ unsigned char mFileNum;
395
+ int mlSFX;
396
+ int miSFX;
397
+ } MissileData;
398
+
399
+ typedef struct MisFileData {
400
+ unsigned char mAnimName;
401
+ unsigned char mAnimFAmt;
402
+ const char *mName;
403
+ int mFlags;
404
+ unsigned char *mAnimData[16];
405
+ unsigned char mAnimDelay[16];
406
+ unsigned char mAnimLen[16];
407
+ int mAnimWidth[16];
408
+ int mAnimWidth2[16];
409
+ } MisFileData;
410
+
411
+ typedef struct ChainStruct {
412
+ int idx;
413
+ int _mitype;
414
+ int _mirange;
415
+ } ChainStruct;
416
+
417
+ typedef struct MissileStruct {
418
+ int _mitype; // Type of projectile (missile_id)
419
+ int _mix; // Tile X-position of the missile
420
+ int _miy; // Tile Y-position of the missile
421
+ int _mixoff; // Sprite pixel X-offset for the missile
422
+ int _miyoff; // Sprite pixel Y-offset for the missile
423
+ int _mixvel; // Missile tile X-velocity while walking. This gets added onto _mitxoff each game tick
424
+ int _miyvel; // Missile tile Y-velocity while walking. This gets added onto _mitxoff each game tick
425
+ int _misx; // Initial tile X-position for missile
426
+ int _misy; // Initial tile Y-position for missile
427
+ int _mitxoff; // How far the missile has travelled in its lifespan along the X-axis. mix/miy/mxoff/myoff get updated every game tick based on this
428
+ int _mityoff; // How far the missile has travelled in its lifespan along the Y-axis. mix/miy/mxoff/myoff get updated every game tick based on this
429
+ int _mimfnum; // The direction of the missile (direction enum)
430
+ int _mispllvl;
431
+ BOOL _miDelFlag; // Indicate weather the missile should be deleted
432
+ BYTE _miAnimType;
433
+ int _miAnimFlags;
434
+ unsigned char *_miAnimData;
435
+ int _miAnimDelay; // Tick length of each frame in the current animation
436
+ int _miAnimLen; // Number of frames in current animation
437
+ int _miAnimWidth;
438
+ int _miAnimWidth2;
439
+ int _miAnimCnt; // Increases by one each game tick, counting how close we are to _pAnimDelay
440
+ int _miAnimAdd;
441
+ int _miAnimFrame; // Current frame of animation.
442
+ BOOL _miDrawFlag;
443
+ BOOL _miLightFlag;
444
+ BOOL _miPreFlag;
445
+ int _miUniqTrans;
446
+ int _mirange; // Time to live for the missile in game ticks, oncs 0 the missile will be marked for deletion via _miDelFlag
447
+ int _misource;
448
+ int _micaster;
449
+ int _midam;
450
+ BOOL _miHitFlag;
451
+ int _midist; // Used for arrows to measure distance travelled (increases by 1 each game tick). Higher value is a penalty for accuracy calculation when hitting enemy
452
+ int _mlid;
453
+ int _mirnd;
454
+ int _miVar1;
455
+ int _miVar2;
456
+ int _miVar3;
457
+ int _miVar4;
458
+ int _miVar5;
459
+ int _miVar6;
460
+ int _miVar7;
461
+ int _miVar8;
462
+ } MissileStruct;
463
+
464
+ //////////////////////////////////////////////////
465
+ // effects/sound
466
+ //////////////////////////////////////////////////
467
+
468
+ typedef struct CKINFO {
469
+ DWORD dwSize;
470
+ DWORD dwOffset;
471
+ } CKINFO;
472
+
473
+ typedef struct TSnd {
474
+ WAVEFORMATEX fmt;
475
+ CKINFO chunk;
476
+ const char *sound_path;
477
+ LPDIRECTSOUNDBUFFER DSB;
478
+ int start_tc;
479
+ } TSnd;
480
+
481
+ #pragma pack(push, 1)
482
+ typedef struct TSFX {
483
+ unsigned char bFlags;
484
+ const char *pszName;
485
+ TSnd *pSnd;
486
+ } TSFX;
487
+ #pragma pack(pop)
488
+
489
+ //////////////////////////////////////////////////
490
+ // monster
491
+ //////////////////////////////////////////////////
492
+
493
+ typedef struct AnimStruct {
494
+ BYTE *CMem;
495
+ BYTE *Data[8];
496
+ int Frames;
497
+ int Rate;
498
+ } AnimStruct;
499
+
500
+ typedef struct MonsterData {
501
+ int width;
502
+ int mImage;
503
+ const char *GraphicType;
504
+ BOOL has_special;
505
+ const char *sndfile;
506
+ BOOL snd_special;
507
+ BOOL has_trans;
508
+ const char *TransFile;
509
+ int Frames[6];
510
+ int Rate[6];
511
+ const char *mName;
512
+ char mMinDLvl;
513
+ char mMaxDLvl;
514
+ char mLevel;
515
+ int mMinHP;
516
+ int mMaxHP;
517
+ char mAi;
518
+ int mFlags;
519
+ unsigned char mInt;
520
+ unsigned char mHit; // BUGFIX: Some monsters overflow this value on high difficulty
521
+ unsigned char mAFNum;
522
+ unsigned char mMinDamage;
523
+ unsigned char mMaxDamage;
524
+ unsigned char mHit2; // BUGFIX: Some monsters overflow this value on high difficulty
525
+ unsigned char mAFNum2;
526
+ unsigned char mMinDamage2;
527
+ unsigned char mMaxDamage2;
528
+ unsigned char mArmorClass;
529
+ char mMonstClass;
530
+ unsigned short mMagicRes;
531
+ unsigned short mMagicRes2;
532
+ unsigned short mTreasure;
533
+ char mSelFlag;
534
+ unsigned short mExp;
535
+ } MonsterData;
536
+
537
+ typedef struct CMonster {
538
+ #ifdef HELLFIRE
539
+ int mtype;
540
+ #else
541
+ unsigned char mtype;
542
+ #endif
543
+ // TODO: Add enum for place flags
544
+ unsigned char mPlaceFlags;
545
+ AnimStruct Anims[6];
546
+ TSnd *Snds[4][2];
547
+ int width;
548
+ int width2;
549
+ #ifdef HELLFIRE
550
+ int mMinHP;
551
+ int mMaxHP;
552
+ #else
553
+ unsigned char mMinHP;
554
+ unsigned char mMaxHP;
555
+ #endif
556
+ BOOL has_special;
557
+ unsigned char mAFNum;
558
+ char mdeadval;
559
+ MonsterData *MData;
560
+ // A TRN file contains a sequence of colour transitions, represented
561
+ // as indexes into a palette. (a 256 byte array of palette indices)
562
+ BYTE *trans_file;
563
+ } CMonster;
564
+
565
+ typedef struct MonsterStruct { // note: missing field _mAFNum
566
+ int _mMTidx;
567
+ int _mmode; /* MON_MODE */
568
+ unsigned char _mgoal;
569
+ int _mgoalvar1;
570
+ int _mgoalvar2;
571
+ int _mgoalvar3;
572
+ int field_18;
573
+ unsigned char _pathcount;
574
+ int _mx; // Tile X-position of monster
575
+ int _my; // Tile Y-position of monster
576
+ int _mfutx; // Future tile X-position of monster. Set at start of walking animation
577
+ int _mfuty; // Future tile Y-position of monster. Set at start of walking animation
578
+ int _moldx; // Most recent X-position in dMonster.
579
+ int _moldy; // Most recent Y-position in dMonster.
580
+ int _mxoff; // Monster sprite's pixel X-offset from tile.
581
+ int _myoff; // Monster sprite's pixel Y-offset from tile.
582
+ int _mxvel; // Pixel X-velocity while walking. Applied to _mxoff
583
+ int _myvel; // Pixel Y-velocity while walking. Applied to _myoff
584
+ int _mdir; // Direction faced by monster (direction enum)
585
+ int _menemy; // The current target of the monster. An index into either the plr or monster array based on the _meflag value.
586
+ unsigned char _menemyx; // X-coordinate of enemy (usually correspond's to the enemy's futx value)
587
+ unsigned char _menemyy; // Y-coordinate of enemy (usually correspond's to the enemy's futy value)
588
+ short falign_52; // probably _mAFNum (unused)
589
+ unsigned char *_mAnimData;
590
+ int _mAnimDelay; // Tick length of each frame in the current animation
591
+ int _mAnimCnt; // Increases by one each game tick, counting how close we are to _pAnimDelay
592
+ int _mAnimLen; // Number of frames in current animation
593
+ int _mAnimFrame; // Current frame of animation.
594
+ BOOL _meflag;
595
+ BOOL _mDelFlag;
596
+ int _mVar1;
597
+ int _mVar2;
598
+ int _mVar3;
599
+ int _mVar4;
600
+ int _mVar5;
601
+ int _mVar6; // Used as _mxoff but with a higher range so that we can correctly apply velocities of a smaller number
602
+ int _mVar7; // Used as _myoff but with a higher range so that we can correctly apply velocities of a smaller number
603
+ int _mVar8; // Value used to measure progress for moving from one tile to another
604
+ int _mmaxhp;
605
+ int _mhitpoints;
606
+ unsigned char _mAi;
607
+ unsigned char _mint;
608
+ short falign_9A;
609
+ int _mFlags;
610
+ BYTE _msquelch;
611
+ int falign_A4;
612
+ int _lastx;
613
+ int _lasty;
614
+ int _mRndSeed;
615
+ int _mAISeed;
616
+ int falign_B8;
617
+ unsigned char _uniqtype;
618
+ unsigned char _uniqtrans;
619
+ char _udeadval;
620
+ char mWhoHit;
621
+ char mLevel;
622
+ unsigned short mExp;
623
+ unsigned char mHit;
624
+ unsigned char mMinDamage;
625
+ unsigned char mMaxDamage;
626
+ unsigned char mHit2;
627
+ unsigned char mMinDamage2;
628
+ unsigned char mMaxDamage2;
629
+ #ifdef HELLFIRE
630
+ char mArmorClass;
631
+ #else
632
+ unsigned char mArmorClass;
633
+ #endif
634
+ char falign_CB;
635
+ unsigned short mMagicRes;
636
+ int mtalkmsg;
637
+ unsigned char leader;
638
+ unsigned char leaderflag;
639
+ unsigned char packsize;
640
+ unsigned char mlid;
641
+ const char *mName;
642
+ CMonster *MType;
643
+ MonsterData *MData;
644
+ } MonsterStruct;
645
+
646
+ typedef struct UniqMonstStruct {
647
+ #ifdef HELLFIRE
648
+ int mtype;
649
+ #else
650
+ char mtype;
651
+ #endif
652
+ const char *mName;
653
+ const char *mTrnName;
654
+ unsigned char mlevel;
655
+ unsigned short mmaxhp;
656
+ unsigned char mAi;
657
+ unsigned char mint;
658
+ unsigned char mMinDamage;
659
+ unsigned char mMaxDamage;
660
+ unsigned short mMagicRes;
661
+ unsigned short mUnqAttr;
662
+ unsigned char mUnqVar1;
663
+ unsigned char mUnqVar2;
664
+ int mtalkmsg;
665
+ } UniqMonstStruct;
666
+
667
+ //////////////////////////////////////////////////
668
+ // objects
669
+ //////////////////////////////////////////////////
670
+
671
+ typedef struct ObjDataStruct {
672
+ char oload;
673
+ char ofindex;
674
+ char ominlvl;
675
+ char omaxlvl;
676
+ char olvltype;
677
+ char otheme;
678
+ char oquest;
679
+ int oAnimFlag;
680
+ int oAnimDelay; // Tick length of each frame in the current animation
681
+ int oAnimLen; // Number of frames in current animation
682
+ int oAnimWidth;
683
+ BOOL oSolidFlag;
684
+ BOOL oMissFlag;
685
+ BOOL oLightFlag;
686
+ char oBreak;
687
+ char oSelFlag;
688
+ BOOL oTrapFlag;
689
+ } ObjDataStruct;
690
+
691
+ typedef struct ObjectStruct {
692
+ int _otype;
693
+ int _ox;
694
+ int _oy;
695
+ int _oLight;
696
+ int _oAnimFlag;
697
+ unsigned char *_oAnimData;
698
+ int _oAnimDelay; // Tick length of each frame in the current animation
699
+ int _oAnimCnt; // Increases by one each game tick, counting how close we are to _pAnimDelay
700
+ int _oAnimLen; // Number of frames in current animation
701
+ int _oAnimFrame; // Current frame of animation.
702
+ int _oAnimWidth;
703
+ int _oAnimWidth2;
704
+ BOOL _oDelFlag;
705
+ char _oBreak; // check
706
+ BOOL _oSolidFlag;
707
+ BOOL _oMissFlag;
708
+ char _oSelFlag; // check
709
+ BOOL _oPreFlag;
710
+ BOOL _oTrapFlag;
711
+ BOOL _oDoorFlag;
712
+ int _olid;
713
+ int _oRndSeed;
714
+ int _oVar1;
715
+ int _oVar2;
716
+ int _oVar3;
717
+ int _oVar4;
718
+ int _oVar5;
719
+ int _oVar6;
720
+ int _oVar7;
721
+ int _oVar8;
722
+ } ObjectStruct;
723
+
724
+ //////////////////////////////////////////////////
725
+ // portal
726
+ //////////////////////////////////////////////////
727
+
728
+ typedef struct PortalStruct {
729
+ BOOL open;
730
+ int x;
731
+ int y;
732
+ int level;
733
+ int ltype;
734
+ BOOL setlvl;
735
+ } PortalStruct;
736
+
737
+ //////////////////////////////////////////////////
738
+ // msg
739
+ //////////////////////////////////////////////////
740
+
741
+ #pragma pack(push, 1)
742
+ typedef struct TCmd {
743
+ BYTE bCmd;
744
+ } TCmd;
745
+
746
+ typedef struct TCmdLoc {
747
+ BYTE bCmd;
748
+ BYTE x;
749
+ BYTE y;
750
+ } TCmdLoc;
751
+
752
+ typedef struct TCmdLocParam1 {
753
+ BYTE bCmd;
754
+ BYTE x;
755
+ BYTE y;
756
+ WORD wParam1;
757
+ } TCmdLocParam1;
758
+
759
+ typedef struct TCmdLocParam2 {
760
+ BYTE bCmd;
761
+ BYTE x;
762
+ BYTE y;
763
+ WORD wParam1;
764
+ WORD wParam2;
765
+ } TCmdLocParam2;
766
+
767
+ typedef struct TCmdLocParam3 {
768
+ BYTE bCmd;
769
+ BYTE x;
770
+ BYTE y;
771
+ WORD wParam1;
772
+ WORD wParam2;
773
+ WORD wParam3;
774
+ } TCmdLocParam3;
775
+
776
+ typedef struct TCmdParam1 {
777
+ BYTE bCmd;
778
+ WORD wParam1;
779
+ } TCmdParam1;
780
+
781
+ typedef struct TCmdParam2 {
782
+ BYTE bCmd;
783
+ WORD wParam1;
784
+ WORD wParam2;
785
+ } TCmdParam2;
786
+
787
+ typedef struct TCmdParam3 {
788
+ BYTE bCmd;
789
+ WORD wParam1;
790
+ WORD wParam2;
791
+ WORD wParam3;
792
+ } TCmdParam3;
793
+
794
+ typedef struct TCmdGolem {
795
+ BYTE bCmd;
796
+ BYTE _mx;
797
+ BYTE _my;
798
+ BYTE _mdir;
799
+ char _menemy;
800
+ int _mhitpoints;
801
+ BYTE _currlevel;
802
+ } TCmdGolem;
803
+
804
+ typedef struct TCmdQuest {
805
+ BYTE bCmd;
806
+ BYTE q;
807
+ BYTE qstate;
808
+ BYTE qlog;
809
+ BYTE qvar1;
810
+ } TCmdQuest;
811
+
812
+ typedef struct TCmdGItem {
813
+ BYTE bCmd;
814
+ BYTE bMaster;
815
+ BYTE bPnum;
816
+ BYTE bCursitem;
817
+ BYTE bLevel;
818
+ BYTE x;
819
+ BYTE y;
820
+ WORD wIndx;
821
+ WORD wCI;
822
+ int dwSeed;
823
+ BYTE bId;
824
+ BYTE bDur;
825
+ BYTE bMDur;
826
+ BYTE bCh;
827
+ BYTE bMCh;
828
+ WORD wValue;
829
+ DWORD dwBuff;
830
+ int dwTime;
831
+ #ifdef HELLFIRE
832
+ WORD wToHit;
833
+ WORD wMaxDam;
834
+ BYTE bMinStr;
835
+ BYTE bMinMag;
836
+ BYTE bMinDex;
837
+ BYTE bAC;
838
+ #endif
839
+ } TCmdGItem;
840
+
841
+ typedef struct TCmdPItem {
842
+ BYTE bCmd;
843
+ BYTE x;
844
+ BYTE y;
845
+ WORD wIndx;
846
+ WORD wCI;
847
+ int dwSeed;
848
+ BYTE bId;
849
+ BYTE bDur;
850
+ BYTE bMDur;
851
+ BYTE bCh;
852
+ BYTE bMCh;
853
+ WORD wValue;
854
+ DWORD dwBuff;
855
+ #ifdef HELLFIRE
856
+ WORD wToHit;
857
+ WORD wMaxDam;
858
+ BYTE bMinStr;
859
+ BYTE bMinMag;
860
+ BYTE bMinDex;
861
+ BYTE bAC;
862
+ #endif
863
+ } TCmdPItem;
864
+
865
+ typedef struct TCmdChItem {
866
+ BYTE bCmd;
867
+ BYTE bLoc;
868
+ WORD wIndx;
869
+ WORD wCI;
870
+ int dwSeed;
871
+ BOOLEAN bId;
872
+ } TCmdChItem;
873
+
874
+ typedef struct TCmdDelItem {
875
+ BYTE bCmd;
876
+ BYTE bLoc;
877
+ } TCmdDelItem;
878
+
879
+ typedef struct TCmdDamage {
880
+ BYTE bCmd;
881
+ BYTE bPlr;
882
+ DWORD dwDam;
883
+ } TCmdDamage;
884
+
885
+ #ifdef HELLFIRE
886
+ typedef struct TCmdMonDamage {
887
+ BYTE bCmd;
888
+ WORD wMon;
889
+ DWORD dwDam;
890
+ } TCmdMonDamage;
891
+ #endif
892
+
893
+ typedef struct TCmdPlrInfoHdr {
894
+ BYTE bCmd;
895
+ WORD wOffset;
896
+ WORD wBytes;
897
+ } TCmdPlrInfoHdr;
898
+
899
+ typedef struct TCmdString {
900
+ BYTE bCmd;
901
+ char str[MAX_SEND_STR_LEN];
902
+ } TCmdString;
903
+
904
+ typedef struct TFakeCmdPlr {
905
+ BYTE bCmd;
906
+ BYTE bPlr;
907
+ } TFakeCmdPlr;
908
+
909
+ typedef struct TFakeDropPlr {
910
+ BYTE bCmd;
911
+ BYTE bPlr;
912
+ DWORD dwReason;
913
+ } TFakeDropPlr;
914
+
915
+ typedef struct TSyncHeader {
916
+ BYTE bCmd;
917
+ BYTE bLevel;
918
+ WORD wLen;
919
+ BYTE bObjId;
920
+ BYTE bObjCmd;
921
+ BYTE bItemI;
922
+ BYTE bItemX;
923
+ BYTE bItemY;
924
+ WORD wItemIndx;
925
+ WORD wItemCI;
926
+ DWORD dwItemSeed;
927
+ BYTE bItemId;
928
+ BYTE bItemDur;
929
+ BYTE bItemMDur;
930
+ BYTE bItemCh;
931
+ BYTE bItemMCh;
932
+ WORD wItemVal;
933
+ DWORD dwItemBuff;
934
+ BYTE bPInvLoc;
935
+ WORD wPInvIndx;
936
+ WORD wPInvCI;
937
+ DWORD dwPInvSeed;
938
+ BYTE bPInvId;
939
+ #ifdef HELLFIRE
940
+ WORD wToHit;
941
+ WORD wMaxDam;
942
+ BYTE bMinStr;
943
+ BYTE bMinMag;
944
+ BYTE bMinDex;
945
+ BYTE bAC;
946
+ #endif
947
+ } TSyncHeader;
948
+
949
+ typedef struct TSyncMonster {
950
+ BYTE _mndx;
951
+ BYTE _mx;
952
+ BYTE _my;
953
+ BYTE _menemy;
954
+ BYTE _mdelta;
955
+ } TSyncMonster;
956
+
957
+ typedef struct TPktHdr {
958
+ BYTE px;
959
+ BYTE py;
960
+ BYTE targx;
961
+ BYTE targy;
962
+ int php;
963
+ int pmhp;
964
+ BYTE bstr;
965
+ BYTE bmag;
966
+ BYTE bdex;
967
+ WORD wCheck;
968
+ WORD wLen;
969
+ } TPktHdr;
970
+
971
+ typedef struct TPkt {
972
+ TPktHdr hdr;
973
+ BYTE body[493];
974
+ } TPkt;
975
+
976
+ typedef struct DMonsterStr {
977
+ BYTE _mx;
978
+ BYTE _my;
979
+ BYTE _mdir;
980
+ BYTE _menemy;
981
+ BYTE _mactive;
982
+ int _mhitpoints;
983
+ } DMonsterStr;
984
+
985
+ typedef struct DObjectStr {
986
+ BYTE bCmd;
987
+ } DObjectStr;
988
+
989
+ typedef struct DLevel {
990
+ TCmdPItem item[MAXITEMS];
991
+ DObjectStr object[MAXOBJECTS];
992
+ DMonsterStr monster[MAXMONSTERS];
993
+ } DLevel;
994
+
995
+ typedef struct LocalLevel {
996
+ BYTE automapsv[DMAXX][DMAXY];
997
+ } LocalLevel;
998
+
999
+ typedef struct DPortal {
1000
+ BYTE x;
1001
+ BYTE y;
1002
+ BYTE level;
1003
+ BYTE ltype;
1004
+ BYTE setlvl;
1005
+ } DPortal;
1006
+
1007
+ typedef struct MultiQuests {
1008
+ BYTE qstate;
1009
+ BYTE qlog;
1010
+ BYTE qvar1;
1011
+ } MultiQuests;
1012
+
1013
+ typedef struct DJunk {
1014
+ DPortal portal[MAXPORTAL];
1015
+ MultiQuests quests[MAXMULTIQUESTS];
1016
+ } DJunk;
1017
+ #pragma pack(pop)
1018
+
1019
+ typedef struct TMegaPkt {
1020
+ struct TMegaPkt *pNext;
1021
+ DWORD dwSpaceLeft;
1022
+ BYTE data[32000];
1023
+ } TMegaPkt;
1024
+
1025
+ typedef struct TBuffer {
1026
+ DWORD dwNextWriteOffset;
1027
+ BYTE bData[4096];
1028
+ } TBuffer;
1029
+
1030
+ //////////////////////////////////////////////////
1031
+ // quests
1032
+ //////////////////////////////////////////////////
1033
+
1034
+ typedef struct QuestStruct {
1035
+ unsigned char _qlevel;
1036
+ unsigned char _qtype;
1037
+ unsigned char _qactive;
1038
+ unsigned char _qlvltype;
1039
+ int _qtx;
1040
+ int _qty;
1041
+ unsigned char _qslvl;
1042
+ unsigned char _qidx;
1043
+ #ifndef HELLFIRE
1044
+ unsigned char _qmsg;
1045
+ #else
1046
+ unsigned int _qmsg;
1047
+ #endif
1048
+ unsigned char _qvar1;
1049
+ unsigned char _qvar2;
1050
+ BOOL _qlog;
1051
+ } QuestStruct;
1052
+
1053
+ typedef struct QuestData {
1054
+ unsigned char _qdlvl;
1055
+ char _qdmultlvl;
1056
+ unsigned char _qlvlt;
1057
+ unsigned char _qdtype;
1058
+ unsigned char _qdrnd;
1059
+ unsigned char _qslvl;
1060
+ int _qflags; /* unsigned char */
1061
+ int _qdmsg;
1062
+ const char *_qlstr;
1063
+ } QuestData;
1064
+
1065
+ #ifdef HELLFIRE
1066
+ typedef struct CornerStoneStruct {
1067
+ int x;
1068
+ int y;
1069
+ BOOL activated;
1070
+ ItemStruct item;
1071
+ } CornerStoneStruct;
1072
+ #endif
1073
+
1074
+ //////////////////////////////////////////////////
1075
+ // gamemenu/gmenu
1076
+ //////////////////////////////////////////////////
1077
+
1078
+ // TPDEF PTR FCN VOID TMenuFcn
1079
+
1080
+ typedef struct TMenuItem {
1081
+ DWORD dwFlags;
1082
+ const char *pszStr;
1083
+ void (*fnMenu)(BOOL); /* fix, should have one arg */
1084
+ } TMenuItem;
1085
+
1086
+ // TPDEF PTR FCN VOID TMenuUpdateFcn
1087
+
1088
+ //////////////////////////////////////////////////
1089
+ // spells
1090
+ //////////////////////////////////////////////////
1091
+
1092
+ typedef struct SpellData {
1093
+ unsigned char sName;
1094
+ unsigned char sManaCost;
1095
+ unsigned char sType;
1096
+ const char *sNameText;
1097
+ const char *sSkillText;
1098
+ int sBookLvl;
1099
+ int sStaffLvl;
1100
+ BOOL sTargeted;
1101
+ BOOL sTownSpell;
1102
+ int sMinInt;
1103
+ unsigned char sSFX;
1104
+ unsigned char sMissiles[3];
1105
+ unsigned char sManaAdj;
1106
+ unsigned char sMinMana;
1107
+ int sStaffMin;
1108
+ int sStaffMax;
1109
+ int sBookCost;
1110
+ int sStaffCost;
1111
+ } SpellData;
1112
+
1113
+ //////////////////////////////////////////////////
1114
+ // towners
1115
+ //////////////////////////////////////////////////
1116
+
1117
+ typedef struct TNQ {
1118
+ unsigned char _qsttype;
1119
+ unsigned char _qstmsg;
1120
+ BOOLEAN _qstmsgact;
1121
+ } TNQ;
1122
+
1123
+ typedef struct TownerStruct {
1124
+ int _tmode;
1125
+ int _ttype;
1126
+ int _tx; // Tile X-position of NPC
1127
+ int _ty; // Tile Y-position of NPC
1128
+ int _txoff; // Sprite X-offset (unused)
1129
+ int _tyoff; // Sprite Y-offset (unused)
1130
+ int _txvel; // X-velocity during movement (unused)
1131
+ int _tyvel; // Y-velocity during movement (unused)
1132
+ int _tdir; // Facing of NPC (unused)
1133
+ unsigned char *_tAnimData;
1134
+ int _tAnimDelay; // Tick length of each frame in the current animation
1135
+ int _tAnimCnt; // Increases by one each game tick, counting how close we are to _pAnimDelay
1136
+ int _tAnimLen; // Number of frames in current animation
1137
+ int _tAnimFrame; // Current frame of animation.
1138
+ int _tAnimFrameCnt;
1139
+ char _tAnimOrder;
1140
+ int _tAnimWidth;
1141
+ int _tAnimWidth2;
1142
+ int _tTenPer;
1143
+ int _teflag;
1144
+ int _tbtcnt;
1145
+ int _tSelFlag;
1146
+ BOOL _tMsgSaid;
1147
+ TNQ qsts[MAXQUESTS];
1148
+ int _tSeed;
1149
+ int _tVar1;
1150
+ int _tVar2;
1151
+ int _tVar3;
1152
+ int _tVar4;
1153
+ char _tName[PLR_NAME_LEN];
1154
+ unsigned char *_tNAnim[8];
1155
+ int _tNFrames;
1156
+ unsigned char *_tNData;
1157
+ } TownerStruct;
1158
+
1159
+ typedef struct QuestTalkData {
1160
+ int _qinfra;
1161
+ int _qblkm;
1162
+ int _qgarb;
1163
+ int _qzhar;
1164
+ int _qveil;
1165
+ int _qmod;
1166
+ int _qbutch;
1167
+ int _qbol;
1168
+ int _qblind;
1169
+ int _qblood;
1170
+ int _qanvil;
1171
+ int _qwarlrd;
1172
+ int _qking;
1173
+ int _qpw;
1174
+ int _qbone;
1175
+ int _qvb;
1176
+ #ifdef HELLFIRE
1177
+ int _qgrv;
1178
+ int _qfarm;
1179
+ int _qgirl;
1180
+ int _qtrade;
1181
+ int _qdefiler;
1182
+ int _qnakrul;
1183
+ int _qjersy;
1184
+ int _qhf8;
1185
+ #endif
1186
+ } QuestTalkData;
1187
+
1188
+ //////////////////////////////////////////////////
1189
+ // gendung
1190
+ //////////////////////////////////////////////////
1191
+
1192
+ typedef struct ScrollStruct {
1193
+ int _sxoff; // X-offset of camera position. This usually corresponds to a negative version of plr[myplr]._pxoff
1194
+ int _syoff; // Y-offset of camera position. This usually corresponds to a negative version of plr[myplr]._pyoff
1195
+ int _sdx;
1196
+ int _sdy;
1197
+ int _sdir;
1198
+ } ScrollStruct;
1199
+
1200
+ typedef struct THEME_LOC {
1201
+ int x;
1202
+ int y;
1203
+ int ttval;
1204
+ int width;
1205
+ int height;
1206
+ } THEME_LOC;
1207
+
1208
+ typedef struct MICROS {
1209
+ WORD mt[16];
1210
+ } MICROS;
1211
+
1212
+ //////////////////////////////////////////////////
1213
+ // drlg
1214
+ //////////////////////////////////////////////////
1215
+
1216
+ typedef struct ShadowStruct {
1217
+ unsigned char strig;
1218
+ unsigned char s1;
1219
+ unsigned char s2;
1220
+ unsigned char s3;
1221
+ unsigned char nv1;
1222
+ unsigned char nv2;
1223
+ unsigned char nv3;
1224
+ } ShadowStruct;
1225
+
1226
+ typedef struct HALLNODE {
1227
+ int nHallx1;
1228
+ int nHally1;
1229
+ int nHallx2;
1230
+ int nHally2;
1231
+ int nHalldir;
1232
+ struct HALLNODE *pNext;
1233
+ } HALLNODE;
1234
+
1235
+ typedef struct ROOMNODE {
1236
+ int nRoomx1;
1237
+ int nRoomy1;
1238
+ int nRoomx2;
1239
+ int nRoomy2;
1240
+ int nRoomDest;
1241
+ } ROOMNODE;
1242
+
1243
+ //////////////////////////////////////////////////
1244
+ // themes
1245
+ //////////////////////////////////////////////////
1246
+
1247
+ typedef struct ThemeStruct {
1248
+ char ttype; /* aligned 4 */
1249
+ int ttval;
1250
+ } ThemeStruct;
1251
+
1252
+ //////////////////////////////////////////////////
1253
+ // inv
1254
+ //////////////////////////////////////////////////
1255
+
1256
+ typedef struct InvXY {
1257
+ int X;
1258
+ int Y;
1259
+ } InvXY;
1260
+
1261
+ //////////////////////////////////////////////////
1262
+ // lighting
1263
+ //////////////////////////////////////////////////
1264
+
1265
+ typedef struct LightListStruct {
1266
+ int _lx;
1267
+ int _ly;
1268
+ int _lradius;
1269
+ int _lid;
1270
+ int _ldel;
1271
+ int _lunflag;
1272
+ int field_18;
1273
+ int _lunx;
1274
+ int _luny;
1275
+ int _lunr;
1276
+ int _xoff;
1277
+ int _yoff;
1278
+ int _lflags;
1279
+ } LightListStruct;
1280
+
1281
+ //////////////////////////////////////////////////
1282
+ // dead
1283
+ //////////////////////////////////////////////////
1284
+
1285
+ typedef struct DeadStruct {
1286
+ unsigned char *_deadData[8];
1287
+ int _deadFrame;
1288
+ int _deadWidth;
1289
+ int _deadWidth2;
1290
+ char _deadtrans;
1291
+ } DeadStruct;
1292
+
1293
+ //////////////////////////////////////////////////
1294
+ // diabloui
1295
+ //////////////////////////////////////////////////
1296
+
1297
+ // TPDEF PTR FCN VOID PLAYSND
1298
+
1299
+ typedef struct _gamedata {
1300
+ int dwSeed;
1301
+ BYTE bDiff;
1302
+ } _gamedata;
1303
+
1304
+ typedef struct _uidefaultstats {
1305
+ WORD strength;
1306
+ WORD magic;
1307
+ WORD dexterity;
1308
+ WORD vitality;
1309
+ } _uidefaultstats;
1310
+
1311
+ typedef struct _uiheroinfo {
1312
+ struct _uiheroinfo *next;
1313
+ char name[16];
1314
+ WORD level;
1315
+ BYTE heroclass;
1316
+ BYTE herorank;
1317
+ WORD strength;
1318
+ WORD magic;
1319
+ WORD dexterity;
1320
+ WORD vitality;
1321
+ int gold;
1322
+ int hassaved;
1323
+ BOOL spawned;
1324
+ } _uiheroinfo;
1325
+
1326
+ // TPDEF PTR FCN UCHAR ENUMHEROPROC
1327
+ // TPDEF PTR FCN UCHAR ENUMHEROS
1328
+ // TPDEF PTR FCN UCHAR CREATEHERO
1329
+ // TPDEF PTR FCN UCHAR DELETEHERO
1330
+ // TPDEF PTR FCN UCHAR GETDEFHERO
1331
+
1332
+ // TPDEF PTR FCN INT PROGRESSFCN
1333
+
1334
+ //////////////////////////////////////////////////
1335
+ // storm
1336
+ //////////////////////////////////////////////////
1337
+
1338
+ // TPDEF PTR FCN UCHAR SMSGIDLEPROC
1339
+ // TPDEF PTR FCN VOID SMSGHANDLER
1340
+
1341
+ typedef struct _SNETCAPS {
1342
+ DWORD size;
1343
+ DWORD flags;
1344
+ DWORD maxmessagesize;
1345
+ DWORD maxqueuesize;
1346
+ DWORD maxplayers;
1347
+ DWORD bytessec;
1348
+ DWORD latencyms;
1349
+ DWORD defaultturnssec;
1350
+ DWORD defaultturnsintransit;
1351
+ } _SNETCAPS;
1352
+
1353
+ typedef struct _SNETEVENT {
1354
+ DWORD eventid;
1355
+ DWORD playerid;
1356
+ void *data;
1357
+ DWORD databytes;
1358
+ } _SNETEVENT;
1359
+
1360
+ // TPDEF PTR FCN UCHAR SNETABORTPROC
1361
+ // TPDEF PTR FCN UCHAR SNETCATEGORYPROC
1362
+ // TPDEF PTR FCN UCHAR SNETCHECKAUTHPROC
1363
+ // TPDEF PTR FCN UCHAR SNETCREATEPROC
1364
+ // TPDEF PTR FCN UCHAR SNETDRAWDESCPROC
1365
+ // TPDEF PTR FCN UCHAR SNETENUMDEVICESPROC
1366
+ // TPDEF PTR FCN UCHAR SNETENUMGAMESPROC
1367
+ // TPDEF PTR FCN UCHAR SNETENUMPROVIDERSPROC
1368
+ // TPDEF PTR FCN VOID SNETEVENTPROC
1369
+ // TPDEF PTR FCN UCHAR SNETGETARTPROC
1370
+ // TPDEF PTR FCN UCHAR SNETGETDATAPROC
1371
+ // TPDEF PTR FCN INT SNETMESSAGEBOXPROC
1372
+ // TPDEF PTR FCN UCHAR SNETPLAYSOUNDPROC
1373
+ // TPDEF PTR FCN UCHAR SNETSELECTEDPROC
1374
+ // TPDEF PTR FCN UCHAR SNETSTATUSPROC
1375
+
1376
+ typedef struct _SNETPLAYERDATA {
1377
+ int size;
1378
+ char *playername;
1379
+ char *playerdescription;
1380
+ int reserved;
1381
+ } _SNETPLAYERDATA;
1382
+
1383
+ typedef struct _SNETPROGRAMDATA {
1384
+ int size;
1385
+ const char *programname;
1386
+ const char *programdescription;
1387
+ int programid;
1388
+ int versionid;
1389
+ int reserved1;
1390
+ int maxplayers;
1391
+ _gamedata *initdata;
1392
+ int initdatabytes;
1393
+ void *reserved2;
1394
+ int optcategorybits;
1395
+ char *cdkey;
1396
+ char *registereduser;
1397
+ int spawned;
1398
+ int lcid;
1399
+ } _SNETPROGRAMDATA;
1400
+
1401
+ typedef struct _SNETUIDATA {
1402
+ int size;
1403
+ int uiflags;
1404
+ HWND parentwindow;
1405
+ void (*artcallback)();
1406
+ void (*authcallback)();
1407
+ void (*createcallback)();
1408
+ void (*drawdesccallback)();
1409
+ void (*selectedcallback)();
1410
+ void (*messageboxcallback)();
1411
+ void (*soundcallback)();
1412
+ void (*statuscallback)();
1413
+ void (*getdatacallback)();
1414
+ void (*categorycallback)();
1415
+ void (*categorylistcallback)();
1416
+ void (*newaccountcallback)();
1417
+ void (*profilecallback)();
1418
+ const char **profilefields;
1419
+ void (*profilebitmapcallback)();
1420
+ int(__stdcall *selectnamecallback)(
1421
+ const struct _SNETPROGRAMDATA *,
1422
+ const struct _SNETPLAYERDATA *,
1423
+ const struct _SNETUIDATA *,
1424
+ const struct _SNETVERSIONDATA *,
1425
+ DWORD provider, /* e.g. 'IPXN', 'BNET' etc. */
1426
+ char *, DWORD, /* character name will be copied here */
1427
+ char *, DWORD, /* character "description" will be copied here (used to advertise games) */
1428
+ BOOL * /* new character? - unsure about this */
1429
+ );
1430
+ void (*changenamecallback)();
1431
+ } _SNETUIDATA;
1432
+
1433
+ typedef struct _SNETVERSIONDATA {
1434
+ int size;
1435
+ const char *versionstring;
1436
+ const char *executablefile;
1437
+ const char *originalarchivefile;
1438
+ const char *patcharchivefile;
1439
+ } _SNETVERSIONDATA;
1440
+
1441
+ // TPDEF PTR FCN UCHAR SNETSPIBIND
1442
+ // TPDEF PTR FCN UCHAR SNETSPIQUERY
1443
+
1444
+ //////////////////////////////////////////////////
1445
+ // pack
1446
+ //////////////////////////////////////////////////
1447
+
1448
+ #pragma pack(push, 1)
1449
+ typedef struct PkItemStruct {
1450
+ DWORD iSeed;
1451
+ WORD iCreateInfo;
1452
+ WORD idx;
1453
+ BYTE bId;
1454
+ BYTE bDur;
1455
+ BYTE bMDur;
1456
+ BYTE bCh;
1457
+ BYTE bMCh;
1458
+ WORD wValue;
1459
+ DWORD dwBuff;
1460
+ } PkItemStruct;
1461
+
1462
+ typedef struct PkPlayerStruct {
1463
+ FILETIME archiveTime;
1464
+ char destAction;
1465
+ char destParam1;
1466
+ char destParam2;
1467
+ BYTE plrlevel;
1468
+ BYTE px;
1469
+ BYTE py;
1470
+ BYTE targx;
1471
+ BYTE targy;
1472
+ char pName[PLR_NAME_LEN];
1473
+ char pClass;
1474
+ BYTE pBaseStr;
1475
+ BYTE pBaseMag;
1476
+ BYTE pBaseDex;
1477
+ BYTE pBaseVit;
1478
+ char pLevel;
1479
+ BYTE pStatPts;
1480
+ int pExperience;
1481
+ int pGold;
1482
+ int pHPBase;
1483
+ int pMaxHPBase;
1484
+ int pManaBase;
1485
+ int pMaxManaBase;
1486
+ char pSplLvl[37]; // Should be MAX_SPELLS but set to 37 to make save games compatible
1487
+ unsigned __int64 pMemSpells;
1488
+ PkItemStruct InvBody[NUM_INVLOC];
1489
+ PkItemStruct InvList[NUM_INV_GRID_ELEM];
1490
+ char InvGrid[NUM_INV_GRID_ELEM];
1491
+ BYTE _pNumInv;
1492
+ PkItemStruct SpdList[MAXBELTITEMS];
1493
+ char pTownWarps;
1494
+ char pDungMsgs;
1495
+ char pLvlLoad;
1496
+ #ifdef HELLFIRE
1497
+ unsigned char pDungMsgs2;
1498
+ #else
1499
+ char pBattleNet;
1500
+ #endif
1501
+ BOOLEAN pManaShield;
1502
+ char bReserved[3];
1503
+ WORD wReflections;
1504
+ short wReserved2;
1505
+ char pSplLvl2[10]; // Hellfire spells
1506
+ short wReserved8;
1507
+ DWORD pDiabloKillLevel;
1508
+ int pDifficulty;
1509
+ int pDamAcFlags;
1510
+ int dwReserved[5];
1511
+ } PkPlayerStruct;
1512
+ #pragma pack(pop)
1513
+
1514
+ //////////////////////////////////////////////////
1515
+ // path
1516
+ //////////////////////////////////////////////////
1517
+
1518
+ typedef struct PATHNODE {
1519
+ char f;
1520
+ char h;
1521
+ char g;
1522
+ int x;
1523
+ int y;
1524
+ struct PATHNODE *Parent;
1525
+ struct PATHNODE *Child[8];
1526
+ struct PATHNODE *NextNode;
1527
+ } PATHNODE;
1528
+
1529
+ // TPDEF PTR FCN UCHAR CHECKFUNC1
1530
+
1531
+ // TPDEF PTR FCN UCHAR CHECKFUNC
1532
+
1533
+ //////////////////////////////////////////////////
1534
+ // sha
1535
+ //////////////////////////////////////////////////
1536
+
1537
+ typedef struct SHA1Context {
1538
+ int state[5];
1539
+ int count[2];
1540
+ char buffer[64];
1541
+ } SHA1Context;
1542
+
1543
+ //////////////////////////////////////////////////
1544
+ // tmsg
1545
+ //////////////////////////////////////////////////
1546
+
1547
+ #pragma pack(push, 1)
1548
+ typedef struct TMsg TMsg;
1549
+
1550
+ typedef struct TMsgHdr {
1551
+ TMsg *pNext;
1552
+ int dwTime;
1553
+ BYTE bLen;
1554
+ } TMsgHdr;
1555
+
1556
+ typedef struct TMsg {
1557
+ TMsgHdr hdr;
1558
+ // this is actually alignment padding, but the message body is appended to the struct
1559
+ // so it's convenient to use byte-alignment and name it "body"
1560
+ unsigned char body[3];
1561
+ } TMsg;
1562
+ #pragma pack(pop)
1563
+
1564
+ //////////////////////////////////////////////////
1565
+ // mpqapi
1566
+ //////////////////////////////////////////////////
1567
+
1568
+ typedef struct _FILEHEADER {
1569
+ int signature;
1570
+ int headersize;
1571
+ int filesize;
1572
+ WORD version;
1573
+ short sectorsizeid;
1574
+ int hashoffset;
1575
+ int blockoffset;
1576
+ int hashcount;
1577
+ int blockcount;
1578
+ char pad[72];
1579
+ } _FILEHEADER;
1580
+
1581
+ typedef struct _HASHENTRY {
1582
+ int hashcheck[2];
1583
+ int lcid;
1584
+ int block;
1585
+ } _HASHENTRY;
1586
+
1587
+ typedef struct _BLOCKENTRY {
1588
+ int offset;
1589
+ int sizealloc;
1590
+ int sizefile;
1591
+ int flags;
1592
+ } _BLOCKENTRY;
1593
+
1594
+ // TPDEF PTR FCN UCHAR TGetNameFcn
1595
+
1596
+ // TPDEF PTR FCN VOID TCrypt
1597
+
1598
+ //////////////////////////////////////////////////
1599
+ // trigs
1600
+ //////////////////////////////////////////////////
1601
+
1602
+ typedef struct TriggerStruct {
1603
+ int _tx;
1604
+ int _ty;
1605
+ int _tmsg;
1606
+ int _tlvl;
1607
+ } TriggerStruct;
1608
+
1609
+ //////////////////////////////////////////////////
1610
+ // stores
1611
+ //////////////////////////////////////////////////
1612
+
1613
+ typedef struct STextStruct {
1614
+ int _sx;
1615
+ int _syoff;
1616
+ char _sstr[128];
1617
+ BOOL _sjust;
1618
+ char _sclr;
1619
+ int _sline;
1620
+ BOOL _ssel;
1621
+ int _sval;
1622
+ } STextStruct;
1623
+
1624
+ //////////////////////////////////////////////////
1625
+ // wave
1626
+ //////////////////////////////////////////////////
1627
+
1628
+ typedef struct MEMFILE {
1629
+ DWORD end;
1630
+ LONG offset;
1631
+ DWORD buf_len;
1632
+ DWORD dist;
1633
+ DWORD bytes_to_read;
1634
+ BYTE *buf;
1635
+ HANDLE file;
1636
+ } MEMFILE;
1637
+
1638
+ //////////////////////////////////////////////////
1639
+ // plrmsg
1640
+ //////////////////////////////////////////////////
1641
+
1642
+ typedef struct _plrmsg {
1643
+ DWORD time;
1644
+ unsigned char player;
1645
+ char str[144];
1646
+ } _plrmsg;
1647
+
1648
+ //////////////////////////////////////////////////
1649
+ // capture
1650
+ //////////////////////////////////////////////////
1651
+
1652
+ typedef struct _PcxHeader {
1653
+ BYTE Manufacturer;
1654
+ BYTE Version;
1655
+ BYTE Encoding;
1656
+ BYTE BitsPerPixel;
1657
+ WORD Xmin;
1658
+ WORD Ymin;
1659
+ WORD Xmax;
1660
+ WORD Ymax;
1661
+ WORD HDpi;
1662
+ WORD VDpi;
1663
+ BYTE Colormap[48];
1664
+ BYTE Reserved;
1665
+ BYTE NPlanes;
1666
+ WORD BytesPerLine;
1667
+ WORD PaletteInfo;
1668
+ WORD HscreenSize;
1669
+ WORD VscreenSize;
1670
+ BYTE Filler[54];
1671
+ } PCXHEADER;
1672
+
1673
+ //////////////////////////////////////////////////
1674
+ // encrypt
1675
+ //////////////////////////////////////////////////
1676
+
1677
+ typedef struct TDataInfo {
1678
+ BYTE *srcData;
1679
+ DWORD srcOffset;
1680
+ BYTE *destData;
1681
+ DWORD destOffset;
1682
+ DWORD size;
1683
+ } TDataInfo;
sources/devilution/types.h ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * @file types.h
3
+ *
4
+ * Include OS headers and set compiler state.
5
+ */
6
+ #ifndef _TYPES_H
7
+ #define _TYPES_H
8
+
9
+ #define WIN32_LEAN_AND_MEAN
10
+
11
+ #include "resource.h"
12
+
13
+ #include <windows.h>
14
+ #include <mmsystem.h>
15
+ #include <stdio.h>
16
+ #include <stdlib.h>
17
+ #include <ddraw.h>
18
+ #include <dsound.h>
19
+ #include <io.h>
20
+ #include <limits.h>
21
+ #include <math.h>
22
+ #include <time.h>
23
+ #include <process.h>
24
+ #include <shlobj.h>
25
+ #include <shellapi.h>
26
+
27
+ #ifdef __GNUC__
28
+ #include <ctype.h>
29
+ #endif
30
+
31
+ // tell Visual C++ to shut the hell up
32
+ #ifdef _MSC_VER
33
+ #pragma warning(disable : 4305) // truncation of int
34
+ #pragma warning(disable : 4018) // signed/unsigned mismatch
35
+ #pragma warning(disable : 4700) // used without having been initialized
36
+ #pragma warning(disable : 4244) // conversion loss
37
+ #pragma warning(disable : 4146) // negative unsigned
38
+ #pragma warning(disable : 4996) // deprecation warning
39
+ #pragma warning(disable : 4309) // VC2017: truncation of constant value
40
+ #pragma warning(disable : 4267) // VC2017: conversion from 'size_t' to 'char'
41
+ #pragma warning(disable : 4302) // VC2017: type cast truncation
42
+ #pragma warning(disable : 4334) // VC2017: result of 32-bit shift implicitly converted to 64 bits
43
+ #endif
44
+
45
+ #include "defs.h"
46
+ #include "enums.h"
47
+ #include "structs.h"
48
+
49
+ #if (_MSC_VER >= 800) && (_MSC_VER <= 1200)
50
+ #define USE_ASM
51
+ #endif
52
+
53
+ // If defined, use copy protection [Default -> Defined]
54
+ #if !defined(_DEBUG) && !defined(SPAWN)
55
+ #define COPYPROT
56
+ #endif
57
+
58
+ // If defined, don't reload for debuggers [Default -> Undefined]
59
+ // Note that with patch 1.03 the command line was hosed, this is required to pass arguments to the game
60
+ #ifdef _DEBUG
61
+ #define DEBUGGER
62
+ #endif
63
+
64
+ // If defined, don't fry the CPU [Default -> Undefined]
65
+ #ifdef _DEBUG
66
+ #define SLEEPFIX
67
+ #endif
68
+
69
+ // If defined, fix palette glitch in Windows Vista+ [Default -> Undefined]
70
+ //#define COLORFIX
71
+
72
+ #endif
sources/isle/files.txt ADDED
@@ -0,0 +1,574 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 3rdparty/dx5/inc/d3d.h
2
+ 3rdparty/dx5/inc/d3dcaps.h
3
+ 3rdparty/dx5/inc/d3drm.h
4
+ 3rdparty/dx5/inc/d3drmdef.h
5
+ 3rdparty/dx5/inc/d3drmobj.h
6
+ 3rdparty/dx5/inc/d3drmwin.h
7
+ 3rdparty/dx5/inc/d3dtypes.h
8
+ 3rdparty/dx5/inc/ddraw.h
9
+ 3rdparty/dx5/inc/dinput.h
10
+ 3rdparty/dx5/inc/dplay.h
11
+ 3rdparty/dx5/inc/dplobby.h
12
+ 3rdparty/dx5/inc/dsetup.h
13
+ 3rdparty/dx5/inc/dsound.h
14
+ 3rdparty/dx5/inc/dvp.h
15
+ 3rdparty/dx5/inc/fastfile.h
16
+ 3rdparty/smacker/rad.h
17
+ 3rdparty/smacker/smack.h
18
+ 3rdparty/vec/vec.h
19
+ CONFIG/AboutDlg.cpp
20
+ CONFIG/AboutDlg.h
21
+ CONFIG/ConfigCommandLineInfo.cpp
22
+ CONFIG/ConfigCommandLineInfo.h
23
+ CONFIG/MainDlg.cpp
24
+ CONFIG/MainDlg.h
25
+ CONFIG/StdAfx.cpp
26
+ CONFIG/StdAfx.h
27
+ CONFIG/config.cpp
28
+ CONFIG/config.h
29
+ CONFIG/detectdx5.cpp
30
+ CONFIG/detectdx5.h
31
+ CONFIG/res/resource.h
32
+ ISLE/isleapp.cpp
33
+ ISLE/isleapp.h
34
+ ISLE/library_msvc.h
35
+ ISLE/library_smartheap.h
36
+ ISLE/res/resource.h
37
+ LEGO1/define.cpp
38
+ LEGO1/define.h
39
+ LEGO1/lego/legoomni/include/act2actor.h
40
+ LEGO1/lego/legoomni/include/act2brick.h
41
+ LEGO1/lego/legoomni/include/act2genactor.h
42
+ LEGO1/lego/legoomni/include/act2policestation.h
43
+ LEGO1/lego/legoomni/include/act3.h
44
+ LEGO1/lego/legoomni/include/act3actors.h
45
+ LEGO1/lego/legoomni/include/act3ammo.h
46
+ LEGO1/lego/legoomni/include/actions/act2main_actions.h
47
+ LEGO1/lego/legoomni/include/actions/act3_actions.h
48
+ LEGO1/lego/legoomni/include/actions/actionsfwd.h
49
+ LEGO1/lego/legoomni/include/actions/carrace_actions.h
50
+ LEGO1/lego/legoomni/include/actions/carracer_actions.h
51
+ LEGO1/lego/legoomni/include/actions/copter_actions.h
52
+ LEGO1/lego/legoomni/include/actions/credits_actions.h
53
+ LEGO1/lego/legoomni/include/actions/dunecar_actions.h
54
+ LEGO1/lego/legoomni/include/actions/elevbott_actions.h
55
+ LEGO1/lego/legoomni/include/actions/garage_actions.h
56
+ LEGO1/lego/legoomni/include/actions/histbook_actions.h
57
+ LEGO1/lego/legoomni/include/actions/hospital_actions.h
58
+ LEGO1/lego/legoomni/include/actions/infodoor_actions.h
59
+ LEGO1/lego/legoomni/include/actions/infomain_actions.h
60
+ LEGO1/lego/legoomni/include/actions/infoscor_actions.h
61
+ LEGO1/lego/legoomni/include/actions/intro_actions.h
62
+ LEGO1/lego/legoomni/include/actions/isle_actions.h
63
+ LEGO1/lego/legoomni/include/actions/jetrace_actions.h
64
+ LEGO1/lego/legoomni/include/actions/jetracer_actions.h
65
+ LEGO1/lego/legoomni/include/actions/jetski_actions.h
66
+ LEGO1/lego/legoomni/include/actions/jukebox_actions.h
67
+ LEGO1/lego/legoomni/include/actions/jukeboxw_actions.h
68
+ LEGO1/lego/legoomni/include/actions/nocd_actions.h
69
+ LEGO1/lego/legoomni/include/actions/police_actions.h
70
+ LEGO1/lego/legoomni/include/actions/racecar_actions.h
71
+ LEGO1/lego/legoomni/include/actions/regbook_actions.h
72
+ LEGO1/lego/legoomni/include/actions/sndanim_actions.h
73
+ LEGO1/lego/legoomni/include/ambulance.h
74
+ LEGO1/lego/legoomni/include/bike.h
75
+ LEGO1/lego/legoomni/include/buildingentity.h
76
+ LEGO1/lego/legoomni/include/buildings.h
77
+ LEGO1/lego/legoomni/include/bumpbouy.h
78
+ LEGO1/lego/legoomni/include/carrace.h
79
+ LEGO1/lego/legoomni/include/doors.h
80
+ LEGO1/lego/legoomni/include/dunebuggy.h
81
+ LEGO1/lego/legoomni/include/elevatorbottom.h
82
+ LEGO1/lego/legoomni/include/extra.h
83
+ LEGO1/lego/legoomni/include/gasstation.h
84
+ LEGO1/lego/legoomni/include/helicopter.h
85
+ LEGO1/lego/legoomni/include/historybook.h
86
+ LEGO1/lego/legoomni/include/hospital.h
87
+ LEGO1/lego/legoomni/include/infocenter.h
88
+ LEGO1/lego/legoomni/include/infocenterdoor.h
89
+ LEGO1/lego/legoomni/include/isle.h
90
+ LEGO1/lego/legoomni/include/isleactor.h
91
+ LEGO1/lego/legoomni/include/islepathactor.h
92
+ LEGO1/lego/legoomni/include/jetski.h
93
+ LEGO1/lego/legoomni/include/jetskirace.h
94
+ LEGO1/lego/legoomni/include/jukebox.h
95
+ LEGO1/lego/legoomni/include/jukeboxentity.h
96
+ LEGO1/lego/legoomni/include/lego3dsound.h
97
+ LEGO1/lego/legoomni/include/lego3dwavepresenter.h
98
+ LEGO1/lego/legoomni/include/legoact2.h
99
+ LEGO1/lego/legoomni/include/legoactioncontrolpresenter.h
100
+ LEGO1/lego/legoomni/include/legoactor.h
101
+ LEGO1/lego/legoomni/include/legoactorpresenter.h
102
+ LEGO1/lego/legoomni/include/legoactors.h
103
+ LEGO1/lego/legoomni/include/legoanimactor.h
104
+ LEGO1/lego/legoomni/include/legoanimationmanager.h
105
+ LEGO1/lego/legoomni/include/legoanimmmpresenter.h
106
+ LEGO1/lego/legoomni/include/legoanimpresenter.h
107
+ LEGO1/lego/legoomni/include/legobuildingmanager.h
108
+ LEGO1/lego/legoomni/include/legocachesoundlist.h
109
+ LEGO1/lego/legoomni/include/legocachesoundmanager.h
110
+ LEGO1/lego/legoomni/include/legocachsound.h
111
+ LEGO1/lego/legoomni/include/legocameracontroller.h
112
+ LEGO1/lego/legoomni/include/legocarbuild.h
113
+ LEGO1/lego/legoomni/include/legocarbuildpresenter.h
114
+ LEGO1/lego/legoomni/include/legocharactermanager.h
115
+ LEGO1/lego/legoomni/include/legocontrolmanager.h
116
+ LEGO1/lego/legoomni/include/legoendanimnotificationparam.h
117
+ LEGO1/lego/legoomni/include/legoentity.h
118
+ LEGO1/lego/legoomni/include/legoentitylist.h
119
+ LEGO1/lego/legoomni/include/legoentitypresenter.h
120
+ LEGO1/lego/legoomni/include/legoeventnotificationparam.h
121
+ LEGO1/lego/legoomni/include/legoextraactor.h
122
+ LEGO1/lego/legoomni/include/legoflctexturepresenter.h
123
+ LEGO1/lego/legoomni/include/legogamestate.h
124
+ LEGO1/lego/legoomni/include/legoinputmanager.h
125
+ LEGO1/lego/legoomni/include/legoloadcachesoundpresenter.h
126
+ LEGO1/lego/legoomni/include/legolocations.h
127
+ LEGO1/lego/legoomni/include/legolodlist.h
128
+ LEGO1/lego/legoomni/include/legomain.h
129
+ LEGO1/lego/legoomni/include/legometerpresenter.h
130
+ LEGO1/lego/legoomni/include/legomodelpresenter.h
131
+ LEGO1/lego/legoomni/include/legonamedpart.h
132
+ LEGO1/lego/legoomni/include/legonamedpartlist.h
133
+ LEGO1/lego/legoomni/include/legonamedplane.h
134
+ LEGO1/lego/legoomni/include/legonamedtexture.h
135
+ LEGO1/lego/legoomni/include/legonamedtexturelist.h
136
+ LEGO1/lego/legoomni/include/legonavcontroller.h
137
+ LEGO1/lego/legoomni/include/legoobjectfactory.h
138
+ LEGO1/lego/legoomni/include/legopalettepresenter.h
139
+ LEGO1/lego/legoomni/include/legopartpresenter.h
140
+ LEGO1/lego/legoomni/include/legopathactor.h
141
+ LEGO1/lego/legoomni/include/legopathboundary.h
142
+ LEGO1/lego/legoomni/include/legopathcontroller.h
143
+ LEGO1/lego/legoomni/include/legopathcontrollerlist.h
144
+ LEGO1/lego/legoomni/include/legopathedgecontainer.h
145
+ LEGO1/lego/legoomni/include/legopathpresenter.h
146
+ LEGO1/lego/legoomni/include/legopathstruct.h
147
+ LEGO1/lego/legoomni/include/legophoneme.h
148
+ LEGO1/lego/legoomni/include/legophonemelist.h
149
+ LEGO1/lego/legoomni/include/legophonemepresenter.h
150
+ LEGO1/lego/legoomni/include/legoplantmanager.h
151
+ LEGO1/lego/legoomni/include/legoplants.h
152
+ LEGO1/lego/legoomni/include/legopointofviewcontroller.h
153
+ LEGO1/lego/legoomni/include/legorace.h
154
+ LEGO1/lego/legoomni/include/legoraceactor.h
155
+ LEGO1/lego/legoomni/include/legoracemap.h
156
+ LEGO1/lego/legoomni/include/legoracers.h
157
+ LEGO1/lego/legoomni/include/legoracespecial.h
158
+ LEGO1/lego/legoomni/include/legoroilist.h
159
+ LEGO1/lego/legoomni/include/legoroimaplist.h
160
+ LEGO1/lego/legoomni/include/legosoundmanager.h
161
+ LEGO1/lego/legoomni/include/legostate.h
162
+ LEGO1/lego/legoomni/include/legotesttimer.h
163
+ LEGO1/lego/legoomni/include/legotextureinfo.h
164
+ LEGO1/lego/legoomni/include/legotexturepresenter.h
165
+ LEGO1/lego/legoomni/include/legotraninfo.h
166
+ LEGO1/lego/legoomni/include/legotraninfolist.h
167
+ LEGO1/lego/legoomni/include/legoutils.h
168
+ LEGO1/lego/legoomni/include/legovariables.h
169
+ LEGO1/lego/legoomni/include/legovideomanager.h
170
+ LEGO1/lego/legoomni/include/legoworld.h
171
+ LEGO1/lego/legoomni/include/legoworldlist.h
172
+ LEGO1/lego/legoomni/include/legoworldpresenter.h
173
+ LEGO1/lego/legoomni/include/misc.h
174
+ LEGO1/lego/legoomni/include/motorcycle.h
175
+ LEGO1/lego/legoomni/include/mxbackgroundaudiomanager.h
176
+ LEGO1/lego/legoomni/include/mxcompositemediapresenter.h
177
+ LEGO1/lego/legoomni/include/mxcontrolpresenter.h
178
+ LEGO1/lego/legoomni/include/mxtransitionmanager.h
179
+ LEGO1/lego/legoomni/include/pizza.h
180
+ LEGO1/lego/legoomni/include/pizzeria.h
181
+ LEGO1/lego/legoomni/include/police.h
182
+ LEGO1/lego/legoomni/include/racecar.h
183
+ LEGO1/lego/legoomni/include/raceskel.h
184
+ LEGO1/lego/legoomni/include/radio.h
185
+ LEGO1/lego/legoomni/include/registrationbook.h
186
+ LEGO1/lego/legoomni/include/score.h
187
+ LEGO1/lego/legoomni/include/scripts.h
188
+ LEGO1/lego/legoomni/include/skateboard.h
189
+ LEGO1/lego/legoomni/include/towtrack.h
190
+ LEGO1/lego/legoomni/src/actors/act2actor.cpp
191
+ LEGO1/lego/legoomni/src/actors/act2genactor.cpp
192
+ LEGO1/lego/legoomni/src/actors/act3actors.cpp
193
+ LEGO1/lego/legoomni/src/actors/act3ammo.cpp
194
+ LEGO1/lego/legoomni/src/actors/ambulance.cpp
195
+ LEGO1/lego/legoomni/src/actors/bike.cpp
196
+ LEGO1/lego/legoomni/src/actors/buildingentity.cpp
197
+ LEGO1/lego/legoomni/src/actors/buildings.cpp
198
+ LEGO1/lego/legoomni/src/actors/bumpbouy.cpp
199
+ LEGO1/lego/legoomni/src/actors/doors.cpp
200
+ LEGO1/lego/legoomni/src/actors/dunebuggy.cpp
201
+ LEGO1/lego/legoomni/src/actors/helicopter.cpp
202
+ LEGO1/lego/legoomni/src/actors/isleactor.cpp
203
+ LEGO1/lego/legoomni/src/actors/islepathactor.cpp
204
+ LEGO1/lego/legoomni/src/actors/jetski.cpp
205
+ LEGO1/lego/legoomni/src/actors/jukeboxentity.cpp
206
+ LEGO1/lego/legoomni/src/actors/motorcycle.cpp
207
+ LEGO1/lego/legoomni/src/actors/pizza.cpp
208
+ LEGO1/lego/legoomni/src/actors/pizzeria.cpp
209
+ LEGO1/lego/legoomni/src/actors/racecar.cpp
210
+ LEGO1/lego/legoomni/src/actors/radio.cpp
211
+ LEGO1/lego/legoomni/src/actors/skateboard.cpp
212
+ LEGO1/lego/legoomni/src/actors/towtrack.cpp
213
+ LEGO1/lego/legoomni/src/audio/lego3dsound.cpp
214
+ LEGO1/lego/legoomni/src/audio/lego3dwavepresenter.cpp
215
+ LEGO1/lego/legoomni/src/audio/legocachesoundmanager.cpp
216
+ LEGO1/lego/legoomni/src/audio/legocachsound.cpp
217
+ LEGO1/lego/legoomni/src/audio/legoloadcachesoundpresenter.cpp
218
+ LEGO1/lego/legoomni/src/audio/legosoundmanager.cpp
219
+ LEGO1/lego/legoomni/src/audio/mxbackgroundaudiomanager.cpp
220
+ LEGO1/lego/legoomni/src/build/legocarbuild.cpp
221
+ LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp
222
+ LEGO1/lego/legoomni/src/common/legoactioncontrolpresenter.cpp
223
+ LEGO1/lego/legoomni/src/common/legoactors.cpp
224
+ LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp
225
+ LEGO1/lego/legoomni/src/common/legoanimmmpresenter.cpp
226
+ LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp
227
+ LEGO1/lego/legoomni/src/common/legocharactermanager.cpp
228
+ LEGO1/lego/legoomni/src/common/legogamestate.cpp
229
+ LEGO1/lego/legoomni/src/common/legoobjectfactory.cpp
230
+ LEGO1/lego/legoomni/src/common/legophoneme.cpp
231
+ LEGO1/lego/legoomni/src/common/legoplantmanager.cpp
232
+ LEGO1/lego/legoomni/src/common/legoplants.cpp
233
+ LEGO1/lego/legoomni/src/common/legostate.cpp
234
+ LEGO1/lego/legoomni/src/common/legotesttimer.cpp
235
+ LEGO1/lego/legoomni/src/common/legotextureinfo.cpp
236
+ LEGO1/lego/legoomni/src/common/legoutils.cpp
237
+ LEGO1/lego/legoomni/src/common/legovariables.cpp
238
+ LEGO1/lego/legoomni/src/common/misc.cpp
239
+ LEGO1/lego/legoomni/src/common/mxcompositemediapresenter.cpp
240
+ LEGO1/lego/legoomni/src/common/mxcontrolpresenter.cpp
241
+ LEGO1/lego/legoomni/src/common/mxtransitionmanager.cpp
242
+ LEGO1/lego/legoomni/src/control/legocontrolmanager.cpp
243
+ LEGO1/lego/legoomni/src/control/legometerpresenter.cpp
244
+ LEGO1/lego/legoomni/src/entity/act2brick.cpp
245
+ LEGO1/lego/legoomni/src/entity/act2policestation.cpp
246
+ LEGO1/lego/legoomni/src/entity/legoactor.cpp
247
+ LEGO1/lego/legoomni/src/entity/legoactorpresenter.cpp
248
+ LEGO1/lego/legoomni/src/entity/legocameracontroller.cpp
249
+ LEGO1/lego/legoomni/src/entity/legoentity.cpp
250
+ LEGO1/lego/legoomni/src/entity/legoentitypresenter.cpp
251
+ LEGO1/lego/legoomni/src/entity/legolocations.cpp
252
+ LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp
253
+ LEGO1/lego/legoomni/src/entity/legopovcontroller.cpp
254
+ LEGO1/lego/legoomni/src/entity/legoworld.cpp
255
+ LEGO1/lego/legoomni/src/entity/legoworldpresenter.cpp
256
+ LEGO1/lego/legoomni/src/input/legoinputmanager.cpp
257
+ LEGO1/lego/legoomni/src/main/legomain.cpp
258
+ LEGO1/lego/legoomni/src/main/scripts.cpp
259
+ LEGO1/lego/legoomni/src/paths/legoanimactor.cpp
260
+ LEGO1/lego/legoomni/src/paths/legoextraactor.cpp
261
+ LEGO1/lego/legoomni/src/paths/legopathactor.cpp
262
+ LEGO1/lego/legoomni/src/paths/legopathboundary.cpp
263
+ LEGO1/lego/legoomni/src/paths/legopathcontroller.cpp
264
+ LEGO1/lego/legoomni/src/paths/legopathpresenter.cpp
265
+ LEGO1/lego/legoomni/src/paths/legopathstruct.cpp
266
+ LEGO1/lego/legoomni/src/race/carrace.cpp
267
+ LEGO1/lego/legoomni/src/race/jetskirace.cpp
268
+ LEGO1/lego/legoomni/src/race/legorace.cpp
269
+ LEGO1/lego/legoomni/src/race/legoraceactor.cpp
270
+ LEGO1/lego/legoomni/src/race/legoracemap.cpp
271
+ LEGO1/lego/legoomni/src/race/legoracers.cpp
272
+ LEGO1/lego/legoomni/src/race/legoracespecial.cpp
273
+ LEGO1/lego/legoomni/src/race/raceskel.cpp
274
+ LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp
275
+ LEGO1/lego/legoomni/src/video/legoflctexturepresenter.cpp
276
+ LEGO1/lego/legoomni/src/video/legomodelpresenter.cpp
277
+ LEGO1/lego/legoomni/src/video/legopalettepresenter.cpp
278
+ LEGO1/lego/legoomni/src/video/legopartpresenter.cpp
279
+ LEGO1/lego/legoomni/src/video/legophonemepresenter.cpp
280
+ LEGO1/lego/legoomni/src/video/legotexturepresenter.cpp
281
+ LEGO1/lego/legoomni/src/video/legovideomanager.cpp
282
+ LEGO1/lego/legoomni/src/worlds/act3.cpp
283
+ LEGO1/lego/legoomni/src/worlds/elevatorbottom.cpp
284
+ LEGO1/lego/legoomni/src/worlds/gasstation.cpp
285
+ LEGO1/lego/legoomni/src/worlds/historybook.cpp
286
+ LEGO1/lego/legoomni/src/worlds/hospital.cpp
287
+ LEGO1/lego/legoomni/src/worlds/infocenter.cpp
288
+ LEGO1/lego/legoomni/src/worlds/infocenterdoor.cpp
289
+ LEGO1/lego/legoomni/src/worlds/isle.cpp
290
+ LEGO1/lego/legoomni/src/worlds/jukebox.cpp
291
+ LEGO1/lego/legoomni/src/worlds/legoact2.cpp
292
+ LEGO1/lego/legoomni/src/worlds/police.cpp
293
+ LEGO1/lego/legoomni/src/worlds/registrationbook.cpp
294
+ LEGO1/lego/legoomni/src/worlds/score.cpp
295
+ LEGO1/lego/sources/3dmanager/lego3dmanager.cpp
296
+ LEGO1/lego/sources/3dmanager/lego3dmanager.h
297
+ LEGO1/lego/sources/3dmanager/lego3dview.cpp
298
+ LEGO1/lego/sources/3dmanager/lego3dview.h
299
+ LEGO1/lego/sources/3dmanager/legoview1.cpp
300
+ LEGO1/lego/sources/3dmanager/legoview1.h
301
+ LEGO1/lego/sources/3dmanager/tglsurface.cpp
302
+ LEGO1/lego/sources/3dmanager/tglsurface.h
303
+ LEGO1/lego/sources/anim/legoanim.cpp
304
+ LEGO1/lego/sources/anim/legoanim.h
305
+ LEGO1/lego/sources/geom/legoedge.cpp
306
+ LEGO1/lego/sources/geom/legoedge.h
307
+ LEGO1/lego/sources/geom/legoorientededge.cpp
308
+ LEGO1/lego/sources/geom/legoorientededge.h
309
+ LEGO1/lego/sources/geom/legoweedge.cpp
310
+ LEGO1/lego/sources/geom/legoweedge.h
311
+ LEGO1/lego/sources/geom/legowegedge.cpp
312
+ LEGO1/lego/sources/geom/legowegedge.h
313
+ LEGO1/lego/sources/misc/legocontainer.cpp
314
+ LEGO1/lego/sources/misc/legocontainer.h
315
+ LEGO1/lego/sources/misc/legoimage.cpp
316
+ LEGO1/lego/sources/misc/legoimage.h
317
+ LEGO1/lego/sources/misc/legospline.cpp
318
+ LEGO1/lego/sources/misc/legospline.h
319
+ LEGO1/lego/sources/misc/legostorage.cpp
320
+ LEGO1/lego/sources/misc/legostorage.h
321
+ LEGO1/lego/sources/misc/legotexture.cpp
322
+ LEGO1/lego/sources/misc/legotexture.h
323
+ LEGO1/lego/sources/misc/legotree.cpp
324
+ LEGO1/lego/sources/misc/legotree.h
325
+ LEGO1/lego/sources/misc/legotypes.h
326
+ LEGO1/lego/sources/misc/legoutil.h
327
+ LEGO1/lego/sources/misc/version.h
328
+ LEGO1/lego/sources/roi/legolod.cpp
329
+ LEGO1/lego/sources/roi/legolod.h
330
+ LEGO1/lego/sources/roi/legoroi.cpp
331
+ LEGO1/lego/sources/roi/legoroi.h
332
+ LEGO1/lego/sources/shape/legobox.cpp
333
+ LEGO1/lego/sources/shape/legobox.h
334
+ LEGO1/lego/sources/shape/legocolor.cpp
335
+ LEGO1/lego/sources/shape/legocolor.h
336
+ LEGO1/lego/sources/shape/legomesh.cpp
337
+ LEGO1/lego/sources/shape/legomesh.h
338
+ LEGO1/lego/sources/shape/legosphere.cpp
339
+ LEGO1/lego/sources/shape/legosphere.h
340
+ LEGO1/lego/sources/shape/legovertex.cpp
341
+ LEGO1/lego/sources/shape/legovertex.h
342
+ LEGO1/library_msvc.h
343
+ LEGO1/library_smack.h
344
+ LEGO1/library_smartheap.h
345
+ LEGO1/main.cpp
346
+ LEGO1/modeldb/modeldb.cpp
347
+ LEGO1/modeldb/modeldb.h
348
+ LEGO1/mxdirectx/legodxinfo.cpp
349
+ LEGO1/mxdirectx/legodxinfo.h
350
+ LEGO1/mxdirectx/mxdirect3d.cpp
351
+ LEGO1/mxdirectx/mxdirect3d.h
352
+ LEGO1/mxdirectx/mxdirectdraw.cpp
353
+ LEGO1/mxdirectx/mxdirectdraw.h
354
+ LEGO1/mxdirectx/mxdirectxinfo.cpp
355
+ LEGO1/mxdirectx/mxdirectxinfo.h
356
+ LEGO1/mxdirectx/mxstopwatch.h
357
+ LEGO1/mxgeometry/mxgeometry3d.h
358
+ LEGO1/mxgeometry/mxgeometry4d.h
359
+ LEGO1/mxgeometry/mxmatrix.h
360
+ LEGO1/mxgeometry/mxquaternion.h
361
+ LEGO1/mxstl/mxstl.h
362
+ LEGO1/mxstl/stlcompat.h
363
+ LEGO1/omni/include/flic.h
364
+ LEGO1/omni/include/mxactionnotificationparam.h
365
+ LEGO1/omni/include/mxatom.h
366
+ LEGO1/omni/include/mxaudiomanager.h
367
+ LEGO1/omni/include/mxaudiopresenter.h
368
+ LEGO1/omni/include/mxautolock.h
369
+ LEGO1/omni/include/mxbitmap.h
370
+ LEGO1/omni/include/mxbitset.h
371
+ LEGO1/omni/include/mxcollection.h
372
+ LEGO1/omni/include/mxcompositepresenter.h
373
+ LEGO1/omni/include/mxcore.h
374
+ LEGO1/omni/include/mxcriticalsection.h
375
+ LEGO1/omni/include/mxdebug.h
376
+ LEGO1/omni/include/mxdiskstreamcontroller.h
377
+ LEGO1/omni/include/mxdiskstreamprovider.h
378
+ LEGO1/omni/include/mxdisplaysurface.h
379
+ LEGO1/omni/include/mxdsaction.h
380
+ LEGO1/omni/include/mxdsactionlist.h
381
+ LEGO1/omni/include/mxdsanim.h
382
+ LEGO1/omni/include/mxdsbuffer.h
383
+ LEGO1/omni/include/mxdschunk.h
384
+ LEGO1/omni/include/mxdsevent.h
385
+ LEGO1/omni/include/mxdsfile.h
386
+ LEGO1/omni/include/mxdsmediaaction.h
387
+ LEGO1/omni/include/mxdsmultiaction.h
388
+ LEGO1/omni/include/mxdsobject.h
389
+ LEGO1/omni/include/mxdsobjectaction.h
390
+ LEGO1/omni/include/mxdsparallelaction.h
391
+ LEGO1/omni/include/mxdsselectaction.h
392
+ LEGO1/omni/include/mxdsserialaction.h
393
+ LEGO1/omni/include/mxdssound.h
394
+ LEGO1/omni/include/mxdssource.h
395
+ LEGO1/omni/include/mxdsstill.h
396
+ LEGO1/omni/include/mxdsstreamingaction.h
397
+ LEGO1/omni/include/mxdssubscriber.h
398
+ LEGO1/omni/include/mxentity.h
399
+ LEGO1/omni/include/mxeventmanager.h
400
+ LEGO1/omni/include/mxeventpresenter.h
401
+ LEGO1/omni/include/mxflcpresenter.h
402
+ LEGO1/omni/include/mxgeometry.h
403
+ LEGO1/omni/include/mxhashtable.h
404
+ LEGO1/omni/include/mxio.h
405
+ LEGO1/omni/include/mxlist.h
406
+ LEGO1/omni/include/mxloopingflcpresenter.h
407
+ LEGO1/omni/include/mxloopingmidipresenter.h
408
+ LEGO1/omni/include/mxloopingsmkpresenter.h
409
+ LEGO1/omni/include/mxmain.h
410
+ LEGO1/omni/include/mxmediapresenter.h
411
+ LEGO1/omni/include/mxmemorypool.h
412
+ LEGO1/omni/include/mxmidipresenter.h
413
+ LEGO1/omni/include/mxmisc.h
414
+ LEGO1/omni/include/mxmusicmanager.h
415
+ LEGO1/omni/include/mxmusicpresenter.h
416
+ LEGO1/omni/include/mxnextactiondatastart.h
417
+ LEGO1/omni/include/mxnotificationmanager.h
418
+ LEGO1/omni/include/mxnotificationparam.h
419
+ LEGO1/omni/include/mxobjectfactory.h
420
+ LEGO1/omni/include/mxomnicreateflags.h
421
+ LEGO1/omni/include/mxomnicreateparam.h
422
+ LEGO1/omni/include/mxpalette.h
423
+ LEGO1/omni/include/mxparam.h
424
+ LEGO1/omni/include/mxpresentationmanager.h
425
+ LEGO1/omni/include/mxpresenter.h
426
+ LEGO1/omni/include/mxpresenterlist.h
427
+ LEGO1/omni/include/mxqueue.h
428
+ LEGO1/omni/include/mxramstreamcontroller.h
429
+ LEGO1/omni/include/mxramstreamprovider.h
430
+ LEGO1/omni/include/mxregion.h
431
+ LEGO1/omni/include/mxscheduler.h
432
+ LEGO1/omni/include/mxsemaphore.h
433
+ LEGO1/omni/include/mxsmk.h
434
+ LEGO1/omni/include/mxsmkpresenter.h
435
+ LEGO1/omni/include/mxsoundmanager.h
436
+ LEGO1/omni/include/mxsoundpresenter.h
437
+ LEGO1/omni/include/mxstillpresenter.h
438
+ LEGO1/omni/include/mxstreamchunk.h
439
+ LEGO1/omni/include/mxstreamchunklist.h
440
+ LEGO1/omni/include/mxstreamcontroller.h
441
+ LEGO1/omni/include/mxstreamer.h
442
+ LEGO1/omni/include/mxstreamprovider.h
443
+ LEGO1/omni/include/mxstring.h
444
+ LEGO1/omni/include/mxstringlist.h
445
+ LEGO1/omni/include/mxthread.h
446
+ LEGO1/omni/include/mxticklemanager.h
447
+ LEGO1/omni/include/mxticklethread.h
448
+ LEGO1/omni/include/mxtimer.h
449
+ LEGO1/omni/include/mxtypes.h
450
+ LEGO1/omni/include/mxutilities.h
451
+ LEGO1/omni/include/mxutilitylist.h
452
+ LEGO1/omni/include/mxvariable.h
453
+ LEGO1/omni/include/mxvariabletable.h
454
+ LEGO1/omni/include/mxvideomanager.h
455
+ LEGO1/omni/include/mxvideoparam.h
456
+ LEGO1/omni/include/mxvideoparamflags.h
457
+ LEGO1/omni/include/mxvideopresenter.h
458
+ LEGO1/omni/include/mxwavepresenter.h
459
+ LEGO1/omni/src/action/mxdsaction.cpp
460
+ LEGO1/omni/src/action/mxdsanim.cpp
461
+ LEGO1/omni/src/action/mxdsevent.cpp
462
+ LEGO1/omni/src/action/mxdsmediaaction.cpp
463
+ LEGO1/omni/src/action/mxdsmultiaction.cpp
464
+ LEGO1/omni/src/action/mxdsobject.cpp
465
+ LEGO1/omni/src/action/mxdsobjectaction.cpp
466
+ LEGO1/omni/src/action/mxdsparallelaction.cpp
467
+ LEGO1/omni/src/action/mxdsselectaction.cpp
468
+ LEGO1/omni/src/action/mxdsserialaction.cpp
469
+ LEGO1/omni/src/action/mxdssound.cpp
470
+ LEGO1/omni/src/action/mxdsstill.cpp
471
+ LEGO1/omni/src/action/mxdsstreamingaction.cpp
472
+ LEGO1/omni/src/audio/mxaudiomanager.cpp
473
+ LEGO1/omni/src/audio/mxaudiopresenter.cpp
474
+ LEGO1/omni/src/audio/mxloopingmidipresenter.cpp
475
+ LEGO1/omni/src/audio/mxmidipresenter.cpp
476
+ LEGO1/omni/src/audio/mxmusicmanager.cpp
477
+ LEGO1/omni/src/audio/mxmusicpresenter.cpp
478
+ LEGO1/omni/src/audio/mxsoundmanager.cpp
479
+ LEGO1/omni/src/audio/mxsoundpresenter.cpp
480
+ LEGO1/omni/src/audio/mxwavepresenter.cpp
481
+ LEGO1/omni/src/common/mxatom.cpp
482
+ LEGO1/omni/src/common/mxcompositepresenter.cpp
483
+ LEGO1/omni/src/common/mxcore.cpp
484
+ LEGO1/omni/src/common/mxdebug.cpp
485
+ LEGO1/omni/src/common/mxmediapresenter.cpp
486
+ LEGO1/omni/src/common/mxmisc.cpp
487
+ LEGO1/omni/src/common/mxobjectfactory.cpp
488
+ LEGO1/omni/src/common/mxpresentationmanager.cpp
489
+ LEGO1/omni/src/common/mxpresenter.cpp
490
+ LEGO1/omni/src/common/mxstring.cpp
491
+ LEGO1/omni/src/common/mxticklemanager.cpp
492
+ LEGO1/omni/src/common/mxtimer.cpp
493
+ LEGO1/omni/src/common/mxutilities.cpp
494
+ LEGO1/omni/src/common/mxvariable.cpp
495
+ LEGO1/omni/src/common/mxvariabletable.cpp
496
+ LEGO1/omni/src/entity/mxentity.cpp
497
+ LEGO1/omni/src/event/mxeventmanager.cpp
498
+ LEGO1/omni/src/event/mxeventpresenter.cpp
499
+ LEGO1/omni/src/main/mxmain.cpp
500
+ LEGO1/omni/src/main/mxomnicreateflags.cpp
501
+ LEGO1/omni/src/main/mxomnicreateparam.cpp
502
+ LEGO1/omni/src/notify/mxactionnotificationparam.cpp
503
+ LEGO1/omni/src/notify/mxnotificationmanager.cpp
504
+ LEGO1/omni/src/notify/mxnotificationparam.cpp
505
+ LEGO1/omni/src/stream/mxdiskstreamcontroller.cpp
506
+ LEGO1/omni/src/stream/mxdiskstreamprovider.cpp
507
+ LEGO1/omni/src/stream/mxdsbuffer.cpp
508
+ LEGO1/omni/src/stream/mxdschunk.cpp
509
+ LEGO1/omni/src/stream/mxdsfile.cpp
510
+ LEGO1/omni/src/stream/mxdssubscriber.cpp
511
+ LEGO1/omni/src/stream/mxio.cpp
512
+ LEGO1/omni/src/stream/mxramstreamcontroller.cpp
513
+ LEGO1/omni/src/stream/mxramstreamprovider.cpp
514
+ LEGO1/omni/src/stream/mxstreamchunk.cpp
515
+ LEGO1/omni/src/stream/mxstreamcontroller.cpp
516
+ LEGO1/omni/src/stream/mxstreamer.cpp
517
+ LEGO1/omni/src/system/mxautolock.cpp
518
+ LEGO1/omni/src/system/mxcriticalsection.cpp
519
+ LEGO1/omni/src/system/mxscheduler.cpp
520
+ LEGO1/omni/src/system/mxsemaphore.cpp
521
+ LEGO1/omni/src/system/mxthread.cpp
522
+ LEGO1/omni/src/system/mxticklethread.cpp
523
+ LEGO1/omni/src/video/flic.cpp
524
+ LEGO1/omni/src/video/mxbitmap.cpp
525
+ LEGO1/omni/src/video/mxdisplaysurface.cpp
526
+ LEGO1/omni/src/video/mxflcpresenter.cpp
527
+ LEGO1/omni/src/video/mxloopingflcpresenter.cpp
528
+ LEGO1/omni/src/video/mxloopingsmkpresenter.cpp
529
+ LEGO1/omni/src/video/mxpalette.cpp
530
+ LEGO1/omni/src/video/mxregion.cpp
531
+ LEGO1/omni/src/video/mxsmk.cpp
532
+ LEGO1/omni/src/video/mxsmkpresenter.cpp
533
+ LEGO1/omni/src/video/mxstillpresenter.cpp
534
+ LEGO1/omni/src/video/mxvideomanager.cpp
535
+ LEGO1/omni/src/video/mxvideoparam.cpp
536
+ LEGO1/omni/src/video/mxvideoparamflags.cpp
537
+ LEGO1/omni/src/video/mxvideopresenter.cpp
538
+ LEGO1/realtime/lodlist.h
539
+ LEGO1/realtime/matrix.h
540
+ LEGO1/realtime/matrix4d.inl.h
541
+ LEGO1/realtime/orientableroi.cpp
542
+ LEGO1/realtime/orientableroi.h
543
+ LEGO1/realtime/realtime.cpp
544
+ LEGO1/realtime/realtime.h
545
+ LEGO1/realtime/realtimeview.cpp
546
+ LEGO1/realtime/realtimeview.h
547
+ LEGO1/realtime/roi.h
548
+ LEGO1/realtime/vector.h
549
+ LEGO1/realtime/vector2d.inl.h
550
+ LEGO1/realtime/vector3d.inl.h
551
+ LEGO1/realtime/vector4d.inl.h
552
+ LEGO1/res/resource.h
553
+ LEGO1/tgl/d3drm/camera.cpp
554
+ LEGO1/tgl/d3drm/device.cpp
555
+ LEGO1/tgl/d3drm/group.cpp
556
+ LEGO1/tgl/d3drm/impl.h
557
+ LEGO1/tgl/d3drm/light.cpp
558
+ LEGO1/tgl/d3drm/mesh.cpp
559
+ LEGO1/tgl/d3drm/meshbuilder.cpp
560
+ LEGO1/tgl/d3drm/renderer.cpp
561
+ LEGO1/tgl/d3drm/texture.cpp
562
+ LEGO1/tgl/d3drm/view.cpp
563
+ LEGO1/tgl/tgl.h
564
+ LEGO1/tgl/tglvector.h
565
+ LEGO1/viewmanager/viewlod.cpp
566
+ LEGO1/viewmanager/viewlod.h
567
+ LEGO1/viewmanager/viewlodlist.cpp
568
+ LEGO1/viewmanager/viewlodlist.h
569
+ LEGO1/viewmanager/viewmanager.cpp
570
+ LEGO1/viewmanager/viewmanager.h
571
+ LEGO1/viewmanager/viewroi.cpp
572
+ LEGO1/viewmanager/viewroi.h
573
+ util/compat.h
574
+ util/decomp.h
sources/isle/functions.csv ADDED
The diff for this file is too large to render. See raw diff
 
sources/peggle/functions.csv ADDED
@@ -0,0 +1,852 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ address,name
2
+ 0x00550220,Image::Image
3
+ 0x00550240,Image
4
+ 0x00550260,png_pak_read_data
5
+ 0x00550760,GetPNGImage
6
+ 0x00550930,GetTGAImage
7
+ 0x005502a0,ReadBlobBlock
8
+ 0x00550a90,GetGIFImage
9
+ 0x00551480,ImageLib::WriteJPEGImage
10
+ 0x00553f50,GetJPEGImage
11
+ 0x0055a560,PakInterface::AddPakFile
12
+ 0x00528f00,p_fclose
13
+ 0x0054aa50,CheckBassFunction
14
+ 0x0054aab0,BASS_INSTANCE::BASS_INSTANCE
15
+ 0x0054b060,BASS_INSTANCE
16
+ 0x0054b080,BASS_INSTANCE::BASS_MusicSetAmplify
17
+ 0x0054b0a0,BASS_INSTANCE::BASS_MusicPlay
18
+ 0x0054b0c0,BASS_INSTANCE::BASS_MusicPlayEx
19
+ 0x0054b100,BASS_INSTANCE::BASS_ChannelResume
20
+ 0x0054b120,BASS_INSTANCE::BASS_StreamPlay
21
+ 0x0054b150,Sexy::LoadBassDLL
22
+ 0x0054b1b0,Sexy::FreeBassDLL
23
+ 0x0052db40,BassMusicInfo::BassMusicInfo
24
+ 0x0054fc60,BassMusicInterface::BassMusicInterface
25
+ 0x0054fbc0,BassMusicInterface
26
+ 0x0054f410,BassMusicInterface::LoadMusic
27
+ 0x0054d360,BassMusicInterface::PlayMusic
28
+ 0x0054d4a0,BassMusicInterface::StopMusic
29
+ 0x0054cc50,BassMusicInterface::StopAllMusic
30
+ 0x0054eac0,BassMusicInterface::UnloadMusic
31
+ 0x0054ccd0,BassMusicInterface::UnloadAllMusic
32
+ 0x0054d510,BassMusicInterface::PauseMusic
33
+ 0x0054cdc0,BassMusicInterface::PauseAllMusic
34
+ 0x0054ce60,BassMusicInterface::ResumeAllMusic
35
+ 0x0054d580,BassMusicInterface::ResumeMusic
36
+ 0x0054d5f0,BassMusicInterface::FadeIn
37
+ 0x0054d740,BassMusicInterface::FadeOut
38
+ 0x0054cf00,BassMusicInterface::FadeOutAll
39
+ 0x0054b210,BassMusicInterface::SetVolume
40
+ 0x0054d7b0,BassMusicInterface::SetSongVolume
41
+ 0x0054d840,BassMusicInterface::SetSongMaxVolume
42
+ 0x0054d8e0,BassMusicInterface::IsPlaying
43
+ 0x0054d960,BassMusicInterface::SetMusicAmplify
44
+ 0x0054cf80,BassMusicInterface::Update
45
+ 0x0054d9f0,BassMusicInterface::GetMusicOrder
46
+ 0x004fbbc0,GetUTF8Char
47
+ 0x0050f220,Buffer::Buffer
48
+ 0x00501020,Buffer
49
+ 0x00503590,Buffer::UTF8ToWideString
50
+ 0x004fbd20,Buffer::SeekFront
51
+ 0x00501f90,Buffer::Clear
52
+ 0x005119f0,Buffer::WriteByte
53
+ 0x00511a90,Buffer::WriteNumBits
54
+ 0x00511b90,Buffer::WriteBoolean
55
+ 0x00511bb0,Buffer::WriteShort
56
+ 0x00511be0,Buffer::WriteLong
57
+ 0x00511c20,Buffer::WriteString
58
+ 0x005169b0,Buffer::WriteLine
59
+ 0x00511c80,Buffer::WriteBytes
60
+ 0x0050d3a0,Buffer::SetData
61
+ 0x004fce60,Buffer::ReadByte
62
+ 0x004fcf50,Buffer::ReadNumBits
63
+ 0x004fd030,Buffer::ReadBoolean
64
+ 0x004fd040,Buffer::ReadShort
65
+ 0x004fd070,Buffer::ReadLong
66
+ 0x00503680,Buffer::ReadString
67
+ 0x00503720,Buffer::ReadLine
68
+ 0x004fd0b0,Buffer::ReadBytes
69
+ 0x004fd0e0,Buffer::GetDataPtr
70
+ 0x004fbd30,Buffer::GetDataLen
71
+ 0x004fbd40,Buffer::AtEnd
72
+ 0x00497dc0,ButtonPress
73
+ 0x00401fe0,ButtonPress
74
+ 0x00401fe0,ButtonDepress
75
+ 0x00401fe0,ButtonDownTick
76
+ 0x00401fe0,ButtonMouseEnter
77
+ 0x00401fe0,ButtonMouseLeave
78
+ 0x0054b790,ButtonMouseMove
79
+ 0x00547fa0,ButtonWidget::ButtonWidget
80
+ 0x00545c30,ButtonWidget
81
+ 0x005408c0,ButtonWidget::SetFont
82
+ 0x005408f0,ButtonWidget::IsButtonDown
83
+ 0x00540910,ButtonWidget::HaveButtonImage
84
+ 0x00540940,ButtonWidget::DrawButtonImage
85
+ 0x00545cd0,ButtonWidget::Draw
86
+ 0x00543000,ButtonWidget::SetDisabled
87
+ 0x00541a80,ButtonWidget::MouseEnter
88
+ 0x00541b40,ButtonWidget::MouseLeave
89
+ 0x00540980,ButtonWidget::MouseMove
90
+ 0x005409b0,ButtonWidget::MouseDown
91
+ 0x005409e0,ButtonWidget::MouseUp
92
+ 0x00540a20,ButtonWidget::Update
93
+ 0x00492470,MouseDown
94
+ 0x00497530,MouseUp
95
+ 0x00547e90,Checkbox::Checkbox
96
+ 0x005406e0,Checkbox::SetChecked
97
+ 0x00540720,Checkbox::IsChecked
98
+ 0x00540730,Checkbox::Draw
99
+ 0x00540880,Checkbox::MouseDown
100
+ 0x0053ea70,CheckboxChecked
101
+ 0x004c2040,Color::Color
102
+ 0x004c2060,Color::Color
103
+ 0x004c20a0,Color::Color
104
+ 0x004c20d0,Color::Color
105
+ 0x004c2100,Color::Color
106
+ 0x004c2120,Color::Color
107
+ 0x004c2160,Color::ToInt
108
+ 0x004fb900,Sexy::SRand
109
+ 0x004fb920,Sexy::CheckFor98Mill
110
+ 0x004fb9d0,Sexy::CheckForVista
111
+ 0x00502eb0,Sexy::GetAppDataFolder
112
+ 0x00507e00,Sexy::SetAppDataFolder
113
+ 0x00502ee0,Sexy::URLEncode
114
+ 0x005031f0,Sexy::StringToUpper
115
+ 0x005032a0,Sexy::StringToLower
116
+ 0x00503350,Sexy::StringToWString
117
+ 0x00507ef0,Sexy::WStringToString
118
+ 0x00503430,Sexy::StringToSexyString
119
+ 0x00508080,Sexy::WStringToSexyString
120
+ 0x00503460,Sexy::SexyStringToWString
121
+ 0x005080b0,Sexy::Trim
122
+ 0x00508150,Sexy::GetCurDir
123
+ 0x0050d330,Sexy::GetFullPath
124
+ 0x005081d0,Sexy::GetPathFrom
125
+ 0x004fe170,Sexy::AllowAllAccess
126
+ 0x00508b50,Sexy::Deltree
127
+ 0x00508e10,Sexy::MkDir
128
+ 0x004bcf30,Sexy::GetFileName
129
+ 0x00508f10,Sexy::GetFileDir
130
+ 0x00508fc0,Sexy::RemoveTrailingSlash
131
+ 0x00509060,Sexy::AddTrailingSlash
132
+ 0x004fe330,Sexy::GetFileDate
133
+ 0x00509110,Sexy::vformat
134
+ 0x00509270,Sexy::StrFormat
135
+ 0x00509530,Sexy::XMLDecodeString
136
+ 0x00503490,Sexy::Upper
137
+ 0x004fba80,Sexy::StrFindNoCase
138
+ 0x004fbb30,Sexy::StrPrefixNoCase
139
+ 0x004fb8e0,CritSect::CritSect
140
+ 0x004fb8f0,CritSect
141
+ 0x004e46d0,GetD3D8AdapterInfo2
142
+ 0x004e47c0,Sexy::GetD3D8AdapterInfo
143
+ 0x004df3e0,D3DInterface::CheckDXError
144
+ 0x004e95b0,D3DInterface::D3DInterface
145
+ 0x004e7b20,D3DInterface
146
+ 0x004c2200,D3DInterface::MakeDDPixelFormat
147
+ 0x004c2460,EnumZBufferCallback
148
+ 0x004df520,D3DInterface::InitD3D
149
+ 0x004df720,D3DInterface::InitFromDDInterface
150
+ 0x004c2490,D3DInterface::PreDraw
151
+ 0x004df7a0,CreateTextureSurface
152
+ 0x004df890,CopyImageToTexture
153
+ 0x004c25f0,GetClosestPowerOf2Above
154
+ 0x004c2610,IsPowerOf2
155
+ 0x004c2630,GetBestTextureDimensions
156
+ 0x004e7bb0,TextureData::TextureData
157
+ 0x004e4cc0,TextureData
158
+ 0x004dfa30,TextureData::ReleaseTextures
159
+ 0x004e96b0,TextureData::CreateTextureDimensions
160
+ 0x004e9950,TextureData::CreateTextures
161
+ 0x004e9c60,TextureData::CheckCreateTextures
162
+ 0x004d3f70,TextureData::GetTexture
163
+ 0x004dfb20,SetLinearFilter
164
+ 0x004dfbb0,TextureData::Blt
165
+ 0x004c2860,Interpolate
166
+ 0x004c2a50,D3DTestImage::D3DTestImage
167
+ 0x004dbc80,D3DTestImage::D3DTestImage
168
+ 0x004d4050,D3DTestImage
169
+ 0x004d4060,D3DTestImage::Create
170
+ 0x004c2a70,D3DTestImage::FreeImage
171
+ 0x004c2a90,D3DTestImage::FillRect
172
+ 0x004c2ae0,D3DTestImage::MakeVerticalBands
173
+ 0x004e4e40,D3DTestImage::CopyToTexture8888
174
+ 0x004e4f40,D3DTestImage::CopyToTexture4444
175
+ 0x004e5080,D3DTestImage::DrawPieceToDevice
176
+ 0x004e5210,D3DTestImage::DrawToDevice
177
+ 0x004c2b20,D3DTestImage::ColorDistance
178
+ 0x004c2b80,D3DTestImage::IsUniformColor
179
+ 0x004c2c20,D3DTestImage::CheckUniformBands
180
+ 0x004c2cc0,D3DTestHighBit
181
+ 0x004dcd50,D3DTester::D3DTester
182
+ 0x004dcdf0,D3DTester
183
+ 0x004e1410,D3DTester::CheckRegistry
184
+ 0x004dbcb0,D3DTester::WriteToRegistry
185
+ 0x004e1890,D3DTester::IsSupportedCard
186
+ 0x004e52b0,D3DTester::Init
187
+ 0x004c2d00,D3DTester::Cleanup
188
+ 0x004e1970,D3DTester::Fail
189
+ 0x004e1990,D3DTester::Warn
190
+ 0x004e19b0,D3DTester::CheckDXError
191
+ 0x004e1b10,D3DTester::CopyPrimaryToTestImage
192
+ 0x004e5cf0,D3DTester::TestAlphaBlend
193
+ 0x004e5f80,D3DTester::TestAdditiveBlend
194
+ 0x004e6210,D3DTester::TestAlphaAddBlend
195
+ 0x004e64a0,D3DTester::TestAlphaModulate
196
+ 0x004e6750,D3DTester::TestClipProblem
197
+ 0x004e6940,D3DTester::DoTest
198
+ 0x004c2d90,D3DTester::SetVidMemoryConstraints
199
+ 0x004e6980,D3DTester::TestD3D
200
+ 0x004e7d10,DDImage::DDImage
201
+ 0x004e7db0,DDImage::DDImage
202
+ 0x004e6a50,DDImage
203
+ 0x004e6ac0,DDImage::Init
204
+ 0x004d40b0,DDImage::Check3D
205
+ 0x004c2db0,DDImage::Check3D
206
+ 0x004d40e0,DDImage::LockSurface
207
+ 0x004c2de0,DDImage::UnlockSurface
208
+ 0x004c2e10,DDImage::SetSurface
209
+ 0x004c3770,DDImage::DeleteDDSurface
210
+ 0x004d4140,DDImage::ReInit
211
+ 0x004d4210,DDImage::DeleteExtraBuffers
212
+ 0x004c3810,DDImage::SetVideoMemory
213
+ 0x004c3840,DDImage::RehupFirstPixelTrans
214
+ 0x004c3950,DDImage::GetSurface
215
+ 0x004e1c50,DDImage::PolyFill3D
216
+ 0x004e1ca0,DDImage::FillRect
217
+ 0x004c3970,DDImage::NormalDrawLine
218
+ 0x004c4a00,DDImage::AdditiveDrawLine
219
+ 0x004e1d60,DDImage::DrawLine
220
+ 0x004c5540,DDImage::NormalDrawLineAA
221
+ 0x004e1f80,DDImage::DrawLineAA
222
+ 0x004e6af0,DDImage::GetBits
223
+ 0x004c7960,DDImage::NormalFillRect
224
+ 0x004c7dd0,DDImage::AdditiveFillRect
225
+ 0x004d4260,DDImage::NormalBltMirror
226
+ 0x004cb7f0,DDImage::AdditiveBlt
227
+ 0x004d6400,DDImage::AdditiveBltMirror
228
+ 0x004f6760,DDImage::Blt
229
+ 0x004ec3b0,DDImage::BltMirror
230
+ 0x004f69c0,DDImage::BltF
231
+ 0x004e9fb0,DDImage::BltMatrix
232
+ 0x004ea0e0,DDImage::BltTrianglesTex
233
+ 0x004dbda0,DDImage::Palletize
234
+ 0x004e6d30,DDImage::FillScanLinesWithCoverage
235
+ 0x004eadb0,DDInterface::DDInterface
236
+ 0x004e9330,DDInterface
237
+ 0x004de930,DDInterface::ResultToString
238
+ 0x004dea30,DDInterface::GotDXError
239
+ 0x004c1d80,DDInterface::GetScreenImage
240
+ 0x004c1d90,DDInterface::CreateSurface
241
+ 0x004c1f70,DDInterface::ClearSurface
242
+ 0x004e78b0,DDInterface::Do3DTest
243
+ 0x004eafd0,DDInterface::Init
244
+ 0x004e9440,DDInterface::SetVideoOnlyDraw
245
+ 0x004e4c50,DDInterface::AddDDImage
246
+ 0x004dec70,DDInterface::RemoveDDImage
247
+ 0x004e7990,DDInterface::Cleanup
248
+ 0x004ded10,DDInterface::Redraw
249
+ 0x004d3740,DDInterface::RestoreOldCursorAreaFrom
250
+ 0x004dda40,DDInterface::DrawCursorTo
251
+ 0x004dde80,DDInterface::MoveCursorTo
252
+ 0x004c2000,DDInterface::SetCursorImage
253
+ 0x004de460,DDInterface::SetCursorPos
254
+ 0x0054c8f0,DSoundManager::DSoundManager
255
+ 0x00548f90,Dialog::Dialog
256
+ 0x00497540,MouseUp
257
+ 0x005469e0,DialogButton::Draw
258
+ 0x00506e90,Sexy::GetDirectXErrorString
259
+ 0x004cc850,Font::Font
260
+ 0x004cc870,Font::Font
261
+ 0x004cc8a0,Font
262
+ 0x004cc8b0,Font::GetAscent
263
+ 0x004cc8c0,Font::GetAscentPadding
264
+ 0x004cc8d0,Font::GetDescent
265
+ 0x00556c50,Font::GetHeight
266
+ 0x004cc8e0,Font::GetLineSpacingOffset
267
+ 0x004cc8f0,Font::GetLineSpacing
268
+ 0x004cc900,Font::StringWidth
269
+ 0x004de510,Font::CharWidth
270
+ 0x004cc910,Font::CharWidthKern
271
+ 0x004cc930,GraphicsState::CopyStateFrom
272
+ 0x004dd1c0,Graphics::Graphics
273
+ 0x004dd230,Graphics::Graphics
274
+ 0x004dd310,Graphics
275
+ 0x004e8050,Graphics::PushState
276
+ 0x004dd320,Graphics::PopState
277
+ 0x004dd380,Graphics::Create
278
+ 0x004cc9c0,Graphics::GetFont
279
+ 0x004cc9d0,Graphics::SetFont
280
+ 0x004cc9e0,Graphics::SetColor
281
+ 0x004cca20,Graphics::SetDrawMode
282
+ 0x004cca40,Graphics::SetColorizeImages
283
+ 0x004cca60,Graphics::SetFastStretch
284
+ 0x004cca70,Graphics::SetLinearBlend
285
+ 0x00004d7470,Graphics::FillRect
286
+ 0x004d74e0,Graphics::FillRect
287
+ 0x004d7500,Graphics::DrawRect
288
+ 0x004d7600,Graphics::DrawRect
289
+ 0x004cca80,Graphics::PFCompareInd
290
+ 0x004ccab0,Graphics::PFCompareActive
291
+ 0x004ccad0,Graphics::PFDelete
292
+ 0x004ccb30,Graphics::PFInsert
293
+ 0x004d7620,Graphics::DrawLineClipHelper
294
+ 0x004d7790,Graphics::DrawLine
295
+ 0x004ccfd0,Graphics::DrawString
296
+ 0x004dbdc0,Graphics::DrawImage
297
+ 0x004d7810,Graphics::DrawImage
298
+ 0x004dbec0,Graphics::DrawImageMirror
299
+ 0x004dbf00,Graphics::DrawImageMirror
300
+ 0x004d7b00,Graphics::DrawImage
301
+ 0x004d7b90,Graphics::DrawImage
302
+ 0x004d7c00,Graphics::DrawImageF
303
+ 0x004cd000,Graphics::DrawImageF
304
+ 0x004dc0f0,Graphics::DrawImageRotated
305
+ 0x004d7c80,Graphics::DrawImageRotatedF
306
+ 0x004cd060,Graphics::DrawImageMatrix
307
+ 0x004dc130,Graphics::DrawImageTransformHelper
308
+ 0x004dc3e0,Graphics::DrawImageTransform
309
+ 0x004dc4b0,Graphics::DrawImageTransformF
310
+ 0x004dc480,Graphics::DrawImageTransform
311
+ 0x004dc430,Graphics::DrawImageTransformF
312
+ 0x004cd0d0,Graphics::DrawTriangleTex
313
+ 0x004d7d70,Graphics::ClipRect
314
+ 0x004d7dd0,Graphics::ClipRect
315
+ 0x004cd190,Graphics::Translate
316
+ 0x004de5d0,Graphics::DrawImageBox
317
+ 0x004dd3f0,Graphics::DrawImageBox
318
+ 0x004dc4e0,Graphics::DrawImageCel
319
+ 0x004dc510,Graphics::DrawImageCel
320
+ 0x004d7df0,Graphics::DrawImageCel
321
+ 0x004d7e60,Graphics::DrawImageCel
322
+ 0x004e2e90,Graphics::DrawStringColor
323
+ 0x004e2ec0,Graphics::GetWordWrappedHeight
324
+ 0x005007b0,HTTPTransfer::HTTPTransfer
325
+ 0x00500860,HTTPTransfer
326
+ 0x004fb7c0,HTTPTransfer::SocketWait
327
+ 0x00510bf0,HTTPTransfer::GetThreadProc
328
+ 0x00518ff0,HTTPTransfer::PrepareTransfer
329
+ 0x00511440,HTTPTransfer::StartTransfer
330
+ 0x00519260,HTTPTransfer::GetHelper
331
+ 0x005193c0,HTTPTransfer::Get
332
+ 0x00519400,HTTPTransfer::Get
333
+ 0x00519490,HTTPTransfer::SendRequestString
334
+ 0x004fb8d0,HTTPTransfer::Abort
335
+ 0x00517dd0,HTTPTransfer::Reset
336
+ 0x00516700,HTTPTransfer::UpdateStatus
337
+ 0x00516900,HTTPTransfer::WaitFor
338
+ 0x00516930,HTTPTransfer::GetResultCode
339
+ 0x00516940,HTTPTransfer::GetContent
340
+ 0x00548eb0,HyperlinkWidget::HyperlinkWidget
341
+ 0x00544050,HyperlinkWidget::Draw
342
+ 0x00541dd0,HyperlinkWidget::MouseEnter
343
+ 0x00541df0,HyperlinkWidget::MouseLeave
344
+ 0x004dcee0,Image::Image
345
+ 0x004ea210,Image::Image
346
+ 0x004e2f60,Image
347
+ 0x004cd1f0,Image::GetWidth
348
+ 0x004cd200,Image::GetHeight
349
+ 0x004cd210,Image::GetCelHeight
350
+ 0x004cd220,Image::GetCelWidth
351
+ 0x004d7f00,Image::GetCelRect
352
+ 0x004d7f40,Image::GetCelRect
353
+ 0x004e8160,AnimInfo::AnimInfo
354
+ 0x004ea2c0,AnimInfo::SetPerFrameDelay
355
+ 0x004ea330,AnimInfo::Compute
356
+ 0x004d7f80,AnimInfo::GetPerFrameCel
357
+ 0x004d7fd0,AnimInfo::GetCel
358
+ 0x004d80a0,Image::GetAnimCel
359
+ 0x004d80c0,Image::DrawRect
360
+ 0x004d81a0,Image::FillScanLines
361
+ 0x004fc170,DataElement::DataElement
362
+ 0x004fc180,DataElement
363
+ 0x005013b0,SingleDataElement::SingleDataElement
364
+ 0x005013e0,SingleDataElement
365
+ 0x0050a9f0,SingleDataElement::Duplicate
366
+ 0x0050f2b0,ListDataElement::ListDataElement
367
+ 0x00502040,ListDataElement
368
+ 0x00512210,ListDataElement::ListDataElement
369
+ 0x00512480,ListDataElement::Duplicate
370
+ 0x004d8200,CharData::CharData
371
+ 0x004f98c0,FontData::FontData
372
+ 0x004f99a0,FontData
373
+ 0x004cd290,FontData::Ref
374
+ 0x004e2fe0,FontData::Error
375
+ 0x004e3120,FontData::DataToLayer
376
+ 0x004f6e40,FontData::HandleCommand
377
+ 0x004e3260,FontData::Load
378
+ 0x004f9570,FontData::LoadLegacy
379
+ 0x004d8240,ActiveFontLayer::ActiveFontLayer
380
+ 0x004d82a0,ActiveFontLayer::ActiveFontLayer
381
+ 0x004cd2b0,ActiveFontLayer
382
+ 0x004f9c20,ImageFont::ImageFont
383
+ 0x004f6b20,ImageFont::ImageFont
384
+ 0x004f9b70,ImageFont::ImageFont
385
+ 0x004f9d00,ImageFont::ImageFont
386
+ 0x004e8460,ImageFont::GenerateActiveFontLayers
387
+ 0x004dc540,ImageFont::StringWidth
388
+ 0x004dcf10,ImageFont::CharWidthKern
389
+ 0x00548980,ListWidget::ListWidget
390
+ 0x00548aa0,ListWidget
391
+ 0x00542470,ListWidget::RemovedFromManager
392
+ 0x00543620,ListWidget::GetStringAt
393
+ 0x00541710,ListWidget::GetLineCount
394
+ 0x00541cf0,ListWidget::GetLineIdx
395
+ 0x00548b30,ListWidget::RemoveLine
396
+ 0x00548ce0,ListWidget::RemoveAll
397
+ 0x005418f0,ListWidget::GetOptimalWidth
398
+ 0x00541800,ListWidget::GetOptimalHeight
399
+ 0x00541950,ListWidget::MouseMove
400
+ 0x005401f0,ListWidget::MouseDown
401
+ 0x00540230,ListWidget::MouseLeave
402
+ 0x005402c0,ListWidget::MouseWheel
403
+ 0x004e3b20,MemoryImage::MemoryImage
404
+ 0x004e3b80,MemoryImage::MemoryImage
405
+ 0x004eab00,MemoryImage::MemoryImage
406
+ 0x004cd3a0,MemoryImage::Init
407
+ 0x004cd430,MemoryImage::NormalDrawLine
408
+ 0x004cdc70,MemoryImage::AdditiveDrawLine
409
+ 0x004d8340,MemoryImage::DrawLine
410
+ 0x004ce140,MemoryImage::NormalDrawLineAA
411
+ 0x004d84c0,MemoryImage::DrawLineAA
412
+ 0x004cf060,MemoryImage::GetNativeAlphaData
413
+ 0x004cf270,MemoryImage::GetRLAlphaData
414
+ 0x004cf4c0,MemoryImage::GetRLAdditiveData
415
+ 0x004cf7d0,MemoryImage::DeleteExtraBuffers
416
+ 0x004cf7f0,MemoryImage::ReInit
417
+ 0x004cf960,MemoryImage::FillRect
418
+ 0x004cfb30,MemoryImage::ClearRect
419
+ 0x004cfbb0,MemoryImage::Clear
420
+ 0x004cfc00,MemoryImage::AdditiveBlt
421
+ 0x004d0640,MemoryImage::NormalBlt
422
+ 0x004d13f0,MemoryImage::Blt
423
+ 0x004d1440,MemoryImage::BltF
424
+ 0x004d8930,MemoryImage::StretchBltClipHelper
425
+ 0x004d8a20,MemoryImage::StretchBltMirrorClipHelper
426
+ 0x004db1f0,MemoryImage::StretchBlt
427
+ 0x004d2b50,MemoryImage::BltMatrix
428
+ 0x004d2e60,MemoryImage::BltTrianglesTex
429
+ 0x00523c70,Sexy::ModVal
430
+ 0x00523cd0,Sexy::ModVal
431
+ 0x0054b740,MusicInterface::MusicInterface
432
+ 0x0054b750,MusicInterface
433
+ 0x0054b770,MusicInterface::FadeIn
434
+ 0x005001b0,SexyPerf::BeginPerf
435
+ 0x0051a730,ResourceManager::ParseImageResource
436
+ 0x0050a0d0,ResourceManager::LoadAlphaGridImage
437
+ 0x0050a300,ResourceManager::LoadAlphaImage
438
+ 0x00511e20,ResourceManager::DoLoadImage
439
+ 0x0050d410,ResourceManager::DoLoadFont
440
+ 0x00555350,Sexy::SWTri_AddDrawTriFunc
441
+ 0x00524db0,SexyApp::SexyApp
442
+ 0x00524ae0,SexyApp
443
+ 0x00524ff0,SexyApp::Validate
444
+ 0x00525960,SexyApp::ReadFromRegistry
445
+ 0x00526580,SexyApp::WriteToRegistry
446
+ 0x00527c70,SexyApp::OpenHTMLTemplate
447
+ 0x005281f0,SexyApp::OpenRegisterPage
448
+ 0x00524960,SexyApp::ShouldCheckForUpdate
449
+ 0x005249d0,SexyApp::UpdateCheckQueried
450
+ 0x00524a00,SexyApp::URLOpenSucceeded
451
+ 0x005281f0,SexyApp::OpenRegisterPage
452
+ 0x005266b0,SexyApp::CheckSignature
453
+ 0x005269f0,SexyApp::HandleCmdLineParam
454
+ 0x00526d80,SexyApp::GetGameSEHInfo
455
+ 0x00527950,SexyApp::GetSEHWebParams
456
+ 0x00527180,SexyApp::InitPropertiesHook
457
+ 0x00527580,SexyApp::Init
458
+ 0x00524ac0,SexyApp::UpdateFrames
459
+ 0x00528fe0,GetSHGetFolderPath
460
+ 0x0053d450,SexyAppBase::SexyAppBase
461
+ 0x0053c8a0,SexyAppBase
462
+ 0x00537720,ChangeDisplayWindowEnumProc
463
+ 0x00529030,SexyAppBase::ClearUpdateBacklog
464
+ 0x00529060,SexyAppBase::IsScreenSaver
465
+ 0x00536520,SexyAppBase::ReadDemoBuffer
466
+ 0x0052bc00,SexyAppBase::WriteDemoBuffer
467
+ 0x0052b020,SexyAppBase::DemoSyncBuffer
468
+ 0x005290a0,SexyAppBase::NewDialog
469
+ 0x00529130,SexyAppBase::DoDialog
470
+ 0x0052dbe0,SexyAppBase::GetDialog
471
+ 0x0052e350,SexyAppBase::KillDialog
472
+ 0x00534330,SexyAppBase::AddDialog
473
+ 0x005291e0,SexyAppBase::DialogButtonPress
474
+ 0x00529230,SexyAppBase::DialogButtonDepress
475
+ 0x00529290,SexyAppBase::URLOpenSucceeded
476
+ 0x0052e4b0,SexyAppBase::OpenURL
477
+ 0x0052e570,SexyAppBase::GetProductVersion
478
+ 0x005292b0,SexyAppBase::WaitForLoadingThread
479
+ 0x005292e0,SexyAppBase::SetCursorImage
480
+ 0x0052e6e0,SexyAppBase::TakeScreenshot
481
+ 0x00538d00,SexyAppBase::DumpProgramInfo
482
+ 0x00529300,SexyAppBase::GetLoadingThreadProgress
483
+ 0x0052eb20,SexyAppBase::RegistryWrite
484
+ 0x0052ee50,SexyAppBase::RegistryWriteString
485
+ 0x0052eeb0,SexyAppBase::RegistryWriteBoolean
486
+ 0x0052eee0,SexyAppBase::WriteToRegistry
487
+ 0x00532780,SexyAppBase::RegistryRead
488
+ 0x0052f450,SexyAppBase::RegistryReadKey
489
+ 0x005327b0,SexyAppBase::RegistryReadString
490
+ 0x00532860,SexyAppBase::RegistryReadInteger
491
+ 0x005328b0,SexyAppBase::RegistryReadBoolean
492
+ 0x005328e0,SexyAppBase::ReadFromRegistry
493
+ 0x0052f7b0,SexyAppBase::WriteBytesToFile
494
+ 0x0052fa40,SexyAppBase::WriteBufferToFile
495
+ 0x0052fa70,SexyAppBase::ReadBufferFromFile
496
+ 0x0052b680,SexyAppBase::FileExists
497
+ 0x0052b740,SexyAppBase::EraseFile
498
+ 0x00529350,SexyAppBase::SEHOccured
499
+ 0x0052ff80,SexyAppBase::GetGameSEHInfo
500
+ 0x0053b5f0,SexyAppBase::Shutdown
501
+ 0x005378c0,SexyAppBase::RestoreScreenResolution
502
+ 0x00537900,SexyAppBase::DoExit
503
+ 0x00535840,SexyAppBase::UpdateFrames
504
+ 0x00529390,SexyAppBase::DoUpdateFramesF
505
+ 0x0052b1f0,SexyAppBase::DoUpdateFrames
506
+ 0x00530410,CalculateFPS
507
+ 0x00530700,FPSDrawCoords
508
+ 0x00530960,CalculateDemoTimeLeft
509
+ 0x005293c0,UpdateScreenSaverInfo
510
+ 0x00530c70,SexyAppBase::DrawDirtyStuff
511
+ 0x00530f90,SexyAppBase::LogScreenSaverError
512
+ 0x005294f0,SexyAppBase::BeginPopup
513
+ 0x0052b2e0,SexyAppBase::EndPopup
514
+ 0x0052b790,SexyAppBase::MsgBox
515
+ 0x0052be10,SexyAppBase::MsgBox
516
+ 0x00531110,SexyAppBase::Popup
517
+ 0x005312b0,SexyAppBase::Popup
518
+ 0x00534440,SexyAppBase::SafeDeleteWidget
519
+ 0x0052bef0,MarkerListDialogProc
520
+ 0x0052c219,ListDemoMarkers
521
+ 0x00531490,JumpToTimeDialogProc
522
+ 0x005317b9,DemoJumpToTime
523
+ 0x00529530,ToggleDemoSoundVolume
524
+ 0x005295f0,ScreenSaverWindowProc
525
+ 0x00534490,SexyAppBase::WindowProc
526
+ 0x00529ab0,SexyAppBase::HandleNotifyGameMessage
527
+ 0x00529b00,SexyAppBase::RehupFocus
528
+ 0x00529ba0,SexyAppBase::ClearKeysDown
529
+ 0x00529be0,SexyAppBase::WriteDemoTimingBlock
530
+ 0x00529c70,SexyAppBase::PrepareDemoCommand
531
+ 0x00536a60,SexyAppBase::ShowMemoryUsage
532
+ 0x0052a0a0,SexyAppBase::IsAltKeyUsed
533
+ 0x0053b8a0,SexyAppBase::DebugKeyDown
534
+ 0x0052c330,SexyAppBase::ProcessDeferredMessages
535
+ 0x0053bc00,SexyAppBase::MakeWindow
536
+ 0x0052cf50,SexyAppBase::DeleteNativeImageData
537
+ 0x0052cfc0,SexyAppBase::DeleteExtraImageData
538
+ 0x0052d090,SexyAppBase::ReInitImages
539
+ 0x0052a0e0,SexyAppBase::LoadingThreadProcStub
540
+ 0x0052a150,SexyAppBase::StartLoadingThread
541
+ 0x0052a190,SexyAppBase::CursorThreadProc
542
+ 0x0052a2b0,SexyAppBase::CursorThreadProcStub
543
+ 0x0052a2d0,SexyAppBase::StartCursorThread
544
+ 0x0053c2b0,SexyAppBase::SwitchScreenMode
545
+ 0x0052b320,SexyAppBase::SwitchScreenMode
546
+ 0x0052b340,SexyAppBase::SwitchScreenMode
547
+ 0x0052a310,SexyAppBase::SetAlphaDisabled
548
+ 0x0052a360,SexyAppBase::EnforceCursor
549
+ 0x0052d100,SexyAppBase::ProcessSafeDeleteList
550
+ 0x0052a570,SexyAppBase::UpdateFTimeAcc
551
+ 0x0052d210,SexyAppBase::Process
552
+ 0x0052a5f0,SexyAppBase::DoMainLoop
553
+ 0x0052d760,SexyAppBase::UpdateAppStep
554
+ 0x0052a630,SexyAppBase::UpdateApp
555
+ 0x0052b360,SexyAppBase::InitDDInterface
556
+ 0x0052d8e0,SexyAppBase::Start
557
+ 0x0054b760,SexyAppBase::CheckSignature
558
+ 0x005319c0,SexyAppBase::LoadProperties
559
+ 0x0053c370,SexyAppBase::LoadResourceManifest
560
+ 0x00537920,SexyAppBase::ShowResourceError
561
+ 0x0052dcd0,SexyAppBase::GetBoolean
562
+ 0x0052dd40,SexyAppBase::GetString
563
+ 0x00535880,SexyAppBase::SetString
564
+ 0x00535960,SexyAppBase::SetBoolean
565
+ 0x00535a20,SexyAppBase::SetInteger
566
+ 0x00535ae0,SexyAppBase::SetDouble
567
+ 0x00531da0,SexyAppBase::DoParseCmdLine
568
+ 0x00537260,GetMaxDemoFileNum
569
+ 0x005379a0,SexyAppBase::HandleCmdLineParam
570
+ 0x00437350,SexyAppBase::ChangeDirHook
571
+ 0x0052a690,SexyAppBase::CreateMusicInterface
572
+ 0x00537f60,SexyAppBase::Init
573
+ 0x00538a20,SexyAppBase::HandleGameAlreadyRunning
574
+ 0x0052b810,SexyAppBase::CopyToClipboard
575
+ 0x00531fd0,SexyAppBase::GetClipboard
576
+ 0x0052a790,SexyAppBase::SetCursor
577
+ 0x0052a7d0,SexyAppBase::CopyImage
578
+ 0x0052b430,SexyAppBase::CopyImage
579
+ 0x0052a8a0,SexyAppBase::HSLToRGB
580
+ 0x0052aa10,SexyAppBase::PlaySample
581
+ 0x0052aa50,SexyAppBase::PlaySample
582
+ 0x0052aab0,SexyAppBase::Mute
583
+ 0x0052ab00,SexyAppBase::Unmute
584
+ 0x0052ab70,SexyAppBase::SetMusicVolume
585
+ 0x0052abc0,SexyAppBase::SetSfxVolume
586
+ 0x00532d90,SexyAppBase::AddMemoryImage
587
+ 0x005322a0,SexyAppBase::RemoveMemoryImage
588
+ 0x0052ac40,SexyAppBase::Remove3DData
589
+ 0x0052ac60,SexyAppBase::Is3DAccelerated
590
+ 0x0052b4a0,SexyAppBase::Is3DAccelerationRecommended
591
+ 0x0052ac70,SexyAppBase::DemoSyncRefreshRate
592
+ 0x00538a60,SexyAppBase::Set3DAcclerated
593
+ 0x00534fd0,SexyAppBase::CleanSharedImages
594
+ 0x004fae10,SexyMatrix3::LoadIdentity
595
+ 0x004faf40,SexyTransform2D::SexyTransform2D
596
+ 0x004faf50,SexyTransform2D::SexyTransform2D
597
+ 0x004fce10,Transform::Transform
598
+ 0x004d3160,SharedImageRef::SharedImageRef
599
+ 0x004d3190,SharedImageRef::SharedImageRef
600
+ 0x004d31a0,SharedImageRef::SharedImageRef
601
+ 0x004db370,SharedImageRef
602
+ 0x004d31c0,SharedImageRef::Release
603
+ 0x004dcb00,SysFont::SysFont
604
+ 0x004dcb40,SysFont::SysFont
605
+ 0x004dc5c0,SysFont::Init
606
+ 0x004d2ee0,SysFont::SysFont
607
+ 0x004d2f50,SysFont
608
+ 0x004dc6a0,SysFont::StringWidth
609
+ 0x004e3e50,SysFont::DrawString
610
+ 0x004d2f70,SysFont::Duplicate
611
+ 0x00547b40,Widget::Widget
612
+ 0x00543bf0,Widget
613
+ 0x00542cb0,Widget::WidgetRemovedHelper
614
+ 0x00492760,Widget::IsPointVisible
615
+ 0x00542da0,Widget::SetVisible
616
+ 0x0053e8e0,Widget::DrawOverlay
617
+ 0x00543c40,Widget::SetColors
618
+ 0x00543cb0,Widget::SetColors
619
+ 0x00548720,Widget::SetColor
620
+ 0x005410d0,Widget::GetColor
621
+ 0x00541180,Widget::GetColor
622
+ 0x00542de0,Widget::Resize
623
+ 0x0053e900,Widget::Resize
624
+ 0x0053e930,Widget::Move
625
+ 0x0053e960,Widget::WantsFocus
626
+ 0x00542e40,Widget::SetDisabled
627
+ 0x0053e970,Widget::GotFocus
628
+ 0x0053e980,Widget::LostFocus
629
+ 0x0053e990,Widget::Update
630
+ 0x0053e9a0,Widget::KeyDown
631
+ 0x0053e9e0,Widget::ShowFinger
632
+ 0x0052a680,Widget::MouseEnter
633
+ 0x0053ea10,Widget::MouseDown
634
+ 0x00492470,Widget::MouseDown
635
+ 0x00497530,Widget::MouseUp
636
+ 0x0053ea80,Widget::MouseUp
637
+ 0x0054b780,Widget::MouseUp
638
+ 0x00423540,Widget::MouseDrag
639
+ 0x00541200,Widget::WriteCenteredLine
640
+ 0x00541280,Widget::WriteCenteredLine
641
+ 0x0053eaf0,Widget::WriteString
642
+ 0x0053eb40,Widget::WriteWordWrapped
643
+ 0x0053eb80,Widget::GetWordWrappedHeight
644
+ 0x0053eba0,Widget::GetNumDigits
645
+ 0x0053ebd0,Widget::WriteNumberFromStrip
646
+ 0x0053ecc0,Widget::Contains
647
+ 0x00541390,Widget::GetInsetRect
648
+ 0x005487c0,Widget::DeferOverlay
649
+ 0x0053ed00,Widget::Layout
650
+ 0x005431d0,WidgetContainer::WidgetContainer
651
+ 0x00542560,WidgetContainer
652
+ 0x00542570,WidgetContainer::RemoveAllWidgets
653
+ 0x00540eb0,WidgetContainer::GetRect
654
+ 0x00540ee0,WidgetContainer::Intersects
655
+ 0x005481f0,WidgetContainer::AddWidget
656
+ 0x005432b0,WidgetContainer::HasWidget
657
+ 0x00543310,WidgetContainer::RemoveWidget
658
+ 0x005425d0,WidgetContainer::GetWidgetAtHelper
659
+ 0x00541eb0,WidgetContainer::IsBelowHelper
660
+ 0x00541f30,WidgetContainer::IsBelow
661
+ 0x00541f50,WidgetContainer::MarkAllDirty
662
+ 0x00547420,WidgetContainer::InsertWidgetHelper
663
+ 0x00547580,WidgetContainer::BringToFront
664
+ 0x00547650,WidgetContainer::BringToBack
665
+ 0x00547720,WidgetContainer::PutBehind
666
+ 0x00547820,WidgetContainer::PutInfront
667
+ 0x00540f50,WidgetContainer::GetAbsPos
668
+ 0x00541fb0,WidgetContainer::AddedToManager
669
+ 0x00542010,WidgetContainer::RemovedFromManager
670
+ 0x0053e2f0,WidgetContainer::MarkDirty
671
+ 0x0053e310,WidgetContainer::MarkDirtyFull
672
+ 0x005433e0,WidgetContainer::MarkDirtyFull
673
+ 0x00542090,WidgetContainer::MarkDirty
674
+ 0x0053e330,WidgetContainer::Update
675
+ 0x00542150,WidgetContainer::UpdateAll
676
+ 0x00497dc0,WidgetContainer::UpdateF
677
+ 0x005422d0,WidgetContainer::UpdateFAll
678
+ 0x00497dc0,WidgetContainer::Draw
679
+ 0x00549520,WidgetContainer::DrawAll
680
+ 0x0052a680,WidgetContainer::SysColorChanged
681
+ 0x00542410,WidgetContainer::SysColorChangedAll
682
+ 0x00497dc0,WidgetContainer::DisableWidget
683
+ 0x00497dc0,WidgetContainer::SetFocus
684
+ 0x00547950,WidgetManager::WidgetManager
685
+ 0x00543ba0,WidgetManager
686
+ 0x00540fb0,WidgetManager::DisableWidget
687
+ 0x0053e340,WidgetManager::GetWidgetFlags
688
+ 0x005427a0,WidgetManager::GetAnyWidgetAt
689
+ 0x005427d0,WidgetManager::GetWidgetAt
690
+ 0x00541030,WidgetManager::DoMouseUps
691
+ 0x005482a0,WidgetManager::DeferOverlay
692
+ 0x005482e0,WidgetManager::FlushDeferredOverlayWidgets
693
+ 0x0053e380,WidgetManager::DoMouseUps
694
+ 0x0053e450,WidgetManager::MouseEnter
695
+ 0x0053e480,WidgetManager::MouseLeave
696
+ 0x0053e4b0,WidgetManager::SetBaseModal
697
+ 0x00547aa0,WidgetManager::AddBaseModal
698
+ 0x00547b20,WidgetManager::AddBaseModal
699
+ 0x00542800,WidgetManager::RemoveBaseModal
700
+ 0x0053e5a0,WidgetManager::Resize
701
+ 0x0053e610,WidgetManager::SetFocus
702
+ 0x0053e670,WidgetManager::GotFocus
703
+ 0x00541070,WidgetManager::LostFocus
704
+ 0x0053e6a0,WidgetManager::InitModalFlags
705
+ 0x005484a0,WidgetManager::DrawScreen
706
+ 0x0053e6e0,WidgetManager::UpdateFrame
707
+ 0x0053e720,WidgetManager::UpdateFrameF
708
+ 0x0053e770,WidgetManager::RemovePopupCommandWidget
709
+ 0x005428f0,WidgetManager::MousePosition
710
+ 0x005429a0,WidgetManager::RehupMouse
711
+ 0x00542a10,WidgetManager::MouseUp
712
+ 0x00542ab0,WidgetManager::MouseDown
713
+ 0x00543270,WidgetManager::MouseMove
714
+ 0x00542bc0,WidgetManager::MouseDrag
715
+ 0x0053e790,WidgetManager::MouseExit
716
+ 0x0053e7d0,WidgetManager::MouseWheel
717
+ 0x0053e800,WidgetManager::KeyChar
718
+ 0x0053e850,WidgetManager::KeyDown
719
+ 0x0053e890,WidgetManager::KeyUp
720
+ 0x0050f120,XMLParser::XMLParser
721
+ 0x00500080,XMLParser
722
+ 0x00506260,XMLParser::Fail
723
+ 0x004faa90,XMLParser::GetAsciiChar
724
+ 0x004faae0,XMLParser::GetUTF8Char
725
+ 0x004facd0,XMLParser::GetUTF16Char
726
+ 0x005062c0,XMLParser::OpenFile
727
+ 0x00510b50,XMLParser::SetStringSource
728
+ 0x00514ef0,XMLParser::NextElement
729
+ 0x004bbe20,DataReader::DataReader
730
+ 0x004bbec0,DataReader
731
+ 0x004bbed0,DataReader::OpenMemory
732
+ 0x004bbf30,DataReader::OpenFile
733
+ 0x004bbe60,DataReader::Close
734
+ 0x004bbf70,DataReader::ReadBytes
735
+ 0x004bc190,DataReader::ReadLong
736
+ 0x004bc1b0,DataReader::ReadShort
737
+ 0x004bc1d0,DataReader::ReadByte
738
+ 0x004bc1f0,DataReader::ReadBool
739
+ 0x004bc200,DataReader::ReadFloat
740
+ 0x004bbd20,DataWriter
741
+ 0x004bb810,DataSync::DataSync
742
+ 0x004bb940,DataSync::DataSync
743
+ 0x004ba7f0,DataSync::SyncBytes
744
+ 0x004ba810,DataSync::SyncLong
745
+ 0x004ba920,DataSync::SyncBool
746
+ 0x004ba980,DataSync::SyncFloat
747
+ 0x004ba9b0,DataSync::SyncString
748
+ 0x00407450,GameStats::GameStats
749
+ 0x00402ed0,GameStats::Add
750
+ 0x00402eb0,GameStats::CheckBestShot
751
+ 0x00402f50,GameStats::GetTotalFreeBalls
752
+ 0x00407460,GameStats::GetTotalStylePoints
753
+ 0x00402f60,GameStats::GetTotalStyleShots
754
+ 0x00402da0,GameStats::Reset
755
+ 0x00402e00,GameStats::SyncState
756
+ 0x004b1fe0,LoadingScreen::LoadingScreen
757
+ 0x004a6e70,LoadingScreen
758
+ 0x00494510,LoadingScreen::DrawOverlay
759
+ 0x004948d0,LoadingScreen::ButtonDepress
760
+ 0x004948b0,LoadingScreen::ButtonPress
761
+ 0x004a7250,LoadingScreen::Draw
762
+ 0x00494890,LoadingScreen::KeyChar
763
+ 0x004b4270,LoadingScreen::Update
764
+ 0x00494370,LoadingScreen::DoBallBounce
765
+ 0x004a71f0,LoadingScreen::DoLevelLoadMusic
766
+ 0x00494420,LoadingScreen::DrawLight
767
+ 0x004998c0,LoadingScreen::DrawParticles
768
+ 0x004b40b0,LoadingScreen::UpdateBall
769
+ 0x0049f2d0,LoadingScreen::UpdateParticles
770
+ 0x004b3b90,LoadingScreen::SpawnParticles
771
+ 0x004a6f90,LoadingScreen::LevelLoadMusicThreadProc
772
+ 0x00431560,WinMain
773
+ 0x00412940,PlayerInfo::DeleteSavedGame
774
+ 0x004129c0,PlayerInfo::DeleteSavedGames
775
+ 0x00403870,PlayerInfo::JustBeatAdventure
776
+ 0x004038a0,PlayerInfo::JustStartingAdventure
777
+ 0x00426bd0,PlayerInfo::LoadDetails
778
+ 0x0041f820,PlayerInfo::RestartAdventure
779
+ 0x00426d60,PlayerInfo::SaveDetails
780
+ 0x00426f00,PlayerInfo::SaveIfDirty
781
+ 0x004036e0,PlayerInfo::SetColorblind
782
+ 0x00403750,PlayerInfo::SetComputerPlayer
783
+ 0x00403770,PlayerInfo::SetComputerSkill
784
+ 0x00403700,PlayerInfo::SetSelCharacter
785
+ 0x00403720,PlayerInfo::SetSelCharacters
786
+ 0x00421a00,PlayerInfo::SubmitAdventureHighScore
787
+ 0x00403670,PlayerInfo::SyncSummary
788
+ 0x0041f9f0,Sexy::ExtractResourcesByName
789
+ 0x004129f0,Sexy::ExtractAdventureResources
790
+ 0x00412b20,Sexy::ExtractCharacterResources
791
+ 0x004130b0,Sexy::ExtractDialogResources
792
+ 0x00414210,Sexy::ExtractGameResources
793
+ 0x004161e0,Sexy::ExtractHelpResources
794
+ 0x004163d0,Sexy::ExtractIPResources
795
+ 0x00416cb0,Sexy::ExtractInitResources
796
+ 0x00417290,Sexy::ExtractInterfaceResources
797
+ 0x00417ea0,Sexy::ExtractLevelSelectResources
798
+ 0x004183d0,Sexy::ExtractLoadResources
799
+ 0x00418900,Sexy::ExtractLoadingThreadResources
800
+ 0x0041a000,Sexy::ExtractLuckySpinResources
801
+ 0x0041a420,Sexy::ExtractMainMenuResources
802
+ 0x0041abf0,Sexy::ExtractStoryResources
803
+ 0x0041adf0,Sexy::ExtractUpsellResources
804
+ 0x0041b9f0,Sexy::LoadImageById
805
+ 0x0041bab0,Sexy::ReplaceImageById
806
+ 0x00403930,Sexy::GetStringIdById
807
+ 0x0049ba30,ThunderButton::ThunderButton
808
+ 0x0049d440,ThunderButton::Draw
809
+ 0x00496d30,ThunderButton::MouseDown
810
+ 0x00496c50,ThunderButton::MouseEnter
811
+ 0x00496d70,ThunderButton::MouseUp
812
+ 0x00496da0,ThunderButton::Update
813
+ 0x00496c40,ThunderButton::StopBlink
814
+ 0x00496c00,ThunderButton::Blink
815
+ 0x0049e7c0,ThunderCheckbox::ThunderCheckbox
816
+ 0x0049ecb0,ThunderCheckbox
817
+ 0x0049bb10,ThunderCheckbox::Draw
818
+ 0x004970b0,ThunderCheckbox::MouseDown
819
+ 0x00497010,ThunderCheckbox::MouseEnter
820
+ 0x00497130,ThunderCheckbox::MouseLeave
821
+ 0x00497100,ThunderCheckbox::MouseUp
822
+ 0x00497050,ThunderCheckbox::Update
823
+ 0x0049c390,Sexy::SwapRect
824
+ 0x004056c0,Sexy::MakeWinButton
825
+ 0x00405020,Sexy::DrawScreenFrame
826
+ 0x004936b0,Sexy::GetLoadTime
827
+ 0x004942f0,Sexy::SolveLinearSystem
828
+ 0x004bc4b0,Sexy::InterpValF
829
+ 0x00497750,ThunderDialog::GetLeft
830
+ 0x00405970,ThunderballApp::GetMusicOrder
831
+ 0x00405740,ThunderballApp::LoadLevelMusic
832
+ 0x004234c0,ThunderballApp::ScrollOn
833
+ 0x0041c810,ThunderballApp::SetColorblind
834
+ 0x00405940,ThunderballApp::SetFeverVolume
835
+ 0x00405900,ThunderballApp::SetMusicVolume
836
+ 0x00405920,ThunderballApp::SetSfxVolume
837
+ 0x004296c0,ThunderballApp::ShowLoadingScreen
838
+ 0x00421a70,ThunderballApp::LoadingThreadProc
839
+ 0x0040c0a0,ThunderballApp::NewDialog
840
+ 0x0042d2d0,ThunderballApp::UpdateFrames
841
+ 0x0049c230,TrophyScreen::CanSelectTrophy
842
+ 0x00405ff0,MovingWidget::MovingWidget
843
+ 0x00406010,MovingWidget::Update
844
+ 0x0040d390,WidgetMover::WidgetMover
845
+ 0x0040c700,WidgetMover::Clear
846
+ 0x00421d90,WidgetMover::GetWidgetData
847
+ 0x00408550,WidgetMover::IsMoving
848
+ 0x0040c7a0,WidgetMover::RemoveWidget
849
+ 0x00421f80,WidgetMover::ScrollOff
850
+ 0x00421e40,WidgetMover::ScrollOn
851
+ 0x0040c670,WidgetMover::Update
852
+ 0x004220d0,WidgetMover::WillRemove