mirror of
https://frontier.innolan.net/github/AmigaExamples.git
synced 2026-10-06 03:01:28 +00:00
wip button triggered pickups
This commit is contained in:
+5
-1
@@ -14,11 +14,12 @@ BASE_ADDRESS=4000
|
|||||||
# note: this must be high enough not to conflict with MFMbufE
|
# note: this must be high enough not to conflict with MFMbufE
|
||||||
|
|
||||||
BOOTBLOCK_ASM=alpine_bootblock.s
|
BOOTBLOCK_ASM=alpine_bootblock.s
|
||||||
OBJS=out/init.o out/utils.o out/image.o out/blit.o out/joystick.o out/player.o out/items.o out/blitmtext.o out/blitmtext85.o out/blittext.o out/music.o out/P6112-Play.o out/splash.o out/background.o out/sound.o out/trackloader.o out/disk.o out/counter.o out/map.o out/message.o out/menu.o out/credits.o out/bob.o
|
OBJS=out/init.o out/utils.o out/image.o out/blit.o out/joystick.o out/player.o out/items.o out/blitmtext.o out/blitmtext85.o out/blittext.o out/music.o out/P6112-Play.o out/splash.o out/background.o out/sound.o out/trackloader.o out/disk.o out/counter.o out/map.o out/message.o out/menu.o out/credits.o out/bob.o out/pickups.o
|
||||||
|
|
||||||
IMAGES=foreground.png \
|
IMAGES=foreground.png \
|
||||||
background.png \
|
background.png \
|
||||||
panel.png \
|
panel.png \
|
||||||
|
pickups.png \
|
||||||
mpanel.png \
|
mpanel.png \
|
||||||
mpanelOrig.png \
|
mpanelOrig.png \
|
||||||
sprite_pig-0.png \
|
sprite_pig-0.png \
|
||||||
@@ -117,6 +118,9 @@ out/background.bin: assets/background.png
|
|||||||
out/panel.bin: assets/panel.png
|
out/panel.bin: assets/panel.png
|
||||||
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 16 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output-grey-palette --output out/panel --use-palette=assets/panel.pal
|
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 16 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output-grey-palette --output out/panel --use-palette=assets/panel.pal
|
||||||
|
|
||||||
|
out/pickups.bin: assets/pickups.png
|
||||||
|
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 16 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output-grey-palette --output out/pickups --use-palette=assets/panel.pal
|
||||||
|
|
||||||
out/countdown.bin: assets/countdown.png
|
out/countdown.bin: assets/countdown.png
|
||||||
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 16 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output-grey-palette --output out/countdown --use-palette=assets/panel.pal
|
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 16 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output-grey-palette --output out/countdown --use-palette=assets/panel.pal
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
+13
-14
@@ -1,17 +1,16 @@
|
|||||||
000 153 238 255
|
000 153 238 255
|
||||||
051 136 136 255
|
071 112 076 000
|
||||||
|
058 175 154 255
|
||||||
255 255 255 255
|
255 255 255 255
|
||||||
255 238 187 255
|
156 235 234 255
|
||||||
255 255 221 255
|
255 235 173 255
|
||||||
068 187 170 255
|
|
||||||
000 034 051 255
|
000 034 051 255
|
||||||
170 238 238 255
|
042 118 117 255
|
||||||
255 221 000 255
|
232 173 135 255
|
||||||
238 187 153 255
|
154 174 135 255
|
||||||
255 136 000 255
|
071 218 199 255
|
||||||
000 068 119 255
|
250 102 011 255
|
||||||
085 221 204 255
|
255 226 011 255
|
||||||
255 000 064 255
|
025 138 157 255
|
||||||
170 187 153 255
|
251 000 050 255
|
||||||
255 255 204 255
|
255 255 213 255
|
||||||
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
+2
-2
@@ -116,8 +116,8 @@ LINESIZE equ BITPLANE_WIDTH_BYTES*SCREEN_BIT_DEPTH
|
|||||||
|
|
||||||
|
|
||||||
PANEL_BIT_DEPTH equ 4
|
PANEL_BIT_DEPTH equ 4
|
||||||
PANEL_LIVES_X equ 218
|
PANEL_LIVES_X equ 236
|
||||||
PANEL_PLAYER1_X equ 192
|
PANEL_PLAYER1_X equ 214
|
||||||
PANEL_COLUMNS_REMAINING_X equ 100
|
PANEL_COLUMNS_REMAINING_X equ 100
|
||||||
PANEL_SCORE_X equ 29
|
PANEL_SCORE_X equ 29
|
||||||
|
|
||||||
|
|||||||
+6
-3
@@ -24,6 +24,7 @@
|
|||||||
xdef startForegroundMapPtr
|
xdef startForegroundMapPtr
|
||||||
xdef startPathwayMapPtr
|
xdef startPathwayMapPtr
|
||||||
|
|
||||||
|
xdef frameCount
|
||||||
xdef moving
|
xdef moving
|
||||||
xdef itemsMapOffset
|
xdef itemsMapOffset
|
||||||
xdef itemsMapEndPtr
|
xdef itemsMapEndPtr
|
||||||
@@ -97,6 +98,7 @@ Reset:
|
|||||||
move.l playerXColumnLastSafe,playerXColumn
|
move.l playerXColumnLastSafe,playerXColumn
|
||||||
jsr PreRenderColumnsRemaining
|
jsr PreRenderColumnsRemaining
|
||||||
jsr RenderPlayerScore
|
jsr RenderPlayerScore
|
||||||
|
jsr ResetPickups
|
||||||
|
|
||||||
move.l startForegroundMapPtr,foregroundMapPtr
|
move.l startForegroundMapPtr,foregroundMapPtr
|
||||||
move.l startPathwayMapPtr,pathwayMapPtr
|
move.l startPathwayMapPtr,pathwayMapPtr
|
||||||
@@ -252,6 +254,8 @@ GameLoop:
|
|||||||
|
|
||||||
jsr PlayNextSound
|
jsr PlayNextSound
|
||||||
jsr PrepareItemSpriteData
|
jsr PrepareItemSpriteData
|
||||||
|
|
||||||
|
jsr FlashPickup
|
||||||
bra GameLoop
|
bra GameLoop
|
||||||
|
|
||||||
|
|
||||||
@@ -303,13 +307,11 @@ Update:
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
RevealPathway:
|
RevealPathway:
|
||||||
PlaySound Whoosh
|
|
||||||
move.w #50,pathwayFadeCount
|
move.w #50,pathwayFadeCount
|
||||||
jsr InstallTilePalette
|
jsr InstallTilePalette
|
||||||
rts
|
rts
|
||||||
|
|
||||||
FreezeScrolling:
|
FreezeScrolling:
|
||||||
PlaySound Whoosh
|
|
||||||
move.w #150,freezeCountdownCounter
|
move.w #150,freezeCountdownCounter
|
||||||
move.w #0,moving
|
move.w #0,moving
|
||||||
rts
|
rts
|
||||||
@@ -317,6 +319,7 @@ FreezeScrolling:
|
|||||||
InitialiseNewGame:
|
InitialiseNewGame:
|
||||||
jsr InitialiseItems
|
jsr InitialiseItems
|
||||||
jsr InitialisePlayer
|
jsr InitialisePlayer
|
||||||
|
jsr InitialisePickups
|
||||||
jsr InstallNextLevel
|
jsr InstallNextLevel
|
||||||
bra Reset
|
bra Reset
|
||||||
|
|
||||||
@@ -508,6 +511,7 @@ stopScrolling:
|
|||||||
|
|
||||||
|
|
||||||
PostMissedTile:
|
PostMissedTile:
|
||||||
|
jsr InitialisePickups
|
||||||
lea livesCounterText,a0
|
lea livesCounterText,a0
|
||||||
jsr DecrementCounter
|
jsr DecrementCounter
|
||||||
bra Reset
|
bra Reset
|
||||||
@@ -1085,7 +1089,6 @@ stopScrollingPending:
|
|||||||
dc.w 0
|
dc.w 0
|
||||||
freezeCountdownCounter:
|
freezeCountdownCounter:
|
||||||
dc.w 0
|
dc.w 0
|
||||||
|
|
||||||
startUserstack:
|
startUserstack:
|
||||||
ds.b $1000 ; size of stack
|
ds.b $1000 ; size of stack
|
||||||
userstack:
|
userstack:
|
||||||
|
|||||||
+8
-4
@@ -82,15 +82,18 @@ DetectItemCollisions:
|
|||||||
rts
|
rts
|
||||||
.arrowCollision:
|
.arrowCollision:
|
||||||
bsr DeleteItemSprite
|
bsr DeleteItemSprite
|
||||||
jsr SpriteEnableAuto
|
;; jsr SpriteEnableAuto
|
||||||
|
jsr PickupArrow
|
||||||
rts
|
rts
|
||||||
.clockCollision:
|
.clockCollision:
|
||||||
bsr DeleteItemSprite
|
bsr DeleteItemSprite
|
||||||
jsr FreezeScrolling
|
;; jsr FreezeScrolling
|
||||||
|
jsr PickupClock
|
||||||
rts
|
rts
|
||||||
.eyeCollision:
|
.eyeCollision:
|
||||||
bsr DeleteItemSprite
|
bsr DeleteItemSprite
|
||||||
jsr RevealPathway
|
;; jsr RevealPathway
|
||||||
|
jsr PickupEye
|
||||||
rts
|
rts
|
||||||
.skip:
|
.skip:
|
||||||
add.l #ITEM_STRUCT_SIZE,a1
|
add.l #ITEM_STRUCT_SIZE,a1
|
||||||
@@ -489,4 +492,5 @@ __nextPlayerBonus:
|
|||||||
dc.l 0
|
dc.l 0
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,17 +8,17 @@
|
|||||||
</tileset>
|
</tileset>
|
||||||
<layer name="foreground" width="100" height="8">
|
<layer name="foreground" width="100" height="8">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJxjZ2BgsGLEjtlpIDeK8WM7YNgxAbEYFppcOctB4K+hirVwhCmIJlduND7Ix5Tkj8rR/EF1DErnu/HkgeWj+YOueLT+GFx4tP4YXFgaT9uUFnKjGD8GACo/pGY=
|
eJwLZGBgsGLEjtlpIDeK8WM7YNgxAbEYFhokV4lHDpc+y0Hgr6GKtXCEKYgmV240PsjHhPIHOXlnND7Ix6B0vhtPHlg+mj/oignlga2j9QddMaE6Al/eGc0f1MfSeNqmtJAbxfgxAO5ipn8=
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<layer name="pathway" width="100" height="8" visible="0">
|
<layer name="pathway" width="100" height="8">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJxjYBgFo2AUkAvOA7EuIwODMSMqPVDgIxFqTjLQx53I9nwnQR8xfsAFWAcw7EF+RXc7N9Q9yOkEHXCjieHzAyxMsYXRXTxy6PaQEk4gfSB7YXF4HosacvLAYwbK4poYgCts0f0Pi5/vWOSQ/Y8cDvjswSYHswMGJJHYjxmIz4+geJZnxO0XSgCt4wSWRpHtA/lbHkc8wfyKbgZIDJlGz1cwMWx5jpJww5ePcfmFUgAzd6DrFloBUsMNOTwkh2F4jCQAAEy5K70=
|
eJxjZxgFo2AUkAseA7EuIwODMSMqPVDgIxFqTjLQx53I9nwnQR8xfiDGTmSaHgBkD7rbuaF2n2fA7RZuNDFWPO6F+Q9bGN3FI4duDz47sOkD2QuLw/NY1JCTB0B5h5K4JgbgClt0/8Pi5zsWOWT/I4cDPnuwycHsgAFJJPZjBuLzIyie5Rlx+4UQwJc/aB0nsDSKbB/IDfI44gnmV3QzQGLINHq+golhy3PkhhsI4MvHuPxCCBDKO+h1zHADpIYbcnhIDsPwGEkAAMreL30=
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<layer name="items" width="100" height="8" visible="0">
|
<layer name="items" width="100" height="8">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJxjYBgFQx04Mg60C4gHTnR2KzXsA4UvsWE8FOLCmQpuJNcMYvQFE1ADC2NiwpqUuKMFCCHT7migPh8qu9uFCPNw2UmMXhBAD+sARkx5mJoAEuKRXOBKhNm+QyDP4gIg/6G7n1B4ehARJ0MJuOFwsx8WcVxqiQHYzKPUzFGACfxHw3PEAACaNwuB
|
eJxjYBgFQx04Mg60C4gHTnR2KzXsA4UvsWEcPQTiwpkKbiTXDGL0BRNQA4sLYuKElLijBQgh025QOvKhsrtdiDAPl53E6AWBUDR1AWh85PgIICEeyQWuRJjtOwTyLC4A8h+6+wmFpwcRcTKUgBsON/thEcellhiAzTxKzSQVRA3B+CEV+I8AP44CCAAABPMMCg==
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
</map>
|
</map>
|
||||||
|
|||||||
@@ -0,0 +1,216 @@
|
|||||||
|
include "includes.i"
|
||||||
|
|
||||||
|
xdef InitialisePickups
|
||||||
|
xdef UsePickup
|
||||||
|
xdef PickupEye
|
||||||
|
xdef PickupClock
|
||||||
|
xdef PickupArrow
|
||||||
|
xdef FlashPickup
|
||||||
|
xdef ResetPickups
|
||||||
|
|
||||||
|
PICKUP_OFFSET equ (SCREEN_WIDTH_BYTES*PANEL_BIT_DEPTH*17)+(272/8)
|
||||||
|
PICKUP_NUM_FLASHES equ 6
|
||||||
|
|
||||||
|
ResetPickupItem: macro
|
||||||
|
cmp.w #0,has\1Pickup
|
||||||
|
beq .\@skip
|
||||||
|
move.w #PICKUP_NUM_FLASHES,has\1Pickup
|
||||||
|
bsr Show\1Pickup
|
||||||
|
.\@skip:
|
||||||
|
endm
|
||||||
|
|
||||||
|
ResetPickups:
|
||||||
|
move.l #0,lastPickupFrameCount
|
||||||
|
ResetPickupItem Arrow
|
||||||
|
ResetPickupItem Clock
|
||||||
|
ResetPickupItem Eye
|
||||||
|
rts
|
||||||
|
|
||||||
|
InitialisePickups:
|
||||||
|
move.w #0,hasEyePickup
|
||||||
|
move.w #0,hasArrowPickup
|
||||||
|
move.w #0,hasClockPickup
|
||||||
|
bsr HideEyePickup
|
||||||
|
bsr HideArrowPickup
|
||||||
|
bsr HideClockPickup
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
UsePickup:
|
||||||
|
move.l frameCount,d0
|
||||||
|
sub.l lastPickupFrameCount,d0
|
||||||
|
cmp.l #50,d0
|
||||||
|
blt .done
|
||||||
|
|
||||||
|
move.l frameCount,lastPickupFrameCount
|
||||||
|
cmp.w #0,hasEyePickup
|
||||||
|
bne .useEye
|
||||||
|
cmp.w #0,hasClockPickup
|
||||||
|
bne .useClock
|
||||||
|
cmp.w #0,hasArrowPickup
|
||||||
|
bne .useArrow
|
||||||
|
bra .done
|
||||||
|
.useEye:
|
||||||
|
PlaySound Whoosh
|
||||||
|
bsr HideEyePickup
|
||||||
|
move.w #0,hasEyePickup
|
||||||
|
jsr RevealPathway
|
||||||
|
bra .done
|
||||||
|
.useClock:
|
||||||
|
PlaySound Whoosh
|
||||||
|
bsr HideClockPickup
|
||||||
|
move.w #0,hasClockPickup
|
||||||
|
jsr FreezeScrolling
|
||||||
|
bra .done
|
||||||
|
.useArrow:
|
||||||
|
move.l foregroundPlayerTileAddress,a0
|
||||||
|
cmp.w #0,a0
|
||||||
|
beq .done
|
||||||
|
move.w (a0),d0
|
||||||
|
cmp.w #$f02,d0 ; dont active on safe columns
|
||||||
|
beq .done
|
||||||
|
cmp.w #$1682,d0 ; dont active on safe zones
|
||||||
|
beq .done
|
||||||
|
PlaySound Whoosh
|
||||||
|
bsr HideArrowPickup
|
||||||
|
move.w #0,hasArrowPickup
|
||||||
|
jsr SpriteEnableAuto
|
||||||
|
bra .done
|
||||||
|
.done:
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
FlashItem: macro
|
||||||
|
move.w has\1Pickup,d0
|
||||||
|
cmp.w #PICKUP_NUM_FLASHES,d0
|
||||||
|
beq .\@skip
|
||||||
|
cmp.w #0,d0
|
||||||
|
beq .\@skip
|
||||||
|
btst #0,d0
|
||||||
|
bne .\@on
|
||||||
|
bsr Hide\1Pickup
|
||||||
|
bra .\@done
|
||||||
|
.\@on:
|
||||||
|
bsr Show\1Pickup
|
||||||
|
.\@done:
|
||||||
|
add.w #1,has\1Pickup
|
||||||
|
.\@skip
|
||||||
|
endm
|
||||||
|
|
||||||
|
FlashPickup:
|
||||||
|
cmp.w #0,flashCount
|
||||||
|
bgt .skip
|
||||||
|
move.w #8,flashCount
|
||||||
|
|
||||||
|
FlashItem Arrow
|
||||||
|
FlashItem Clock
|
||||||
|
FlashItem Eye
|
||||||
|
.skip:
|
||||||
|
sub.w #1,flashCount
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
PickupItem: macro
|
||||||
|
PlaySound Whoosh
|
||||||
|
cmp.w #0,has\1Pickup
|
||||||
|
beq .\@doPickup
|
||||||
|
jsr \2
|
||||||
|
bra .\@done
|
||||||
|
.\@doPickup:
|
||||||
|
bsr Show\1Pickup
|
||||||
|
move.w #1,has\1Pickup
|
||||||
|
.\@done:
|
||||||
|
endm
|
||||||
|
|
||||||
|
PickupClock:
|
||||||
|
PickupItem Clock,FreezeScrolling
|
||||||
|
rts
|
||||||
|
|
||||||
|
PickupEye:
|
||||||
|
PickupItem Eye,RevealPathway
|
||||||
|
rts
|
||||||
|
|
||||||
|
PickupArrow:
|
||||||
|
PickupItem Arrow,SpriteEnableAuto
|
||||||
|
rts
|
||||||
|
|
||||||
|
ShowEyePickup:
|
||||||
|
move.w #0,d0
|
||||||
|
move.w #0,d1
|
||||||
|
bsr BlitPickup
|
||||||
|
rts
|
||||||
|
|
||||||
|
HideEyePickup:
|
||||||
|
move.w #0,d0
|
||||||
|
move.w #1,d1
|
||||||
|
bsr BlitPickup
|
||||||
|
rts
|
||||||
|
|
||||||
|
ShowClockPickup:
|
||||||
|
move.w #1,d0
|
||||||
|
move.w #0,d1
|
||||||
|
bsr BlitPickup
|
||||||
|
rts
|
||||||
|
|
||||||
|
HideClockPickup:
|
||||||
|
move.w #1,d0
|
||||||
|
move.w #1,d1
|
||||||
|
bsr BlitPickup
|
||||||
|
rts
|
||||||
|
|
||||||
|
ShowArrowPickup:
|
||||||
|
move.w #2,d0
|
||||||
|
move.w #0,d1
|
||||||
|
bsr BlitPickup
|
||||||
|
rts
|
||||||
|
|
||||||
|
HideArrowPickup:
|
||||||
|
move.w #2,d0
|
||||||
|
move.w #1,d1
|
||||||
|
bsr BlitPickup
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
BlitPickup:
|
||||||
|
WaitBlitter
|
||||||
|
;; d0.w pickup index
|
||||||
|
;; 0 - eye, 1 - clock, 2 - arrow, 3 - blank
|
||||||
|
;; d1.w blank
|
||||||
|
;; 0 - not blank, 1 - blank
|
||||||
|
move.w #BC0F_SRCA|BC0F_DEST|$f0,BLTCON0(a6)
|
||||||
|
lea pickups,a0
|
||||||
|
move.l #panel+PICKUP_OFFSET,a1
|
||||||
|
lsl.w #1,d0
|
||||||
|
cmp.w #0,d1
|
||||||
|
adda.w d0,a1
|
||||||
|
beq .notBlank
|
||||||
|
move.w #48/8,d0
|
||||||
|
.notBlank:
|
||||||
|
adda.w d0,a0
|
||||||
|
move.w #0,BLTCON1(a6)
|
||||||
|
move.w #$ffff,BLTALWM(a6)
|
||||||
|
move.w #$ffff,BLTAFWM(a6)
|
||||||
|
move.w #(64-16)/8,BLTAMOD(a6)
|
||||||
|
move.w #SCREEN_WIDTH_BYTES-2,BLTDMOD(a6)
|
||||||
|
move.l a0,BLTAPTH(a6) ;source graphic top left corner
|
||||||
|
move.l a1,BLTDPTH(a6) ;destination top left corner
|
||||||
|
move.w #(14*PANEL_BIT_DEPTH)<<6|(1),BLTSIZE(a6)
|
||||||
|
rts
|
||||||
|
|
||||||
|
hasClockPickup:
|
||||||
|
dc.w 0
|
||||||
|
hasEyePickup:
|
||||||
|
dc.w 0
|
||||||
|
hasArrowPickup:
|
||||||
|
dc.w 0
|
||||||
|
lastPickupFrameCount:
|
||||||
|
dc.l 0
|
||||||
|
flashCount:
|
||||||
|
dc.w 0
|
||||||
|
|
||||||
|
revealMessageText:
|
||||||
|
dc.b "SHOW ME THE BOARD!"
|
||||||
|
dc.b 0
|
||||||
|
align 4
|
||||||
|
pickups:
|
||||||
|
incbin "out/pickups.bin"
|
||||||
+18
-2
@@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
xdef playerLevelPausePixels
|
xdef playerLevelPausePixels
|
||||||
xdef playerLevelMissPixels
|
xdef playerLevelMissPixels
|
||||||
|
xdef spriteCurrentPathwayTile
|
||||||
|
|
||||||
PLAYER_INSTALL_COLOR_PALETTE equ 0
|
PLAYER_INSTALL_COLOR_PALETTE equ 0
|
||||||
PLAYER_SPRITE_DATA equ 4
|
PLAYER_SPRITE_DATA equ 4
|
||||||
@@ -40,6 +41,7 @@ ResetPlayer:
|
|||||||
|
|
||||||
move.w #PATHWAY_CONFIG_FREE,pathwayLastConfig
|
move.w #PATHWAY_CONFIG_FREE,pathwayLastConfig
|
||||||
move.w #0,pathwayMissPending
|
move.w #0,pathwayMissPending
|
||||||
|
move.l #0,foregroundPlayerTileAddress
|
||||||
|
|
||||||
bsr SpriteDisableAuto
|
bsr SpriteDisableAuto
|
||||||
move.w #0,spritePlayerFallingAnimation
|
move.w #0,spritePlayerFallingAnimation
|
||||||
@@ -192,6 +194,11 @@ ProcessJoystick:
|
|||||||
beq .skip
|
beq .skip
|
||||||
|
|
||||||
.autoMoveDisabled:
|
.autoMoveDisabled:
|
||||||
|
btst.b #0,joystick
|
||||||
|
beq .joystickNotPressed
|
||||||
|
jsr UsePickup
|
||||||
|
.joystickNotPressed:
|
||||||
|
|
||||||
cmp.b #3,joystickpos
|
cmp.b #3,joystickpos
|
||||||
bne .notRight
|
bne .notRight
|
||||||
PlayerMoveRight
|
PlayerMoveRight
|
||||||
@@ -212,7 +219,6 @@ ProcessJoystick:
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
SpriteEnableAuto:
|
SpriteEnableAuto:
|
||||||
PlaySound Whoosh
|
|
||||||
CompareScore SCORE_ARROW_SUBTRACTION
|
CompareScore SCORE_ARROW_SUBTRACTION
|
||||||
ble .toZero
|
ble .toZero
|
||||||
AddToScore SCORE_ARROW_SUBTRACTION
|
AddToScore SCORE_ARROW_SUBTRACTION
|
||||||
@@ -413,7 +419,7 @@ CheckPlayerMiss:
|
|||||||
|
|
||||||
GetNextAutoMove:
|
GetNextAutoMove:
|
||||||
move.w spriteCurrentPathwayTile,d0
|
move.w spriteCurrentPathwayTile,d0
|
||||||
lsr.w #4,d0
|
lsr.w #4,d0 ; light and dark colored tiles
|
||||||
|
|
||||||
cmp.w #$708,d0
|
cmp.w #$708,d0
|
||||||
beq .horizontal
|
beq .horizontal
|
||||||
@@ -427,6 +433,16 @@ GetNextAutoMove:
|
|||||||
beq .topRight
|
beq .topRight
|
||||||
cmp.w #$618,d0
|
cmp.w #$618,d0
|
||||||
beq .vertical
|
beq .vertical
|
||||||
|
|
||||||
|
move.l foregroundPlayerTileAddress,a0
|
||||||
|
move.w (a0),d0
|
||||||
|
lsr.w #4,d0 ; light and dark colored tiles
|
||||||
|
cmp.w #$3c0,d0
|
||||||
|
beq .topLeft
|
||||||
|
cmp.w #$2d0,d0
|
||||||
|
beq .leftBottom
|
||||||
|
cmp.w #$438,d0
|
||||||
|
beq .horizontal
|
||||||
bra .skip
|
bra .skip
|
||||||
.horizontal:
|
.horizontal:
|
||||||
cmp.w #PLAYER_MOVE_RIGHT,spriteLastMove
|
cmp.w #PLAYER_MOVE_RIGHT,spriteLastMove
|
||||||
|
|||||||
Reference in New Issue
Block a user