diff --git a/src/entities/boss/eyeDroidCommander.c b/src/entities/boss/eyeDroidCommander.c index 2ae33fb..346e2ae 100644 --- a/src/entities/boss/eyeDroidCommander.c +++ b/src/entities/boss/eyeDroidCommander.c @@ -160,7 +160,7 @@ static void selectWeapon(void) b = (Boss*)self; - if (world.bob->isOnGround || abs(self->y - world.bob->y) > 64) + if (world.bob->isOnGround || fabs(self->y - world.bob->y) > 64) { b->weaponType = WPN_AIMED_PISTOL; b->shotsToFire = rrnd(1, 12); diff --git a/src/entities/boss/tankCommander.c b/src/entities/boss/tankCommander.c index 8125996..ac4914b 100644 --- a/src/entities/boss/tankCommander.c +++ b/src/entities/boss/tankCommander.c @@ -178,7 +178,7 @@ static void selectWeapon(void) b = (Boss*)self; - if (abs(b->y - world.bob->y) > 64) + if (fabs(b->y - world.bob->y) > 64) { b->weaponType = WPN_AIMED_PISTOL; b->shotsToFire = rrnd(4, 12); diff --git a/src/entities/cannons/cannon.c b/src/entities/cannons/cannon.c index 4c50d63..ec5f702 100644 --- a/src/entities/cannons/cannon.c +++ b/src/entities/cannons/cannon.c @@ -230,5 +230,5 @@ static void getCollisionBounds(SDL_Rect *r) static int canFire(Entity *target) { - return abs(target->y - self->y) <= MAP_TILE_SIZE; + return fabs(target->y - self->y) <= MAP_TILE_SIZE; } diff --git a/src/entities/evilBlobs/evilBlob.c b/src/entities/evilBlobs/evilBlob.c index a46371a..9a8a35c 100644 --- a/src/entities/evilBlobs/evilBlob.c +++ b/src/entities/evilBlobs/evilBlob.c @@ -211,7 +211,7 @@ static void returnToStart(void) u->dy = u->startY < u->y ? -1 : -1; } - if (abs(u->startX - u->x) <= MAP_TILE_SIZE) + if (fabs(u->startX - u->x) <= MAP_TILE_SIZE) { u->returnToStartTimer = 0; } diff --git a/src/entities/evilBlobs/grenadeBlob.c b/src/entities/evilBlobs/grenadeBlob.c index d7eea4b..c735e3d 100644 --- a/src/entities/evilBlobs/grenadeBlob.c +++ b/src/entities/evilBlobs/grenadeBlob.c @@ -72,5 +72,5 @@ static void preFire(void) static int canFire(Entity *target) { - return abs(target->y - self->y) <= MAP_TILE_SIZE * 2; + return fabs(target->y - self->y) <= MAP_TILE_SIZE * 2; } diff --git a/src/entities/evilBlobs/laserBlob.c b/src/entities/evilBlobs/laserBlob.c index 5dd76ed..8cfcf6a 100644 --- a/src/entities/evilBlobs/laserBlob.c +++ b/src/entities/evilBlobs/laserBlob.c @@ -45,5 +45,5 @@ Entity *initLaserBlob(void) static int canFire(Entity *target) { - return abs(target->y - self->y) <= MAP_TILE_SIZE * 2; + return fabs(target->y - self->y) <= MAP_TILE_SIZE * 2; } diff --git a/src/entities/evilBlobs/machineGunBlob.c b/src/entities/evilBlobs/machineGunBlob.c index 8f77d90..093a673 100644 --- a/src/entities/evilBlobs/machineGunBlob.c +++ b/src/entities/evilBlobs/machineGunBlob.c @@ -45,5 +45,5 @@ Entity *initMachineGunBlob(void) static int canFire(Entity *target) { - return abs(target->y - self->y) <= MAP_TILE_SIZE * 2; + return fabs(target->y - self->y) <= MAP_TILE_SIZE * 2; } diff --git a/src/entities/evilBlobs/plasmaBlob.c b/src/entities/evilBlobs/plasmaBlob.c index bda4083..192615b 100644 --- a/src/entities/evilBlobs/plasmaBlob.c +++ b/src/entities/evilBlobs/plasmaBlob.c @@ -45,5 +45,5 @@ Entity *initPlasmaBlob(void) static int canFire(Entity *target) { - return abs(target->y - self->y) <= MAP_TILE_SIZE * 2; + return fabs(target->y - self->y) <= MAP_TILE_SIZE * 2; } diff --git a/src/entities/evilBlobs/spreadGunBlob.c b/src/entities/evilBlobs/spreadGunBlob.c index 71d160d..f36f909 100644 --- a/src/entities/evilBlobs/spreadGunBlob.c +++ b/src/entities/evilBlobs/spreadGunBlob.c @@ -45,5 +45,5 @@ Entity *initSpreadGunBlob(void) static int canFire(Entity *target) { - return abs(target->y - self->y) <= MAP_TILE_SIZE * 5; + return fabs(target->y - self->y) <= MAP_TILE_SIZE * 5; } diff --git a/src/entities/eyeDroids/grenadeDroid.c b/src/entities/eyeDroids/grenadeDroid.c index 900d306..26a07d5 100644 --- a/src/entities/eyeDroids/grenadeDroid.c +++ b/src/entities/eyeDroids/grenadeDroid.c @@ -72,5 +72,5 @@ static void preFire(void) static int canFire(Entity *target) { - return abs(target->y - self->y) <= MAP_TILE_SIZE * 2; + return fabs(target->y - self->y) <= MAP_TILE_SIZE * 2; } diff --git a/src/entities/eyeDroids/laserDroid.c b/src/entities/eyeDroids/laserDroid.c index 7513f77..483d9e6 100644 --- a/src/entities/eyeDroids/laserDroid.c +++ b/src/entities/eyeDroids/laserDroid.c @@ -45,5 +45,5 @@ Entity *initLaserDroid(void) static int canFire(Entity *target) { - return abs(target->y - self->y) <= MAP_TILE_SIZE * 2; + return fabs(target->y - self->y) <= MAP_TILE_SIZE * 2; } diff --git a/src/entities/eyeDroids/machineGunDroid.c b/src/entities/eyeDroids/machineGunDroid.c index bcf0592..d61f747 100644 --- a/src/entities/eyeDroids/machineGunDroid.c +++ b/src/entities/eyeDroids/machineGunDroid.c @@ -45,5 +45,5 @@ Entity *initMachineGunDroid(void) static int canFire(Entity *target) { - return abs(target->y - self->y) <= MAP_TILE_SIZE * 2; + return fabs(target->y - self->y) <= MAP_TILE_SIZE * 2; } diff --git a/src/entities/eyeDroids/plasmaDroid.c b/src/entities/eyeDroids/plasmaDroid.c index 07b48ee..cf978b1 100644 --- a/src/entities/eyeDroids/plasmaDroid.c +++ b/src/entities/eyeDroids/plasmaDroid.c @@ -45,5 +45,5 @@ Entity *initPlasmaDroid(void) static int canFire(Entity *target) { - return abs(target->y - self->y) <= MAP_TILE_SIZE * 2; + return fabs(target->y - self->y) <= MAP_TILE_SIZE * 2; } diff --git a/src/entities/eyeDroids/spreadGunDroid.c b/src/entities/eyeDroids/spreadGunDroid.c index 594d6bc..49d63a5 100644 --- a/src/entities/eyeDroids/spreadGunDroid.c +++ b/src/entities/eyeDroids/spreadGunDroid.c @@ -45,5 +45,5 @@ Entity *initSpreadGunDroid(void) static int canFire(Entity *target) { - return abs(target->y - self->y) <= MAP_TILE_SIZE * 5; + return fabs(target->y - self->y) <= MAP_TILE_SIZE * 5; } diff --git a/src/entities/structures/cardReader.c b/src/entities/structures/cardReader.c index 0b59fc0..82742a8 100644 --- a/src/entities/structures/cardReader.c +++ b/src/entities/structures/cardReader.c @@ -22,6 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. static void init(void); static void tick(void); +static void activate(int active); static void touch(Entity *other); static void load(cJSON *root); static void save(cJSON *root); @@ -42,6 +43,7 @@ Entity *initCardReader(void) s->tick = tick; s->init = init; + s->activate = activate; s->touch = touch; s->load = load; s->save = save; @@ -110,6 +112,18 @@ static void touch(Entity *other) } } +static void activate(int active) +{ + Structure *s; + + s = (Structure*)self; + + s->active = 1; + s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSprite("CardReader"); + s->spriteTime = 0; + s->spriteFrame = 0; +} + static void load(cJSON *root) { Structure *s; diff --git a/src/entities/structures/door.c b/src/entities/structures/door.c index 2acab1d..76e2cfd 100644 --- a/src/entities/structures/door.c +++ b/src/entities/structures/door.c @@ -138,7 +138,7 @@ static void tick(void) s->dx *= s->speed; s->dy *= s->speed; - if (abs(s->x - s->tx) < s->speed && abs(s->y - s->ty) < s->speed) + if (fabs(s->x - s->tx) < s->speed && fabs(s->y - s->ty) < s->speed) { s->x = s->tx; s->y = s->ty; @@ -153,7 +153,7 @@ static void tick(void) s->dx *= s->speed; s->dy *= s->speed; - if (abs(s->x - s->closedX) < s->speed && abs(self->y - s->closedY) < s->speed) + if (fabs(s->x - s->closedX) < s->speed && fabs(self->y - s->closedY) < s->speed) { s->x = s->closedX; s->y = s->closedY; diff --git a/src/entities/structures/lift.c b/src/entities/structures/lift.c index 3dac8e0..85cce24 100644 --- a/src/entities/structures/lift.c +++ b/src/entities/structures/lift.c @@ -87,7 +87,7 @@ static void action(void) s->dx *= s->speed; s->dy *= s->speed; - if (abs(s->x - s->startX) < s->speed && abs(s->y - s->startY) < s->speed) + if (fabs(s->x - s->startX) < s->speed && fabs(s->y - s->startY) < s->speed) { s->x = s->startX; s->y = s->startY; @@ -103,7 +103,7 @@ static void action(void) s->dx *= s->speed; s->dy *= s->speed; - if (abs(s->x - s->tx) < s->speed && abs(s->y - s->ty) < s->speed) + if (fabs(s->x - s->tx) < s->speed && fabs(s->y - s->ty) < s->speed) { s->x = s->tx; s->y = s->ty; diff --git a/src/system/input.c b/src/system/input.c index accdced..bde6b14 100644 --- a/src/system/input.c +++ b/src/system/input.c @@ -26,7 +26,7 @@ void initInput(void) static void doKeyDown(SDL_KeyboardEvent *event) { - if (event->keysym.scancode >= 0 && event->keysym.scancode < MAX_KEYBOARD_KEYS && event->repeat == 0) + if (event->keysym.scancode < MAX_KEYBOARD_KEYS && event->repeat == 0) { app.keyboard[event->keysym.scancode] = 1; @@ -36,7 +36,7 @@ static void doKeyDown(SDL_KeyboardEvent *event) static void doKeyUp(SDL_KeyboardEvent *event) { - if (event->keysym.scancode >= 0 && event->keysym.scancode < MAX_KEYBOARD_KEYS) + if (event->keysym.scancode < MAX_KEYBOARD_KEYS) { app.keyboard[event->keysym.scancode] = 0; } diff --git a/src/world/camera.c b/src/world/camera.c index fe93da4..3d1afd7 100644 --- a/src/world/camera.c +++ b/src/world/camera.c @@ -43,8 +43,8 @@ float cameraChase(Entity *e, int maxSpeed) tx = e->x - (SCREEN_WIDTH / 2); ty = e->y - (SCREEN_HEIGHT / 2); - diffX = abs(tx - x); - diffY = abs(ty - y); + diffX = fabs(tx - x); + diffY = fabs(ty - y); dist = MAX(diffX, diffY); diff --git a/src/world/entities.c b/src/world/entities.c index bb16e65..1e70874 100644 --- a/src/world/entities.c +++ b/src/world/entities.c @@ -961,8 +961,8 @@ static void handleTeleport(void) { float diffX, diffY; - diffX = abs(self->x - self->tx) / 20; - diffY = abs(self->y - self->ty) / 20; + diffX = fabs(self->x - self->tx) / 20; + diffY = fabs(self->y - self->ty) / 20; addTeleportStar(self->x + rand() % self->w, self->y + rand() % self->h); diff --git a/src/world/triggers.c b/src/world/triggers.c index 63f84b1..aab7819 100644 --- a/src/world/triggers.c +++ b/src/world/triggers.c @@ -34,7 +34,7 @@ void doLocationTriggers(void) { activateEntities(t->targetNames, 1); - if (t->message != NULL) + if (strlen(t->message) > 0) { setGameplayMessage(MSG_GAMEPLAY, t->message); } @@ -66,7 +66,7 @@ void fireTriggers(char *name) { activateEntities(t->targetNames, 1); - if (t->message != NULL) + if (strlen(t->message) > 0) { setGameplayMessage(MSG_GAMEPLAY, t->message); } diff --git a/src/world/world.c b/src/world/world.c index 94d2ba5..ff3ed4f 100644 --- a/src/world/world.c +++ b/src/world/world.c @@ -572,9 +572,6 @@ static void doGameOver(void) { loadMusic("music/Sadness.ogg"); playMusic(0); - } - else if (world.gameOverTimer == -FPS * 3) - { showWidgetGroup("gameOver"); }