From f2d839a1f498ff22ecb239bfc4d7c2752a652afd Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 11 Sep 2017 19:44:01 -0700 Subject: Label wCollidedPoint --- engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm | 2 +- engine/pinball_game/evolution_mode/evolution_mode_red_field.asm | 2 +- engine/pinball_game/object_collision/blue_stage_object_collision.asm | 2 +- engine/pinball_game/object_collision/object_collision.asm | 4 ++-- engine/pinball_game/object_collision/red_stage_object_collision.asm | 2 +- wram.asm | 4 +++- 6 files changed, 9 insertions(+), 7 deletions(-) diff --git a/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm b/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm index 4d35601..0ec3bf8 100644 --- a/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm +++ b/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm @@ -41,7 +41,7 @@ HandleEvolutionMode_BlueField: ; 0x20c08 ; Handles the logic for what happens when an evolution trinket is collected. ld a, [wCurrentStage] ld b, a - ld a, [wd578] + ld a, [wCollidedPointIndex] and a ret z dec a diff --git a/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm b/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm index 4f0930f..cebfcc8 100644 --- a/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm +++ b/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm @@ -43,7 +43,7 @@ HandleEvolutionMode_RedField: ; 0x205e0 ; Handles the logic for what happens when an evolution trinket is collected. ld a, [wCurrentStage] ld b, a - ld a, [wd578] + ld a, [wCollidedPointIndex] and a ret z dec a diff --git a/engine/pinball_game/object_collision/blue_stage_object_collision.asm b/engine/pinball_game/object_collision/blue_stage_object_collision.asm index d5a5fc6..3995900 100644 --- a/engine/pinball_game/object_collision/blue_stage_object_collision.asm +++ b/engine/pinball_game/object_collision/blue_stage_object_collision.asm @@ -111,7 +111,7 @@ CheckBlueStageWildPokemonCollision: ; 0x1c5de CheckBlueStageEvolutionTrinketCollision: ; 0x1c5eb xor a - ld [wd578], a + ld [wCollidedPointIndex], a ld a, [wEvolutionObjectsDisabled] and a ret z diff --git a/engine/pinball_game/object_collision/object_collision.asm b/engine/pinball_game/object_collision/object_collision.asm index 9324829..7e4c2ea 100644 --- a/engine/pinball_game/object_collision/object_collision.asm +++ b/engine/pinball_game/object_collision/object_collision.asm @@ -145,7 +145,7 @@ PinballCollidesWithPoints: ; 0x27fd ; Checks if pinball collides with any of the (x, y) points in the given list. ; Saves the index of the collided point. ; Input: hl = pointer to array of (x, y) points -; Output: Saves index of collided point in wd578 +; Output: Saves index of collided point in wCollidedPointIndex. The returned index starts at 1, not 0. If the no points are colliding, this value is never set. ld a, [wBallXPos + 1] ld b, a ld a, [wBallYPos + 1] @@ -165,7 +165,7 @@ PinballCollidesWithPoints: ; 0x27fd cp $e8 jr c, .nextPoint ld a, d - ld [wd578], a + ld [wCollidedPointIndex], a ret ResolveGameObjectCollisions: ; 0x281c diff --git a/engine/pinball_game/object_collision/red_stage_object_collision.asm b/engine/pinball_game/object_collision/red_stage_object_collision.asm index 846c7a5..98bedbf 100644 --- a/engine/pinball_game/object_collision/red_stage_object_collision.asm +++ b/engine/pinball_game/object_collision/red_stage_object_collision.asm @@ -27,7 +27,7 @@ CheckRedStageBottomGameObjectCollisions: ; 0x143f9 CheckRedStageEvolutionTrinketCollision: ; 0x1441e xor a - ld [wd578], a + ld [wCollidedPointIndex], a ld a, [wEvolutionObjectsDisabled] and a ret z diff --git a/wram.asm b/wram.asm index 93c69cb..4263a3f 100644 --- a/wram.asm +++ b/wram.asm @@ -677,7 +677,9 @@ wd566:: ; 0xd566 wd572:: ; 0xd572 ds $6 -wd578:: ; 0xd578 +wCollidedPointIndex:: ; 0xd578 +; Stores the result of the PinballCollidesWithPoints function. +; This index is 1-based, meaning 1 corresponds to the first item in the points array ds $1 wCurrentCatchEmMon:: ; 0xd579 -- cgit v1.2.3