mirror of
https://github.com/stevenhowes/CTheEscape.git
synced 2026-05-27 00:03:27 +01:00
Strip unused pallets and masks. Added player walking animation and general tidyup of old sprites.
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-6
@@ -577,17 +577,14 @@ int game2_tick()
|
|||||||
map[2][x][y] = 255;
|
map[2][x][y] = 255;
|
||||||
TilePlayer.localtile.X = x;
|
TilePlayer.localtile.X = x;
|
||||||
TilePlayer.localtile.Y = y;
|
TilePlayer.localtile.Y = y;
|
||||||
if(screen)
|
|
||||||
draw_sprite("select1",x*100,y*100);
|
draw_sprite("select1",x*100,y*100);
|
||||||
else
|
|
||||||
draw_sprite("select2",x*100,y*100);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
draw_sprite("lcarsblack",1000,DISPLAY_Y-164);
|
draw_sprite("commspanel",1000,DISPLAY_Y-164);
|
||||||
|
|
||||||
TilePlayer.rawtile = (TilePlayer.mapoffset.Y) + TilePlayer.localtile.Y + (TilePlayer.mapoffset.X * 100) + (TilePlayer.localtile.X * 100);
|
TilePlayer.rawtile = (TilePlayer.mapoffset.Y) + TilePlayer.localtile.Y + (TilePlayer.mapoffset.X * 100) + (TilePlayer.localtile.X * 100);
|
||||||
|
|
||||||
@@ -660,8 +657,6 @@ int game2_tick()
|
|||||||
|
|
||||||
game2_tick_input();
|
game2_tick_input();
|
||||||
|
|
||||||
draw_sprite("cursor",TilePlayer.location.X,TilePlayer.location.Y);
|
|
||||||
|
|
||||||
x = 1100;
|
x = 1100;
|
||||||
y = 600;
|
y = 600;
|
||||||
|
|
||||||
|
|||||||
+76
-15
@@ -55,6 +55,10 @@ struct TilePlayer_s {
|
|||||||
int rawtile;
|
int rawtile;
|
||||||
unsigned char direction;
|
unsigned char direction;
|
||||||
unsigned char facedirection;
|
unsigned char facedirection;
|
||||||
|
unsigned char sprite[13];
|
||||||
|
unsigned char basesprite[13];
|
||||||
|
unsigned char animframe;
|
||||||
|
int nextanimframe;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TilePlayer_s TilePlayer;
|
struct TilePlayer_s TilePlayer;
|
||||||
@@ -250,6 +254,8 @@ void game2_setup()
|
|||||||
|
|
||||||
TilePlayer.direction = DIRECTION_NONE;
|
TilePlayer.direction = DIRECTION_NONE;
|
||||||
TilePlayer.facedirection = 1;
|
TilePlayer.facedirection = 1;
|
||||||
|
TilePlayer.animframe = 0;
|
||||||
|
TilePlayer.nextanimframe = 0;
|
||||||
|
|
||||||
memset(map[0],0xFF,100);
|
memset(map[0],0xFF,100);
|
||||||
memset(map[1],0xFF,100);
|
memset(map[1],0xFF,100);
|
||||||
@@ -347,7 +353,16 @@ void game2_tick_input()
|
|||||||
|
|
||||||
// Store the last movement so we know where to face an idle player
|
// Store the last movement so we know where to face an idle player
|
||||||
if(TilePlayer.direction > 0)
|
if(TilePlayer.direction > 0)
|
||||||
|
{
|
||||||
TilePlayer.facedirection = TilePlayer.direction;
|
TilePlayer.facedirection = TilePlayer.direction;
|
||||||
|
if(tick > TilePlayer.nextanimframe)
|
||||||
|
{
|
||||||
|
TilePlayer.animframe++;
|
||||||
|
TilePlayer.nextanimframe = tick + 10;
|
||||||
|
}
|
||||||
|
if(TilePlayer.animframe > 3)
|
||||||
|
TilePlayer.animframe = 0;
|
||||||
|
}
|
||||||
|
|
||||||
// Store in case we have a vertical collide
|
// Store in case we have a vertical collide
|
||||||
TilePlayer.lastlocation.X = TilePlayer.location.X;
|
TilePlayer.lastlocation.X = TilePlayer.location.X;
|
||||||
@@ -431,6 +446,8 @@ int game2_tick()
|
|||||||
int x;
|
int x;
|
||||||
int y;
|
int y;
|
||||||
int i;
|
int i;
|
||||||
|
char flipv = 0;
|
||||||
|
char fliph = 0;
|
||||||
|
|
||||||
lasttick = tick;
|
lasttick = tick;
|
||||||
tick = clock();
|
tick = clock();
|
||||||
@@ -505,21 +522,65 @@ int game2_tick()
|
|||||||
game2_tick_input();
|
game2_tick_input();
|
||||||
|
|
||||||
if((TilePlayer.facedirection & (1 << DIRECTION_N)) && (TilePlayer.facedirection & (1 << DIRECTION_E))) //NE
|
if((TilePlayer.facedirection & (1 << DIRECTION_N)) && (TilePlayer.facedirection & (1 << DIRECTION_E))) //NE
|
||||||
draw_sprite_flippedh("man_se",TilePlayer.location.X,TilePlayer.location.Y);
|
{
|
||||||
else if((TilePlayer.facedirection & (1 << DIRECTION_S)) && (TilePlayer.facedirection & (1 << DIRECTION_E))) // SE
|
fliph = 1;
|
||||||
draw_sprite("man_se",TilePlayer.location.X,TilePlayer.location.Y);
|
sprintf(TilePlayer.basesprite, "man_se");
|
||||||
else if((TilePlayer.facedirection & (1 << DIRECTION_S)) && (TilePlayer.facedirection & (1 << DIRECTION_W))) // SW
|
}else if((TilePlayer.facedirection & (1 << DIRECTION_S)) && (TilePlayer.facedirection & (1 << DIRECTION_E))) // SE
|
||||||
draw_sprite_flippedv("man_se",TilePlayer.location.X,TilePlayer.location.Y);
|
{
|
||||||
else if((TilePlayer.facedirection & (1 << DIRECTION_N)) && (TilePlayer.facedirection & (1 << DIRECTION_W))) // NW
|
sprintf(TilePlayer.basesprite, "man_se");
|
||||||
draw_sprite_flippedhv("man_se",TilePlayer.location.X,TilePlayer.location.Y);
|
}else if((TilePlayer.facedirection & (1 << DIRECTION_S)) && (TilePlayer.facedirection & (1 << DIRECTION_W))) // SW
|
||||||
else if(TilePlayer.facedirection & (1 << DIRECTION_N)) // N
|
{
|
||||||
draw_sprite_flippedh("man_s",TilePlayer.location.X,TilePlayer.location.Y);
|
flipv = 1;
|
||||||
else if(TilePlayer.facedirection & (1 << DIRECTION_S)) // S
|
sprintf(TilePlayer.basesprite, "man_se");
|
||||||
draw_sprite("man_s",TilePlayer.location.X,TilePlayer.location.Y);
|
}else if((TilePlayer.facedirection & (1 << DIRECTION_N)) && (TilePlayer.facedirection & (1 << DIRECTION_W))) // NW
|
||||||
else if(TilePlayer.facedirection & (1 << DIRECTION_E)) // E
|
{
|
||||||
draw_sprite("man_e",TilePlayer.location.X,TilePlayer.location.Y);
|
flipv = 1;
|
||||||
else if(TilePlayer.facedirection & (1 << DIRECTION_W)) // W
|
fliph = 1;
|
||||||
draw_sprite_flippedv("man_e",TilePlayer.location.X,TilePlayer.location.Y);
|
sprintf(TilePlayer.basesprite, "man_se");
|
||||||
|
}else if(TilePlayer.facedirection & (1 << DIRECTION_N)) // N
|
||||||
|
{
|
||||||
|
fliph = 1;
|
||||||
|
sprintf(TilePlayer.basesprite, "man_s");
|
||||||
|
}else if(TilePlayer.facedirection & (1 << DIRECTION_S)) // S
|
||||||
|
{
|
||||||
|
sprintf(TilePlayer.basesprite, "man_s");
|
||||||
|
}else if(TilePlayer.facedirection & (1 << DIRECTION_E)) // E
|
||||||
|
{
|
||||||
|
sprintf(TilePlayer.basesprite, "man_e");
|
||||||
|
}else if(TilePlayer.facedirection & (1 << DIRECTION_W)) // W
|
||||||
|
{
|
||||||
|
flipv = 1;
|
||||||
|
sprintf(TilePlayer.basesprite, "man_e");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(TilePlayer.animframe == 0)
|
||||||
|
sprintf(TilePlayer.sprite, "%s",TilePlayer.basesprite);
|
||||||
|
if(TilePlayer.animframe == 1)
|
||||||
|
sprintf(TilePlayer.sprite, "%s_l",TilePlayer.basesprite);
|
||||||
|
if(TilePlayer.animframe == 2)
|
||||||
|
sprintf(TilePlayer.sprite, "%s",TilePlayer.basesprite);
|
||||||
|
if(TilePlayer.animframe == 3)
|
||||||
|
{
|
||||||
|
// Use 'right' for diagonals, otherwise we flip
|
||||||
|
if(strlen(TilePlayer.basesprite) > 5)
|
||||||
|
sprintf(TilePlayer.sprite, "%s_r",TilePlayer.basesprite);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sprintf(TilePlayer.sprite, "%s_l",TilePlayer.basesprite);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
draw_spritetext("#############", 1020, 650);
|
||||||
|
draw_spritetext(TilePlayer.sprite, 1020, 650);
|
||||||
|
|
||||||
|
if(fliph && flipv)
|
||||||
|
draw_sprite_flippedhv(TilePlayer.sprite,TilePlayer.location.X,TilePlayer.location.Y);
|
||||||
|
else if(fliph)
|
||||||
|
draw_sprite_flippedh(TilePlayer.sprite,TilePlayer.location.X,TilePlayer.location.Y);
|
||||||
|
else if(flipv)
|
||||||
|
draw_sprite_flippedv(TilePlayer.sprite,TilePlayer.location.X,TilePlayer.location.Y);
|
||||||
|
else
|
||||||
|
draw_sprite(TilePlayer.sprite,TilePlayer.location.X,TilePlayer.location.Y);
|
||||||
|
|
||||||
#ifdef M2_DEBUG_HITBOXES
|
#ifdef M2_DEBUG_HITBOXES
|
||||||
draw_rectangle(
|
draw_rectangle(
|
||||||
|
|||||||
Reference in New Issue
Block a user