diff --git a/artwork/sfx/feat.txt b/artwork/sfx/feat.txt index 7009afb..ca37a3f 100644 --- a/artwork/sfx/feat.txt +++ b/artwork/sfx/feat.txt @@ -1,6 +1,6 @@ STEREOMODE equ 0 ;* --------BEGIN-------- -;* C:\Atari\rmt\rmt128\scorch_str3.rmt +;* C:\Atari\rmt\rmt128\scorch_str4.rmt FEAT_SFX equ 1 FEAT_GLOBALVOLUMEFADE equ 0 ;RMTGLOBALVOLUMEFADE variable FEAT_NOSTARTINGSONGLINE equ 0 diff --git a/artwork/sfx/scorch_str4.rmt b/artwork/sfx/scorch_str4.rmt new file mode 100644 index 0000000..8681c53 Binary files /dev/null and b/artwork/sfx/scorch_str4.rmt differ diff --git a/constants.asm b/constants.asm index 071e517..96509d3 100644 --- a/constants.asm +++ b/constants.asm @@ -454,7 +454,7 @@ PurchaseMeTable ;weapons good to be purchased by the robot .by %00000000 .by 0 ; offset to defensives ; "White Flag ","Battery ","Bal Guidance ","Horz Guidance " - ; "Let's go! ","Lazy Boy ","Parachute ","Strong Parachute" + ; "Hovercraft ","Lazy Boy ","Parachute ","Strong Parachute" .by %01000011 ; "Mag Deflector ","Shield ","Heavy Shield ","Force Shield " ; "Super Mag ","Bouncy Castle ","Long Barrel ","Nuclear Winter " @@ -478,7 +478,7 @@ PurchaseMeTable2 ;weapons good to be purchased by the robot (Cyborg) .by %00000000 .by 0 ; offset to defensives ; "White Flag ","Battery ","Bal Guidance ","Horz Guidance " - ; "Let's go! ","Lazy Boy ","Parachute ","Strong Parachute" + ; "Hovercraft ","Lazy Boy ","Parachute ","Strong Parachute" .by %01000001 ; "Mag Deflector ","Shield ","Heavy Shield ","Force Shield " ; "Super Mag ","Bouncy Castle ","Long Barrel ","Nuclear Winter " @@ -551,7 +551,7 @@ NamesOfWeapons ;the comment is an index in the tables dta d"Battery " ; 49 dta d"Bal Guidance " ; 50 dta d"Horz Guidance " ; 51 - dta d"Let's go! " ; 52 + dta d"Hovercraft " ; 52 dta d"Lazy Boy " ; 53 dta d"Parachute " ; 54 - no energy dta d"Strong Parachute" ; 55 - with energy (earlier Battery) diff --git a/definitions.asm b/definitions.asm index 9d7ec6e..4d0d952 100644 --- a/definitions.asm +++ b/definitions.asm @@ -198,6 +198,7 @@ sfx_liquid_dirt = $1b ;2 sfx_battery = $1c ;3 sfx_white_flag = $1d ;4 sfx_long_barrel = $1e +sfx_tank_move = $1f ;-------------------------------- ; RMT songs (lines) ;-------------------------------- diff --git a/scorch.asm b/scorch.asm index 369cb3f..e6755e8 100644 --- a/scorch.asm +++ b/scorch.asm @@ -1657,7 +1657,7 @@ PLAYER MODUL equ $b000 ;address of RMT module opt h- ;RMT module is standard Atari binary file already - ins "artwork/sfx/scorch_str3.rmt" ;include music RMT module + ins "artwork/sfx/scorch_str4.rmt" ;include music RMT module opt h+ ; ; diff --git a/scorch.xex b/scorch.xex index ea8fa76..e85c9c0 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/weapons.asm b/weapons.asm index 1103e1f..772b219 100644 --- a/weapons.asm +++ b/weapons.asm @@ -2423,8 +2423,12 @@ InverseScreenByte ; ------------------------------------------------- ; Let's designate the flight altitude. mva #17 FloatingAlt ; for testing - mwa #mountaintable temp +; mwa #mountaintable temp + mva #sfx_plasma_1_2 sfx_effect + + ; display text 4x4 - fuel full + ; TankNr in X reg. ; now animate Up TankGoUp lda ytankstable,x @@ -2440,6 +2444,9 @@ TankGoUp ; jsr WaitOneFrame jmp TankGoUp ReachSky + + ; display text 4x4 - fuel full (clear text) + ; check keyboard/joy and move tank left/right - code copied from BeforeFire ;keyboard reading ; KBCODE keeps code of last keybi @@ -2447,7 +2454,15 @@ ReachSky ; $FB - any key ; $f7 - shift ; $f3 - shift+key - +KeyboardAndJoyCheck + mva #sfx_tank_move sfx_effect + lda ShieldEnergy,x + cmp #20 + bne notpressed + nop + + ; display text 4x4 - low fuel + notpressed lda SKSTAT cmp #$ff @@ -2495,7 +2510,7 @@ notpressedJoy pressedRight lda ShieldEnergy,x - beq ReachSky + jeq pressedSpace ldy #1 jsr DecreaseShieldEnergyX ; first erase old tank position @@ -2510,17 +2525,20 @@ pressedRight @ bcs RightScreenEdge inc XtankstableL,x sne:inc XtankstableH,x + jmp NoREdge RightScreenEdge + mva #sfx_dunno sfx_effect +NoREdge mva #25 AngleTable,x ; then draw tank on new position jsr DrawTankNr jsr DisplayStatus jsr WaitOneFrame - jmp ReachSky + jmp KeyboardAndJoyCheck pressedLeft lda ShieldEnergy,x - jeq ReachSky + beq pressedSpace ldy #1 jsr DecreaseShieldEnergyX ; first erase old tank position @@ -2537,13 +2555,16 @@ pressedLeft lda XtankstableL,x cmp #$ff sne:dec XtankstableH,x + jmp NoLEdge LeftScreenEdge + mva #sfx_dunno sfx_effect +NoLEdge mva #155 AngleTable,x ; then draw tank on new position jsr DrawTankNr jsr DisplayStatus jsr WaitOneFrame - jmp ReachSky + jmp KeyboardAndJoyCheck pressedSpace ;================================= @@ -2630,7 +2651,7 @@ ItIsMe dex bpl CheckCollisionWithTankLoop ldx TankNr - jsr WaitForKeyRelease + mva #sfx_shield_off sfx_effect mva #1 Erase jsr DrawTankNr mva #0 Erase @@ -2638,6 +2659,9 @@ ItIsMe and #%11111110 ; correction for PM sta XtankstableL,x GoDown + + ; display text 4x4 - low fuel (clear text) + mwa #mountaintable temp clc lda temp @@ -2664,6 +2688,7 @@ FloatDown jsr WaitOneFrame jmp FloatDown OnGround + jsr WaitForKeyRelease ; and Soildown at the end (for correct mountaintable) ; calculate range sec