mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-21 06:39:46 +02:00
Statusbar display improvements - robo-tanks.
This commit is contained in:
+2
-2
@@ -405,9 +405,9 @@ RoboTanks
|
||||
; robotanks shoot here
|
||||
jsr ArtificialIntelligence
|
||||
jsr PutTankNameOnScreen
|
||||
jsr DisplayStatus
|
||||
ldx TankNr
|
||||
jsr MoveBarrelToNewPosition
|
||||
;jsr DisplayStatus ;all digital values like force, angle, wind, etc. (but it is done in MoveBarrelToNewPosition proc)
|
||||
lda kbcode
|
||||
cmp #28 ; ESC
|
||||
bne @+
|
||||
@@ -1147,7 +1147,7 @@ LimitForce
|
||||
.proc MoveBarrelToNewPosition
|
||||
jsr DrawTankNr
|
||||
ldx TankNr
|
||||
jsr DisplayStatus
|
||||
jsr DisplayStatus.displayAngle
|
||||
ldx TankNr
|
||||
lda NewAngle
|
||||
cmp AngleTable,x
|
||||
|
||||
BIN
Binary file not shown.
+50
-51
@@ -1887,57 +1887,6 @@ ActiveDefence
|
||||
NoDefenceWeapon
|
||||
NoShieldEnergy
|
||||
|
||||
;=========================
|
||||
;display Force
|
||||
;=========================
|
||||
ldx TankNr
|
||||
lda ForceTableL,x
|
||||
sta decimal
|
||||
lda ForceTableH,x
|
||||
sta decimal+1
|
||||
mwa #textbuffer+40+36 displayposition
|
||||
jsr displaydec
|
||||
|
||||
;=========================
|
||||
;display Angle
|
||||
;=========================
|
||||
; additionally we are getting charcode of the tank
|
||||
; (for future display)
|
||||
ldx TankNr
|
||||
lda AngleTable,x
|
||||
cmp #90
|
||||
beq VerticallyUp
|
||||
bcs AngleToLeft
|
||||
AngleToRight
|
||||
; now we have values from 0 to 89 and right angle
|
||||
sta decimal
|
||||
lda #$7f ; (tab) character
|
||||
sta textbuffer+40+25
|
||||
lda #0 ;space
|
||||
sta textbuffer+40+22
|
||||
beq AngleDisplay
|
||||
AngleToLeft
|
||||
sec
|
||||
lda #180
|
||||
sbc AngleTable,x
|
||||
; angles 180 - 91 converted to 0 - 89
|
||||
sta decimal
|
||||
lda #$7e ;(del) char
|
||||
sta textbuffer+40+22
|
||||
lda #0 ;space
|
||||
sta textbuffer+40+25
|
||||
beq AngleDisplay
|
||||
VerticallyUp
|
||||
; now we have value 90
|
||||
sta decimal
|
||||
lda #0 ;space
|
||||
sta textbuffer+40+25
|
||||
sta textbuffer+40+22
|
||||
|
||||
AngleDisplay
|
||||
mwa #textbuffer+40+23 displayposition
|
||||
jsr displaybyte
|
||||
|
||||
;=========================
|
||||
;display Wind
|
||||
;=========================
|
||||
@@ -1975,6 +1924,56 @@ DisplayWindValue
|
||||
sta decimal
|
||||
mwa #textbuffer+80+7 displayposition
|
||||
jsr displaybyte ;decimal (byte), displayposition (word)
|
||||
|
||||
;=========================
|
||||
;display Force
|
||||
;=========================
|
||||
ldx TankNr
|
||||
lda ForceTableL,x
|
||||
sta decimal
|
||||
lda ForceTableH,x
|
||||
sta decimal+1
|
||||
mwa #textbuffer+40+36 displayposition
|
||||
jsr displaydec
|
||||
|
||||
;=========================
|
||||
;display Angle
|
||||
;=========================
|
||||
displayAngle
|
||||
ldx TankNr
|
||||
lda AngleTable,x
|
||||
cmp #90
|
||||
beq VerticallyUp
|
||||
bcs AngleToLeft
|
||||
AngleToRight
|
||||
; now we have values from 0 to 89 and right angle
|
||||
sta decimal
|
||||
lda #$7f ; (tab) character
|
||||
sta textbuffer+40+25
|
||||
lda #0 ;space
|
||||
sta textbuffer+40+22
|
||||
beq AngleDisplay
|
||||
AngleToLeft
|
||||
sec
|
||||
lda #180
|
||||
sbc AngleTable,x
|
||||
; angles 180 - 91 converted to 0 - 89
|
||||
sta decimal
|
||||
lda #$7e ;(del) char
|
||||
sta textbuffer+40+22
|
||||
lda #0 ;space
|
||||
sta textbuffer+40+25
|
||||
beq AngleDisplay
|
||||
VerticallyUp
|
||||
; now we have value 90
|
||||
sta decimal
|
||||
lda #0 ;space
|
||||
sta textbuffer+40+25
|
||||
sta textbuffer+40+22
|
||||
|
||||
AngleDisplay
|
||||
mwa #textbuffer+40+23 displayposition
|
||||
jsr displaybyte
|
||||
|
||||
rts
|
||||
.endp
|
||||
|
||||
Reference in New Issue
Block a user