From a01af2a6087a1fe923f5e83961dd938ee8d79cda Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 27 Jul 2022 20:55:14 +0200 Subject: [PATCH] New (drawto) barrels finished --- artwork/tanksv2.fnt | Bin 1024 -> 1024 bytes constants.asm | 42 +++++++++++++++++++++--------------------- grafproc.asm | 20 ++++++++++---------- scorch.xex | Bin 41505 -> 41312 bytes 4 files changed, 31 insertions(+), 31 deletions(-) diff --git a/artwork/tanksv2.fnt b/artwork/tanksv2.fnt index 8adfc4ee614183145db82050b05b142f90dbcafc..d4461acd915c8788d08427a9ea276436bd52186f 100644 GIT binary patch delta 42 pcmZqRXyDk;!XznE_kZ<&AZTQO0E@c+SHb+rjZ7h%KQi$%0sxi;6G#96 delta 16 XcmZqRXyDk;!ZewcId}6%CVoZ$Elvdm diff --git a/constants.asm b/constants.asm index 9fdcd72..8a6322f 100644 --- a/constants.asm +++ b/constants.asm @@ -203,29 +203,29 @@ SlideLeftTable ;----------------------------------------------------------- ; this table changes Angle to the appropriate tank character -BarrelTable - - .by $2C,$2C,$2C,$2C,$2C,$2C,$2C,$2C,$2A,$2A, - .by $2A,$2A,$2A,$2A,$2A,$2A,$28,$28,$28,$28, - .by $28,$28,$28,$28,$28,$26,$26,$26,$26,$26, - .by $26,$26,$26,$24,$24,$24,$24,$24,$24,$24, - .by $24,$22,$22,$22,$22,$22,$22,$22,$22,$22, - .by $20,$20,$20,$20,$20,$20,$20,$20,$1E,$1E, - .by $1E,$1E,$1E,$1E,$1E,$1E,$1C,$1C,$1C,$1C, - .by $1C,$1C,$1C,$1C,$1C,$1A,$1A,$1A,$1A,$1A, - .by $1A,$1A,$1A,$18,$18,$18,$18,$18,$18,$18, +;BarrelTable +; +; .by $2C,$2C,$2C,$2C,$2C,$2C,$2C,$2C,$2A,$2A, +; .by $2A,$2A,$2A,$2A,$2A,$2A,$28,$28,$28,$28, +; .by $28,$28,$28,$28,$28,$26,$26,$26,$26,$26, +; .by $26,$26,$26,$24,$24,$24,$24,$24,$24,$24, +; .by $24,$22,$22,$22,$22,$22,$22,$22,$22,$22, +; .by $20,$20,$20,$20,$20,$20,$20,$20,$1E,$1E, +; .by $1E,$1E,$1E,$1E,$1E,$1E,$1C,$1C,$1C,$1C, +; .by $1C,$1C,$1C,$1C,$1C,$1A,$1A,$1A,$1A,$1A, +; .by $1A,$1A,$1A,$18,$18,$18,$18,$18,$18,$18, ;.by $18, - .by $16,$16,$16,$16,$16,$16,$16,$16,$14,$14, - .by $14,$14,$14,$14,$14,$14,$12,$12,$12,$12, - .by $12,$12,$12,$12,$12,$10,$10,$10,$10,$10, - .by $10,$10,$10,$0E,$0E,$0E,$0E,$0E,$0E,$0E, - .by $0E,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C, - .by $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A,$08,$08, - .by $08,$08,$08,$08,$08,$08,$06,$06,$06,$06, - .by $06,$06,$06,$06,$06,$04,$04,$04,$04,$04, - .by $04,$04,$04,$02,$02,$02,$02,$02,$02,$02, - .by $02, +; .by $16,$16,$16,$16,$16,$16,$16,$16,$14,$14, +; .by $14,$14,$14,$14,$14,$14,$12,$12,$12,$12, +; .by $12,$12,$12,$12,$12,$10,$10,$10,$10,$10, +; .by $10,$10,$10,$0E,$0E,$0E,$0E,$0E,$0E,$0E, +; .by $0E,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C, +; .by $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A,$08,$08, +; .by $08,$08,$08,$08,$08,$08,$06,$06,$06,$06, +; .by $06,$06,$06,$06,$06,$04,$04,$04,$04,$04, +; .by $04,$04,$04,$02,$02,$02,$02,$02,$02,$02, +; .by $02, ;EndOfTheBarrelX ; ; right angles from 0 (horizontally right) to 90 (up) diff --git a/grafproc.asm b/grafproc.asm index f37a81d..1ab02eb 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -632,9 +632,12 @@ SkipHidingPM lda AngleTable,x - tay - lda BarrelTable,y - sta CharCode + ldy #$50 ; left tank + cmp #91 ; left or right tank shape + bcs LeftTank + ldy #$52 ; right tank +LeftTank + sty CharCode DrawTankNrX ldx tanknr jsr SetupXYdraw @@ -1912,7 +1915,6 @@ X lda XtanksTableL,x ; X - tankNr ; changes xdraw, ydraw, fx, fy ;-------------------------------------------------- - jsr SetupXYdraw ;vx calculation ;vx = sin(90-Angle) for Angle <=90 ;vx = -sin(Angle-90) for 90 < Angle <= 180 @@ -1946,8 +1948,7 @@ X lda XtanksTableL,x sbc #90 tax ; barrel start offset over 90deg - adw xdraw #6 xdraw - sbw ydraw #2 ydraw + adw xdraw #5 xdraw mva #1 goleft bpl @+ ; jmp @+ @@ -1957,11 +1958,10 @@ angleUnder90 sbc Angle tax ; barrel start offset under 90deg - adw xdraw #1 xdraw - sbw ydraw #2 ydraw + adw xdraw #3 xdraw - @ + sbw ydraw #3 ydraw lda sintable,x ; cos(X) sta vx @@ -1994,7 +1994,7 @@ YangleUnder90 ; 2. add vx and vy to 3 byte variables xdraw.fx, ydraw.fy ; 3 check length, if shorter, go to 1. - mva #20 yc ; barrel length + mva #5 yc ; barrel length barrelLoop lda goleft diff --git a/scorch.xex b/scorch.xex index b1adb604bb890face5a958fd1f32dd548b69f3e5..5dbb2317d1bb40b88efd8c52b335f1cae5223bee 100644 GIT binary patch delta 14086 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 pcU<$l()sKRKL<-nV