From aaa58d36a6652df160701003fcbff7eac6576df6 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 28 May 2025 15:38:06 +0200 Subject: [PATCH] No level but time! --- art/tu.fnt | Bin 1024 -> 1024 bytes lumber.asm | 92 +++++++++++++++++++++++++++++++++++++++++------------ lumber.xex | Bin 30514 -> 30620 bytes 3 files changed, 72 insertions(+), 20 deletions(-) diff --git a/art/tu.fnt b/art/tu.fnt index 29a52a8d5dfa7d7e60db18ac2167c07160395d24..f3382eaf30b1e5a1eb2b2845b7f39294d882ec7e 100644 GIT binary patch delta 18 XcmZqRXyBM|k$u&+X&|)mh6XbLPf`fO delta 18 YcmZqRXyBM|k^R*zAov@)@rDL709hLe(EtDd diff --git a/lumber.asm b/lumber.asm index 04bd000..64e3d5d 100644 --- a/lumber.asm +++ b/lumber.asm @@ -34,7 +34,6 @@ display = $a000 .zpvar PowerDownSpeed .byte .zpvar PowerSpeedIndex .byte .zpvar SpeedTableAdr .word - .zpvar LevelValue .byte .zpvar Difficulty .byte ; 0 - normal, 1 - easy .zpvar LumberjackDir .byte ; 2 - on left , 1 - on right .zpvar PaddleState .byte @@ -188,7 +187,7 @@ Power = power_bar+32+10 gamescreen_middle .ds 32*18 ; 18 lines screen_score = gamescreen_middle+6*32+14 -screen_level = gamescreen_middle+9*32+13 +screen_level = gamescreen_middle+9*32+12 ;--------------------------------------------------- GameColors .ds 64 @@ -365,6 +364,11 @@ is_PAL cmp #1 bne wait_for_timer ; only during game + ; time up + bit TimeCount + bpl time_stopped + jsr LevelUp +time_stopped ; power down dec PowerTimer bne wait_for_timer @@ -1226,6 +1230,7 @@ EndOfOverScreen .proc PlayLevel ;-------------------------------------------------- jsr PrepareLevelPM + mva #$ff TimeCount ; start time loop ; PUT GAME HERE lda branches_list+5 @@ -1246,7 +1251,7 @@ key_released_before bne NoNextLevel ; next level if joy UP sta LastKey - jsr LevelUp + ;jsr LevelUp NoNextLevel No_keys lda PowerValue @@ -1323,6 +1328,7 @@ no_brancho_l jsr AnimationL1 jmp go_loop LevelDeath + mva #0 TimeCount ; stop time jsr SetRIPscreen RMTsong song_game_over @ @@ -1482,6 +1488,7 @@ no_branch_l jsr draw_PowerBar mva #1 LumberjackDir ; right side mva #0 Difficulty ; level normal + mva #0 TimeCount ; time stopped ;jsr PrepareLevelPM ;jsr PrepareBirdsPM @@ -2300,8 +2307,7 @@ branches_anim_phase ; from 0 to 4 score dta d"0000" level - dta $1a, $1b, $1c, $1b, $1a, $A4 - dta d"1" + dta d"00", $1a, d"00", $1a, d"00" EyesPhase .ds 1 FootPhase @@ -2310,6 +2316,8 @@ AnimTimer .ds 1 FootTimer .ds 1 +TimeCount + .ds 1 ; 00 - time stopped , $ff - time count ;-------------------------------------------------- .proc MenuAnimationsReset ;-------------------------------------------------- @@ -2367,7 +2375,6 @@ no_speed_power lda #"0" ; 0 character code sta score+2 jsr PowerSpeedUP ; every 50pts. - jsr LevelUp ; every 100pts. inc score+1 lda score+1 cmp #"9"+1 ; 9+1 character code @@ -2401,11 +2408,7 @@ ScoreReady ;-------------------------------------------------- .proc LevelToScreen ;-------------------------------------------------- - lda LevelValue - clc - adc #"0" - sta screen_level+6 - ldx #5 + ldx #7 @ lda level,x sta screen_level,x dex @@ -2416,9 +2419,15 @@ ScoreReady .proc LevelReset ;-------------------------------------------------- ; set level to 1 and PowerDownSpeed to ?? - mvy #1 LevelValue - dey - sty PowerSpeedIndex + lda #"0" + sta level + sta level+1 + sta level+3 + sta level+4 + sta level+6 + sta level+7 + + mvy #0 PowerSpeedIndex lda (SpeedTableAdr),y sta PowerDownSpeed jsr LevelToScreen @@ -2427,12 +2436,55 @@ ScoreReady ;-------------------------------------------------- .proc LevelUp ;-------------------------------------------------- - inc LevelValue - lda LevelValue - cmp #10 - bne not_max_lev - mva #9 LevelValue -not_max_lev + lda #"0" ; for speed + ldx level+7 + inx + inx + cpx #"9"+1 + bcs next_digit6 + stx level+7 + bne to_screen +next_digit6 + tax ; "0" + stx level+7 + ldx level+6 + inx + cpx #"9"+1 + bcs next_digit4 + stx level+6 + bne to_screen +next_digit4 + tax ; "0" + stx level+6 + ldx level+4 + inx + cpx #"9"+1 + bcs next_digit3 + stx level+4 + bne to_screen +next_digit3 + tax ; "0" + stx level+4 + ldx level+3 + inx + cpx #"6" + bcs next_digit1 + stx level+3 + bne to_screen +next_digit1 + tax ; "0" + stx level+3 + ldx level+1 + inx + cpx #"9"+1 + bcs next_digit0 + stx level+1 + bne to_screen +next_digit0 + tax ; "0" + stx level+1 + inc level +to_screen jsr LevelToScreen rts .endp diff --git a/lumber.xex b/lumber.xex index 5dd33684c4669ba6cb46827cb44c9d45f2bf5895..4bcc035b473afcd3197d4d050d3595e82982111b 100644 GIT binary patch delta 4603 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