mirror of
https://github.com/stevenhowes/CTheEscape.git
synced 2026-05-27 00:03:27 +01:00
Clean up setup, draw player and stars (and tick stars), tick handling, buffer handling and line drawing.
This commit is contained in:
+39
-1
@@ -7,7 +7,7 @@ extern _kernel_swi_regs inreg;
|
||||
extern _kernel_swi_regs outreg;
|
||||
|
||||
extern unsigned char *buffer;
|
||||
|
||||
unsigned char screen = 1;
|
||||
|
||||
// Loads sprite file into buffer
|
||||
void load_sprites(char* filename)
|
||||
@@ -66,6 +66,17 @@ void display_mode(int mode)
|
||||
_kernel_swi(OS_ScreenMode,&inreg,&outreg);
|
||||
}
|
||||
|
||||
void draw_line(int x1,int y1,int x2,int y2)
|
||||
{
|
||||
inreg.r[0] = 4;
|
||||
inreg.r[1] = x1;
|
||||
inreg.r[2] = y1;
|
||||
_kernel_swi(OS_Plot,&inreg,&outreg);
|
||||
inreg.r[0] = 5;
|
||||
inreg.r[1] = x2;
|
||||
inreg.r[2] = y2;
|
||||
_kernel_swi(OS_Plot,&inreg,&outreg);
|
||||
}
|
||||
void draw_sprite(char* spritename,int x, int y)
|
||||
{
|
||||
// SpriteOp 34 to put sprite at a location
|
||||
@@ -77,3 +88,30 @@ void draw_sprite(char* spritename,int x, int y)
|
||||
inreg.r[5] = 8; // GCOL dest=source and sprite mask
|
||||
_kernel_swi(OS_SpriteOp,&inreg,&outreg);
|
||||
}
|
||||
|
||||
void screen_flipbuffer()
|
||||
{
|
||||
inreg.r[0] = 19;
|
||||
_kernel_swi(OS_Byte,&inreg,&outreg);
|
||||
|
||||
/* inreg.r[0] = 114;
|
||||
inreg.r[1] = 1;
|
||||
_kernel_swi(OS_Byte,&inreg,&outreg);
|
||||
|
||||
inreg.r[0] = 113;
|
||||
inreg.r[1] = screen;
|
||||
_kernel_swi(OS_Byte,&inreg,&outreg);
|
||||
|
||||
screen++;
|
||||
if(screen > 3)
|
||||
screen = 1;
|
||||
inreg.r[0] = 112;
|
||||
inreg.r[1] = screen;
|
||||
_kernel_swi(OS_Byte,&inreg,&outreg);*/
|
||||
}
|
||||
|
||||
void screen_clear()
|
||||
{
|
||||
inreg.r[0] = 12;
|
||||
_kernel_swi(OS_WriteC,&inreg,&outreg);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user