diff --git a/common.mk b/common.mk index 3f500d2..b2166ce 100644 --- a/common.mk +++ b/common.mk @@ -44,7 +44,7 @@ OBJS += main.o map.o maths.o mia.o missile.o OBJS += objectives.o OBJS += particles.o player.o powerPoint.o powerPool.o pressurePlate.o pushBlock.o OBJS += quadtree.o -OBJS += sound.o sprites.o +OBJS += sound.o sprites.o structures.o OBJS += tankCommander.o tankTrack.o teeka.o teleporter.o text.o textures.o title.o triggers.o OBJS += unit.o util.o OBJS += weapons.o weaponPickup.o widgets.o world.o worldLoader.o diff --git a/src/combat/weapons.c b/src/combat/weapons.c index 18d343b..0c687a0 100644 --- a/src/combat/weapons.c +++ b/src/combat/weapons.c @@ -22,43 +22,43 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Bullet *createBaseBullet(Unit *owner); -static int bulletSprite[2]; -static int plasmaSprite[2]; -static int aimedSprite; -static int spreadShotSprite; -static int alienSpreadShotSprite; -static int laserSprite[2]; -static int grenadeSprite; -static int alienGrenadeSprite; -static int shotgunPelletSprite; -static int missileSprite[2]; +static Sprite *bulletSprite[2]; +static Sprite *plasmaSprite[2]; +static Sprite *aimedSprite; +static Sprite *spreadShotSprite; +static Sprite *alienSpreadShotSprite; +static Sprite *laserSprite[2]; +static Sprite *grenadeSprite; +static Sprite *alienGrenadeSprite; +static Sprite *shotgunPelletSprite; +static Sprite *missileSprite[2]; static void tick(void); static void touch(Entity *other); void initWeapons(void) { - bulletSprite[0] = getSpriteIndex("BulletRight"); - bulletSprite[1] = getSpriteIndex("BulletLeft"); + bulletSprite[0] = getSprite("BulletRight"); + bulletSprite[1] = getSprite("BulletLeft"); - plasmaSprite[0] = getSpriteIndex("PlasmaRight"); - plasmaSprite[1] = getSpriteIndex("PlasmaLeft"); + plasmaSprite[0] = getSprite("PlasmaRight"); + plasmaSprite[1] = getSprite("PlasmaLeft"); - aimedSprite = getSpriteIndex("AimedShot"); + aimedSprite = getSprite("AimedShot"); - spreadShotSprite = getSpriteIndex("SpreadShot"); - alienSpreadShotSprite = getSpriteIndex("AlienSpreadShot"); + spreadShotSprite = getSprite("SpreadShot"); + alienSpreadShotSprite = getSprite("AlienSpreadShot"); - laserSprite[0] = getSpriteIndex("Laser"); - laserSprite[1] = getSpriteIndex("AlienLaser"); + laserSprite[0] = getSprite("Laser"); + laserSprite[1] = getSprite("AlienLaser"); - grenadeSprite = getSpriteIndex("Grenade"); - alienGrenadeSprite = getSpriteIndex("AlienGrenade"); + grenadeSprite = getSprite("Grenade"); + alienGrenadeSprite = getSprite("AlienGrenade"); - shotgunPelletSprite = getSpriteIndex("ShotgunPellet"); + shotgunPelletSprite = getSprite("ShotgunPellet"); - missileSprite[0] = getSpriteIndex("MissileRight"); - missileSprite[1] = getSpriteIndex("MissileLeft"); + missileSprite[0] = getSprite("MissileRight"); + missileSprite[1] = getSprite("MissileLeft"); } void firePistol(Unit *owner) diff --git a/src/combat/weapons.h b/src/combat/weapons.h index 62f212a..5d6f5e9 100644 --- a/src/combat/weapons.h +++ b/src/combat/weapons.h @@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../common.h" -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void playSound(int snd, int ch); extern int rrnd(int low, int high); extern void getSlope(int x1, int y1, int x2, int y2, float *dx, float *dy); diff --git a/src/entities/blobs/mia.c b/src/entities/blobs/mia.c index 842632a..b1f36b8 100644 --- a/src/entities/blobs/mia.c +++ b/src/entities/blobs/mia.c @@ -37,9 +37,9 @@ void initMIA(void) m->tx = m->ty = -1; - m->sprite[FACING_LEFT] = getSpriteIndex("MIA"); - m->sprite[FACING_RIGHT] = getSpriteIndex("MIA"); - m->sprite[FACING_DIE] = getSpriteIndex("MIA"); + m->sprite[FACING_LEFT] = getSprite("MIA"); + m->sprite[FACING_RIGHT] = getSprite("MIA"); + m->sprite[FACING_DIE] = getSprite("MIA"); m->flags |= EF_IGNORE_BULLETS; diff --git a/src/entities/blobs/mia.h b/src/entities/blobs/mia.h index fe46b9f..5f69302 100644 --- a/src/entities/blobs/mia.h +++ b/src/entities/blobs/mia.h @@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void nothing(void); extern void addMIATeleportStars(float x, float y); extern void addTeleportStars(Entity *e); diff --git a/src/entities/blobs/teeka.c b/src/entities/blobs/teeka.c index 0a9baad..7a5ccaf 100644 --- a/src/entities/blobs/teeka.c +++ b/src/entities/blobs/teeka.c @@ -26,7 +26,7 @@ static void preFire(void); static void attack(void); static Entity *target; -static int aimedSprite; +static Sprite *aimedSprite; static int exitMission; void initTeeka(void) @@ -43,15 +43,15 @@ void initTeeka(void) u->weaponType = WPN_AIMED_PISTOL; - u->sprite[FACING_LEFT] = getSpriteIndex("TeekaLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("TeekaRight"); - u->sprite[FACING_DIE] = getSpriteIndex("TeekaLeft"); + u->sprite[FACING_LEFT] = getSprite("TeekaLeft"); + u->sprite[FACING_RIGHT] = getSprite("TeekaRight"); + u->sprite[FACING_DIE] = getSprite("TeekaLeft"); u->health = u->healthMax = 9999; u->tick = tick; - aimedSprite = getSpriteIndex("AimedShot"); + aimedSprite = getSprite("AimedShot"); } static void tick(void) diff --git a/src/entities/blobs/teeka.h b/src/entities/blobs/teeka.h index 63d0174..89e2dbb 100644 --- a/src/entities/blobs/teeka.h +++ b/src/entities/blobs/teeka.h @@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern Unit *createUnit(void); extern void unitTick(void); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern int rrnd(int low, int high); extern Bullet *createBaseBullet(Unit *owner); extern void getSlope(int x1, int y1, int x2, int y2, float *dx, float *dy); diff --git a/src/entities/boss/blaze.c b/src/entities/boss/blaze.c index e2155b8..3f66d9a 100644 --- a/src/entities/boss/blaze.c +++ b/src/entities/boss/blaze.c @@ -32,7 +32,7 @@ void initBlaze(Entity *e) STRNCPY(b->name, "Blaze", MAX_NAME_LENGTH); - b->sprite[FACING_LEFT] = getSpriteIndex("BlazeLeft"); - b->sprite[FACING_RIGHT] = getSpriteIndex("BlazeRight"); - b->sprite[FACING_DIE] = getSpriteIndex("BlazeSpin"); + b->sprite[FACING_LEFT] = getSprite("BlazeLeft"); + b->sprite[FACING_RIGHT] = getSprite("BlazeRight"); + b->sprite[FACING_DIE] = getSprite("BlazeSpin"); } diff --git a/src/entities/boss/blaze.h b/src/entities/boss/blaze.h index 7229253..b7a5d6f 100644 --- a/src/entities/boss/blaze.h +++ b/src/entities/boss/blaze.h @@ -21,4 +21,4 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" extern void initBlobBoss(Boss *b); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); diff --git a/src/entities/boss/blobBoss.c b/src/entities/boss/blobBoss.c index f488de8..d49f6fe 100644 --- a/src/entities/boss/blobBoss.c +++ b/src/entities/boss/blobBoss.c @@ -24,7 +24,7 @@ static void activate(int activate); static void walk(void); static void tick(void); static void changeEnvironment(void); -static int getCurrentSprite(void); +static Sprite *getCurrentSprite(void); static void animate(void); static void applyDamage(int amount); static void moveTowardsPlayer(void); @@ -34,7 +34,7 @@ static void attack(void); static void die1(void); static void die2(void); -static int aimedSprite; +static Sprite *aimedSprite; void initBlobBoss(Entity *e) { @@ -59,7 +59,7 @@ void initBlobBoss(Entity *e) b->applyDamage = applyDamage; b->die = die1; - aimedSprite = getSpriteIndex("AimedShot"); + aimedSprite = getSprite("AimedShot"); } static void activate(int activate) @@ -171,7 +171,7 @@ static void die1(void) b->action = die2; } -static int getCurrentSprite(void) +static Sprite *getCurrentSprite(void) { Boss *b; diff --git a/src/entities/boss/blobBoss.h b/src/entities/boss/blobBoss.h index 6616ff2..fe123ce 100644 --- a/src/entities/boss/blobBoss.h +++ b/src/entities/boss/blobBoss.h @@ -30,7 +30,7 @@ extern double randF(void); extern void playSound(int snd, int ch); extern void animateEntity(Entity *e); extern Bullet *createBaseBullet(Unit *owner); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern int getDistance(int x1, int y1, int x2, int y2); extern void getSlope(int x1, int y1, int x2, int y2, float *dx, float *dy); extern int enemyCanSeePlayer(Entity *e); diff --git a/src/entities/boss/boss.c b/src/entities/boss/boss.c index 6453ffb..bf21f70 100644 --- a/src/entities/boss/boss.c +++ b/src/entities/boss/boss.c @@ -30,7 +30,7 @@ void initBoss(Entity *e) b->type = ET_BOSS; - b->sprite[FACING_LEFT] = b->sprite[FACING_RIGHT] = b->sprite[FACING_DIE] = getSpriteIndex("Boss"); + b->sprite[FACING_LEFT] = b->sprite[FACING_RIGHT] = b->sprite[FACING_DIE] = getSprite("Boss"); b->isMissionTarget = 1; diff --git a/src/entities/boss/boss.h b/src/entities/boss/boss.h index b0b62e6..6b51e8a 100644 --- a/src/entities/boss/boss.h +++ b/src/entities/boss/boss.h @@ -22,6 +22,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern void initEntity(Entity *e); extern void lookForPlayer(void); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern World world; diff --git a/src/entities/boss/eyeDroidCommander.c b/src/entities/boss/eyeDroidCommander.c index be38a0c..30061b2 100644 --- a/src/entities/boss/eyeDroidCommander.c +++ b/src/entities/boss/eyeDroidCommander.c @@ -33,12 +33,12 @@ static void attackMissile(void); static void preFire(void); static void attack(void); static void applyDamage(int amount); -static int getCurrentSprite(void); +static Sprite *getCurrentSprite(void); static int brakingTimer; -static int aimedSprite; -static int missileSprite[2]; -static int plasmaSprite[2]; +static Sprite *aimedSprite; +static Sprite *missileSprite[2]; +static Sprite *plasmaSprite[2]; void initEyeDroidCommander(Entity *e) { @@ -50,9 +50,9 @@ void initEyeDroidCommander(Entity *e) STRNCPY(b->name, "EyeDroid Commander", MAX_NAME_LENGTH); - b->sprite[FACING_LEFT] = getSpriteIndex("DroidCommanderLeft"); - b->sprite[FACING_RIGHT] = getSpriteIndex("DroidCommanderRight"); - b->sprite[FACING_DIE] = getSpriteIndex("DroidCommanderDie"); + b->sprite[FACING_LEFT] = getSprite("DroidCommanderLeft"); + b->sprite[FACING_RIGHT] = getSprite("DroidCommanderRight"); + b->sprite[FACING_DIE] = getSprite("DroidCommanderDie"); b->flags |= EF_WEIGHTLESS | EF_EXPLODES; @@ -66,13 +66,13 @@ void initEyeDroidCommander(Entity *e) brakingTimer = 0; - aimedSprite = getSpriteIndex("AimedShot"); + aimedSprite = getSprite("AimedShot"); - missileSprite[0] = getSpriteIndex("MissileRight"); - missileSprite[1] = getSpriteIndex("MissileLeft"); + missileSprite[0] = getSprite("MissileRight"); + missileSprite[1] = getSprite("MissileLeft"); - plasmaSprite[0] = getSpriteIndex("PlasmaRight"); - plasmaSprite[1] = getSpriteIndex("PlasmaLeft"); + plasmaSprite[0] = getSprite("PlasmaRight"); + plasmaSprite[1] = getSprite("PlasmaLeft"); } static void activate(int activate) @@ -382,7 +382,7 @@ static void die2() } } -static int getCurrentSprite(void) +static Sprite *getCurrentSprite(void) { if (self->health <= 0) { diff --git a/src/entities/boss/eyeDroidCommander.h b/src/entities/boss/eyeDroidCommander.h index 51d2e77..c81f961 100644 --- a/src/entities/boss/eyeDroidCommander.h +++ b/src/entities/boss/eyeDroidCommander.h @@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" extern void initBoss(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void playMusic(char *filename, int loop); extern void addTeleportStars(Entity *e); extern float limit(float i, float a, float b); diff --git a/src/entities/boss/frost.c b/src/entities/boss/frost.c index 93aefe4..15f0bea 100644 --- a/src/entities/boss/frost.c +++ b/src/entities/boss/frost.c @@ -32,7 +32,7 @@ void initFrost(Entity *e) STRNCPY(b->name, "Frost", MAX_NAME_LENGTH); - b->sprite[FACING_LEFT] = getSpriteIndex("FrostLeft"); - b->sprite[FACING_RIGHT] = getSpriteIndex("FrostRight"); - b->sprite[FACING_DIE] = getSpriteIndex("FrostSpin"); + b->sprite[FACING_LEFT] = getSprite("FrostLeft"); + b->sprite[FACING_RIGHT] = getSprite("FrostRight"); + b->sprite[FACING_DIE] = getSprite("FrostSpin"); } diff --git a/src/entities/boss/frost.h b/src/entities/boss/frost.h index ad32677..5d74da6 100644 --- a/src/entities/boss/frost.h +++ b/src/entities/boss/frost.h @@ -21,4 +21,4 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" extern void initBlobBoss(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); diff --git a/src/entities/boss/tankCommander.c b/src/entities/boss/tankCommander.c index d178ecf..64f4142 100644 --- a/src/entities/boss/tankCommander.c +++ b/src/entities/boss/tankCommander.c @@ -36,8 +36,8 @@ static void moveTowardsPlayer(void); static Entity *tankTrack; static int brakingTimer; -static int missileSprite[2]; -static int aimedSprite; +static Sprite *missileSprite[2]; +static Sprite *aimedSprite; void initTankCommander(Entity *e) { @@ -49,9 +49,9 @@ void initTankCommander(Entity *e) STRNCPY(e->name, "Tank Commander", MAX_NAME_LENGTH); - b->sprite[FACING_LEFT] = getSpriteIndex("TankCommanderLeft"); - b->sprite[FACING_RIGHT] = getSpriteIndex("TankCommanderRight"); - b->sprite[FACING_DIE] = getSpriteIndex("TankCommanderDie"); + b->sprite[FACING_LEFT] = getSprite("TankCommanderLeft"); + b->sprite[FACING_RIGHT] = getSprite("TankCommanderRight"); + b->sprite[FACING_DIE] = getSprite("TankCommanderDie"); b->flags |= EF_EXPLODES; @@ -68,10 +68,10 @@ void initTankCommander(Entity *e) world.boss = b; - aimedSprite = getSpriteIndex("AimedShot"); + aimedSprite = getSprite("AimedShot"); - missileSprite[0] = getSpriteIndex("MissileRight"); - missileSprite[1] = getSpriteIndex("MissileLeft"); + missileSprite[0] = getSprite("MissileRight"); + missileSprite[1] = getSprite("MissileLeft"); initTankTrack(tankTrack); } diff --git a/src/entities/boss/tankCommander.h b/src/entities/boss/tankCommander.h index f2a3240..73e471f 100644 --- a/src/entities/boss/tankCommander.h +++ b/src/entities/boss/tankCommander.h @@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" extern void initBoss(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void playMusic(char *filename, int loop); extern void addTeleportStars(Entity *e); extern float limit(float i, float a, float b); diff --git a/src/entities/boss/tankTrack.c b/src/entities/boss/tankTrack.c index 036d564..0ddf8a6 100644 --- a/src/entities/boss/tankTrack.c +++ b/src/entities/boss/tankTrack.c @@ -37,9 +37,9 @@ void initTankTrack(Entity *e, Entity *tank) e->isMissionTarget = 0; - e->sprite[FACING_LEFT] = getSpriteIndex("TankTrackLeft"); - e->sprite[FACING_RIGHT] = getSpriteIndex("TankTrackRight"); - e->sprite[FACING_DIE] = getSpriteIndex("TankTrackLeft"); + e->sprite[FACING_LEFT] = getSprite("TankTrackLeft"); + e->sprite[FACING_RIGHT] = getSprite("TankTrackRight"); + e->sprite[FACING_DIE] = getSprite("TankTrackLeft"); e->tick = tick; e->touch = touch; diff --git a/src/entities/boss/tankTrack.h b/src/entities/boss/tankTrack.h index 31ebc8a..e11417c 100644 --- a/src/entities/boss/tankTrack.h +++ b/src/entities/boss/tankTrack.h @@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" extern void initBoss(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern int rrnd(int low, int high); extern void playSound(int snd, int ch); diff --git a/src/entities/cannons/cannon.c b/src/entities/cannons/cannon.c index 126a728..0b03526 100644 --- a/src/entities/cannons/cannon.c +++ b/src/entities/cannons/cannon.c @@ -36,9 +36,9 @@ void initCannon(void) u->type = ET_ENEMY; - u->sprite[FACING_LEFT] = getSpriteIndex("CannonLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("CannonRight"); - u->sprite[FACING_DIE] = getSpriteIndex("CannonLeft"); + u->sprite[FACING_LEFT] = getSprite("CannonLeft"); + u->sprite[FACING_RIGHT] = getSprite("CannonRight"); + u->sprite[FACING_DIE] = getSprite("CannonLeft"); u->weaponType = WPN_MISSILE; diff --git a/src/entities/cannons/cannon.h b/src/entities/cannons/cannon.h index 792f3f0..d11b5d0 100644 --- a/src/entities/cannons/cannon.h +++ b/src/entities/cannons/cannon.h @@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern void addExplosion(float x, float y, int radius, Entity *owner); extern int rrnd(int low, int high); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern int getDistance(int x1, int y1, int x2, int y2); extern int enemyCanSeePlayer(Entity *e); extern void updateObjective(char *targetName); diff --git a/src/entities/entities.c b/src/entities/entities.c index 8be1007..711ef1b 100644 --- a/src/entities/entities.c +++ b/src/entities/entities.c @@ -29,8 +29,6 @@ void initEntity(Entity *e) { e->uniqueId = world.entityCounter++; - e->sprite[0] = e->sprite[1] = e->sprite[2] = -1; - e->environment = ENV_AIR; e->alive = ALIVE_ALIVE; @@ -66,16 +64,6 @@ static SDL_Rect *getBounds(void) return &self->bounds; } -int getCurrentEntitySprite(EntityExt *e) -{ - if (e->alive == ALIVE_ALIVE) - { - return e->sprite[e->facing]; - } - - return e->sprite[FACING_DIE]; -} - void animateEntity(void) { } diff --git a/src/entities/entityFactory.c b/src/entities/entityFactory.c index 7d5516e..e0a24bb 100644 --- a/src/entities/entityFactory.c +++ b/src/entities/entityFactory.c @@ -33,6 +33,8 @@ void initEntityFactory(void) addEntityDef("AquaBlob", ET_ENEMY, initAquaBlob); addEntityDef("Bob", ET_BOB, initBob); + + addEntityDef("Exit", ET_EXIT, initExit); } Entity *createEntity(char *name) diff --git a/src/entities/entityFactory.h b/src/entities/entityFactory.h index c9c3a8c..6fe3249 100644 --- a/src/entities/entityFactory.h +++ b/src/entities/entityFactory.h @@ -22,3 +22,4 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern Entity *initAquaBlob(void); extern Entity *initBob(void); +extern Entity *initExit(void); diff --git a/src/entities/evilBlobs/aquaBlob.c b/src/entities/evilBlobs/aquaBlob.c index b57cce5..604b1d5 100644 --- a/src/entities/evilBlobs/aquaBlob.c +++ b/src/entities/evilBlobs/aquaBlob.c @@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. static int canFire(Entity *target); -void initAquaBlob(void) +Entity *initAquaBlob(void) { Unit *u; @@ -30,9 +30,9 @@ void initAquaBlob(void) initEvilBlob(u); - u->sprite[FACING_LEFT] = getSpriteIndex("AquaBlobLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("AquaBlobRight"); - u->sprite[FACING_DIE] = getSpriteIndex("AquaBlobSpin"); + u->sprite[FACING_LEFT] = getSprite("AquaBlobLeft"); + u->sprite[FACING_RIGHT] = getSprite("AquaBlobRight"); + u->sprite[FACING_DIE] = getSprite("AquaBlobSpin"); u->weaponType = WPN_AIMED_PISTOL; @@ -41,6 +41,8 @@ void initAquaBlob(void) u->maxShotsToFire = 3; u->canFire = canFire; + + return (Entity*)u; } static int canFire(Entity *target) diff --git a/src/entities/evilBlobs/aquaBlob.h b/src/entities/evilBlobs/aquaBlob.h index b0f5b52..de1b0d2 100644 --- a/src/entities/evilBlobs/aquaBlob.h +++ b/src/entities/evilBlobs/aquaBlob.h @@ -22,4 +22,4 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern Unit *createUnit(void); extern void initEvilBlob(Unit *u); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); diff --git a/src/entities/evilBlobs/evilBlob.h b/src/entities/evilBlobs/evilBlob.h index a048e56..ad9f06f 100644 --- a/src/entities/evilBlobs/evilBlob.h +++ b/src/entities/evilBlobs/evilBlob.h @@ -23,8 +23,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern void dropCarriedItem(void); extern int getDistance(int x1, int y1, int x2, int y2); extern double randF(void); -extern void throwFleshChunks(double x, double y, int amount); -extern void addRandomWeapon(double x, double y); +extern void throwFleshChunks(float x, float y, int amount); +extern void addRandomWeapon(float x, float y); extern float limit(float i, float a, float b); extern void playSound(int snd, int ch); extern void addBloodDecal(int x, int y); diff --git a/src/entities/evilBlobs/grenadeBlob.c b/src/entities/evilBlobs/grenadeBlob.c index bf0c100..7ec6101 100644 --- a/src/entities/evilBlobs/grenadeBlob.c +++ b/src/entities/evilBlobs/grenadeBlob.c @@ -27,9 +27,9 @@ void initGrenadeBlob(Unit *u) { initEvilBlob(u); - u->sprite[FACING_LEFT] = getSpriteIndex("GrenadeBlobLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("GrenadeBlobRight"); - u->sprite[FACING_DIE] = getSpriteIndex("GrenadeBlobSpin"); + u->sprite[FACING_LEFT] = getSprite("GrenadeBlobLeft"); + u->sprite[FACING_RIGHT] = getSprite("GrenadeBlobRight"); + u->sprite[FACING_DIE] = getSprite("GrenadeBlobSpin"); u->weaponType = WPN_GRENADES; diff --git a/src/entities/evilBlobs/laserBlob.c b/src/entities/evilBlobs/laserBlob.c index d640497..12eeb48 100644 --- a/src/entities/evilBlobs/laserBlob.c +++ b/src/entities/evilBlobs/laserBlob.c @@ -26,9 +26,9 @@ void initLaserBlob(Unit *u) { initEvilBlob(u); - u->sprite[FACING_LEFT] = getSpriteIndex("LaserBlobLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("LaserBlobRight"); - u->sprite[FACING_DIE] = getSpriteIndex("LaserBlobSpin"); + u->sprite[FACING_LEFT] = getSprite("LaserBlobLeft"); + u->sprite[FACING_RIGHT] = getSprite("LaserBlobRight"); + u->sprite[FACING_DIE] = getSprite("LaserBlobSpin"); u->weaponType = WPN_LASER; diff --git a/src/entities/evilBlobs/machineGunBlob.c b/src/entities/evilBlobs/machineGunBlob.c index 5d7299d..0991b6a 100644 --- a/src/entities/evilBlobs/machineGunBlob.c +++ b/src/entities/evilBlobs/machineGunBlob.c @@ -26,9 +26,9 @@ void initMachineGunBlob(Unit *u) { initEvilBlob(u); - u->sprite[FACING_LEFT] = getSpriteIndex("MachineGunBlobLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("MachineGunBlobRight"); - u->sprite[FACING_DIE] = getSpriteIndex("MachineGunBlobSpin"); + u->sprite[FACING_LEFT] = getSprite("MachineGunBlobLeft"); + u->sprite[FACING_RIGHT] = getSprite("MachineGunBlobRight"); + u->sprite[FACING_DIE] = getSprite("MachineGunBlobSpin"); u->weaponType = WPN_MACHINE_GUN; diff --git a/src/entities/evilBlobs/pistolBlob.c b/src/entities/evilBlobs/pistolBlob.c index 1c42946..f729822 100644 --- a/src/entities/evilBlobs/pistolBlob.c +++ b/src/entities/evilBlobs/pistolBlob.c @@ -26,9 +26,9 @@ void initPistolBlob(Unit *u) { initEvilBlob(u); - u->sprite[FACING_LEFT] = getSpriteIndex("PistolBlobLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("PistolBlobRight"); - u->sprite[FACING_DIE] = getSpriteIndex("PistolBlobSpin"); + u->sprite[FACING_LEFT] = getSprite("PistolBlobLeft"); + u->sprite[FACING_RIGHT] = getSprite("PistolBlobRight"); + u->sprite[FACING_DIE] = getSprite("PistolBlobSpin"); u->weaponType = WPN_AIMED_PISTOL; diff --git a/src/entities/evilBlobs/plasmaBlob.c b/src/entities/evilBlobs/plasmaBlob.c index e140a34..a223b59 100644 --- a/src/entities/evilBlobs/plasmaBlob.c +++ b/src/entities/evilBlobs/plasmaBlob.c @@ -26,9 +26,9 @@ void initPlasmaBlob(Unit *u) { initEvilBlob(u); - u->sprite[FACING_LEFT] = getSpriteIndex("PlasmaBlobLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("PlasmaBlobRight"); - u->sprite[FACING_DIE] = getSpriteIndex("PlasmaBlobSpin"); + u->sprite[FACING_LEFT] = getSprite("PlasmaBlobLeft"); + u->sprite[FACING_RIGHT] = getSprite("PlasmaBlobRight"); + u->sprite[FACING_DIE] = getSprite("PlasmaBlobSpin"); u->weaponType = WPN_PLASMA; diff --git a/src/entities/evilBlobs/shotgunBlob.c b/src/entities/evilBlobs/shotgunBlob.c index 5faf95f..b0e3766 100644 --- a/src/entities/evilBlobs/shotgunBlob.c +++ b/src/entities/evilBlobs/shotgunBlob.c @@ -26,9 +26,9 @@ void initShotgunBlob(Unit *u) { initEvilBlob(u); - u->sprite[FACING_LEFT] = getSpriteIndex("ShotgunBlobLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("ShotgunBlobRight"); - u->sprite[FACING_DIE] = getSpriteIndex("ShotgunBlobSpin"); + u->sprite[FACING_LEFT] = getSprite("ShotgunBlobLeft"); + u->sprite[FACING_RIGHT] = getSprite("ShotgunBlobRight"); + u->sprite[FACING_DIE] = getSprite("ShotgunBlobSpin"); u->weaponType = WPN_SHOTGUN; diff --git a/src/entities/evilBlobs/spreadGunBlob.c b/src/entities/evilBlobs/spreadGunBlob.c index fb99d34..a8f9e56 100644 --- a/src/entities/evilBlobs/spreadGunBlob.c +++ b/src/entities/evilBlobs/spreadGunBlob.c @@ -26,9 +26,9 @@ void initSpreadGunBlob(Unit *u) { initEvilBlob(u); - u->sprite[FACING_LEFT] = getSpriteIndex("SpreadGunBlobLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("SpreadGunBlobRight"); - u->sprite[FACING_DIE] = getSpriteIndex("SpreadGunBlobSpin"); + u->sprite[FACING_LEFT] = getSprite("SpreadGunBlobLeft"); + u->sprite[FACING_RIGHT] = getSprite("SpreadGunBlobRight"); + u->sprite[FACING_DIE] = getSprite("SpreadGunBlobSpin"); u->weaponType = WPN_SPREAD; diff --git a/src/entities/eyeDroids/grenadeDroid.c b/src/entities/eyeDroids/grenadeDroid.c index 4a7f4e8..ed8ae8e 100644 --- a/src/entities/eyeDroids/grenadeDroid.c +++ b/src/entities/eyeDroids/grenadeDroid.c @@ -27,9 +27,9 @@ void initGrenadeDroid(Unit *u) { initEyeDroid(u); - u->sprite[FACING_LEFT] = getSpriteIndex("GrenadeDroidLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("GrenadeDroidRight"); - u->sprite[FACING_DIE] = getSpriteIndex("GrenadeDroidDie"); + u->sprite[FACING_LEFT] = getSprite("GrenadeDroidLeft"); + u->sprite[FACING_RIGHT] = getSprite("GrenadeDroidRight"); + u->sprite[FACING_DIE] = getSprite("GrenadeDroidDie"); u->weaponType = WPN_GRENADES; diff --git a/src/entities/eyeDroids/laserDroid.c b/src/entities/eyeDroids/laserDroid.c index 9355484..c1a3187 100644 --- a/src/entities/eyeDroids/laserDroid.c +++ b/src/entities/eyeDroids/laserDroid.c @@ -26,9 +26,9 @@ void initLaserDroid(Unit *u) { initEyeDroid(u); - u->sprite[FACING_LEFT] = getSpriteIndex("LaserDroidLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("LaserDroidRight"); - u->sprite[FACING_DIE] = getSpriteIndex("LaserDroidDie"); + u->sprite[FACING_LEFT] = getSprite("LaserDroidLeft"); + u->sprite[FACING_RIGHT] = getSprite("LaserDroidRight"); + u->sprite[FACING_DIE] = getSprite("LaserDroidDie"); u->weaponType = WPN_LASER; @@ -40,4 +40,4 @@ void initLaserDroid(Unit *u) static int canFire(Entity *target) { return abs(target->y - self->y) <= MAP_TILE_SIZE * 2; -} \ No newline at end of file +} diff --git a/src/entities/eyeDroids/machineGunDroid.c b/src/entities/eyeDroids/machineGunDroid.c index 1f70237..2d34e28 100644 --- a/src/entities/eyeDroids/machineGunDroid.c +++ b/src/entities/eyeDroids/machineGunDroid.c @@ -26,9 +26,9 @@ void initMachineGunDroid(Unit *u) { initEyeDroid(u); - u->sprite[FACING_LEFT] = getSpriteIndex("MachineGunDroidLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("MachineGunDroidRight"); - u->sprite[FACING_DIE] = getSpriteIndex("MachineGunDroidDie"); + u->sprite[FACING_LEFT] = getSprite("MachineGunDroidLeft"); + u->sprite[FACING_RIGHT] = getSprite("MachineGunDroidRight"); + u->sprite[FACING_DIE] = getSprite("MachineGunDroidDie"); u->weaponType = WPN_MACHINE_GUN; diff --git a/src/entities/eyeDroids/pistolDroid.c b/src/entities/eyeDroids/pistolDroid.c index 0636ca8..123e372 100644 --- a/src/entities/eyeDroids/pistolDroid.c +++ b/src/entities/eyeDroids/pistolDroid.c @@ -24,9 +24,9 @@ static int canFire(Entity *target); void initPistolDroid(Unit *u) { - u->sprite[FACING_LEFT] = getSpriteIndex("PistolDroidLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("PistolDroidRight"); - u->sprite[FACING_DIE] = getSpriteIndex("PistolDroidDie"); + u->sprite[FACING_LEFT] = getSprite("PistolDroidLeft"); + u->sprite[FACING_RIGHT] = getSprite("PistolDroidRight"); + u->sprite[FACING_DIE] = getSprite("PistolDroidDie"); u->weaponType = WPN_AIMED_PISTOL; diff --git a/src/entities/eyeDroids/plasmaDroid.c b/src/entities/eyeDroids/plasmaDroid.c index e066663..402ef6f 100644 --- a/src/entities/eyeDroids/plasmaDroid.c +++ b/src/entities/eyeDroids/plasmaDroid.c @@ -26,9 +26,9 @@ void initPlasmaDroid(Unit *u) { initEyeDroid(u); - u->sprite[FACING_LEFT] = getSpriteIndex("PlasmaDroidLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("PlasmaDroidRight"); - u->sprite[FACING_DIE] = getSpriteIndex("PlasmaDroidDie"); + u->sprite[FACING_LEFT] = getSprite("PlasmaDroidLeft"); + u->sprite[FACING_RIGHT] = getSprite("PlasmaDroidRight"); + u->sprite[FACING_DIE] = getSprite("PlasmaDroidDie"); u->weaponType = WPN_PLASMA; diff --git a/src/entities/eyeDroids/shotgunDroid.c b/src/entities/eyeDroids/shotgunDroid.c index ba58905..5e200af 100644 --- a/src/entities/eyeDroids/shotgunDroid.c +++ b/src/entities/eyeDroids/shotgunDroid.c @@ -26,9 +26,9 @@ void initShotgunDroid(Unit *u) { initEyeDroid(u); - u->sprite[FACING_LEFT] = getSpriteIndex("ShotgunDroidLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("ShotgunDroidRight"); - u->sprite[FACING_DIE] = getSpriteIndex("ShotgunDroidDie"); + u->sprite[FACING_LEFT] = getSprite("ShotgunDroidLeft"); + u->sprite[FACING_RIGHT] = getSprite("ShotgunDroidRight"); + u->sprite[FACING_DIE] = getSprite("ShotgunDroidDie"); u->weaponType = WPN_SHOTGUN; diff --git a/src/entities/eyeDroids/spreadGunDroid.c b/src/entities/eyeDroids/spreadGunDroid.c index 5377e71..4c62ada 100644 --- a/src/entities/eyeDroids/spreadGunDroid.c +++ b/src/entities/eyeDroids/spreadGunDroid.c @@ -26,9 +26,9 @@ void initSpreadGunDroid(Unit *u) { initEyeDroid(u); - u->sprite[FACING_LEFT] = getSpriteIndex("SpreadGunDroidLeft"); - u->sprite[FACING_RIGHT] = getSpriteIndex("SpreadGunDroidRight"); - u->sprite[FACING_DIE] = getSpriteIndex("SpreadGunDroidDie"); + u->sprite[FACING_LEFT] = getSprite("SpreadGunDroidLeft"); + u->sprite[FACING_RIGHT] = getSprite("SpreadGunDroidRight"); + u->sprite[FACING_DIE] = getSprite("SpreadGunDroidDie"); u->weaponType = WPN_SPREAD; diff --git a/src/entities/items/cell.c b/src/entities/items/cell.c index 4ec0c70..8c5d9d5 100644 --- a/src/entities/items/cell.c +++ b/src/entities/items/cell.c @@ -36,7 +36,7 @@ void initCell(Entity *e) STRNCPY(i->spriteName, "Battery", MAX_NAME_LENGTH); - i->sprite[0] = i->sprite[1] = i->sprite[2] = getSpriteIndex("Battery"); + i->sprite[0] = i->sprite[1] = i->sprite[2] = getSprite("Battery"); i->spriteFrame = 0; i->spriteTime = -1; diff --git a/src/entities/items/cell.h b/src/entities/items/cell.h index 3c7fc62..84029a4 100644 --- a/src/entities/items/cell.h +++ b/src/entities/items/cell.h @@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" extern void initItem(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void setGameplayMessage(int type, char *format, ...); extern void playSound(int snd, int ch); extern void updateObjective(char *targetName); diff --git a/src/entities/items/heart.c b/src/entities/items/heart.c index d85e358..4223346 100644 --- a/src/entities/items/heart.c +++ b/src/entities/items/heart.c @@ -37,7 +37,7 @@ void initHeart(Entity *e) STRNCPY(i->spriteName, "Heart", MAX_NAME_LENGTH); - i->sprite[0] = i->sprite[1] = i->sprite[2] = getSpriteIndex("Heart"); + i->sprite[0] = i->sprite[1] = i->sprite[2] = getSprite("Heart"); i->spriteFrame = 0; i->spriteTime = -1; diff --git a/src/entities/items/heart.h b/src/entities/items/heart.h index d7c4d15..5418567 100644 --- a/src/entities/items/heart.h +++ b/src/entities/items/heart.h @@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern void playSound(int snd, int ch); extern void setGameplayMessage(int type, char *format, ...); extern void initItem(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void updateObjective(char *targetName); extern int rrnd(int low, int high); diff --git a/src/entities/items/item.c b/src/entities/items/item.c index e6b563c..e48b519 100644 --- a/src/entities/items/item.c +++ b/src/entities/items/item.c @@ -48,7 +48,7 @@ void initItem(Entity *e) i->canBeCarried = 0; i->collected = 0; - i->sprite[FACING_LEFT] = i->sprite[FACING_RIGHT] = i->sprite[FACING_DIE] = getSpriteIndex(i->spriteName); + i->sprite[FACING_LEFT] = i->sprite[FACING_RIGHT] = i->sprite[FACING_DIE] = getSprite(i->spriteName); i->tick = tick; i->touch = touch; diff --git a/src/entities/items/item.h b/src/entities/items/item.h index 7687ee4..26bb443 100644 --- a/src/entities/items/item.h +++ b/src/entities/items/item.h @@ -24,7 +24,7 @@ extern void playSound(int snd, int ch); extern void setGameplayMessage(int type, char *format, ...); extern void addTeleportStars(Entity *e); extern void initEntity(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void addBobItem(Item *i); extern int numCarriedItems(void); extern void addKey(char *name); diff --git a/src/entities/items/weaponPickup.c b/src/entities/items/weaponPickup.c index eb6ac36..c627755 100644 --- a/src/entities/items/weaponPickup.c +++ b/src/entities/items/weaponPickup.c @@ -42,7 +42,7 @@ void initWeaponPickup(Entity *e) i->weaponType = WPN_PISTOL; - i->sprite[0] = i->sprite[1] = i->sprite[2] = getSpriteIndex("Weapon"); + i->sprite[0] = i->sprite[1] = i->sprite[2] = getSprite("Weapon"); i->spriteFrame = i->weaponType; i->spriteTime = -1; diff --git a/src/entities/items/weaponPickup.h b/src/entities/items/weaponPickup.h index df4ccaa..fdacde6 100644 --- a/src/entities/items/weaponPickup.h +++ b/src/entities/items/weaponPickup.h @@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern void playSound(int snd, int ch); extern void setGameplayMessage(int type, char *format, ...); extern void initConsumable(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void pickupItem(void); extern void setEntitySize(Entity *e); extern int touchedPlayer(Entity *e); diff --git a/src/entities/misc/destructable.c b/src/entities/misc/destructable.c index 79f5ef1..698d6be 100644 --- a/src/entities/misc/destructable.c +++ b/src/entities/misc/destructable.c @@ -41,7 +41,7 @@ void initDestructable(Entity *e) s->health = s->healthMax = 10; - s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSpriteIndex(s->spriteName); + s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSprite(s->spriteName); s->applyDamage = applyDamage; s->action = action; diff --git a/src/entities/misc/destructable.h b/src/entities/misc/destructable.h index c2d5850..a98970b 100644 --- a/src/entities/misc/destructable.h +++ b/src/entities/misc/destructable.h @@ -25,7 +25,7 @@ extern void dropCarriedItem(void); extern int rrnd(int low, int high); extern void addExplosion(float x, float y, int radius, Entity *owner); extern void addScorchDecal(int x, int y); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void updateObjective(char *targetName); extern void initEntity(Entity *e); diff --git a/src/entities/misc/infoPoint.c b/src/entities/misc/infoPoint.c index 7ab59e9..9eca5d0 100644 --- a/src/entities/misc/infoPoint.c +++ b/src/entities/misc/infoPoint.c @@ -33,7 +33,7 @@ void initInfoPoint(Entity *e) s->type = ET_INFO_POINT; - s->sprite[0] = s->sprite[1] = s->sprite[2] = getSpriteIndex("InfoPoint"); + s->sprite[0] = s->sprite[1] = s->sprite[2] = getSprite("InfoPoint"); s->flags |= EF_WEIGHTLESS | EF_IGNORE_BULLETS | EF_NO_CLIP | EF_NO_ENVIRONMENT; diff --git a/src/entities/misc/infoPoint.h b/src/entities/misc/infoPoint.h index 9e69036..d3275b8 100644 --- a/src/entities/misc/infoPoint.h +++ b/src/entities/misc/infoPoint.h @@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void initEntity(Entity *e); extern void showInfoMessage(char *message); diff --git a/src/entities/structures/cardReader.c b/src/entities/structures/cardReader.c index e53a42f..3508db5 100644 --- a/src/entities/structures/cardReader.c +++ b/src/entities/structures/cardReader.c @@ -41,11 +41,11 @@ void initCardReader(Entity *e) if (!s->active) { - s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSpriteIndex("CardReaderIdle"); + s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSprite("CardReaderIdle"); } else { - s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSpriteIndex("CardReader"); + s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSprite("CardReader"); } s->tick = tick; @@ -81,7 +81,7 @@ static void touch(Entity *other) removeItem(s->requiredItem); s->active = 1; - s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSpriteIndex("CardReader"); + s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSprite("CardReader"); s->spriteTime = 0; s->spriteFrame = 0; diff --git a/src/entities/structures/cardReader.h b/src/entities/structures/cardReader.h index 16c9018..3b40a8e 100644 --- a/src/entities/structures/cardReader.h +++ b/src/entities/structures/cardReader.h @@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" extern void initEntity(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void removeItem(char *name); extern int hasItem(char *name); extern void setGameplayMessage(int type, char *format, ...); diff --git a/src/entities/structures/door.c b/src/entities/structures/door.c index 20ca975..e639f1f 100644 --- a/src/entities/structures/door.c +++ b/src/entities/structures/door.c @@ -49,7 +49,7 @@ void initDoor(Entity *e) s->isLocked = 1; - s->sprite[0] = s->sprite[1] = s->sprite[2] = getSpriteIndex("Door"); + s->sprite[0] = s->sprite[1] = s->sprite[2] = getSprite("Door"); if (s->closedX == -1 && s->closedY == -1) { @@ -73,7 +73,7 @@ void initBronzeDoor(Entity *e) s->speed = 2; - s->sprite[0] = s->sprite[1] = s->sprite[2] = getSpriteIndex("BronzeDoor"); + s->sprite[0] = s->sprite[1] = s->sprite[2] = getSprite("BronzeDoor"); } void initSilverDoor(Entity *e) @@ -88,7 +88,7 @@ void initSilverDoor(Entity *e) s->speed = 2; - s->sprite[0] = s->sprite[1] = s->sprite[2] = getSpriteIndex("SilverDoor"); + s->sprite[0] = s->sprite[1] = s->sprite[2] = getSprite("SilverDoor"); } void initGoldDoor(Entity *e) @@ -103,7 +103,7 @@ void initGoldDoor(Entity *e) s->speed = 2; - s->sprite[0] = s->sprite[1] = e->sprite[2] = getSpriteIndex("GoldDoor"); + s->sprite[0] = s->sprite[1] = e->sprite[2] = getSprite("GoldDoor"); } static void tick(void) diff --git a/src/entities/structures/door.h b/src/entities/structures/door.h index 6261610..279ade5 100644 --- a/src/entities/structures/door.h +++ b/src/entities/structures/door.h @@ -1,4 +1,4 @@ - /* +/* Copyright (C) 2018 Parallel Realities This program is free software; you can redistribute it and/or @@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" extern void initEntity(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void playSound(int snd, int ch); extern void getSlope(int x1, int y1, int x2, int y2, float *dx, float *dy); extern void setGameplayMessage(int type, char *format, ...); diff --git a/src/entities/structures/exit.c b/src/entities/structures/exit.c index bb40b4e..e97a001 100644 --- a/src/entities/structures/exit.c +++ b/src/entities/structures/exit.c @@ -1,4 +1,4 @@ - /* +/* Copyright (C) 2018 Parallel Realities This program is free software; you can redistribute it and/or @@ -25,17 +25,15 @@ static void action(void); static void touch(Entity *other); static SDL_Rect *getBounds(void); -void initExit(Entity *e) +void initExit(void) { Structure *s; - initEntity(e); - - s = (Structure*)e; + s = createStructure(); s->type = ET_EXIT; - s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSpriteIndex("Exit"); + s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSprite("Exit"); s->flags |= EF_WEIGHTLESS | EF_NO_CLIP | EF_NO_ENVIRONMENT | EF_IGNORE_BULLETS; diff --git a/src/entities/structures/exit.h b/src/entities/structures/exit.h index f87b250..4a06e85 100644 --- a/src/entities/structures/exit.h +++ b/src/entities/structures/exit.h @@ -20,11 +20,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void updateObjective(char *targetName); extern void setGameplayMessage(int type, char *format, ...); extern void stopMusic(void); -extern void initEntity(Entity *e); +extern Structure *createStructure(void); extern Entity *self; extern World world; diff --git a/src/entities/structures/horizontalDoor.c b/src/entities/structures/horizontalDoor.c index 9697a2b..f852931 100644 --- a/src/entities/structures/horizontalDoor.c +++ b/src/entities/structures/horizontalDoor.c @@ -26,7 +26,7 @@ void initHorizontalDoor(Entity *e) e->type = ET_DOOR; - e->sprite[0] = e->sprite[1] = e->sprite[2] = getSpriteIndex("HorizonalDoor"); + e->sprite[0] = e->sprite[1] = e->sprite[2] = getSprite("HorizonalDoor"); } void initBronzeHorizontalDoor(Entity *e) diff --git a/src/entities/structures/horizontalDoor.h b/src/entities/structures/horizontalDoor.h index b58c07d..6060478 100644 --- a/src/entities/structures/horizontalDoor.h +++ b/src/entities/structures/horizontalDoor.h @@ -21,4 +21,4 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" extern void initDoor(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); diff --git a/src/entities/structures/itemPad.c b/src/entities/structures/itemPad.c index acdf40f..ec1afdf 100644 --- a/src/entities/structures/itemPad.c +++ b/src/entities/structures/itemPad.c @@ -37,11 +37,11 @@ void initItemPad(Entity *e) if (!e->active) { - e->sprite[FACING_LEFT] = e->sprite[FACING_RIGHT] = e->sprite[FACING_DIE] = getSpriteIndex("ItemPadActive"); + e->sprite[FACING_LEFT] = e->sprite[FACING_RIGHT] = e->sprite[FACING_DIE] = getSprite("ItemPadActive"); } else { - e->sprite[FACING_LEFT] = e->sprite[FACING_RIGHT] = e->sprite[FACING_DIE] = getSpriteIndex("ItemPadInactive"); + e->sprite[FACING_LEFT] = e->sprite[FACING_RIGHT] = e->sprite[FACING_DIE] = getSprite("ItemPadInactive"); } e->tick = tick; @@ -83,7 +83,7 @@ static void touch(Entity *other) setGameplayMessage(MSG_GAMEPLAY, _("%s removed"), s->requiredItem); - s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSpriteIndex("ItemPadActive"); + s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSprite("ItemPadActive"); s->spriteFrame = 0; diff --git a/src/entities/structures/itemPad.h b/src/entities/structures/itemPad.h index 61e2b9a..2e136eb 100644 --- a/src/entities/structures/itemPad.h +++ b/src/entities/structures/itemPad.h @@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" extern void initEntity(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void updateObjective(char *targetName); extern void setGameplayMessage(int type, char *format, ...); extern void removeItem(char *name); diff --git a/src/entities/structures/lift.c b/src/entities/structures/lift.c index bc4c9ed..d0e2186 100644 --- a/src/entities/structures/lift.c +++ b/src/entities/structures/lift.c @@ -43,7 +43,7 @@ void initLift(Entity *e) s->startX = s->startY = -1; - s->sprite[0] = s->sprite[1] = s->sprite[2] = getSpriteIndex("Lift"); + s->sprite[0] = s->sprite[1] = s->sprite[2] = getSprite("Lift"); s->active = 1; diff --git a/src/entities/structures/lift.h b/src/entities/structures/lift.h index 07613bc..0ea9b21 100644 --- a/src/entities/structures/lift.h +++ b/src/entities/structures/lift.h @@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" extern void initEntity(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void getSlope(int x1, int y1, int x2, int y2, float *dx, float *dy); extern void observeActivation(Entity *e); extern int isOnScreen(Entity *e); diff --git a/src/entities/structures/powerPoint.c b/src/entities/structures/powerPoint.c index b18e95b..59ddf18 100644 --- a/src/entities/structures/powerPoint.c +++ b/src/entities/structures/powerPoint.c @@ -34,7 +34,7 @@ void initPowerPoint(Entity *e) s->type = ET_POWER_POINT; - s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSpriteIndex("PowerPoint"); + s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSprite("PowerPoint"); s->flags |= EF_WEIGHTLESS | EF_NO_CLIP | EF_NO_ENVIRONMENT | EF_IGNORE_BULLETS; diff --git a/src/entities/structures/powerPoint.h b/src/entities/structures/powerPoint.h index c1d39d4..db439b6 100644 --- a/src/entities/structures/powerPoint.h +++ b/src/entities/structures/powerPoint.h @@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" extern void initEntity(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void activateEntities(char *names, int activate); extern void setGameplayMessage(int type, char *format, ...); diff --git a/src/entities/structures/powerPool.c b/src/entities/structures/powerPool.c index 4148d62..a80c9ff 100644 --- a/src/entities/structures/powerPool.c +++ b/src/entities/structures/powerPool.c @@ -34,7 +34,7 @@ void initPowerPool(Entity *e) s->type = ET_POOL; - s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSpriteIndex("PowerPool"); + s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSprite("PowerPool"); s->flags |= EF_WEIGHTLESS | EF_NO_CLIP | EF_IGNORE_BULLETS; diff --git a/src/entities/structures/powerPool.h b/src/entities/structures/powerPool.h index 955f57d..f47806a 100644 --- a/src/entities/structures/powerPool.h +++ b/src/entities/structures/powerPool.h @@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void initEntity(Entity *e); extern Entity *self; diff --git a/src/entities/structures/pressurePlate.c b/src/entities/structures/pressurePlate.c index 19d5cd0..7a218aa 100644 --- a/src/entities/structures/pressurePlate.c +++ b/src/entities/structures/pressurePlate.c @@ -33,7 +33,7 @@ void initPressurePlate(Entity *e) s->type = ET_PRESSURE_PLATE; - s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSpriteIndex("PressurePlate"); + s->sprite[FACING_LEFT] = s->sprite[FACING_RIGHT] = s->sprite[FACING_DIE] = getSprite("PressurePlate"); s->flags |= EF_WEIGHTLESS | EF_NO_CLIP | EF_NO_ENVIRONMENT | EF_IGNORE_BULLETS; diff --git a/src/entities/structures/pressurePlate.h b/src/entities/structures/pressurePlate.h index a353e0d..a54d0f2 100644 --- a/src/entities/structures/pressurePlate.h +++ b/src/entities/structures/pressurePlate.h @@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" extern void initEntity(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void activateEntities(char *names, int activate); extern void playSound(int snd, int ch); diff --git a/src/entities/structures/structures.c b/src/entities/structures/structures.c new file mode 100644 index 0000000..bd5a4a7 --- /dev/null +++ b/src/entities/structures/structures.c @@ -0,0 +1,33 @@ +/* +Copyright (C) 2018 Parallel Realities + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +*/ + +#include "structures.h" + +Structure *createStructure(void) +{ + Structure *s; + + s = malloc(sizeof(Structure)); + memset(s, 0, sizeof(Structure)); + world.entityTail->next = (Entity*)s; + world.entityTail = (Entity*)s; + + return s; +} diff --git a/src/entities/structures/structures.h b/src/entities/structures/structures.h new file mode 100644 index 0000000..7c5c350 --- /dev/null +++ b/src/entities/structures/structures.h @@ -0,0 +1,25 @@ +/* +Copyright (C) 2018 Parallel Realities + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +*/ + +#include "../../common.h" + +extern Structure *createStructure(void); + +extern World world; diff --git a/src/entities/traps/horizontalLaserTrap.c b/src/entities/traps/horizontalLaserTrap.c index ca6812c..00fadc8 100644 --- a/src/entities/traps/horizontalLaserTrap.c +++ b/src/entities/traps/horizontalLaserTrap.c @@ -26,5 +26,5 @@ void initHorizontalLaserTrap(Entity *e) e->type = ET_TRAP; - e->sprite[0] = e->sprite[1] = e->sprite[2] = getSpriteIndex("HorizontalLaserTrap"); + e->sprite[0] = e->sprite[1] = e->sprite[2] = getSprite("HorizontalLaserTrap"); } diff --git a/src/entities/traps/horizontalLaserTrap.h b/src/entities/traps/horizontalLaserTrap.h index c9a6788..5f9f134 100644 --- a/src/entities/traps/horizontalLaserTrap.h +++ b/src/entities/traps/horizontalLaserTrap.h @@ -21,4 +21,4 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../common.h" extern void initLaserTrap(Entity *e); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); diff --git a/src/entities/traps/laserTrap.c b/src/entities/traps/laserTrap.c index d3c31c9..2b82177 100644 --- a/src/entities/traps/laserTrap.c +++ b/src/entities/traps/laserTrap.c @@ -41,7 +41,7 @@ void initLaserTrap(Entity *e) t->onTime = FPS * 2; t->offTime = FPS * 2; - t->sprite[0] = t->sprite[1] = t->sprite[2] = getSpriteIndex("LaserTrap"); + t->sprite[0] = t->sprite[1] = t->sprite[2] = getSprite("LaserTrap"); t->active = 1; diff --git a/src/entities/traps/laserTrap.h b/src/entities/traps/laserTrap.h index 9577373..660d41b 100644 --- a/src/entities/traps/laserTrap.h +++ b/src/entities/traps/laserTrap.h @@ -24,7 +24,7 @@ extern void initEntity(Entity *e); extern void observeActivation(Entity *e); extern int isOnScreen(Entity *e); extern void setGameplayMessage(int type, char *format, ...); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern int rrnd(int low, int high); extern void stunBob(void); extern void addSparkParticles(float x, float y); diff --git a/src/structs.h b/src/structs.h index a97296c..c1d74b9 100644 --- a/src/structs.h +++ b/src/structs.h @@ -122,7 +122,7 @@ struct Entity { int environment; int thinkTime; int facing; - int sprite[3]; + Sprite *sprite[3]; int plane; int isSolid; int isStatic; @@ -144,7 +144,7 @@ struct Entity { void (*activate)(int active); void (*applyDamage)(int amount); void (*changeEnvironment)(void); - int (*getCurrentSprite)(void); + Sprite *(*getCurrentSprite)(void); int (*preSave)(void); SDL_Rect *(*getBounds)(void); Entity *next; @@ -355,7 +355,7 @@ typedef struct { } Game; struct Marker { - int sprite; + Sprite *sprite; float value; float y; Marker *next; @@ -402,8 +402,8 @@ struct Particle { float r; float g; float b; - int spriteIndex; - double spriteTime; + Sprite *spriteIndex; + float spriteTime; int spriteFrame; int destroyAfterAnim; int onScreen; diff --git a/src/system/sprites.c b/src/system/sprites.c index f63ed38..ce9ab45 100644 --- a/src/system/sprites.c +++ b/src/system/sprites.c @@ -25,7 +25,6 @@ static void loadGameSprites(void); static void loadSpriteList(char *filename); void loadSprite(cJSON *root); -static Tuple spriteMapHead; static Sprite spriteHead; static Sprite *spriteTail; @@ -37,42 +36,6 @@ void initSprites(void) loadGameSprites(); } -int getSpriteIndex(char *key) -{ - Tuple *t; - - for (t = spriteMapHead.next ; t != NULL ; t = t->next) - { - if (strcmp(t->key, key) == 0) - { - return t->value.i; - } - } - - SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_ERROR, "No such sprite '%s'", key); - exit(1); - - return -1; -} - -Sprite *getSpriteByIndex(int x) -{ - Sprite *s; - int i; - - for (s = spriteHead.next ; s != NULL ; s = s->next) - { - if (i == x) - { - return s; - } - - i++; - } - - return NULL; -} - Sprite *getSprite(char *name) { Sprite *s; @@ -101,14 +64,6 @@ void animateSprites(void) } } -void addSpriteFrame(Sprite *s, SDL_Rect frame, int time) -{ - s->frames[s->numFrames] = frame; - s->times[s->numFrames] = time; - - s->numFrames++; -} - static void animateSprite(Sprite *s) { if (s->currentTime != -1) @@ -210,8 +165,3 @@ void loadSprite(cJSON *root) void destroySprites(void) { } - -void addSpriteFrames(Sprite *sprite, cJSON *root) -{ - -} diff --git a/src/world/effects.c b/src/world/effects.c index 09e778c..3a54ef4 100644 --- a/src/world/effects.c +++ b/src/world/effects.c @@ -20,25 +20,25 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "effects.h" -static int fleshChunk[3]; -static int debris[3]; +static Sprite *fleshChunk[3]; +static Sprite *debris[3]; void initEffects(void) { - fleshChunk[0] = getSpriteIndex("FleshChunk1"); - fleshChunk[1] = getSpriteIndex("FleshChunk2"); - fleshChunk[2] = getSpriteIndex("FleshChunk3"); + fleshChunk[0] = getSprite("FleshChunk1"); + fleshChunk[1] = getSprite("FleshChunk2"); + fleshChunk[2] = getSprite("FleshChunk3"); - debris[0] = getSpriteIndex("Debris1"); - debris[1] = getSpriteIndex("Debris2"); - debris[2] = getSpriteIndex("Debris3"); + debris[0] = getSprite("Debris1"); + debris[1] = getSprite("Debris2"); + debris[2] = getSprite("Debris3"); } void addExplosionEffect(int x, int y, float dx, float dy) { } -void addSmallFleshChunk(double x, double y) +void addSmallFleshChunk(float x, float y) { Decoration *chunk; @@ -55,7 +55,7 @@ void addSmallFleshChunk(double x, double y) chunk->sprite[0] = chunk->sprite[1] = chunk->sprite[2] = fleshChunk[0]; } -void throwFleshChunks(double x, double y, int amount) +void throwFleshChunks(float x, float y, int amount) { int i; Decoration *chunk; diff --git a/src/world/effects.h b/src/world/effects.h index 1f9cd8c..c5fb723 100644 --- a/src/world/effects.h +++ b/src/world/effects.h @@ -21,6 +21,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../common.h" extern int rrnd(int low, int high); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern World world; diff --git a/src/world/items.c b/src/world/items.c index d653807..19dea77 100644 --- a/src/world/items.c +++ b/src/world/items.c @@ -23,21 +23,21 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. static void throwItem(Item *i); static int getRandomPlayerWeaponAt(int x, int y); -static int wpnIconSprite; -static int cherrySprite[3]; -static int batterySprite; +static Sprite *wpnIconSprite; +static Sprite *cherrySprite[3]; +static Sprite *batterySprite; void initItems(void) { - wpnIconSprite = getSpriteIndex("Weapon"); - batterySprite = getSpriteIndex("Battery"); + wpnIconSprite = getSprite("Weapon"); + batterySprite = getSprite("Battery"); - cherrySprite[0] = getSpriteIndex("Cherry"); - cherrySprite[1] = getSpriteIndex("DualCherry"); - cherrySprite[2] = getSpriteIndex("CherryBunch"); + cherrySprite[0] = getSprite("Cherry"); + cherrySprite[1] = getSprite("DualCherry"); + cherrySprite[2] = getSprite("CherryBunch"); } -void addRandomWeapon(double x, double y) +void addRandomWeapon(float x, float y) { Item *wpn; int type; @@ -87,10 +87,10 @@ static int getRandomPlayerWeaponAt(int x, int y) return type; } -void dropRandomCherry(double x, double y) +void dropRandomCherry(float x, float y) { Item *i; - double r; + int r; i = malloc(sizeof(Item)); memset(i, 0, sizeof(Item)); @@ -124,10 +124,10 @@ void dropRandomCherry(double x, double y) throwItem(i); } -void dropBattery(double x, double y) +void dropBattery(float x, float y) { Item *i; - double r; + int r; i = malloc(sizeof(Item)); memset(i, 0, sizeof(Item)); diff --git a/src/world/items.h b/src/world/items.h index d479146..4354839 100644 --- a/src/world/items.h +++ b/src/world/items.h @@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern int rrnd(int low, int high); extern int getRandomPlayerWeapon(int excludeGrenades); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern void addRandomItems(float x, float y); extern World world; diff --git a/src/world/particles.c b/src/world/particles.c index cd4c15d..d990385 100644 --- a/src/world/particles.c +++ b/src/world/particles.c @@ -23,25 +23,25 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. static void animate(Particle *p); static Particle *createParticle(void); -static int bloodSprite[3]; -static int explosionSprite[2]; -static int flameSprite; -static int smokeSprite; -static int teleportStarSprite; +static Sprite *bloodSprite[3]; +static Sprite *explosionSprite[2]; +static Sprite *flameSprite; +static Sprite *smokeSprite; +static Sprite *teleportStarSprite; void initParticles(void) { - bloodSprite[0] = getSpriteIndex("Blood1"); - bloodSprite[1] = getSpriteIndex("Blood2"); - bloodSprite[2] = getSpriteIndex("Blood3"); + bloodSprite[0] = getSprite("Blood1"); + bloodSprite[1] = getSprite("Blood2"); + bloodSprite[2] = getSprite("Blood3"); - explosionSprite[0] = getSpriteIndex("Explosion1"); - explosionSprite[1] = getSpriteIndex("Explosion2"); + explosionSprite[0] = getSprite("Explosion1"); + explosionSprite[1] = getSprite("Explosion2"); - flameSprite = getSpriteIndex("Flame"); - smokeSprite = getSpriteIndex("Smoke"); + flameSprite = getSprite("Flame"); + smokeSprite = getSprite("Smoke"); - teleportStarSprite = getSpriteIndex("TeleportStar"); + teleportStarSprite = getSprite("TeleportStar"); } void addBlood(float x, float y) @@ -239,19 +239,7 @@ void doParticles(void) static void animate(Particle *p) { - Sprite *s; - if (p->spriteTime != -1) - { - p->spriteTime--; - - if (p->spriteTime <= 0) - { - s = getSprite(p->spriteIndex); - p->spriteFrame = (int) wrap(++p->spriteFrame, 0, s->numFrames); - p->spriteTime = s->times[p->spriteFrame]; - } - } } static Particle *createParticle(void) diff --git a/src/world/particles.h b/src/world/particles.h index d78cfa9..a16e4f5 100644 --- a/src/world/particles.h +++ b/src/world/particles.h @@ -20,8 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../common.h" -extern Sprite *getSprite(int i); -extern int getSpriteIndex(char *name); +extern Sprite *getSprite(char *name); extern float wrap(float value, float low, float high); extern int rrnd(int low, int high); extern double randF(void);