mirror of
https://github.com/Pecusx/scorch_src.git
synced 2026-05-20 22:33:43 +02:00
VU Meter after 10s. :)
This commit is contained in:
@@ -139,6 +139,16 @@
|
||||
pla
|
||||
tay
|
||||
.endm
|
||||
;-------------------------------------
|
||||
.macro txy
|
||||
txa
|
||||
tay
|
||||
.endm
|
||||
;-------------------------------------
|
||||
.macro tyx
|
||||
tya
|
||||
tax
|
||||
.endm
|
||||
;-------------------------------------
|
||||
.macro pause
|
||||
;waits :1 number (byte) of frames
|
||||
|
||||
@@ -161,7 +161,7 @@ APPMHI EQU $0E ;APPL MEM HI LIMIT
|
||||
;
|
||||
POKMSK EQU $10 ;MASK POKEY IRQ
|
||||
BRKKEY EQU $11 ;BREAK KEY FLAG
|
||||
RTCLOK EQU $12 ;REAL TIME CLOCK
|
||||
RTCLOK EQU $13 ;REAL TIME CLOCK (only 2 bytes without $12 !!!)
|
||||
BUFADR EQU $15 ;INDIRECT BUFF ADDR
|
||||
ICCOMT EQU $17 ;COMMAND FOR VECTOR
|
||||
DSKFMS EQU $18 ;FMS POINTER
|
||||
|
||||
@@ -27,6 +27,8 @@ space = 0 ; space in screencodes
|
||||
KeyRepeatSpeed = 8 ; (max 127 !!!)
|
||||
FirstKeySpeed = 8 ; additional delay for first keypress
|
||||
|
||||
VuMeterTime = 2 ; Time of inactivity for VU Meter (1=5sec)
|
||||
|
||||
;character codes for symbols (tank, parachute, etc. )
|
||||
; characters from tanks.fnt (graphics screen)
|
||||
char_parachute = $02
|
||||
|
||||
@@ -1430,4 +1430,53 @@ FinishResultDisplay
|
||||
jmp TypeLine4x4 ; jsr:rts
|
||||
.endp
|
||||
|
||||
.IF VU_METER = 1
|
||||
.proc VUMeter
|
||||
; No VUMeter if key pressed
|
||||
jsr GetKeyFast
|
||||
cmp #@kbcode._none
|
||||
bne EndMeter
|
||||
; check timer
|
||||
lda RTCLOK
|
||||
cmp #VuMeterTime
|
||||
bne EndMeter
|
||||
; store all angles
|
||||
ldx NumberOfPlayers
|
||||
@ lda AngleTable,x
|
||||
sta previousAngle,x
|
||||
dex
|
||||
bpl @-
|
||||
; let's go!
|
||||
Meter
|
||||
jsr ClearTanks
|
||||
ldx NumberOfPlayers
|
||||
@ lda trackn_audc+2
|
||||
:4 asl
|
||||
sta AngleTable,x
|
||||
dex
|
||||
bpl @-
|
||||
jsr drawtanks
|
||||
jsr WaitOneFrame
|
||||
jsr GetKeyFast
|
||||
cmp #@kbcode._none
|
||||
beq Meter
|
||||
; restore all angles
|
||||
jsr ClearTanks
|
||||
ldx NumberOfPlayers
|
||||
@ lda previousAngle,x
|
||||
sta AngleTable,x
|
||||
dex
|
||||
bpl @-
|
||||
jsr drawtanks
|
||||
jsr drawtanknr
|
||||
EndMeterAndReset
|
||||
lda #0
|
||||
sta RTCLOK+1
|
||||
sta RTCLOK
|
||||
EndMeter
|
||||
rts
|
||||
.endp
|
||||
.ENDIF
|
||||
|
||||
|
||||
.ENDIF
|
||||
+3
-2
@@ -30,7 +30,8 @@
|
||||
.ifndef CART_VERSION
|
||||
.def CART_VERSION = 0 ; if 1 - dual splash screen
|
||||
.endif
|
||||
.def METEORS = 1 ; if 1 - meteors on game
|
||||
.def METEORS = 0 ; if 1 - meteors on game
|
||||
.def VU_METER = 1 ; if 1 - VU Meter on game
|
||||
.def XCORRECTION_FOR_PM = 0 ; if 1 - active x position of tanks correction fo PMG
|
||||
.def FASTER_GRAF_PROCS = 1 ; if 1 - activates faster graphics routines
|
||||
; (direct writes to screen memory - atari only :) )
|
||||
@@ -40,7 +41,7 @@
|
||||
|
||||
;---------------------------------------------------
|
||||
.macro build
|
||||
dta d"1.46" ; number of this build (4 bytes)
|
||||
dta d"1.47" ; number of this build (4 bytes)
|
||||
.endm
|
||||
|
||||
.macro RMTSong
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
+6
-2
@@ -1277,11 +1277,15 @@ ContinueToCheckMaxForce2
|
||||
; $FB - any key
|
||||
; $f7 - shift
|
||||
; $f3 - shift+key
|
||||
|
||||
.IF VU_METER = 1
|
||||
jsr VUMeter.EndMeterAndReset
|
||||
.ENDIF
|
||||
notpressed
|
||||
jsr CheckExitKeys ; Check for O, Esc or Start+Option keys
|
||||
spl:rts ; exit if pressed 'Exit keys'
|
||||
|
||||
.IF VU_METER = 1
|
||||
jsr VUMeter
|
||||
.ENDIF
|
||||
ldx TankNr ; for optimize
|
||||
jsr GetKeyFast
|
||||
and #%10111111 ; SHIFT elimination
|
||||
|
||||
Reference in New Issue
Block a user