jumping pig

This commit is contained in:
alpine9000
2016-04-17 18:34:46 +10:00
parent a67840ff14
commit 5b0358ada0
3 changed files with 55 additions and 5 deletions
+14 -1
View File
@@ -11,7 +11,7 @@ NUM_COLORS=8
BOOTBLOCK_ASM=alpine_bootblock.s
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
IMAGES=foreground.png background.png panel.png sprite_pig_up.png sprite_pig_left_jump.png sprite_pig_up_jump.png sprite_pig_down_jump.png sprite_pig_right_jump.png sprite_pig_down.png sprite_pig_left.png sprite_pig_right.png
IMAGEDATA=$(addprefix out/, $(IMAGES:.png=.bin))
VASM_EXTRA_ARGS=-DNUM_COLORS=$(NUM_COLORS)
@@ -53,6 +53,19 @@ out/sprite_pig_right.bin: assets/sprite_pig_right.png
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 4 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output out/sprite_pig_right --palette-offset 16 --use-palette=assets/pig.pal
out/sprite_pig_right_jump.bin: assets/sprite_pig_right_jump.png
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 4 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output out/sprite_pig_right_jump --palette-offset 16 --use-palette=assets/pig.pal
out/sprite_pig_down_jump.bin: assets/sprite_pig_down_jump.png
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 4 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output out/sprite_pig_down_jump --palette-offset 16 --use-palette=assets/pig.pal
out/sprite_pig_up_jump.bin: assets/sprite_pig_up_jump.png
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 4 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output out/sprite_pig_up_jump --palette-offset 16 --use-palette=assets/pig.pal
out/sprite_pig_left_jump.bin: assets/sprite_pig_left_jump.png
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 4 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output out/sprite_pig_left_jump --palette-offset 16 --use-palette=assets/pig.pal
out/foreground-map.s: foreground.tmx
../tools/mapgen/out/mapgen --depth=3 --input=foreground.tmx
mv foreground-map.s out
+1 -1
View File
@@ -1,6 +1,6 @@
PIG_JUMP_PIXELS equ 8
PIG_PAUSE_PIXELS equ 8
PIG_PAUSE_PIXELS equ 16
PIG_MOVE_PIXELS equ 2
FOREGROUND_DELAY_BIT equ 0
+40 -3
View File
@@ -15,40 +15,55 @@ UpdatePig:
cmp.w #PIG_PAUSE_PIXELS,spriteR
ble .skipRight
add.w #PIG_MOVE_PIXELS,spriteX
move.l #spritePigRightJump,currentSprite
.skipRight
cmp.w #0,spriteR
beq .notRight
sub.w #1,spriteR
cmp.w #PIG_PAUSE_PIXELS,spriteR
bge .notRight
move.l #spritePigRight,currentSprite
.notRight:
;; up
cmp.w #PIG_PAUSE_PIXELS,spriteU
ble .skipUp
sub.w #PIG_MOVE_PIXELS,spriteY
sub.w #PIG_MOVE_PIXELS,spriteYEnd
move.l #spritePigUpJump,currentSprite
.skipUp:
cmp.w #0,spriteU
beq .notUp
sub.w #1,spriteU
cmp.w #PIG_PAUSE_PIXELS,spriteU
bge .notUp
move.l #spritePigUp,currentSprite
.notUp:
;; down
cmp.w #PIG_PAUSE_PIXELS,spriteD
ble .skipDown
add.w #PIG_MOVE_PIXELS,spriteY
add.w #PIG_MOVE_PIXELS,spriteYEnd
move.l #spritePigDownJump,currentSprite
.skipDown:
cmp.w #0,spriteD
beq .notDown
sub.w #1,spriteD
cmp.w #PIG_PAUSE_PIXELS,spriteD
bge .notDown
move.l #spritePigDown,currentSprite
.notDown:
;; left
cmp.w #PIG_PAUSE_PIXELS,spriteL
ble .skipLeft
sub.w #PIG_MOVE_PIXELS,spriteX
move.l #spritePigLeftJump,currentSprite
.skipLeft
cmp.w #0,spriteL
beq .notLeft
sub.w #1,spriteL
cmp.w #PIG_PAUSE_PIXELS,spriteL
bge .notLeft
move.l #spritePigLeft,currentSprite
.notLeft:
cmp.w #$cf,spriteX
blt .noScroll
@@ -75,7 +90,7 @@ ProcessJoystick:
cmp.b #3,joystickpos
bne .notRight
move.w #PIG_JUMP_PIXELS+PIG_PAUSE_PIXELS,spriteR
move.l #spritePigRight,currentSprite
move.l #spritePigRight,currentSprite
.notRight:
cmp.b #1,joystickpos
bne .notUp
@@ -126,22 +141,44 @@ spritePigUp:
dc.w 0,0
incbin "out/sprite_pig_up.bin"
dc.l 0
spritePigUpJump:
dc.w 0,0
dc.w 0,0
incbin "out/sprite_pig_up_jump.bin"
dc.l 0
spritePigDown:
dc.w 0,0
dc.w 0,0
incbin "out/sprite_pig_down.bin"
dc.l 0
spritePigDownJump:
dc.w 0,0
dc.w 0,0
incbin "out/sprite_pig_down_jump.bin"
dc.l 0
spritePigLeft:
dc.w 0,0
dc.w 0,0
incbin "out/sprite_pig_left.bin"
dc.l 0
spritePigLeftJump:
dc.w 0,0
dc.w 0,0
incbin "out/sprite_pig_left_jump.bin"
dc.l 0
spritePigRight:
dc.w 0,0
dc.w 0,0
incbin "out/sprite_pig_right.bin"
dc.l 0
dc.l 0
spritePigRightJump:
dc.w 0,0
dc.w 0,0
incbin "out/sprite_pig_right_jump.bin"
dc.l 0
currentSpriteOffset:
dc.l 0
currentSprite:
dc.l spritePigRight
deadSprite: