From 67e2b56dc2e25577a5827eaea9e8cf120e0b00e2 Mon Sep 17 00:00:00 2001 From: Jeremy Rand Date: Mon, 10 Aug 2020 23:58:49 -0400 Subject: [PATCH] Add some more code to support adding bug segments to the game. --- BuGS/gameSegments.s | 191 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 190 insertions(+), 1 deletion(-) diff --git a/BuGS/gameSegments.s b/BuGS/gameSegments.s index 5259e40..35abc65 100644 --- a/BuGS/gameSegments.s +++ b/BuGS/gameSegments.s @@ -13,6 +13,16 @@ gameSegments start using globalData +SEGMENT_STATE_NONE equ 0 +SEGMENT_STATE_HEAD equ 1 +SEGMENT_STATE_BODY equ 2 + +SEGMENT_DIR_LEFT equ 0 +SEGMENT_DIR_DOWN_LEFT equ 1 +SEGMENT_DIR_DOWN equ 2 +SEGMENT_DIR_DOWN_RIGHT equ 3 +SEGMENT_DIR_RIGHT equ 4 + drawSegments entry ; Write this code... @@ -38,5 +48,184 @@ shootSegment entry ; Write this code... rtl - +SEGMENT_SPRITE_LAST_OFFSET gequ 7*4 +leftHeadJumpTable dc i4'leftHead5' + dc i4'leftHead4' + dc i4'leftHead1' + dc i4'leftHead2' + dc i4'leftHead3' + dc i4'leftHead2' + dc i4'leftHead1' + dc i4'leftHead4' + + +leftHeadShiftJumpTable dc i4'leftHead5s' + dc i4'leftHead4s' + dc i4'leftHead1s' + dc i4'leftHead2s' + dc i4'leftHead3s' + dc i4'leftHead2s' + dc i4'leftHead1s' + dc i4'leftHead4s' + + +rightHeadJumpTable dc i4'rightHead5' + dc i4'rightHead4' + dc i4'rightHead1' + dc i4'rightHead2' + dc i4'rightHead3' + dc i4'rightHead2' + dc i4'rightHead1' + dc i4'rightHead4' + + +rightHeadShiftJumpTable dc i4'rightHead5s' + dc i4'rightHead4s' + dc i4'rightHead1s' + dc i4'rightHead2s' + dc i4'rightHead3s' + dc i4'rightHead2s' + dc i4'rightHead1s' + dc i4'rightHead4s' + + +leftDownHeadJumpTable dc i4'leftDownHead1' + dc i4'leftDownHead2' + dc i4'leftDownHead1' + dc i4'leftDownHead2' + dc i4'leftDownHead1' + dc i4'leftDownHead2' + dc i4'leftDownHead1' + dc i4'leftDownHead2' + + +leftDownShiftHeadJumpTable dc i4'leftDownHead1s' + dc i4'leftDownHead2s' ; Problem, spills into next tile... + dc i4'leftDownHead1s' + dc i4'leftDownHead2s' ; Problem, spills into next tile... + dc i4'leftDownHead1s' + dc i4'leftDownHead2s' ; Problem, spills into next tile... + dc i4'leftDownHead1s' + dc i4'leftDownHead2s' ; Problem, spills into next tile... + + +rightDownHeadJumpTable dc i4'rightDownHead1' + dc i4'rightDownHead2' ; Problem, spills into next tile... + dc i4'rightDownHead1' + dc i4'rightDownHead2' ; Problem, spills into next tile... + dc i4'rightDownHead1' + dc i4'rightDownHead2' ; Problem, spills into next tile... + dc i4'rightDownHead1' + dc i4'rightDownHead2' ; Problem, spills into next tile... + + +rightDownShiftHeadJumpTable dc i4'rightDownHead1s' + dc i4'rightDownHead2s' + dc i4'rightDownHead1s' + dc i4'rightDownHead2s' + dc i4'rightDownHead1s' + dc i4'rightDownHead2s' + dc i4'rightDownHead1s' + dc i4'rightDownHead2s' + + +downHeadJumpTable dc i4'downHead3' + dc i4'downHead3' + dc i4'downHead1' + dc i4'downHead1' + dc i4'downHead2' + dc i4'downHead2' + dc i4'downHead1' + dc i4'downHead1' + + +leftBodyJumpTable dc i4'leftBody5' + dc i4'leftBody4' + dc i4'leftBody1' + dc i4'leftBody2' + dc i4'leftBody3' + dc i4'leftBody2' + dc i4'leftBody1' + dc i4'leftBody4' + + +leftBodyShiftJumpTable dc i4'leftBody5s' + dc i4'leftBody4s' + dc i4'leftBody1s' + dc i4'leftBody2s' + dc i4'leftBody3s' + dc i4'leftBody2s' + dc i4'leftBody1s' + dc i4'leftBody4s' + + +rightBodyJumpTable dc i4'rightBody5' + dc i4'rightBody4' + dc i4'rightBody1' + dc i4'rightBody2' + dc i4'rightBody3' + dc i4'rightBody2' + dc i4'rightBody1' + dc i4'rightBody4' + + +rightBodyShiftJumpTable dc i4'rightBody5s' + dc i4'rightBody4s' + dc i4'rightBody1s' + dc i4'rightBody2s' + dc i4'rightBody3s' + dc i4'rightBody2s' + dc i4'rightBody1s' + dc i4'rightBody4s' + + +leftDownBodyJumpTable dc i4'leftDownBody1' + dc i4'leftDownBody2' + dc i4'leftDownBody1' + dc i4'leftDownBody2' + dc i4'leftDownBody1' + dc i4'leftDownBody2' + dc i4'leftDownBody1' + dc i4'leftDownBody2' + + +leftDownShiftBodyJumpTable dc i4'leftDownBody1s' + dc i4'leftDownBody2s' ; Problem, spills into next tile... + dc i4'leftDownBody1s' + dc i4'leftDownBody2s' ; Problem, spills into next tile... + dc i4'leftDownBody1s' + dc i4'leftDownBody2s' ; Problem, spills into next tile... + dc i4'leftDownBody1s' + dc i4'leftDownBody2s' ; Problem, spills into next tile... + + +rightDownBodyJumpTable dc i4'rightDownBody1' + dc i4'rightDownBody2' ; Problem, spills into next tile... + dc i4'rightDownBody1' + dc i4'rightDownBody2' ; Problem, spills into next tile... + dc i4'rightDownBody1' + dc i4'rightDownBody2' ; Problem, spills into next tile... + dc i4'rightDownBody1' + dc i4'rightDownBody2' ; Problem, spills into next tile... + + +rightDownShiftBodyJumpTable dc i4'rightDownBody1s' + dc i4'rightDownBody2s' + dc i4'rightDownBody1s' + dc i4'rightDownBody2s' + dc i4'rightDownBody1s' + dc i4'rightDownBody2s' + dc i4'rightDownBody1s' + dc i4'rightDownBody2s' + + +downBodyJumpTable dc i4'downBody3' + dc i4'downBody3' + dc i4'downBody1' + dc i4'downBody1' + dc i4'downBody2' + dc i4'downBody2' + dc i4'downBody1' + dc i4'downBody1' + end