ootw: mess around with walking

This commit is contained in:
Vince Weaver 2019-03-10 01:21:35 -05:00
parent 2da423d102
commit eb8544113c
5 changed files with 101 additions and 39 deletions

View File

@ -1,27 +1,28 @@
TODO:
BUGS:
+ beast grab you a edge of pool (glitch)
intro:
+ there's still a bit of a pause when the elevator door finishes opening
movement -- note these are hard due to limitations of the Apple II keyboard
+ ability to run
Missing one running frame
+ ability to jump
+ ability to kick while crouching
+ ability to shoot
sprites_to_draw:
+ physicist jumping
+ physicist hanging on rope
+ physicist swimming
+ physicist getting out of pool
+ beast tripping
+ physicist putting hand up
+ physicist shot backwards
+ physicist holding gun
+ physicist shot
pool:
+ bacground of beast moving off
+ background of beast moving off
cavern:
+ slugs on ceiling drop

View File

@ -39,8 +39,16 @@ left:
lda DIRECTION ; if facing right, turn to face left
bne face_left
inc GAIT ; cycle through animation
lda GAIT
and #$7
cmp #$4
bne no_move_left
dec PHYSICIST_X ; walk left
no_move_left:
lda PHYSICIST_X
cmp LEFT_LIMIT
bpl just_fine_left
@ -51,8 +59,7 @@ too_far_left:
just_fine_left:
inc GAIT ; cycle through animation
inc GAIT
jmp done_keypress ; done
@ -74,7 +81,16 @@ right:
lda DIRECTION
beq face_right
inc GAIT
lda GAIT
and #$7
cmp #$4
bne no_move_right
inc PHYSICIST_X
no_move_right:
lda PHYSICIST_X
cmp RIGHT_LIMIT
bne just_fine_right
@ -87,8 +103,7 @@ too_far_right:
just_fine_right:
inc GAIT
inc GAIT
jmp done_keypress
face_right:

View File

@ -0,0 +1 @@
{"modelVersion":2,"piskel":{"name":"ootw_walking","description":"","fps":4,"height":48,"width":80,"layers":["{\"name\":\"Layer 1\",\"opacity\":1,\"frameCount\":10,\"chunks\":[{\"layout\":[[0],[1],[2],[3],[4],[5],[6],[7],[8],[9]],\"base64PNG\":\"data:image/png;base64,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\"}]}"],"hiddenFrames":[""]}}

View File

