Gegnerspawning an Checkpoints richtig.
authorWintermute <wintermute@hannover.ccc.de>
Sat, 19 Oct 2013 13:14:32 +0000 (15:14 +0200)
committerWintermute <wintermute@hannover.ccc.de>
Sat, 19 Oct 2013 13:14:32 +0000 (15:14 +0200)
badge/jumpnrun/enemies.c
badge/jumpnrun/jumpnrun.c

index 7e2e6f6..b518b51 100644 (file)
@@ -118,10 +118,8 @@ void jumpnrun_process_enemy(jumpnrun_enemy                   *self,
        state->left + BADGE_DISPLAY_WIDTH + spawn_margin < fixed_point_cast_int(self->spawn_pos.x)) {
       self->flags &= ~JUMPNRUN_ENEMY_UNAVAILABLE;
     }
-  } else if((fixed_point_gt(self->spawn_pos.x, FIXED_POINT(state->left                       - spawn_margin, 0)) &&
-             fixed_point_lt(self->spawn_pos.x, FIXED_POINT(state->left - spawn_margin / 2, 0))) ||
-            (fixed_point_lt(self->spawn_pos.x, FIXED_POINT(state->left + BADGE_DISPLAY_WIDTH + spawn_margin, 0)) &&
-             fixed_point_gt(self->spawn_pos.x, FIXED_POINT(state->left + BADGE_DISPLAY_WIDTH, 0)))) {
+  } else if(fixed_point_gt(self->spawn_pos.x, FIXED_POINT(state->left                       - spawn_margin, 0)) &&
+            fixed_point_lt(self->spawn_pos.x, FIXED_POINT(state->left + BADGE_DISPLAY_WIDTH + spawn_margin, 0))) {
     // enemy unspawned, available and in spawn zone.
     self->flags                = JUMPNRUN_ENEMY_SPAWNED | JUMPNRUN_ENEMY_UNAVAILABLE;
     self->base.current_box     = rectangle_new(self->spawn_pos, self->type->extent);
index 3c7f04b..272ceaf 100644 (file)
@@ -340,9 +340,15 @@ uint8_t jumpnrun_play(char const *lvname) {
 
   for(gs.lives = 3; gs.lives != 0; --gs.lives) {
     gs.status = JUMPNRUN_PLAYING;
+    memset(&gs.player, 0, sizeof(gs.player));
     gs.player.current_box = rectangle_new(lv.start_pos,
                                           hacker_extents());
 
+
+    for(size_t i = 0; i < lv.header.enemy_count; ++i) {
+      lv.enemies[i].flags = 0;
+    }
+
     while(gs.status == JUMPNRUN_PLAYING) {
       badge_event_t ev = badge_event_wait();
 
This page took 0.033841 seconds and 4 git commands to generate.