├── Credits.md ├── Doukutsu.i64 ├── Doukutsu.idb ├── IDA output ├── Doukutsu Typeinfo.idc ├── Doukutsu.asm ├── Doukutsu.c ├── Doukutsu.dif ├── Doukutsu.h ├── Doukutsu.idc ├── Doukutsu.inc ├── Doukutsu.lst ├── Doukutsu.map └── Doukutsu_All.map └── README.md /Credits.md: -------------------------------------------------------------------------------- 1 | There are too many people to credit here, but there are a few persons that have significantly helped : 2 | 3 | - The guy who made the Linux version and left symbols in the binaries, allowing me to get pretty much all function names, structs and some variable names and make the disassembly significantly better. 4 | - Clownacy for his uncomplete disassembly from which I copied part of the comments and the labels. 5 | - BLink for his NPC hacking tutorial, as well as his various hacks and his direct help. 6 | - SlighlyIntelligentMonkey for his help and documentation 7 | - Txin for making a CS ASM Guide 8 | - Carrotlord for his hacking tutorial and the Doukustu Assembler 9 | - Noxid for his assembly compendium, and the 10 | - Q3 for his function list 11 | - The rest of the community for the moral help and the documentation they gave me. 12 | -------------------------------------------------------------------------------- /Doukutsu.i64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GabrielRavier/Cave-Story-Decompilation/48a61ec8fddc77520120877631a4cec4a6966132/Doukutsu.i64 -------------------------------------------------------------------------------- /Doukutsu.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GabrielRavier/Cave-Story-Decompilation/48a61ec8fddc77520120877631a4cec4a6966132/Doukutsu.idb -------------------------------------------------------------------------------- /IDA output/Doukutsu.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GabrielRavier/Cave-Story-Decompilation/48a61ec8fddc77520120877631a4cec4a6966132/IDA output/Doukutsu.asm -------------------------------------------------------------------------------- /IDA output/Doukutsu.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GabrielRavier/Cave-Story-Decompilation/48a61ec8fddc77520120877631a4cec4a6966132/IDA output/Doukutsu.c -------------------------------------------------------------------------------- /IDA output/Doukutsu.dif: -------------------------------------------------------------------------------- 1 | This difference file has been created by IDA 2 | 3 | Doukutsu.exe 4 | 0008C000: FFFFFFFF B4 5 | 0008C001: FFFFFFFF E5 6 | 0008C002: FFFFFFFF 08 7 | 0008C003: FFFFFFFF 00 8 | 0008C008: FFFFFFFF D2 9 | 0008C009: FFFFFFFF E5 10 | 0008C00A: FFFFFFFF 08 11 | 0008C00B: FFFFFFFF 00 12 | 0008C010: FFFFFFFF F4 13 | 0008C011: FFFFFFFF E5 14 | 0008C012: FFFFFFFF 08 15 | 0008C013: FFFFFFFF 00 16 | 0008C018: FFFFFFFF BC 17 | 0008C019: FFFFFFFF E4 18 | 0008C01A: FFFFFFFF 08 19 | 0008C01B: FFFFFFFF 00 20 | 0008C01C: FFFFFFFF 50 21 | 0008C01D: FFFFFFFF E5 22 | 0008C01E: FFFFFFFF 08 23 | 0008C01F: FFFFFFFF 00 24 | 0008C020: FFFFFFFF CA 25 | 0008C021: FFFFFFFF E4 26 | 0008C022: FFFFFFFF 08 27 | 0008C023: FFFFFFFF 00 28 | 0008C024: FFFFFFFF 5C 29 | 0008C025: FFFFFFFF E5 30 | 0008C026: FFFFFFFF 08 31 | 0008C027: FFFFFFFF 00 32 | 0008C028: FFFFFFFF B0 33 | 0008C029: FFFFFFFF E4 34 | 0008C02A: FFFFFFFF 08 35 | 0008C02B: FFFFFFFF 00 36 | 0008C02C: FFFFFFFF 40 37 | 0008C02D: FFFFFFFF E5 38 | 0008C02E: FFFFFFFF 08 39 | 0008C02F: FFFFFFFF 00 40 | 0008C030: FFFFFFFF 34 41 | 0008C031: FFFFFFFF E5 42 | 0008C032: FFFFFFFF 08 43 | 0008C033: FFFFFFFF 00 44 | 0008C034: FFFFFFFF 26 45 | 0008C035: FFFFFFFF E5 46 | 0008C036: FFFFFFFF 08 47 | 0008C037: FFFFFFFF 00 48 | 0008C038: FFFFFFFF 1A 49 | 0008C039: FFFFFFFF E5 50 | 0008C03A: FFFFFFFF 08 51 | 0008C03B: FFFFFFFF 00 52 | 0008C03C: FFFFFFFF 0E 53 | 0008C03D: FFFFFFFF E5 54 | 0008C03E: FFFFFFFF 08 55 | 0008C03F: FFFFFFFF 00 56 | 0008C040: FFFFFFFF FE 57 | 0008C041: FFFFFFFF E4 58 | 0008C042: FFFFFFFF 08 59 | 0008C043: FFFFFFFF 00 60 | 0008C044: FFFFFFFF F0 61 | 0008C045: FFFFFFFF E4 62 | 0008C046: FFFFFFFF 08 63 | 0008C047: FFFFFFFF 00 64 | 0008C048: FFFFFFFF DA 65 | 0008C049: FFFFFFFF E4 66 | 0008C04A: FFFFFFFF 08 67 | 0008C04B: FFFFFFFF 00 68 | 0008C050: FFFFFFFF AC 69 | 0008C051: FFFFFFFF E6 70 | 0008C052: FFFFFFFF 08 71 | 0008C053: FFFFFFFF 00 72 | 0008C054: FFFFFFFF 98 73 | 0008C055: FFFFFFFF E6 74 | 0008C056: FFFFFFFF 08 75 | 0008C057: FFFFFFFF 00 76 | 0008C058: FFFFFFFF 84 77 | 0008C059: FFFFFFFF E6 78 | 0008C05A: FFFFFFFF 08 79 | 0008C05B: FFFFFFFF 00 80 | 0008C060: FFFFFFFF 4E 81 | 0008C061: FFFFFFFF EB 82 | 0008C062: FFFFFFFF 08 83 | 0008C063: FFFFFFFF 00 84 | 0008C064: FFFFFFFF 3C 85 | 0008C065: FFFFFFFF EB 86 | 0008C066: FFFFFFFF 08 87 | 0008C067: FFFFFFFF 00 88 | 0008C068: FFFFFFFF 2C 89 | 0008C069: FFFFFFFF EB 90 | 0008C06A: FFFFFFFF 08 91 | 0008C06B: FFFFFFFF 00 92 | 0008C06C: FFFFFFFF 1C 93 | 0008C06D: FFFFFFFF EB 94 | 0008C06E: FFFFFFFF 08 95 | 0008C06F: FFFFFFFF 00 96 | 0008C070: FFFFFFFF 0A 97 | 0008C071: FFFFFFFF EB 98 | 0008C072: FFFFFFFF 08 99 | 0008C073: FFFFFFFF 00 100 | 0008C074: FFFFFFFF F8 101 | 0008C075: FFFFFFFF EA 102 | 0008C076: FFFFFFFF 08 103 | 0008C077: FFFFFFFF 00 104 | 0008C078: FFFFFFFF E6 105 | 0008C079: FFFFFFFF EA 106 | 0008C07A: FFFFFFFF 08 107 | 0008C07B: FFFFFFFF 00 108 | 0008C07C: FFFFFFFF D6 109 | 0008C07D: FFFFFFFF EA 110 | 0008C07E: FFFFFFFF 08 111 | 0008C07F: FFFFFFFF 00 112 | 0008C080: FFFFFFFF C6 113 | 0008C081: FFFFFFFF EA 114 | 0008C082: FFFFFFFF 08 115 | 0008C083: FFFFFFFF 00 116 | 0008C084: FFFFFFFF B4 117 | 0008C085: FFFFFFFF EA 118 | 0008C086: FFFFFFFF 08 119 | 0008C087: FFFFFFFF 00 120 | 0008C088: FFFFFFFF 9E 121 | 0008C089: FFFFFFFF EA 122 | 0008C08A: FFFFFFFF 08 123 | 0008C08B: FFFFFFFF 00 124 | 0008C08C: FFFFFFFF 92 125 | 0008C08D: FFFFFFFF EA 126 | 0008C08E: FFFFFFFF 08 127 | 0008C08F: FFFFFFFF 00 128 | 0008C090: FFFFFFFF 7C 129 | 0008C091: FFFFFFFF EA 130 | 0008C092: FFFFFFFF 08 131 | 0008C093: FFFFFFFF 00 132 | 0008C094: FFFFFFFF 60 133 | 0008C095: FFFFFFFF EA 134 | 0008C096: FFFFFFFF 08 135 | 0008C097: FFFFFFFF 00 136 | 0008C098: FFFFFFFF 4C 137 | 0008C099: FFFFFFFF EA 138 | 0008C09A: FFFFFFFF 08 139 | 0008C09B: FFFFFFFF 00 140 | 0008C09C: FFFFFFFF 3C 141 | 0008C09D: FFFFFFFF EA 142 | 0008C09E: FFFFFFFF 08 143 | 0008C09F: FFFFFFFF 00 144 | 0008C0A0: FFFFFFFF 2C 145 | 0008C0A1: FFFFFFFF EA 146 | 0008C0A2: FFFFFFFF 08 147 | 0008C0A3: FFFFFFFF 00 148 | 0008C0A4: FFFFFFFF 16 149 | 0008C0A5: FFFFFFFF EA 150 | 0008C0A6: FFFFFFFF 08 151 | 0008C0A7: FFFFFFFF 00 152 | 0008C0A8: FFFFFFFF 0A 153 | 0008C0A9: FFFFFFFF EA 154 | 0008C0AA: FFFFFFFF 08 155 | 0008C0AB: FFFFFFFF 00 156 | 0008C0AC: FFFFFFFF FA 157 | 0008C0AD: FFFFFFFF E9 158 | 0008C0AE: FFFFFFFF 08 159 | 0008C0AF: FFFFFFFF 00 160 | 0008C0B0: FFFFFFFF EC 161 | 0008C0B1: FFFFFFFF E9 162 | 0008C0B2: FFFFFFFF 08 163 | 0008C0B3: FFFFFFFF 00 164 | 0008C0B4: FFFFFFFF 76 165 | 0008C0B5: FFFFFFFF E2 166 | 0008C0B6: FFFFFFFF 08 167 | 0008C0B7: FFFFFFFF 00 168 | 0008C0B8: FFFFFFFF 66 169 | 0008C0B9: FFFFFFFF E2 170 | 0008C0BA: FFFFFFFF 08 171 | 0008C0BB: FFFFFFFF 00 172 | 0008C0BC: FFFFFFFF 56 173 | 0008C0BD: FFFFFFFF E2 174 | 0008C0BE: FFFFFFFF 08 175 | 0008C0BF: FFFFFFFF 00 176 | 0008C0C0: FFFFFFFF 48 177 | 0008C0C1: FFFFFFFF E2 178 | 0008C0C2: FFFFFFFF 08 179 | 0008C0C3: FFFFFFFF 00 180 | 0008C0C4: FFFFFFFF 38 181 | 0008C0C5: FFFFFFFF E2 182 | 0008C0C6: FFFFFFFF 08 183 | 0008C0C7: FFFFFFFF 00 184 | 0008C0C8: FFFFFFFF 28 185 | 0008C0C9: FFFFFFFF E2 186 | 0008C0CA: FFFFFFFF 08 187 | 0008C0CB: FFFFFFFF 00 188 | 0008C0CC: FFFFFFFF 12 189 | 0008C0CD: FFFFFFFF E2 190 | 0008C0CE: FFFFFFFF 08 191 | 0008C0CF: FFFFFFFF 00 192 | 0008C0D0: FFFFFFFF 04 193 | 0008C0D1: FFFFFFFF E2 194 | 0008C0D2: FFFFFFFF 08 195 | 0008C0D3: FFFFFFFF 00 196 | 0008C0D4: FFFFFFFF F6 197 | 0008C0D5: FFFFFFFF E1 198 | 0008C0D6: FFFFFFFF 08 199 | 0008C0D7: FFFFFFFF 00 200 | 0008C0D8: FFFFFFFF E8 201 | 0008C0D9: FFFFFFFF E1 202 | 0008C0DA: FFFFFFFF 08 203 | 0008C0DB: FFFFFFFF 00 204 | 0008C0DC: FFFFFFFF DA 205 | 0008C0DD: FFFFFFFF E9 206 | 0008C0DE: FFFFFFFF 08 207 | 0008C0DF: FFFFFFFF 00 208 | 0008C0E0: FFFFFFFF C0 209 | 0008C0E1: FFFFFFFF E9 210 | 0008C0E2: FFFFFFFF 08 211 | 0008C0E3: FFFFFFFF 00 212 | 0008C0E4: FFFFFFFF AA 213 | 0008C0E5: FFFFFFFF E9 214 | 0008C0E6: FFFFFFFF 08 215 | 0008C0E7: FFFFFFFF 00 216 | 0008C0E8: FFFFFFFF 90 217 | 0008C0E9: FFFFFFFF E9 218 | 0008C0EA: FFFFFFFF 08 219 | 0008C0EB: FFFFFFFF 00 220 | 0008C0EC: FFFFFFFF D8 221 | 0008C0ED: FFFFFFFF E1 222 | 0008C0EE: FFFFFFFF 08 223 | 0008C0EF: FFFFFFFF 00 224 | 0008C0F0: FFFFFFFF C0 225 | 0008C0F1: FFFFFFFF E1 226 | 0008C0F2: FFFFFFFF 08 227 | 0008C0F3: FFFFFFFF 00 228 | 0008C0F4: FFFFFFFF AE 229 | 0008C0F5: FFFFFFFF E1 230 | 0008C0F6: FFFFFFFF 08 231 | 0008C0F7: FFFFFFFF 00 232 | 0008C0F8: FFFFFFFF A0 233 | 0008C0F9: FFFFFFFF E1 234 | 0008C0FA: FFFFFFFF 08 235 | 0008C0FB: FFFFFFFF 00 236 | 0008C0FC: FFFFFFFF 8A 237 | 0008C0FD: FFFFFFFF E1 238 | 0008C0FE: FFFFFFFF 08 239 | 0008C0FF: FFFFFFFF 00 240 | 0008C100: FFFFFFFF 74 241 | 0008C101: FFFFFFFF E1 242 | 0008C102: FFFFFFFF 08 243 | 0008C103: FFFFFFFF 00 244 | 0008C104: FFFFFFFF 78 245 | 0008C105: FFFFFFFF E9 246 | 0008C106: FFFFFFFF 08 247 | 0008C107: FFFFFFFF 00 248 | 0008C108: FFFFFFFF 5E 249 | 0008C109: FFFFFFFF E9 250 | 0008C10A: FFFFFFFF 08 251 | 0008C10B: FFFFFFFF 00 252 | 0008C10C: FFFFFFFF 42 253 | 0008C10D: FFFFFFFF E9 254 | 0008C10E: FFFFFFFF 08 255 | 0008C10F: FFFFFFFF 00 256 | 0008C110: FFFFFFFF 32 257 | 0008C111: FFFFFFFF E9 258 | 0008C112: FFFFFFFF 08 259 | 0008C113: FFFFFFFF 00 260 | 0008C114: FFFFFFFF 1E 261 | 0008C115: FFFFFFFF E9 262 | 0008C116: FFFFFFFF 08 263 | 0008C117: FFFFFFFF 00 264 | 0008C118: FFFFFFFF 0A 265 | 0008C119: FFFFFFFF E9 266 | 0008C11A: FFFFFFFF 08 267 | 0008C11B: FFFFFFFF 00 268 | 0008C11C: FFFFFFFF 60 269 | 0008C11D: FFFFFFFF E1 270 | 0008C11E: FFFFFFFF 08 271 | 0008C11F: FFFFFFFF 00 272 | 0008C120: FFFFFFFF 48 273 | 0008C121: FFFFFFFF E1 274 | 0008C122: FFFFFFFF 08 275 | 0008C123: FFFFFFFF 00 276 | 0008C124: FFFFFFFF 50 277 | 0008C125: FFFFFFFF E1 278 | 0008C126: FFFFFFFF 08 279 | 0008C127: FFFFFFFF 00 280 | 0008C128: FFFFFFFF 86 281 | 0008C129: FFFFFFFF EA 282 | 0008C12A: FFFFFFFF 08 283 | 0008C12B: FFFFFFFF 00 284 | 0008C12C: FFFFFFFF F8 285 | 0008C12D: FFFFFFFF E8 286 | 0008C12E: FFFFFFFF 08 287 | 0008C12F: FFFFFFFF 00 288 | 0008C130: FFFFFFFF EC 289 | 0008C131: FFFFFFFF E8 290 | 0008C132: FFFFFFFF 08 291 | 0008C133: FFFFFFFF 00 292 | 0008C134: FFFFFFFF DA 293 | 0008C135: FFFFFFFF E8 294 | 0008C136: FFFFFFFF 08 295 | 0008C137: FFFFFFFF 00 296 | 0008C138: FFFFFFFF CC 297 | 0008C139: FFFFFFFF E8 298 | 0008C13A: FFFFFFFF 08 299 | 0008C13B: FFFFFFFF 00 300 | 0008C13C: FFFFFFFF BE 301 | 0008C13D: FFFFFFFF E8 302 | 0008C13E: FFFFFFFF 08 303 | 0008C13F: FFFFFFFF 00 304 | 0008C140: FFFFFFFF B4 305 | 0008C141: FFFFFFFF E8 306 | 0008C142: FFFFFFFF 08 307 | 0008C143: FFFFFFFF 00 308 | 0008C144: FFFFFFFF 32 309 | 0008C145: FFFFFFFF E7 310 | 0008C146: FFFFFFFF 08 311 | 0008C147: FFFFFFFF 00 312 | 0008C148: FFFFFFFF 40 313 | 0008C149: FFFFFFFF E7 314 | 0008C14A: FFFFFFFF 08 315 | 0008C14B: FFFFFFFF 00 316 | 0008C14C: FFFFFFFF 4C 317 | 0008C14D: FFFFFFFF E7 318 | 0008C14E: FFFFFFFF 08 319 | 0008C14F: FFFFFFFF 00 320 | 0008C150: FFFFFFFF 58 321 | 0008C151: FFFFFFFF E7 322 | 0008C152: FFFFFFFF 08 323 | 0008C153: FFFFFFFF 00 324 | 0008C154: FFFFFFFF 6A 325 | 0008C155: FFFFFFFF E7 326 | 0008C156: FFFFFFFF 08 327 | 0008C157: FFFFFFFF 00 328 | 0008C158: FFFFFFFF 7C 329 | 0008C159: FFFFFFFF E7 330 | 0008C15A: FFFFFFFF 08 331 | 0008C15B: FFFFFFFF 00 332 | 0008C15C: FFFFFFFF 8C 333 | 0008C15D: FFFFFFFF E7 334 | 0008C15E: FFFFFFFF 08 335 | 0008C15F: FFFFFFFF 00 336 | 0008C160: FFFFFFFF A6 337 | 0008C161: FFFFFFFF E7 338 | 0008C162: FFFFFFFF 08 339 | 0008C163: FFFFFFFF 00 340 | 0008C164: FFFFFFFF BC 341 | 0008C165: FFFFFFFF E7 342 | 0008C166: FFFFFFFF 08 343 | 0008C167: FFFFFFFF 00 344 | 0008C168: FFFFFFFF D2 345 | 0008C169: FFFFFFFF E7 346 | 0008C16A: FFFFFFFF 08 347 | 0008C16B: FFFFFFFF 00 348 | 0008C16C: FFFFFFFF EC 349 | 0008C16D: FFFFFFFF E7 350 | 0008C16E: FFFFFFFF 08 351 | 0008C16F: FFFFFFFF 00 352 | 0008C170: FFFFFFFF FC 353 | 0008C171: FFFFFFFF E7 354 | 0008C172: FFFFFFFF 08 355 | 0008C173: FFFFFFFF 00 356 | 0008C174: FFFFFFFF 14 357 | 0008C175: FFFFFFFF E8 358 | 0008C176: FFFFFFFF 08 359 | 0008C177: FFFFFFFF 00 360 | 0008C178: FFFFFFFF 2C 361 | 0008C179: FFFFFFFF E8 362 | 0008C17A: FFFFFFFF 08 363 | 0008C17B: FFFFFFFF 00 364 | 0008C17C: FFFFFFFF 38 365 | 0008C17D: FFFFFFFF E8 366 | 0008C17E: FFFFFFFF 08 367 | 0008C17F: FFFFFFFF 00 368 | 0008C180: FFFFFFFF 46 369 | 0008C181: FFFFFFFF E8 370 | 0008C182: FFFFFFFF 08 371 | 0008C183: FFFFFFFF 00 372 | 0008C184: FFFFFFFF 54 373 | 0008C185: FFFFFFFF E8 374 | 0008C186: FFFFFFFF 08 375 | 0008C187: FFFFFFFF 00 376 | 0008C188: FFFFFFFF 62 377 | 0008C189: FFFFFFFF E8 378 | 0008C18A: FFFFFFFF 08 379 | 0008C18B: FFFFFFFF 00 380 | 0008C18C: FFFFFFFF 7A 381 | 0008C18D: FFFFFFFF E8 382 | 0008C18E: FFFFFFFF 08 383 | 0008C18F: FFFFFFFF 00 384 | 0008C190: FFFFFFFF 8A 385 | 0008C191: FFFFFFFF E8 386 | 0008C192: FFFFFFFF 08 387 | 0008C193: FFFFFFFF 00 388 | 0008C194: FFFFFFFF 98 389 | 0008C195: FFFFFFFF E8 390 | 0008C196: FFFFFFFF 08 391 | 0008C197: FFFFFFFF 00 392 | 0008C198: FFFFFFFF A4 393 | 0008C199: FFFFFFFF E8 394 | 0008C19A: FFFFFFFF 08 395 | 0008C19B: FFFFFFFF 00 396 | 0008C1A0: FFFFFFFF 88 397 | 0008C1A1: FFFFFFFF E5 398 | 0008C1A2: FFFFFFFF 08 399 | 0008C1A3: FFFFFFFF 00 400 | 0008C1A4: FFFFFFFF 96 401 | 0008C1A5: FFFFFFFF E5 402 | 0008C1A6: FFFFFFFF 08 403 | 0008C1A7: FFFFFFFF 00 404 | 0008C1A8: FFFFFFFF 78 405 | 0008C1A9: FFFFFFFF E5 406 | 0008C1AA: FFFFFFFF 08 407 | 0008C1AB: FFFFFFFF 00 408 | 0008C1B0: FFFFFFFF 62 409 | 0008C1B1: FFFFFFFF E6 410 | 0008C1B2: FFFFFFFF 08 411 | 0008C1B3: FFFFFFFF 00 412 | 0008C1B8: FFFFFFFF EC 413 | 0008C1B9: FFFFFFFF E2 414 | 0008C1BA: FFFFFFFF 08 415 | 0008C1BB: FFFFFFFF 00 416 | 0008C1BC: FFFFFFFF C8 417 | 0008C1BD: FFFFFFFF E2 418 | 0008C1BE: FFFFFFFF 08 419 | 0008C1BF: FFFFFFFF 00 420 | 0008C1C0: FFFFFFFF FC 421 | 0008C1C1: FFFFFFFF E2 422 | 0008C1C2: FFFFFFFF 08 423 | 0008C1C3: FFFFFFFF 00 424 | 0008C1C4: FFFFFFFF 0A 425 | 0008C1C5: FFFFFFFF E3 426 | 0008C1C6: FFFFFFFF 08 427 | 0008C1C7: FFFFFFFF 00 428 | 0008C1C8: FFFFFFFF 18 429 | 0008C1C9: FFFFFFFF E3 430 | 0008C1CA: FFFFFFFF 08 431 | 0008C1CB: FFFFFFFF 00 432 | 0008C1CC: FFFFFFFF 28 433 | 0008C1CD: FFFFFFFF E3 434 | 0008C1CE: FFFFFFFF 08 435 | 0008C1CF: FFFFFFFF 00 436 | 0008C1D0: FFFFFFFF B2 437 | 0008C1D1: FFFFFFFF E2 438 | 0008C1D2: FFFFFFFF 08 439 | 0008C1D3: FFFFFFFF 00 440 | 0008C1D4: FFFFFFFF A0 441 | 0008C1D5: FFFFFFFF E2 442 | 0008C1D6: FFFFFFFF 08 443 | 0008C1D7: FFFFFFFF 00 444 | 0008C1D8: FFFFFFFF 94 445 | 0008C1D9: FFFFFFFF E2 446 | 0008C1DA: FFFFFFFF 08 447 | 0008C1DB: FFFFFFFF 00 448 | 0008C1DC: FFFFFFFF DA 449 | 0008C1DD: FFFFFFFF E2 450 | 0008C1DE: FFFFFFFF 08 451 | 0008C1DF: FFFFFFFF 00 452 | 0008C1E0: FFFFFFFF 94 453 | 0008C1E1: FFFFFFFF E4 454 | 0008C1E2: FFFFFFFF 08 455 | 0008C1E3: FFFFFFFF 00 456 | 0008C1E4: FFFFFFFF 86 457 | 0008C1E5: FFFFFFFF E4 458 | 0008C1E6: FFFFFFFF 08 459 | 0008C1E7: FFFFFFFF 00 460 | 0008C1E8: FFFFFFFF 72 461 | 0008C1E9: FFFFFFFF E4 462 | 0008C1EA: FFFFFFFF 08 463 | 0008C1EB: FFFFFFFF 00 464 | 0008C1EC: FFFFFFFF 5E 465 | 0008C1ED: FFFFFFFF E4 466 | 0008C1EE: FFFFFFFF 08 467 | 0008C1EF: FFFFFFFF 00 468 | 0008C1F0: FFFFFFFF 50 469 | 0008C1F1: FFFFFFFF E4 470 | 0008C1F2: FFFFFFFF 08 471 | 0008C1F3: FFFFFFFF 00 472 | 0008C1F4: FFFFFFFF 42 473 | 0008C1F5: FFFFFFFF E4 474 | 0008C1F6: FFFFFFFF 08 475 | 0008C1F7: FFFFFFFF 00 476 | 0008C1F8: FFFFFFFF 30 477 | 0008C1F9: FFFFFFFF E4 478 | 0008C1FA: FFFFFFFF 08 479 | 0008C1FB: FFFFFFFF 00 480 | 0008C1FC: FFFFFFFF 1E 481 | 0008C1FD: FFFFFFFF E4 482 | 0008C1FE: FFFFFFFF 08 483 | 0008C1FF: FFFFFFFF 00 484 | 0008C200: FFFFFFFF 0E 485 | 0008C201: FFFFFFFF E4 486 | 0008C202: FFFFFFFF 08 487 | 0008C203: FFFFFFFF 00 488 | 0008C204: FFFFFFFF FC 489 | 0008C205: FFFFFFFF E3 490 | 0008C206: FFFFFFFF 08 491 | 0008C207: FFFFFFFF 00 492 | 0008C208: FFFFFFFF EE 493 | 0008C209: FFFFFFFF E3 494 | 0008C20A: FFFFFFFF 08 495 | 0008C20B: FFFFFFFF 00 496 | 0008C20C: FFFFFFFF E2 497 | 0008C20D: FFFFFFFF E3 498 | 0008C20E: FFFFFFFF 08 499 | 0008C20F: FFFFFFFF 00 500 | 0008C210: FFFFFFFF CE 501 | 0008C211: FFFFFFFF E3 502 | 0008C212: FFFFFFFF 08 503 | 0008C213: FFFFFFFF 00 504 | 0008C214: FFFFFFFF BC 505 | 0008C215: FFFFFFFF E3 506 | 0008C216: FFFFFFFF 08 507 | 0008C217: FFFFFFFF 00 508 | 0008C218: FFFFFFFF B2 509 | 0008C219: FFFFFFFF E3 510 | 0008C21A: FFFFFFFF 08 511 | 0008C21B: FFFFFFFF 00 512 | 0008C21C: FFFFFFFF A4 513 | 0008C21D: FFFFFFFF E3 514 | 0008C21E: FFFFFFFF 08 515 | 0008C21F: FFFFFFFF 00 516 | 0008C220: FFFFFFFF 92 517 | 0008C221: FFFFFFFF E3 518 | 0008C222: FFFFFFFF 08 519 | 0008C223: FFFFFFFF 00 520 | 0008C224: FFFFFFFF 7C 521 | 0008C225: FFFFFFFF E3 522 | 0008C226: FFFFFFFF 08 523 | 0008C227: FFFFFFFF 00 524 | 0008C228: FFFFFFFF 68 525 | 0008C229: FFFFFFFF E3 526 | 0008C22A: FFFFFFFF 08 527 | 0008C22B: FFFFFFFF 00 528 | 0008C22C: FFFFFFFF 5A 529 | 0008C22D: FFFFFFFF E3 530 | 0008C22E: FFFFFFFF 08 531 | 0008C22F: FFFFFFFF 00 532 | 0008C230: FFFFFFFF 4C 533 | 0008C231: FFFFFFFF E3 534 | 0008C232: FFFFFFFF 08 535 | 0008C233: FFFFFFFF 00 536 | 0008C234: FFFFFFFF 34 537 | 0008C235: FFFFFFFF E3 538 | 0008C236: FFFFFFFF 08 539 | 0008C237: FFFFFFFF 00 540 | 0008C23C: FFFFFFFF 26 541 | 0008C23D: FFFFFFFF E6 542 | 0008C23E: FFFFFFFF 08 543 | 0008C23F: FFFFFFFF 00 544 | 0008C240: FFFFFFFF 3C 545 | 0008C241: FFFFFFFF E6 546 | 0008C242: FFFFFFFF 08 547 | 0008C243: FFFFFFFF 00 548 | 0008C244: FFFFFFFF 14 549 | 0008C245: FFFFFFFF E6 550 | 0008C246: FFFFFFFF 08 551 | 0008C247: FFFFFFFF 00 552 | 0008C24C: FFFFFFFF C6 553 | 0008C24D: FFFFFFFF E6 554 | 0008C24E: FFFFFFFF 08 555 | 0008C24F: FFFFFFFF 00 556 | 0008C250: FFFFFFFF D8 557 | 0008C251: FFFFFFFF E6 558 | 0008C252: FFFFFFFF 08 559 | 0008C253: FFFFFFFF 00 560 | 0008C254: FFFFFFFF EA 561 | 0008C255: FFFFFFFF E6 562 | 0008C256: FFFFFFFF 08 563 | 0008C257: FFFFFFFF 00 564 | 0008C258: FFFFFFFF FA 565 | 0008C259: FFFFFFFF E6 566 | 0008C25A: FFFFFFFF 08 567 | 0008C25B: FFFFFFFF 00 568 | 0008C25C: FFFFFFFF 08 569 | 0008C25D: FFFFFFFF E7 570 | 0008C25E: FFFFFFFF 08 571 | 0008C25F: FFFFFFFF 00 572 | 0008C260: FFFFFFFF 18 573 | 0008C261: FFFFFFFF E7 574 | 0008C262: FFFFFFFF 08 575 | 0008C263: FFFFFFFF 00 576 | -------------------------------------------------------------------------------- /IDA output/Doukutsu.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file has been generated by IDA. 3 | It contains local type definitions from 4 | the type library 'Doukutsu - Copy' 5 | */ 6 | 7 | #define __int8 char 8 | #define __int16 short 9 | #define __int32 int 10 | #define __int64 long long 11 | 12 | struct _SCOPETABLE_ENTRY; 13 | struct _DSBUFFERDESC; 14 | struct tWAVEFORMATEX; 15 | struct IDirectSoundBuffer; 16 | struct NOTELIST; 17 | struct IDirectSoundVtbl; 18 | struct _GUID; 19 | struct IUnknown; 20 | struct IUnknownVtbl; 21 | struct _DSCAPS; 22 | struct HWND__; 23 | struct IDirectDrawVtbl; 24 | struct IDirectDrawClipper; 25 | struct tagPALETTEENTRY; 26 | struct IDirectDrawPalette; 27 | struct _DDSURFACEDESC; 28 | struct IDirectDrawSurface; 29 | struct _DDCAPS; 30 | struct IDirectDrawSurfaceVtbl; 31 | struct _DDBLTFX; 32 | struct _DDBLTBATCH; 33 | struct HDC__; 34 | struct _DDOVERLAYFX; 35 | struct IDirectInputAVtbl; 36 | struct IDirectInputDeviceA; 37 | struct DIDEVICEINSTANCEA; 38 | struct HINSTANCE__; 39 | struct IDirectDrawClipperVtbl; 40 | struct _RGNDATA; 41 | 42 | /* 25 */ 43 | typedef struct _SCOPETABLE_ENTRY *PSCOPETABLE_ENTRY; 44 | 45 | /* 93 */ 46 | typedef unsigned __int32 DWORD; 47 | 48 | /* 1 */ 49 | struct _EH3_EXCEPTION_REGISTRATION 50 | { 51 | struct _EH3_EXCEPTION_REGISTRATION *Next; 52 | PVOID ExceptionHandler; 53 | PSCOPETABLE_ENTRY ScopeTable; 54 | DWORD TryLevel; 55 | }; 56 | 57 | /* 28 */ 58 | struct _SCOPETABLE_ENTRY 59 | { 60 | int EnclosingLevel; 61 | void *FilterFunc; 62 | void *HandlerFunc; 63 | }; 64 | 65 | /* 2 */ 66 | #pragma pack(push, 8) 67 | struct struct_0 68 | { 69 | char anonymous_0[1144]; 70 | }; 71 | #pragma pack(pop) 72 | 73 | /* 3 */ 74 | enum Lib_Enums 75 | { 76 | FLUSHALL = 0x1, 77 | __V6_HEAP = 0x3, 78 | inuse = 0x83, 79 | }; 80 | 81 | /* 4 */ 82 | struct CPPEH_RECORD 83 | { 84 | DWORD old_esp; 85 | EXCEPTION_POINTERS *exc_ptr; 86 | struct _EH3_EXCEPTION_REGISTRATION registration; 87 | }; 88 | 89 | /* 121 */ 90 | typedef __int32 LONG; 91 | 92 | /* 5 */ 93 | #pragma pack(push, 8) 94 | struct tagRECT 95 | { 96 | LONG left; 97 | LONG top; 98 | LONG right; 99 | LONG bottom; 100 | }; 101 | #pragma pack(pop) 102 | 103 | /* 7 */ 104 | #pragma pack(push, 8) 105 | struct POINT 106 | { 107 | LONG x; 108 | LONG y; 109 | }; 110 | #pragma pack(pop) 111 | 112 | /* 8 */ 113 | typedef tagRECT RECT; 114 | 115 | /* 6 */ 116 | #pragma pack(push, 8) 117 | struct WINDOWPLACEMENT 118 | { 119 | UINT length; 120 | UINT flags; 121 | UINT showCmd; 122 | POINT ptMinPosition; 123 | POINT ptMaxPosition; 124 | RECT rcNormalPosition; 125 | }; 126 | #pragma pack(pop) 127 | 128 | /* 212 */ 129 | typedef HINSTANCE__ *HINSTANCE; 130 | 131 | /* 9 */ 132 | #pragma pack(push, 8) 133 | struct WNDCLASSEXA 134 | { 135 | UINT cbSize; 136 | UINT style; 137 | WNDPROC lpfnWndProc; 138 | int cbClsExtra; 139 | int cbWndExtra; 140 | HINSTANCE hInstance; 141 | HICON hIcon; 142 | HCURSOR hCursor; 143 | HBRUSH hbrBackground; 144 | LPCSTR lpszMenuName; 145 | LPCSTR lpszClassName; 146 | HICON hIconSm; 147 | }; 148 | #pragma pack(pop) 149 | 150 | /* 213 */ 151 | struct HINSTANCE__ 152 | { 153 | int unused; 154 | }; 155 | 156 | /* 130 */ 157 | typedef HWND__ *HWND; 158 | 159 | /* 10 */ 160 | #pragma pack(push, 8) 161 | struct tagMSG 162 | { 163 | HWND hwnd; 164 | UINT message; 165 | WPARAM wParam; 166 | LPARAM lParam; 167 | DWORD time; 168 | POINT pt; 169 | }; 170 | #pragma pack(pop) 171 | 172 | /* 131 */ 173 | struct HWND__ 174 | { 175 | int unused; 176 | }; 177 | 178 | /* 11 */ 179 | #pragma pack(push, 8) 180 | struct MSG 181 | { 182 | HWND hwnd; 183 | UINT message; 184 | WPARAM wParam; 185 | LPARAM lParam; 186 | DWORD time; 187 | POINT pt; 188 | }; 189 | #pragma pack(pop) 190 | 191 | /* 12 */ 192 | #pragma pack(push, 8) 193 | struct timecaps_tag 194 | { 195 | UINT wPeriodMin; 196 | UINT wPeriodMax; 197 | }; 198 | #pragma pack(pop) 199 | 200 | /* 96 */ 201 | typedef unsigned __int16 WORD; 202 | 203 | /* 174 */ 204 | typedef void *HANDLE; 205 | 206 | /* 13 */ 207 | #pragma pack(push, 8) 208 | struct _STARTUPINFOA 209 | { 210 | DWORD cb; 211 | LPSTR lpReserved; 212 | LPSTR lpDesktop; 213 | LPSTR lpTitle; 214 | DWORD dwX; 215 | DWORD dwY; 216 | DWORD dwXSize; 217 | DWORD dwYSize; 218 | DWORD dwXCountChars; 219 | DWORD dwYCountChars; 220 | DWORD dwFillAttribute; 221 | DWORD dwFlags; 222 | WORD wShowWindow; 223 | WORD cbReserved2; 224 | LPBYTE lpReserved2; 225 | HANDLE hStdInput; 226 | HANDLE hStdOutput; 227 | HANDLE hStdError; 228 | }; 229 | #pragma pack(pop) 230 | 231 | /* 14 */ 232 | #pragma pack(push, 8) 233 | struct _MEMORY_BASIC_INFORMATION 234 | { 235 | PVOID BaseAddress; 236 | PVOID AllocationBase; 237 | DWORD AllocationProtect; 238 | SIZE_T RegionSize; 239 | DWORD State; 240 | DWORD Protect; 241 | DWORD Type; 242 | }; 243 | #pragma pack(pop) 244 | 245 | /* 119 */ 246 | typedef void *LPVOID; 247 | 248 | /* 173 */ 249 | typedef int BOOL; 250 | 251 | /* 15 */ 252 | #pragma pack(push, 8) 253 | struct _SECURITY_ATTRIBUTES 254 | { 255 | DWORD nLength; 256 | LPVOID lpSecurityDescriptor; 257 | BOOL bInheritHandle; 258 | }; 259 | #pragma pack(pop) 260 | 261 | /* 118 */ 262 | typedef unsigned __int8 BYTE; 263 | 264 | /* 16 */ 265 | #pragma pack(push, 8) 266 | struct _cpinfo 267 | { 268 | UINT MaxCharSize; 269 | BYTE DefaultChar[2]; 270 | BYTE LeadByte[12]; 271 | char _padding[2]; 272 | }; 273 | #pragma pack(pop) 274 | 275 | /* 17 */ 276 | #pragma pack(push, 8) 277 | struct _FILETIME 278 | { 279 | DWORD dwLowDateTime; 280 | DWORD dwHighDateTime; 281 | }; 282 | #pragma pack(pop) 283 | 284 | /* 19 */ 285 | #pragma pack(push, 8) 286 | struct _LARGE_INTEGER::$837407842DC9087486FDFA5FEB63B74E 287 | { 288 | DWORD LowPart; 289 | LONG HighPart; 290 | }; 291 | #pragma pack(pop) 292 | 293 | /* 18 */ 294 | #pragma pack(push, 8) 295 | union LARGE_INTEGER 296 | { 297 | LONGLONG anonymous_0; 298 | _LARGE_INTEGER::$837407842DC9087486FDFA5FEB63B74E u; 299 | __int64 QuadPart; 300 | }; 301 | #pragma pack(pop) 302 | 303 | /* 20 */ 304 | #pragma pack(push, 8) 305 | struct FILE 306 | { 307 | char *_ptr; 308 | int _cnt; 309 | char *_base; 310 | int _flag; 311 | int _file; 312 | int _charbuf; 313 | int _bufsiz; 314 | char *_tmpfname; 315 | }; 316 | #pragma pack(pop) 317 | 318 | /* 21 */ 319 | #pragma pack(push, 8) 320 | struct _SYSTEM_INFO::$41710344DA04EC56A327D4EA11DEF6D2::$AA04DEB0C6383F89F13D312A174572A9 321 | { 322 | WORD wProcessorArchitecture; 323 | WORD wReserved; 324 | }; 325 | #pragma pack(pop) 326 | 327 | /* 22 */ 328 | #pragma pack(push, 8) 329 | struct _SYSTEMTIME 330 | { 331 | WORD wYear; 332 | WORD wMonth; 333 | WORD wDayOfWeek; 334 | WORD wDay; 335 | WORD wHour; 336 | WORD wMinute; 337 | WORD wSecond; 338 | WORD wMilliseconds; 339 | }; 340 | #pragma pack(pop) 341 | 342 | /* 23 */ 343 | #pragma pack(push, 8) 344 | struct SYSTEMTIME 345 | { 346 | WORD wYear; 347 | WORD wMonth; 348 | WORD wDayOfWeek; 349 | WORD wDay; 350 | WORD wHour; 351 | WORD wMinute; 352 | WORD wSecond; 353 | WORD wMilliseconds; 354 | }; 355 | #pragma pack(pop) 356 | 357 | /* 24 */ 358 | #pragma pack(push, 8) 359 | struct FILETIME 360 | { 361 | DWORD dwLowDateTime; 362 | DWORD dwHighDateTime; 363 | }; 364 | #pragma pack(pop) 365 | 366 | /* 26 */ 367 | typedef struct _EH3_EXCEPTION_REGISTRATION EH3_EXCEPTION_REGISTRATION; 368 | 369 | /* 27 */ 370 | typedef struct _EH3_EXCEPTION_REGISTRATION *PEH3_EXCEPTION_REGISTRATION; 371 | 372 | /* 29 */ 373 | #pragma pack(push, 8) 374 | struct __declspec(align(4)) configDataFile 375 | { 376 | char proof[32]; 377 | char fontName[64]; 378 | int moveButtonMode; 379 | int attackButtonMode; 380 | int okButtonMode; 381 | int displayMode; 382 | int joystickMode; 383 | int joystickButton[8]; 384 | }; 385 | #pragma pack(pop) 386 | 387 | /* 30 */ 388 | union __declspec(align(8)) __m64 389 | { 390 | unsigned __int64 m64_u64; 391 | float m64_f32[2]; 392 | __int8 m64_i8[8]; 393 | __int16 m64_i16[4]; 394 | __int32 m64_i32[2]; 395 | __int64 m64_i64; 396 | unsigned __int8 m64_u8[8]; 397 | unsigned __int16 m64_u16[4]; 398 | unsigned __int32 m64_u32[2]; 399 | }; 400 | 401 | /* 31 */ 402 | union __declspec(align(16)) __m128 403 | { 404 | float m128_f32[4]; 405 | unsigned __int64 m128_u64[2]; 406 | __int8 m128_i8[16]; 407 | __int16 m128_i16[8]; 408 | __int32 m128_i32[4]; 409 | __int64 m128_i64[2]; 410 | unsigned __int8 m128_u8[16]; 411 | unsigned __int16 m128_u16[8]; 412 | unsigned __int32 m128_u32[4]; 413 | }; 414 | 415 | /* 32 */ 416 | struct __m128d 417 | { 418 | double m128d_f64[2]; 419 | }; 420 | 421 | /* 33 */ 422 | union __declspec(align(16)) __m128i 423 | { 424 | __int8 m128i_i8[16]; 425 | __int16 m128i_i16[8]; 426 | __int32 m128i_i32[4]; 427 | __int64 m128i_i64[2]; 428 | unsigned __int8 m128i_u8[16]; 429 | unsigned __int16 m128i_u16[8]; 430 | unsigned __int32 m128i_u32[4]; 431 | unsigned __int64 m128i_u64[2]; 432 | }; 433 | 434 | /* 34 */ 435 | #pragma pack(push, 8) 436 | struct __declspec(align(4)) IDirectDraw 437 | { 438 | IDirectDrawVtbl *lpVtbl; 439 | }; 440 | #pragma pack(pop) 441 | 442 | /* 120 */ 443 | typedef LONG HRESULT; 444 | 445 | /* 116 */ 446 | typedef _GUID GUID; 447 | 448 | /* 115 */ 449 | typedef GUID IID; 450 | 451 | /* 122 */ 452 | typedef unsigned __int32 ULONG; 453 | 454 | /* 195 */ 455 | typedef IDirectDraw *LPDIRECTDRAW; 456 | 457 | /* 191 */ 458 | typedef HDC__ *HDC; 459 | 460 | /* 144 */ 461 | typedef IDirectDrawClipper *LPDIRECTDRAWCLIPPER; 462 | 463 | /* 146 */ 464 | typedef tagPALETTEENTRY *LPPALETTEENTRY; 465 | 466 | /* 148 */ 467 | typedef IDirectDrawPalette *LPDIRECTDRAWPALETTE; 468 | 469 | /* 150 */ 470 | typedef _DDSURFACEDESC *LPDDSURFACEDESC; 471 | 472 | /* 165 */ 473 | typedef IDirectDrawSurface *LPDIRECTDRAWSURFACE; 474 | 475 | /* 167 */ 476 | typedef HRESULT (__stdcall *LPDDENUMMODESCALLBACK)(LPDDSURFACEDESC, LPVOID); 477 | 478 | /* 168 */ 479 | typedef HRESULT (__stdcall *LPDDENUMSURFACESCALLBACK)(LPDIRECTDRAWSURFACE, LPDDSURFACEDESC, LPVOID); 480 | 481 | /* 170 */ 482 | typedef _DDCAPS DDCAPS; 483 | 484 | /* 169 */ 485 | typedef DDCAPS *LPDDCAPS; 486 | 487 | /* 132 */ 488 | typedef DWORD *LPDWORD; 489 | 490 | /* 143 */ 491 | #pragma pack(push, 8) 492 | struct __declspec(align(4)) IDirectDrawVtbl 493 | { 494 | HRESULT (__stdcall *QueryInterface)(IDirectDraw *This, const IID *const riid, LPVOID *ppvObj); 495 | ULONG (__stdcall *AddRef)(IDirectDraw *This); 496 | ULONG (__cdecl *Release)(IDirectDraw *This); 497 | int (__cdecl *Compact)(LPDIRECTDRAW, HDC); 498 | HRESULT (__cdecl *CreateClipper)(IDirectDraw *This, DWORD, LPDIRECTDRAWCLIPPER *, IUnknown *); 499 | HRESULT (__stdcall *CreatePalette)(IDirectDraw *This, DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE *, IUnknown *); 500 | HRESULT (__cdecl *CreateSurface)(IDirectDraw *This, LPDDSURFACEDESC, LPDIRECTDRAWSURFACE *, IUnknown *); 501 | HRESULT (__stdcall *DuplicateSurface)(IDirectDraw *This, LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE *); 502 | HRESULT (__stdcall *EnumDisplayModes)(IDirectDraw *This, DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK); 503 | HRESULT (__stdcall *EnumSurfaces)(IDirectDraw *This, DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMSURFACESCALLBACK); 504 | HRESULT (__stdcall *FlipToGDISurface)(IDirectDraw *This); 505 | HRESULT (__stdcall *GetCaps)(IDirectDraw *This, LPDDCAPS, LPDDCAPS); 506 | HRESULT (__stdcall *GetDisplayMode)(IDirectDraw *This, LPDDSURFACEDESC); 507 | HRESULT (__stdcall *GetFourCCCodes)(IDirectDraw *This, LPDWORD, LPDWORD); 508 | HRESULT (__stdcall *GetGDISurface)(IDirectDraw *This, LPDIRECTDRAWSURFACE *); 509 | HRESULT (__stdcall *GetMonitorFrequency)(IDirectDraw *This, LPDWORD); 510 | HRESULT (__stdcall *GetScanLine)(IDirectDraw *This, LPDWORD); 511 | void (__cdecl *GetVerticalBlankStatus)(LPDIRECTDRAW, HDC *); 512 | HRESULT (__stdcall *Initialize)(IDirectDraw *This, GUID *); 513 | HRESULT (__stdcall *RestoreDisplayMode)(IDirectDraw *This); 514 | HRESULT (__cdecl *SetCooperativeLevel)(LPDIRECTDRAW this, HWND, signed int); 515 | HRESULT (__cdecl *SetDisplayMode)(LPDIRECTDRAW This, int, int, int); 516 | HRESULT (__stdcall *WaitForVerticalBlank)(IDirectDraw *This, DWORD, HANDLE); 517 | }; 518 | #pragma pack(pop) 519 | 520 | /* 117 */ 521 | struct _GUID 522 | { 523 | DWORD Data1; 524 | WORD Data2; 525 | WORD Data3; 526 | BYTE Data4[8]; 527 | }; 528 | 529 | /* 192 */ 530 | struct HDC__ 531 | { 532 | int unused; 533 | }; 534 | 535 | /* 145 */ 536 | #pragma pack(push, 8) 537 | struct __declspec(align(4)) IDirectDrawClipper 538 | { 539 | IDirectDrawClipperVtbl *lpVtbl; 540 | }; 541 | #pragma pack(pop) 542 | 543 | /* 126 */ 544 | #pragma pack(push, 8) 545 | struct IUnknown 546 | { 547 | IUnknownVtbl *lpVtbl; 548 | }; 549 | #pragma pack(pop) 550 | 551 | /* 147 */ 552 | struct tagPALETTEENTRY 553 | { 554 | BYTE peRed; 555 | BYTE peGreen; 556 | BYTE peBlue; 557 | BYTE peFlags; 558 | }; 559 | 560 | /* 149 */ 561 | struct IDirectDrawPalette 562 | { 563 | struct IDirectDrawPalette::IDirectDrawPaletteVtbl *lpVtbl; 564 | }; 565 | 566 | /* 152 */ 567 | union _DDSURFACEDESC::$091DBF7D405BE25E65B16620C008128B 568 | { 569 | LONG lPitch; 570 | DWORD dwLinearSize; 571 | }; 572 | 573 | /* 153 */ 574 | union _DDSURFACEDESC::$9AB659F8D6A45F8C7834A76B9C40973B 575 | { 576 | DWORD dwMipMapCount; 577 | DWORD dwZBufferBitDepth; 578 | DWORD dwRefreshRate; 579 | }; 580 | 581 | /* 155 */ 582 | struct _DDCOLORKEY 583 | { 584 | DWORD dwColorSpaceLowValue; 585 | DWORD dwColorSpaceHighValue; 586 | }; 587 | 588 | /* 154 */ 589 | typedef _DDCOLORKEY DDCOLORKEY; 590 | 591 | /* 158 */ 592 | union _DDPIXELFORMAT::$10AA641B3215541DB69A48A361AE0013 593 | { 594 | DWORD dwRGBBitCount; 595 | DWORD dwYUVBitCount; 596 | DWORD dwZBufferBitDepth; 597 | DWORD dwAlphaBitDepth; 598 | }; 599 | 600 | /* 159 */ 601 | union _DDPIXELFORMAT::$0E0BD8DB15B3F2A790C062F781315157 602 | { 603 | DWORD dwRBitMask; 604 | DWORD dwYBitMask; 605 | }; 606 | 607 | /* 160 */ 608 | union _DDPIXELFORMAT::$DB4BDA43012B420E1DC9AEEACAA267A5 609 | { 610 | DWORD dwGBitMask; 611 | DWORD dwUBitMask; 612 | }; 613 | 614 | /* 161 */ 615 | union _DDPIXELFORMAT::$4C5EBD389D88C4C046794501FFF390F4 616 | { 617 | DWORD dwBBitMask; 618 | DWORD dwVBitMask; 619 | }; 620 | 621 | /* 162 */ 622 | union _DDPIXELFORMAT::$3ED4EC923A768B2489A9D1155BD11968 623 | { 624 | DWORD dwRGBAlphaBitMask; 625 | DWORD dwYUVAlphaBitMask; 626 | DWORD dwRGBZBitMask; 627 | DWORD dwYUVZBitMask; 628 | }; 629 | 630 | /* 157 */ 631 | struct _DDPIXELFORMAT 632 | { 633 | DWORD dwSize; 634 | DWORD dwFlags; 635 | DWORD dwFourCC; 636 | union 637 | { 638 | DWORD dwRGBBitCount; 639 | DWORD dwYUVBitCount; 640 | DWORD dwZBufferBitDepth; 641 | DWORD dwAlphaBitDepth; 642 | }; 643 | union 644 | { 645 | DWORD dwRBitMask; 646 | DWORD dwYBitMask; 647 | }; 648 | union 649 | { 650 | DWORD dwGBitMask; 651 | DWORD dwUBitMask; 652 | }; 653 | union 654 | { 655 | DWORD dwBBitMask; 656 | DWORD dwVBitMask; 657 | }; 658 | union 659 | { 660 | DWORD dwRGBAlphaBitMask; 661 | DWORD dwYUVAlphaBitMask; 662 | DWORD dwRGBZBitMask; 663 | DWORD dwYUVZBitMask; 664 | }; 665 | }; 666 | 667 | /* 156 */ 668 | typedef _DDPIXELFORMAT DDPIXELFORMAT; 669 | 670 | /* 164 */ 671 | struct _DDSCAPS 672 | { 673 | DWORD dwCaps; 674 | }; 675 | 676 | /* 163 */ 677 | typedef _DDSCAPS DDSCAPS; 678 | 679 | /* 151 */ 680 | #pragma pack(push, 8) 681 | struct __declspec(align(4)) _DDSURFACEDESC 682 | { 683 | DWORD dwSize; 684 | DWORD dwFlags; 685 | DWORD dwHeight; 686 | DWORD dwWidth; 687 | _DDSURFACEDESC::$091DBF7D405BE25E65B16620C008128B anonymous_0; 688 | DWORD dwBackBufferCount; 689 | _DDSURFACEDESC::$9AB659F8D6A45F8C7834A76B9C40973B anonymous_1; 690 | DWORD dwAlphaBitDepth; 691 | DWORD dwReserved; 692 | LPVOID lpSurface; 693 | DDCOLORKEY ddckCKDestOverlay; 694 | DDCOLORKEY ddckCKDestBlt; 695 | DDCOLORKEY ddckCKSrcOverlay; 696 | DDCOLORKEY ddckCKSrcBlt; 697 | DDPIXELFORMAT ddpfPixelFormat; 698 | DDSCAPS ddsCaps; 699 | }; 700 | #pragma pack(pop) 701 | 702 | /* 166 */ 703 | #pragma pack(push, 8) 704 | struct __declspec(align(4)) IDirectDrawSurface 705 | { 706 | IDirectDrawSurfaceVtbl *lpVtbl; 707 | }; 708 | #pragma pack(pop) 709 | 710 | /* 171 */ 711 | struct _DDCAPS 712 | { 713 | DWORD dwSize; 714 | DWORD dwCaps; 715 | DWORD dwCaps2; 716 | DWORD dwCKeyCaps; 717 | DWORD dwFXCaps; 718 | DWORD dwFXAlphaCaps; 719 | DWORD dwPalCaps; 720 | DWORD dwSVCaps; 721 | DWORD dwAlphaBltConstBitDepths; 722 | DWORD dwAlphaBltPixelBitDepths; 723 | DWORD dwAlphaBltSurfaceBitDepths; 724 | DWORD dwAlphaOverlayConstBitDepths; 725 | DWORD dwAlphaOverlayPixelBitDepths; 726 | DWORD dwAlphaOverlaySurfaceBitDepths; 727 | DWORD dwZBufferBitDepths; 728 | DWORD dwVidMemTotal; 729 | DWORD dwVidMemFree; 730 | DWORD dwMaxVisibleOverlays; 731 | DWORD dwCurrVisibleOverlays; 732 | DWORD dwNumFourCCCodes; 733 | DWORD dwAlignBoundarySrc; 734 | DWORD dwAlignSizeSrc; 735 | DWORD dwAlignBoundaryDest; 736 | DWORD dwAlignSizeDest; 737 | DWORD dwAlignStrideAlign; 738 | DWORD dwRops[8]; 739 | DDSCAPS ddsCaps; 740 | DWORD dwMinOverlayStretch; 741 | DWORD dwMaxOverlayStretch; 742 | DWORD dwMinLiveVideoStretch; 743 | DWORD dwMaxLiveVideoStretch; 744 | DWORD dwMinHwCodecStretch; 745 | DWORD dwMaxHwCodecStretch; 746 | DWORD dwReserved1; 747 | DWORD dwReserved2; 748 | DWORD dwReserved3; 749 | DWORD dwSVBCaps; 750 | DWORD dwSVBCKeyCaps; 751 | DWORD dwSVBFXCaps; 752 | DWORD dwSVBRops[8]; 753 | DWORD dwVSBCaps; 754 | DWORD dwVSBCKeyCaps; 755 | DWORD dwVSBFXCaps; 756 | DWORD dwVSBRops[8]; 757 | DWORD dwSSBCaps; 758 | DWORD dwSSBCKeyCaps; 759 | DWORD dwSSBFXCaps; 760 | DWORD dwSSBRops[8]; 761 | DWORD dwMaxVideoPorts; 762 | DWORD dwCurrVideoPorts; 763 | DWORD dwSVBCaps2; 764 | DWORD dwNLVBCaps; 765 | DWORD dwNLVBCaps2; 766 | DWORD dwNLVBCKeyCaps; 767 | DWORD dwNLVBFXCaps; 768 | DWORD dwNLVBRops[8]; 769 | }; 770 | 771 | /* 177 */ 772 | typedef tagRECT *LPRECT; 773 | 774 | /* 218 */ 775 | typedef _RGNDATA *LPRGNDATA; 776 | 777 | /* 217 */ 778 | #pragma pack(push, 8) 779 | struct __declspec(align(4)) IDirectDrawClipperVtbl 780 | { 781 | HRESULT (__stdcall *QueryInterface)(IDirectDrawClipper *This, const IID *const riid, LPVOID *ppvObj); 782 | ULONG (__stdcall *AddRef)(IDirectDrawClipper *This); 783 | ULONG (__stdcall *Release)(IDirectDrawClipper *This); 784 | HRESULT (__stdcall *GetClipList)(IDirectDrawClipper *This, LPRECT, LPRGNDATA, LPDWORD); 785 | HRESULT (__stdcall *GetHWnd)(IDirectDrawClipper *This, HWND *); 786 | HRESULT (__stdcall *Initialize)(IDirectDrawClipper *This, LPDIRECTDRAW, DWORD); 787 | HRESULT (__stdcall *IsClipListChanged)(IDirectDrawClipper *This, BOOL *); 788 | HRESULT (__stdcall *SetClipList)(IDirectDrawClipper *This, LPRGNDATA, DWORD); 789 | HRESULT (__cdecl *SetHWnd)(IDirectDrawClipper *This, DWORD, HWND); 790 | }; 791 | #pragma pack(pop) 792 | 793 | /* 127 */ 794 | #pragma pack(push, 8) 795 | struct IUnknownVtbl 796 | { 797 | HRESULT (__stdcall *QueryInterface)(IUnknown *This, const IID *const riid, void **ppvObject); 798 | ULONG (__stdcall *AddRef)(IUnknown *This); 799 | ULONG (__stdcall *Release)(IUnknown *This); 800 | }; 801 | #pragma pack(pop) 802 | 803 | /* 179 */ 804 | typedef _DDBLTFX DDBLTFX; 805 | 806 | /* 178 */ 807 | typedef DDBLTFX *LPDDBLTFX; 808 | 809 | /* 187 */ 810 | typedef _DDBLTBATCH DDBLTBATCH; 811 | 812 | /* 186 */ 813 | typedef DDBLTBATCH *LPDDBLTBATCH; 814 | 815 | /* 189 */ 816 | typedef DDSCAPS *LPDDSCAPS; 817 | 818 | /* 190 */ 819 | typedef DDCOLORKEY *LPDDCOLORKEY; 820 | 821 | /* 193 */ 822 | typedef __int32 *LPLONG; 823 | 824 | /* 194 */ 825 | typedef DDPIXELFORMAT *LPDDPIXELFORMAT; 826 | 827 | /* 197 */ 828 | typedef _DDOVERLAYFX DDOVERLAYFX; 829 | 830 | /* 196 */ 831 | typedef DDOVERLAYFX *LPDDOVERLAYFX; 832 | 833 | /* 176 */ 834 | #pragma pack(push, 8) 835 | struct __declspec(align(4)) IDirectDrawSurfaceVtbl 836 | { 837 | HRESULT (__stdcall *QueryInterface)(IDirectDrawSurface *This, const IID *const riid, LPVOID *ppvObj); 838 | ULONG (__stdcall *AddRef)(IDirectDrawSurface *This); 839 | ULONG (__cdecl *Release)(IDirectDrawSurface *This); 840 | HRESULT (__stdcall *AddAttachedSurface)(IDirectDrawSurface *This, LPDIRECTDRAWSURFACE); 841 | HRESULT (__stdcall *AddOverlayDirtyRect)(IDirectDrawSurface *This, LPRECT); 842 | HRESULT (__stdcall *Blt)(IDirectDrawSurface *This, LPRECT, LPDIRECTDRAWSURFACE, LPRECT, DWORD, LPDDBLTFX); 843 | HRESULT (__stdcall *BltBatch)(IDirectDrawSurface *This, LPDDBLTBATCH, DWORD, DWORD); 844 | HRESULT (__stdcall *BltFast)(IDirectDrawSurface *This, DWORD, DWORD, LPDIRECTDRAWSURFACE, LPRECT, DWORD); 845 | HRESULT (__stdcall *DeleteAttachedSurface)(IDirectDrawSurface *This, DWORD, LPDIRECTDRAWSURFACE); 846 | HRESULT (__stdcall *EnumAttachedSurfaces)(IDirectDrawSurface *This, LPVOID, LPDDENUMSURFACESCALLBACK); 847 | HRESULT (__stdcall *EnumOverlayZOrders)(IDirectDrawSurface *This, DWORD, LPVOID, LPDDENUMSURFACESCALLBACK); 848 | HRESULT (__stdcall *Flip)(IDirectDrawSurface *This, LPDIRECTDRAWSURFACE, DWORD); 849 | HRESULT (__stdcall *GetAttachedSurface)(IDirectDrawSurface *This, LPDDSCAPS, LPDIRECTDRAWSURFACE *); 850 | HRESULT (__stdcall *GetBltStatus)(IDirectDrawSurface *This, DWORD); 851 | HRESULT (__stdcall *GetCaps)(IDirectDrawSurface *This, LPDDSCAPS); 852 | HRESULT (__stdcall *GetClipper)(IDirectDrawSurface *This, LPDIRECTDRAWCLIPPER *); 853 | HRESULT (__stdcall *GetColorKey)(IDirectDrawSurface *This, DWORD, LPDDCOLORKEY); 854 | HRESULT (__cdecl *GetDC)(IDirectDrawSurface *This, HDC *); 855 | HRESULT (__stdcall *GetFlipStatus)(IDirectDrawSurface *This, DWORD); 856 | HRESULT (__stdcall *GetOverlayPosition)(IDirectDrawSurface *This, LPLONG, LPLONG); 857 | HRESULT (__stdcall *GetPalette)(IDirectDrawSurface *This, LPDIRECTDRAWPALETTE *); 858 | HRESULT (__stdcall *GetPixelFormat)(IDirectDrawSurface *This, LPDDPIXELFORMAT); 859 | HRESULT (__stdcall *GetSurfaceDesc)(IDirectDrawSurface *This, LPDDSURFACEDESC); 860 | HRESULT (__stdcall *Initialize)(IDirectDrawSurface *This, LPDIRECTDRAW, LPDDSURFACEDESC); 861 | HRESULT (__cdecl *IsLost)(IDirectDrawSurface *This); 862 | HRESULT (__cdecl *Lock)(IDirectDrawSurface *This, LPRECT, LPDDSURFACEDESC, DWORD, HANDLE); 863 | HRESULT (__cdecl *ReleaseDC)(IDirectDrawSurface *This, HDC); 864 | HRESULT (__cdecl *Restore)(IDirectDrawSurface *This); 865 | HRESULT (__cdecl *SetClipper)(IDirectDrawSurface *This, LPDIRECTDRAWCLIPPER); 866 | HRESULT (__cdecl *SetColorKey)(IDirectDrawSurface *This, DWORD, LPDDCOLORKEY); 867 | HRESULT (__stdcall *SetOverlayPosition)(IDirectDrawSurface *This, LONG, LONG); 868 | HRESULT (__stdcall *SetPalette)(IDirectDrawSurface *This, LPDIRECTDRAWPALETTE); 869 | HRESULT (__stdcall *Unlock)(IDirectDrawSurface *This, LPVOID); 870 | HRESULT (__stdcall *UpdateOverlay)(IDirectDrawSurface *This, LPRECT, LPDIRECTDRAWSURFACE, LPRECT, DWORD, LPDDOVERLAYFX); 871 | HRESULT (__stdcall *UpdateOverlayDisplay)(IDirectDrawSurface *This, DWORD); 872 | HRESULT (__stdcall *UpdateOverlayZOrder)(IDirectDrawSurface *This, DWORD, LPDIRECTDRAWSURFACE); 873 | }; 874 | #pragma pack(pop) 875 | 876 | /* 221 */ 877 | struct _RGNDATAHEADER 878 | { 879 | DWORD dwSize; 880 | DWORD iType; 881 | DWORD nCount; 882 | DWORD nRgnSize; 883 | RECT rcBound; 884 | }; 885 | 886 | /* 220 */ 887 | typedef _RGNDATAHEADER RGNDATAHEADER; 888 | 889 | /* 219 */ 890 | struct _RGNDATA 891 | { 892 | RGNDATAHEADER rdh; 893 | char Buffer[1]; 894 | }; 895 | 896 | /* 181 */ 897 | union _DDBLTFX::$EA6EC20695B0AA8ECF92A441DE55A935 898 | { 899 | DWORD dwZDestConst; 900 | LPDIRECTDRAWSURFACE lpDDSZBufferDest; 901 | }; 902 | 903 | /* 182 */ 904 | union _DDBLTFX::$702C52B3655764E63C007A6B73D01C19 905 | { 906 | DWORD dwZSrcConst; 907 | LPDIRECTDRAWSURFACE lpDDSZBufferSrc; 908 | }; 909 | 910 | /* 183 */ 911 | union _DDBLTFX::$3639C047B3E88B857708792B1F3FEC83 912 | { 913 | DWORD dwAlphaDestConst; 914 | LPDIRECTDRAWSURFACE lpDDSAlphaDest; 915 | }; 916 | 917 | /* 184 */ 918 | union _DDBLTFX::$C0828DA952883A43DEF8D462ACC90C87 919 | { 920 | DWORD dwAlphaSrcConst; 921 | LPDIRECTDRAWSURFACE lpDDSAlphaSrc; 922 | }; 923 | 924 | /* 185 */ 925 | union _DDBLTFX::$4C109671A06E28B8127C40041AB5795C 926 | { 927 | DWORD dwFillColor; 928 | DWORD dwFillDepth; 929 | DWORD dwFillPixel; 930 | LPDIRECTDRAWSURFACE lpDDSPattern; 931 | }; 932 | 933 | /* 180 */ 934 | struct _DDBLTFX 935 | { 936 | DWORD dwSize; 937 | DWORD dwDDFX; 938 | DWORD dwROP; 939 | DWORD dwDDROP; 940 | DWORD dwRotationAngle; 941 | DWORD dwZBufferOpCode; 942 | DWORD dwZBufferLow; 943 | DWORD dwZBufferHigh; 944 | DWORD dwZBufferBaseDest; 945 | DWORD dwZDestConstBitDepth; 946 | union 947 | { 948 | DWORD dwZDestConst; 949 | LPDIRECTDRAWSURFACE lpDDSZBufferDest; 950 | }; 951 | DWORD dwZSrcConstBitDepth; 952 | union 953 | { 954 | DWORD dwZSrcConst; 955 | LPDIRECTDRAWSURFACE lpDDSZBufferSrc; 956 | }; 957 | DWORD dwAlphaEdgeBlendBitDepth; 958 | DWORD dwAlphaEdgeBlend; 959 | DWORD dwReserved; 960 | DWORD dwAlphaDestConstBitDepth; 961 | union 962 | { 963 | DWORD dwAlphaDestConst; 964 | LPDIRECTDRAWSURFACE lpDDSAlphaDest; 965 | }; 966 | DWORD dwAlphaSrcConstBitDepth; 967 | union 968 | { 969 | DWORD dwAlphaSrcConst; 970 | LPDIRECTDRAWSURFACE lpDDSAlphaSrc; 971 | }; 972 | union 973 | { 974 | DWORD dwFillColor; 975 | DWORD dwFillDepth; 976 | DWORD dwFillPixel; 977 | LPDIRECTDRAWSURFACE lpDDSPattern; 978 | }; 979 | DDCOLORKEY ddckDestColorkey; 980 | DDCOLORKEY ddckSrcColorkey; 981 | }; 982 | 983 | /* 188 */ 984 | struct _DDBLTBATCH 985 | { 986 | LPRECT lprDest; 987 | LPDIRECTDRAWSURFACE lpDDSSrc; 988 | LPRECT lprSrc; 989 | DWORD dwFlags; 990 | LPDDBLTFX lpDDBltFx; 991 | }; 992 | 993 | /* 199 */ 994 | union _DDOVERLAYFX::$3639C047B3E88B857708792B1F3FEC83 995 | { 996 | DWORD dwAlphaDestConst; 997 | LPDIRECTDRAWSURFACE lpDDSAlphaDest; 998 | }; 999 | 1000 | /* 200 */ 1001 | union _DDOVERLAYFX::$C0828DA952883A43DEF8D462ACC90C87 1002 | { 1003 | DWORD dwAlphaSrcConst; 1004 | LPDIRECTDRAWSURFACE lpDDSAlphaSrc; 1005 | }; 1006 | 1007 | /* 198 */ 1008 | struct _DDOVERLAYFX 1009 | { 1010 | DWORD dwSize; 1011 | DWORD dwAlphaEdgeBlendBitDepth; 1012 | DWORD dwAlphaEdgeBlend; 1013 | DWORD dwReserved; 1014 | DWORD dwAlphaDestConstBitDepth; 1015 | union 1016 | { 1017 | DWORD dwAlphaDestConst; 1018 | LPDIRECTDRAWSURFACE lpDDSAlphaDest; 1019 | }; 1020 | DWORD dwAlphaSrcConstBitDepth; 1021 | union 1022 | { 1023 | DWORD dwAlphaSrcConst; 1024 | LPDIRECTDRAWSURFACE lpDDSAlphaSrc; 1025 | }; 1026 | DDCOLORKEY dckDestColorkey; 1027 | DDCOLORKEY dckSrcColorkey; 1028 | DWORD dwDDFX; 1029 | DWORD dwFlags; 1030 | }; 1031 | 1032 | /* 35 */ 1033 | struct someRectThing 1034 | { 1035 | char front; 1036 | char top; 1037 | char back; 1038 | char bottom; 1039 | }; 1040 | 1041 | /* 36 */ 1042 | struct NPCInfo 1043 | { 1044 | __int16 bits; 1045 | __int16 life; 1046 | __int8 surf; 1047 | __int8 soundOnHit; 1048 | __int8 soundOnDeath; 1049 | __int8 size; 1050 | int exp; 1051 | int damage; 1052 | someRectThing hit; 1053 | someRectThing view; 1054 | }; 1055 | 1056 | /* 37 */ 1057 | struct __declspec(align(4)) MapData 1058 | { 1059 | unsigned __int8 *data; 1060 | unsigned __int8 mapLayoutBuffer[257]; 1061 | __int16 width; 1062 | __int16 length; 1063 | }; 1064 | 1065 | /* 38 */ 1066 | struct NPCCollisionFlags 1067 | { 1068 | int front; 1069 | int top; 1070 | int back; 1071 | int bottom; 1072 | }; 1073 | 1074 | /* 39 */ 1075 | #pragma pack(push, 8) 1076 | struct __declspec(align(4)) NPC 1077 | { 1078 | unsigned __int8 isAlive; 1079 | int collisionFlags; 1080 | int XPos; 1081 | int YPos; 1082 | int XVel; 1083 | int YVel; 1084 | int XVel2; 1085 | int YVel2; 1086 | int curlyTargetX; 1087 | int curlyTargetY; 1088 | int entityType; 1089 | int code_flag; 1090 | int entityEventNum; 1091 | int entitySpritesheet; 1092 | int hitSound; 1093 | int deathSound; 1094 | int life; 1095 | int EXPAmount; 1096 | int explosionSize; 1097 | int direction; 1098 | unsigned __int16 entityFlags; 1099 | RECT rect; 1100 | int animationTimer; 1101 | int animationNumber; 1102 | int count1; 1103 | int count2; 1104 | int currentState; 1105 | int waitTimer; 1106 | NPCCollisionFlags hitbox; 1107 | NPCCollisionFlags view; 1108 | unsigned __int8 isBeingHit; 1109 | int damage_view; 1110 | int damage; 1111 | NPC *parentNPC; 1112 | }; 1113 | #pragma pack(pop) 1114 | 1115 | /* 44 */ 1116 | enum Directions 1117 | { 1118 | left = 0x0, 1119 | up = 0x1, 1120 | right = 0x2, 1121 | down = 0x3, 1122 | }; 1123 | 1124 | /* 40 */ 1125 | #pragma pack(push, 8) 1126 | struct __declspec(align(4)) Effect 1127 | { 1128 | int isUsed; 1129 | int effectNum; 1130 | Directions direction; 1131 | int XPos; 1132 | int YPos; 1133 | int XVel; 1134 | int YVel; 1135 | int actionNumber; 1136 | int actionTimer; 1137 | int animationNumber; 1138 | int animationTimer; 1139 | int viewLeft; 1140 | int viewTop; 1141 | RECT rect; 1142 | }; 1143 | #pragma pack(pop) 1144 | 1145 | /* 41 */ 1146 | #pragma pack(push, 8) 1147 | struct __declspec(align(4)) FadeVars 1148 | { 1149 | int mode; 1150 | bool byteMask; 1151 | int count; 1152 | char animationNumber[15][20]; 1153 | char flag[15][20]; 1154 | char direction; 1155 | }; 1156 | #pragma pack(pop) 1157 | 1158 | /* 42 */ 1159 | struct __declspec(align(4)) MapHeader 1160 | { 1161 | char parts[32]; 1162 | char map[32]; 1163 | int backgroundType; 1164 | char backgroundFile[32]; 1165 | char NPCFile[32]; 1166 | char bossFile[32]; 1167 | char bossNumber; 1168 | char name[32]; 1169 | }; 1170 | 1171 | /* 43 */ 1172 | #pragma pack(push, 8) 1173 | struct __declspec(align(4)) Bullet 1174 | { 1175 | int isUsed; 1176 | int bulletID; 1177 | int flags; 1178 | int isAlive; 1179 | int XPos; 1180 | int YPos; 1181 | int XVel; 1182 | int YVel; 1183 | int targetX; 1184 | int targetY; 1185 | int currentState; 1186 | int act_wait; 1187 | int frameTimer; 1188 | int animationNum; 1189 | unsigned __int8 direction; 1190 | RECT displayRect; 1191 | int count1; 1192 | int count2; 1193 | int maxDistance; 1194 | int damage; 1195 | int numberImpacts; 1196 | int sizeWidth; 1197 | int sizeHeight; 1198 | int collisionX; 1199 | int collisionY; 1200 | NPCCollisionFlags view; 1201 | }; 1202 | #pragma pack(pop) 1203 | 1204 | /* 46 */ 1205 | #pragma pack(push, 8) 1206 | struct __declspec(align(4)) _tiddata 1207 | { 1208 | _BYTE gap0[20]; 1209 | _DWORD _holdrand; 1210 | }; 1211 | #pragma pack(pop) 1212 | 1213 | /* 48 */ 1214 | enum MACRO__IOB 1215 | { 1216 | _IOB_ENTRIES = 20, 1217 | EOF = -1, 1218 | }; 1219 | 1220 | /* 50 */ 1221 | enum MACRO_EPERM 1222 | { 1223 | EPERM = 1, 1224 | ENOENT = 2, 1225 | ESRCH = 3, 1226 | EINTR = 4, 1227 | EIO = 5, 1228 | ENXIO = 6, 1229 | E2BIG = 7, 1230 | ENOEXEC = 8, 1231 | EBADF = 9, 1232 | ECHILD = 10, 1233 | EAGAIN = 11, 1234 | ENOMEM = 12, 1235 | EACCES = 13, 1236 | EFAULT = 14, 1237 | EBUSY = 16, 1238 | EEXIST = 17, 1239 | EXDEV = 18, 1240 | ENODEV = 19, 1241 | ENOTDIR = 20, 1242 | EISDIR = 21, 1243 | EINVAL = 22, 1244 | ENFILE = 23, 1245 | EMFILE = 24, 1246 | ENOTTY = 25, 1247 | EFBIG = 27, 1248 | ENOSPC = 28, 1249 | ESPIPE = 29, 1250 | EROFS = 30, 1251 | EMLINK = 31, 1252 | EPIPE = 32, 1253 | EDOM = 33, 1254 | ERANGE = 34, 1255 | EDEADLK = 36, 1256 | ENAMETOOLONG = 38, 1257 | ENOLCK = 39, 1258 | ENOSYS = 40, 1259 | ENOTEMPTY = 41, 1260 | EILSEQ = 42, 1261 | }; 1262 | 1263 | /* 52 */ 1264 | enum MACRO_INT 1265 | { 1266 | INT_MAX = 2147483647, 1267 | UINT_MAX = -1, 1268 | }; 1269 | 1270 | /* 53 */ 1271 | enum MACRO__HEAP 1272 | { 1273 | _HEAP_MAXREQ = 0xFFFFFFE0, 1274 | _HEAPEMPTY = 0xFFFFFFFF, 1275 | }; 1276 | 1277 | /* 55 */ 1278 | enum MACRO__IONBF 1279 | { 1280 | _IONBF = 0x4, 1281 | _IOMYBUF = 0x8, 1282 | _IOEOF = 0x10, 1283 | _IOERR = 0x20, 1284 | _IOSTRG = 0x40, 1285 | _IORW = 0x80, 1286 | }; 1287 | 1288 | /* 56 */ 1289 | enum MACRO_SEEK 1290 | { 1291 | SEEK_SET = 0, 1292 | SEEK_CUR = 1, 1293 | SEEK_END = 2, 1294 | MMIO_DEFAULTBUFFER = 8192, 1295 | }; 1296 | 1297 | /* 57 */ 1298 | enum MACRO__OUT 1299 | { 1300 | _OUT_TO_DEFAULT = 0, 1301 | _OUT_TO_STDERR = 1, 1302 | _OUT_TO_MSGBOX = 2, 1303 | _REPORT_ERRMODE = 3, 1304 | }; 1305 | 1306 | /* 58 */ 1307 | enum MACRO_FALSE 1308 | { 1309 | FALSE = 0, 1310 | TRUE = 1, 1311 | }; 1312 | 1313 | /* 60 */ 1314 | enum MACRO_INVALID 1315 | { 1316 | INVALID_HANDLE_VALUE = -1, 1317 | }; 1318 | 1319 | /* 61 */ 1320 | enum MACRO__IOREAD 1321 | { 1322 | _IOREAD = 0x1, 1323 | _IOWRT = 0x2, 1324 | }; 1325 | 1326 | /* 62 */ 1327 | enum MACRO_CP_HWND 1328 | { 1329 | CP_HWND = 0, 1330 | CP_OPEN = 1, 1331 | CP_DIRECT = 2, 1332 | CP_LEVEL = 3, 1333 | VK_DBE_ALPHANUMERIC = 240, 1334 | VK_DBE_KATAKANA = 241, 1335 | VK_DBE_HIRAGANA = 242, 1336 | VK_DBE_SBCSCHAR = 243, 1337 | VK_DBE_DBCSCHAR = 244, 1338 | VK_DBE_ROMAN = 245, 1339 | VK_DBE_NOROMAN = 246, 1340 | VK_DBE_ENTERWORDREGISTERMODE = 247, 1341 | VK_DBE_ENTERIMECONFIGMODE = 248, 1342 | VK_DBE_FLUSHSTRING = 249, 1343 | VK_DBE_CODEINPUT = 250, 1344 | VK_DBE_NOCODEINPUT = 251, 1345 | VK_DBE_DETERMINESTRING = 252, 1346 | VK_DBE_ENTERDLGCONVERSIONMODE = 253, 1347 | }; 1348 | 1349 | /* 63 */ 1350 | enum MACRO__O_SHORT 1351 | { 1352 | _O_SHORT_LIVED = 0x1000, 1353 | _O_SEQUENTIAL = 0x20, 1354 | _O_RANDOM = 0x10, 1355 | }; 1356 | 1357 | /* 64 */ 1358 | enum NPCEnums 1359 | { 1360 | free = 0x0, 1361 | inUse = 0x80, 1362 | }; 1363 | 1364 | /* 65 */ 1365 | enum NPCNames 1366 | { 1367 | NPCnothing = 0x0, 1368 | NPCWeaponEnergy = 0x1, 1369 | NPCEnemyBehemoth = 0x2, 1370 | NPCDeletesItself = 0x3, 1371 | NPCSmoke = 0x4, 1372 | NPCEnemyCritterHoppingGreen = 0x5, 1373 | NPCEnemyBeetleHorizontalGreen = 0x6, 1374 | NPCEnemyBasil = 0x7, 1375 | NPCEnemyBeetleFollow1 = 0x8, 1376 | NPCBalrogDropIn = 0x9, 1377 | NPCBossBalrogShooting = 0xA, 1378 | NPCProjectileBalrogEnemyBounce = 0xB, 1379 | NPCBalrogCutscene = 0xC, 1380 | NPCForcefield = 0xD, 1381 | NPCSantasKey = 0xE, 1382 | NPCTreasureChestClosed = 0xF, 1383 | }; 1384 | 1385 | /* 67 */ 1386 | #pragma pack(push, 8) 1387 | struct __declspec(align(4)) Player 1388 | { 1389 | unsigned __int8 flags; 1390 | unsigned int collisionFlags; 1391 | Directions direction; 1392 | int isFacingUp; 1393 | int isFacingDown; 1394 | BOOL isInFishBattle; 1395 | int equippedItems; 1396 | int XPos; 1397 | int YPos; 1398 | int cameraXPos; 1399 | int cameraYPos; 1400 | int cameraXVel; 1401 | int cameraYVel; 1402 | int XVel; 1403 | int YVel; 1404 | int animationTimer; 1405 | int animationNumber; 1406 | NPCCollisionFlags Hitbox; 1407 | NPCCollisionFlags Sizebox; 1408 | RECT Rect; 1409 | RECT Rect_Weapon; 1410 | int level; 1411 | int Level_Bar_Flashes; 1412 | int Exp_To_Gain; 1413 | unsigned __int8 Invincibility_Timer; 1414 | unsigned __int8 Num_Whim_Stars; 1415 | unsigned __int8 Time_Between_Shots; 1416 | unsigned __int8 bubble; 1417 | __int16 Health; 1418 | __int16 star; 1419 | __int16 Max_Health; 1420 | __int16 a; 1421 | int Life_Bar; 1422 | int Health_Bar_Timer; 1423 | int Air; 1424 | int air_get; 1425 | char sprash; 1426 | char ques; 1427 | char boost_sw; 1428 | int boosterFuel; 1429 | }; 1430 | #pragma pack(pop) 1431 | 1432 | /* 234 */ 1433 | enum weapons 1434 | { 1435 | weaponSnake = 0x1, 1436 | weaponPolarStar = 0x2, 1437 | weaponFireball = 0x3, 1438 | weaponMachineGun = 0x4, 1439 | weaponMissileLauncher = 0x5, 1440 | weaponBubbler = 0x7, 1441 | weaponBlade = 0x9, 1442 | weaponNemesis = 0xC, 1443 | weaponSpur = 0xD, 1444 | }; 1445 | 1446 | /* 68 */ 1447 | #pragma pack(push, 8) 1448 | struct __declspec(align(4)) Weapon 1449 | { 1450 | weapons weaponID; 1451 | int level; 1452 | int EXP; 1453 | int maxAmmo; 1454 | int ammo; 1455 | }; 1456 | #pragma pack(pop) 1457 | 1458 | /* 69 */ 1459 | #pragma pack(push, 8) 1460 | struct __declspec(align(4)) FlashAnimation 1461 | { 1462 | int mode; 1463 | int act_no; 1464 | int flashFlag; 1465 | int count; 1466 | int width; 1467 | int XPos; 1468 | int YPos; 1469 | RECT rect1; 1470 | RECT rect2; 1471 | }; 1472 | #pragma pack(pop) 1473 | 1474 | /* 71 */ 1475 | struct __declspec(align(4)) MapData2 1476 | { 1477 | char path[260]; 1478 | int size; 1479 | char *data; 1480 | char mode; 1481 | char flags; 1482 | int p_read; 1483 | int p_write; 1484 | int line; 1485 | int ypos_line[4]; 1486 | int wait; 1487 | int wait_next; 1488 | int next_event; 1489 | char select; 1490 | int face; 1491 | int face_x; 1492 | int item; 1493 | int item_y; 1494 | RECT rcText; 1495 | int offsetY; 1496 | unsigned __int8 wait_beam; 1497 | }; 1498 | 1499 | /* 72 */ 1500 | #pragma pack(push, 8) 1501 | struct __declspec(align(4)) Background 1502 | { 1503 | int flag; 1504 | int tileWidth; 1505 | int tileHeight; 1506 | int numX; 1507 | int numY; 1508 | int mode; 1509 | int _fx; 1510 | char unknownFiller[12]; 1511 | }; 1512 | #pragma pack(pop) 1513 | 1514 | /* 73 */ 1515 | struct Camera 1516 | { 1517 | int XPos; 1518 | int YPos; 1519 | int *targetXPos; 1520 | int *targetYPos; 1521 | int moveTicks; 1522 | int softQuakeDuration; 1523 | int hardQuakeDuration; 1524 | }; 1525 | 1526 | /* 75 */ 1527 | typedef void (__cdecl *NPCFunction)(NPC *); 1528 | 1529 | /* 76 */ 1530 | struct WeaponEXPValues 1531 | { 1532 | int exp[3]; 1533 | }; 1534 | 1535 | /* 77 */ 1536 | typedef void (__cdecl *EffectFunction)(Effect *); 1537 | 1538 | /* 78 */ 1539 | struct ItemData 1540 | { 1541 | int code; 1542 | }; 1543 | 1544 | /* 79 */ 1545 | struct PermitStageStruct 1546 | { 1547 | int index; 1548 | int event; 1549 | }; 1550 | 1551 | /* 80 */ 1552 | struct HellTimeFile 1553 | { 1554 | int counter[4]; 1555 | unsigned __int8 random[4]; 1556 | }; 1557 | 1558 | /* 81 */ 1559 | struct MapName 1560 | { 1561 | int flag; 1562 | int wait; 1563 | char name[32]; 1564 | }; 1565 | 1566 | /* 82 */ 1567 | struct Boss 1568 | { 1569 | int flag; 1570 | int *pLife; 1571 | int max; 1572 | int br; 1573 | int count; 1574 | }; 1575 | 1576 | /* 83 */ 1577 | #pragma pack(push, 8) 1578 | struct __declspec(align(4)) ProfileFile 1579 | { 1580 | char code[8]; 1581 | int stageNumber; 1582 | int songNumber; 1583 | int XPos; 1584 | int YPos; 1585 | int direction; 1586 | __int16 maxHP; 1587 | __int16 star; 1588 | __int16 HP; 1589 | __int16 a; 1590 | int selectedWeapon; 1591 | int selectedItem; 1592 | int equippedItems; 1593 | int unit; 1594 | int gameTime; 1595 | Weapon weapons[8]; 1596 | ItemData inventory[32]; 1597 | PermitStageStruct unlockedStages[8]; 1598 | char mapFlagArray[128]; 1599 | char FLAG[4]; 1600 | unsigned __int8 eventFlags[1000]; 1601 | }; 1602 | #pragma pack(pop) 1603 | 1604 | /* 84 */ 1605 | #pragma pack(push, 8) 1606 | struct __declspec(align(4)) TSCStruct 1607 | { 1608 | int length; 1609 | char *buffer; 1610 | int offset; 1611 | int wait; 1612 | int mode; 1613 | int start_x; 1614 | }; 1615 | #pragma pack(pop) 1616 | 1617 | /* 85 */ 1618 | struct Illustration 1619 | { 1620 | int actionNumber; 1621 | int XPos; 1622 | }; 1623 | 1624 | /* 86 */ 1625 | struct TextObject 1626 | { 1627 | int flag; 1628 | int x; 1629 | int y; 1630 | int cast; 1631 | char string[64]; 1632 | }; 1633 | 1634 | /* 87 */ 1635 | struct Position 1636 | { 1637 | int X; 1638 | int Y; 1639 | }; 1640 | 1641 | /* 88 */ 1642 | enum EffectNames 1643 | { 1644 | effectfountainDisk = 0x1, 1645 | effectRisingDisc = 0x2, 1646 | effectStar = 0x3, 1647 | effectFireballImpact = 0x4, 1648 | effectZzZ = 0x5, 1649 | effectBoosterSmoke = 0x6, 1650 | effectDrownedQuote = 0x7, 1651 | effectExclamationMark = 0x8, 1652 | effectLevelUpOrDown = 0x9, 1653 | effectRedDamageRings = 0xA, 1654 | effectBigExplosion = 0xB, 1655 | effectHeadbumpSparks = 0xC, 1656 | effectUnknownUnused = 0xD, 1657 | effectSmallExplosionDisc = 0xE, 1658 | effectNothing = 0xF, 1659 | effectPushJumpKey = 0x10, 1660 | }; 1661 | 1662 | /* 89 */ 1663 | enum MACRO_WM 1664 | { 1665 | WM_NULL = 0x0, 1666 | WM_CREATE = 0x1, 1667 | WM_DESTROY = 0x2, 1668 | WM_MOVE = 0x3, 1669 | WM_SIZEWAIT = 0x4, 1670 | WM_SIZE = 0x5, 1671 | WM_ACTIVATE = 0x6, 1672 | WM_SETFOCUS = 0x7, 1673 | WM_KILLFOCUS = 0x8, 1674 | WM_SETVISIBLE = 0x9, 1675 | WM_ENABLE = 0xA, 1676 | WM_SETREDRAW = 0xB, 1677 | WM_SETTEXT = 0xC, 1678 | WM_GETTEXT = 0xD, 1679 | WM_GETTEXTLENGTH = 0xE, 1680 | WM_PAINT = 0xF, 1681 | WM_CLOSE = 0x10, 1682 | WM_QUERYENDSESSION = 0x11, 1683 | WM_QUIT = 0x12, 1684 | WM_QUERYOPEN = 0x13, 1685 | WM_ERASEBKGND = 0x14, 1686 | WM_SYSCOLORCHANGE = 0x15, 1687 | WM_ENDSESSION = 0x16, 1688 | WM_SYSTEMERROR = 0x17, 1689 | WM_SHOWWINDOW = 0x18, 1690 | WM_CTLCOLOR = 0x19, 1691 | WM_WININICHANGE = 0x1A, 1692 | WM_SETTINGCHANGE = 0x1A, 1693 | WM_DEVMODECHANGE = 0x1B, 1694 | WM_ACTIVATEAPP = 0x1C, 1695 | WM_FONTCHANGE = 0x1D, 1696 | WM_TIMECHANGE = 0x1E, 1697 | WM_CANCELMODE = 0x1F, 1698 | WM_SETCURSOR = 0x20, 1699 | WM_MOUSEACTIVATE = 0x21, 1700 | WM_CHILDACTIVATE = 0x22, 1701 | WM_QUEUESYNC = 0x23, 1702 | WM_GETMINMAXINFO = 0x24, 1703 | WM_LOGOFF = 0x25, 1704 | WM_PAINTICON = 0x26, 1705 | WM_ICONERASEBKGND = 0x27, 1706 | WM_NEXTDLGCTL = 0x28, 1707 | WM_ALTTABACTIVE = 0x29, 1708 | WM_SPOOLERSTATUS = 0x2A, 1709 | WM_DRAWITEM = 0x2B, 1710 | WM_MEASUREITEM = 0x2C, 1711 | WM_DELETEITEM = 0x2D, 1712 | WM_VKEYTOITEM = 0x2E, 1713 | WM_CHARTOITEM = 0x2F, 1714 | WM_SETFONT = 0x30, 1715 | WM_GETFONT = 0x31, 1716 | WM_SETHOTKEY = 0x32, 1717 | WM_GETHOTKEY = 0x33, 1718 | WM_FILESYSCHANGE = 0x34, 1719 | WM_ISACTIVEICON = 0x35, 1720 | WM_QUERYPARKICON = 0x36, 1721 | WM_QUERYDRAGICON = 0x37, 1722 | WM_WINHELP = 0x38, 1723 | WM_COMPAREITEM = 0x39, 1724 | WM_FULLSCREEN = 0x3A, 1725 | WM_CLIENTSHUTDOWN = 0x3B, 1726 | WM_DDEMLEVENT = 0x3C, 1727 | WM_GETOBJECT = 0x3D, 1728 | MM_CALCSCROLL = 0x3F, 1729 | WM_TESTING = 0x40, 1730 | WM_COMPACTING = 0x41, 1731 | WM_OTHERWINDOWCREATED = 0x42, 1732 | WM_OTHERWINDOWDESTROYED = 0x43, 1733 | WM_COMMNOTIFY = 0x44, 1734 | WM_MEDIASTATUSCHANGE = 0x45, 1735 | WM_WINDOWPOSCHANGING = 0x46, 1736 | WM_WINDOWPOSCHANGED = 0x47, 1737 | WM_POWER = 0x48, 1738 | WM_COPYGLOBALDATA = 0x49, 1739 | WM_COPYDATA = 0x4A, 1740 | WM_CANCELJOURNAL = 0x4B, 1741 | WM_LOGONNOTIFY = 0x4C, 1742 | WM_KEYF1 = 0x4D, 1743 | WM_NOTIFY = 0x4E, 1744 | WM_ACCESS_WINDOW = 0x4F, 1745 | WM_INPUTLANGCHANGEREQUEST = 0x50, 1746 | WM_INPUTLANGCHANGE = 0x51, 1747 | WM_TCARD = 0x52, 1748 | WM_HELP = 0x53, 1749 | WM_USERCHANGED = 0x54, 1750 | WM_NOTIFYFORMAT = 0x55, 1751 | WM_QM_ACTIVATE = 0x60, 1752 | WM_HOOK_DO_CALLBACK = 0x61, 1753 | WM_SYSCOPYDATA = 0x62, 1754 | WM_FINALDESTROY = 0x70, 1755 | WM_MEASUREITEM_CLIENTDATA = 0x71, 1756 | WM_CONTEXTMENU = 0x7B, 1757 | WM_STYLECHANGING = 0x7C, 1758 | WM_STYLECHANGED = 0x7D, 1759 | WM_DISPLAYCHANGE = 0x7E, 1760 | WM_GETICON = 0x7F, 1761 | WM_SETICON = 0x80, 1762 | WM_NCCREATE = 0x81, 1763 | WM_NCDESTROY = 0x82, 1764 | WM_NCCALCSIZE = 0x83, 1765 | WM_NCHITTEST = 0x84, 1766 | WM_NCPAINT = 0x85, 1767 | WM_NCACTIVATE = 0x86, 1768 | WM_GETDLGCODE = 0x87, 1769 | WM_SYNCPAINT = 0x88, 1770 | WM_SYNCTASK = 0x89, 1771 | WM_NCMOUSEMOVE = 0xA0, 1772 | WM_NCLBUTTONDOWN = 0xA1, 1773 | WM_NCLBUTTONUP = 0xA2, 1774 | WM_NCLBUTTONDBLCLK = 0xA3, 1775 | WM_NCRBUTTONDOWN = 0xA4, 1776 | WM_NCRBUTTONUP = 0xA5, 1777 | WM_NCRBUTTONDBLCLK = 0xA6, 1778 | WM_NCMBUTTONDOWN = 0xA7, 1779 | WM_NCMBUTTONUP = 0xA8, 1780 | WM_NCMBUTTONDBLCLK = 0xA9, 1781 | WM_NCXBUTTONDOWN = 0xAB, 1782 | WM_NCXBUTTONUP = 0xAC, 1783 | WM_NCXBUTTONDBLCLK = 0xAD, 1784 | EM_GETSEL = 0xB0, 1785 | EM_SETSEL = 0xB1, 1786 | EM_GETRECT = 0xB2, 1787 | EM_SETRECT = 0xB3, 1788 | EM_SETRECTNP = 0xB4, 1789 | EM_SCROLL = 0xB5, 1790 | EM_LINESCROLL = 0xB6, 1791 | EM_SCROLLCARET = 0xB7, 1792 | EM_GETMODIFY = 0xB8, 1793 | EM_SETMODIFY = 0xB9, 1794 | EM_GETLINECOUNT = 0xBA, 1795 | EM_LINEINDEX = 0xBB, 1796 | EM_SETHANDLE = 0xBC, 1797 | EM_GETHANDLE = 0xBD, 1798 | EM_GETTHUMB = 0xBE, 1799 | EM_LINELENGTH = 0xC1, 1800 | EM_REPLACESEL = 0xC2, 1801 | EM_SETFONT = 0xC3, 1802 | EM_GETLINE = 0xC4, 1803 | EM_LIMITTEXT = 0xC5, 1804 | EM_CANUNDO = 0xC6, 1805 | EM_UNDO = 0xC7, 1806 | EM_FMTLINES = 0xC8, 1807 | EM_LINEFROMCHAR = 0xC9, 1808 | EM_SETWORDBREAK = 0xCA, 1809 | EM_SETTABSTOPS = 0xCB, 1810 | EM_SETPASSWORDCHAR = 0xCC, 1811 | EM_EMPTYUNDOBUFFER = 0xCD, 1812 | EM_GETFIRSTVISIBLELINE = 0xCE, 1813 | EM_SETREADONLY = 0xCF, 1814 | EM_SETWORDBREAKPROC = 0xD0, 1815 | EM_GETWORDBREAKPROC = 0xD1, 1816 | EM_GETPASSWORDCHAR = 0xD2, 1817 | EM_SETMARGINS = 0xD3, 1818 | EM_GETMARGINS = 0xD4, 1819 | EM_POSFROMCHAR = 0xD5, 1820 | EM_CHARFROMPOS = 0xD6, 1821 | SBM_SETPOS = 0xE0, 1822 | SBM_GETPOS = 0xE1, 1823 | SBM_SETRANGE = 0xE2, 1824 | SBM_GETRANGE = 0xE3, 1825 | SBM_ENABLE_ARROWS = 0xE4, 1826 | SBM_SETRANGEREDRAW = 0xE6, 1827 | SBM_SETSCROLLINFO = 0xE9, 1828 | SBM_GETSCROLLINFO = 0xEA, 1829 | SBM_GETSCROLLBARINFO = 0xEB, 1830 | BM_GETCHECK = 0xF0, 1831 | BM_SETCHECK = 0xF1, 1832 | BM_GETSTATE = 0xF2, 1833 | BM_SETSTATE = 0xF3, 1834 | BM_SETSTYLE = 0xF4, 1835 | BM_CLICK = 0xF5, 1836 | BM_GETIMAGE = 0xF6, 1837 | BM_SETIMAGE = 0xF7, 1838 | BM_SETDONTCLICK = 0xF8, 1839 | WM_INPUT = 0xFF, 1840 | WM_KEYFIRST = 0x100, 1841 | WM_KEYDOWN = 0x100, 1842 | WM_KEYUP = 0x101, 1843 | WM_CHAR = 0x102, 1844 | WM_DEADCHAR = 0x103, 1845 | WM_SYSKEYDOWN = 0x104, 1846 | WM_SYSKEYUP = 0x105, 1847 | WM_SYSCHAR = 0x106, 1848 | WM_SYSDEADCHAR = 0x107, 1849 | WM_KEYLAST = 0x108, 1850 | WM_YOMICHAR = 0x108, 1851 | WM_UNICHAR = 0x109, 1852 | WM_CONVERTREQUEST = 0x10A, 1853 | WM_CONVERTRESULT = 0x10B, 1854 | WM_IM_INFO = 0x10C, 1855 | WM_IME_STARTCOMPOSITION = 0x10D, 1856 | WM_IME_ENDCOMPOSITION = 0x10E, 1857 | WM_IME_COMPOSITION = 0x10F, 1858 | WM_IME_KEYLAST = 0x10F, 1859 | WM_INITDIALOG = 0x110, 1860 | WM_COMMAND = 0x111, 1861 | WM_SYSCOMMAND = 0x112, 1862 | WM_TIMER = 0x113, 1863 | WM_HSCROLL = 0x114, 1864 | WM_VSCROLL = 0x115, 1865 | WM_INITMENU = 0x116, 1866 | WM_INITMENUPOPUP = 0x117, 1867 | WM_SYSTIMER = 0x118, 1868 | WM_MENUSELECT = 0x11F, 1869 | WM_MENUCHAR = 0x120, 1870 | WM_ENTERIDLE = 0x121, 1871 | WM_MENURBUTTONUP = 0x122, 1872 | WM_MENUDRAG = 0x123, 1873 | WM_MENUGETOBJECT = 0x124, 1874 | WM_UNINITMENUPOPUP = 0x125, 1875 | WM_MENUCOMMAND = 0x126, 1876 | WM_CHANGEUISTATE = 0x127, 1877 | WM_UPDATEUISTATE = 0x128, 1878 | WM_QUERYUISTATE = 0x129, 1879 | WM_LBTRACKPOINT = 0x131, 1880 | WM_CTLCOLORMSGBOX = 0x132, 1881 | WM_CTLCOLOREDIT = 0x133, 1882 | WM_CTLCOLORLISTBOX = 0x134, 1883 | WM_CTLCOLORBTN = 0x135, 1884 | WM_CTLCOLORDLG = 0x136, 1885 | WM_CTLCOLORSCROLLBAR = 0x137, 1886 | WM_CTLCOLORSTATIC = 0x138, 1887 | CB_GETEDITSEL = 0x140, 1888 | CB_LIMITTEXT = 0x141, 1889 | CB_SETEDITSEL = 0x142, 1890 | CB_ADDSTRING = 0x143, 1891 | CB_DELETESTRING = 0x144, 1892 | CB_DIR = 0x145, 1893 | CB_GETCOUNT = 0x146, 1894 | CB_GETCURSEL = 0x147, 1895 | CB_GETLBTEXT = 0x148, 1896 | CB_GETLBTEXTLEN = 0x149, 1897 | CB_INSERTSTRING = 0x14A, 1898 | CB_RESETCONTENT = 0x14B, 1899 | CB_FINDSTRING = 0x14C, 1900 | CB_SELECTSTRING = 0x14D, 1901 | CB_SETCURSEL = 0x14E, 1902 | CB_SHOWDROPDOWN = 0x14F, 1903 | CB_GETITEMDATA = 0x150, 1904 | CB_SETITEMDATA = 0x151, 1905 | CB_GETDROPPEDCONTROLRECT = 0x152, 1906 | CB_SETITEMHEIGHT = 0x153, 1907 | CB_GETITEMHEIGHT = 0x154, 1908 | CB_SETEXTENDEDUI = 0x155, 1909 | CB_GETEXTENDEDUI = 0x156, 1910 | CB_GETDROPPEDSTATE = 0x157, 1911 | CB_FINDSTRINGEXACT = 0x158, 1912 | CB_SETLOCALE = 0x159, 1913 | CB_GETLOCALE = 0x15A, 1914 | CB_GETTOPINDEX = 0x15B, 1915 | CB_SETTOPINDEX = 0x15C, 1916 | CB_GETHORIZONTALEXTENT = 0x15D, 1917 | CB_SETHORIZONTALEXTENT = 0x15E, 1918 | CB_GETDROPPEDWIDTH = 0x15F, 1919 | CB_SETDROPPEDWIDTH = 0x160, 1920 | CB_INITSTORAGE = 0x161, 1921 | CB_GETCOMBOBOXINFO = 0x164, 1922 | STM_SETICON = 0x170, 1923 | STM_GETICON = 0x171, 1924 | STM_SETIMAGE = 0x172, 1925 | STM_GETIMAGE = 0x173, 1926 | LB_ADDSTRING = 0x180, 1927 | LB_INSERTSTRING = 0x181, 1928 | LB_DELETESTRING = 0x182, 1929 | LB_SELITEMRANGEEX = 0x183, 1930 | LB_RESETCONTENT = 0x184, 1931 | LB_SETSEL = 0x185, 1932 | LB_SETCURSEL = 0x186, 1933 | LB_GETSEL = 0x187, 1934 | LB_GETCURSEL = 0x188, 1935 | LB_GETTEXT = 0x189, 1936 | LB_GETTEXTLEN = 0x18A, 1937 | LB_GETCOUNT = 0x18B, 1938 | LB_SELECTSTRING = 0x18C, 1939 | LB_DIR = 0x18D, 1940 | LB_GETTOPINDEX = 0x18E, 1941 | LB_FINDSTRING = 0x18F, 1942 | LB_GETSELCOUNT = 0x190, 1943 | LB_GETSELITEMS = 0x191, 1944 | LB_SETTABSTOPS = 0x192, 1945 | LB_GETHORIZONTALEXTENT = 0x193, 1946 | LB_SETHORIZONTALEXTENT = 0x194, 1947 | LB_SETCOLUMNWIDTH = 0x195, 1948 | LB_ADDFILE = 0x196, 1949 | LB_SETTOPINDEX = 0x197, 1950 | LB_GETITEMRECT = 0x198, 1951 | LB_GETITEMDATA = 0x199, 1952 | LB_SETITEMDATA = 0x19A, 1953 | LB_SELITEMRANGE = 0x19B, 1954 | LB_SETANCHORINDEX = 0x19C, 1955 | LB_GETANCHORINDEX = 0x19D, 1956 | LB_SETCARETINDEX = 0x19E, 1957 | LB_GETCARETINDEX = 0x19F, 1958 | LB_SETITEMHEIGHT = 0x1A0, 1959 | LB_GETITEMHEIGHT = 0x1A1, 1960 | LB_FINDSTRINGEXACT = 0x1A2, 1961 | LBCB_CARETON = 0x1A3, 1962 | LBCB_CARETOFF = 0x1A4, 1963 | LB_SETLOCALE = 0x1A5, 1964 | LB_GETLOCALE = 0x1A6, 1965 | LB_SETCOUNT = 0x1A7, 1966 | LB_INITSTORAGE = 0x1A8, 1967 | LB_ITEMFROMPOINT = 0x1A9, 1968 | LB_INSERTSTRINGUPPER = 0x1AA, 1969 | LB_INSERTSTRINGLOWER = 0x1AB, 1970 | LB_ADDSTRINGUPPER = 0x1AC, 1971 | LB_ADDSTRINGLOWER = 0x1AD, 1972 | LB_GETLISTBOXINFO = 0x1B2, 1973 | MN_SETHMENU = 0x1E0, 1974 | MN_GETHMENU = 0x1E1, 1975 | MN_SIZEWINDOW = 0x1E2, 1976 | MN_OPENHIERARCHY = 0x1E3, 1977 | MN_CLOSEHIERARCHY = 0x1E4, 1978 | MN_SELECTITEM = 0x1E5, 1979 | MN_CANCELMENUS = 0x1E6, 1980 | MN_SELECTFIRSTVALIDITEM = 0x1E7, 1981 | MN_GETPPOPUPMENU = 0x1EA, 1982 | MN_FINDMENUWINDOWFROMPOINT = 0x1EB, 1983 | MN_SHOWPOPUPWINDOW = 0x1EC, 1984 | MN_BUTTONDOWN = 0x1ED, 1985 | MN_MOUSEMOVE = 0x1EE, 1986 | MN_BUTTONUP = 0x1EF, 1987 | MN_SETTIMERTOOPENHIERARCHY = 0x1F0, 1988 | MN_DBLCLK = 0x1F1, 1989 | WM_MOUSEFIRST = 0x200, 1990 | WM_MOUSEMOVE = 0x200, 1991 | WM_LBUTTONDOWN = 0x201, 1992 | WM_LBUTTONUP = 0x202, 1993 | WM_LBUTTONDBLCLK = 0x203, 1994 | WM_RBUTTONDOWN = 0x204, 1995 | WM_RBUTTONUP = 0x205, 1996 | WM_RBUTTONDBLCLK = 0x206, 1997 | WM_MBUTTONDOWN = 0x207, 1998 | WM_MBUTTONUP = 0x208, 1999 | WM_MBUTTONDBLCLK = 0x209, 2000 | WM_MOUSEWHEEL = 0x20A, 2001 | WM_XBUTTONDOWN = 0x20B, 2002 | WM_XBUTTONUP = 0x20C, 2003 | WM_XBUTTONDBLCLK = 0x20D, 2004 | WM_MOUSELAST = 0x20D, 2005 | WM_PARENTNOTIFY = 0x210, 2006 | WM_ENTERMENULOOP = 0x211, 2007 | WM_EXITMENULOOP = 0x212, 2008 | WM_NEXTMENU = 0x213, 2009 | WM_SIZING = 0x214, 2010 | WM_CAPTURECHANGED = 0x215, 2011 | WM_MOVING = 0x216, 2012 | WM_POWERBROADCAST = 0x218, 2013 | WM_DEVICECHANGE = 0x219, 2014 | WM_MDICREATE = 0x220, 2015 | WM_MDIDESTROY = 0x221, 2016 | WM_MDIACTIVATE = 0x222, 2017 | WM_MDIRESTORE = 0x223, 2018 | WM_MDINEXT = 0x224, 2019 | WM_MDIMAXIMIZE = 0x225, 2020 | WM_MDITILE = 0x226, 2021 | WM_MDICASCADE = 0x227, 2022 | WM_MDIICONARRANGE = 0x228, 2023 | WM_MDIGETACTIVE = 0x229, 2024 | WM_DROPOBJECT = 0x22A, 2025 | WM_QUERYDROPOBJECT = 0x22B, 2026 | WM_BEGINDRAG = 0x22C, 2027 | WM_DRAGLOOP = 0x22D, 2028 | WM_DRAGSELECT = 0x22E, 2029 | WM_DRAGMOVE = 0x22F, 2030 | WM_MDISETMENU = 0x230, 2031 | WM_ENTERSIZEMOVE = 0x231, 2032 | WM_EXITSIZEMOVE = 0x232, 2033 | WM_DROPFILES = 0x233, 2034 | WM_MDIREFRESHMENU = 0x234, 2035 | WM_HANGEULFIRST = 0x280, 2036 | WM_KANJIFIRST = 0x280, 2037 | WM_IME_SETCONTEXT = 0x281, 2038 | WM_IME_NOTIFY = 0x282, 2039 | WM_IME_CONTROL = 0x283, 2040 | WM_IME_COMPOSITIONFULL = 0x284, 2041 | WM_IME_SELECT = 0x285, 2042 | WM_IME_CHAR = 0x286, 2043 | WM_IME_SYSTEM = 0x287, 2044 | WM_IME_REQUEST = 0x288, 2045 | WM_IME_KEYDOWN = 0x290, 2046 | WM_IME_KEYUP = 0x291, 2047 | WM_HANGEULLAST = 0x29F, 2048 | WM_KANJILAST = 0x29F, 2049 | WM_NCMOUSEHOVER = 0x2A0, 2050 | WM_MOUSEHOVER = 0x2A1, 2051 | WM_NCMOUSELEAVE = 0x2A2, 2052 | WM_MOUSELEAVE = 0x2A3, 2053 | WM_TRACKMOUSEEVENT_LAST = 0x2AF, 2054 | WM_WTSSESSION_CHANGE = 0x2B1, 2055 | WM_TABLET_FIRST = 0x2C0, 2056 | WM_TABLET_LAST = 0x2DF, 2057 | WM_CUT = 0x300, 2058 | WM_COPY = 0x301, 2059 | WM_PASTE = 0x302, 2060 | WM_CLEAR = 0x303, 2061 | WM_UNDO = 0x304, 2062 | WM_RENDERFORMAT = 0x305, 2063 | WM_RENDERALLFORMATS = 0x306, 2064 | WM_DESTROYCLIPBOARD = 0x307, 2065 | WM_DRAWCLIPBOARD = 0x308, 2066 | WM_PAINTCLIPBOARD = 0x309, 2067 | WM_VSCROLLCLIPBOARD = 0x30A, 2068 | WM_SIZECLIPBOARD = 0x30B, 2069 | WM_ASKCBFORMATNAME = 0x30C, 2070 | WM_CHANGECBCHAIN = 0x30D, 2071 | WM_HSCROLLCLIPBOARD = 0x30E, 2072 | WM_QUERYNEWPALETTE = 0x30F, 2073 | WM_PALETTEISCHANGING = 0x310, 2074 | WM_PALETTECHANGED = 0x311, 2075 | WM_HOTKEY = 0x312, 2076 | WM_SYSMENU = 0x313, 2077 | WM_HOOKMSG = 0x314, 2078 | WM_EXITPROCESS = 0x315, 2079 | WM_WAKETHREAD = 0x316, 2080 | WM_PRINT = 0x317, 2081 | WM_PRINTCLIENT = 0x318, 2082 | WM_APPCOMMAND = 0x319, 2083 | WM_THEMECHANGED = 0x31A, 2084 | WM_HANDHELDFIRST = 0x358, 2085 | WM_HANDHELDLAST = 0x35F, 2086 | WM_AFXFIRST = 0x360, 2087 | WM_AFXLAST = 0x37F, 2088 | WM_PENWINFIRST = 0x380, 2089 | WM_PENWINLAST = 0x38F, 2090 | WM_INTERNAL_COALESCE_FIRST = 0x390, 2091 | WM_COALESCE_FIRST = 0x390, 2092 | WM_COALESCE_LAST = 0x39F, 2093 | WM_MM_RESERVED_FIRST = 0x3A0, 2094 | WM_MM_RESERVED_LAST = 0x3DF, 2095 | WM_DDE_INITIATE = 0x3E0, 2096 | WM_DDE_TERMINATE = 0x3E1, 2097 | WM_DDE_ADVISE = 0x3E2, 2098 | WM_DDE_UNADVISE = 0x3E3, 2099 | WM_DDE_ACK = 0x3E4, 2100 | WM_DDE_DATA = 0x3E5, 2101 | WM_DDE_REQUEST = 0x3E6, 2102 | WM_DDE_POKE = 0x3E7, 2103 | WM_DDE_EXECUTE = 0x3E8, 2104 | WM_DBNOTIFICATION = 0x3FD, 2105 | WM_NETCONNECT = 0x3FE, 2106 | WM_HIBERNATE = 0x3FF, 2107 | WM_USER = 0x400, 2108 | WM_APP = 0x8000, 2109 | }; 2110 | 2111 | /* 90 */ 2112 | enum MACRO_VK 2113 | { 2114 | VK_LBUTTON = 0x1, 2115 | VK_RBUTTON = 0x2, 2116 | VK_CANCEL = 0x3, 2117 | VK_MBUTTON = 0x4, 2118 | VK_BACK = 0x8, 2119 | VK_TAB = 0x9, 2120 | VK_CLEAR = 0xC, 2121 | VK_RETURN = 0xD, 2122 | VK_SHIFT = 0x10, 2123 | VK_CONTROL = 0x11, 2124 | VK_MENU = 0x12, 2125 | VK_PAUSE = 0x13, 2126 | VK_CAPITAL = 0x14, 2127 | VK_KANA = 0x15, 2128 | VK_HANGEUL = 0x15, 2129 | VK_HANGUL = 0x15, 2130 | VK_JUNJA = 0x17, 2131 | VK_FINAL = 0x18, 2132 | VK_HANJA = 0x19, 2133 | VK_KANJI = 0x19, 2134 | VK_ESCAPE = 0x1B, 2135 | VK_CONVERT = 0x1C, 2136 | VK_NONCONVERT = 0x1D, 2137 | VK_ACCEPT = 0x1E, 2138 | VK_MODECHANGE = 0x1F, 2139 | VK_SPACE = 0x20, 2140 | VK_PRIOR = 0x21, 2141 | VK_NEXT = 0x22, 2142 | VK_END = 0x23, 2143 | VK_HOME = 0x24, 2144 | VK_LEFT = 0x25, 2145 | VK_UP = 0x26, 2146 | VK_RIGHT = 0x27, 2147 | VK_DOWN = 0x28, 2148 | VK_SELECT = 0x29, 2149 | VK_PRINT = 0x2A, 2150 | VK_EXECUTE = 0x2B, 2151 | VK_SNAPSHOT = 0x2C, 2152 | VK_INSERT = 0x2D, 2153 | VK_DELETE = 0x2E, 2154 | VK_HELP = 0x2F, 2155 | VK_LWIN = 0x5B, 2156 | VK_RWIN = 0x5C, 2157 | VK_APPS = 0x5D, 2158 | VK_NUMPAD0 = 0x60, 2159 | VK_NUMPAD1 = 0x61, 2160 | VK_NUMPAD2 = 0x62, 2161 | VK_NUMPAD3 = 0x63, 2162 | VK_NUMPAD4 = 0x64, 2163 | VK_NUMPAD5 = 0x65, 2164 | VK_NUMPAD6 = 0x66, 2165 | VK_NUMPAD7 = 0x67, 2166 | VK_NUMPAD8 = 0x68, 2167 | VK_NUMPAD9 = 0x69, 2168 | VK_MULTIPLY = 0x6A, 2169 | VK_ADD = 0x6B, 2170 | VK_SEPARATOR = 0x6C, 2171 | VK_SUBTRACT = 0x6D, 2172 | VK_DECIMAL = 0x6E, 2173 | VK_DIVIDE = 0x6F, 2174 | VK_F1 = 0x70, 2175 | VK_F2 = 0x71, 2176 | VK_F3 = 0x72, 2177 | VK_F4 = 0x73, 2178 | VK_F5 = 0x74, 2179 | VK_F6 = 0x75, 2180 | VK_F7 = 0x76, 2181 | VK_F8 = 0x77, 2182 | VK_F9 = 0x78, 2183 | VK_F10 = 0x79, 2184 | VK_F11 = 0x7A, 2185 | VK_F12 = 0x7B, 2186 | VK_F13 = 0x7C, 2187 | VK_F14 = 0x7D, 2188 | VK_F15 = 0x7E, 2189 | VK_F16 = 0x7F, 2190 | VK_F17 = 0x80, 2191 | VK_F18 = 0x81, 2192 | VK_F19 = 0x82, 2193 | VK_F20 = 0x83, 2194 | VK_F21 = 0x84, 2195 | VK_F22 = 0x85, 2196 | VK_F23 = 0x86, 2197 | VK_F24 = 0x87, 2198 | VK_NUMLOCK = 0x90, 2199 | VK_SCROLL = 0x91, 2200 | VK_LSHIFT = 0xA0, 2201 | VK_RSHIFT = 0xA1, 2202 | VK_LCONTROL = 0xA2, 2203 | VK_RCONTROL = 0xA3, 2204 | VK_LMENU = 0xA4, 2205 | VK_RMENU = 0xA5, 2206 | VK_PROCESSKEY = 0xE5, 2207 | VK_ATTN = 0xF6, 2208 | VK_CRSEL = 0xF7, 2209 | VK_EXSEL = 0xF8, 2210 | VK_EREOF = 0xF9, 2211 | VK_PLAY = 0xFA, 2212 | VK_ZOOM = 0xFB, 2213 | VK_NONAME = 0xFC, 2214 | VK_PA1 = 0xFD, 2215 | VK_OEM_CLEAR = 0xFE, 2216 | WH_MIN = 0xFFFFFFFF, 2217 | }; 2218 | 2219 | /* 91 */ 2220 | typedef _DSBUFFERDESC DSBUFFERDESC; 2221 | 2222 | /* 94 */ 2223 | typedef tWAVEFORMATEX *LPWAVEFORMATEX; 2224 | 2225 | /* 92 */ 2226 | struct _DSBUFFERDESC 2227 | { 2228 | DWORD dwSize; 2229 | DWORD dwFlags; 2230 | DWORD dwBufferBytes; 2231 | DWORD dwReserved; 2232 | LPWAVEFORMATEX lpwfxFormat; 2233 | }; 2234 | 2235 | /* 95 */ 2236 | #pragma pack(push, 1) 2237 | struct tWAVEFORMATEX 2238 | { 2239 | WORD wFormatTag; 2240 | WORD nChannels; 2241 | DWORD nSamplesPerSec; 2242 | DWORD nAvgBytesPerSec; 2243 | WORD nBlockAlign; 2244 | WORD wBitsPerSample; 2245 | WORD cbSize; 2246 | }; 2247 | #pragma pack(pop) 2248 | 2249 | /* 97 */ 2250 | enum MACRO_DSBPLAY 2251 | { 2252 | DSBPLAY_LOOPING = 0x1, 2253 | }; 2254 | 2255 | /* 98 */ 2256 | enum MACRO_DSBCAPS 2257 | { 2258 | DSBCAPS_PRIMARYBUFFER = 0x1, 2259 | DSBCAPS_STATIC = 0x2, 2260 | DSBCAPS_LOCHARDWARE = 0x4, 2261 | DSBCAPS_LOCSOFTWARE = 0x8, 2262 | DSBCAPS_CTRL3D = 0x10, 2263 | DSBCAPS_CTRLFREQUENCY = 0x20, 2264 | DSBCAPS_CTRLPAN = 0x40, 2265 | DSBCAPS_CTRLVOLUME = 0x80, 2266 | DSBCAPS_CTRLPOSITIONNOTIFY = 0x100, 2267 | }; 2268 | 2269 | /* 99 */ 2270 | struct tagOCTWAVE 2271 | { 2272 | __int16 wave_size; 2273 | __int16 oct_par; 2274 | __int16 oct_size; 2275 | }; 2276 | 2277 | /* 100 */ 2278 | typedef struct tagOCTWAVE OCTWAVE; 2279 | 2280 | /* 124 */ 2281 | typedef IDirectSoundBuffer *LPDIRECTSOUNDBUFFER; 2282 | 2283 | /* 101 */ 2284 | #pragma pack(push, 8) 2285 | struct __declspec(align(4)) IDirectSoundBufferVtbl 2286 | { 2287 | void (__cdecl *QueryInterface)(); 2288 | void (__cdecl *AddRef)(); 2289 | void (__cdecl *Release)(_DWORD); 2290 | void (__cdecl *GetCaps)(); 2291 | void (__cdecl *GetCurrentPosition)(); 2292 | void (__cdecl *GetFormat)(); 2293 | void (__cdecl *GetVolume)(); 2294 | void (__cdecl *GetPan)(); 2295 | void (__cdecl *GetFrequency)(); 2296 | void (__cdecl *GetStatus)(); 2297 | void (__cdecl *Initialize)(); 2298 | int (__cdecl *Lock)(LPDIRECTSOUNDBUFFER, _DWORD, size_t, LPVOID *, size_t *, LPVOID *, size_t *, _DWORD); 2299 | void (__cdecl *Play)(_DWORD, _DWORD, _DWORD, _DWORD); 2300 | void (__cdecl *SetCurrentPosition)(LPDIRECTSOUNDBUFFER, _DWORD); 2301 | void (__cdecl *SetFormat)(); 2302 | void (__stdcall *SetVolume)(_DWORD, _DWORD); 2303 | void (__stdcall *SetPan)(_DWORD, _DWORD); 2304 | void (__stdcall *SetFrequency)(LPDIRECTSOUNDBUFFER, int); 2305 | void (__cdecl *Stop)(_DWORD); 2306 | void (__cdecl *Unlock)(LPDIRECTSOUNDBUFFER, LPVOID, size_t, LPVOID, size_t); 2307 | void (__cdecl *Restore)(); 2308 | }; 2309 | #pragma pack(pop) 2310 | 2311 | /* 103 */ 2312 | struct IDirectSoundBuffer 2313 | { 2314 | IDirectSoundBufferVtbl *lpVtbl; 2315 | }; 2316 | 2317 | /* 102 */ 2318 | enum DefOrg 2319 | { 2320 | MAXNOTELENGTH = 0xFF, 2321 | MAXMELODY = 0x8, 2322 | MAXDRAM = 0x8, 2323 | MAXTRACK = 0x10, 2324 | KEYDUMMY = 0xFF, 2325 | PANDUMMY = 0xFF, 2326 | VOLDUMMY = 0xFF, 2327 | SETALL = 0xFFFFFFFF, 2328 | SETWAIT = 0x1, 2329 | SETGRID = 0x2, 2330 | SETALLOC = 0x4, 2331 | SETREPEAT = 0x8, 2332 | SETFREQ = 0x10, 2333 | SETWAVE = 0x20, 2334 | SETPIPI = 0x40, 2335 | ALLOCNOTE = 0x1000, 2336 | MODEPARADD = 0x0, 2337 | MODEPARSUB = 0x1, 2338 | MODEMULTIPLY = 0xA, 2339 | MODEDECAY = 0x40, 2340 | NUMDRAMITEM = 0x2A, 2341 | }; 2342 | 2343 | /* 110 */ 2344 | struct tagTRACKDATA 2345 | { 2346 | unsigned __int16 frequence; 2347 | unsigned __int8 waveNumber; 2348 | char pipi; 2349 | NOTELIST *note_p; 2350 | NOTELIST *noteList; 2351 | }; 2352 | 2353 | /* 111 */ 2354 | typedef struct tagTRACKDATA TRACKDATA; 2355 | 2356 | /* 104 */ 2357 | struct MUSICINFO 2358 | { 2359 | unsigned __int16 wait; 2360 | unsigned __int8 line; 2361 | unsigned __int8 dot; 2362 | unsigned __int16 alloc_note; 2363 | __int32 repeat_x; 2364 | __int32 end_x; 2365 | TRACKDATA tdata[16]; 2366 | }; 2367 | 2368 | /* 109 */ 2369 | #pragma pack(push, 8) 2370 | struct __declspec(align(4)) NOTELIST 2371 | { 2372 | NOTELIST *from; 2373 | NOTELIST *to; 2374 | __int32 position; 2375 | unsigned __int8 length; 2376 | unsigned __int8 y; 2377 | unsigned __int8 volume; 2378 | unsigned __int8 pan; 2379 | }; 2380 | #pragma pack(pop) 2381 | 2382 | /* 105 */ 2383 | struct tagNOTECOPY 2384 | { 2385 | char track1; 2386 | __int32 x1_1; 2387 | __int32 x1_2; 2388 | char track2; 2389 | __int32 x2; 2390 | __int32 number; 2391 | }; 2392 | 2393 | /* 106 */ 2394 | typedef struct tagNOTECOPY NOTECOPY; 2395 | 2396 | /* 107 */ 2397 | struct tagPARCHANGE 2398 | { 2399 | char track; 2400 | __int32 x1; 2401 | __int32 x2; 2402 | unsigned __int8 a; 2403 | unsigned __int8 mode; 2404 | }; 2405 | 2406 | /* 108 */ 2407 | typedef struct tagPARCHANGE PARCHANGE; 2408 | 2409 | /* 112 */ 2410 | struct OrgData 2411 | { 2412 | MUSICINFO info; 2413 | char track; 2414 | }; 2415 | 2416 | /* 113 */ 2417 | struct IDirectSound 2418 | { 2419 | IDirectSoundVtbl *lpVtbl; 2420 | }; 2421 | 2422 | /* 128 */ 2423 | typedef _DSCAPS *LPDSCAPS; 2424 | 2425 | /* 133 */ 2426 | typedef GUID *LPGUID; 2427 | 2428 | /* 114 */ 2429 | #pragma pack(push, 8) 2430 | struct __declspec(align(4)) IDirectSoundVtbl 2431 | { 2432 | HRESULT (__stdcall *QueryInterface)(IDirectSound *This, const IID *const , LPVOID *); 2433 | ULONG (__stdcall *AddRef)(IDirectSound *This); 2434 | ULONG (__cdecl *Release)(IDirectSound *This); 2435 | int (__cdecl *CreateSoundBuffer)(LPDIRECTSOUND This, DSBUFFERDESC *, LPDIRECTSOUNDBUFFER *, DWORD); 2436 | HRESULT (__stdcall *GetCaps)(IDirectSound *This, LPDSCAPS); 2437 | HRESULT (__stdcall *DuplicateSoundBuffer)(IDirectSound *This, LPDIRECTSOUNDBUFFER, LPDIRECTSOUNDBUFFER *); 2438 | void (__cdecl *SetCooperativeLevel)(LPDIRECTSOUND, HWND, signed int); 2439 | HRESULT (__stdcall *Compact)(IDirectSound *This); 2440 | HRESULT (__stdcall *GetSpeakerConfig)(IDirectSound *This, LPDWORD); 2441 | HRESULT (__stdcall *SetSpeakerConfig)(IDirectSound *This, DWORD); 2442 | HRESULT (__stdcall *Initialize)(IDirectSound *This, LPGUID); 2443 | }; 2444 | #pragma pack(pop) 2445 | 2446 | /* 129 */ 2447 | struct _DSCAPS 2448 | { 2449 | DWORD dwSize; 2450 | DWORD dwFlags; 2451 | DWORD dwMinSecondarySampleRate; 2452 | DWORD dwMaxSecondarySampleRate; 2453 | DWORD dwPrimaryBuffers; 2454 | DWORD dwMaxHwMixingAllBuffers; 2455 | DWORD dwMaxHwMixingStaticBuffers; 2456 | DWORD dwMaxHwMixingStreamingBuffers; 2457 | DWORD dwFreeHwMixingAllBuffers; 2458 | DWORD dwFreeHwMixingStaticBuffers; 2459 | DWORD dwFreeHwMixingStreamingBuffers; 2460 | DWORD dwMaxHw3DAllBuffers; 2461 | DWORD dwMaxHw3DStaticBuffers; 2462 | DWORD dwMaxHw3DStreamingBuffers; 2463 | DWORD dwFreeHw3DAllBuffers; 2464 | DWORD dwFreeHw3DStaticBuffers; 2465 | DWORD dwFreeHw3DStreamingBuffers; 2466 | DWORD dwTotalHwMemBytes; 2467 | DWORD dwFreeHwMemBytes; 2468 | DWORD dwMaxContigFreeHwMemBytes; 2469 | DWORD dwUnlockTransferRateHwBuffers; 2470 | DWORD dwPlayCpuOverheadSwBuffers; 2471 | DWORD dwReserved1; 2472 | DWORD dwReserved2; 2473 | }; 2474 | 2475 | /* 123 */ 2476 | typedef const DSBUFFERDESC *LPCDSBUFFERDESC; 2477 | 2478 | /* 125 */ 2479 | typedef IUnknown *LPUNKNOWN; 2480 | 2481 | /* 134 */ 2482 | struct TRACKDATA_file 2483 | { 2484 | __int16 freq; 2485 | char wave_no; 2486 | char pipi; 2487 | __int16 note_num; 2488 | }; 2489 | 2490 | /* 135 */ 2491 | struct MUSICINFO_file 2492 | { 2493 | __int16 wait; 2494 | char line; 2495 | char dot; 2496 | int repeat_x; 2497 | int end_x; 2498 | TRACKDATA_file tdata[16]; 2499 | }; 2500 | 2501 | /* 136 */ 2502 | enum MACRO_TIMERR 2503 | { 2504 | TIMERR_NOERROR = 0, 2505 | TIMERR_NOCANDO = 97, 2506 | TIMERR_STRUCT = 129, 2507 | }; 2508 | 2509 | /* 137 */ 2510 | enum MACRO_NULL 2511 | { 2512 | NULL = 0, 2513 | }; 2514 | 2515 | /* 138 */ 2516 | enum MACRO_TIME_ONESHOT 2517 | { 2518 | TIME_ONESHOT = 0x0, 2519 | TIME_PERIODIC = 0x1, 2520 | }; 2521 | 2522 | /* 139 */ 2523 | enum bullets 2524 | { 2525 | bulletSnakeLevel1 = 0x1, 2526 | bulletSnakeLevel2 = 0x2, 2527 | bulletSnakeLevel3 = 0x3, 2528 | bulletPolarStarLevel1 = 0x4, 2529 | bulletPolarStarLevel2 = 0x5, 2530 | bulletPolarStarLevel3 = 0x6, 2531 | bulletFireballLevel1 = 0x7, 2532 | bulletFireballLevel2 = 0x8, 2533 | bulletFireballLevel3 = 0x9, 2534 | bulletMachineGunLevel1 = 0xA, 2535 | bulletMachineGunLevel2 = 0xB, 2536 | bulletMachineGunLevel3 = 0xC, 2537 | bulletMissileLauncherLevel1 = 0xD, 2538 | bulletMissileLauncherLevel2 = 0xE, 2539 | bulletMissileLauncherLevel3 = 0xF, 2540 | bulletMissileExplosionLevel1 = 0x10, 2541 | bulletMissileExplosionLevel2 = 0x11, 2542 | bulletMissileExplosionLevel3 = 0x12, 2543 | bulletBubblerLevel1 = 0x13, 2544 | bulletBubblerLevel2 = 0x14, 2545 | bulletBubblerLevel3 = 0x15, 2546 | bulletBubblerSpurs = 0x16, 2547 | bulletBladeLevel1 = 0x19, 2548 | bulletBladeLevel2 = 0x1A, 2549 | bulletBladeLevel3 = 0x1B, 2550 | bulletBladeSlash = 0x17, 2551 | bulletUnused = 0x18, 2552 | bulletSuperMissileLauncherLevel1 = 0x1C, 2553 | bulletSuperMissileLauncherLevel2 = 0x1D, 2554 | bulletSuperMissileLauncherLevel3 = 0x1E, 2555 | bulletNemesisLevel1 = 0x22, 2556 | bulletNemesisLevel2 = 0x23, 2557 | bulletNemesisLevel3 = 0x24, 2558 | bulletNemesisRelated = 0x2B, 2559 | bulletChargelessSpurLevel1 = 0x25, 2560 | bulletChargelessSpurLevel2 = 0x26, 2561 | bulletChargelessSpurLevel3 = 0x27, 2562 | bulletNonMovingSpurLevel1 = 0x28, 2563 | bulletNonMovingSpurLevel2 = 0x29, 2564 | bulletNonMovingSpurLevel3 = 0x2A, 2565 | bulletSpurLevel2 = 0x2C, 2566 | bulletSpurLevel3 = 0x2D, 2567 | }; 2568 | 2569 | /* 140 */ 2570 | enum musics 2571 | { 2572 | musicSilence = 0x0, 2573 | musicMischievousRobot = 0x1, 2574 | musicSafety = 0x2, 2575 | musicGameOver = 0x3, 2576 | musicGravity = 0x4, 2577 | musicOnToGrasstown = 0x5, 2578 | musicMeltdown2 = 0x6, 2579 | musicEyesOfFlame = 0x7, 2580 | musicGestation = 0x8, 2581 | musicMimigaTown = 0x9, 2582 | musicGetItem = 0xA, 2583 | musicBalrogsTheme = 0xB, 2584 | musicCemetary = 0xC, 2585 | musicPlant = 0xD, 2586 | musicPulse = 0xE, 2587 | musicVictory = 0xF, 2588 | musicGetLifeCapsule = 0x10, 2589 | musicTyrant = 0x11, 2590 | musicRun = 0x12, 2591 | musicJenka1 = 0x13, 2592 | musicLabyrinthFight = 0x14, 2593 | musicAccess = 0x15, 2594 | musicOppression = 0x16, 2595 | musicGeothermal = 0x17, 2596 | musicCaveStory = 0x18, 2597 | musicMoonsong = 0x19, 2598 | musicHerosend = 0x1A, 2599 | musicScorchingBack = 0x1B, 2600 | musicQuiet = 0x1C, 2601 | musicFinalCave = 0x1D, 2602 | musicBalcony = 0x1E, 2603 | musicCharge = 0x1F, 2604 | musicLastBattle = 0x20, 2605 | musicTheWayBackHome = 0x21, 2606 | musicZombie = 0x22, 2607 | musicBreakDown = 0x23, 2608 | musicRunningHell = 0x24, 2609 | musicJenka2 = 0x25, 2610 | musicLivingWaterway = 0x26, 2611 | musicSealChamber = 0x27, 2612 | musicTorokosTheme = 0x28, 2613 | musicWhite = 0x29, 2614 | }; 2615 | 2616 | /* 141 */ 2617 | enum soundEffects 2618 | { 2619 | SFXYNChangeChoice = 0x1, 2620 | SFXMessageTyping = 0x2, 2621 | SFXQuoteBumpHead = 0x3, 2622 | SFXSwitchWeapon = 0x4, 2623 | SFXYNPrompt = 0x5, 2624 | SFXHighPitchCritterHop = 0x6, 2625 | SFXDoorOpen = 0xB, 2626 | SFXDestroyBreakableBlock = 0xC, 2627 | SFXGetEXP = 0xE, 2628 | SFXQuoteJump = 0xF, 2629 | SFXQuoteHurt = 0x10, 2630 | SFXQuoteDie = 0x11, 2631 | SFXYNConfirm = 0x12, 2632 | SFXQuoteHeal = 0x14, 2633 | SFXBubble = 0x15, 2634 | SFXChestOpen = 0x16, 2635 | SFXQuoteHitGround = 0x17, 2636 | SFXQuoteWalk = 0x18, 2637 | SFXSillyExplosion = 0x19, 2638 | SFXLargeObjectHitGround = 0x1A, 2639 | SFXLevelUp = 0x1B, 2640 | SFXShotHitWall = 0x1C, 2641 | SFXTeleport = 0x1D, 2642 | SFXCritterHop = 0x1E, 2643 | SFXShotHitInvulnerableEntity = 0x1F, 2644 | SFXPolarStarShootLevel12 = 0x20, 2645 | SFXFireballShoot = 0x21, 2646 | SFXFireballBounce = 0x22, 2647 | SFXlargeExplosion = 0x23, 2648 | SFXNoAmmo = 0x25, 2649 | SFXItemGet = 0x26, 2650 | SFXEnemyShootProjectile = 0x27, 2651 | SFXStreamNoiseSSS2 = 0x28, 2652 | SFXStreamNoiseSSS1 = 0x29, 2653 | SFXQuoteMissileGet = 0x2A, 2654 | SFXComputerScreenOn = 0x2B, 2655 | SFXMissileImpact = 0x2C, 2656 | SFXEXPBounce = 0x2D, 2657 | SFXIronHeadShot = 0x2E, 2658 | SFXStrangeClick = 0x2F, 2659 | SFXBubblerShoot = 0x30, 2660 | SFXPolarStarShootLevel3 = 0x31, 2661 | SFXTorokoEnemySqueal = 0x32, 2662 | SFXCritterSmallHurt = 0x33, 2663 | SFXBehemothLargeHurt = 0x34, 2664 | SFXGaudiDie = 0x35, 2665 | SFXHeavyPressLargeObjectHurt = 0x36, 2666 | SFXHighPitchedGaudiDie = 0x37, 2667 | SFXWaterSplash = 0x38, 2668 | SFXCurlyObjectHurt = 0x39, 2669 | SFXHelicopterBladesSPS = 0x3A, 2670 | SFXSpurChargeLevel1 = 0x3B, 2671 | SFXSpurChargeLevel2 = 0x3C, 2672 | SFXSpurChargeLevel3 = 0x3D, 2673 | SFXSpurShootLevel1 = 0x3E, 2674 | SFXSpurShootLevel2 = 0x3F, 2675 | SFXSpurShootLevel3 = 0x40, 2676 | SFXSpurChargeMAX = 0x41, 2677 | SFXEnemySmokePoof = 0x46, 2678 | SFXQuoteSmashIntoGround = 0x47, 2679 | SFXExplosion = 0x48, 2680 | SFXBubblerShootLevel3 = 0x64, 2681 | SFXLightning = 0x65, 2682 | SFXSandCroc = 0x66, 2683 | SFXBallosBallAndCurlyChargingHerGun = 0x67, 2684 | SFXSecretItemHurt = 0x68, 2685 | SFXPuppyBark = 0x69, 2686 | SFXSpinningProjectile = 0x6A, 2687 | SFXBlockMove = 0x6B, 2688 | SFXPowerCritterLargeEnemyJump = 0x6C, 2689 | SFXCritterFly = 0x6D, 2690 | SFXPowerCritterFlys = 0x6E, 2691 | SFXThud = 0x6F, 2692 | SFXLargeThud = 0x70, 2693 | SFXBooster = 0x71, 2694 | SFXCoreHurt = 0x72, 2695 | SFXCoreThrust = 0x73, 2696 | SFXCoreCharge = 0x74, 2697 | SFXNemesisShot = 0x75, 2698 | SFXBassBass01 = 0x96, 2699 | SFXSnareSnare01 = 0x97, 2700 | SFXHiCloseHiClose = 0x98, 2701 | SFXHiOpenHiOpen = 0x99, 2702 | SFXTomTom01 = 0x9A, 2703 | SFXPerPer01 = 0x9B, 2704 | SFXCrashesTheGame = 0xA0, 2705 | SFXSilence1 = 0x76, 2706 | SFXSilence2 = 0x77, 2707 | SFXSilence3 = 0x78, 2708 | SFXSilence4 = 0x79, 2709 | SFXSilence5 = 0x7A, 2710 | SFXSilence6 = 0x7B, 2711 | SFXSilence7 = 0x7C, 2712 | SFXSilence8 = 0x7D, 2713 | SFXSilence9 = 0x7E, 2714 | SFXSilence10 = 0x7F, 2715 | SFXSilence11 = 0x80, 2716 | SFXSilence12 = 0x81, 2717 | SFXSilence13 = 0x82, 2718 | SFXSilence14 = 0x83, 2719 | SFXSilence15 = 0x84, 2720 | SFXSilence16 = 0x85, 2721 | SFXSilence17 = 0x86, 2722 | SFXSilence18 = 0x87, 2723 | SFXSilence19 = 0x88, 2724 | SFXSilence20 = 0x89, 2725 | SFXSilence21 = 0x8A, 2726 | SFXSilence22 = 0x8B, 2727 | SFXSilence23 = 0x8C, 2728 | SFXSilence24 = 0x8D, 2729 | SFXSilence25 = 0x8E, 2730 | SFXSilence26 = 0x8F, 2731 | SFXSilence27 = 0x90, 2732 | SFXSilence28 = 0x91, 2733 | SFXSilence29 = 0x92, 2734 | SFXSilence30 = 0x93, 2735 | SFXSilence31 = 0x94, 2736 | SFXSilence32 = 0x95, 2737 | SFXSilence33 = 0x9C, 2738 | SFXSilence34 = 0x9D, 2739 | SFXSilence35 = 0x9E, 2740 | SFXSilence36 = 0x9F, 2741 | SFXSilence37 = 0x42, 2742 | SFXSilence38 = 0x43, 2743 | SFXSilence39 = 0x44, 2744 | SFXSilence40 = 0x45, 2745 | SFXSilence41 = 0x49, 2746 | SFXSilence42 = 0x4A, 2747 | SFXSilence43 = 0x4B, 2748 | SFXSilence44 = 0x4C, 2749 | SFXSilence45 = 0x4D, 2750 | SFXSilence46 = 0x4E, 2751 | SFXSilence47 = 0x4F, 2752 | SFXSilence48 = 0x50, 2753 | SFXSilence49 = 0x51, 2754 | SFXSilence50 = 0x52, 2755 | SFXSilence51 = 0x53, 2756 | SFXSilence52 = 0x54, 2757 | SFXSilence53 = 0x55, 2758 | SFXSilence54 = 0x56, 2759 | SFXSilence55 = 0x57, 2760 | SFXSilence56 = 0x58, 2761 | SFXSilence57 = 0x59, 2762 | SFXSilence58 = 0x5A, 2763 | SFXSilence59 = 0x5B, 2764 | SFXSilence60 = 0x5C, 2765 | SFXSilence61 = 0x5D, 2766 | SFXSilence62 = 0x5E, 2767 | SFXSilence63 = 0x5F, 2768 | SFXSilence64 = 0x60, 2769 | SFXSilence65 = 0x61, 2770 | SFXSilence66 = 0x62, 2771 | SFXSilence67 = 0x63, 2772 | SFXSilence68 = 0x0, 2773 | SFXSilence69 = 0xA, 2774 | SFXSilence70 = 0xD, 2775 | SFXSilence71 = 0x13, 2776 | SFXSilence72 = 0x24, 2777 | SFXSilence73 = 0x7, 2778 | SFXSilence74 = 0x8, 2779 | SFXSilence75 = 0x9, 2780 | }; 2781 | 2782 | /* 142 */ 2783 | enum MACRO_IDM_COPY 2784 | { 2785 | IDM_COPY = 15, 2786 | IDM_CUT = 16, 2787 | IDM_PASTE = 26, 2788 | CMD_ZOOM_PAGEWIDTH = -1, 2789 | }; 2790 | 2791 | /* 172 */ 2792 | typedef BOOL *LPBOOL; 2793 | 2794 | /* 175 */ 2795 | enum MenuDialogMembers 2796 | { 2797 | buttonQuit = 0x9C41, 2798 | buttonVolume = 0x9C44, 2799 | buttonVersion = 0x9C42, 2800 | buttonDebugSave = 0x9C45, 2801 | buttonMute = 0x9C47, 2802 | buttonOK = 0x1, 2803 | buttonCancel = 0x2, 2804 | buttonMute0 = 0x3F2, 2805 | buttonMute1 = 0x3FA, 2806 | buttonMute2 = 0x3FB, 2807 | buttonMute3 = 0x3FC, 2808 | buttonMute4 = 0x3FD, 2809 | buttonMute5 = 0x3FE, 2810 | buttonMute6 = 0x3FF, 2811 | buttonMute7 = 0x400, 2812 | buttonYes = 0x1, 2813 | buttonNo = 0x2, 2814 | fieldQuitMessage = 0x3F1, 2815 | fieldAboutMessage = 0x3F3, 2816 | fieldSaveFile = 0x3F0, 2817 | }; 2818 | 2819 | /* 201 */ 2820 | enum MACRO_DDBLT 2821 | { 2822 | DDBLT_ALPHADEST = 0x1, 2823 | DDBLT_ALPHADESTCONSTOVERRIDE = 0x2, 2824 | DDBLT_ALPHADESTNEG = 0x4, 2825 | DDBLT_ALPHADESTSURFACEOVERRIDE = 0x8, 2826 | DDBLT_ALPHAEDGEBLEND = 0x10, 2827 | DDBLT_ALPHASRC = 0x20, 2828 | DDBLT_ALPHASRCCONSTOVERRIDE = 0x40, 2829 | DDBLT_ALPHASRCNEG = 0x80, 2830 | DDBLT_ALPHASRCSURFACEOVERRIDE = 0x100, 2831 | DDBLT_ASYNC = 0x200, 2832 | DDBLT_COLORFILL = 0x400, 2833 | DDBLT_DDFX = 0x800, 2834 | DDBLT_DDROPS = 0x1000, 2835 | DDBLT_KEYDEST = 0x2000, 2836 | DDBLT_KEYDESTOVERRIDE = 0x4000, 2837 | DDBLT_KEYSRC = 0x8000, 2838 | DDBLT_KEYSRCOVERRIDE = 0x10000, 2839 | DDBLT_ROP = 0x20000, 2840 | DDBLT_ROTATIONANGLE = 0x40000, 2841 | DDBLT_ZBUFFER = 0x80000, 2842 | DDBLT_ZBUFFERDESTCONSTOVERRIDE = 0x100000, 2843 | DDBLT_ZBUFFERDESTOVERRIDE = 0x200000, 2844 | DDBLT_ZBUFFERSRCCONSTOVERRIDE = 0x400000, 2845 | DDBLT_ZBUFFERSRCOVERRIDE = 0x800000, 2846 | DDBLT_WAIT = 0x1000000, 2847 | DDBLT_DEPTHFILL = 0x2000000, 2848 | }; 2849 | 2850 | /* 202 */ 2851 | typedef _DDSURFACEDESC DDSURFACEDESC; 2852 | 2853 | /* 203 */ 2854 | enum MACRO_DDERR_OUTOFMEMORY 2855 | { 2856 | DDERR_OUTOFMEMORY = -2147024882, 2857 | DDERR_OUTOFVIDEOMEMORY = -2005532292, 2858 | DDERR_OVERLAYCANTCLIP = -2005532290, 2859 | DDERR_OVERLAYCOLORKEYONLYONEACTIVE = -2005532288, 2860 | DDERR_PALETTEBUSY = -2005532285, 2861 | DDERR_COLORKEYNOTSET = -2005532272, 2862 | DDERR_SURFACEALREADYATTACHED = -2005532262, 2863 | DDERR_SURFACEALREADYDEPENDENT = -2005532252, 2864 | DDERR_SURFACEBUSY = -2005532242, 2865 | DDERR_CANTLOCKSURFACE = -2005532237, 2866 | DDERR_SURFACEISOBSCURED = -2005532232, 2867 | DDERR_SURFACELOST = -2005532222, 2868 | DDERR_SURFACENOTATTACHED = -2005532212, 2869 | DDERR_TOOBIGHEIGHT = -2005532202, 2870 | DDERR_TOOBIGSIZE = -2005532192, 2871 | DDERR_TOOBIGWIDTH = -2005532182, 2872 | }; 2873 | 2874 | /* 204 */ 2875 | #pragma pack(push, 8) 2876 | struct __declspec(align(4)) IDirectInputA 2877 | { 2878 | IDirectInputAVtbl *lpVtbl; 2879 | }; 2880 | #pragma pack(pop) 2881 | 2882 | /* 206 */ 2883 | typedef IDirectInputDeviceA *LPDIRECTINPUTDEVICEA; 2884 | 2885 | /* 209 */ 2886 | typedef const DIDEVICEINSTANCEA *LPCDIDEVICEINSTANCEA; 2887 | 2888 | /* 208 */ 2889 | typedef BOOL (__stdcall *LPDIENUMDEVICESCALLBACKA)(LPCDIDEVICEINSTANCEA, LPVOID); 2890 | 2891 | /* 205 */ 2892 | #pragma pack(push, 8) 2893 | struct __declspec(align(4)) IDirectInputAVtbl 2894 | { 2895 | HRESULT (__stdcall *QueryInterface)(IDirectInputA *This, const IID *const riid, LPVOID *ppvObj); 2896 | ULONG (__cdecl *AddRef)(IDirectInputA *This); 2897 | ULONG (__stdcall *Release)(IDirectInputA *This); 2898 | HRESULT (__stdcall *CreateDevice)(IDirectInputA *This, const GUID *const , LPDIRECTINPUTDEVICEA *, LPUNKNOWN); 2899 | HRESULT (__cdecl *EnumDevices)(IDirectInputA *This, DWORD, LPDIENUMDEVICESCALLBACKA, LPVOID, DWORD); 2900 | HRESULT (__stdcall *GetDeviceStatus)(IDirectInputA *This, const GUID *const ); 2901 | HRESULT (__stdcall *RunControlPanel)(IDirectInputA *This, HWND, DWORD); 2902 | HRESULT (__stdcall *Initialize)(IDirectInputA *This, HINSTANCE, DWORD); 2903 | }; 2904 | #pragma pack(pop) 2905 | 2906 | /* 207 */ 2907 | struct IDirectInputDeviceA 2908 | { 2909 | struct IDirectInputDeviceA::IDirectInputDeviceAVtbl *lpVtbl; 2910 | }; 2911 | 2912 | /* 211 */ 2913 | typedef char CHAR; 2914 | 2915 | /* 210 */ 2916 | struct DIDEVICEINSTANCEA 2917 | { 2918 | DWORD dwSize; 2919 | GUID guidInstance; 2920 | GUID guidProduct; 2921 | DWORD dwDevType; 2922 | CHAR tszInstanceName[260]; 2923 | CHAR tszProductName[260]; 2924 | GUID guidFFDriver; 2925 | WORD wUsagePage; 2926 | WORD wUsage; 2927 | }; 2928 | 2929 | /* 214 */ 2930 | enum MACRO_DDSCL 2931 | { 2932 | DDSCL_FULLSCREEN = 0x1, 2933 | DDSCL_ALLOWREBOOT = 0x2, 2934 | DDSCL_NOWINDOWCHANGES = 0x4, 2935 | DDSCL_NORMAL = 0x8, 2936 | DDSCL_EXCLUSIVE = 0x10, 2937 | DDSCL_ALLOWMODEX = 0x40, 2938 | DDSCL_SETFOCUSWINDOW = 0x80, 2939 | DDSCL_SETDEVICEWINDOW = 0x100, 2940 | DDSCL_CREATEDEVICEWINDOW = 0x200, 2941 | }; 2942 | 2943 | /* 215 */ 2944 | enum InitDirectDraw_Modes 2945 | { 2946 | mode320_40Windowed = 0x0, 2947 | mode640480Windowed = 0x1, 2948 | modeFullscreen = 0x2, 2949 | }; 2950 | 2951 | /* 216 */ 2952 | enum DisplayModes 2953 | { 2954 | displayFullScreen = 0x0, 2955 | display320240Windowed = 0x1, 2956 | display640480Windowed = 0x2, 2957 | displayFull24Bit = 0x3, 2958 | displayFull32Bit = 0x4, 2959 | }; 2960 | 2961 | /* 222 */ 2962 | enum MACRO_DDSD 2963 | { 2964 | DDSD_CAPS = 0x1, 2965 | DDSD_HEIGHT = 0x2, 2966 | DDSD_WIDTH = 0x4, 2967 | DDSD_PITCH = 0x8, 2968 | DDSD_BACKBUFFERCOUNT = 0x20, 2969 | DDSD_ZBUFFERBITDEPTH = 0x40, 2970 | DDSD_ALPHABITDEPTH = 0x80, 2971 | DDSD_LPSURFACE = 0x800, 2972 | DDSD_PIXELFORMAT = 0x1000, 2973 | DDSD_CKDESTOVERLAY = 0x2000, 2974 | DDSD_CKDESTBLT = 0x4000, 2975 | DDSD_CKSRCOVERLAY = 0x8000, 2976 | DDSD_CKSRCBLT = 0x10000, 2977 | DDSD_MIPMAPCOUNT = 0x20000, 2978 | DDSD_REFRESHRATE = 0x40000, 2979 | DDSD_LINEARSIZE = 0x80000, 2980 | DDSD_ALL = 0xFF9EE, 2981 | }; 2982 | 2983 | /* 223 */ 2984 | enum MACRO_WSA_WAIT 2985 | { 2986 | WSA_WAIT_EVENT_0 = 0, 2987 | WSA_WAIT_TIMEOUT = 258, 2988 | WSA_INFINITE = -1, 2989 | }; 2990 | 2991 | /* 224 */ 2992 | enum MACRO_WS 2993 | { 2994 | WS_OVERLAPPED = 0x0, 2995 | WS_POPUP = 0x80000000, 2996 | WS_CHILD = 0x40000000, 2997 | WS_MINIMIZE = 0x20000000, 2998 | WS_VISIBLE = 0x10000000, 2999 | WS_DISABLED = 0x8000000, 3000 | WS_CLIPSIBLINGS = 0x4000000, 3001 | WS_CLIPCHILDREN = 0x2000000, 3002 | WS_MAXIMIZE = 0x1000000, 3003 | WS_CAPTION = 0xC00000, 3004 | WS_BORDER = 0x800000, 3005 | WS_DLGFRAME = 0x400000, 3006 | WS_VSCROLL = 0x200000, 3007 | WS_HSCROLL = 0x100000, 3008 | WS_SYSMENU = 0x80000, 3009 | WS_THICKFRAME = 0x40000, 3010 | WS_GROUP = 0x20000, 3011 | WS_TABSTOP = 0x10000, 3012 | WS_MINIMIZEBOX = 0x20000, 3013 | WS_MAXIMIZEBOX = 0x10000, 3014 | WS_TILED = 0x0, 3015 | WS_ICONIC = 0x20000000, 3016 | WS_SIZEBOX = 0x40000, 3017 | WS_OVERLAPPEDWINDOW = 0xCF0000, 3018 | WS_POPUPWINDOW = 0x80880000, 3019 | WS_CHILDWINDOW = 0x40000000, 3020 | }; 3021 | 3022 | /* 225 */ 3023 | enum MACRO_DDSCAPS 3024 | { 3025 | DDSCAPS_RESERVED1 = 0x1, 3026 | DDSCAPS_ALPHA = 0x2, 3027 | DDSCAPS_BACKBUFFER = 0x4, 3028 | DDSCAPS_COMPLEX = 0x8, 3029 | DDSCAPS_FLIP = 0x10, 3030 | DDSCAPS_FRONTBUFFER = 0x20, 3031 | DDSCAPS_OFFSCREENPLAIN = 0x40, 3032 | DDSCAPS_OVERLAY = 0x80, 3033 | DDSCAPS_PALETTE = 0x100, 3034 | DDSCAPS_PRIMARYSURFACE = 0x200, 3035 | DDSCAPS_PRIMARYSURFACELEFT = 0x400, 3036 | DDSCAPS_SYSTEMMEMORY = 0x800, 3037 | DDSCAPS_TEXTURE = 0x1000, 3038 | DDSCAPS_3DDEVICE = 0x2000, 3039 | DDSCAPS_VIDEOMEMORY = 0x4000, 3040 | DDSCAPS_VISIBLE = 0x8000, 3041 | DDSCAPS_WRITEONLY = 0x10000, 3042 | DDSCAPS_ZBUFFER = 0x20000, 3043 | DDSCAPS_OWNDC = 0x40000, 3044 | DDSCAPS_LIVEVIDEO = 0x80000, 3045 | DDSCAPS_HWCODEC = 0x100000, 3046 | DDSCAPS_MODEX = 0x200000, 3047 | DDSCAPS_MIPMAP = 0x400000, 3048 | DDSCAPS_RESERVED2 = 0x800000, 3049 | DDSCAPS_ALLOCONLOAD = 0x4000000, 3050 | DDSCAPS_VIDEOPORT = 0x8000000, 3051 | DDSCAPS_LOCALVIDMEM = 0x10000000, 3052 | DDSCAPS_NONLOCALVIDMEM = 0x20000000, 3053 | DDSCAPS_STANDARDVGAMODE = 0x40000000, 3054 | DDSCAPS_OPTIMIZED = 0x80000000, 3055 | }; 3056 | 3057 | /* 226 */ 3058 | enum MACRO_R2_LAST 3059 | { 3060 | R2_LAST = 16, 3061 | SRCCOPY = 13369376, 3062 | SRCPAINT = 15597702, 3063 | }; 3064 | 3065 | /* 227 */ 3066 | #pragma pack(push, 8) 3067 | struct WeaponData 3068 | { 3069 | char damage; 3070 | char numberImpacts; 3071 | char filler[2]; 3072 | int maxDistance; 3073 | int flags; 3074 | int sizeWidth; 3075 | int sizeHeight; 3076 | int collisionX; 3077 | int collisionY; 3078 | NPCCollisionFlags collisionFlags; 3079 | }; 3080 | #pragma pack(pop) 3081 | 3082 | /* 228 */ 3083 | typedef void (__cdecl *BulletFunction)(Bullet *); 3084 | 3085 | /* 229 */ 3086 | #pragma pack(push, 8) 3087 | struct effectData 3088 | { 3089 | int viewLeft; 3090 | int viewTop; 3091 | }; 3092 | #pragma pack(pop) 3093 | 3094 | /* 230 */ 3095 | enum MACRO_FILE_SHARE 3096 | { 3097 | FILE_SHARE_READ = 1, 3098 | FILE_SHARE_WRITE = 2, 3099 | FILE_SHARE_DELETE = 4, 3100 | }; 3101 | 3102 | /* 231 */ 3103 | enum MACRO_CREATE 3104 | { 3105 | CREATE_NEW = 1, 3106 | CREATE_ALWAYS = 2, 3107 | OPEN_EXISTING = 3, 3108 | OPEN_ALWAYS = 4, 3109 | TRUNCATE_EXISTING = 5, 3110 | }; 3111 | 3112 | /* 232 */ 3113 | enum MACRO_FILE_ATTRIBUTE 3114 | { 3115 | FILE_ATTRIBUTE_READONLY = 0x1, 3116 | FILE_ATTRIBUTE_HIDDEN = 0x2, 3117 | FILE_ATTRIBUTE_SYSTEM = 0x4, 3118 | FILE_ATTRIBUTE_DIRECTORY = 0x10, 3119 | FILE_ATTRIBUTE_ARCHIVE = 0x20, 3120 | FILE_ATTRIBUTE_ENCRYPTED = 0x40, 3121 | FILE_ATTRIBUTE_NORMAL = 0x80, 3122 | FILE_ATTRIBUTE_TEMPORARY = 0x100, 3123 | FILE_ATTRIBUTE_SPARSE_FILE = 0x200, 3124 | FILE_ATTRIBUTE_REPARSE_POINT = 0x400, 3125 | FILE_ATTRIBUTE_COMPRESSED = 0x800, 3126 | FILE_ATTRIBUTE_OFFLINE = 0x1000, 3127 | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x2000, 3128 | }; 3129 | 3130 | /* 233 */ 3131 | enum MACRO_DIERR_NOAGGREGATION 3132 | { 3133 | DIERR_NOAGGREGATION = -2147221232, 3134 | DIERR_OTHERAPPHASPRIO = -2147024891, 3135 | DIERR_INPUTLOST = -2147024866, 3136 | DIERR_ACQUIRED = -2147024726, 3137 | }; 3138 | 3139 | -------------------------------------------------------------------------------- /IDA output/Doukutsu.idc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GabrielRavier/Cave-Story-Decompilation/48a61ec8fddc77520120877631a4cec4a6966132/IDA output/Doukutsu.idc -------------------------------------------------------------------------------- /IDA output/Doukutsu.inc: -------------------------------------------------------------------------------- 1 | ; --------------------------------------------------------------------------- 2 | 3 | FILETIME struc ; (sizeof=0x8, mappedto_24) ; XREF: FF0057E7/r 4 | ; FF0057E8/r 5 | dwLowDateTime dd ? 6 | dwHighDateTime dd ? 7 | FILETIME ends 8 | 9 | ; --------------------------------------------------------------------------- 10 | 11 | configDataFile struc ; (sizeof=0x94, align=0x4, copyof_29) 12 | ; XREF: _WinMain@16/r 13 | proof db 32 dup(?) 14 | fontName db 64 dup(?) ; XREF: WinMain(x,x,x,x):loc_412B3B/o 15 | moveButtonMode dd ? ; XREF: WinMain(x,x,x,x):loc_4125A7/r 16 | attackButtonMode dd ? ; XREF: WinMain(x,x,x,x):loc_4124E8/r 17 | okButtonMode dd ? ; XREF: WinMain(x,x,x,x):loc_412532/r 18 | displayMode dd ? ; XREF: WinMain(x,x,x,x)+341/r 19 | ; WinMain(x,x,x,x):loc_4127B3/r ... 20 | joystickMode dd ? ; XREF: WinMain(x,x,x,x)+6EF/r 21 | joystickButton dd 8 dup(?) ; XREF: WinMain(x,x,x,x)+218/r 22 | configDataFile ends 23 | 24 | ; --------------------------------------------------------------------------- 25 | 26 | SYSTEMTIME struc ; (sizeof=0x10, mappedto_23) ; XREF: FF0057E6/r 27 | wYear dw ? 28 | wMonth dw ? 29 | wDayOfWeek dw ? 30 | wDay dw ? 31 | wHour dw ? 32 | wMinute dw ? 33 | wSecond dw ? 34 | wMilliseconds dw ? 35 | SYSTEMTIME ends 36 | 37 | ; --------------------------------------------------------------------------- 38 | 39 | _SYSTEMTIME struc ; (sizeof=0x10, mappedto_22) 40 | wYear dw ? 41 | wMonth dw ? 42 | wDayOfWeek dw ? 43 | wDay dw ? 44 | wHour dw ? 45 | wMinute dw ? 46 | wSecond dw ? 47 | wMilliseconds dw ? 48 | _SYSTEMTIME ends 49 | 50 | ; --------------------------------------------------------------------------- 51 | 52 | _SYSTEM_INFO::$41710344DA04EC56A327D4EA11DEF6D2::$AA04DEB0C6383F89F13D312A174572A9 struc ; (sizeof=0x4, mappedto_21) 53 | ; XREF: _SYSTEM_INFO::$41710344DA04EC56A327D4EA11DEF6D2/r 54 | wProcessorArchitecture dw ? 55 | wReserved dw ? 56 | _SYSTEM_INFO::$41710344DA04EC56A327D4EA11DEF6D2::$AA04DEB0C6383F89F13D312A174572A9 ends 57 | 58 | ; --------------------------------------------------------------------------- 59 | 60 | _SYSTEM_INFO::$41710344DA04EC56A327D4EA11DEF6D2 union ; (sizeof=0x4) 61 | ; XREF: _SYSTEM_INFO/r 62 | dwOemId dd ? 63 | anonymous_0 _SYSTEM_INFO::$41710344DA04EC56A327D4EA11DEF6D2::$AA04DEB0C6383F89F13D312A174572A9 ? 64 | _SYSTEM_INFO::$41710344DA04EC56A327D4EA11DEF6D2 ends 65 | 66 | ; --------------------------------------------------------------------------- 67 | 68 | _SYSTEM_INFO struc ; (sizeof=0x24) ; XREF: FF004224/r 69 | anonymous_0 _SYSTEM_INFO::$41710344DA04EC56A327D4EA11DEF6D2 ? 70 | dwPageSize dd ? ; XREF: __resetstkoflw+31/r 71 | lpMinimumApplicationAddress dd ? ; offset 72 | lpMaximumApplicationAddress dd ? ; offset 73 | dwActiveProcessorMask dd ? 74 | dwNumberOfProcessors dd ? 75 | dwProcessorType dd ? 76 | dwAllocationGranularity dd ? 77 | wProcessorLevel dw ? 78 | wProcessorRevision dw ? 79 | _SYSTEM_INFO ends 80 | 81 | ; --------------------------------------------------------------------------- 82 | 83 | FILE struc ; (sizeof=0x20, mappedto_20) 84 | ; XREF: .rdata:_stream/r 85 | ; FF003DA7/r ... 86 | _ptr dd ? ; XREF: _sprintf+27/w 87 | ; _sprintf+3D/r ... ; offset 88 | _cnt dd ? ; XREF: _sprintf+16/w 89 | ; _sprintf+38/w ... 90 | _base dd ? ; XREF: _sprintf+24/w 91 | ; _sscanf+11/w ; offset 92 | _flag dd ? ; XREF: _sprintf+1D/w 93 | ; _sscanf+A/w 94 | _file dd ? 95 | _charbuf dd ? ; XREF: saveWindowRectFile+6A/o 96 | _bufsiz dd ? 97 | _tmpfname dd ? ; XREF: saveWindowRectFile+7E/o ; offset 98 | FILE ends 99 | 100 | ; --------------------------------------------------------------------------- 101 | 102 | _LARGE_INTEGER::$837407842DC9087486FDFA5FEB63B74E struc ; (sizeof=0x8, mappedto_19) 103 | ; XREF: LARGE_INTEGER/r 104 | ; LARGE_INTEGER/r 105 | LowPart dd ? 106 | HighPart dd ? 107 | _LARGE_INTEGER::$837407842DC9087486FDFA5FEB63B74E ends 108 | 109 | ; --------------------------------------------------------------------------- 110 | 111 | LARGE_INTEGER union ; (sizeof=0x8, mappedto_18) 112 | ; XREF: ___security_init_cookie+49/r 113 | ; ___security_init_cookie+4C/r ... 114 | anonymous_0 _LARGE_INTEGER::$837407842DC9087486FDFA5FEB63B74E ? 115 | u _LARGE_INTEGER::$837407842DC9087486FDFA5FEB63B74E ? 116 | QuadPart dq ? 117 | LARGE_INTEGER ends 118 | 119 | ; --------------------------------------------------------------------------- 120 | 121 | _FILETIME struc ; (sizeof=0x8, mappedto_17) ; XREF: FF004091/r 122 | dwLowDateTime dd ? ; XREF: ___security_init_cookie+24/r 123 | dwHighDateTime dd ? ; XREF: ___security_init_cookie+21/r 124 | _FILETIME ends 125 | 126 | ; --------------------------------------------------------------------------- 127 | 128 | _cpinfo struc ; (sizeof=0x14, mappedto_16) ; XREF: FF003F18/r 129 | ; FF003F21/r ... 130 | MaxCharSize dd ? ; XREF: __setmbcp_lk+4D/r 131 | DefaultChar db 2 dup(?) 132 | LeadByte db 12 dup(?) ; XREF: _setSBUpLow+3E/r 133 | ; _setSBUpLow+4D/o ... 134 | _padding db 2 dup(?) 135 | _cpinfo ends 136 | 137 | ; --------------------------------------------------------------------------- 138 | 139 | _SECURITY_ATTRIBUTES struc ; (sizeof=0xC, mappedto_15) 140 | ; XREF: FF003EFB/r 141 | nLength dd ? ; XREF: __tsopen_lk+F/w 142 | lpSecurityDescriptor dd ? ; XREF: __tsopen_lk+16/w ; offset 143 | bInheritHandle dd ? ; XREF: __tsopen_lk+1B/w 144 | ; __tsopen_lk:loc_4878BF/w 145 | _SECURITY_ATTRIBUTES ends 146 | 147 | ; --------------------------------------------------------------------------- 148 | 149 | _MEMORY_BASIC_INFORMATION struc ; (sizeof=0x1C, mappedto_14) 150 | ; XREF: FF003EE6/r FF004222/r 151 | BaseAddress dd ? ; XREF: __resetstkoflw+8A/r ; offset 152 | AllocationBase dd ? ; XREF: __ValidateEH3RN+D4/r 153 | ; __resetstkoflw+24/r ; offset 154 | AllocationProtect dd ? 155 | RegionSize dd ? ; XREF: __resetstkoflw+7B/r 156 | State dd ? ; XREF: __resetstkoflw+81/r 157 | Protect dd ? ; XREF: __ValidateEH3RN+CE/r 158 | ; __resetstkoflw+86/r 159 | Type dd ? ; XREF: __ValidateEH3RN+C1/r 160 | _MEMORY_BASIC_INFORMATION ends 161 | 162 | ; --------------------------------------------------------------------------- 163 | 164 | _STARTUPINFOA struc ; (sizeof=0x44, mappedto_13) ; XREF: FF003EC8/r 165 | ; WinMainCRTStartup/r 166 | cb dd ? 167 | lpReserved dd ? ; offset 168 | lpDesktop dd ? ; offset 169 | lpTitle dd ? ; offset 170 | dwX dd ? 171 | dwY dd ? 172 | dwXSize dd ? 173 | dwYSize dd ? 174 | dwXCountChars dd ? 175 | dwYCountChars dd ? 176 | dwFillAttribute dd ? 177 | dwFlags dd ? ; XREF: WinMainCRTStartup:loc_481E79/w 178 | ; WinMainCRTStartup+167/r 179 | wShowWindow dw ? ; XREF: WinMainCRTStartup+16D/r 180 | cbReserved2 dw ? ; XREF: __ioinit+63/r 181 | lpReserved2 dd ? ; XREF: __ioinit+6F/r ; offset 182 | hStdInput dd ? ; offset 183 | hStdOutput dd ? ; offset 184 | hStdError dd ? ; offset 185 | _STARTUPINFOA ends 186 | 187 | ; --------------------------------------------------------------------------- 188 | 189 | timecaps_tag struc ; (sizeof=0x8, mappedto_12) ; XREF: FF001510/r 190 | wPeriodMin dd ? ; XREF: initMMTimer+25/r 191 | ; initMMTimer+2A/r 192 | wPeriodMax dd ? 193 | timecaps_tag ends 194 | 195 | ; --------------------------------------------------------------------------- 196 | 197 | MSG struc ; (sizeof=0x1C, mappedto_11) ; XREF: FF0012D8/r 198 | hwnd dd ? ; offset 199 | message dd ? 200 | wParam dd ? 201 | lParam dd ? 202 | time dd ? 203 | pt POINT ? 204 | MSG ends 205 | 206 | ; --------------------------------------------------------------------------- 207 | 208 | tagMSG struc ; (sizeof=0x1C, mappedto_10) 209 | hwnd dd ? ; offset 210 | message dd ? 211 | wParam dd ? 212 | lParam dd ? 213 | time dd ? 214 | pt POINT ? 215 | tagMSG ends 216 | 217 | ; --------------------------------------------------------------------------- 218 | 219 | WNDCLASSEXA struc ; (sizeof=0x30, mappedto_9) ; XREF: _WinMain@16/r 220 | cbSize dd ? ; XREF: WinMain(x,x,x,x)+2E3/w 221 | style dd ? 222 | lpfnWndProc dd ? ; XREF: WinMain(x,x,x,x)+2EA/w ; offset 223 | cbClsExtra dd ? 224 | cbWndExtra dd ? 225 | hInstance dd ? ; XREF: WinMain(x,x,x,x)+2F4/w ; offset 226 | hIcon dd ? ; XREF: WinMain(x,x,x,x)+32C/w ; offset 227 | hCursor dd ? ; XREF: WinMain(x,x,x,x)+31A/w ; offset 228 | hbrBackground dd ? ; XREF: WinMain(x,x,x,x)+2FF/w ; offset 229 | lpszMenuName dd ? ; XREF: WinMain(x,x,x,x):Switch_412780_case_1_2/w ; offset 230 | lpszClassName dd ? ; XREF: WinMain(x,x,x,x)+308/w ; offset 231 | hIconSm dd ? ; XREF: WinMain(x,x,x,x)+33E/w ; offset 232 | WNDCLASSEXA ends 233 | 234 | ; --------------------------------------------------------------------------- 235 | 236 | RECT struc ; (sizeof=0x10, align=0x4, copyof_8) 237 | ; XREF: drawInventoryWindow+B9/w 238 | ; drawInventoryWindow+FD/w ... 239 | left dd ? ; XREF: drawInventoryWindow+9/w 240 | ; drawInventoryWindow+31/w ... 241 | top dd ? ; XREF: drawInventoryWindow+13/w 242 | ; drawInventoryWindow+3B/w ... 243 | right dd ? ; XREF: drawInventoryWindow+1D/w 244 | ; drawInventoryWindow+45/w ... 245 | bottom dd ? ; XREF: drawInventoryWindow+27/w 246 | ; drawInventoryWindow+4F/w ... 247 | RECT ends 248 | 249 | ; --------------------------------------------------------------------------- 250 | 251 | POINT struc ; (sizeof=0x8, mappedto_7) 252 | ; XREF: WINDOWPLACEMENT/r 253 | ; WINDOWPLACEMENT/r ... 254 | x dd ? 255 | y dd ? 256 | POINT ends 257 | 258 | ; --------------------------------------------------------------------------- 259 | 260 | WINDOWPLACEMENT struc ; (sizeof=0x2C, mappedto_6) ; XREF: FF001267/r 261 | length dd ? 262 | flags dd ? 263 | showCmd dd ? ; XREF: saveWindowRectFile:loc_41121A/r 264 | ; saveWindowRectFile+BB/o 265 | ptMinPosition POINT ? 266 | ptMaxPosition POINT ? 267 | rcNormalPosition RECT ? ; XREF: saveWindowRectFile+4C/w 268 | ; saveWindowRectFile+52/w ... 269 | WINDOWPLACEMENT ends 270 | 271 | ; --------------------------------------------------------------------------- 272 | 273 | tagRECT struc ; (sizeof=0x10, mappedto_5) 274 | left dd ? ; XREF: drawWindow+7F/r 275 | ; drawWindow+8A/w ... 276 | top dd ? ; XREF: drawWindow+8F/r 277 | ; drawWindow+9B/w ... 278 | right dd ? ; XREF: drawWindow+AD/w 279 | ; drawSpriteNoTransparency+1A/w ... 280 | bottom dd ? ; XREF: drawWindow+BE/w 281 | ; drawSpriteNoTransparency+23/w ... 282 | tagRECT ends 283 | 284 | ; --------------------------------------------------------------------------- 285 | 286 | CPPEH_RECORD struc ; (sizeof=0x18, align=0x4, copyof_4) 287 | ; XREF: fread/r fwrite/r ... 288 | old_esp dd ? ; XREF: WinMainCRTStartup+18/w 289 | ; WinMainCRTStartup:loc_481ED6/r ... 290 | exc_ptr dd ? ; XREF: WinMainCRTStartup:loc_481EC2/r 291 | ; ___crtInitCritSecAndSpinCount:loc_487C44/r ; offset 292 | registration _EH3_EXCEPTION_REGISTRATION ? ; XREF: _fclose+2D/w 293 | ; _fclose+3B/w ... 294 | CPPEH_RECORD ends 295 | 296 | ; --------------------------------------------------------------------------- 297 | 298 | _msEH struc ; (sizeof=0xC, mappedto_3) 299 | ; XREF: .rdata:stru_48CA58/r 300 | ; .rdata:stru_48CA88/r ... 301 | _unk dd ? ; XREF: _output_l+5E/r ; base 16 signed 302 | FilterProc dd ? ; offset 303 | ExitProc dd ? ; offset 304 | _msEH ends 305 | 306 | ; --------------------------------------------------------------------------- 307 | 308 | struct_0 struc ; (sizeof=0x478, mappedto_2) 309 | anonymous_0 db 1144 dup(?) ; string(C) 310 | struct_0 ends 311 | 312 | ; --------------------------------------------------------------------------- 313 | 314 | _EH3_EXCEPTION_REGISTRATION struc ; (sizeof=0x10, align=0x4, copyof_1) 315 | ; XREF: CPPEH_RECORD/r 316 | Next dd ? ; offset 317 | ExceptionHandler dd ? ; offset 318 | ScopeTable dd ? ; offset 319 | TryLevel dd ? ; XREF: _fclose+2D/w 320 | ; _fclose+3B/w ... 321 | _EH3_EXCEPTION_REGISTRATION ends 322 | 323 | ; --------------------------------------------------------------------------- 324 | 325 | _SCOPETABLE_ENTRY struc ; (sizeof=0xC, align=0x4, copyof_28) 326 | ; XREF: .rdata:stru_48CA68/r 327 | ; .rdata:stru_48CA78/r ... 328 | EnclosingLevel dd ? 329 | FilterFunc dd ? ; offset 330 | HandlerFunc dd ? ; offset 331 | _SCOPETABLE_ENTRY ends 332 | 333 | ; --------------------------------------------------------------------------- 334 | 335 | IDirectDraw struc ; (sizeof=0x4, align=0x4, mappedto_34) 336 | lpVtbl dd ? ; offset 337 | IDirectDraw ends 338 | 339 | ; --------------------------------------------------------------------------- 340 | 341 | NPCInfo struc ; (sizeof=0x18, align=0x4, copyof_36) 342 | bits dw ? 343 | life dw ? 344 | surf db ? 345 | soundOnHit db ? 346 | soundOnDeath db ? 347 | size db ? 348 | exp dd ? 349 | damage dd ? 350 | hit someRectThing ? 351 | view someRectThing ? 352 | NPCInfo ends 353 | 354 | ; --------------------------------------------------------------------------- 355 | 356 | someRectThing struc ; (sizeof=0x4, copyof_35) ; XREF: NPCInfo/r 357 | ; NPCInfo/r 358 | front db ? 359 | top db ? 360 | back db ? 361 | bottom db ? 362 | someRectThing ends 363 | 364 | ; --------------------------------------------------------------------------- 365 | 366 | MapData struc ; (sizeof=0x10C, align=0x4, copyof_37) 367 | data dd ? ; offset 368 | mapLayoutBuffer db 257 dup(?) 369 | db ? ; undefined 370 | width dw ? 371 | length dw ? 372 | db ? ; undefined 373 | db ? ; undefined 374 | MapData ends 375 | 376 | ; --------------------------------------------------------------------------- 377 | 378 | NPC struc ; (sizeof=0xAC, align=0x4, copyof_39) 379 | ; XREF: boss3_MonsterX+1B4/w 380 | ; boss3_MonsterX+205/o ... 381 | isAlive db ? ; XREF: boss3_MonsterX+20A/o 382 | ; boss3_MonsterX+21B/w ... 383 | db ? ; undefined 384 | db ? ; undefined 385 | db ? ; undefined 386 | collisionFlags dd ? 387 | XPos dd ? ; XREF: boss3_MonsterX+323/w 388 | ; boss3_MonsterX+3C9/w ... 389 | YPos dd ? ; XREF: boss3_MonsterX+32D/w 390 | ; boss3_MonsterX+3D3/w ... 391 | XVel dd ? 392 | YVel dd ? 393 | XVel2 dd ? 394 | YVel2 dd ? 395 | curlyTargetX dd ? ; XREF: boss3_MonsterX+2AD/w 396 | ; boss3_MonsterX+2C8/w ... 397 | curlyTargetY dd ? 398 | entityType dd ? 399 | code_flag dd ? 400 | entityEventNum dd ? 401 | entitySpritesheet dd ? 402 | hitSound dd ? ; XREF: boss3_MonsterX+236/w 403 | ; boss3_MonsterX+35F/w ... 404 | deathSound dd ? ; XREF: boss3_MonsterX+240/w 405 | life dd ? ; XREF: boss3_MonsterX+222/w 406 | ; boss3_MonsterX+2ED/w ... 407 | EXPAmount dd ? 408 | explosionSize dd ? ; XREF: boss3_MonsterX+1BB/w 409 | ; boss3_MonsterX+22C/w ... 410 | direction dd ? ; XREF: boss3_MonsterX+1C5/w 411 | ; boss3_MonsterX+211/w ... 412 | entityFlags dw ? ; XREF: boss3_MonsterX+1F7/w 413 | ; boss3_MonsterX+2A4/w ... 414 | db ? ; undefined 415 | db ? ; undefined 416 | rect RECT ? 417 | animationTimer dd ? 418 | animationNumber dd ? ; XREF: boss3_MonsterX+3A4/w 419 | ; boss3_MonsterX+521/w ... 420 | count1 dd ? ; XREF: boss3_MonsterX+517/w 421 | ; boss3_MonsterX+559/w ... 422 | count2 dd ? 423 | currentState dd ? ; XREF: boss3_MonsterX+3B5/w 424 | ; boss3_MonsterX+6AD/w ... 425 | waitTimer dd ? 426 | hitbox NPCCollisionFlags ? ; XREF: boss3_MonsterX+27C/w 427 | ; boss3_MonsterX+286/w ... 428 | view NPCCollisionFlags ? ; XREF: boss3_MonsterX+1CF/w 429 | ; boss3_MonsterX+1D9/w ... 430 | isBeingHit db ? 431 | db ? ; undefined 432 | db ? ; undefined 433 | db ? ; undefined 434 | damage_view dd ? 435 | damage dd ? 436 | parentNPC dd ? ; offset 437 | NPC ends 438 | 439 | ; --------------------------------------------------------------------------- 440 | 441 | NPCCollisionFlags struc ; (sizeof=0x10, align=0x4, copyof_38) 442 | ; XREF: NPC/r NPC/r ... 443 | front dd ? ; XREF: boss3_MonsterX+1D9/w 444 | ; boss3_MonsterX+272/w ... 445 | top dd ? ; XREF: Quote_Movement+248/r 446 | ; Entity_Collision_Solid+10/r ... 447 | back dd ? ; XREF: Entity_Collision_Solid+5A/r 448 | ; Entity_Collision_Solid+79/r ... 449 | bottom dd ? ; XREF: Quote_Movement+27E/r 450 | ; Entity_Collision_Solid+35/r ... 451 | NPCCollisionFlags ends 452 | 453 | ; --------------------------------------------------------------------------- 454 | 455 | Effect struc ; (sizeof=0x44, align=0x4, mappedto_40) 456 | isUsed dd ? 457 | effectNum dd ? 458 | direction dd ? ; enum Directions 459 | XPos dd ? 460 | YPos dd ? 461 | XVel dd ? 462 | YVel dd ? 463 | actionNumber dd ? 464 | actionTimer dd ? 465 | animationNumber dd ? 466 | animationTimer dd ? 467 | viewLeft dd ? 468 | viewTop dd ? 469 | rect RECT ? 470 | Effect ends 471 | 472 | ; --------------------------------------------------------------------------- 473 | 474 | FadeVars struc ; (sizeof=0x268, align=0x4, mappedto_41) 475 | mode dd ? 476 | byteMask dd ? 477 | count dd ? 478 | animationNumber db 300 dup(?) 479 | flag db 300 dup(?) 480 | direction db ? 481 | db ? ; undefined 482 | db ? ; undefined 483 | db ? ; undefined 484 | FadeVars ends 485 | 486 | ; --------------------------------------------------------------------------- 487 | 488 | _tiddata struc ; (sizeof=0x18, align=0x4, copyof_46) 489 | gap0 db 20 dup(?) 490 | _holdrand dd ? 491 | _tiddata ends 492 | 493 | 494 | ; --------------------------------------------------------------------------- 495 | 496 | ; enum _MEDIA_TYPE, mappedto_1 497 | F5_1Pt2_512 = 1 498 | F3_1Pt44_512 = 2 499 | F3_2Pt88_512 = 3 500 | F3_20Pt8_512 = 4 501 | F3_720_512 = 5 502 | F5_360_512 = 6 503 | F5_320_512 = 7 504 | F5_320_1024 = 8 505 | F5_180_512 = 9 506 | F5_160_512 = 0Ah 507 | RemovableMedia = 0Bh 508 | FixedMedia = 0Ch 509 | F3_120M_512 = 0Dh 510 | F3_640_512 = 0Eh 511 | F5_640_512 = 0Fh 512 | F5_720_512 = 10h 513 | F3_1Pt2_512 = 11h 514 | F3_1Pt23_1024 = 12h 515 | F5_1Pt23_1024 = 13h 516 | F3_128Mb_512 = 14h 517 | F3_230Mb_512 = 15h 518 | F8_256_128 = 16h 519 | 520 | ; --------------------------------------------------------------------------- 521 | 522 | ; enum NPCEnums, copyof_64, bitfield 523 | inUse = 80h 524 | 525 | ; --------------------------------------------------------------------------- 526 | 527 | ; enum EffectNames, copyof_88 528 | effectfountainDisk = 1 529 | effectRisingDisc = 2 530 | effectStar = 3 531 | effectFireballImpact = 4 532 | effectZzZ = 5 533 | effectBoosterSmoke = 6 534 | effectDrownedQuote = 7 535 | effectExclamationMark = 8 536 | effectLevelUpOrDown = 9 537 | effectRedDamageRings = 10 538 | effectBigExplosion = 11 539 | effectHeadbumpSparks = 12 540 | effectUnknownUnused = 13 541 | effectSmallExplosionDisc = 14 542 | effectNothing = 15 543 | effectPushJumpKey = 16 544 | 545 | ; --------------------------------------------------------------------------- 546 | 547 | ; enum NPCNames, copyof_65 548 | NPCnothing = 0 549 | NPCWeaponEnergy = 1 550 | NPCEnemyBehemoth = 2 551 | NPCDeletesItself = 3 552 | NPCSmoke = 4 553 | NPCEnemyCritterHoppingGreen = 5 554 | NPCEnemyBeetleHorizontalGreen = 6 555 | NPCEnemyBasil = 7 556 | NPCEnemyBeetleFollow1 = 8 557 | NPCBalrogDropIn = 9 558 | NPCBossBalrogShooting = 10 559 | NPCProjectileBalrogEnemyBounce = 11 560 | NPCBalrogCutscene = 12 561 | NPCForcefield = 13 562 | NPCSantasKey = 14 563 | NPCTreasureChestClosed = 15 564 | 565 | ; --------------------------------------------------------------------------- 566 | 567 | ; enum MACRO_TVGN, mappedto_2 568 | TVGN_ROOT = 0 569 | TVGN_NEXT = 1 570 | TVGN_PREVIOUS = 2 571 | TVGN_PARENT = 3 572 | TVGN_CHILD = 4 573 | TVGN_FIRSTVISIBLE = 5 574 | TVGN_NEXTVISIBLE = 6 575 | TVGN_PREVIOUSVISIBLE = 7 576 | TVGN_DROPHILITE = 8 577 | TVGN_CARET = 9 578 | TVGN_LASTVISIBLE = 0Ah 579 | 580 | ; --------------------------------------------------------------------------- 581 | 582 | ; enum Lib_Enums, mappedto_3 583 | FLUSHALL = 1 584 | __V6_HEAP = 3 585 | inuse = 83h 586 | 587 | ; --------------------------------------------------------------------------- 588 | 589 | ; enum Directions, copyof_44 590 | left = 0 591 | up = 1 592 | right = 2 593 | down = 3 594 | 595 | ; --------------------------------------------------------------------------- 596 | 597 | ; enum MACRO_EPERM, copyof_50 598 | EPERM = 1 599 | ENOENT = 2 600 | ESRCH = 3 601 | EINTR = 4 602 | EIO = 5 603 | ENXIO = 6 604 | E2BIG = 7 605 | ENOEXEC = 8 606 | EBADF = 9 607 | ECHILD = 10 608 | EAGAIN = 11 609 | ENOMEM = 12 610 | EACCES = 13 611 | EFAULT = 14 612 | EBUSY = 16 613 | EEXIST = 17 614 | EXDEV = 18 615 | ENODEV = 19 616 | ENOTDIR = 20 617 | EISDIR = 21 618 | EINVAL = 22 619 | ENFILE = 23 620 | EMFILE = 24 621 | ENOTTY = 25 622 | EFBIG = 27 623 | ENOSPC = 28 624 | ESPIPE = 29 625 | EROFS = 30 626 | EMLINK = 31 627 | EPIPE = 32 628 | EDOM = 33 629 | ERANGE = 34 630 | EDEADLK = 36 631 | ENAMETOOLONG = 38 632 | ENOLCK = 39 633 | ENOSYS = 40 634 | ENOTEMPTY = 41 635 | EILSEQ = 42 636 | 637 | ; --------------------------------------------------------------------------- 638 | 639 | ; enum MACRO__IOB, copyof_48 640 | _IOB_ENTRIES = 20 641 | EOF = 4294967295 642 | 643 | ; --------------------------------------------------------------------------- 644 | 645 | ; enum MACRO__IONBF, copyof_55, bitfield 646 | _IONBF = 4 647 | _IOMYBUF = 8 648 | _IOEOF = 10h 649 | _IOERR = 20h 650 | _IOSTRG = 40h 651 | _IORW = 80h 652 | 653 | ; --------------------------------------------------------------------------- 654 | 655 | ; enum MACRO__SH, standard type 656 | _SH_DENYRW = 10h 657 | _SH_DENYWR = 20h 658 | _SH_DENYRD = 30h 659 | 660 | ; --------------------------------------------------------------------------- 661 | 662 | ; enum MACRO_INT, copyof_52 663 | INT_MAX = 2147483647 664 | UINT_MAX = 4294967295 665 | 666 | ; --------------------------------------------------------------------------- 667 | 668 | ; enum MACRO__HEAP, copyof_53 669 | _HEAP_MAXREQ = 0FFFFFFE0h 670 | _HEAPEMPTY = 0FFFFFFFFh 671 | 672 | ; --------------------------------------------------------------------------- 673 | 674 | ; enum MACRO_SEEK, copyof_56 675 | SEEK_SET = 0 676 | SEEK_CUR = 1 677 | SEEK_END = 2 678 | MMIO_DEFAULTBUFFER = 8192 679 | 680 | ; --------------------------------------------------------------------------- 681 | 682 | ; enum MACRO__OUT, copyof_57 683 | _OUT_TO_DEFAULT = 0 684 | _OUT_TO_STDERR = 1 685 | _OUT_TO_MSGBOX = 2 686 | _REPORT_ERRMODE = 3 687 | 688 | ; --------------------------------------------------------------------------- 689 | 690 | ; enum MACRO_FALSE, copyof_58 691 | FALSE = 0 692 | TRUE = 1 693 | 694 | ; --------------------------------------------------------------------------- 695 | 696 | ; enum MACRO_INVALID, copyof_60, bitfield 697 | INVALID_HANDLE_VALUE = 4294967295 698 | 699 | ; --------------------------------------------------------------------------- 700 | 701 | ; enum MACRO__IOREAD, copyof_61, bitfield 702 | _IOREAD = 1 703 | _IOWRT = 2 704 | 705 | ; --------------------------------------------------------------------------- 706 | 707 | ; enum MACRO_CP_HWND, copyof_62 708 | CP_HWND = 0 709 | CP_OPEN = 1 710 | CP_DIRECT = 2 711 | CP_LEVEL = 3 712 | VK_DBE_ALPHANUMERIC = 240 713 | VK_DBE_KATAKANA = 241 714 | VK_DBE_HIRAGANA = 242 715 | VK_DBE_SBCSCHAR = 243 716 | VK_DBE_DBCSCHAR = 244 717 | VK_DBE_ROMAN = 245 718 | VK_DBE_NOROMAN = 246 719 | VK_DBE_ENTERWORDREGISTERMODE = 247 720 | VK_DBE_ENTERIMECONFIGMODE = 248 721 | VK_DBE_FLUSHSTRING = 249 722 | VK_DBE_CODEINPUT = 250 723 | VK_DBE_NOCODEINPUT = 251 724 | VK_DBE_DETERMINESTRING = 252 725 | VK_DBE_ENTERDLGCONVERSIONMODE = 253 726 | 727 | ; --------------------------------------------------------------------------- 728 | 729 | ; enum MACRO__O_SHORT, copyof_63, bitfield 730 | _O_RANDOM = 10h 731 | _O_SEQUENTIAL = 20h 732 | _O_SHORT_LIVED = 1000h 733 | 734 | ; --------------------------------------------------------------------------- 735 | 736 | ; enum MACRO_WM, copyof_89 737 | WM_NULL = 0 738 | WM_CREATE = 1 739 | WM_DESTROY = 2 740 | WM_MOVE = 3 741 | WM_SIZEWAIT = 4 742 | WM_SIZE = 5 743 | WM_ACTIVATE = 6 744 | WM_SETFOCUS = 7 745 | WM_KILLFOCUS = 8 746 | WM_SETVISIBLE = 9 747 | WM_ENABLE = 0Ah 748 | WM_SETREDRAW = 0Bh 749 | WM_SETTEXT = 0Ch 750 | WM_GETTEXT = 0Dh 751 | WM_GETTEXTLENGTH = 0Eh 752 | WM_PAINT = 0Fh 753 | WM_CLOSE = 10h 754 | WM_QUERYENDSESSION = 11h 755 | WM_QUIT = 12h 756 | WM_QUERYOPEN = 13h 757 | WM_ERASEBKGND = 14h 758 | WM_SYSCOLORCHANGE = 15h 759 | WM_ENDSESSION = 16h 760 | WM_SYSTEMERROR = 17h 761 | WM_SHOWWINDOW = 18h 762 | WM_CTLCOLOR = 19h 763 | WM_WININICHANGE = 1Ah 764 | WM_SETTINGCHANGE = 1Ah 765 | WM_DEVMODECHANGE = 1Bh 766 | WM_ACTIVATEAPP = 1Ch 767 | WM_FONTCHANGE = 1Dh 768 | WM_TIMECHANGE = 1Eh 769 | WM_CANCELMODE = 1Fh 770 | WM_SETCURSOR = 20h 771 | WM_MOUSEACTIVATE = 21h 772 | WM_CHILDACTIVATE = 22h 773 | WM_QUEUESYNC = 23h 774 | WM_GETMINMAXINFO = 24h 775 | WM_LOGOFF = 25h 776 | WM_PAINTICON = 26h 777 | WM_ICONERASEBKGND = 27h 778 | WM_NEXTDLGCTL = 28h 779 | WM_ALTTABACTIVE = 29h 780 | WM_SPOOLERSTATUS = 2Ah 781 | WM_DRAWITEM = 2Bh 782 | WM_MEASUREITEM = 2Ch 783 | WM_DELETEITEM = 2Dh 784 | WM_VKEYTOITEM = 2Eh 785 | WM_CHARTOITEM = 2Fh 786 | WM_SETFONT = 30h 787 | WM_GETFONT = 31h 788 | WM_SETHOTKEY = 32h 789 | WM_GETHOTKEY = 33h 790 | WM_FILESYSCHANGE = 34h 791 | WM_ISACTIVEICON = 35h 792 | WM_QUERYPARKICON = 36h 793 | WM_QUERYDRAGICON = 37h 794 | WM_WINHELP = 38h 795 | WM_COMPAREITEM = 39h 796 | WM_FULLSCREEN = 3Ah 797 | WM_CLIENTSHUTDOWN = 3Bh 798 | WM_DDEMLEVENT = 3Ch 799 | WM_GETOBJECT = 3Dh 800 | MM_CALCSCROLL = 3Fh 801 | WM_TESTING = 40h 802 | WM_COMPACTING = 41h 803 | WM_OTHERWINDOWCREATED = 42h 804 | WM_OTHERWINDOWDESTROYED = 43h 805 | WM_COMMNOTIFY = 44h 806 | WM_MEDIASTATUSCHANGE = 45h 807 | WM_WINDOWPOSCHANGING = 46h 808 | WM_WINDOWPOSCHANGED = 47h 809 | WM_POWER = 48h 810 | WM_COPYGLOBALDATA = 49h 811 | WM_COPYDATA = 4Ah 812 | WM_CANCELJOURNAL = 4Bh 813 | WM_LOGONNOTIFY = 4Ch 814 | WM_KEYF1 = 4Dh 815 | WM_NOTIFY = 4Eh 816 | WM_ACCESS_WINDOW = 4Fh 817 | WM_INPUTLANGCHANGEREQUEST = 50h 818 | WM_INPUTLANGCHANGE = 51h 819 | WM_TCARD = 52h 820 | WM_HELP = 53h 821 | WM_USERCHANGED = 54h 822 | WM_NOTIFYFORMAT = 55h 823 | WM_QM_ACTIVATE = 60h 824 | WM_HOOK_DO_CALLBACK = 61h 825 | WM_SYSCOPYDATA = 62h 826 | WM_FINALDESTROY = 70h 827 | WM_MEASUREITEM_CLIENTDATA = 71h 828 | WM_CONTEXTMENU = 7Bh 829 | WM_STYLECHANGING = 7Ch 830 | WM_STYLECHANGED = 7Dh 831 | WM_DISPLAYCHANGE = 7Eh 832 | WM_GETICON = 7Fh 833 | WM_SETICON = 80h 834 | WM_NCCREATE = 81h 835 | WM_NCDESTROY = 82h 836 | WM_NCCALCSIZE = 83h 837 | WM_NCHITTEST = 84h 838 | WM_NCPAINT = 85h 839 | WM_NCACTIVATE = 86h 840 | WM_GETDLGCODE = 87h 841 | WM_SYNCPAINT = 88h 842 | WM_SYNCTASK = 89h 843 | WM_NCMOUSEMOVE = 0A0h 844 | WM_NCLBUTTONDOWN = 0A1h 845 | WM_NCLBUTTONUP = 0A2h 846 | WM_NCLBUTTONDBLCLK = 0A3h 847 | WM_NCRBUTTONDOWN = 0A4h 848 | WM_NCRBUTTONUP = 0A5h 849 | WM_NCRBUTTONDBLCLK = 0A6h 850 | WM_NCMBUTTONDOWN = 0A7h 851 | WM_NCMBUTTONUP = 0A8h 852 | WM_NCMBUTTONDBLCLK = 0A9h 853 | WM_NCXBUTTONDOWN = 0ABh 854 | WM_NCXBUTTONUP = 0ACh 855 | WM_NCXBUTTONDBLCLK = 0ADh 856 | EM_GETSEL = 0B0h 857 | EM_SETSEL = 0B1h 858 | EM_GETRECT = 0B2h 859 | EM_SETRECT = 0B3h 860 | EM_SETRECTNP = 0B4h 861 | EM_SCROLL = 0B5h 862 | EM_LINESCROLL = 0B6h 863 | EM_SCROLLCARET = 0B7h 864 | EM_GETMODIFY = 0B8h 865 | EM_SETMODIFY = 0B9h 866 | EM_GETLINECOUNT = 0BAh 867 | EM_LINEINDEX = 0BBh 868 | EM_SETHANDLE = 0BCh 869 | EM_GETHANDLE = 0BDh 870 | EM_GETTHUMB = 0BEh 871 | EM_LINELENGTH = 0C1h 872 | EM_REPLACESEL = 0C2h 873 | EM_SETFONT = 0C3h 874 | EM_GETLINE = 0C4h 875 | EM_LIMITTEXT = 0C5h 876 | EM_CANUNDO = 0C6h 877 | EM_UNDO = 0C7h 878 | EM_FMTLINES = 0C8h 879 | EM_LINEFROMCHAR = 0C9h 880 | EM_SETWORDBREAK = 0CAh 881 | EM_SETTABSTOPS = 0CBh 882 | EM_SETPASSWORDCHAR = 0CCh 883 | EM_EMPTYUNDOBUFFER = 0CDh 884 | EM_GETFIRSTVISIBLELINE = 0CEh 885 | EM_SETREADONLY = 0CFh 886 | EM_SETWORDBREAKPROC = 0D0h 887 | EM_GETWORDBREAKPROC = 0D1h 888 | EM_GETPASSWORDCHAR = 0D2h 889 | EM_SETMARGINS = 0D3h 890 | EM_GETMARGINS = 0D4h 891 | EM_POSFROMCHAR = 0D5h 892 | EM_CHARFROMPOS = 0D6h 893 | SBM_SETPOS = 0E0h 894 | SBM_GETPOS = 0E1h 895 | SBM_SETRANGE = 0E2h 896 | SBM_GETRANGE = 0E3h 897 | SBM_ENABLE_ARROWS = 0E4h 898 | SBM_SETRANGEREDRAW = 0E6h 899 | SBM_SETSCROLLINFO = 0E9h 900 | SBM_GETSCROLLINFO = 0EAh 901 | SBM_GETSCROLLBARINFO = 0EBh 902 | BM_GETCHECK = 0F0h 903 | BM_SETCHECK = 0F1h 904 | BM_GETSTATE = 0F2h 905 | BM_SETSTATE = 0F3h 906 | BM_SETSTYLE = 0F4h 907 | BM_CLICK = 0F5h 908 | BM_GETIMAGE = 0F6h 909 | BM_SETIMAGE = 0F7h 910 | BM_SETDONTCLICK = 0F8h 911 | WM_INPUT = 0FFh 912 | WM_KEYFIRST = 100h 913 | WM_KEYDOWN = 100h 914 | WM_KEYUP = 101h 915 | WM_CHAR = 102h 916 | WM_DEADCHAR = 103h 917 | WM_SYSKEYDOWN = 104h 918 | WM_SYSKEYUP = 105h 919 | WM_SYSCHAR = 106h 920 | WM_SYSDEADCHAR = 107h 921 | WM_KEYLAST = 108h 922 | WM_YOMICHAR = 108h 923 | WM_UNICHAR = 109h 924 | WM_CONVERTREQUEST = 10Ah 925 | WM_CONVERTRESULT = 10Bh 926 | WM_IM_INFO = 10Ch 927 | WM_IME_STARTCOMPOSITION = 10Dh 928 | WM_IME_ENDCOMPOSITION = 10Eh 929 | WM_IME_COMPOSITION = 10Fh 930 | WM_IME_KEYLAST = 10Fh 931 | WM_INITDIALOG = 110h 932 | WM_COMMAND = 111h 933 | WM_SYSCOMMAND = 112h 934 | WM_TIMER = 113h 935 | WM_HSCROLL = 114h 936 | WM_VSCROLL = 115h 937 | WM_INITMENU = 116h 938 | WM_INITMENUPOPUP = 117h 939 | WM_SYSTIMER = 118h 940 | WM_MENUSELECT = 11Fh 941 | WM_MENUCHAR = 120h 942 | WM_ENTERIDLE = 121h 943 | WM_MENURBUTTONUP = 122h 944 | WM_MENUDRAG = 123h 945 | WM_MENUGETOBJECT = 124h 946 | WM_UNINITMENUPOPUP = 125h 947 | WM_MENUCOMMAND = 126h 948 | WM_CHANGEUISTATE = 127h 949 | WM_UPDATEUISTATE = 128h 950 | WM_QUERYUISTATE = 129h 951 | WM_LBTRACKPOINT = 131h 952 | WM_CTLCOLORMSGBOX = 132h 953 | WM_CTLCOLOREDIT = 133h 954 | WM_CTLCOLORLISTBOX = 134h 955 | WM_CTLCOLORBTN = 135h 956 | WM_CTLCOLORDLG = 136h 957 | WM_CTLCOLORSCROLLBAR = 137h 958 | WM_CTLCOLORSTATIC = 138h 959 | CB_GETEDITSEL = 140h 960 | CB_LIMITTEXT = 141h 961 | CB_SETEDITSEL = 142h 962 | CB_ADDSTRING = 143h 963 | CB_DELETESTRING = 144h 964 | CB_DIR = 145h 965 | CB_GETCOUNT = 146h 966 | CB_GETCURSEL = 147h 967 | CB_GETLBTEXT = 148h 968 | CB_GETLBTEXTLEN = 149h 969 | CB_INSERTSTRING = 14Ah 970 | CB_RESETCONTENT = 14Bh 971 | CB_FINDSTRING = 14Ch 972 | CB_SELECTSTRING = 14Dh 973 | CB_SETCURSEL = 14Eh 974 | CB_SHOWDROPDOWN = 14Fh 975 | CB_GETITEMDATA = 150h 976 | CB_SETITEMDATA = 151h 977 | CB_GETDROPPEDCONTROLRECT = 152h 978 | CB_SETITEMHEIGHT = 153h 979 | CB_GETITEMHEIGHT = 154h 980 | CB_SETEXTENDEDUI = 155h 981 | CB_GETEXTENDEDUI = 156h 982 | CB_GETDROPPEDSTATE = 157h 983 | CB_FINDSTRINGEXACT = 158h 984 | CB_SETLOCALE = 159h 985 | CB_GETLOCALE = 15Ah 986 | CB_GETTOPINDEX = 15Bh 987 | CB_SETTOPINDEX = 15Ch 988 | CB_GETHORIZONTALEXTENT = 15Dh 989 | CB_SETHORIZONTALEXTENT = 15Eh 990 | CB_GETDROPPEDWIDTH = 15Fh 991 | CB_SETDROPPEDWIDTH = 160h 992 | CB_INITSTORAGE = 161h 993 | CB_GETCOMBOBOXINFO = 164h 994 | STM_SETICON = 170h 995 | STM_GETICON = 171h 996 | STM_SETIMAGE = 172h 997 | STM_GETIMAGE = 173h 998 | LB_ADDSTRING = 180h 999 | LB_INSERTSTRING = 181h 1000 | LB_DELETESTRING = 182h 1001 | LB_SELITEMRANGEEX = 183h 1002 | LB_RESETCONTENT = 184h 1003 | LB_SETSEL = 185h 1004 | LB_SETCURSEL = 186h 1005 | LB_GETSEL = 187h 1006 | LB_GETCURSEL = 188h 1007 | LB_GETTEXT = 189h 1008 | LB_GETTEXTLEN = 18Ah 1009 | LB_GETCOUNT = 18Bh 1010 | LB_SELECTSTRING = 18Ch 1011 | LB_DIR = 18Dh 1012 | LB_GETTOPINDEX = 18Eh 1013 | LB_FINDSTRING = 18Fh 1014 | LB_GETSELCOUNT = 190h 1015 | LB_GETSELITEMS = 191h 1016 | LB_SETTABSTOPS = 192h 1017 | LB_GETHORIZONTALEXTENT = 193h 1018 | LB_SETHORIZONTALEXTENT = 194h 1019 | LB_SETCOLUMNWIDTH = 195h 1020 | LB_ADDFILE = 196h 1021 | LB_SETTOPINDEX = 197h 1022 | LB_GETITEMRECT = 198h 1023 | LB_GETITEMDATA = 199h 1024 | LB_SETITEMDATA = 19Ah 1025 | LB_SELITEMRANGE = 19Bh 1026 | LB_SETANCHORINDEX = 19Ch 1027 | LB_GETANCHORINDEX = 19Dh 1028 | LB_SETCARETINDEX = 19Eh 1029 | LB_GETCARETINDEX = 19Fh 1030 | LB_SETITEMHEIGHT = 1A0h 1031 | LB_GETITEMHEIGHT = 1A1h 1032 | LB_FINDSTRINGEXACT = 1A2h 1033 | LBCB_CARETON = 1A3h 1034 | LBCB_CARETOFF = 1A4h 1035 | LB_SETLOCALE = 1A5h 1036 | LB_GETLOCALE = 1A6h 1037 | LB_SETCOUNT = 1A7h 1038 | LB_INITSTORAGE = 1A8h 1039 | LB_ITEMFROMPOINT = 1A9h 1040 | LB_INSERTSTRINGUPPER = 1AAh 1041 | LB_INSERTSTRINGLOWER = 1ABh 1042 | LB_ADDSTRINGUPPER = 1ACh 1043 | LB_ADDSTRINGLOWER = 1ADh 1044 | LB_GETLISTBOXINFO = 1B2h 1045 | MN_SETHMENU = 1E0h 1046 | MN_GETHMENU = 1E1h 1047 | MN_SIZEWINDOW = 1E2h 1048 | MN_OPENHIERARCHY = 1E3h 1049 | MN_CLOSEHIERARCHY = 1E4h 1050 | MN_SELECTITEM = 1E5h 1051 | MN_CANCELMENUS = 1E6h 1052 | MN_SELECTFIRSTVALIDITEM = 1E7h 1053 | MN_GETPPOPUPMENU = 1EAh 1054 | MN_FINDMENUWINDOWFROMPOINT = 1EBh 1055 | MN_SHOWPOPUPWINDOW = 1ECh 1056 | MN_BUTTONDOWN = 1EDh 1057 | MN_MOUSEMOVE = 1EEh 1058 | MN_BUTTONUP = 1EFh 1059 | MN_SETTIMERTOOPENHIERARCHY = 1F0h 1060 | MN_DBLCLK = 1F1h 1061 | WM_MOUSEFIRST = 200h 1062 | WM_MOUSEMOVE = 200h 1063 | WM_LBUTTONDOWN = 201h 1064 | WM_LBUTTONUP = 202h 1065 | WM_LBUTTONDBLCLK = 203h 1066 | WM_RBUTTONDOWN = 204h 1067 | WM_RBUTTONUP = 205h 1068 | WM_RBUTTONDBLCLK = 206h 1069 | WM_MBUTTONDOWN = 207h 1070 | WM_MBUTTONUP = 208h 1071 | WM_MBUTTONDBLCLK = 209h 1072 | WM_MOUSEWHEEL = 20Ah 1073 | WM_XBUTTONDOWN = 20Bh 1074 | WM_XBUTTONUP = 20Ch 1075 | WM_XBUTTONDBLCLK = 20Dh 1076 | WM_MOUSELAST = 20Dh 1077 | WM_PARENTNOTIFY = 210h 1078 | WM_ENTERMENULOOP = 211h 1079 | WM_EXITMENULOOP = 212h 1080 | WM_NEXTMENU = 213h 1081 | WM_SIZING = 214h 1082 | WM_CAPTURECHANGED = 215h 1083 | WM_MOVING = 216h 1084 | WM_POWERBROADCAST = 218h 1085 | WM_DEVICECHANGE = 219h 1086 | WM_MDICREATE = 220h 1087 | WM_MDIDESTROY = 221h 1088 | WM_MDIACTIVATE = 222h 1089 | WM_MDIRESTORE = 223h 1090 | WM_MDINEXT = 224h 1091 | WM_MDIMAXIMIZE = 225h 1092 | WM_MDITILE = 226h 1093 | WM_MDICASCADE = 227h 1094 | WM_MDIICONARRANGE = 228h 1095 | WM_MDIGETACTIVE = 229h 1096 | WM_DROPOBJECT = 22Ah 1097 | WM_QUERYDROPOBJECT = 22Bh 1098 | WM_BEGINDRAG = 22Ch 1099 | WM_DRAGLOOP = 22Dh 1100 | WM_DRAGSELECT = 22Eh 1101 | WM_DRAGMOVE = 22Fh 1102 | WM_MDISETMENU = 230h 1103 | WM_ENTERSIZEMOVE = 231h 1104 | WM_EXITSIZEMOVE = 232h 1105 | WM_DROPFILES = 233h 1106 | WM_MDIREFRESHMENU = 234h 1107 | WM_HANGEULFIRST = 280h 1108 | WM_KANJIFIRST = 280h 1109 | WM_IME_SETCONTEXT = 281h 1110 | WM_IME_NOTIFY = 282h 1111 | WM_IME_CONTROL = 283h 1112 | WM_IME_COMPOSITIONFULL = 284h 1113 | WM_IME_SELECT = 285h 1114 | WM_IME_CHAR = 286h 1115 | WM_IME_SYSTEM = 287h 1116 | WM_IME_REQUEST = 288h 1117 | WM_IME_KEYDOWN = 290h 1118 | WM_IME_KEYUP = 291h 1119 | WM_HANGEULLAST = 29Fh 1120 | WM_KANJILAST = 29Fh 1121 | WM_NCMOUSEHOVER = 2A0h 1122 | WM_MOUSEHOVER = 2A1h 1123 | WM_NCMOUSELEAVE = 2A2h 1124 | WM_MOUSELEAVE = 2A3h 1125 | WM_TRACKMOUSEEVENT_LAST = 2AFh 1126 | WM_WTSSESSION_CHANGE = 2B1h 1127 | WM_TABLET_FIRST = 2C0h 1128 | WM_TABLET_LAST = 2DFh 1129 | WM_CUT = 300h 1130 | WM_COPY = 301h 1131 | WM_PASTE = 302h 1132 | WM_CLEAR = 303h 1133 | WM_UNDO = 304h 1134 | WM_RENDERFORMAT = 305h 1135 | WM_RENDERALLFORMATS = 306h 1136 | WM_DESTROYCLIPBOARD = 307h 1137 | WM_DRAWCLIPBOARD = 308h 1138 | WM_PAINTCLIPBOARD = 309h 1139 | WM_VSCROLLCLIPBOARD = 30Ah 1140 | WM_SIZECLIPBOARD = 30Bh 1141 | WM_ASKCBFORMATNAME = 30Ch 1142 | WM_CHANGECBCHAIN = 30Dh 1143 | WM_HSCROLLCLIPBOARD = 30Eh 1144 | WM_QUERYNEWPALETTE = 30Fh 1145 | WM_PALETTEISCHANGING = 310h 1146 | WM_PALETTECHANGED = 311h 1147 | WM_HOTKEY = 312h 1148 | WM_SYSMENU = 313h 1149 | WM_HOOKMSG = 314h 1150 | WM_EXITPROCESS = 315h 1151 | WM_WAKETHREAD = 316h 1152 | WM_PRINT = 317h 1153 | WM_PRINTCLIENT = 318h 1154 | WM_APPCOMMAND = 319h 1155 | WM_THEMECHANGED = 31Ah 1156 | WM_HANDHELDFIRST = 358h 1157 | WM_HANDHELDLAST = 35Fh 1158 | WM_AFXFIRST = 360h 1159 | WM_AFXLAST = 37Fh 1160 | WM_PENWINFIRST = 380h 1161 | WM_PENWINLAST = 38Fh 1162 | WM_INTERNAL_COALESCE_FIRST = 390h 1163 | WM_COALESCE_FIRST = 390h 1164 | WM_COALESCE_LAST = 39Fh 1165 | WM_MM_RESERVED_FIRST = 3A0h 1166 | WM_MM_RESERVED_LAST = 3DFh 1167 | WM_DDE_INITIATE = 3E0h 1168 | WM_DDE_TERMINATE = 3E1h 1169 | WM_DDE_ADVISE = 3E2h 1170 | WM_DDE_UNADVISE = 3E3h 1171 | WM_DDE_ACK = 3E4h 1172 | WM_DDE_DATA = 3E5h 1173 | WM_DDE_REQUEST = 3E6h 1174 | WM_DDE_POKE = 3E7h 1175 | WM_DDE_EXECUTE = 3E8h 1176 | WM_DBNOTIFICATION = 3FDh 1177 | WM_NETCONNECT = 3FEh 1178 | WM_HIBERNATE = 3FFh 1179 | WM_USER = 400h 1180 | WM_APP = 8000h 1181 | 1182 | ; --------------------------------------------------------------------------- 1183 | 1184 | ; enum MACRO_VK, copyof_90 1185 | VK_LBUTTON = 1 1186 | VK_RBUTTON = 2 1187 | VK_CANCEL = 3 1188 | VK_MBUTTON = 4 1189 | VK_BACK = 8 1190 | VK_TAB = 9 1191 | VK_CLEAR = 0Ch 1192 | VK_RETURN = 0Dh 1193 | VK_SHIFT = 10h 1194 | VK_CONTROL = 11h 1195 | VK_MENU = 12h 1196 | VK_PAUSE = 13h 1197 | VK_CAPITAL = 14h 1198 | VK_KANA = 15h 1199 | VK_HANGEUL = 15h 1200 | VK_HANGUL = 15h 1201 | VK_JUNJA = 17h 1202 | VK_FINAL = 18h 1203 | VK_HANJA = 19h 1204 | VK_KANJI = 19h 1205 | VK_ESCAPE = 1Bh 1206 | VK_CONVERT = 1Ch 1207 | VK_NONCONVERT = 1Dh 1208 | VK_ACCEPT = 1Eh 1209 | VK_MODECHANGE = 1Fh 1210 | VK_SPACE = 20h 1211 | VK_PRIOR = 21h 1212 | VK_NEXT = 22h 1213 | VK_END = 23h 1214 | VK_HOME = 24h 1215 | VK_LEFT = 25h 1216 | VK_UP = 26h 1217 | VK_RIGHT = 27h 1218 | VK_DOWN = 28h 1219 | VK_SELECT = 29h 1220 | VK_PRINT = 2Ah 1221 | VK_EXECUTE = 2Bh 1222 | VK_SNAPSHOT = 2Ch 1223 | VK_INSERT = 2Dh 1224 | VK_DELETE = 2Eh 1225 | VK_HELP = 2Fh 1226 | VK_LWIN = 5Bh 1227 | VK_RWIN = 5Ch 1228 | VK_APPS = 5Dh 1229 | VK_NUMPAD0 = 60h 1230 | VK_NUMPAD1 = 61h 1231 | VK_NUMPAD2 = 62h 1232 | VK_NUMPAD3 = 63h 1233 | VK_NUMPAD4 = 64h 1234 | VK_NUMPAD5 = 65h 1235 | VK_NUMPAD6 = 66h 1236 | VK_NUMPAD7 = 67h 1237 | VK_NUMPAD8 = 68h 1238 | VK_NUMPAD9 = 69h 1239 | VK_MULTIPLY = 6Ah 1240 | VK_ADD = 6Bh 1241 | VK_SEPARATOR = 6Ch 1242 | VK_SUBTRACT = 6Dh 1243 | VK_DECIMAL = 6Eh 1244 | VK_DIVIDE = 6Fh 1245 | VK_F1 = 70h 1246 | VK_F2 = 71h 1247 | VK_F3 = 72h 1248 | VK_F4 = 73h 1249 | VK_F5 = 74h 1250 | VK_F6 = 75h 1251 | VK_F7 = 76h 1252 | VK_F8 = 77h 1253 | VK_F9 = 78h 1254 | VK_F10 = 79h 1255 | VK_F11 = 7Ah 1256 | VK_F12 = 7Bh 1257 | VK_F13 = 7Ch 1258 | VK_F14 = 7Dh 1259 | VK_F15 = 7Eh 1260 | VK_F16 = 7Fh 1261 | VK_F17 = 80h 1262 | VK_F18 = 81h 1263 | VK_F19 = 82h 1264 | VK_F20 = 83h 1265 | VK_F21 = 84h 1266 | VK_F22 = 85h 1267 | VK_F23 = 86h 1268 | VK_F24 = 87h 1269 | VK_NUMLOCK = 90h 1270 | VK_SCROLL = 91h 1271 | VK_LSHIFT = 0A0h 1272 | VK_RSHIFT = 0A1h 1273 | VK_LCONTROL = 0A2h 1274 | VK_RCONTROL = 0A3h 1275 | VK_LMENU = 0A4h 1276 | VK_RMENU = 0A5h 1277 | VK_PROCESSKEY = 0E5h 1278 | VK_ATTN = 0F6h 1279 | VK_CRSEL = 0F7h 1280 | VK_EXSEL = 0F8h 1281 | VK_EREOF = 0F9h 1282 | VK_PLAY = 0FAh 1283 | VK_ZOOM = 0FBh 1284 | VK_NONAME = 0FCh 1285 | VK_PA1 = 0FDh 1286 | VK_OEM_CLEAR = 0FEh 1287 | WH_MIN = 0FFFFFFFFh 1288 | 1289 | ; --------------------------------------------------------------------------- 1290 | 1291 | ; enum MACRO_DSBPLAY, copyof_97, bitfield 1292 | DSBPLAY_LOOPING = 1 1293 | 1294 | ; --------------------------------------------------------------------------- 1295 | 1296 | ; enum MACRO_DSBCAPS, copyof_98, bitfield 1297 | DSBCAPS_PRIMARYBUFFER = 1 1298 | DSBCAPS_STATIC = 2 1299 | DSBCAPS_LOCHARDWARE = 4 1300 | DSBCAPS_LOCSOFTWARE = 8 1301 | DSBCAPS_CTRL3D = 10h 1302 | DSBCAPS_CTRLFREQUENCY = 20h 1303 | DSBCAPS_CTRLPAN = 40h 1304 | DSBCAPS_CTRLVOLUME = 80h 1305 | DSBCAPS_CTRLPOSITIONNOTIFY = 100h 1306 | 1307 | ; --------------------------------------------------------------------------- 1308 | 1309 | ; enum DefOrg, copyof_102 1310 | MODEPARADD = 0 1311 | SETWAIT = 1 1312 | MODEPARSUB = 1 1313 | SETGRID = 2 1314 | SETALLOC = 4 1315 | MAXMELODY = 8 1316 | MAXDRAM = 8 1317 | SETREPEAT = 8 1318 | MODEMULTIPLY = 0Ah 1319 | MAXTRACK = 10h 1320 | SETFREQ = 10h 1321 | SETWAVE = 20h 1322 | NUMDRAMITEM = 2Ah 1323 | SETPIPI = 40h 1324 | MODEDECAY = 40h 1325 | MAXNOTELENGTH = 0FFh 1326 | KEYDUMMY = 0FFh 1327 | PANDUMMY = 0FFh 1328 | VOLDUMMY = 0FFh 1329 | ALLOCNOTE = 1000h 1330 | SETALL = 0FFFFFFFFh 1331 | 1332 | ; --------------------------------------------------------------------------- 1333 | 1334 | ; enum MACRO_TIMERR, copyof_136 1335 | TIMERR_NOERROR = 0 1336 | TIMERR_NOCANDO = 97 1337 | TIMERR_STRUCT = 129 1338 | 1339 | ; --------------------------------------------------------------------------- 1340 | 1341 | ; enum MACRO_NULL, copyof_137 1342 | NULL = 0 1343 | 1344 | ; --------------------------------------------------------------------------- 1345 | 1346 | ; enum MACRO_TIME_ONESHOT, copyof_138 1347 | TIME_ONESHOT = 0 1348 | TIME_PERIODIC = 1 1349 | 1350 | ; --------------------------------------------------------------------------- 1351 | 1352 | ; enum bullets, copyof_139 1353 | bulletSnakeLevel1 = 1 1354 | bulletSnakeLevel2 = 2 1355 | bulletSnakeLevel3 = 3 1356 | bulletPolarStarLevel1 = 4 1357 | bulletPolarStarLevel2 = 5 1358 | bulletPolarStarLevel3 = 6 1359 | bulletFireballLevel1 = 7 1360 | bulletFireballLevel2 = 8 1361 | bulletFireballLevel3 = 9 1362 | bulletMachineGunLevel1 = 0Ah 1363 | bulletMachineGunLevel2 = 0Bh 1364 | bulletMachineGunLevel3 = 0Ch 1365 | bulletMissileLauncherLevel1 = 0Dh 1366 | bulletMissileLauncherLevel2 = 0Eh 1367 | bulletMissileLauncherLevel3 = 0Fh 1368 | bulletMissileExplosionLevel1 = 10h 1369 | bulletMissileExplosionLevel2 = 11h 1370 | bulletMissileExplosionLevel3 = 12h 1371 | bulletBubblerLevel1 = 13h 1372 | bulletBubblerLevel2 = 14h 1373 | bulletBubblerLevel3 = 15h 1374 | bulletBubblerSpurs = 16h 1375 | bulletBladeSlash = 17h 1376 | bulletUnused = 18h 1377 | bulletBladeLevel1 = 19h 1378 | bulletBladeLevel2 = 1Ah 1379 | bulletBladeLevel3 = 1Bh 1380 | bulletSuperMissileLauncherLevel1 = 1Ch 1381 | bulletSuperMissileLauncherLevel2 = 1Dh 1382 | bulletSuperMissileLauncherLevel3 = 1Eh 1383 | bulletNemesisLevel1 = 22h 1384 | bulletNemesisLevel2 = 23h 1385 | bulletNemesisLevel3 = 24h 1386 | bulletChargelessSpurLevel1 = 25h 1387 | bulletChargelessSpurLevel2 = 26h 1388 | bulletChargelessSpurLevel3 = 27h 1389 | bulletNonMovingSpurLevel1 = 28h 1390 | bulletNonMovingSpurLevel2 = 29h 1391 | bulletNonMovingSpurLevel3 = 2Ah 1392 | bulletNemesisRelated = 2Bh 1393 | bulletSpurLevel2 = 2Ch 1394 | bulletSpurLevel3 = 2Dh 1395 | 1396 | ; --------------------------------------------------------------------------- 1397 | 1398 | ; enum musics, copyof_140 1399 | musicSilence = 0 1400 | musicMischievousRobot = 1 1401 | musicSafety = 2 1402 | musicGameOver = 3 1403 | musicGravity = 4 1404 | musicOnToGrasstown = 5 1405 | musicMeltdown2 = 6 1406 | musicEyesOfFlame = 7 1407 | musicGestation = 8 1408 | musicMimigaTown = 9 1409 | musicGetItem = 0Ah 1410 | musicBalrogsTheme = 0Bh 1411 | musicCemetary = 0Ch 1412 | musicPlant = 0Dh 1413 | musicPulse = 0Eh 1414 | musicVictory = 0Fh 1415 | musicGetLifeCapsule = 10h 1416 | musicTyrant = 11h 1417 | musicRun = 12h 1418 | musicJenka1 = 13h 1419 | musicLabyrinthFight = 14h 1420 | musicAccess = 15h 1421 | musicOppression = 16h 1422 | musicGeothermal = 17h 1423 | musicCaveStory = 18h 1424 | musicMoonsong = 19h 1425 | musicHerosend = 1Ah 1426 | musicScorchingBack = 1Bh 1427 | musicQuiet = 1Ch 1428 | musicFinalCave = 1Dh 1429 | musicBalcony = 1Eh 1430 | musicCharge = 1Fh 1431 | musicLastBattle = 20h 1432 | musicTheWayBackHome = 21h 1433 | musicZombie = 22h 1434 | musicBreakDown = 23h 1435 | musicRunningHell = 24h 1436 | musicJenka2 = 25h 1437 | musicLivingWaterway = 26h 1438 | musicSealChamber = 27h 1439 | musicTorokosTheme = 28h 1440 | musicWhite = 29h 1441 | 1442 | ; --------------------------------------------------------------------------- 1443 | 1444 | ; enum soundEffects, copyof_141 1445 | SFXSilence68 = 0 1446 | SFXYNChangeChoice = 1 1447 | SFXMessageTyping = 2 1448 | SFXQuoteBumpHead = 3 1449 | SFXSwitchWeapon = 4 1450 | SFXYNPrompt = 5 1451 | SFXHighPitchCritterHop = 6 1452 | SFXSilence73 = 7 1453 | SFXSilence74 = 8 1454 | SFXSilence75 = 9 1455 | SFXSilence69 = 0Ah 1456 | SFXDoorOpen = 0Bh 1457 | SFXDestroyBreakableBlock = 0Ch 1458 | SFXSilence70 = 0Dh 1459 | SFXGetEXP = 0Eh 1460 | SFXQuoteJump = 0Fh 1461 | SFXQuoteHurt = 10h 1462 | SFXQuoteDie = 11h 1463 | SFXYNConfirm = 12h 1464 | SFXSilence71 = 13h 1465 | SFXQuoteHeal = 14h 1466 | SFXBubble = 15h 1467 | SFXChestOpen = 16h 1468 | SFXQuoteHitGround = 17h 1469 | SFXQuoteWalk = 18h 1470 | SFXSillyExplosion = 19h 1471 | SFXLargeObjectHitGround = 1Ah 1472 | SFXLevelUp = 1Bh 1473 | SFXShotHitWall = 1Ch 1474 | SFXTeleport = 1Dh 1475 | SFXCritterHop = 1Eh 1476 | SFXShotHitInvulnerableEntity = 1Fh 1477 | SFXPolarStarShootLevel12 = 20h 1478 | SFXFireballShoot = 21h 1479 | SFXFireballBounce = 22h 1480 | SFXlargeExplosion = 23h 1481 | SFXSilence72 = 24h 1482 | SFXNoAmmo = 25h 1483 | SFXItemGet = 26h 1484 | SFXEnemyShootProjectile = 27h 1485 | SFXStreamNoiseSSS2 = 28h 1486 | SFXStreamNoiseSSS1 = 29h 1487 | SFXQuoteMissileGet = 2Ah 1488 | SFXComputerScreenOn = 2Bh 1489 | SFXMissileImpact = 2Ch 1490 | SFXEXPBounce = 2Dh 1491 | SFXIronHeadShot = 2Eh 1492 | SFXStrangeClick = 2Fh 1493 | SFXBubblerShoot = 30h 1494 | SFXPolarStarShootLevel3 = 31h 1495 | SFXTorokoEnemySqueal = 32h 1496 | SFXCritterSmallHurt = 33h 1497 | SFXBehemothLargeHurt = 34h 1498 | SFXGaudiDie = 35h 1499 | SFXHeavyPressLargeObjectHurt = 36h 1500 | SFXHighPitchedGaudiDie = 37h 1501 | SFXWaterSplash = 38h 1502 | SFXCurlyObjectHurt = 39h 1503 | SFXHelicopterBladesSPS = 3Ah 1504 | SFXSpurChargeLevel1 = 3Bh 1505 | SFXSpurChargeLevel2 = 3Ch 1506 | SFXSpurChargeLevel3 = 3Dh 1507 | SFXSpurShootLevel1 = 3Eh 1508 | SFXSpurShootLevel2 = 3Fh 1509 | SFXSpurShootLevel3 = 40h 1510 | SFXSpurChargeMAX = 41h 1511 | SFXSilence37 = 42h 1512 | SFXSilence38 = 43h 1513 | SFXSilence39 = 44h 1514 | SFXSilence40 = 45h 1515 | SFXEnemySmokePoof = 46h 1516 | SFXQuoteSmashIntoGround = 47h 1517 | SFXExplosion = 48h 1518 | SFXSilence41 = 49h 1519 | SFXSilence42 = 4Ah 1520 | SFXSilence43 = 4Bh 1521 | SFXSilence44 = 4Ch 1522 | SFXSilence45 = 4Dh 1523 | SFXSilence46 = 4Eh 1524 | SFXSilence47 = 4Fh 1525 | SFXSilence48 = 50h 1526 | SFXSilence49 = 51h 1527 | SFXSilence50 = 52h 1528 | SFXSilence51 = 53h 1529 | SFXSilence52 = 54h 1530 | SFXSilence53 = 55h 1531 | SFXSilence54 = 56h 1532 | SFXSilence55 = 57h 1533 | SFXSilence56 = 58h 1534 | SFXSilence57 = 59h 1535 | SFXSilence58 = 5Ah 1536 | SFXSilence59 = 5Bh 1537 | SFXSilence60 = 5Ch 1538 | SFXSilence61 = 5Dh 1539 | SFXSilence62 = 5Eh 1540 | SFXSilence63 = 5Fh 1541 | SFXSilence64 = 60h 1542 | SFXSilence65 = 61h 1543 | SFXSilence66 = 62h 1544 | SFXSilence67 = 63h 1545 | SFXBubblerShootLevel3 = 64h 1546 | SFXLightning = 65h 1547 | SFXSandCroc = 66h 1548 | SFXBallosBallAndCurlyChargingHerGun = 67h 1549 | SFXSecretItemHurt = 68h 1550 | SFXPuppyBark = 69h 1551 | SFXSpinningProjectile = 6Ah 1552 | SFXBlockMove = 6Bh 1553 | SFXPowerCritterLargeEnemyJump = 6Ch 1554 | SFXCritterFly = 6Dh 1555 | SFXPowerCritterFlys = 6Eh 1556 | SFXThud = 6Fh 1557 | SFXLargeThud = 70h 1558 | SFXBooster = 71h 1559 | SFXCoreHurt = 72h 1560 | SFXCoreThrust = 73h 1561 | SFXCoreCharge = 74h 1562 | SFXNemesisShot = 75h 1563 | SFXSilence1 = 76h 1564 | SFXSilence2 = 77h 1565 | SFXSilence3 = 78h 1566 | SFXSilence4 = 79h 1567 | SFXSilence5 = 7Ah 1568 | SFXSilence6 = 7Bh 1569 | SFXSilence7 = 7Ch 1570 | SFXSilence8 = 7Dh 1571 | SFXSilence9 = 7Eh 1572 | SFXSilence10 = 7Fh 1573 | SFXSilence11 = 80h 1574 | SFXSilence12 = 81h 1575 | SFXSilence13 = 82h 1576 | SFXSilence14 = 83h 1577 | SFXSilence15 = 84h 1578 | SFXSilence16 = 85h 1579 | SFXSilence17 = 86h 1580 | SFXSilence18 = 87h 1581 | SFXSilence19 = 88h 1582 | SFXSilence20 = 89h 1583 | SFXSilence21 = 8Ah 1584 | SFXSilence22 = 8Bh 1585 | SFXSilence23 = 8Ch 1586 | SFXSilence24 = 8Dh 1587 | SFXSilence25 = 8Eh 1588 | SFXSilence26 = 8Fh 1589 | SFXSilence27 = 90h 1590 | SFXSilence28 = 91h 1591 | SFXSilence29 = 92h 1592 | SFXSilence30 = 93h 1593 | SFXSilence31 = 94h 1594 | SFXSilence32 = 95h 1595 | SFXBassBass01 = 96h 1596 | SFXSnareSnare01 = 97h 1597 | SFXHiCloseHiClose = 98h 1598 | SFXHiOpenHiOpen = 99h 1599 | SFXTomTom01 = 9Ah 1600 | SFXPerPer01 = 9Bh 1601 | SFXSilence33 = 9Ch 1602 | SFXSilence34 = 9Dh 1603 | SFXSilence35 = 9Eh 1604 | SFXSilence36 = 9Fh 1605 | SFXCrashesTheGame = 0A0h 1606 | 1607 | ; --------------------------------------------------------------------------- 1608 | 1609 | ; enum MACRO_IDM_COPY, copyof_142 1610 | IDM_COPY = 15 1611 | IDM_CUT = 16 1612 | IDM_PASTE = 26 1613 | CMD_ZOOM_PAGEWIDTH = 4294967295 1614 | 1615 | ; --------------------------------------------------------------------------- 1616 | 1617 | ; enum MenuDialogMembers, copyof_175 1618 | buttonOK = 1 1619 | buttonYes = 1 1620 | buttonCancel = 2 1621 | buttonNo = 2 1622 | fieldSaveFile = 3F0h 1623 | fieldQuitMessage = 3F1h 1624 | buttonMute0 = 3F2h 1625 | fieldAboutMessage = 3F3h 1626 | buttonMute1 = 3FAh 1627 | buttonMute2 = 3FBh 1628 | buttonMute3 = 3FCh 1629 | buttonMute4 = 3FDh 1630 | buttonMute5 = 3FEh 1631 | buttonMute6 = 3FFh 1632 | buttonMute7 = 400h 1633 | buttonQuit = 9C41h 1634 | buttonVersion = 9C42h 1635 | buttonVolume = 9C44h 1636 | buttonDebugSave = 9C45h 1637 | buttonMute = 9C47h 1638 | 1639 | ; --------------------------------------------------------------------------- 1640 | 1641 | ; enum MACRO_DDBLT, copyof_201, bitfield 1642 | DDBLT_ALPHADEST = 1 1643 | DDBLT_ALPHADESTCONSTOVERRIDE = 2 1644 | DDBLT_ALPHADESTNEG = 4 1645 | DDBLT_ALPHADESTSURFACEOVERRIDE = 8 1646 | DDBLT_ALPHAEDGEBLEND = 10h 1647 | DDBLT_ALPHASRC = 20h 1648 | DDBLT_ALPHASRCCONSTOVERRIDE = 40h 1649 | DDBLT_ALPHASRCNEG = 80h 1650 | DDBLT_ALPHASRCSURFACEOVERRIDE = 100h 1651 | DDBLT_ASYNC = 200h 1652 | DDBLT_COLORFILL = 400h 1653 | DDBLT_DDFX = 800h 1654 | DDBLT_DDROPS = 1000h 1655 | DDBLT_KEYDEST = 2000h 1656 | DDBLT_KEYDESTOVERRIDE = 4000h 1657 | DDBLT_KEYSRC = 8000h 1658 | DDBLT_KEYSRCOVERRIDE = 10000h 1659 | DDBLT_ROP = 20000h 1660 | DDBLT_ROTATIONANGLE = 40000h 1661 | DDBLT_ZBUFFER = 80000h 1662 | DDBLT_ZBUFFERDESTCONSTOVERRIDE = 100000h 1663 | DDBLT_ZBUFFERDESTOVERRIDE = 200000h 1664 | DDBLT_ZBUFFERSRCCONSTOVERRIDE = 400000h 1665 | DDBLT_ZBUFFERSRCOVERRIDE = 800000h 1666 | DDBLT_WAIT = 1000000h 1667 | DDBLT_DEPTHFILL = 2000000h 1668 | 1669 | ; --------------------------------------------------------------------------- 1670 | 1671 | ; enum MACRO_DDERR_OUTOFMEMORY, copyof_203 1672 | DDERR_OUTOFMEMORY = 2147942414 1673 | DDERR_OUTOFVIDEOMEMORY = 2289435004 1674 | DDERR_OVERLAYCANTCLIP = 2289435006 1675 | DDERR_OVERLAYCOLORKEYONLYONEACTIVE = 2289435008 1676 | DDERR_PALETTEBUSY = 2289435011 1677 | DDERR_COLORKEYNOTSET = 2289435024 1678 | DDERR_SURFACEALREADYATTACHED = 2289435034 1679 | DDERR_SURFACEALREADYDEPENDENT = 2289435044 1680 | DDERR_SURFACEBUSY = 2289435054 1681 | DDERR_CANTLOCKSURFACE = 2289435059 1682 | DDERR_SURFACEISOBSCURED = 2289435064 1683 | DDERR_SURFACELOST = 2289435074 1684 | DDERR_SURFACENOTATTACHED = 2289435084 1685 | DDERR_TOOBIGHEIGHT = 2289435094 1686 | DDERR_TOOBIGSIZE = 2289435104 1687 | DDERR_TOOBIGWIDTH = 2289435114 1688 | 1689 | ; --------------------------------------------------------------------------- 1690 | 1691 | ; enum MACRO_DDSCL, copyof_214, bitfield 1692 | DDSCL_FULLSCREEN = 1 1693 | DDSCL_ALLOWREBOOT = 2 1694 | DDSCL_NOWINDOWCHANGES = 4 1695 | DDSCL_NORMAL = 8 1696 | DDSCL_EXCLUSIVE = 10h 1697 | DDSCL_ALLOWMODEX = 40h 1698 | DDSCL_SETFOCUSWINDOW = 80h 1699 | DDSCL_SETDEVICEWINDOW = 100h 1700 | DDSCL_CREATEDEVICEWINDOW = 200h 1701 | 1702 | ; --------------------------------------------------------------------------- 1703 | 1704 | ; enum InitDirectDraw_Modes, copyof_215 1705 | mode320_40Windowed = 0 1706 | mode640480Windowed = 1 1707 | modeFullscreen = 2 1708 | 1709 | ; --------------------------------------------------------------------------- 1710 | 1711 | ; enum DisplayModes, copyof_216 1712 | displayFullScreen = 0 1713 | display320240Windowed = 1 1714 | display640480Windowed = 2 1715 | displayFull24Bit = 3 1716 | displayFull32Bit = 4 1717 | 1718 | ; --------------------------------------------------------------------------- 1719 | 1720 | ; enum MACRO_DDSD, copyof_222 1721 | DDSD_CAPS = 1 1722 | DDSD_HEIGHT = 2 1723 | DDSD_WIDTH = 4 1724 | DDSD_PITCH = 8 1725 | DDSD_BACKBUFFERCOUNT = 20h 1726 | DDSD_ZBUFFERBITDEPTH = 40h 1727 | DDSD_ALPHABITDEPTH = 80h 1728 | DDSD_LPSURFACE = 800h 1729 | DDSD_PIXELFORMAT = 1000h 1730 | DDSD_CKDESTOVERLAY = 2000h 1731 | DDSD_CKDESTBLT = 4000h 1732 | DDSD_CKSRCOVERLAY = 8000h 1733 | DDSD_CKSRCBLT = 10000h 1734 | DDSD_MIPMAPCOUNT = 20000h 1735 | DDSD_REFRESHRATE = 40000h 1736 | DDSD_LINEARSIZE = 80000h 1737 | DDSD_ALL = 0FF9EEh 1738 | 1739 | ; --------------------------------------------------------------------------- 1740 | 1741 | ; enum MACRO_WSA_WAIT, copyof_223 1742 | WSA_WAIT_EVENT_0 = 0 1743 | WSA_WAIT_TIMEOUT = 258 1744 | WSA_INFINITE = 4294967295 1745 | 1746 | ; --------------------------------------------------------------------------- 1747 | 1748 | ; enum MACRO_WS, copyof_224 1749 | WS_OVERLAPPED = 0 1750 | WS_TILED = 0 1751 | WS_TABSTOP = 10000h 1752 | WS_MAXIMIZEBOX = 10000h 1753 | WS_GROUP = 20000h 1754 | WS_MINIMIZEBOX = 20000h 1755 | WS_THICKFRAME = 40000h 1756 | WS_SIZEBOX = 40000h 1757 | WS_SYSMENU = 80000h 1758 | WS_HSCROLL = 100000h 1759 | WS_VSCROLL = 200000h 1760 | WS_DLGFRAME = 400000h 1761 | WS_BORDER = 800000h 1762 | WS_CAPTION = 0C00000h 1763 | WS_OVERLAPPEDWINDOW = 0CF0000h 1764 | WS_MAXIMIZE = 1000000h 1765 | WS_CLIPCHILDREN = 2000000h 1766 | WS_CLIPSIBLINGS = 4000000h 1767 | WS_DISABLED = 8000000h 1768 | WS_VISIBLE = 10000000h 1769 | WS_MINIMIZE = 20000000h 1770 | WS_ICONIC = 20000000h 1771 | WS_CHILD = 40000000h 1772 | WS_CHILDWINDOW = 40000000h 1773 | WS_POPUP = 80000000h 1774 | WS_POPUPWINDOW = 80880000h 1775 | 1776 | ; --------------------------------------------------------------------------- 1777 | 1778 | ; enum MACRO_DDSCAPS, copyof_225, bitfield 1779 | DDSCAPS_RESERVED1 = 1 1780 | DDSCAPS_ALPHA = 2 1781 | DDSCAPS_BACKBUFFER = 4 1782 | DDSCAPS_COMPLEX = 8 1783 | DDSCAPS_FLIP = 10h 1784 | DDSCAPS_FRONTBUFFER = 20h 1785 | DDSCAPS_OFFSCREENPLAIN = 40h 1786 | DDSCAPS_OVERLAY = 80h 1787 | DDSCAPS_PALETTE = 100h 1788 | DDSCAPS_PRIMARYSURFACE = 200h 1789 | DDSCAPS_PRIMARYSURFACELEFT = 400h 1790 | DDSCAPS_SYSTEMMEMORY = 800h 1791 | DDSCAPS_TEXTURE = 1000h 1792 | DDSCAPS_3DDEVICE = 2000h 1793 | DDSCAPS_VIDEOMEMORY = 4000h 1794 | DDSCAPS_VISIBLE = 8000h 1795 | DDSCAPS_WRITEONLY = 10000h 1796 | DDSCAPS_ZBUFFER = 20000h 1797 | DDSCAPS_OWNDC = 40000h 1798 | DDSCAPS_LIVEVIDEO = 80000h 1799 | DDSCAPS_HWCODEC = 100000h 1800 | DDSCAPS_MODEX = 200000h 1801 | DDSCAPS_MIPMAP = 400000h 1802 | DDSCAPS_RESERVED2 = 800000h 1803 | DDSCAPS_ALLOCONLOAD = 4000000h 1804 | DDSCAPS_VIDEOPORT = 8000000h 1805 | DDSCAPS_LOCALVIDMEM = 10000000h 1806 | DDSCAPS_NONLOCALVIDMEM = 20000000h 1807 | DDSCAPS_STANDARDVGAMODE = 40000000h 1808 | DDSCAPS_OPTIMIZED = 80000000h 1809 | 1810 | ; --------------------------------------------------------------------------- 1811 | 1812 | ; enum MACRO_R2_LAST, copyof_226 1813 | R2_LAST = 16 1814 | SRCCOPY = 13369376 1815 | SRCPAINT = 15597702 1816 | 1817 | ; --------------------------------------------------------------------------- 1818 | 1819 | ; enum MACRO_FILE_SHARE, copyof_230, bitfield 1820 | FILE_SHARE_READ = 1 1821 | FILE_SHARE_WRITE = 2 1822 | FILE_SHARE_DELETE = 4 1823 | 1824 | ; --------------------------------------------------------------------------- 1825 | 1826 | ; enum MACRO_CREATE, copyof_231 1827 | CREATE_NEW = 1 1828 | CREATE_ALWAYS = 2 1829 | OPEN_EXISTING = 3 1830 | OPEN_ALWAYS = 4 1831 | TRUNCATE_EXISTING = 5 1832 | 1833 | ; --------------------------------------------------------------------------- 1834 | 1835 | ; enum MACRO_FILE_ATTRIBUTE, copyof_232, bitfield 1836 | FILE_ATTRIBUTE_READONLY = 1 1837 | FILE_ATTRIBUTE_HIDDEN = 2 1838 | FILE_ATTRIBUTE_SYSTEM = 4 1839 | FILE_ATTRIBUTE_DIRECTORY = 10h 1840 | FILE_ATTRIBUTE_ARCHIVE = 20h 1841 | FILE_ATTRIBUTE_ENCRYPTED = 40h 1842 | FILE_ATTRIBUTE_NORMAL = 80h 1843 | FILE_ATTRIBUTE_TEMPORARY = 100h 1844 | FILE_ATTRIBUTE_SPARSE_FILE = 200h 1845 | FILE_ATTRIBUTE_REPARSE_POINT = 400h 1846 | FILE_ATTRIBUTE_COMPRESSED = 800h 1847 | FILE_ATTRIBUTE_OFFLINE = 1000h 1848 | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 2000h 1849 | 1850 | ; --------------------------------------------------------------------------- 1851 | 1852 | ; enum MACRO_DIERR_NOAGGREGATION, copyof_233 1853 | DIERR_NOAGGREGATION = 2147746064 1854 | DIERR_OTHERAPPHASPRIO = 2147942405 1855 | DIERR_INPUTLOST = 2147942430 1856 | DIERR_ACQUIRED = 2147942570 1857 | 1858 | ; --------------------------------------------------------------------------- 1859 | 1860 | ; enum weapons, copyof_234 1861 | weaponSnake = 1 1862 | weaponPolarStar = 2 1863 | weaponFireball = 3 1864 | weaponMachineGun = 4 1865 | weaponMissileLauncher = 5 1866 | weaponBubbler = 7 1867 | weaponBlade = 9 1868 | weaponNemesis = 0Ch 1869 | weaponSpur = 0Dh 1870 | 1871 | -------------------------------------------------------------------------------- /IDA output/Doukutsu.lst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GabrielRavier/Cave-Story-Decompilation/48a61ec8fddc77520120877631a4cec4a6966132/IDA output/Doukutsu.lst -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Cave-Story-Decompilation 2 | Decompilation of Cave Story. Can be opened with IDA Pro (freeware and pro version). 3 | 4 | This decompilation aims to make the code easily understandable. 5 | 6 | Also, this repo is basically dead, the recompilation is being done at https://github.com/GabrielRavier/CaveStoryRemake. 7 | 8 | Get IDA Freeware here : https://www.hex-rays.com/products/ida/support/download_freeware.shtml 9 | 10 | PS : You do not need the original .exe file to open the idb files. 11 | 12 | DISCLAIMER: Any and all content presented in this repository is presented for informational and educational purposes only. Commercial usage is expressly prohibited. I claim no ownership of any code in these repositories. You assume any and all responsibility for using this content responsibly. I claim no responsibiliy or warranty. 13 | 14 | File details : 15 | 16 | Doukutsu.i64 : This file is the IDA database to open using IDA 7.0 freeware. This file will be updated as some point, but only the .idb file is up to date due to conversion being difficult. 17 | 18 | Doukutsu.idb : This file is the IDA database to open using the 32-bit version of IDA. 19 | 20 | All further files were produced by IDA : 21 | 22 | Doukutsu Typeinfo.idc : As indicated, this file contains the typeinfo of the .i64 in the idc scripting language. For some reason, I can't get IDA to produce it, so it's not up to date. 23 | 24 | Doukustu.idc : This file contains the entire database, dumped to the idc format. If you want, you can manually open the .exe file, then run the idc file in IDA, though the results might not look good (I did this for conversion to .i64 format). For some reason, I can't get IDA to produce it, so it's not up to date. 25 | 26 | Doukustu.asm : This file contains the disassembly done by IDA, in a possibly re-assemblable format (might have problems) 27 | 28 | Doukustu.c : This file contains the de-compilation done by the Hex-Rays plugin. It might possibly be re-compilable, but don't get your hopes up. 29 | 30 | Doukustu.dif : This is a dummy file, to indicate the fact that there is no differences between the assembly contained in the .i64 file and the machine code contained in the .exe. 31 | 32 | Doukutsu.h : This is a C header file, which contains structs information. 33 | 34 | Doukutsu.inc : This file contains struct information in a format used by assemblers. 35 | 36 | Doukustu.lst : This file (a listing file containing the assembly code and offsets) is probably the most useful to people who do not want to bother with installing IDA. 37 | 38 | Doukutsu.map : This file contains information about function offsets. 39 | 40 | Doukutsu_All.map : This file contains offsets for EVERY LABEL in the program. 41 | --------------------------------------------------------------------------------