mirror of
https://frontier.innolan.net/github/AmigaExamples.git
synced 2026-09-12 04:51:44 +00:00
working on pig movement
This commit is contained in:
+1
-1
@@ -9,7 +9,7 @@ BASE_ADDRESS=4000
|
||||
NUM_COLORS=8
|
||||
|
||||
BOOTBLOCK_ASM=alpine_bootblock.s
|
||||
OBJS=out/init.o out/utils.o out/image.o out/blit.o out/joystick.o
|
||||
OBJS=out/init.o out/utils.o out/image.o out/blit.o out/joystick.o out/pig.o
|
||||
|
||||
IMAGES=foreground.png background.png panel.png sprite_pig_up.png sprite_pig_down.png sprite_pig_left.png sprite_pig_right.png
|
||||
IMAGEDATA=$(addprefix out/, $(IMAGES:.png=.bin))
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
|
||||
PIG_JUMP_PIXELS equ 8
|
||||
PIG_PAUSE_PIXELS equ 8
|
||||
PIG_MOVE_PIXELS equ 2
|
||||
|
||||
FOREGROUND_DELAY_BIT equ 0
|
||||
|
||||
FOREGROUND_SCROLL_SHIFT_CONVERT equ 4
|
||||
|
||||
+13
-34
@@ -12,6 +12,14 @@
|
||||
xdef joystick
|
||||
xdef sprite
|
||||
xdef deadSprite
|
||||
xdef spriteX
|
||||
xdef spriteY
|
||||
xdef spriteYEnd
|
||||
xdef spriteR
|
||||
xdef spriteL
|
||||
xdef spriteU
|
||||
xdef spriteD
|
||||
xdef moving
|
||||
|
||||
byteMap:
|
||||
dc.l Entry
|
||||
@@ -109,7 +117,6 @@ ProcessJoystick:
|
||||
;; 812
|
||||
;; 7 3
|
||||
;; 654
|
||||
;; move.w #1,moving
|
||||
jsr ReadJoystick
|
||||
cmp.w #0,spriteR
|
||||
bne .skip
|
||||
@@ -122,22 +129,22 @@ ProcessJoystick:
|
||||
|
||||
cmp.b #3,joystickpos
|
||||
bne .notRight
|
||||
move.w #8,spriteR
|
||||
move.w #PIG_JUMP_PIXELS+PIG_PAUSE_PIXELS,spriteR
|
||||
move.l #spritePigRight,currentSprite
|
||||
.notRight:
|
||||
cmp.b #1,joystickpos
|
||||
bne .notUp
|
||||
move.w #8,spriteU
|
||||
move.w #PIG_JUMP_PIXELS+PIG_PAUSE_PIXELS,spriteU
|
||||
move.l #spritePigUp,currentSprite
|
||||
.notUp:
|
||||
cmp.b #5,joystickpos
|
||||
bne .notDown
|
||||
move.w #8,spriteD
|
||||
move.w #PIG_JUMP_PIXELS+PIG_PAUSE_PIXELS,spriteD
|
||||
move.l #spritePigDown,currentSprite
|
||||
.notDown:
|
||||
cmp.b #7,joystickpos
|
||||
bne .notLeft
|
||||
move.w #8,spriteL
|
||||
move.w #PIG_JUMP_PIXELS+PIG_PAUSE_PIXELS,spriteL
|
||||
move.l #spritePigLeft,currentSprite
|
||||
.notLeft:
|
||||
.skip:
|
||||
@@ -149,36 +156,8 @@ ProcessJoystick:
|
||||
|
||||
Update:
|
||||
;; right
|
||||
cmp.w #0,spriteR
|
||||
beq .notRight
|
||||
add.w #2,spriteX
|
||||
sub.w #1,spriteR
|
||||
.notRight:
|
||||
;; up
|
||||
cmp.w #0,spriteU
|
||||
beq .notUp
|
||||
sub.w #2,spriteY
|
||||
sub.w #2,spriteYEnd
|
||||
sub.w #1,spriteU
|
||||
.notUp:
|
||||
;; down
|
||||
cmp.w #0,spriteD
|
||||
beq .notDown
|
||||
add.w #2,spriteY
|
||||
add.w #2,spriteYEnd
|
||||
sub.w #1,spriteD
|
||||
.notDown:
|
||||
;; left
|
||||
cmp.w #0,spriteL
|
||||
beq .notLeft
|
||||
sub.w #2,spriteX
|
||||
sub.w #1,spriteL
|
||||
.notLeft:
|
||||
jsr UpdatePig
|
||||
|
||||
cmp.w #$cf,spriteX
|
||||
blt .noScroll
|
||||
move.w #1,moving
|
||||
.noScroll:
|
||||
.backgroundUpdates:
|
||||
add.l #BACKGROUND_SCROLL_PIXELS,backgroundScrollX
|
||||
btst #FOREGROUND_DELAY_BIT,d6
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
include "includes.i"
|
||||
|
||||
xdef UpdatePig
|
||||
|
||||
UpdatePig:
|
||||
;; right
|
||||
cmp.w #PIG_PAUSE_PIXELS,spriteR
|
||||
ble .skipRight
|
||||
add.w #PIG_MOVE_PIXELS,spriteX
|
||||
.skipRight
|
||||
cmp.w #0,spriteR
|
||||
beq .notRight
|
||||
sub.w #1,spriteR
|
||||
.notRight:
|
||||
;; up
|
||||
cmp.w #PIG_PAUSE_PIXELS,spriteU
|
||||
ble .skipUp
|
||||
sub.w #PIG_MOVE_PIXELS,spriteY
|
||||
sub.w #PIG_MOVE_PIXELS,spriteYEnd
|
||||
.skipUp:
|
||||
cmp.w #0,spriteU
|
||||
beq .notUp
|
||||
sub.w #1,spriteU
|
||||
.notUp:
|
||||
;; down
|
||||
cmp.w #PIG_PAUSE_PIXELS,spriteD
|
||||
ble .skipDown
|
||||
add.w #PIG_MOVE_PIXELS,spriteY
|
||||
add.w #PIG_MOVE_PIXELS,spriteYEnd
|
||||
.skipDown:
|
||||
cmp.w #0,spriteD
|
||||
beq .notDown
|
||||
sub.w #1,spriteD
|
||||
.notDown:
|
||||
;; left
|
||||
|
||||
cmp.w #PIG_PAUSE_PIXELS,spriteL
|
||||
ble .skipLeft
|
||||
sub.w #PIG_MOVE_PIXELS,spriteX
|
||||
.skipLeft
|
||||
cmp.w #0,spriteL
|
||||
beq .notLeft
|
||||
sub.w #1,spriteL
|
||||
.notLeft:
|
||||
cmp.w #$cf,spriteX
|
||||
blt .noScroll
|
||||
move.w #1,moving
|
||||
.noScroll:
|
||||
rts
|
||||
Reference in New Issue
Block a user