[Maintenance] Indicate byte alignment for all .PI blitting functions

Part of P0124, funded by [Anonymous] and Blue Bolt.
This commit is contained in:
nmlgc 2020-10-23 19:27:10 +02:00
parent b674adff18
commit 30462cc64f
23 changed files with 145 additions and 145 deletions

View File

@ -15,13 +15,13 @@ int DEFCONV pi_load(int slot, const char *fn);
void DEFCONV pi_palette_apply(int slot);
// Displays the PI image in slot #[slot] at ([left], [top]). Horizontally, the
// image is cut off at 640 pixels; vertically, it is wrapped if it exceeds the
// clipping frame defined via grc_setclip().
void DEFCONV pi_put(screen_x_t left, vram_y_t top, int slot);
// Displays the PI image in slot #[slot] at (⌊left/8⌋*8, top). Horizontally,
// the image is cut off at 640 pixels; vertically, it is wrapped if it exceeds
// the clipping frame defined via grc_setclip().
void DEFCONV pi_put_8(screen_x_t left, vram_y_t top, int slot);
#define pi_load_put_free(slot, fn) \
#define pi_load_put_8_free(slot, fn) \
pi_load(slot, (fn)); \
pi_palette_apply(slot); \
pi_put(0, 0, slot); \
pi_put_8(0, 0, slot); \
graph_pi_free(&pi_headers[slot], pi_buffers[slot]);

View File

@ -1,4 +1,4 @@
proc_defconv pi_put, PI_PUT
proc_defconv pi_put_8, PI_PUT_8
arg @@left:word, @@top:word, @@slot:word
if GAME ge 3
local @@y:word, @@row_buf:dword

View File

@ -4,7 +4,7 @@ void pi_palette_apply(int slot)
palette_show();
}
void pi_put(screen_x_t left, vram_y_t top, int slot)
void pi_put_8(screen_x_t left, vram_y_t top, int slot)
{
char *row_p = pi_buffers[slot];
pixel_t y;

View File

@ -104,12 +104,12 @@ void text_wipe(void)
text_fillca(' ', TX_BLACK | TX_REVERSE);
}
void pascal near pi_load_put_free_to(const char near *fn, char page)
void pascal near pi_load_put_8_free_to(const char near *fn, char page)
{
pi_load(0, fn);
graph_accesspage(page);
pi_palette_apply(0);
pi_put(0, 0, 0);
pi_put_8(0, 0, 0);
graph_pi_free(&pi_headers[0], pi_buffers[0]);
}
@ -122,8 +122,8 @@ void op_animate(void)
text_wipe();
snd_load("huuma.efc", SND_LOAD_SE);
pi_load_put_free_to("op2.pi", 1);
pi_load_put_free_to("op.pi", 0);
pi_load_put_8_free_to("op2.pi", 1);
pi_load_put_8_free_to("op.pi", 0);
pi_load(0, "opa.pi");
pi_load(1, "opb.pi");
pi_load(2, "opc.pi");
@ -410,7 +410,7 @@ void main_update_and_render(void)
score_menu();
graph_accesspage(1);
graph_showpage(0);
pi_load_put_free(0, "op2.pi");
pi_load_put_8_free(0, "op2.pi");
palette_entry_rgb_show("op.rgb");
graph_copy_page(0);
graph_accesspage(0);

View File

