📄 rle.inc
字号:
{* ______ ___ ___
* /\ _ \ /\_ \ /\_ \
* \ \ \L\ \\//\ \ \//\ \ __ __ _ __ ___
* \ \ __ \ \ \ \ \ \ \ /'__`\ /'_ `\/\`'__\/ __`\
* \ \ \/\ \ \_\ \_ \_\ \_/\ __//\ \L\ \ \ \//\ \L\ \
* \ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/
* \/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/
* /\____/
* \_/__/
*
* RLE sprite inline functions (generic C).
*
* By Shawn Hargreaves.
*
* See readme.txt for copyright information.
*}
{$IFDEF ALLEGRO_INTERFACE}
procedure draw_rle_sprite(bmp: P_BITMAP; const sprite: P_RLE_SPRITE; x, y: sint32);
procedure draw_trans_rle_sprite(bmp: P_BITMAP; const sprite: P_RLE_SPRITE; x, y: sint32);
procedure draw_lit_rle_sprite(bmp: P_BITMAP; const sprite: P_RLE_SPRITE; x, y, color: sint32);
{$ENDIF ALLEGRO_INTERFACE}
{$IFDEF ALLEGRO_IMPLEMENTATION}
procedure draw_rle_sprite(bmp: P_BITMAP; const sprite: P_RLE_SPRITE; x, y: sint32);
begin
assert(bmp <> nil);
assert(sprite <> nil);
assert(bmp^.vtable^.color_depth = sprite^.color_depth);
bmp^.vtable^.draw_rle_sprite(bmp, sprite, x, y);
end;
procedure draw_trans_rle_sprite(bmp: P_BITMAP; const sprite: P_RLE_SPRITE; x, y: sint32);
begin
assert(bmp <> nil);
assert(sprite <> nil);
if sprite^.color_depth = 32 then
begin
assert(@bmp^.vtable^.draw_trans_rgba_rle_sprite <> nil);
bmp^.vtable^.draw_trans_rgba_rle_sprite(bmp, sprite, x, y);
end else
begin
assert(bmp^.vtable^.color_depth = sprite^.color_depth);
bmp^.vtable^.draw_trans_rle_sprite(bmp, sprite, x, y);
end;
end;
procedure draw_lit_rle_sprite(bmp: P_BITMAP; const sprite: P_RLE_SPRITE; x, y, color: sint32);
begin
assert(bmp <> nil);
assert(sprite <> nil);
assert(bmp^.vtable^.color_depth = sprite^.color_depth);
bmp^.vtable^.draw_lit_rle_sprite(bmp, sprite, x, y, color);
end;
{$ENDIF ALLEGRO_IMPLEMENTATION}
{$IFDEF ALLEGRO_LOADVARIABLE}
{$ENDIF ALLEGRO_LOADVARIABLE}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -