gfx, shit

This commit is contained in:
t. boddy 2026-02-17 15:10:28 -05:00
parent 364a34ce33
commit 0151304d05
8 changed files with 140 additions and 33 deletions

View file

@ -62,9 +62,16 @@ void spawnEnemy(u8 type, u8 zone){
static void boundsEnemy(u8 i){
if(enemies[i].ints[3] >= 0){
s16 h = enemies[i].ints[3];
// if the human was collected by player or gone, kill this enemy
if(!humans[h].active || humans[h].state == HUMAN_COLLECTED){
enemies[i].ints[3] = -1;
humanBeingCarried = FALSE;
killEnemy(i);
return;
}
// carrying: only check for reaching the top
if(enemies[i].pos.y <= FIX32(0)){
s16 h = enemies[i].ints[3];
else if(enemies[i].pos.y <= FIX32(0)){
if(humans[h].active) killHuman(h);
enemies[i].ints[3] = -1;
humanBeingCarried = FALSE;
@ -90,19 +97,20 @@ static void updateEnemy(u8 i){
enemies[i].pos.x += enemies[i].vel.x;
enemies[i].pos.y += enemies[i].vel.y;
boundsEnemy(i);
if(!enemies[i].active) return;
fix32 dx = getWrappedDelta(enemies[i].pos.x, player.pos.x);
enemies[i].onScreen = (dx >= -CULL_LIMIT && dx <= CULL_LIMIT);
switch(enemies[i].type){
case 0:
updateEnemyOne(i);
break;
}
boundsEnemy(i);
if(!enemies[i].active) return;
s16 sx = getScreenX(enemies[i].pos.x, player.camera);
s16 sy = fix32ToInt(enemies[i].pos.y);
fix32 dx = getWrappedDelta(enemies[i].pos.x, player.pos.x);
enemies[i].onScreen = (dx >= -CULL_LIMIT && dx <= CULL_LIMIT);
SPR_setVisibility(enemies[i].image, enemies[i].onScreen ? VISIBLE : HIDDEN);
SPR_setPosition(enemies[i].image, sx - enemies[i].off, sy - enemies[i].off);