mirror of
https://github.com/stevenhowes/CTheEscape.git
synced 2026-05-26 15:53:29 +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;
|
||||
TilePlayer.localtile.X = x;
|
||||
TilePlayer.localtile.Y = y;
|
||||
if(screen)
|
||||
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);
|
||||
|
||||
@@ -660,8 +657,6 @@ int game2_tick()
|
||||
|
||||
game2_tick_input();
|
||||
|
||||
draw_sprite("cursor",TilePlayer.location.X,TilePlayer.location.Y);
|
||||
|
||||
x = 1100;
|
||||
y = 600;
|
||||
|
||||
|
||||
+76
-15
@@ -55,6 +55,10 @@ struct TilePlayer_s {
|
||||
int rawtile;
|
||||
unsigned char direction;
|
||||
unsigned char facedirection;
|
||||
unsigned char sprite[13];
|
||||
unsigned char basesprite[13];
|
||||
unsigned char animframe;
|
||||
int nextanimframe;
|
||||
};
|
||||
|
||||
struct TilePlayer_s TilePlayer;
|
||||
@@ -250,6 +254,8 @@ void game2_setup()
|
||||
|
||||
TilePlayer.direction = DIRECTION_NONE;
|
||||
TilePlayer.facedirection = 1;
|
||||
TilePlayer.animframe = 0;
|
||||
TilePlayer.nextanimframe = 0;
|
||||
|
||||
memset(map[0],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
|
||||
if(TilePlayer.direction > 0)
|
||||
{
|
||||
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
|
||||
TilePlayer.lastlocation.X = TilePlayer.location.X;
|
||||
@@ -431,6 +446,8 @@ int game2_tick()
|
||||
int x;
|
||||
int y;
|
||||
int i;
|
||||
char flipv = 0;
|
||||
char fliph = 0;
|
||||
|
||||
lasttick = tick;
|
||||
tick = clock();
|
||||
@@ -505,21 +522,65 @@ int game2_tick()
|
||||
game2_tick_input();
|
||||
|
||||
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
|
||||
draw_sprite("man_se",TilePlayer.location.X,TilePlayer.location.Y);
|
||||
else if((TilePlayer.facedirection & (1 << DIRECTION_S)) && (TilePlayer.facedirection & (1 << DIRECTION_W))) // SW
|
||||
draw_sprite_flippedv("man_se",TilePlayer.location.X,TilePlayer.location.Y);
|
||||
else if((TilePlayer.facedirection & (1 << DIRECTION_N)) && (TilePlayer.facedirection & (1 << DIRECTION_W))) // NW
|
||||
draw_sprite_flippedhv("man_se",TilePlayer.location.X,TilePlayer.location.Y);
|
||||
else if(TilePlayer.facedirection & (1 << DIRECTION_N)) // N
|
||||
draw_sprite_flippedh("man_s",TilePlayer.location.X,TilePlayer.location.Y);
|
||||
else if(TilePlayer.facedirection & (1 << DIRECTION_S)) // S
|
||||
draw_sprite("man_s",TilePlayer.location.X,TilePlayer.location.Y);
|
||||
else if(TilePlayer.facedirection & (1 << DIRECTION_E)) // E
|
||||
draw_sprite("man_e",TilePlayer.location.X,TilePlayer.location.Y);
|
||||
else if(TilePlayer.facedirection & (1 << DIRECTION_W)) // W
|
||||
draw_sprite_flippedv("man_e",TilePlayer.location.X,TilePlayer.location.Y);
|
||||
{
|
||||
fliph = 1;
|
||||
sprintf(TilePlayer.basesprite, "man_se");
|
||||
}else if((TilePlayer.facedirection & (1 << DIRECTION_S)) && (TilePlayer.facedirection & (1 << DIRECTION_E))) // SE
|
||||
{
|
||||
sprintf(TilePlayer.basesprite, "man_se");
|
||||
}else if((TilePlayer.facedirection & (1 << DIRECTION_S)) && (TilePlayer.facedirection & (1 << DIRECTION_W))) // SW
|
||||
{
|
||||
flipv = 1;
|
||||
sprintf(TilePlayer.basesprite, "man_se");
|
||||
}else if((TilePlayer.facedirection & (1 << DIRECTION_N)) && (TilePlayer.facedirection & (1 << DIRECTION_W))) // NW
|
||||
{
|
||||
flipv = 1;
|
||||
fliph = 1;
|
||||
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
|
||||
draw_rectangle(
|
||||
|
||||
Reference in New Issue
Block a user