mirror of https://github.com/nmlgc/ReC98.git
[Reverse-engineering] [th02/th04/th05] .map file loading
Funded by -Tom-.
This commit is contained in:
parent
13a6a1d64c
commit
f98fba3c9d
|
@ -36,3 +36,5 @@ mikoconfig_t struc
|
||||||
mikoconfig_t ends
|
mikoconfig_t ends
|
||||||
|
|
||||||
END_LINE_LEN = 46
|
END_LINE_LEN = 46
|
||||||
|
|
||||||
|
MAP_SIZE = 0C00h
|
||||||
|
|
825
th02_main.asm
825
th02_main.asm
|
@ -986,28 +986,27 @@ sub_42F8 endp
|
||||||
|
|
||||||
; Attributes: bp-based frame
|
; Attributes: bp-based frame
|
||||||
|
|
||||||
sub_4314 proc near
|
MAP_SIG_SIZE = 10
|
||||||
|
|
||||||
arg_2 = word ptr 6
|
map_load proc pascal
|
||||||
arg_4 = word ptr 8
|
arg @@fn:dword
|
||||||
|
local @@ms:byte:MAP_SIG_SIZE
|
||||||
|
|
||||||
enter 0Ah, 0
|
push word ptr @@fn+2
|
||||||
push [bp+arg_4]
|
push word ptr @@fn
|
||||||
push [bp+arg_2]
|
nopcall file_ropen
|
||||||
nopcall file_ropen
|
push ss
|
||||||
push ss
|
lea ax, @@ms
|
||||||
lea ax, [bp-0Ah]
|
push ax
|
||||||
push ax
|
push MAP_SIG_SIZE
|
||||||
push 0Ah
|
nopcall file_read
|
||||||
nopcall file_read
|
push ds
|
||||||
push ds
|
push offset map
|
||||||
push offset unk_21A56
|
push MAP_SIZE
|
||||||
push 0C00h
|
nopcall file_read
|
||||||
nopcall file_read
|
nopcall file_close
|
||||||
nopcall file_close
|
ret
|
||||||
leave
|
map_load endp
|
||||||
retf 4
|
|
||||||
sub_4314 endp
|
|
||||||
|
|
||||||
|
|
||||||
; =============== S U B R O U T I N E =======================================
|
; =============== S U B R O U T I N E =======================================
|
||||||
|
@ -1259,7 +1258,7 @@ loc_449C:
|
||||||
loc_44BF:
|
loc_44BF:
|
||||||
mov bx, di
|
mov bx, di
|
||||||
add bx, cx
|
add bx, cx
|
||||||
mov al, [bx+3FE6h]
|
mov al, map[bx]
|
||||||
mov [si+4DF6h], al
|
mov [si+4DF6h], al
|
||||||
mov bx, [bp+var_2]
|
mov bx, [bp+var_2]
|
||||||
mov [bx+si+4E0Fh], al
|
mov [bx+si+4E0Fh], al
|
||||||
|
@ -1359,7 +1358,7 @@ loc_455C:
|
||||||
and ax, 7
|
and ax, 7
|
||||||
imul ax, 18h
|
imul ax, 18h
|
||||||
add bx, ax
|
add bx, ax
|
||||||
mov al, [bx+si+3FE6h]
|
mov al, map[bx+si]
|
||||||
mov ah, 0
|
mov ah, 0
|
||||||
mov [bp-2], ax
|
mov [bp-2], ax
|
||||||
mov ax, si
|
mov ax, si
|
||||||
|
@ -1425,7 +1424,7 @@ loc_45CB:
|
||||||
and ax, 7
|
and ax, 7
|
||||||
imul ax, 18h
|
imul ax, 18h
|
||||||
add bx, ax
|
add bx, ax
|
||||||
mov al, [bx+si+3FE6h]
|
mov al, map[bx+si]
|
||||||
mov bx, 17h
|
mov bx, 17h
|
||||||
sub bx, di
|
sub bx, di
|
||||||
imul bx, 18h
|
imul bx, 18h
|
||||||
|
@ -2331,7 +2330,7 @@ loc_B4D7:
|
||||||
push ss
|
push ss
|
||||||
lea ax, [bp+var_C]
|
lea ax, [bp+var_C]
|
||||||
push ax
|
push ax
|
||||||
call far ptr sub_4314
|
call map_load
|
||||||
call sub_42F8
|
call sub_42F8
|
||||||
push ss
|
push ss
|
||||||
lea ax, [bp+var_C]
|
lea ax, [bp+var_C]
|
||||||
|
@ -38737,19 +38736,13 @@ byte_21A52 db ?
|
||||||
byte_21A53 db ?
|
byte_21A53 db ?
|
||||||
byte_21A54 db ?
|
byte_21A54 db ?
|
||||||
byte_21A55 db ?
|
byte_21A55 db ?
|
||||||
unk_21A56 db ? ;
|
map db MAP_SIZE dup (?)
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
db ? ;
|
|
||||||
word_21A70 dw ?
|
|
||||||
word_21A72 dw ?
|
|
||||||
dword_21A74 dd ?
|
|
||||||
word_21A78 dw ?
|
|
||||||
word_21A7A dw ?
|
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
|
@ -38814,12 +38807,6 @@ word_21A7A dw ?
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
byte_21B7C db ?
|
|
||||||
db ?
|
|
||||||
word_21B7E dw ?
|
|
||||||
word_21B80 dw ?
|
|
||||||
byte_21B82 db ?
|
|
||||||
byte_21B83 db ?
|
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
|
@ -38830,770 +38817,6 @@ byte_21B83 db ?
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
db ? ;
|
|
||||||
db ? ;
|
|
||||||
word_22796 dw ?
|
word_22796 dw ?
|
||||||
byte_22798 db ?
|
byte_22798 db ?
|
||||||
dd ? ;
|
dd ? ;
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
; .map file header.
|
||||||
|
|
||||||
|
map_header_t struc
|
||||||
|
map_size dw ?
|
||||||
|
map_unk dw 3 dup (?)
|
||||||
|
map_header_t ends
|
|
@ -1,2 +1,4 @@
|
||||||
GAME = 4
|
GAME = 4
|
||||||
include defconv_pascal.inc
|
include defconv_pascal.inc
|
||||||
|
|
||||||
|
include th04/formats/map.inc
|
||||||
|
|
|
@ -978,7 +978,7 @@ loc_B141:
|
||||||
call sub_B8FC
|
call sub_B8FC
|
||||||
|
|
||||||
loc_B144:
|
loc_B144:
|
||||||
call sub_B971
|
call map_load
|
||||||
call sub_B6D1
|
call sub_B6D1
|
||||||
call sub_CED4
|
call sub_CED4
|
||||||
call sub_BAA2
|
call sub_BAA2
|
||||||
|
@ -1091,7 +1091,7 @@ sub_B29E proc near
|
||||||
call sub_1DFD4
|
call sub_1DFD4
|
||||||
call sub_CF1E
|
call sub_CF1E
|
||||||
call sub_B79E
|
call sub_B79E
|
||||||
call sub_B9BB
|
call map_free
|
||||||
push 800100h
|
push 800100h
|
||||||
call super_clean
|
call super_clean
|
||||||
mov si, 8
|
mov si, 8
|
||||||
|
@ -1765,7 +1765,7 @@ loc_B89D:
|
||||||
pop es
|
pop es
|
||||||
assume es:_DATA
|
assume es:_DATA
|
||||||
push ds
|
push ds
|
||||||
mov ax, word_25A3E
|
mov ax, map_seg
|
||||||
mov ds, ax
|
mov ds, ax
|
||||||
mov cx, 18h
|
mov cx, 18h
|
||||||
rep movsw
|
rep movsw
|
||||||
|
@ -1865,11 +1865,11 @@ sub_B8FC endp
|
||||||
|
|
||||||
; Attributes: bp-based frame
|
; Attributes: bp-based frame
|
||||||
|
|
||||||
sub_B971 proc near
|
map_load proc near
|
||||||
|
|
||||||
var_8 = word ptr -8
|
@@mh = map_header_t ptr -(size map_header_t)
|
||||||
|
|
||||||
enter 8, 0
|
enter size map_header_t, 0
|
||||||
les bx, dword_2CDC6
|
les bx, dword_2CDC6
|
||||||
assume es:nothing
|
assume es:nothing
|
||||||
mov al, es:[bx+13h]
|
mov al, es:[bx+13h]
|
||||||
|
@ -1879,41 +1879,41 @@ var_8 = word ptr -8
|
||||||
push bx
|
push bx
|
||||||
call file_ropen
|
call file_ropen
|
||||||
push ss
|
push ss
|
||||||
lea ax, [bp+var_8]
|
lea ax, [bp+@@mh]
|
||||||
push ax
|
push ax
|
||||||
push 8
|
push size map_header_t
|
||||||
call file_read
|
call file_read
|
||||||
call sub_B9BB
|
call map_free
|
||||||
push [bp+var_8]
|
push [bp+@@mh.map_size]
|
||||||
call hmem_allocbyte
|
call hmem_allocbyte
|
||||||
mov word_25A3E, ax
|
mov map_seg, ax
|
||||||
push ax
|
push ax
|
||||||
push 0
|
push 0
|
||||||
push [bp+var_8]
|
push [bp+@@mh.map_size]
|
||||||
call file_read
|
call file_read
|
||||||
call file_close
|
call file_close
|
||||||
leave
|
leave
|
||||||
retn
|
retn
|
||||||
sub_B971 endp
|
map_load endp
|
||||||
|
|
||||||
|
|
||||||
; =============== S U B R O U T I N E =======================================
|
; =============== S U B R O U T I N E =======================================
|
||||||
|
|
||||||
; Attributes: bp-based frame
|
; Attributes: bp-based frame
|
||||||
|
|
||||||
sub_B9BB proc near
|
map_free proc near
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
cmp word_25A3E, 0
|
cmp map_seg, 0
|
||||||
jz short loc_B9D4
|
jz short loc_B9D4
|
||||||
push word_25A3E
|
push map_seg
|
||||||
call hmem_free
|
call hmem_free
|
||||||
mov word_25A3E, 0
|
mov map_seg, 0
|
||||||
|
|
||||||
loc_B9D4:
|
loc_B9D4:
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
sub_B9BB endp
|
map_free endp
|
||||||
|
|
||||||
|
|
||||||
; =============== S U B R O U T I N E =======================================
|
; =============== S U B R O U T I N E =======================================
|
||||||
|
@ -2041,7 +2041,7 @@ sub_BAA2 proc near
|
||||||
mov es, ax
|
mov es, ax
|
||||||
mov ax, word_21C58
|
mov ax, word_21C58
|
||||||
mov fs, ax
|
mov fs, ax
|
||||||
mov ax, word_25A3E
|
mov ax, map_seg
|
||||||
mov ds, ax
|
mov ds, ax
|
||||||
mov al, 5
|
mov al, 5
|
||||||
|
|
||||||
|
@ -5297,7 +5297,7 @@ loc_CF63:
|
||||||
push 1Fh
|
push 1Fh
|
||||||
call sub_13A58
|
call sub_13A58
|
||||||
call sub_B79E
|
call sub_B79E
|
||||||
call sub_B9BB
|
call map_free
|
||||||
|
|
||||||
loc_CF70:
|
loc_CF70:
|
||||||
nopcall sub_D6EB
|
nopcall sub_D6EB
|
||||||
|
@ -8547,7 +8547,7 @@ loc_E813:
|
||||||
call sub_CF1E
|
call sub_CF1E
|
||||||
call sub_FF89
|
call sub_FF89
|
||||||
call sub_B79E
|
call sub_B79E
|
||||||
call sub_B9BB
|
call map_free
|
||||||
call super_free
|
call super_free
|
||||||
call graph_hide
|
call graph_hide
|
||||||
call text_clear
|
call text_clear
|
||||||
|
@ -47704,7 +47704,7 @@ byte_25A38 db ?
|
||||||
word_25A3A dw ?
|
word_25A3A dw ?
|
||||||
byte_25A3C db ?
|
byte_25A3C db ?
|
||||||
byte_25A3D db ?
|
byte_25A3D db ?
|
||||||
word_25A3E dw ?
|
map_seg dw ?
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
GAME = 5
|
GAME = 5
|
||||||
include defconv_pascal.inc
|
include defconv_pascal.inc
|
||||||
|
|
||||||
|
include th04/formats/map.inc
|
||||||
|
|
|
@ -1097,7 +1097,7 @@ loc_B4A6:
|
||||||
call sub_BAF8
|
call sub_BAF8
|
||||||
|
|
||||||
loc_B4A9:
|
loc_B4A9:
|
||||||
call sub_BB3E
|
call map_load
|
||||||
call sub_BDEC
|
call sub_BDEC
|
||||||
call sub_EE17
|
call sub_EE17
|
||||||
call sub_BB9A
|
call sub_BB9A
|
||||||
|
@ -1224,7 +1224,7 @@ sub_B609 proc near
|
||||||
call sub_14529
|
call sub_14529
|
||||||
call sub_EE32
|
call sub_EE32
|
||||||
call sub_BEA4
|
call sub_BEA4
|
||||||
call sub_BB82
|
call map_free
|
||||||
push 0B40100h
|
push 0B40100h
|
||||||
call super_clean
|
call super_clean
|
||||||
mov si, 1
|
mov si, 1
|
||||||
|
@ -1825,9 +1825,9 @@ sub_BAF8 endp
|
||||||
; =============== S U B R O U T I N E =======================================
|
; =============== S U B R O U T I N E =======================================
|
||||||
|
|
||||||
|
|
||||||
sub_BB3E proc near
|
map_load proc near
|
||||||
push si
|
push si
|
||||||
call sub_BB82
|
call map_free
|
||||||
mov al, stage_id
|
mov al, stage_id
|
||||||
add al, 30h ; '0'
|
add al, 30h ; '0'
|
||||||
mov aSt00_map+3, al
|
mov aSt00_map+3, al
|
||||||
|
@ -1840,17 +1840,17 @@ sub_BB3E proc near
|
||||||
mov bx, ax
|
mov bx, ax
|
||||||
mov si, ax
|
mov si, ax
|
||||||
mov ah, 3Fh ; '?'
|
mov ah, 3Fh ; '?'
|
||||||
mov dx, 3514h
|
mov dx, offset map_header
|
||||||
mov cx, 8
|
mov cx, 8
|
||||||
int 21h ; DOS - 2+ - READ FROM FILE WITH HANDLE
|
int 21h ; DOS - 2+ - READ FROM FILE WITH HANDLE
|
||||||
; BX = file handle, CX = number of bytes to read
|
; BX = file handle, CX = number of bytes to read
|
||||||
; DS:DX -> buffer
|
; DS:DX -> buffer
|
||||||
push word_23EF4
|
push map_header.map_size
|
||||||
call hmem_allocbyte
|
call hmem_allocbyte
|
||||||
mov word_25354, ax
|
mov map_seg, ax
|
||||||
push ds
|
push ds
|
||||||
mov bx, si
|
mov bx, si
|
||||||
mov cx, word_23EF4
|
mov cx, map_header.map_size
|
||||||
mov ds, ax
|
mov ds, ax
|
||||||
xor dx, dx
|
xor dx, dx
|
||||||
mov ah, 3Fh
|
mov ah, 3Fh
|
||||||
|
@ -1863,22 +1863,22 @@ sub_BB3E proc near
|
||||||
; BX = file handle
|
; BX = file handle
|
||||||
pop si
|
pop si
|
||||||
retn
|
retn
|
||||||
sub_BB3E endp
|
map_load endp
|
||||||
|
|
||||||
|
|
||||||
; =============== S U B R O U T I N E =======================================
|
; =============== S U B R O U T I N E =======================================
|
||||||
|
|
||||||
|
|
||||||
sub_BB82 proc near
|
map_free proc near
|
||||||
cmp word_25354, 0
|
cmp map_seg, 0
|
||||||
jz short locret_BB98
|
jz short locret_BB98
|
||||||
push word_25354
|
push map_seg
|
||||||
call hmem_free
|
call hmem_free
|
||||||
mov word_25354, 0
|
mov map_seg, 0
|
||||||
|
|
||||||
locret_BB98:
|
locret_BB98:
|
||||||
retn
|
retn
|
||||||
sub_BB82 endp
|
map_free endp
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
nop
|
nop
|
||||||
|
@ -1900,7 +1900,7 @@ sub_BB9A proc near
|
||||||
assume es:_DATA
|
assume es:_DATA
|
||||||
mov ax, word_21290
|
mov ax, word_21290
|
||||||
mov fs, ax
|
mov fs, ax
|
||||||
mov ax, word_25354
|
mov ax, map_seg
|
||||||
mov ds, ax
|
mov ds, ax
|
||||||
mov al, 5
|
mov al, 5
|
||||||
|
|
||||||
|
@ -2165,7 +2165,7 @@ loc_BD88:
|
||||||
pop es
|
pop es
|
||||||
assume es:_DATA
|
assume es:_DATA
|
||||||
push ds
|
push ds
|
||||||
mov ax, word_25354
|
mov ax, map_seg
|
||||||
mov ds, ax
|
mov ds, ax
|
||||||
mov cx, 18h
|
mov cx, 18h
|
||||||
rep movsw
|
rep movsw
|
||||||
|
@ -10398,7 +10398,7 @@ loc_F71C:
|
||||||
call sub_EE32
|
call sub_EE32
|
||||||
call sub_CE68
|
call sub_CE68
|
||||||
call sub_BEA4
|
call sub_BEA4
|
||||||
call sub_BB82
|
call map_free
|
||||||
call super_free
|
call super_free
|
||||||
call graph_hide
|
call graph_hide
|
||||||
call text_clear
|
call text_clear
|
||||||
|
@ -45501,10 +45501,7 @@ include libs/master.lib/pfint21[bss].asm
|
||||||
word_23EEC dw ?
|
word_23EEC dw ?
|
||||||
dw ?
|
dw ?
|
||||||
dword_23EF0 dd ?
|
dword_23EF0 dd ?
|
||||||
word_23EF4 dw ?
|
map_header map_header_t ?
|
||||||
dd ? ;
|
|
||||||
db ? ;
|
|
||||||
db ? ;
|
|
||||||
byte_23EFC db ?
|
byte_23EFC db ?
|
||||||
word_23EFD dw ?
|
word_23EFD dw ?
|
||||||
word_23EFF dw ?
|
word_23EFF dw ?
|
||||||
|
@ -46852,7 +46849,7 @@ byte_25350 db ?
|
||||||
byte_25351 db ?
|
byte_25351 db ?
|
||||||
byte_25352 db ?
|
byte_25352 db ?
|
||||||
byte_25353 db ?
|
byte_25353 db ?
|
||||||
word_25354 dw ?
|
map_seg dw ?
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
dd ? ;
|
dd ? ;
|
||||||
|
|
Loading…
Reference in New Issue