mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-09-28 09:16:21 +00:00
peasant: work on jhonka ending
This commit is contained in:
@@ -36,9 +36,10 @@ jhonka_core.o: jhonka_core.s ../zp.inc ../hardware.inc ../qload.inc \
|
|||||||
../location_common/init_common.s \
|
../location_common/init_common.s \
|
||||||
sprites_jhonka/sprites_jhonka.inc \
|
sprites_jhonka/sprites_jhonka.inc \
|
||||||
sprites_jhonka/sprites_riches.inc \
|
sprites_jhonka/sprites_riches.inc \
|
||||||
|
sprites_jhonka/sprites_beat.inc \
|
||||||
../move_peasant_new.s ../draw_peasant_new.s \
|
../move_peasant_new.s ../draw_peasant_new.s \
|
||||||
../new_map_location.s ../keyboard.s \
|
../new_map_location.s ../keyboard.s \
|
||||||
../wait_a_bit.s borders.s \
|
../wait_a_bit.s borders.s jhonka_beat.s \
|
||||||
jhonka_actions.s draw_jhonka.s update_bg.s
|
jhonka_actions.s draw_jhonka.s update_bg.s
|
||||||
ca65 -o jhonka_core.o jhonka_core.s -l jhonka_core.lst
|
ca65 -o jhonka_core.o jhonka_core.s -l jhonka_core.lst
|
||||||
|
|
||||||
|
@@ -74,24 +74,44 @@ jhonka_y:
|
|||||||
.byte 121,121,121,124,124,124
|
.byte 121,121,121,124,124,124
|
||||||
|
|
||||||
sprites_xsize:
|
sprites_xsize:
|
||||||
.byte 5,5,6,6,5,6 ; jhonka0..jhonka5
|
.byte 5,5,6,6 ; jhonka0..jhonka3
|
||||||
|
.byte 5,5,6,6 ; jhonka4..jhonka7
|
||||||
|
.byte 5,6 ; jhonka8..jhonka9
|
||||||
|
|
||||||
sprites_ysize:
|
sprites_ysize:
|
||||||
.byte 24,26,26,23,31,24,24,26 ; jhonka0..jhonka5
|
.byte 24,26,26,23 ; jhonka0..jhonka3
|
||||||
|
.byte 24,26,26,23 ; jhonka4..jhonka7
|
||||||
|
.byte 31,24 ; jhonka8..jhonka9
|
||||||
|
|
||||||
|
; note: 6 never used?
|
||||||
|
|
||||||
|
; 0 = club on left, club down, knees bent
|
||||||
|
; 1 = club on left, club down, standing
|
||||||
|
; 2 = club on left, club out, standing
|
||||||
|
; 3 = club of left, club out, knees bent
|
||||||
|
; 4 = club on right, club down, knees bent
|
||||||
|
; 5 = club on right, club down, standing
|
||||||
|
; 6 = club on right, club out, standing
|
||||||
|
; 7 = club of right, club out, knees bent
|
||||||
|
; 8 = club on right, club raised
|
||||||
|
; 9 = club on right, club hitting
|
||||||
|
|
||||||
sprites_data_l:
|
sprites_data_l:
|
||||||
.byte <jhonka0_sprite,<jhonka1_sprite,<jhonka2_sprite
|
.byte <jhonka0_sprite,<jhonka1_sprite,<jhonka2_sprite,<jhonka3_sprite
|
||||||
.byte <jhonka3_sprite,<jhonka4_sprite,<jhonka5_sprite
|
.byte <jhonka4_sprite,<jhonka5_sprite,<jhonka6_sprite,<jhonka7_sprite
|
||||||
|
.byte <jhonka8_sprite,<jhonka9_sprite
|
||||||
|
|
||||||
sprites_data_h:
|
sprites_data_h:
|
||||||
.byte >jhonka0_sprite,>jhonka1_sprite,>jhonka2_sprite
|
.byte >jhonka0_sprite,>jhonka1_sprite,>jhonka2_sprite,>jhonka3_sprite
|
||||||
.byte >jhonka3_sprite,>jhonka4_sprite,>jhonka5_sprite
|
.byte >jhonka4_sprite,>jhonka5_sprite,>jhonka6_sprite,>jhonka7_sprite
|
||||||
|
.byte >jhonka8_sprite,>jhonka9_sprite
|
||||||
|
|
||||||
sprites_mask_l:
|
sprites_mask_l:
|
||||||
.byte <jhonka0_mask,<jhonka1_mask,<jhonka2_mask
|
.byte <jhonka0_mask,<jhonka1_mask,<jhonka2_mask,<jhonka3_mask
|
||||||
.byte <jhonka3_mask,<jhonka4_mask,<jhonka5_mask
|
.byte <jhonka4_mask,<jhonka5_mask,<jhonka6_mask,<jhonka7_mask
|
||||||
|
.byte <jhonka8_mask,<jhonka9_mask
|
||||||
|
|
||||||
sprites_mask_h:
|
sprites_mask_h:
|
||||||
.byte >jhonka0_mask,>jhonka1_mask,>jhonka2_mask
|
.byte >jhonka0_mask,>jhonka1_mask,>jhonka2_mask,>jhonka3_mask
|
||||||
.byte >jhonka3_mask,>jhonka4_mask,>jhonka5_mask
|
.byte >jhonka4_mask,>jhonka5_mask,>jhonka6_mask,>jhonka7_mask
|
||||||
|
.byte >jhonka8_mask,>jhonka9_mask
|
||||||
|
@@ -249,6 +249,17 @@ jhonka_verb_yes:
|
|||||||
|
|
||||||
; we don't need to restore verb table because we're dying?
|
; we don't need to restore verb table because we're dying?
|
||||||
|
|
||||||
|
|
||||||
|
ldx #<jhonka_yes_message
|
||||||
|
ldy #>jhonka_yes_message
|
||||||
|
jsr partial_message_step
|
||||||
|
|
||||||
|
jsr jhonka_beat
|
||||||
|
|
||||||
|
ldx #<jhonka_yes_message2
|
||||||
|
ldy #>jhonka_yes_message2
|
||||||
|
jsr finish_parse_message
|
||||||
|
|
||||||
; this kills you
|
; this kills you
|
||||||
lda #LOAD_GAME_OVER
|
lda #LOAD_GAME_OVER
|
||||||
sta WHICH_LOAD
|
sta WHICH_LOAD
|
||||||
@@ -256,13 +267,7 @@ jhonka_verb_yes:
|
|||||||
lda #NEW_FROM_DISK
|
lda #NEW_FROM_DISK
|
||||||
sta LEVEL_OVER
|
sta LEVEL_OVER
|
||||||
|
|
||||||
ldx #<jhonka_yes_message
|
rts
|
||||||
ldy #>jhonka_yes_message
|
|
||||||
jsr partial_message_step
|
|
||||||
|
|
||||||
ldx #<jhonka_yes_message2
|
|
||||||
ldy #>jhonka_yes_message2
|
|
||||||
jmp finish_parse_message
|
|
||||||
|
|
||||||
|
|
||||||
;=================
|
;=================
|
||||||
|
120
games/peasant/location_jhonka/jhonka_beat.s
Normal file
120
games/peasant/location_jhonka/jhonka_beat.s
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
;===================
|
||||||
|
; draw jhonka beat
|
||||||
|
;===================
|
||||||
|
; draw jhonka as he beats us up
|
||||||
|
|
||||||
|
; you say "yes"
|
||||||
|
; prints the "I KILL YOU" message, while still jumping?
|
||||||
|
; Jhonka/you initial position X=112,87
|
||||||
|
; flips left/right somehow
|
||||||
|
; 0 arm out, X=140 Y=113
|
||||||
|
; 1 arm out, X=140 Y=122
|
||||||
|
; 2 club down, X=126, Y=116
|
||||||
|
; 3 arm out, X=126 Y=107
|
||||||
|
; 4 arm out,knees bent X=133, Y=99
|
||||||
|
; 5 again, X=126 Y=96
|
||||||
|
; 6 club down, knees bent, X=126 Y=95
|
||||||
|
; 7 attack1, X=119, Y=88
|
||||||
|
; 8 attack2, X=119, Y=87 peasant=1, 105,86
|
||||||
|
; 9 attack1, X=119, Y=88 peasant=1, 105,86
|
||||||
|
;10 attack2, X=119, Y=87 peasant=2, 105,88
|
||||||
|
;11 attack1, X=119, Y=88 peasant=2, 105,88
|
||||||
|
;12 attack2, X=119, Y=87 peasant=3, 105,90
|
||||||
|
;13 attack1, X=119, Y=88 peasant=3, 105,90
|
||||||
|
;14 attack2, X=119, Y=87 peasant=4, 105,95
|
||||||
|
;15 attack1, X=119, Y=88 peasant=4, 105,95
|
||||||
|
;16 attack2, X=119, Y=87 peasant=5, 98,103
|
||||||
|
;17 attack1, X=119, Y=88 peasant=5, 98,103
|
||||||
|
; then leave showing as print message
|
||||||
|
|
||||||
|
|
||||||
|
jhonka_beat:
|
||||||
|
lda #0
|
||||||
|
sta BEAT_COUNT
|
||||||
|
|
||||||
|
lda #SUPPRESS_JHONKA
|
||||||
|
sta SUPPRESS_DRAWING
|
||||||
|
|
||||||
|
beat_loop:
|
||||||
|
|
||||||
|
jsr update_screen
|
||||||
|
|
||||||
|
; draw peasant if needed
|
||||||
|
|
||||||
|
; draw jhonka
|
||||||
|
|
||||||
|
ldy BEAT_COUNT
|
||||||
|
|
||||||
|
lda beat_x,Y
|
||||||
|
sta SPRITE_X
|
||||||
|
lda beat_y,Y
|
||||||
|
sta SPRITE_Y
|
||||||
|
|
||||||
|
ldx beat_which,Y
|
||||||
|
|
||||||
|
jsr hgr_draw_sprite_mask
|
||||||
|
|
||||||
|
jsr hgr_page_flip
|
||||||
|
|
||||||
|
jsr wait_until_keypress
|
||||||
|
|
||||||
|
;=========================
|
||||||
|
; move to next frame
|
||||||
|
|
||||||
|
inc BEAT_COUNT
|
||||||
|
|
||||||
|
lda BEAT_COUNT
|
||||||
|
cmp #18
|
||||||
|
bne beat_loop
|
||||||
|
|
||||||
|
done_beat:
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta SUPPRESS_DRAWING
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
; 0 arm out, X=140 Y=113
|
||||||
|
; 1 arm out, X=140 Y=122
|
||||||
|
; 2 club down, X=126, Y=116
|
||||||
|
; 3 arm out, X=126 Y=107
|
||||||
|
; 4 arm out,knees bent X=133, Y=99
|
||||||
|
; 5 again, X=126 Y=96
|
||||||
|
; 6 club down, knees bent, X=126 Y=95
|
||||||
|
; 7 attack1, X=119, Y=88
|
||||||
|
; 8 attack2, X=119, Y=87 peasant=1, 105,86
|
||||||
|
; 9 attack1, X=119, Y=88 peasant=1, 105,86
|
||||||
|
;10 attack2, X=119, Y=87 peasant=2, 105,88
|
||||||
|
;11 attack1, X=119, Y=88 peasant=2, 105,88
|
||||||
|
;12 attack2, X=119, Y=87 peasant=3, 105,90
|
||||||
|
;13 attack1, X=119, Y=88 peasant=3, 105,90
|
||||||
|
;14 attack2, X=119, Y=87 peasant=4, 105,95
|
||||||
|
;15 attack1, X=119, Y=88 peasant=4, 105,95
|
||||||
|
;16 attack2, X=119, Y=87 peasant=5, 98,103
|
||||||
|
;17 attack1, X=119, Y=88 peasant=5, 98,103
|
||||||
|
|
||||||
|
beat_x:
|
||||||
|
.byte 20,20,18,18, 19,18,18,17
|
||||||
|
.byte 17,17,17,17, 17,17,17,17
|
||||||
|
.byte 17,17
|
||||||
|
|
||||||
|
beat_y:
|
||||||
|
.byte 113,122,116,107, 99,96,95,88
|
||||||
|
.byte 87, 88, 87, 88, 87,88,87,88
|
||||||
|
.byte 87, 88
|
||||||
|
|
||||||
|
|
||||||
|
beat_which:
|
||||||
|
.byte 7,7,4,5, 7,7,4,8
|
||||||
|
.byte 9,8,9,8, 9,8,9,8
|
||||||
|
.byte 9,8
|
||||||
|
|
||||||
|
; note: 6 never used?
|
||||||
|
|
||||||
|
; 4 = club on right, club down, knees bent
|
||||||
|
; 5 = club on right, club down, standing
|
||||||
|
; 6 = club on right, club out, standing
|
||||||
|
; 7 = club of right, club out, knees bent
|
||||||
|
; 8 = club on right, club raised
|
||||||
|
; 9 = club on right, club hitting
|
||||||
|
|
@@ -173,7 +173,9 @@ really_level_over:
|
|||||||
.include "draw_jhonka.s"
|
.include "draw_jhonka.s"
|
||||||
.include "sprites_jhonka/sprites_jhonka.inc"
|
.include "sprites_jhonka/sprites_jhonka.inc"
|
||||||
.include "sprites_jhonka/sprites_riches.inc"
|
.include "sprites_jhonka/sprites_riches.inc"
|
||||||
|
.include "sprites_jhonka/sprites_beat.inc"
|
||||||
.include "update_bg.s"
|
.include "update_bg.s"
|
||||||
|
.include "jhonka_beat.s"
|
||||||
|
|
||||||
USE_BG_PALETTE=1
|
USE_BG_PALETTE=1
|
||||||
.include "../hgr_routines/hgr_sprite_mask.s"
|
.include "../hgr_routines/hgr_sprite_mask.s"
|
||||||
@@ -192,13 +194,22 @@ update_screen:
|
|||||||
jsr hgr_copy_faster
|
jsr hgr_copy_faster
|
||||||
|
|
||||||
;=====================
|
;=====================
|
||||||
; always draw peasant
|
; draw peasant
|
||||||
|
|
||||||
|
lda SUPPRESS_DRAWING
|
||||||
|
and #SUPPRESS_PEASANT
|
||||||
|
bne skip_draw_peasant
|
||||||
jsr draw_peasant
|
jsr draw_peasant
|
||||||
|
skip_draw_peasant:
|
||||||
|
|
||||||
;=====================
|
;=====================
|
||||||
; draw jhonka
|
; draw jhonka
|
||||||
|
|
||||||
|
lda SUPPRESS_DRAWING
|
||||||
|
and #SUPPRESS_JHONKA
|
||||||
|
bne skip_draw_jhonka
|
||||||
|
|
||||||
jsr draw_jhonka
|
jsr draw_jhonka
|
||||||
|
skip_draw_jhonka:
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
HGR_SPRITE = ../../../../utils/hgr-utils/hgr_make_sprite
|
HGR_SPRITE = ../../../../utils/hgr-utils/hgr_make_sprite
|
||||||
|
|
||||||
all: sprites_jhonka.inc sprites_riches.inc
|
all: sprites_jhonka.inc sprites_riches.inc sprites_beat.inc
|
||||||
|
|
||||||
|
|
||||||
sprites_jhonka.inc: sprites_jhonka.png
|
sprites_jhonka.inc: sprites_jhonka.png
|
||||||
@@ -9,19 +9,36 @@ sprites_jhonka.inc: sprites_jhonka.png
|
|||||||
$(HGR_SPRITE) -l jhonka1_sprite sprites_jhonka.png 56 31 90 57 >> sprites_jhonka.inc
|
$(HGR_SPRITE) -l jhonka1_sprite sprites_jhonka.png 56 31 90 57 >> sprites_jhonka.inc
|
||||||
$(HGR_SPRITE) -l jhonka2_sprite sprites_jhonka.png 98 31 139 57 >> sprites_jhonka.inc
|
$(HGR_SPRITE) -l jhonka2_sprite sprites_jhonka.png 98 31 139 57 >> sprites_jhonka.inc
|
||||||
$(HGR_SPRITE) -l jhonka3_sprite sprites_jhonka.png 154 34 195 57 >> sprites_jhonka.inc
|
$(HGR_SPRITE) -l jhonka3_sprite sprites_jhonka.png 154 34 195 57 >> sprites_jhonka.inc
|
||||||
$(HGR_SPRITE) -l jhonka4_sprite sprites_jhonka.png 14 121 48 152 >> sprites_jhonka.inc
|
$(HGR_SPRITE) -l jhonka8_sprite sprites_jhonka.png 14 121 48 152 >> sprites_jhonka.inc
|
||||||
$(HGR_SPRITE) -l jhonka5_sprite sprites_jhonka.png 49 128 90 152 >> sprites_jhonka.inc
|
$(HGR_SPRITE) -l jhonka9_sprite sprites_jhonka.png 49 128 90 152 >> sprites_jhonka.inc
|
||||||
$(HGR_SPRITE) -l jhonka0_mask sprites_jhonka.png 14 62 48 86 >> sprites_jhonka.inc
|
$(HGR_SPRITE) -l jhonka0_mask sprites_jhonka.png 14 62 48 86 >> sprites_jhonka.inc
|
||||||
$(HGR_SPRITE) -l jhonka1_mask sprites_jhonka.png 56 60 90 86 >> sprites_jhonka.inc
|
$(HGR_SPRITE) -l jhonka1_mask sprites_jhonka.png 56 60 90 86 >> sprites_jhonka.inc
|
||||||
$(HGR_SPRITE) -l jhonka2_mask sprites_jhonka.png 98 60 139 86 >> sprites_jhonka.inc
|
$(HGR_SPRITE) -l jhonka2_mask sprites_jhonka.png 98 60 139 86 >> sprites_jhonka.inc
|
||||||
$(HGR_SPRITE) -l jhonka3_mask sprites_jhonka.png 154 63 195 86 >> sprites_jhonka.inc
|
$(HGR_SPRITE) -l jhonka3_mask sprites_jhonka.png 154 63 195 86 >> sprites_jhonka.inc
|
||||||
$(HGR_SPRITE) -l jhonka4_mask sprites_jhonka.png 14 154 48 185 >> sprites_jhonka.inc
|
$(HGR_SPRITE) -l jhonka8_mask sprites_jhonka.png 14 154 48 185 >> sprites_jhonka.inc
|
||||||
$(HGR_SPRITE) -l jhonka5_mask sprites_jhonka.png 49 161 90 185 >> sprites_jhonka.inc
|
$(HGR_SPRITE) -l jhonka9_mask sprites_jhonka.png 49 161 90 185 >> sprites_jhonka.inc
|
||||||
|
|
||||||
sprites_riches.inc: sprites_riches.png
|
sprites_riches.inc: sprites_riches.png
|
||||||
$(HGR_SPRITE) -s -l nostack_sprite sprites_riches.png 154 55 181 72 > sprites_riches.inc
|
$(HGR_SPRITE) -s -l nostack_sprite sprites_riches.png 154 55 181 72 > sprites_riches.inc
|
||||||
$(HGR_SPRITE) -s -l riches_sprite sprites_riches.png 91 100 139 126 >> sprites_riches.inc
|
$(HGR_SPRITE) -s -l riches_sprite sprites_riches.png 91 100 139 126 >> sprites_riches.inc
|
||||||
|
|
||||||
clean:
|
sprites_beat.inc: sprites_beaten.png
|
||||||
rm -f *~ sprites_jhonka.inc
|
$(HGR_SPRITE) -s -l smash1_sprite sprites_beaten.png 98 88 111 119 > sprites_beat.inc
|
||||||
|
$(HGR_SPRITE) -s -l smash2_sprite sprites_beaten.png 126 91 139 119 >> sprites_beat.inc
|
||||||
|
$(HGR_SPRITE) -s -l smash3_sprite sprites_beaten.png 154 93 167 119 >> sprites_beat.inc
|
||||||
|
$(HGR_SPRITE) -s -l smash4_sprite sprites_beaten.png 182 98 195 119 >> sprites_beat.inc
|
||||||
|
$(HGR_SPRITE) -s -l smash5_sprite sprites_beaten.png 203 106 223 119 >> sprites_beat.inc
|
||||||
|
$(HGR_SPRITE) -l jhonka4_sprite sprites_beaten.png 14 33 48 57 >> sprites_beat.inc
|
||||||
|
$(HGR_SPRITE) -l jhonka5_sprite sprites_beaten.png 56 31 90 57 >> sprites_beat.inc
|
||||||
|
$(HGR_SPRITE) -l jhonka6_sprite sprites_beaten.png 98 31 139 57 >> sprites_beat.inc
|
||||||
|
$(HGR_SPRITE) -l jhonka7_sprite sprites_beaten.png 154 34 195 57 >> sprites_beat.inc
|
||||||
|
$(HGR_SPRITE) -l jhonka4_mask sprites_beaten.png 14 62 48 86 >> sprites_beat.inc
|
||||||
|
$(HGR_SPRITE) -l jhonka5_mask sprites_beaten.png 56 60 90 86 >> sprites_beat.inc
|
||||||
|
$(HGR_SPRITE) -l jhonka6_mask sprites_beaten.png 98 60 139 86 >> sprites_beat.inc
|
||||||
|
$(HGR_SPRITE) -l jhonka7_mask sprites_beaten.png 154 63 195 86 >> sprites_beat.inc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ sprites_jhonka.inc sprites_riches.inc sprites_beat.inc
|
||||||
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
@@ -342,6 +342,7 @@ SUPPRESS_DRAWING=$C5 ; don't draw peasant
|
|||||||
CUSTOM_PEASANT= $08
|
CUSTOM_PEASANT= $08
|
||||||
SUPPRESS_KEEPER= $10
|
SUPPRESS_KEEPER= $10
|
||||||
SUPPRESS_ARROW = $20
|
SUPPRESS_ARROW = $20
|
||||||
|
SUPPRESS_JHONKA = $40
|
||||||
|
|
||||||
SAVED_Y1 = $C7 ; climb (for now)
|
SAVED_Y1 = $C7 ; climb (for now)
|
||||||
SAVED_Y2 = $C8 ; climb
|
SAVED_Y2 = $C8 ; climb
|
||||||
@@ -362,6 +363,7 @@ SLEEP_COUNT = $C9 ; trogdor
|
|||||||
MUD_COUNT = $C9 ; puddle
|
MUD_COUNT = $C9 ; puddle
|
||||||
HAY_JUMP_COUNT = $C9 ; hay
|
HAY_JUMP_COUNT = $C9 ; hay
|
||||||
|
|
||||||
|
BEAT_COUNT = $CA ; jhonka
|
||||||
BUCKET_STATE = $CA ; well
|
BUCKET_STATE = $CA ; well
|
||||||
IN_QUIZ = $CA ; outer1/2/3,jhonka
|
IN_QUIZ = $CA ; outer1/2/3,jhonka
|
||||||
GARY_COUNT = $CA ; gary
|
GARY_COUNT = $CA ; gary
|
||||||
|
Reference in New Issue
Block a user