@ -19,11 +19,11 @@ void title_flash(void)
page = 1 - page;
if(frame == 0) {
pi_put(0, 0, 0);
pi_put_8(0, 0, 0);
} else if(frame == 5) {
pi_put(0, 0, 1);
pi_put_8(0, 0, 1);
} else if(frame == 10) {
pi_put(0, 0, 2);
pi_put_8(0, 0, 2);
}
if(frame % 3 == 0) {

View File

@ -134,7 +134,7 @@ void pascal shottype_menu_init(void)
palette_black();
graph_accesspage(0);
pi_load_put_free(3, "TSELECT.pi");
pi_load_put_8_free(3, "TSELECT.pi");
graph_copy_page(1);
graph_accesspage(0);
if(resident->stage != 5) {
@ -142,9 +142,9 @@ void pascal shottype_menu_init(void)
} else {
DRAW_CLEARED_FOR(extra);
}
pi_put( 24, 136, 0);
pi_put(224, 224, 1);
pi_put(440, 136, 2);
pi_put_8( 24, 136, 0);
pi_put_8(224, 224, 1);
pi_put_8(440, 136, 2);
resident->shottype = 1;
darken_pic_at( 24, 136);
darken_pic_at(440, 136);
@ -168,7 +168,7 @@ void pascal shottype_menu(void)
#define DRAW_NEW_SEL() \
frame_delay(1); copy_pic_back(sel, 1); \
frame_delay(1); draw_shottype_desc(sel, 12); \
frame_delay(1); pi_put(pic_x[sel], pic_y[sel], sel);
frame_delay(1); pi_put_8(pic_x[sel], pic_y[sel], sel);
do {
input_sense();
@ -178,7 +178,7 @@ void pascal shottype_menu(void)
frame_delay(1);
copy_pic_back(sel, 0);
frame_delay(1);
pi_put(pic_x[sel] + 8, pic_y[sel] + 8, sel);
pi_put_8(pic_x[sel] + 8, pic_y[sel] + 8, sel);
frame_delay(1);
darken_pic_at(pic_x[sel] + 8, pic_y[sel] + 8);
@ -188,7 +188,7 @@ void pascal shottype_menu(void)
if(key_det & INPUT_RIGHT) {
copy_pic_back(sel, 0);
frame_delay(1);
pi_put(pic_x[sel] + 8, pic_y[sel] + 8, sel);
pi_put_8(pic_x[sel] + 8, pic_y[sel] + 8, sel);
frame_delay(1);
draw_shottype_desc(sel, 7);
frame_delay(1);

View File

@ -265,7 +265,7 @@ void pascal musicroom(void)
graph_clear();
graph_accesspage(1);
pi_load_put_free(0, "op3.pi");
pi_load_put_8_free(0, "op3.pi");
music_sel = track_playing;
draw_tracks(music_sel);
graph_copy_page(0);
@ -353,7 +353,7 @@ controls:
graph_accesspage(0);
graph_clear();
graph_accesspage(1);
pi_load_put_free(0, "op2.pi");
pi_load_put_8_free(0, "op2.pi");
palette_entry_rgb_show("op.rgb");
graph_copy_page(0);
graph_accesspage(0);

View File

@ -2129,7 +2129,7 @@ var_C = byte ptr -0Ch
call _playfield_tram_wipe
call _pi_palette_apply stdcall, 0
call _pi_palette_apply stdcall, 0
call _pi_put stdcall, 96, large 144
call _pi_put_8 stdcall, 96, large 144
add sp, 0Ah
call sub_102D6
call sub_16A6B
@ -7818,7 +7818,7 @@ loc_E782:
sub si, RES_Y
loc_E793:
call _pi_put c, 112, si, 1
call _pi_put_8 c, 112, si, 1
loc_E7A0:
cmp _bomb_frame, 86
@ -8032,7 +8032,7 @@ loc_E9A6:
sub [bp+var_2], RES_Y
loc_E9DB:
call _pi_put stdcall, 32, [bp+var_2], 1
call _pi_put_8 stdcall, 32, [bp+var_2], 1
call _snd_se_play stdcall, 16
add sp, 8
jmp short loc_EA60
@ -8235,7 +8235,7 @@ loc_EBCC:
sub si, RES_Y
loc_EBE2:
call _pi_put c, 32, si, 1
call _pi_put_8 c, 32, si, 1
loc_EBEF:
test byte ptr _bomb_frame, 3
@ -9321,7 +9321,7 @@ seg2 segment word public 'CODE' use16
extern _snd_load:proc
extern _game_init_main:proc
extern _pi_palette_apply:proc
extern _pi_put:proc
extern _pi_put_8:proc
extern _snd_kaja_interrupt:proc
extern _snd_se_reset:proc
extern _snd_se_play:proc

View File

@ -966,7 +966,7 @@ sub_9B64 proc near
call _pi_load c, 0, offset aEd01_pi, ds
call _pi_palette_apply stdcall, 0
pop cx
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
push 2
call palette_black_in
@ -1192,7 +1192,7 @@ loc_9D96:
call _pi_load c, 0, offset aEd02_pi, ds
call _pi_palette_apply stdcall, 0
pop cx
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
push 2
call palette_black_out
@ -1487,7 +1487,7 @@ sub_A09D proc near
call _pi_load c, 0, offset aEd01_pi, ds
call _pi_palette_apply stdcall, 0
pop cx
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
push 2
call palette_black_in
@ -1511,7 +1511,7 @@ sub_A09D proc near
call _pi_load c, 0, offset aEd03_pi, ds
call _pi_palette_apply stdcall, 0
pop cx
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
push 0
call sub_98B5
@ -1629,7 +1629,7 @@ loc_A247:
call _pi_load c, 0, offset aEd04_pi, ds
call _pi_palette_apply stdcall, 0
pop cx
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
graph_accesspage 0
push 0
@ -1836,7 +1836,7 @@ loc_A451:
call _pi_load c, 0, offset aEd05_pi, ds
call _pi_palette_apply stdcall, 0
pop cx
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
push 0
call sub_98B5
@ -1992,7 +1992,7 @@ loc_A620:
call _pi_load c, 0, offset aEd05_pi, ds
call _pi_palette_apply stdcall, 0
pop cx
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
push 1
call sub_98B5
@ -2133,7 +2133,7 @@ loc_A6B6:
call _pi_load c, 0, offset aEd05_pi, ds
call _pi_palette_apply stdcall, 0
pop cx
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
push 2
call sub_98B5
@ -2351,7 +2351,7 @@ loc_A992:
call _pi_load c, 0, offset aEd06_pi, ds
call _pi_palette_apply stdcall, 0
pop cx
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
graph_accesspage 0
push 4
@ -2392,7 +2392,7 @@ loc_A992:
call rotrect
graph_accesspage 1
call _pi_load c, 0, offset aEd07_pi, ds
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
graph_accesspage 0
push 19h
@ -2466,7 +2466,7 @@ loc_A992:
call rotrect
graph_accesspage 1
call _pi_load c, 0, offset aEd08_pi, ds
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
graph_accesspage 0
push 29h ; ')'
call _snd_delay_until_measure
@ -2551,7 +2551,7 @@ loc_A992:
call _pi_load c, 0, offset aEd09_pi, ds
call _pi_palette_apply stdcall, 0
pop cx
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
call graph_copy_page pascal, 0
push 4
@ -2863,7 +2863,7 @@ sub_AFE7 proc far
call _pi_load c, 0, offset aAll_pi, ds
call _pi_palette_apply stdcall, 0
pop cx
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
push 2
call palette_black_in
@ -2872,7 +2872,7 @@ sub_AFE7 proc far
call _pi_load c, 0, offset aBut_pi, ds
call _pi_palette_apply stdcall, 0
pop cx
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
call _key_delay
push 5
@ -2899,7 +2899,7 @@ sub_B07F proc far
call _pi_load c, 0, offset aAll_pi, ds
call _pi_palette_apply stdcall, 0
pop cx
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
push 2
call palette_black_in
@ -2908,7 +2908,7 @@ sub_B07F proc far
call _pi_load c, 0, offset aExtra_pi, ds
call _pi_palette_apply stdcall, 0
pop cx
call _pi_put c, 0, large 0
call _pi_put_8 c, 0, large 0
freePISlotLarge 0
call _key_delay
push 5
@ -3038,7 +3038,7 @@ seg2 segment word public 'CODE' use16
extern _snd_load:proc
extern _game_init_main:proc
extern _pi_palette_apply:proc
extern _pi_put:proc
extern _pi_put_8:proc
extern _snd_kaja_interrupt:proc
extern _snd_delay_until_measure:proc
seg2 ends

View File

@ -4,11 +4,11 @@
#define PI_MASK_H 4
extern const dots16_t PI_MASKS[PI_MASK_COUNT][PI_MASK_H];
// Like pi_put(), but only displays every second row in the given PI.
int pascal pi_put_interlace(screen_x_t left, vram_y_t top, int slot);
// Like pi_put_8(), but only displays every second row in the given PI.
int pascal pi_put_interlace_8(screen_x_t left, vram_y_t top, int slot);
// Like pi_put(), but only displays the n-th 320x200 [quarter], counted
// Like pi_put_8(), but only displays the n-th 320x200 [quarter], counted
// from the top left, of the PI image in slot #[slot] at ([left], [top]).
int pascal pi_put_quarter(
int pascal pi_put_quarter_8(
screen_x_t left, vram_y_t top, int slot, int quarter
);

View File

@ -1,5 +1,5 @@
public PI_PUT_INTERLACE
pi_put_interlace proc pascal
public PI_PUT_INTERLACE_8
pi_put_interlace_8 proc pascal
arg @@left:word, @@top:word, @@slot:word
local @@row_num:word, @@row_buf:dword
@ -54,4 +54,4 @@ pi_put_interlace proc pascal
pop di
pop si
ret
pi_put_interlace endp
pi_put_interlace_8 endp

View File

@ -1,5 +1,5 @@
public PI_PUT_QUARTER
pi_put_quarter proc pascal
public PI_PUT_QUARTER_8
pi_put_quarter_8 proc pascal
arg @@left:word, @@top:word, @@slot:word, @@quarter:word
local @@row_num:word, @@row_buf:dword

View File

@ -536,10 +536,10 @@ loc_99D4:
loc_99F1:
call pi_load pascal, 0, ds, offset aStnx0_pi
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
call pi_load pascal, 0, ds, word_E504
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
leave
retn
sub_990C endp
@ -625,7 +625,7 @@ loc_9A8E:
push 1
call sub_9D20
call pi_load pascal, 0, ds, offset aEn2_pi
call pi_put_interlace pascal, large 280, 0
call pi_put_interlace_8 pascal, large 280, 0
freePISlotLarge 0
les bx, _resident
mov al, es:[bx+resident_t.RESIDENT_playchar_paletted][1]
@ -678,7 +678,7 @@ loc_9BBD:
call pi_load
loc_9BC2:
call pi_put_interlace pascal, large 304, 0
call pi_put_interlace_8 pascal, large 304, 0
les bx, _resident
mov al, es:[bx+resident_t.RESIDENT_playchar_paletted][1]
mov ah, 0
@ -782,7 +782,7 @@ arg_4 = word ptr 8
call pi_load pascal, 0, large [bp+arg_0]
mov ax, si
imul ax, 320
call pi_put_interlace pascal, ax, (200 shl 16)
call pi_put_interlace_8 pascal, ax, (200 shl 16)
freePISlotLarge 0
les bx, [bp+arg_0]
mov byte ptr es:[bx+2], 'e'
@ -790,7 +790,7 @@ arg_4 = word ptr 8
call pi_load pascal, 0, word ptr [bp+arg_0+2], bx
mov ax, si
imul ax, 320
call pi_put_interlace pascal, ax, (208 shl 16)
call pi_put_interlace_8 pascal, ax, (208 shl 16)
freePISlotLarge 0
pop si
pop bp
@ -1180,7 +1180,7 @@ loc_A0C5:
call far ptr palette_show
call pi_load pascal, 0, ds, offset aOver_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
kajacall KAJA_SONG_STOP
les bx, _resident
@ -2211,7 +2211,7 @@ loc_A9EB:
call pi_palette_apply pascal, 0
loc_A9FE:
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call graph_copy_page pascal, 0
graph_accesspage 0
call sub_A36B
@ -2337,7 +2337,7 @@ loc_AB33:
graph_accesspage 0
loc_AB44:
call pi_put_quarter pascal, (160 shl 16) + 64, 0, [bp+var_2]
call pi_put_quarter_8 pascal, (160 shl 16) + 64, 0, [bp+var_2]
loc_AB54:
graph_showpage 0
@ -2923,7 +2923,7 @@ sub_AFAC proc near
graph_showpage al
call pi_load pascal, 0, ds, offset aRegib_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
les bx, _resident
mov al, es:[bx+resident_t.rank]
@ -4098,7 +4098,7 @@ loc_B879:
jz short loc_B8F1
call pi_load pascal, 0, ds, offset aConti_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
call cdg_load_all pascal, 0, ds, offset aConti_cd2
pop bp
@ -4108,7 +4108,7 @@ loc_B879:
loc_B8F1:
call pi_load pascal, 0, ds, offset aOver_pi_0
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
call _snd_delay_until_volume stdcall, 255
pop cx

View File

@ -1519,7 +1519,7 @@ loc_AC15:
graph_accesspage 1
call pi_load pascal, 0, ds, offset aOp3_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
mov al, music_track_playing
mov _music_sel, al
@ -1671,10 +1671,10 @@ var_2 = word ptr -2
mov PaletteTone, 0
call far ptr palette_show
graph_accesspage 1
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
graph_accesspage 0
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call egc_shift_left_all pascal, 2
mov Palettes[15 * size rgb_t].r, 0
mov Palettes[15 * size rgb_t].g, 0
@ -1773,7 +1773,7 @@ loc_AF65:
graph_showpage 0
graph_accesspage al
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
push 1
call frame_delay
mov PaletteTone, 100
@ -1799,7 +1799,7 @@ loc_AFD9:
cmp si, 8
jl short loc_AFB4
graph_accesspage 1
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
graph_accesspage 0
freePISlotLarge 0
call sub_B38D
@ -1826,10 +1826,10 @@ sub_B008 proc near
graph_showpage 0
call sub_B3EF
graph_accesspage 1
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
graph_accesspage 0
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
graph_accesspage 0
freePISlotLarge 0
call sub_B38D

View File

@ -255,7 +255,7 @@ _zunsoft proc near
graph_accesspage 1
call pi_load pascal, 0, ds, offset aZun00_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
if GAME eq 5
call pi_free pascal, 0
else

View File

@ -273,7 +273,7 @@ loc_A187:
graph_accesspage 1
call pi_load pascal, 0, word ptr [bp+var_4+2], bx
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
call graph_copy_page pascal, 0
push 1
@ -303,7 +303,7 @@ loc_A1FE:
graph_accesspage 1
call pi_load pascal, 0, large [bp+var_4]
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
call graph_copy_page pascal, 0
push 1
@ -1329,7 +1329,7 @@ loc_AB7A:
call pi_palette_apply pascal, 0
loc_AB8D:
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call graph_copy_page pascal, 0
graph_accesspage 0
call sub_A4AE
@ -1456,7 +1456,7 @@ loc_ACCF:
graph_accesspage 0
loc_ACE0:
call pi_put_quarter pascal, (160 shl 16) + 64, 0, [bp+var_2]
call pi_put_quarter_8 pascal, (160 shl 16) + 64, 0, [bp+var_2]
loc_ACF0:
graph_showpage 0
@ -2340,7 +2340,7 @@ sub_B44D proc near
graph_accesspage 1
call pi_load pascal, 0, ds, offset aSff1_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
call graph_copy_page pascal, 0
call bgimage_snap
@ -2388,7 +2388,7 @@ sub_B44D proc near
graph_accesspage 1
call pi_load pascal, 0, ds, offset aSff2_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
call graph_copy_page pascal, 0
call bgimage_snap
@ -3339,7 +3339,7 @@ sub_C0F8 proc near
graph_accesspage 1
call pi_load pascal, 0, ds, offset aUde_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
call graph_copy_page pascal, 0
push 4
@ -4095,7 +4095,7 @@ var_4 = word ptr -4
graph_accesspage 1
call pi_load pascal, 0, ds, offset aHi01_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
call graph_copy_page pascal, 0
call super_entry_bfnt pascal, ds, offset aScnum2_bft ; "scnum2.bft"

View File

@ -807,7 +807,7 @@ loc_AF56:
graph_accesspage 1
call pi_load pascal, 0, ds, offset aOp1_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
call graph_copy_page pascal, 0
mov PaletteTone, 100
@ -832,7 +832,7 @@ loc_AFBD:
graph_accesspage 1
call pi_load pascal, 0, ds, offset aOp1_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
call graph_copy_page pascal, 0
mov PaletteTone, 100
@ -1541,7 +1541,7 @@ _setup_menu proc near
graph_accesspage 1
call pi_load pascal, 0, ds, offset aMs_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
call graph_copy_page pascal, 0
push 1
@ -1802,7 +1802,7 @@ _musicroom proc near
graph_accesspage 1
call pi_load pascal, 0, ds, offset aMusic_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
mov al, music_track_playing
mov _music_sel, al
@ -2195,10 +2195,10 @@ _score_render proc near
push si
graph_accesspage 1
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
graph_accesspage 0
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
push 0
call sub_C8F5
mov si, 1
@ -2304,7 +2304,7 @@ loc_CB58:
graph_accesspage 1
call pi_load pascal, 0, ds, offset aOp1_pi_0
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
call graph_copy_page pascal, 0
push 1
@ -2481,7 +2481,7 @@ loc_CD7A:
mov al, [bp+var_3]
mov ah, 0
push ax
call pi_put
call pi_put_8
inc [bp+var_3]
graph_accesspage [bp+@@page]
mov al, 1
@ -2520,7 +2520,7 @@ loc_CE50:
graph_accesspage 1
call pi_load pascal, 0, ds, offset aOp1_pi_1
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
freePISlotLarge 0
call graph_copy_page pascal, 0
xor si, si
@ -3476,7 +3476,7 @@ playchar_menu_init proc near
graph_accesspage 1
graph_showpage 0
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call sub_CF5E
push 0
call sub_D338
@ -3679,7 +3679,7 @@ loc_D881:
graph_accesspage 1
mov PaletteTone, 200
call far ptr palette_show
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call sub_D650
call graph_copy_page pascal, 0
push 1

View File

@ -2,18 +2,18 @@
int pascal pi_free(int slot);
#undef pi_load_put_free
#undef pi_load_put_8_free
static inline void pi_load_put_free(int slot, const char *fn) {
static inline void pi_load_put_8_free(int slot, const char *fn) {
pi_load(slot, fn);
pi_palette_apply(slot);
pi_put(0, 0, slot);
pi_put_8(0, 0, slot);
pi_free(0);
}
// Like pi_put() and pi_put_quarter(), but applying the mask with the given ID
// while blitting.
int pascal pi_put_mask(screen_x_t left, vram_y_t top, int slot, int mask_id);
int pascal pi_put_quarter_mask(
// Like pi_put_8() and pi_put_quarter_8(), but applying the mask with the given
// ID while blitting.
int pascal pi_put_mask_8(screen_x_t left, vram_y_t top, int slot, int mask_id);
int pascal pi_put_quarter_mask_8(
screen_x_t left, vram_y_t top, int slot, int quarter, int mask_id
);

View File

@ -1,5 +1,5 @@
public PI_PUT
pi_put proc
public PI_PUT_8
pi_put_8 proc
@@slot = word ptr [bp + (cPtrSize + 2)]
@@top = word ptr [bp + (cPtrSize + 4)]
@@left = word ptr [bp + (cPtrSize + 6)]
@ -20,18 +20,18 @@ pi_put proc
shr ax, 1
push ax
mov di, _pi_headers.PiHeader._ysize[di]
call pi_put_rowloop
call pi_put_8_rowloop
pop di
pop si
pop bp
ret 6
pi_put endp
pi_put_8 endp
align 2
; ---------------------------------------------------------------------------
public PI_PUT_QUARTER
pi_put_quarter proc
public PI_PUT_QUARTER_8
pi_put_quarter_8 proc
@@quarter = byte ptr [bp + (cPtrSize + 2)]
@@slot = word ptr [bp + (cPtrSize + 4)]
@@top = word ptr [bp + (cPtrSize + 6)]
@ -66,21 +66,21 @@ pi_put_quarter proc
push 320
push 320
mov di, 200
call pi_put_rowloop
call pi_put_8_rowloop
pop di
pop si
pop bp
ret 8
pi_put_quarter endp
pi_put_quarter_8 endp
; ---------------------------------------------------------------------------
; void pascal pi_put_mask_rowloop(
; void pascal pi_put_8_rowloop(
; void far *pi_buf<es:si>,
; pixel_t h<di>,
; screen_x_t x, vram_y_t y, pixel_t w, size_t stride_packed
; );
pi_put_rowloop proc near
pi_put_8_rowloop proc near
@@stride_packed = word ptr [bp+2]
@@w = word ptr [bp+4]
@@top = word ptr [bp+6]
@ -109,4 +109,4 @@ pi_put_rowloop proc near
dec @@h
jnz short @@put_row
retn 8
pi_put_rowloop endp
pi_put_8_rowloop endp

View File

@ -1,5 +1,5 @@
public PI_PUT_MASK
pi_put_mask proc far
public PI_PUT_MASK_8
pi_put_mask_8 proc far
@@mask_id = word ptr 6
@@slot = word ptr 8
@@top = word ptr 0Ah
@ -23,17 +23,17 @@ pi_put_mask proc far
push ax
mov di, _pi_headers._ysize[di]
mov ax, [bp+@@mask_id]
call pi_put_mask_rowloop
call pi_put_mask_8_rowloop
pop di
pop si
pop bp
retf 8
pi_put_mask endp
pi_put_mask_8 endp
; ---------------------------------------------------------------------------
public PI_PUT_QUARTER_MASK
pi_put_quarter_mask proc far
public PI_PUT_QUARTER_MASK_8
pi_put_quarter_mask_8 proc far
@@mask_id = word ptr 6
@@quarter = byte ptr 8
@ -72,23 +72,23 @@ pi_put_quarter_mask proc far
push 320
push 320
mov ax, [bp+@@mask_id]
call pi_put_mask_rowloop
call pi_put_mask_8_rowloop
pop di
pop si
pop bp
retf 0Ah
pi_put_quarter_mask endp
pi_put_quarter_mask_8 endp
even
; ---------------------------------------------------------------------------
; void pascal pi_put_mask_rowloop(
; void pascal pi_put_mask_8_rowloop(
; int mask_id<ax>,
; void far *pi_buf<es:si>,
; pixel_t h<di>,
; screen_x_t left, vram_y_t top, pixel_t w, size_t stride_packed
; );
pi_put_mask_rowloop proc near
pi_put_mask_8_rowloop proc near
@@stride_packed = word ptr [bp+2]
@@w = word ptr [bp+4]
@@top = word ptr [bp+6]
@ -152,7 +152,7 @@ TEMP_ROW = RES_Y
dec @@h
jnz short @@put_row
retn 8
pi_put_mask_rowloop endp
pi_put_mask_8_rowloop endp
; ---------------------------------------------------------------------------

View File

@ -163,7 +163,7 @@ void near playchar_menu_put_initial(void)
palette_settone(0);
graph_accesspage(1);
pi_load_put_free(0, "slb1.pi");
pi_load_put_8_free(0, "slb1.pi");
graph_copy_page(0);
bgimage_snap();

View File

@ -359,7 +359,7 @@ arg_6 = word ptr 0Ah
push 0
push [bp+arg_2]
push [bp+arg_0]
call pi_put_quarter_mask
call pi_put_quarter_mask_8
call egc_copy_rect_1_to_0_16 pascal, si, di, (320 shl 16) or 200
pop di
pop si
@ -1002,7 +1002,7 @@ loc_ACE1:
call pi_palette_apply pascal, 0
loc_ACF4:
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call graph_copy_page pascal, 0
graph_accesspage 0
call bgimage_snap
@ -1088,7 +1088,7 @@ loc_AD9A:
graph_accesspage 1
cmp [bp+var_2], 4
jge short loc_ADE3
call pi_put_quarter pascal, (160 shl 16) + 64, 0, [bp+var_2]
call pi_put_quarter_8 pascal, (160 shl 16) + 64, 0, [bp+var_2]
jmp loc_AE64
; ---------------------------------------------------------------------------
@ -1133,7 +1133,7 @@ loc_AE42:
cmp si, 4
jl short loc_AE25
graph_accesspage 1
call pi_put_quarter pascal, (160 shl 16) + 64, 0, [bp+var_2]
call pi_put_quarter_8 pascal, (160 shl 16) + 64, 0, [bp+var_2]
push 1
call frame_delay
@ -1629,16 +1629,16 @@ loc_B2EE:
cwd
idiv bx
push ax
call pi_put_quarter_mask
call pi_put_quarter_mask_8
call sub_B37C
inc si
loc_B309:
cmp si, 8
jl short loc_B2EE
call pi_put_quarter pascal, di, [bp+arg_0], 0, [bp+@@quarter]
call pi_put_quarter_8 pascal, di, [bp+arg_0], 0, [bp+@@quarter]
call sub_B37C
call pi_put_quarter pascal, di, [bp+arg_0], 0, [bp+@@quarter]
call pi_put_quarter_8 pascal, di, [bp+arg_0], 0, [bp+@@quarter]
inc allcast_screen_plus_one
cmp allcast_screen_plus_one, 8
jge short loc_B357
@ -3397,7 +3397,7 @@ var_2 = word ptr -2
graph_accesspage 1
call pi_load pascal, 0, ds, offset aHi01_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call pi_free pascal, 0
call graph_copy_page pascal, 0
call super_entry_bfnt pascal, ds, offset aScnum_bft ; "scnum.bft"
@ -5035,7 +5035,7 @@ sub_D1B1 proc near
graph_accesspage 1
call pi_load pascal, 0, ds, offset aUde_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call pi_free pascal, 0
call graph_copy_page pascal, 0
push 4

View File

@ -623,7 +623,7 @@ loc_AA91:
graph_accesspage 1
call pi_load pascal, 0, ds, offset aOp1_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call pi_free pascal, 0
call graph_copy_page pascal, 0
mov PaletteTone, 100
@ -639,7 +639,7 @@ loc_AAE1:
graph_accesspage 1
call pi_load pascal, 0, ds, offset aOp1_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call pi_free pascal, 0
call graph_copy_page pascal, 0
mov PaletteTone, 100
@ -662,7 +662,7 @@ loc_AB3B:
graph_accesspage 1
call pi_load pascal, 0, ds, offset aOp1_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call pi_free pascal, 0
call graph_copy_page pascal, 0
mov PaletteTone, 100
@ -1399,7 +1399,7 @@ _setup_menu proc near
graph_accesspage 1
call pi_load pascal, 0, ds, offset aMs_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call pi_free pascal, 0
call graph_copy_page pascal, 0
push 1
@ -1508,7 +1508,7 @@ loc_BD55:
cwd
idiv bx
push ax
call pi_put
call pi_put_8
loc_BD81:
push 1
@ -1568,7 +1568,7 @@ loc_BE08:
cwd
idiv bx
push ax
call pi_put_mask
call pi_put_mask_8
loc_BE25:
push 1
@ -1587,7 +1587,7 @@ loc_BE46:
graph_accesspage 1
graph_showpage 0
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call pi_free pascal, 0
call graph_copy_page pascal, 0
pop si
@ -1921,7 +1921,7 @@ _musicroom proc near
graph_accesspage 1
call pi_load pascal, 0, ds, offset aMusic_pi
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call pi_free pascal, 0
call _piano_setup
call screen_back_B_snap
@ -2385,10 +2385,10 @@ _score_render proc near
push di
graph_accesspage 1
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
graph_accesspage 0
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
xor si, si
jmp short loc_CC27
; ---------------------------------------------------------------------------
@ -2495,7 +2495,7 @@ loc_CD17:
graph_accesspage 1
call pi_load pascal, 0, ds, offset aOp1_pi_1
call pi_palette_apply pascal, 0
call pi_put pascal, large 0, 0
call pi_put_8 pascal, large 0, 0
call pi_free pascal, 0
call graph_copy_page pascal, 0
call palette_black_in pascal, 1