mirror of https://github.com/nmlgc/ReC98.git
[Decompilation] [th02] Staff roll: Rectangle animation + picture blitting
Both sub-functions could have been inlined here, and then I wouldn't have had to comment the former. Part of P0279, funded by Yanga and Blue Bolt.
This commit is contained in:
parent
9ce80c0c1c
commit
c88a259568
|
@ -746,3 +746,13 @@ void near staffroll_text_clear(void)
|
|||
);
|
||||
grcg_off();
|
||||
}
|
||||
|
||||
void pascal near staffroll_rotrect_and_put_pic_animate(
|
||||
unsigned char angle_speed, int quarter, unsigned char angle_start
|
||||
)
|
||||
{
|
||||
staffroll_rotrect_animate(angle_speed, angle_start);
|
||||
staffroll_pic_put(STAFFROLL_PIC_LEFT, STAFFROLL_PIC_TOP, quarter);
|
||||
frame_delay(4);
|
||||
palette_100();
|
||||
}
|
||||
|
|
|
@ -126,6 +126,8 @@ END_TEXT segment byte public 'CODE' use16
|
|||
@end_good_animate$qv procdesc near
|
||||
@ENDFT_PUT$QIII procdesc pascal near
|
||||
@staffroll_text_clear$qv procdesc near
|
||||
@STAFFROLL_ROTRECT_AND_PUT_PIC_AN$QUCIUC procdesc pascal near \
|
||||
angle_speed:byte, quarter:word, angle_start:byte
|
||||
END_TEXT ends
|
||||
|
||||
; Segment type: Pure code
|
||||
|
@ -134,30 +136,6 @@ maine_01_TEXT segment byte public 'CODE' use16
|
|||
;org 3
|
||||
assume es:nothing, ss:nothing, ds:_DATA, fs:nothing, gs:nothing
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
; Attributes: bp-based frame
|
||||
|
||||
rotrect proc near
|
||||
|
||||
arg_0 = word ptr 4
|
||||
arg_2 = word ptr 6
|
||||
arg_4 = word ptr 8
|
||||
|
||||
push bp
|
||||
mov bp, sp
|
||||
push [bp+arg_4]
|
||||
push [bp+arg_0]
|
||||
call @staffroll_rotrect_animate$qucuc
|
||||
call @staffroll_pic_put$qiii pascal, large (32 shl 16) or 100, [bp+arg_2]
|
||||
call @frame_delay$qi pascal, 4
|
||||
mov PaletteTone, 100
|
||||
call far ptr palette_show
|
||||
pop bp
|
||||
retn 6
|
||||
rotrect endp
|
||||
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
; Attributes: bp-based frame
|
||||
|
@ -233,10 +211,7 @@ loc_A992:
|
|||
call _pi_put_8 c, 0, large 0
|
||||
freePISlotLarge 0
|
||||
graph_accesspage 0
|
||||
push 4
|
||||
push 0
|
||||
push 29h ; ')'
|
||||
call rotrect
|
||||
call @staffroll_rotrect_and_put_pic_an$quciuc pascal, 04h, 0, 29h
|
||||
call @staffroll_text_clear$qv
|
||||
call _graph_putsa_fx c, 416, ((V_WHITE or FX_WEIGHT_BOLD) shl 16) or 192, offset aGvgngogigab@b@, ds ; "プログラム ZUN"
|
||||
call _snd_delay_until_measure stdcall, 17
|
||||
|
@ -245,10 +220,7 @@ loc_A992:
|
|||
push offset aEd06b_rgb ; "ed06b.rgb"
|
||||
call palette_entry_rgb
|
||||
call far ptr palette_show
|
||||
push 0FCh
|
||||
push 2
|
||||
push 29h ; ')'
|
||||
call rotrect
|
||||
call @staffroll_rotrect_and_put_pic_an$quciuc pascal, (-04h and 255), 2, 29h
|
||||
call _snd_delay_until_measure stdcall, 21
|
||||
pop cx
|
||||
call @staffroll_pic_put$qiii pascal, large (32 shl 16) or 100, 3
|
||||
|
@ -256,10 +228,7 @@ loc_A992:
|
|||
push offset aEd06c_rgb ; "ed06c.rgb"
|
||||
call palette_entry_rgb
|
||||
call far ptr palette_show
|
||||
push 4
|
||||
push 3
|
||||
push 29h ; ')'
|
||||
call rotrect
|
||||
call @staffroll_rotrect_and_put_pic_an$quciuc pascal, 04h, 3, 29h
|
||||
graph_accesspage 1
|
||||
call _pi_load c, 0, offset aEd07_pi, ds
|
||||
call _pi_put_8 c, 0, large 0
|
||||
|
@ -275,27 +244,18 @@ loc_A992:
|
|||
push offset aEd07a_rgb ; "ed07a.rgb"
|
||||
call palette_entry_rgb
|
||||
call far ptr palette_show
|
||||
push 0FCh
|
||||
push 0
|
||||
push 29h ; ')'
|
||||
call rotrect
|
||||
call @staffroll_rotrect_and_put_pic_an$quciuc pascal, (-04h and 255), 0, 29h
|
||||
call _snd_delay_until_measure stdcall, 29
|
||||
pop cx
|
||||
push ds
|
||||
push offset aEd07b_rgb ; "ed07b.rgb"
|
||||
call palette_entry_rgb
|
||||
call far ptr palette_show
|
||||
push 8
|
||||
push 1
|
||||
push 0E9h
|
||||
call rotrect
|
||||
call @staffroll_rotrect_and_put_pic_an$quciuc pascal, 08h, 1, (-17h and 255)
|
||||
call _snd_delay_until_measure stdcall, 33
|
||||
pop cx
|
||||
call @staffroll_pic_put$qiii pascal, (32 shl 16) or 100, 2
|
||||
push 0F8h
|
||||
push 2
|
||||
push 0E9h
|
||||
call rotrect
|
||||
call @staffroll_rotrect_and_put_pic_an$quciuc pascal, (-08h and 255), 2, (-17h and 255)
|
||||
call _snd_delay_until_measure stdcall, 37
|
||||
pop cx
|
||||
call @staffroll_text_clear$qv
|
||||
|
@ -304,10 +264,7 @@ loc_A992:
|
|||
push offset aEd07b_rgb ; "ed07b.rgb"
|
||||
call palette_entry_rgb
|
||||
call far ptr palette_show
|
||||
push 8
|
||||
push 3
|
||||
push 0E9h
|
||||
call rotrect
|
||||
call @staffroll_rotrect_and_put_pic_an$quciuc pascal, 08h, 3, (-17h and 255)
|
||||
graph_accesspage 1
|
||||
call _pi_load c, 0, offset aEd08_pi, ds
|
||||
call _pi_put_8 c, 0, large 0
|
||||
|
@ -317,20 +274,14 @@ loc_A992:
|
|||
call _pi_palette_apply stdcall, 0
|
||||
pop cx
|
||||
freePISlotLarge 0
|
||||
push 0F8h
|
||||
push 0
|
||||
push 0E9h
|
||||
call rotrect
|
||||
call @staffroll_rotrect_and_put_pic_an$quciuc pascal, (-08h and 255), 0, (-17h and 255)
|
||||
call _snd_delay_until_measure stdcall, 45
|
||||
pop cx
|
||||
push ds
|
||||
push offset aEd08a_rgb ; "ed08a.rgb"
|
||||
call palette_entry_rgb
|
||||
call far ptr palette_show
|
||||
push 0Ch
|
||||
push 1
|
||||
push 29h ; ')'
|
||||
call rotrect
|
||||
call @staffroll_rotrect_and_put_pic_an$quciuc pascal, 0Ch, 1, 29h
|
||||
call _snd_delay_until_measure stdcall, 49
|
||||
pop cx
|
||||
call @staffroll_text_clear$qv
|
||||
|
@ -343,20 +294,14 @@ loc_A992:
|
|||
push offset aEd08b_rgb ; "ed08b.rgb"
|
||||
call palette_entry_rgb
|
||||
call far ptr palette_show
|
||||
push 0F4h
|
||||
push 2
|
||||
push 29h ; ')'
|
||||
call rotrect
|
||||
call @staffroll_rotrect_and_put_pic_an$quciuc pascal, (-0Ch and 255), 2, 29h
|
||||
call _snd_delay_until_measure stdcall, 53
|
||||
pop cx
|
||||
push ds
|
||||
push offset aEd08c_rgb ; "ed08c.rgb"
|
||||
call palette_entry_rgb
|
||||
call far ptr palette_show
|
||||
push 0Ch
|
||||
push 3
|
||||
push 29h ; ')'
|
||||
call rotrect
|
||||
call @staffroll_rotrect_and_put_pic_an$quciuc pascal, 0Ch, 3, 29h
|
||||
call _snd_delay_until_measure stdcall, 57
|
||||
pop cx
|
||||
push 4
|
||||
|
|
Loading…
Reference in New Issue