mirror of https://github.com/nmlgc/ReC98.git
[Naming] [th02] Stage tiles: Public .MPN functions
Part of P0235, funded by Ember2528.
This commit is contained in:
parent
ca0a076e92
commit
a51910c544
|
@ -25,6 +25,10 @@ typedef struct {
|
|||
// header.
|
||||
int pascal mpn_load_palette_show(const char *fn);
|
||||
|
||||
// Blits the given [image] from the currently loaded .MPN to
|
||||
// (⌊left/8⌋*8, top).
|
||||
void pascal mpn_put_8(screen_x_t left, vram_y_t top, int image);
|
||||
|
||||
void mpn_free(void);
|
||||
#endif
|
||||
/// -------------------------------------------------------------------------
|
||||
|
|
210
th02_main.asm
210
th02_main.asm
|
@ -144,20 +144,20 @@ include libs/master.lib/super_zoom.asm
|
|||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
; Attributes: bp-based frame
|
||||
public @MPN_PUT_8$QIII
|
||||
@mpn_put_8$qiii proc far
|
||||
|
||||
sub_3998 proc far
|
||||
|
||||
arg_0 = word ptr 6
|
||||
arg_2 = word ptr 8
|
||||
arg_4 = word ptr 0Ah
|
||||
@@image = word ptr 6
|
||||
@@top = word ptr 8
|
||||
@@left = word ptr 0Ah
|
||||
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
push di
|
||||
push ds
|
||||
mov di, [bp+arg_2]
|
||||
mov ax, [bp+arg_4]
|
||||
mov di, [bp+@@top]
|
||||
mov ax, [bp+@@left]
|
||||
sar ax, 3
|
||||
mov dx, di
|
||||
shl dx, 6
|
||||
|
@ -165,7 +165,7 @@ arg_4 = word ptr 0Ah
|
|||
shr dx, 2
|
||||
add ax, dx
|
||||
mov di, ax
|
||||
mov ax, [bp+arg_0]
|
||||
mov ax, [bp+@@image]
|
||||
shl ax, 7
|
||||
mov dx, word ptr _mpn_images+2
|
||||
mov bx, word ptr _mpn_images
|
||||
|
@ -203,7 +203,7 @@ loc_39CC:
|
|||
pop si
|
||||
pop bp
|
||||
retf 6
|
||||
sub_3998 endp
|
||||
@mpn_put_8$qiii endp
|
||||
|
||||
include libs/master.lib/pfint21.asm
|
||||
db 0
|
||||
|
@ -991,14 +991,14 @@ loc_4356:
|
|||
idiv bx
|
||||
shl ax, 4
|
||||
add ax, TILE_AREA_LEFT
|
||||
push ax
|
||||
push ax ; left
|
||||
mov ax, si
|
||||
cwd
|
||||
idiv bx
|
||||
shl dx, 4
|
||||
push dx
|
||||
push si
|
||||
nopcall sub_3998
|
||||
push dx ; top
|
||||
push si ; image
|
||||
nopcall @mpn_put_8$qiii
|
||||
cmp di, 0
|
||||
jz short loc_4383
|
||||
xor di, di
|
||||
|
@ -1296,10 +1296,10 @@ loc_455C:
|
|||
mov ax, si
|
||||
shl ax, 4
|
||||
add ax, [bp+8]
|
||||
push ax
|
||||
push word ptr [bp+6]
|
||||
push word ptr [bp-2]
|
||||
nopcall sub_3998
|
||||
push ax ; left
|
||||
push word ptr [bp+6] ; top
|
||||
push word ptr [bp-2] ; image
|
||||
nopcall @mpn_put_8$qiii
|
||||
inc si
|
||||
|
||||
loc_458B:
|
||||
|
@ -15518,16 +15518,16 @@ sub_12E95 endp
|
|||
|
||||
sub_12F23 proc near
|
||||
|
||||
var_4 = word ptr -4
|
||||
var_2 = word ptr -2
|
||||
arg_0 = word ptr 4
|
||||
@@top_2 = word ptr -4
|
||||
@@top_1 = word ptr -2
|
||||
@@mpn_image = word ptr 4
|
||||
|
||||
enter 4, 0
|
||||
push si
|
||||
push di
|
||||
mov di, [bp+arg_0]
|
||||
mov [bp+var_2], 0
|
||||
mov [bp+var_4], 0
|
||||
mov di, [bp+@@mpn_image]
|
||||
mov [bp+@@top_1], 0
|
||||
mov [bp+@@top_2], 0
|
||||
mov si, 328
|
||||
add si, _scroll_line
|
||||
cmp si, RES_Y
|
||||
|
@ -15535,19 +15535,19 @@ arg_0 = word ptr 4
|
|||
sub si, RES_Y
|
||||
|
||||
loc_12F47:
|
||||
lea ax, [si+10h]
|
||||
add [bp+var_2], ax
|
||||
cmp [bp+var_2], 190h
|
||||
lea ax, [si+TILE_H]
|
||||
add [bp+@@top_1], ax
|
||||
cmp [bp+@@top_1], RES_Y
|
||||
jl short loc_12F59
|
||||
sub [bp+var_2], 190h
|
||||
sub [bp+@@top_1], RES_Y
|
||||
|
||||
loc_12F59:
|
||||
mov ax, [bp+var_2]
|
||||
add ax, 10h
|
||||
add [bp+var_4], ax
|
||||
cmp [bp+var_4], 190h
|
||||
mov ax, [bp+@@top_1]
|
||||
add ax, TILE_H
|
||||
add [bp+@@top_2], ax
|
||||
cmp [bp+@@top_2], RES_Y
|
||||
jl short loc_12F6E
|
||||
sub [bp+var_4], 190h
|
||||
sub [bp+@@top_2], RES_Y
|
||||
|
||||
loc_12F6E:
|
||||
cmp di, 255
|
||||
|
@ -15564,50 +15564,47 @@ loc_12F6E:
|
|||
; ---------------------------------------------------------------------------
|
||||
|
||||
loc_12F94:
|
||||
push 28h ; '('
|
||||
push si
|
||||
push di
|
||||
call sub_3998
|
||||
push 38h ; '8'
|
||||
push si
|
||||
call @mpn_put_8$qiii pascal, 40, si, di
|
||||
push 56 ; left
|
||||
push si ; top
|
||||
lea ax, [di+1]
|
||||
push ax
|
||||
call sub_3998
|
||||
push 48h ; 'H'
|
||||
push si
|
||||
push ax ; image
|
||||
call @mpn_put_8$qiii
|
||||
push 72 ; left
|
||||
push si ; top
|
||||
lea ax, [di+2]
|
||||
push ax
|
||||
call sub_3998
|
||||
push 28h ; '('
|
||||
push [bp+var_2]
|
||||
push ax ; image
|
||||
call @mpn_put_8$qiii
|
||||
push 40 ; left
|
||||
push [bp+@@top_1] ; top
|
||||
lea ax, [di+10h]
|
||||
push ax
|
||||
call sub_3998
|
||||
push 38h ; '8'
|
||||
push [bp+var_2]
|
||||
push ax ; image
|
||||
call @mpn_put_8$qiii
|
||||
push 56 ; left
|
||||
push [bp+@@top_1] ; top
|
||||
lea ax, [di+11h]
|
||||
push ax
|
||||
call sub_3998
|
||||
push 48h ; 'H'
|
||||
push [bp+var_2]
|
||||
push ax ; image
|
||||
call @mpn_put_8$qiii
|
||||
push 72 ; left
|
||||
push [bp+@@top_1] ; top
|
||||
lea ax, [di+12h]
|
||||
push ax
|
||||
call sub_3998
|
||||
push 28h ; '('
|
||||
push [bp+var_4]
|
||||
push ax ; image
|
||||
call @mpn_put_8$qiii
|
||||
push 40 ; left
|
||||
push [bp+@@top_2] ; top
|
||||
lea ax, [di+20h]
|
||||
push ax
|
||||
call sub_3998
|
||||
push 38h ; '8'
|
||||
push [bp+var_4]
|
||||
push ax ; image
|
||||
call @mpn_put_8$qiii
|
||||
push 56 ; left
|
||||
push [bp+@@top_2] ; top
|
||||
lea ax, [di+21h]
|
||||
push ax
|
||||
call sub_3998
|
||||
push 48h ; 'H'
|
||||
push [bp+var_4]
|
||||
push ax ; image
|
||||
call @mpn_put_8$qiii
|
||||
push 72 ; left
|
||||
push [bp+@@top_2] ; top
|
||||
lea ax, [di+22h]
|
||||
push ax
|
||||
call sub_3998
|
||||
push ax ; image
|
||||
call @mpn_put_8$qiii
|
||||
|
||||
loc_13009:
|
||||
pop di
|
||||
|
@ -15675,7 +15672,7 @@ sub_13055 proc near
|
|||
|
||||
var_4 = word ptr -4
|
||||
var_2 = word ptr -2
|
||||
arg_0 = word ptr 4
|
||||
@@mpn_image = word ptr 4
|
||||
|
||||
enter 4, 0
|
||||
push si
|
||||
|
@ -15692,8 +15689,7 @@ arg_0 = word ptr 4
|
|||
|
||||
loc_13090:
|
||||
call _input_sense
|
||||
push [bp+arg_0]
|
||||
call sub_12F23
|
||||
call sub_12F23 pascal, [bp+@@mpn_image]
|
||||
cmp si, 24h ; '$'
|
||||
jg short loc_130B3
|
||||
push 0
|
||||
|
@ -15782,8 +15778,7 @@ loc_13123:
|
|||
imul bx, 16h
|
||||
mov al, [bx+si+115Ch]
|
||||
mov ah, 0
|
||||
push ax
|
||||
call sub_13055
|
||||
call sub_13055 pascal, ax
|
||||
inc si
|
||||
|
||||
loc_13134:
|
||||
|
@ -15809,10 +15804,8 @@ sub_1310B endp
|
|||
sub_1314C proc near
|
||||
push bp
|
||||
mov bp, sp
|
||||
push 0
|
||||
call sub_13055
|
||||
push 60h
|
||||
call sub_13055
|
||||
call sub_13055 pascal, 0
|
||||
call sub_13055 pascal, 96
|
||||
pop bp
|
||||
retn
|
||||
sub_1314C endp
|
||||
|
@ -15842,8 +15835,7 @@ var_8 = byte ptr -8
|
|||
loc_13175:
|
||||
mov al, [bp+si+var_8]
|
||||
mov ah, 0
|
||||
push ax
|
||||
call sub_13055
|
||||
call sub_13055 pascal, ax
|
||||
inc si
|
||||
|
||||
loc_1317F:
|
||||
|
@ -15879,8 +15871,7 @@ var_C = byte ptr -0Ch
|
|||
loc_131A1:
|
||||
mov al, [bp+si+var_C]
|
||||
mov ah, 0
|
||||
push ax
|
||||
call sub_13055
|
||||
call sub_13055 pascal, ax
|
||||
inc si
|
||||
|
||||
loc_131AB:
|
||||
|
@ -15949,8 +15940,7 @@ loc_13238:
|
|||
add bx, bx
|
||||
lea ax, [bp+var_6]
|
||||
add bx, ax
|
||||
push word ptr ss:[bx]
|
||||
call sub_13055
|
||||
call sub_13055 pascal, word ptr ss:[bx]
|
||||
inc si
|
||||
|
||||
loc_13248:
|
||||
|
@ -16025,8 +16015,7 @@ loc_132ED:
|
|||
add bx, bx
|
||||
lea ax, [bp+var_10]
|
||||
add bx, ax
|
||||
push word ptr ss:[bx]
|
||||
call sub_13055
|
||||
call sub_13055 pascal, word ptr ss:[bx]
|
||||
inc si
|
||||
|
||||
loc_132FD:
|
||||
|
@ -16048,8 +16037,7 @@ loc_13310:
|
|||
add bx, bx
|
||||
lea ax, [bp+var_1A]
|
||||
add bx, ax
|
||||
push word ptr ss:[bx]
|
||||
call sub_13055
|
||||
call sub_13055 pascal, word ptr ss:[bx]
|
||||
inc si
|
||||
|
||||
loc_13320:
|
||||
|
@ -16070,10 +16058,8 @@ sub_131D9 endp
|
|||
sub_13328 proc near
|
||||
push bp
|
||||
mov bp, sp
|
||||
push 6
|
||||
call sub_13055
|
||||
push 69h ; 'i'
|
||||
call sub_13055
|
||||
call sub_13055 pascal, 6
|
||||
call sub_13055 pascal, 105
|
||||
pop bp
|
||||
retn
|
||||
sub_13328 endp
|
||||
|
@ -16104,10 +16090,8 @@ var_16 = byte ptr -16h
|
|||
push offset unk_1ED2C
|
||||
mov cx, 11h
|
||||
call SCOPY@
|
||||
push 6
|
||||
call sub_13055
|
||||
push 69h ; 'i'
|
||||
call sub_13055
|
||||
call sub_13055 pascal, 6
|
||||
call sub_13055 pascal, 105
|
||||
les bx, _resident
|
||||
cmp es:[bx+mikoconfig_t.continues_used], 0
|
||||
jz short loc_13390
|
||||
|
@ -16118,8 +16102,7 @@ var_16 = byte ptr -16h
|
|||
loc_13377:
|
||||
mov al, [bp+si+var_16]
|
||||
mov ah, 0
|
||||
push ax
|
||||
call sub_13055
|
||||
call sub_13055 pascal, ax
|
||||
inc si
|
||||
|
||||
loc_13381:
|
||||
|
@ -16142,8 +16125,7 @@ loc_13390:
|
|||
loc_1339C:
|
||||
mov al, [bp+si+var_28]
|
||||
mov ah, 0
|
||||
push ax
|
||||
call sub_13055
|
||||
call sub_13055 pascal, ax
|
||||
inc si
|
||||
|
||||
loc_133A6:
|
||||
|
@ -16164,8 +16146,7 @@ sub_13337 endp
|
|||
sub_133AE proc near
|
||||
push bp
|
||||
mov bp, sp
|
||||
push 69h ; 'i'
|
||||
call sub_13055
|
||||
call sub_13055 pascal, 105
|
||||
pop bp
|
||||
retn
|
||||
sub_133AE endp
|
||||
|
@ -16201,8 +16182,7 @@ var_6 = byte ptr -6
|
|||
loc_133E5:
|
||||
mov al, [bp+si+var_6]
|
||||
mov ah, 0
|
||||
push ax
|
||||
call sub_13055
|
||||
call sub_13055 pascal, ax
|
||||
inc si
|
||||
|
||||
loc_133EF:
|
||||
|
@ -16222,8 +16202,7 @@ loc_133F6:
|
|||
loc_13402:
|
||||
mov al, byte ptr [bp+si+var_A]
|
||||
mov ah, 0
|
||||
push ax
|
||||
call sub_13055
|
||||
call sub_13055 pascal, ax
|
||||
inc si
|
||||
|
||||
loc_1340C:
|
||||
|
@ -16267,20 +16246,16 @@ sub_13439 proc near
|
|||
nopcall @overlay_wipe$qv
|
||||
kajacall KAJA_SONG_STOP
|
||||
pop cx
|
||||
push 69h ; 'i'
|
||||
call sub_13055
|
||||
call sub_13055 pascal, 105
|
||||
call sub_13414
|
||||
call frame_delay pascal, 10
|
||||
push 69h ; 'i'
|
||||
call sub_13055
|
||||
call sub_13055 pascal, 105
|
||||
call frame_delay pascal, 30
|
||||
call sub_13414
|
||||
call frame_delay pascal, 20
|
||||
push 69h ; 'i'
|
||||
call sub_13055
|
||||
call sub_13055 pascal, 105
|
||||
call frame_delay pascal, 20
|
||||
push 69h ; 'i'
|
||||
call sub_13055
|
||||
call sub_13055 pascal, 105
|
||||
call sub_13414
|
||||
call frame_delay pascal, 20
|
||||
call sub_13414
|
||||
|
@ -16300,12 +16275,9 @@ sub_13439 endp
|
|||
sub_134A0 proc near
|
||||
push bp
|
||||
mov bp, sp
|
||||
push 255
|
||||
call sub_13055
|
||||
push 0
|
||||
call sub_13055
|
||||
push 255
|
||||
call sub_13055
|
||||
call sub_13055 pascal, 255
|
||||
call sub_13055 pascal, 0
|
||||
call sub_13055 pascal, 255
|
||||
pop bp
|
||||
retn
|
||||
sub_134A0 endp
|
||||
|
|
Loading…
Reference in New Issue