mirror of
https://gitlab.com/drummyfish/anarch.git
synced 2024-12-04 22:52:22 -05:00
Add turret
This commit is contained in:
parent
408fe8165b
commit
20a0fdc409
60
assets.h
60
assets.h
@ -848,6 +848,66 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] =
|
||||
150,101,238,231,125,221,119,117,111,75,64,51,51,0,95,102,255,85,224,96,119,215,
|
||||
112,85,90,171,64,51,51,51,0,5,85,94,0,153,7,119,3,0,10,171,64,51,51,51,51,48,0,
|
||||
0,51,0,48,112,51,51,48,0,0
|
||||
},
|
||||
{ // 13, turret idle
|
||||
175,0,131,26,41,168,37,6,91,7,48,93,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,16,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,25,145,0,0,0,0,0,0,0,0,17,0,0,0,0,17,151,98,16,0,0,0,0,0,0,1,130,16,0,0,
|
||||
1,35,184,130,81,16,0,0,0,0,0,1,40,16,0,0,1,34,123,178,85,65,0,0,0,0,0,23,49,0,0,
|
||||
0,25,98,187,98,81,16,0,0,0,0,0,23,65,0,0,0,25,98,118,98,16,0,0,0,0,0,1,115,16,0,
|
||||
17,17,71,98,118,98,81,16,0,0,0,1,20,116,16,0,0,0,22,35,114,36,85,65,0,0,1,25,
|
||||
103,53,16,0,0,1,50,52,98,36,81,16,0,0,25,151,39,69,161,0,0,25,51,68,98,36,16,0,
|
||||
0,0,25,118,100,84,161,0,1,151,54,35,184,36,16,0,0,1,151,98,35,52,85,17,23,102,
|
||||
70,35,104,132,81,16,0,1,151,98,35,52,85,162,50,34,70,35,104,132,85,65,0,1,118,
|
||||
34,51,68,85,17,19,51,70,35,104,132,81,16,0,1,118,35,51,68,81,0,1,67,70,35,184,
|
||||
36,16,0,0,1,102,35,52,69,81,0,0,20,66,53,98,36,16,0,0,1,115,51,68,81,16,0,0,1,
|
||||
67,165,98,36,81,16,0,1,114,51,69,16,0,0,0,0,20,85,98,36,85,65,0,27,98,35,65,0,0,
|
||||
1,17,17,18,58,35,58,81,16,0,27,34,35,16,0,0,23,98,51,18,58,35,58,16,0,1,123,130,
|
||||
52,16,0,0,22,34,68,18,58,140,58,81,16,23,98,184,129,0,0,0,1,35,65,1,90,44,202,
|
||||
85,65,25,34,35,193,0,0,0,1,20,81,1,85,140,202,81,16,22,34,52,65,0,0,0,17,1,16,0,
|
||||
17,35,58,16,0,1,35,68,16,0,0,0,16,0,0,0,0,19,49,0,0,0,17,17,0,0,0,0,0,0,0,0,0,1,
|
||||
16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0
|
||||
},
|
||||
{ // 14 turret walk
|
||||
175,0,131,26,41,37,168,6,91,7,48,93,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,1,153,16,0,0,0,0,0,0,0,0,0,0,0,0,1,25,117,33,0,0,0,0,0,0,0,0,1,16,0,0,
|
||||
18,59,136,33,0,0,0,0,0,0,0,0,24,33,0,0,18,39,187,38,16,0,0,0,0,0,0,0,18,129,0,1,
|
||||
149,43,181,38,65,0,0,0,0,0,0,1,115,16,0,1,149,39,85,38,16,0,0,0,0,0,0,25,33,0,1,
|
||||
20,117,39,85,33,0,0,0,0,0,1,17,114,49,0,16,1,82,55,34,70,16,0,0,0,1,25,87,51,16,
|
||||
0,0,19,35,69,34,65,0,0,0,0,25,151,39,70,16,0,1,147,52,69,34,65,0,0,0,0,25,117,
|
||||
84,100,161,0,25,115,82,59,130,70,16,0,0,1,151,82,35,52,161,17,117,83,82,53,136,
|
||||
70,65,0,0,1,151,82,35,52,102,35,34,35,82,53,136,70,16,0,0,1,117,34,51,68,102,17,
|
||||
51,52,82,53,136,65,0,0,0,1,117,34,51,68,102,0,20,52,82,59,130,65,0,0,0,23,85,35,
|
||||
52,70,97,0,1,68,35,101,34,65,0,0,0,23,82,51,68,102,96,0,0,20,58,101,34,70,16,0,
|
||||
1,181,34,52,65,16,0,17,16,1,70,101,34,65,0,0,23,178,34,52,16,0,1,119,81,17,35,
|
||||
162,51,161,0,1,117,40,35,65,0,0,1,82,35,49,35,162,51,166,16,1,146,43,136,65,0,0,
|
||||
17,34,52,17,35,168,195,166,65,1,82,34,60,16,0,0,1,51,65,0,22,162,204,166,16,1,
|
||||
34,51,68,16,0,0,0,17,16,0,22,104,204,161,0,0,17,52,65,0,0,0,0,0,0,0,1,18,51,161,
|
||||
0,0,0,17,16,0,0,0,0,0,0,0,0,1,51,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0
|
||||
},
|
||||
{ // 15 turret attack
|
||||
175,0,131,41,26,1,168,191,7,48,81,6,37,21,35,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,1,136,16,0,0,0,0,0,0,0,0,0,0,0,0,1,24,188,33,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
18,77,170,38,16,0,0,0,0,0,0,0,0,0,0,0,18,43,212,38,49,0,0,0,0,0,0,0,0,0,0,1,140,
|
||||
45,220,38,16,0,0,0,0,0,0,0,0,0,0,1,140,43,220,33,0,0,0,0,0,0,0,0,0,1,17,19,188,
|
||||
43,220,38,16,0,0,0,0,80,85,0,0,0,0,1,194,75,226,54,49,0,0,0,85,135,188,165,0,0,
|
||||
0,148,36,61,226,54,16,0,0,90,136,183,15,254,80,0,9,132,67,61,226,49,0,0,0,168,
|
||||
139,119,112,238,80,0,24,180,194,77,162,49,0,0,1,187,183,120,135,116,161,21,189,
|
||||
211,194,77,170,54,16,0,1,192,119,120,135,119,9,173,204,195,194,77,170,54,49,0,1,
|
||||
204,192,119,119,106,169,21,221,211,194,77,170,54,16,0,0,175,255,247,122,170,80,
|
||||
0,94,211,194,77,162,49,0,0,0,90,255,231,68,170,80,0,5,227,36,109,226,49,0,0,0,0,
|
||||
85,224,74,85,0,0,0,83,73,109,226,54,16,0,0,0,0,85,85,0,0,0,0,1,54,109,226,54,49,
|
||||
0,0,0,0,0,0,0,0,68,68,65,36,158,68,150,16,0,0,0,0,0,0,0,4,141,221,225,36,158,68,
|
||||
145,0,0,0,0,0,0,0,0,4,221,35,49,36,154,164,150,16,0,0,0,0,0,0,0,0,18,67,16,22,
|
||||
158,170,150,49,0,0,0,0,0,0,0,0,17,54,16,22,106,170,150,16,0,0,0,0,0,0,0,1,16,17,
|
||||
0,1,30,68,145,0,0,0,0,0,0,0,0,1,0,0,0,0,1,68,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0
|
||||
}
|
||||
};
|
||||
|
||||
|
BIN
assets/monster_turret_attack.png
Normal file
BIN
assets/monster_turret_attack.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 879 B |
BIN
assets/monster_turret_idle.png
Normal file
BIN
assets/monster_turret_idle.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 854 B |
BIN
assets/monster_turret_walk.png
Normal file
BIN
assets/monster_turret_walk.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 828 B |
3
levels.h
3
levels.h
@ -98,6 +98,7 @@ typedef struct
|
||||
#define SFG_LEVEL_ELEMENT_MONSTER_WARRIOR 0x20
|
||||
#define SFG_LEVEL_ELEMENT_MONSTER_PLASMABOT 0x30
|
||||
#define SFG_LEVEL_ELEMENT_MONSTER_ENDER 0x40
|
||||
#define SFG_LEVEL_ELEMENT_MONSTER_TURRET 0x50
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@ -250,7 +251,7 @@ SFG_PROGRAM_MEMORY SFG_Level SFG_level0 =
|
||||
{SFG_LEVEL_ELEMENT_MONSTER_DESTROYER, {16, 7}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}},
|
||||
{SFG_LEVEL_ELEMENT_MONSTER_WARRIOR, {18, 31}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}},
|
||||
{SFG_LEVEL_ELEMENT_MONSTER_PLASMABOT, {19, 31}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}},
|
||||
{SFG_LEVEL_ELEMENT_NONE, {0, 0}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}},
|
||||
{SFG_LEVEL_ELEMENT_MONSTER_TURRET, {5, 24}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}},
|
||||
{SFG_LEVEL_ELEMENT_NONE, {0, 0}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}},
|
||||
{SFG_LEVEL_ELEMENT_NONE, {0, 0}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}},
|
||||
{SFG_LEVEL_ELEMENT_NONE, {0, 0}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}},
|
||||
|
10
main.c
10
main.c
@ -551,6 +551,15 @@ const uint8_t *SFG_getMonsterSprite(
|
||||
}
|
||||
break;
|
||||
|
||||
case SFG_LEVEL_ELEMENT_MONSTER_TURRET:
|
||||
switch (state)
|
||||
{
|
||||
case SFG_MONSTER_STATE_ATTACKING: return SFG_monsterSprites[15]; break;
|
||||
case SFG_MONSTER_STATE_IDLE: return SFG_monsterSprites[13]; break;
|
||||
default: return SFG_monsterSprites[frame ? 13 : 14]; break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return SFG_monsterSprites[0];
|
||||
break;
|
||||
@ -1100,6 +1109,7 @@ void SFG_setAndInitLevel(const SFG_Level *level)
|
||||
case SFG_LEVEL_ELEMENT_MONSTER_WARRIOR:
|
||||
case SFG_LEVEL_ELEMENT_MONSTER_PLASMABOT:
|
||||
case SFG_LEVEL_ELEMENT_MONSTER_ENDER:
|
||||
case SFG_LEVEL_ELEMENT_MONSTER_TURRET:
|
||||
SFG_LOG("adding monster");
|
||||
|
||||
monster =
|
||||
|
@ -146,4 +146,12 @@
|
||||
*/
|
||||
#define SFG_HUD_HEALTH_INDICATOR_DURATION 500
|
||||
|
||||
/**
|
||||
How many element (items, monsters, ...) distances will be checked per frame
|
||||
for distance. Higher value may decrease performance a tiny bit, but things
|
||||
will react more quickly and appear less "out of thin air".
|
||||
*/
|
||||
|
||||
#define SFG_ELEMENT_DISTANCES_CHECKED_PER_FRAME 8
|
||||
|
||||
#endif // guard
|
||||
|
Loading…
Reference in New Issue
Block a user