mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-21 21:35:16 +02:00
Statusbar display improvements - robo-tanks.
This commit is contained in:
+2
-2
@@ -405,9 +405,9 @@ RoboTanks
|
|||||||
; robotanks shoot here
|
; robotanks shoot here
|
||||||
jsr ArtificialIntelligence
|
jsr ArtificialIntelligence
|
||||||
jsr PutTankNameOnScreen
|
jsr PutTankNameOnScreen
|
||||||
|
jsr DisplayStatus
|
||||||
ldx TankNr
|
ldx TankNr
|
||||||
jsr MoveBarrelToNewPosition
|
jsr MoveBarrelToNewPosition
|
||||||
;jsr DisplayStatus ;all digital values like force, angle, wind, etc. (but it is done in MoveBarrelToNewPosition proc)
|
|
||||||
lda kbcode
|
lda kbcode
|
||||||
cmp #28 ; ESC
|
cmp #28 ; ESC
|
||||||
bne @+
|
bne @+
|
||||||
@@ -1147,7 +1147,7 @@ LimitForce
|
|||||||
.proc MoveBarrelToNewPosition
|
.proc MoveBarrelToNewPosition
|
||||||
jsr DrawTankNr
|
jsr DrawTankNr
|
||||||
ldx TankNr
|
ldx TankNr
|
||||||
jsr DisplayStatus
|
jsr DisplayStatus.displayAngle
|
||||||
ldx TankNr
|
ldx TankNr
|
||||||
lda NewAngle
|
lda NewAngle
|
||||||
cmp AngleTable,x
|
cmp AngleTable,x
|
||||||
|
|||||||
BIN
Binary file not shown.
+50
-51
@@ -1887,57 +1887,6 @@ ActiveDefence
|
|||||||
NoDefenceWeapon
|
NoDefenceWeapon
|
||||||
NoShieldEnergy
|
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
|
;display Wind
|
||||||
;=========================
|
;=========================
|
||||||
@@ -1975,6 +1924,56 @@ DisplayWindValue
|
|||||||
sta decimal
|
sta decimal
|
||||||
mwa #textbuffer+80+7 displayposition
|
mwa #textbuffer+80+7 displayposition
|
||||||
jsr displaybyte ;decimal (byte), displayposition (word)
|
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
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
|||||||
Reference in New Issue
Block a user