| /trunk/decompiled/cs__0642.c |
| |
| 121 |
121 |
} |
| 122 |
122 |
|
| 123 |
123 |
/** |
| 124 |
|
* Decompiled function emu_GUI_PaletteAnimate() |
| 125 |
|
* |
| 126 |
|
* @name emu_GUI_PaletteAnimate |
| 127 |
|
* @implements 0642:0559:0027:3560 () |
| 128 |
|
* @implements 0642:0574:000C:4D0E |
| 129 |
|
* @implements 0642:0580:000C:CC3D |
| 130 |
|
* @implements 0642:058C:002B:2BAE |
| 131 |
|
* @implements 0642:058F:0028:2879 |
| 132 |
|
* @implements 0642:0591:0026:A299 |
| 133 |
|
* @implements 0642:05B7:0010:2CA3 |
| 134 |
|
* @implements 0642:05C7:0031:5A24 |
| 135 |
|
* @implements 0642:05E8:0010:FCFE |
| 136 |
|
* @implements 0642:05F8:000B:A38F |
| 137 |
|
* @implements 0642:0603:000A:C012 |
| 138 |
|
* @implements 0642:060D:0015:23C1 |
| 139 |
|
* @implements 0642:0622:0018:8149 |
| 140 |
|
* @implements 0642:063A:0018:8149 |
| 141 |
|
* @implements 0642:0652:0018:8149 |
| 142 |
|
* @implements 0642:066A:0016:3765 |
| 143 |
|
* @implements 0642:0680:001C:6279 |
| 144 |
|
* @implements 0642:069C:000F:7F87 |
| 145 |
|
* @implements 0642:06AB:0013:48D9 |
| 146 |
|
* @implements 0642:06B1:000D:A409 |
| 147 |
|
* @implements 0642:06BE:0040:399F |
| 148 |
|
* @implements 0642:06D4:002A:1932 |
| 149 |
|
* @implements 0642:06E9:0015:23A1 |
| 150 |
|
* @implements 0642:06FE:0018:8129 |
| 151 |
|
* @implements 0642:0716:0016:04B0 |
| 152 |
|
* @implements 0642:072C:0013:43D9 |
| 153 |
|
* @implements 0642:0732:000D:A409 |
| 154 |
|
* @implements 0642:073F:001B:0AF9 |
| 155 |
|
* @implements 0642:0755:0005:2EF2 |
| 156 |
|
* @implements 0642:075A:0003:2E57 |
| 157 |
|
* |
| 158 |
|
* Called From: 0642:01AA:0005:F82B |
| 159 |
|
* Called From: 0642:01AA:0006:9C2A |
| 160 |
|
* Called From: 10E4:0483:0005:1765 |
| 161 |
|
* Called From: 10E4:0496:0005:1765 |
| 162 |
|
* Called From: B495:0098:0005:1765 |
| 163 |
|
* Called From: B495:0098:0007:73D6 |
| 164 |
|
* Called From: B495:07A4:0006:7364 |
| 165 |
|
* Called From: B4B8:20BB:0005:1765 |
| 166 |
|
* Called From: B4B8:20BB:0023:32FB |
| 167 |
|
* Called From: B4CD:0EAF:0008:ADED |
| 168 |
|
* Called From: B4CD:0F17:0008:ADED |
| 169 |
|
* Called From: B4DA:0C1B:0009:2F5C |
| 170 |
|
* Called From: B4F2:02A2:0005:1765 |
| 171 |
|
* Called From: B4F2:02A2:0007:73D6 |
| 172 |
|
* Called From: B4F2:048B:0005:1765 |
| 173 |
|
* Called From: B4F2:048B:0007:73D6 |
| 174 |
|
* Called From: B4F2:068C:0005:1765 |
| 175 |
|
* Called From: B4F2:068C:0008:8DED |
| 176 |
|
* Called From: B4F2:1163:0005:1765 |
| 177 |
|
* Called From: B4F2:1163:0007:EB00 |
| 178 |
|
* Called From: B511:0F7E:0009:0F5C |
| 179 |
|
* Called From: B511:1142:000A:C086 |
| 180 |
|
*/ |
| 181 |
|
void emu_GUI_PaletteAnimate() |
| 182 |
|
{ |
| 183 |
|
l__0559: |
| 184 |
|
emu_push(emu_bp); |
| 185 |
|
emu_bp = emu_sp; |
| 186 |
|
emu_push(emu_si); |
| 187 |
|
emu_xorw(&emu_si, emu_si); |
| 188 |
|
emu_ax = emu_get_memory16(emu_ds, 0x00, 0x31D0); |
| 189 |
|
emu_dx = emu_get_memory16(emu_ds, 0x00, 0x31CE); |
| 190 |
|
emu_cmpw(&emu_ax, emu_get_memory16(emu_ds, 0x00, 0x76AE)); |
| 191 |
|
if ((int16)emu_ax > (int16)emu_get_memory16(emu_ds, 0x00, 0x76AE)) goto l__05E8; |
| 192 |
|
if ((int16)emu_ax >= (int16)emu_get_memory16(emu_ds, 0x00, 0x76AE)) { |
| 193 |
|
emu_cmpw(&emu_dx, emu_get_memory16(emu_ds, 0x00, 0x76AC)); |
| 194 |
|
if (emu_dx >= emu_get_memory16(emu_ds, 0x00, 0x76AC)) goto l__05E8; |
| 195 |
|
} |
| 196 |
|
l__0574: |
| 197 |
|
emu_cmpw(&emu_get_memory16(emu_ds, 0x00, 0x37B2), 0x0); |
| 198 |
|
if (emu_get_memory16(emu_ds, 0x00, 0x37B2) == 0x0) goto l__0580; |
| 199 |
|
emu_si = 0xF; |
| 200 |
|
goto l__0591; |
| 201 |
|
l__0580: |
| 202 |
|
emu_cmpw(&emu_get_memory16(emu_ds, 0x00, 0x31D2), 0x0); |
| 203 |
|
if (emu_get_memory16(emu_ds, 0x00, 0x31D2) == 0x0) goto l__058C; |
| 204 |
|
emu_ax = 0x6; |
| 205 |
|
goto l__058F; |
| 206 |
|
l__058C: |
| 207 |
|
emu_ax = 0xF; |
| 208 |
|
l__058F: |
| 209 |
|
emu_si = emu_ax; |
| 210 |
|
l__0591: |
| 211 |
|
emu_ax = 0x3; |
| 212 |
|
emu_push(emu_ax); |
| 213 |
|
emu_ax = emu_si; |
| 214 |
|
emu_dx = 0x3; |
| 215 |
|
emu_imuluw(&emu_ax, emu_dx); |
| 216 |
|
emu_dx = emu_get_memory16(emu_ds, 0x00, 0x3C32); |
| 217 |
|
emu_addw(&emu_dx, emu_ax); |
| 218 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C34)); |
| 219 |
|
emu_push(emu_dx); |
| 220 |
|
emu_ax = emu_get_memory16(emu_ds, 0x00, 0x3C32); |
| 221 |
|
emu_addw(&emu_ax, 0x2CD); |
| 222 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C34)); |
| 223 |
|
emu_push(emu_ax); |
| 224 |
|
emu_push(emu_cs); emu_push(0x05B7); emu_cs = 0x01F7; emu_Tools_Memcopy(); |
| 225 |
|
l__05B7: |
| 226 |
|
emu_addw(&emu_sp, 0xA); |
| 227 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C34)); |
| 228 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C32)); |
| 229 |
|
emu_push(emu_cs); emu_push(0x05C7); emu_cs = 0x259E; f__259E_0040_0015_5E4A(); |
| 230 |
|
l__05C7: |
| 231 |
|
emu_pop(&emu_cx); |
| 232 |
|
emu_pop(&emu_cx); |
| 233 |
|
emu_ax = emu_get_memory16(emu_ds, 0x00, 0x31D2); |
| 234 |
|
emu_negw(&emu_ax, emu_ax); |
| 235 |
|
emu_sbbw(&emu_ax, emu_ax); |
| 236 |
|
emu_incw(&emu_ax); |
| 237 |
|
emu_get_memory16(emu_ds, 0x00, 0x31D2) = emu_ax; |
| 238 |
|
emu_ax = emu_get_memory16(emu_ds, 0x00, 0x76AE); |
| 239 |
|
emu_dx = emu_get_memory16(emu_ds, 0x00, 0x76AC); |
| 240 |
|
emu_addw(&emu_dx, 0x3C); |
| 241 |
|
emu_adcw(&emu_ax, 0x0); |
| 242 |
|
emu_get_memory16(emu_ds, 0x00, 0x31D0) = emu_ax; |
| 243 |
|
emu_get_memory16(emu_ds, 0x00, 0x31CE) = emu_dx; |
| 244 |
|
l__05E8: |
| 245 |
|
emu_ax = emu_get_memory16(emu_ds, 0x00, 0x31CC); |
| 246 |
|
emu_dx = emu_get_memory16(emu_ds, 0x00, 0x31CA); |
| 247 |
|
emu_cmpw(&emu_ax, emu_get_memory16(emu_ds, 0x00, 0x76AE)); |
| 248 |
|
if ((int16)emu_ax <= (int16)emu_get_memory16(emu_ds, 0x00, 0x76AE)) goto l__05F8; |
| 249 |
|
goto l__06D4; |
| 250 |
|
l__05F8: |
| 251 |
|
if ((emu_flags.sf != emu_flags.of)) goto l__0603; |
| 252 |
|
emu_cmpw(&emu_dx, emu_get_memory16(emu_ds, 0x00, 0x76AC)); |
| 253 |
|
if (emu_dx < emu_get_memory16(emu_ds, 0x00, 0x76AC)) goto l__0603; |
| 254 |
|
goto l__06D4; |
| 255 |
|
l__0603: |
| 256 |
|
emu_cmpw(&emu_get_memory16(emu_ds, 0x00, 0x3A0E), 0x0); |
| 257 |
|
if (emu_get_memory16(emu_ds, 0x00, 0x3A0E) != 0x0) goto l__060D; |
| 258 |
|
goto l__06D4; |
| 259 |
|
l__060D: |
| 260 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x31D4)); |
| 261 |
|
emu_ax = 0xFF; |
| 262 |
|
emu_push(emu_ax); |
| 263 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C34)); |
| 264 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C32)); |
| 265 |
|
emu_push(emu_cs); emu_push(0x0622); emu_cs = 0x2BA5; f__2BA5_00A2_0052_DEE3(); |
| 266 |
|
l__0622: |
| 267 |
|
emu_addw(&emu_sp, 0x8); |
| 268 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x31D4)); |
| 269 |
|
emu_ax = 0xFF; |
| 270 |
|
emu_push(emu_ax); |
| 271 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C34)); |
| 272 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C32)); |
| 273 |
|
emu_push(emu_cs); emu_push(0x063A); emu_cs = 0x2BA5; f__2BA5_00A2_0052_DEE3(); |
| 274 |
|
l__063A: |
| 275 |
|
emu_addw(&emu_sp, 0x8); |
| 276 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x31D4)); |
| 277 |
|
emu_ax = 0xFF; |
| 278 |
|
emu_push(emu_ax); |
| 279 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C34)); |
| 280 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C32)); |
| 281 |
|
emu_push(emu_cs); emu_push(0x0652); emu_cs = 0x2BA5; f__2BA5_00A2_0052_DEE3(); |
| 282 |
|
l__0652: |
| 283 |
|
emu_addw(&emu_sp, 0x8); |
| 284 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x31D4)); |
| 285 |
|
emu_ax = 0xFF; |
| 286 |
|
emu_push(emu_ax); |
| 287 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C34)); |
| 288 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C32)); |
| 289 |
|
emu_push(emu_cs); emu_push(0x066A); emu_cs = 0x2BA5; f__2BA5_00A2_0052_DEE3(); |
| 290 |
|
l__066A: |
| 291 |
|
emu_addw(&emu_sp, 0x8); |
| 292 |
|
emu_orw(&emu_ax, emu_ax); |
| 293 |
|
if (emu_ax == 0) { |
| 294 |
|
emu_cmpw(&emu_get_memory16(emu_ds, 0x00, 0x31D4), 0xD); |
| 295 |
|
if (emu_get_memory16(emu_ds, 0x00, 0x31D4) == 0xD) goto l__0680; |
| 296 |
|
emu_get_memory16(emu_ds, 0x00, 0x31D4) = 0xD; |
| 297 |
|
} |
| 298 |
|
goto l__06B1; |
| 299 |
|
l__0680: |
| 300 |
|
emu_get_memory16(emu_ds, 0x00, 0x31D4) = 0xF; |
| 301 |
|
emu_cmpw(&emu_get_memory16(emu_ds, 0x00, 0x3A0E), 0x2); |
| 302 |
|
if (emu_get_memory16(emu_ds, 0x00, 0x3A0E) == 0x2) { |
| 303 |
|
emu_cmpw(&emu_get_memory16(emu_ds, 0x00, 0x38EC), 0x0); |
| 304 |
|
if (emu_get_memory16(emu_ds, 0x00, 0x38EC) != 0x0) goto l__069C; |
| 305 |
|
emu_get_memory16(emu_ds, 0x00, 0x31D4) = 0x6; |
| 306 |
|
} |
| 307 |
|
goto l__06B1; |
| 308 |
|
l__069C: |
| 309 |
|
emu_cmpw(&emu_get_memory16(emu_ds, 0x00, 0x38EC), 0x0); |
| 310 |
|
if ((int16)emu_get_memory16(emu_ds, 0x00, 0x38EC) >= (int16)0x0) goto l__06AB; |
| 311 |
|
emu_get_memory16(emu_ds, 0x00, 0x31D4) = 0x5; |
| 312 |
|
goto l__06B1; |
| 313 |
|
l__06AB: |
| 314 |
|
emu_get_memory16(emu_ds, 0x00, 0x31D4) = 0xF; |
| 315 |
|
l__06B1: |
| 316 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C34)); |
| 317 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C32)); |
| 318 |
|
emu_push(emu_cs); emu_push(0x06BE); emu_cs = 0x259E; f__259E_0040_0015_5E4A(); |
| 319 |
|
l__06BE: |
| 320 |
|
emu_pop(&emu_cx); |
| 321 |
|
emu_pop(&emu_cx); |
| 322 |
|
emu_ax = emu_get_memory16(emu_ds, 0x00, 0x76AE); |
| 323 |
|
emu_dx = emu_get_memory16(emu_ds, 0x00, 0x76AC); |
| 324 |
|
emu_addw(&emu_dx, 0x3); |
| 325 |
|
emu_adcw(&emu_ax, 0x0); |
| 326 |
|
emu_get_memory16(emu_ds, 0x00, 0x31CC) = emu_ax; |
| 327 |
|
emu_get_memory16(emu_ds, 0x00, 0x31CA) = emu_dx; |
| 328 |
|
l__06D4: |
| 329 |
|
emu_ax = emu_get_memory16(emu_ds, 0x00, 0x31C8); |
| 330 |
|
emu_dx = emu_get_memory16(emu_ds, 0x00, 0x31C6); |
| 331 |
|
emu_cmpw(&emu_ax, emu_get_memory16(emu_ds, 0x00, 0x76AE)); |
| 332 |
|
if ((int16)emu_ax > (int16)emu_get_memory16(emu_ds, 0x00, 0x76AE)) goto l__0755; |
| 333 |
|
if ((int16)emu_ax >= (int16)emu_get_memory16(emu_ds, 0x00, 0x76AE)) { |
| 334 |
|
emu_cmpw(&emu_dx, emu_get_memory16(emu_ds, 0x00, 0x76AC)); |
| 335 |
|
if (emu_dx >= emu_get_memory16(emu_ds, 0x00, 0x76AC)) goto l__0755; |
| 336 |
|
} |
| 337 |
|
l__06E9: |
| 338 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x31D6)); |
| 339 |
|
emu_ax = 0xDF; |
| 340 |
|
emu_push(emu_ax); |
| 341 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C34)); |
| 342 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C32)); |
| 343 |
|
emu_push(emu_cs); emu_push(0x06FE); emu_cs = 0x2BA5; f__2BA5_00A2_0052_DEE3(); |
| 344 |
|
l__06FE: |
| 345 |
|
emu_addw(&emu_sp, 0x8); |
| 346 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x31D6)); |
| 347 |
|
emu_ax = 0xDF; |
| 348 |
|
emu_push(emu_ax); |
| 349 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C34)); |
| 350 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C32)); |
| 351 |
|
emu_push(emu_cs); emu_push(0x0716); emu_cs = 0x2BA5; f__2BA5_00A2_0052_DEE3(); |
| 352 |
|
l__0716: |
| 353 |
|
emu_addw(&emu_sp, 0x8); |
| 354 |
|
emu_orw(&emu_ax, emu_ax); |
| 355 |
|
if (emu_ax == 0) { |
| 356 |
|
emu_cmpw(&emu_get_memory16(emu_ds, 0x00, 0x31D6), 0xC); |
| 357 |
|
if (emu_get_memory16(emu_ds, 0x00, 0x31D6) == 0xC) goto l__072C; |
| 358 |
|
emu_get_memory16(emu_ds, 0x00, 0x31D6) = 0xC; |
| 359 |
|
} |
| 360 |
|
goto l__0732; |
| 361 |
|
l__072C: |
| 362 |
|
emu_get_memory16(emu_ds, 0x00, 0x31D6) = 0xA; |
| 363 |
|
l__0732: |
| 364 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C34)); |
| 365 |
|
emu_push(emu_get_memory16(emu_ds, 0x00, 0x3C32)); |
| 366 |
|
emu_push(emu_cs); emu_push(0x073F); emu_cs = 0x259E; f__259E_0040_0015_5E4A(); |
| 367 |
|
l__073F: |
| 368 |
|
emu_pop(&emu_cx); |
| 369 |
|
emu_pop(&emu_cx); |
| 370 |
|
emu_ax = emu_get_memory16(emu_ds, 0x00, 0x76AE); |
| 371 |
|
emu_dx = emu_get_memory16(emu_ds, 0x00, 0x76AC); |
| 372 |
|
emu_addw(&emu_dx, 0x5); |
| 373 |
|
emu_adcw(&emu_ax, 0x0); |
| 374 |
|
emu_get_memory16(emu_ds, 0x00, 0x31C8) = emu_ax; |
| 375 |
|
emu_get_memory16(emu_ds, 0x00, 0x31C6) = emu_dx; |
| 376 |
|
l__0755: |
| 377 |
|
emu_push(emu_cs); emu_push(0x075A); emu_cs = 0x3483; overlay(0x3483, 0); emu_Unknown_B483_0470(); |
| 378 |
|
l__075A: |
| 379 |
|
emu_pop(&emu_si); |
| 380 |
|
emu_pop(&emu_bp); |
| 381 |
|
|
| 382 |
|
/* Return from this function */ |
| 383 |
|
emu_pop(&emu_ip); |
| 384 |
|
emu_pop(&emu_cs); |
| 385 |
|
return; |
| 386 |
|
} |
| 387 |
|
|
| 388 |
|
/** |
| 389 |
124 |
* Decompiled function emu_Map_SelectNext() |
| 390 |
125 |
* |
| 391 |
126 |
* @name emu_Map_SelectNext |
| |
| /trunk/src/gui/gui.c |
| |
| 10 |
10 |
#include "font.h" |
| 11 |
11 |
#include "gui.h" |
| 12 |
12 |
#include "../os/strings.h" |
| |
13 |
#include "../unknown/unknown.h" |
| 13 |
14 |
|
| 14 |
15 |
extern void f__22A6_1102_004C_B069(); |
| 15 |
16 |
extern void f__24D0_000D_0039_C17D(); |
| 16 |
17 |
extern void f__2598_0000_0017_EB80(); |
| 17 |
18 |
extern void f__259E_0021_001A_E253(); |
| |
19 |
extern void f__259E_0040_0015_5E4A(); |
| 18 |
20 |
extern void f__2605_000C_006D_F8B2(); |
| 19 |
21 |
extern void f__2642_0002_005E_87F6(); |
| 20 |
22 |
extern void f__2642_0069_0008_D517(); |
| |
23 |
extern void f__2BA5_00A2_0052_DEE3(); |
| 21 |
24 |
extern void emu_GUI_DrawFilledRectangle(); |
| 22 |
25 |
extern void emu_GUI_DrawChar(); |
| 23 |
26 |
extern void emu_GUI_DrawLine(); |
| 24 |
27 |
extern void emu_Unknown_07AE_0000(); |
| |
28 |
extern void overlay(uint16 cs, uint8 force); |
| 25 |
29 |
|
| 26 |
30 |
/** |
| 27 |
31 |
* Draw a wired rectangle. |
| |
| |
| 427 |
427 |
|
| 428 |
428 |
GUI_DrawText(g_global->variable_8AEE, left, top, fgColour, bgColour); |
| 429 |
429 |
} |
| |
430 |
|
| |
431 |
/** |
| |
432 |
* Animate the palette. Only works for some colours or something |
| |
433 |
*/ |
| |
434 |
void GUI_PaletteAnimate() |
| |
435 |
{ |
| |
436 |
uint16 locsi = 0; |
| |
437 |
|
| |
438 |
if (g_global->variable_31CE < g_global->variable_76AC) { |
| |
439 |
if (g_global->variable_37B2 != 0) { |
| |
440 |
locsi = 15; |
| |
441 |
} else { |
| |
442 |
locsi = (g_global->variable_31D2 == 0) ? 15 : 6; |
| |
443 |
} |
| |
444 |
|
| |
445 |
memcpy(emu_get_memorycsip(g_global->variable_3C32) + 0x2CD, emu_get_memorycsip(g_global->variable_3C32) + 3 * locsi, 3); |
| |
446 |
|
| |
447 |
emu_push(g_global->variable_3C32.s.cs); emu_push(g_global->variable_3C32.s.ip); |
| |
448 |
emu_push(emu_cs); emu_push(0x05C7); emu_cs = 0x259E; f__259E_0040_0015_5E4A(); |
| |
449 |
emu_sp += 4; |
| |
450 |
|
| |
451 |
g_global->variable_31D2 = (g_global->variable_31D2 == 0) ? 1 : 0; |
| |
452 |
g_global->variable_31CE = g_global->variable_76AC + 60; |
| |
453 |
} |
| |
454 |
|
| |
455 |
if (g_global->variable_31CA < g_global->variable_76AC && g_global->selectionType != 0) { |
| |
456 |
emu_push(g_global->variable_31D4); |
| |
457 |
emu_push(255); |
| |
458 |
emu_push(g_global->variable_3C32.s.cs); emu_push(g_global->variable_3C32.s.ip); |
| |
459 |
emu_push(emu_cs); emu_push(0x0622); emu_cs = 0x2BA5; f__2BA5_00A2_0052_DEE3(); |
| |
460 |
emu_sp += 8; |
| |
461 |
|
| |
462 |
emu_push(g_global->variable_31D4); |
| |
463 |
emu_push(255); |
| |
464 |
emu_push(g_global->variable_3C32.s.cs); emu_push(g_global->variable_3C32.s.ip); |
| |
465 |
emu_push(emu_cs); emu_push(0x063A); emu_cs = 0x2BA5; f__2BA5_00A2_0052_DEE3(); |
| |
466 |
emu_sp += 8; |
| |
467 |
|
| |
468 |
emu_push(g_global->variable_31D4); |
| |
469 |
emu_push(255); |
| |
470 |
emu_push(g_global->variable_3C32.s.cs); emu_push(g_global->variable_3C32.s.ip); |
| |
471 |
emu_push(emu_cs); emu_push(0x0652); emu_cs = 0x2BA5; f__2BA5_00A2_0052_DEE3(); |
| |
472 |
emu_sp += 8; |
| |
473 |
|
| |
474 |
emu_push(g_global->variable_31D4); |
| |
475 |
emu_push(255); |
| |
476 |
emu_push(g_global->variable_3C32.s.cs); emu_push(g_global->variable_3C32.s.ip); |
| |
477 |
emu_push(emu_cs); emu_push(0x066A); emu_cs = 0x2BA5; f__2BA5_00A2_0052_DEE3(); |
| |
478 |
emu_sp += 8; |
| |
479 |
|
| |
480 |
if (emu_ax == 0) { |
| |
481 |
if (g_global->variable_31D4 == 13) { |
| |
482 |
g_global->variable_31D4 = 15; |
| |
483 |
|
| |
484 |
if (g_global->selectionType == 2) { |
| |
485 |
if (g_global->variable_38EC != 0) { |
| |
486 |
g_global->variable_31D4 = ((g_global->variable_38EC & 0x8000) != 0) ? 5 : 15; |
| |
487 |
} else { |
| |
488 |
g_global->variable_31D4 = 6; |
| |
489 |
} |
| |
490 |
} |
| |
491 |
} else { |
| |
492 |
g_global->variable_31D4 = 13; |
| |
493 |
} |
| |
494 |
} |
| |
495 |
|
| |
496 |
emu_push(g_global->variable_3C32.s.cs); emu_push(g_global->variable_3C32.s.ip); |
| |
497 |
emu_push(emu_cs); emu_push(0x06BE); emu_cs = 0x259E; f__259E_0040_0015_5E4A(); |
| |
498 |
emu_sp += 4; |
| |
499 |
|
| |
500 |
g_global->variable_31CA = g_global->variable_76AC + 3; |
| |
501 |
} |
| |
502 |
|
| |
503 |
if (g_global->variable_31C6 < g_global->variable_76AC) { |
| |
504 |
emu_push(g_global->variable_31D6); |
| |
505 |
emu_push(223); |
| |
506 |
emu_push(g_global->variable_3C32.s.cs); emu_push(g_global->variable_3C32.s.ip); |
| |
507 |
emu_push(emu_cs); emu_push(0x06FE); emu_cs = 0x2BA5; f__2BA5_00A2_0052_DEE3(); |
| |
508 |
emu_sp += 8; |
| |
509 |
|
| |
510 |
emu_push(g_global->variable_31D6); |
| |
511 |
emu_push(223); |
| |
512 |
emu_push(g_global->variable_3C32.s.cs); emu_push(g_global->variable_3C32.s.ip); |
| |
513 |
emu_push(emu_cs); emu_push(0x0716); emu_cs = 0x2BA5; f__2BA5_00A2_0052_DEE3(); |
| |
514 |
emu_sp += 8; |
| |
515 |
|
| |
516 |
if (emu_ax == 0) { |
| |
517 |
if (g_global->variable_31D6 == 12) { |
| |
518 |
g_global->variable_31D6 = 10; |
| |
519 |
} else { |
| |
520 |
g_global->variable_31D6 = 12; |
| |
521 |
} |
| |
522 |
} |
| |
523 |
|
| |
524 |
emu_push(g_global->variable_3C32.s.cs); emu_push(g_global->variable_3C32.s.ip); |
| |
525 |
emu_push(emu_cs); emu_push(0x073F); emu_cs = 0x259E; f__259E_0040_0015_5E4A(); |
| |
526 |
emu_sp += 4; |
| |
527 |
|
| |
528 |
g_global->variable_31C6 = g_global->variable_76AC + 5; |
| |
529 |
} |
| |
530 |
|
| |
531 |
emu_push(emu_cs); emu_push(0x075A); emu_cs = 0x3483; overlay(0x3483, 0); emu_Unknown_B483_0470(); |
| |
532 |
} |
| |