Prev: B628 Up: Map Next: B706
B6EC: Test Shot Hits Ground
Used by the routines at UpdateShot and UpdateLeftShot.
Tests whether a shot has hit the ground or an object, using NudgeObject with a box that is 18 wide and 0C high (10 high if entered at TestShotHitsGround_Wide). A sound is made if the shot is not a special one.
Input
IX Address of the shot
Output
F The zero flag is set if nothing was hit
TestShotHitsGround B6EC LD B,$0C B=0C.
B6EE JR TestShotHitsGround_Check Jump to TestShotHitsGround_Check.
This entry point is used by the routine at UpdateSpecialShot.
TestShotHitsGround_Wide B6F0 LD B,$10 B=10.
TestShotHitsGround_Check B6F2 LD C,$18 C=18.
B6F4 CALL NudgeObject Call NudgeObject.
B6F7 LD A,($5C1C) The hit flag.
B6FA AND A Return if A is zero.
B6FB RET Z
B6FC BIT 7,(IX+$15) Call PlayShortCrashSound if bit 7 of offset 15 of IX is clear.
B700 CALL Z,PlayShortCrashSound
B703 OR %00000001 Set the bits of A that are set in 01.
B705 RET Return.
Prev: B628 Up: Map Next: B706