diff options
Diffstat (limited to 'game.c')
| -rw-r--r-- | game.c | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -11,6 +11,7 @@ static EntityCollisionProc bulletcollproc; static EntityUpdateProc playerproc; static EntityUpdateProc ghostproc; +static EntityUpdateProc bulletproc; static EntityCollisionProc *collisionProcs[LASTEntity] = { [EBULLET] = bulletcollproc, @@ -19,6 +20,7 @@ static EntityCollisionProc *collisionProcs[LASTEntity] = { static EntityUpdateProc *updateprocs[LASTEntity] = { [EPLAYER] = playerproc, [EGHOST] = ghostproc, + [EBULLET] = bulletproc, }; Entity entitybuffer[2048]; @@ -150,8 +152,8 @@ ghostproc(Entity *e, float delta) dy /= dd; if(dd < 40) { - vx -= dx * 100; - vy -= dy * 100; + vx -= dx * SPEED; + vy -= dy * SPEED; } } @@ -159,6 +161,12 @@ ghostproc(Entity *e, float delta) e->body.vel[1] = vy; } +void +bulletproc(Entity *e, float delta) +{ + e->active = (e->time += delta) < 1.0; +} + Entity * allocentity(void) { |
