From 34f7bc00468ab5305325e54704da6523012b6ac7 Mon Sep 17 00:00:00 2001 From: Mischa Poslawsky Date: Tue, 9 Nov 1999 08:33:56 +0100 Subject: [PATCH] additional byte for enemy hitpoints --- nemesis.z80 | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/nemesis.z80 b/nemesis.z80 index 3233444..feb535d 100644 --- a/nemesis.z80 +++ b/nemesis.z80 @@ -96,7 +96,7 @@ your_prevpos = your_locpos+1 ;+88 ;save previous positions (32d) ;^-----------------------------------<1 ;-120=$78 nrenemies = 10 ;max. nr of enemies -enemysize = 6 +enemysize = 7 enemies = storepos2 ; +0 ;info about each enemy (6byt) nrybuls = 10 @@ -110,7 +110,7 @@ ybuls = ebullets+(nrebuls*3) ;+140 ;level_info: ; [0000:damage 0:directfire 0:ground 0:ceiling 0:diagfire] ;enemies: -; [000000:HP left 00:(00=no enemy 01=exploding 10=normal 11=moving)] +; [HP] [000000:HP left 00:(00=no enemy 01=exploding 10=normal 11=moving)] ; [ship type or explosion frame] [x] [y] [move] [fire] ;---------------------- introduction ------------------------------------------ @@ -432,7 +432,7 @@ _gamestuff1: cal Display_Screen ;display all halt ;delay - jp game_main_loop ;LOOP + jp game_main_loop ;LOOP^^^^^^^^^^^^^ ;--------------------------- ground ------------------------------------------- @@ -1165,7 +1165,7 @@ handle_laser: check_laserhits: ;de = (x,y) ld b,nrenemies - ld hl,enemies + ld hl,enemies+1 laserhits: ;Hits with normal enemies psh hl @@ -1325,7 +1325,7 @@ next_ybullet: check_bullethits: ;INPUT: de=X,Y; (temp1)=bullet ld b,nrenemies - ld hl,enemies + ld hl,enemies+1 hit_enemies: ;Hits with normal enemies psh hl @@ -1482,7 +1482,7 @@ place_boss: standby_event: ld b,nrenemies - ld hl,enemies-enemysize + ld hl,enemies+1-enemysize ld de,enemysize chk_enemyleft: add hl,de @@ -1498,7 +1498,7 @@ enemyleft: do_event: - ld hl,enemies-enemysize + ld hl,enemies+1-enemysize ld bc,enemysize xor a ;a=0 chk_noenemy: @@ -1520,6 +1520,11 @@ place_enemy: ld a,(hl) ;load hitpoints+occ of this enemy class ld (de),a ;save occ + dec de ;goto hp + xor a + ld (de),a ;save hp64 + inc de ;next byte (or previous): occ again + inc hl ;next enemyInfo byte inc de ;next byte of current enemy ld a,(hl) ;load enemy class (nr) @@ -1721,7 +1726,7 @@ remove_ebullet: ;--------------------------- handle enemies ----------------------------------- Handle_enemies: - ld hl,enemies + ld hl,enemies+1 ld b,nrenemies ;handle all enemies handle_enemy: @@ -1937,7 +1942,7 @@ Enemies_hit: ld d,h ld e,l ;e = X+7, d = Y+7 - ld hl,enemies + ld hl,enemies+1 ld b,nrenemies ;check all 20 enemies check_collision: psh hl -- 2.30.0