mirror of
https://github.com/Pecusx/scorch_src.git
synced 2026-05-20 22:33:43 +02:00
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
; initial values for some variables
|
; initial values for some variables
|
||||||
initialvaluesStart
|
initialvaluesStart
|
||||||
I_OptionsTable .by 0,1,2,2,0,1,3,2
|
I_OptionsTable .by 0,1,2,2,0,1,3,2,0
|
||||||
I_RoundsInTheGame .by 10 ;how many rounds in the current game
|
I_RoundsInTheGame .by 10 ;how many rounds in the current game
|
||||||
I_seppukuVal .by 75
|
I_seppukuVal .by 75
|
||||||
I_mountainDeltaH .by 3
|
I_mountainDeltaH .by 3
|
||||||
|
|||||||
+1
-1
@@ -17,7 +17,7 @@ display = $1010 ;screen takes $2K due to clearing routine
|
|||||||
|
|
||||||
margin = 40 ;mountain drawing Y variable margin
|
margin = 40 ;mountain drawing Y variable margin
|
||||||
MaxPlayers = 6
|
MaxPlayers = 6
|
||||||
maxOptions = 8 ;number of all options
|
maxOptions = 9 ;number of all options
|
||||||
PMOffsetX = $2C ; P/M to graphics offset
|
PMOffsetX = $2C ; P/M to graphics offset
|
||||||
PMOffsetY = $23 ; P/M to graphics offset
|
PMOffsetY = $23 ; P/M to graphics offset
|
||||||
napalmRadius = 10
|
napalmRadius = 10
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ OptionsHere
|
|||||||
dta d"Missiles : slug slow norm fast hare "
|
dta d"Missiles : slug slow norm fast hare "
|
||||||
dta d"Seppuku : nevr rare norm oftn alws "
|
dta d"Seppuku : nevr rare norm oftn alws "
|
||||||
dta d"Mountains: NL BE CZ CH NP "
|
dta d"Mountains: NL BE CZ CH NP "
|
||||||
|
dta d"Walls : none wrap bump boxy rand "
|
||||||
OptionsScreenEnd
|
OptionsScreenEnd
|
||||||
;-----------------------------------------------
|
;-----------------------------------------------
|
||||||
ListOfWeapons
|
ListOfWeapons
|
||||||
|
|||||||
+20
-2
@@ -219,7 +219,7 @@ FirstSTART
|
|||||||
START
|
START
|
||||||
; Startup sequence
|
; Startup sequence
|
||||||
jsr Initialize
|
jsr Initialize
|
||||||
|
|
||||||
;jsr GameOverScreen ; only for test !!!
|
;jsr GameOverScreen ; only for test !!!
|
||||||
|
|
||||||
lda #song_main_menu
|
lda #song_main_menu
|
||||||
@@ -242,6 +242,7 @@ START
|
|||||||
; for the round #1 shooting sequence is random
|
; for the round #1 shooting sequence is random
|
||||||
|
|
||||||
MainGameLoop
|
MainGameLoop
|
||||||
|
jsr SetWallsType
|
||||||
; first set default barrel lengths (fix for Long Schlong activation :) )
|
; first set default barrel lengths (fix for Long Schlong activation :) )
|
||||||
; we must do it before purchase/activate
|
; we must do it before purchase/activate
|
||||||
ldx #(MaxPlayers-1)
|
ldx #(MaxPlayers-1)
|
||||||
@@ -1508,7 +1509,24 @@ nextishigher
|
|||||||
|
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
;--------------------------------------------------
|
||||||
|
.proc SetWallsType
|
||||||
|
;--------------------------------------------------
|
||||||
|
mva #0 WallsType
|
||||||
|
lda OptionsTable+8
|
||||||
|
cmp #4
|
||||||
|
beq SetRandomWalls
|
||||||
|
lsr
|
||||||
|
ror WallsType
|
||||||
|
lsr
|
||||||
|
ror WallsType
|
||||||
|
rts
|
||||||
|
SetRandomWalls
|
||||||
|
lda random
|
||||||
|
and #%11000000
|
||||||
|
sta WallsType
|
||||||
|
rts
|
||||||
|
.endp
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
.proc GetKey ; waits for pressing a key and returns pressed value in A
|
.proc GetKey ; waits for pressing a key and returns pressed value in A
|
||||||
; when [ESC] is pressed, escFlag is set to 1
|
; when [ESC] is pressed, escFlag is set to 1
|
||||||
|
|||||||
BIN
Binary file not shown.
+3
-1
@@ -204,7 +204,7 @@ OptionSetLoop
|
|||||||
; next option
|
; next option
|
||||||
adw temp #40 ;jump to next line
|
adw temp #40 ;jump to next line
|
||||||
inc:lda temp2
|
inc:lda temp2
|
||||||
cmp #maxoptions ;number of options
|
cmp #maxOptions ;number of options
|
||||||
bne OptionsSetMainLoop
|
bne OptionsSetMainLoop
|
||||||
|
|
||||||
;inversing the first few chars of the selected line (OptionsY)
|
;inversing the first few chars of the selected line (OptionsY)
|
||||||
@@ -853,7 +853,9 @@ invSelectDef
|
|||||||
; if activate battery, we do it differently
|
; if activate battery, we do it differently
|
||||||
mva #sfx_battery sfx_effect
|
mva #sfx_battery sfx_effect
|
||||||
mva #99 Energy,x
|
mva #99 Energy,x
|
||||||
|
phy
|
||||||
jsr MaxForceCalculate
|
jsr MaxForceCalculate
|
||||||
|
ply
|
||||||
jmp DecreaseDefensive ; bypass activation
|
jmp DecreaseDefensive ; bypass activation
|
||||||
NotBattery
|
NotBattery
|
||||||
cmp #ind_Long_Barrel____
|
cmp #ind_Long_Barrel____
|
||||||
|
|||||||
+3
-2
@@ -29,7 +29,7 @@ skilltable ; computer controlled players' skills (1-8), 0 - human (no cleaning
|
|||||||
;----------------------------------------------------
|
;----------------------------------------------------
|
||||||
variablesToInitialize
|
variablesToInitialize
|
||||||
;Options DO NOT ZERO ON RESTART GAME - ticket #27
|
;Options DO NOT ZERO ON RESTART GAME - ticket #27
|
||||||
OptionsTable .by 0,1,2,2,0,1,3,2
|
OptionsTable .by 0,1,2,2,0,1,3,2,0
|
||||||
RoundsInTheGame .by 10 ;how many rounds in the current game
|
RoundsInTheGame .by 10 ;how many rounds in the current game
|
||||||
seppukuVal .by 75
|
seppukuVal .by 75
|
||||||
mountainDeltaH .by 3
|
mountainDeltaH .by 3
|
||||||
@@ -138,7 +138,8 @@ MaxWind .ds 1 ;
|
|||||||
WindOrientation .DS 1 ;(0-right,1-left)
|
WindOrientation .DS 1 ;(0-right,1-left)
|
||||||
;----------------------------------------------------
|
;----------------------------------------------------
|
||||||
;Counter .DS 1 ;temporary Counter for outside loops
|
;Counter .DS 1 ;temporary Counter for outside loops
|
||||||
;HitFlag .DS 1 ;$ff when missile hit ground, $00 when no hit, $01-$06 tank index+1 when hit tank
|
;HitFlag .DS 1 ;$ff when missile hit ground, $00 when no hit, $01-$06 tank index+1 when hit tank
|
||||||
|
WallsType .ds 1 ; bits 6 and 7: 00 - none, 01 - bump, 10 - wrap, 11 - boxy
|
||||||
;----------------------------------------------------
|
;----------------------------------------------------
|
||||||
xtankstableL ;X positions of tanks (lower left point)
|
xtankstableL ;X positions of tanks (lower left point)
|
||||||
.DS [MaxPlayers]
|
.DS [MaxPlayers]
|
||||||
|
|||||||
+49
-1
@@ -1798,6 +1798,12 @@ NoWind
|
|||||||
mwa ytraj+1 ybyte
|
mwa ytraj+1 ybyte
|
||||||
jsr draw
|
jsr draw
|
||||||
;key
|
;key
|
||||||
|
bit LaserFlag
|
||||||
|
bmi LaserNoWalls
|
||||||
|
; Check for walls
|
||||||
|
jsr MakeWalls
|
||||||
|
;
|
||||||
|
LaserNoWalls
|
||||||
mwa xtraj+1 XtrajOld+1
|
mwa xtraj+1 XtrajOld+1
|
||||||
mwa ytraj+1 YtrajOld+1
|
mwa ytraj+1 YtrajOld+1
|
||||||
|
|
||||||
@@ -2333,7 +2339,49 @@ MIRValreadyAll
|
|||||||
;jsr drawtanks
|
;jsr drawtanks
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
; -------------------------------------------------
|
||||||
|
.proc MakeWalls
|
||||||
|
; -------------------------------------------------
|
||||||
|
bit WallsType ; ; bits 6 and 7: 00 - none, 01 - bump, 10 - wrap, 11 - boxy
|
||||||
|
bpl WrapAndNone
|
||||||
|
bvc MakeBump
|
||||||
|
; top bounce
|
||||||
|
bit ytraj+2
|
||||||
|
bpl NoOnTop
|
||||||
|
sec
|
||||||
|
.rept 4
|
||||||
|
lda #$00
|
||||||
|
sbc vy+#
|
||||||
|
sta vy+#
|
||||||
|
.endr
|
||||||
|
NoOnTop
|
||||||
|
MakeBump
|
||||||
|
cpw xtraj+1 #screenwidth
|
||||||
|
bcc OnScreen
|
||||||
|
; inverse vx (bouncing wall)
|
||||||
|
sec
|
||||||
|
.rept 4
|
||||||
|
lda #$00
|
||||||
|
sbc vx+#
|
||||||
|
sta vx+#
|
||||||
|
.endr
|
||||||
|
rts
|
||||||
|
WrapAndNone
|
||||||
|
bvc NoWall
|
||||||
|
cpw xtraj+1 #screenwidth
|
||||||
|
bcc OnScreen
|
||||||
|
; (wrapping wall)
|
||||||
|
bit xtraj+2
|
||||||
|
bmi LeftWrap
|
||||||
|
RightWrap
|
||||||
|
sbw xtraj+1 #screenwidth
|
||||||
|
rts
|
||||||
|
LeftWrap
|
||||||
|
adw xtraj+1 #screenwidth
|
||||||
|
OnScreen
|
||||||
|
NoWall
|
||||||
|
rts
|
||||||
|
.endp
|
||||||
; -------------------------------------------------
|
; -------------------------------------------------
|
||||||
.proc WhiteFlag
|
.proc WhiteFlag
|
||||||
; -------------------------------------------------
|
; -------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user