@ -28,7 +28,6 @@ phys_stand:
;=====================
phys_walk_progression:
.word phys_stand
.word phys_walk_left1
.word phys_walk_left2
.word phys_walk_left3
@ -36,6 +35,9 @@ phys_walk_progression:
.word phys_walk_left5
.word phys_walk_left6
.word phys_walk_left7
.word phys_walk_left8
.word phys_walk_left9
.word phys_walk_left10
@ -45,10 +47,10 @@ phys_walk_left1:
.byte $aa,$bb,$99,$aa,$aa
.byte $aa,$aa,$0b,$aa,$aa
.byte $aa,$aa,$bb,$aa,$aa
.byte $aa,$ba,$0b,$aa,$aa
.byte $aa,$ab,$bb,$aa,$aa
.byte $aa,$aa,$44,$aa,$aa
.byte $aa,$cc,$44,$aa,$aa
.byte $aa,$fa,$f4,$a5,$aa
.byte $aa,$44,$a4,$cc,$aa
.byte $af,$af,$7a,$7c,$aa
phys_walk_left2:
.byte $5,$8
@ -56,10 +58,10 @@ phys_walk_left2:
.byte $aa,$bb,$99,$aa,$aa
.byte $aa,$aa,$0b,$aa,$aa
.byte $aa,$aa,$bb,$aa,$aa
.byte $ba,$ab,$00,$ba,$aa
.byte $aa,$ba,$bb,$aa,$aa
.byte $aa,$aa,$44,$aa,$aa
.byte $aa,$cc,$44,$4a,$aa
.byte $aa,$a5,$fc,$f4,$aa
.byte $aa,$44,$a4,$cc,$aa
.byte $af,$f4,$7a,$7c,$aa
phys_walk_left3:
.byte $5,$8
@ -67,10 +69,10 @@ phys_walk_left3:
.byte $aa,$bb,$99,$aa,$aa
.byte $aa,$aa,$0b,$aa,$aa
.byte $aa,$aa,$bb,$aa,$aa
.byte $ba,$ab,$00,$ba,$aa
.byte $aa,$ba,$0b,$aa,$aa
.byte $aa,$aa,$44,$aa,$aa
.byte $aa,$cc,$a4,$4a,$aa
.byte $5a,$5c,$fa,$f4,$aa
.byte $aa,$44,$a4,$cc,$aa
.byte $fa,$f4,$7a,$7c,$aa
phys_walk_left4:
.byte $5,$8
@ -80,8 +82,8 @@ phys_walk_left4:
.byte $aa,$aa,$bb,$aa,$aa
.byte $aa,$ba,$0b,$aa,$aa
.byte $aa,$aa,$44,$aa,$aa
.byte $aa,$aa,$c4,$4a,$aa
.byte $aa,$5a,$5f,$af,$aa
.byte $aa,$44,$a4,$ca,$aa
.byte $fa,$f4,$aa,$7c,$a7
phys_walk_left5:
.byte $5,$8
@ -89,10 +91,10 @@ phys_walk_left5:
.byte $aa,$bb,$99,$aa,$aa
.byte $aa,$aa,$0b,$aa,$aa
.byte $aa,$aa,$bb,$aa,$aa
.byte $aa,$aa,$bb,$aa,$aa
.byte $aa,$aa,$44,$aa,$aa
.byte $aa,$44,$c4,$aa,$aa
.byte $af,$5f,$5c,$aa,$aa
.byte $aa,$bb,$00,$aa,$aa
.byte $7a,$aa,$44,$aa,$aa
.byte $aa,$cc,$44,$aa,$aa
.byte $aa,$f7,$f4,$aa,$aa
phys_walk_left6:
.byte $5,$8
@ -100,10 +102,10 @@ phys_walk_left6:
.byte $aa,$bb,$99,$aa,$aa
.byte $aa,$aa,$0b,$aa,$aa
.byte $aa,$aa,$bb,$aa,$aa
.byte $aa,$ba,$00,$bb,$aa
.byte $aa,$aa,$44,$aa,$aa
.byte $aa,$aa,$44,$aa,$aa
.byte $fa,$f4,$5c,$5c,$aa
.byte $aa,$ba,$0b,$aa,$aa
.byte $aa,$ca,$44,$aa,$aa
.byte $7a,$cc,$a4,$4a,$aa
.byte $aa,$a7,$fa,$f4,$aa
phys_walk_left7:
.byte $5,$8
@ -111,10 +113,44 @@ phys_walk_left7:
.byte $aa,$bb,$99,$aa,$aa
.byte $aa,$aa,$0b,$aa,$aa
.byte $aa,$aa,$bb,$aa,$aa
.byte $aa,$aa,$0b,$ba,$aa
.byte $aa,$aa,$0b,$aa,$aa
.byte $aa,$ca,$44,$aa,$aa
.byte $aa,$cc,$a4,$4a,$aa
.byte $a7,$7c,$fa,$f4,$aa
phys_walk_left8:
.byte $5,$8
.byte $aa,$9a,$9a,$aa,$aa
.byte $aa,$bb,$99,$aa,$aa
.byte $aa,$aa,$0b,$aa,$aa
.byte $aa,$aa,$bb,$aa,$aa
.byte $aa,$ba,$0b,$aa,$aa
.byte $aa,$ca,$44,$aa,$aa
.byte $aa,$cc,$a4,$44,$aa
.byte $7a,$7c,$aa,$fa,$af
phys_walk_left9:
.byte $5,$8
.byte $aa,$9a,$9a,$aa,$aa
.byte $aa,$bb,$99,$aa,$aa
.byte $aa,$aa,$0b,$aa,$aa
.byte $aa,$aa,$bb,$aa,$aa
.byte $aa,$aa,$bb,$aa,$aa
.byte $aa,$aa,$44,$aa,$aa
.byte $aa,$aa,$c4,$a4,$fa
.byte $aa,$7a,$7c,$af,$aa
phys_walk_left10:
.byte $5,$8
.byte $aa,$9a,$9a,$aa,$aa
.byte $aa,$bb,$99,$aa,$aa
.byte $aa,$aa,$0b,$aa,$aa
.byte $aa,$aa,$bb,$aa,$aa
.byte $aa,$ba,$bb,$aa,$aa
.byte $aa,$aa,$44,$aa,$aa
.byte $aa,$aa,$44,$aa,$aa
.byte $aa,$fa,$f4,$5c,$aa
.byte $aa,$fa,$7f,$7c,$aa
;=====================
;=====================
@ -132,6 +168,7 @@ phys_run_progression:
.word phys_run_left7
.word phys_run_left8
.word phys_run_left9
.word phys_run_left9
phys_run_left1:
.byte $5,$8
@ -141,7 +178,7 @@ phys_run_left1:
.byte $aa,$aa,$bb,$aa,$aa
.byte $aa,$ba,$0b,$aa,$aa
.byte $aa,$aa,$44,$aa,$aa
.byte $aa,$aa,$44,$ac,$55
.byte $aa,$aa,$44,$ac,$77
.byte $aa,$fa,$f4,$aa,$aa
phys_run_left2:
@ -164,7 +201,7 @@ phys_run_left3:
.byte $ab,$ab,$00,$aa,$aa
.byte $aa,$ca,$44,$aa,$aa
.byte $aa,$cc,$a4,$4a,$aa
.byte $a5,$a5,$fa,$af,$aa
.byte $a7,$a7,$fa,$af,$aa
phys_run_left4:
.byte $5,$8
@ -175,7 +212,7 @@ phys_run_left4:
.byte $aa,$ab,$00,$aa,$aa
.byte $aa,$ca,$44,$aa,$aa
.byte $aa,$cc,$aa,$44,$aa
.byte $5a,$a5,$aa,$fa,$af
.byte $7a,$a7,$aa,$fa,$af
phys_run_left5:
.byte $5,$8
@ -186,7 +223,7 @@ phys_run_left5:
.byte $aa,$ab,$0b,$aa,$aa
.byte $aa,$aa,$44,$4a,$fa
.byte $aa,$cc,$aa,$aa,$af
.byte $5a,$5c,$aa,$aa,$aa
.byte $7a,$7c,$aa,$aa,$aa
phys_run_left6:
.byte $5,$8
@ -197,7 +234,7 @@ phys_run_left6:
.byte $aa,$ab,$00,$aa,$aa
.byte $aa,$aa,$44,$4a,$fa
.byte $aa,$aa,$cc,$aa,$af
.byte $aa,$5a,$5c,$aa,$aa
.byte $aa,$7a,$7c,$aa,$aa
phys_run_left7:
.byte $5,$8
@ -208,7 +245,7 @@ phys_run_left7:
.byte $aa,$ab,$0b,$aa,$aa
.byte $aa,$4a,$44,$aa,$aa
.byte $aa,$a4,$c4,$ff,$aa
.byte $aa,$5a,$5c,$aa,$aa
.byte $aa,$7a,$7c,$aa,$aa
phys_run_left8:
.byte $5,$8
@ -219,7 +256,7 @@ phys_run_left8:
.byte $aa,$aa,$0b,$ba,$aa
.byte $aa,$4a,$44,$aa,$aa
.byte $aa,$44,$ac,$ca,$aa
.byte $af,$af,$5a,$5c,$aa
.byte $af,$af,$7a,$7c,$aa
phys_run_left9:
.byte $5,$8
@ -230,7 +267,7 @@ phys_run_left9:
.byte $aa,$aa,$00,$bb,$aa
.byte $aa,$aa,$44,$ca,$aa
.byte $aa,$44,$aa,$cc,$aa
.byte $fa,$f4,$aa,$5a,$5c
.byte $fa,$f4,$aa,$7a,$7c
;=====================

View File

@ -39,8 +39,16 @@ crouching:
walking:
lda GAIT
and #$f
cmp #40
bcc gait_fine ; blt
lda #0
sta GAIT
gait_fine:
lsr
and #$fe
tax
lda phys_walk_progression,X