diff --git a/README.md b/README.md index ef796d2..9d665a6 100755 --- a/README.md +++ b/README.md @@ -46,6 +46,15 @@ With the advent of fujinet (https://fujinet.online/) we are thinking about makin ## Changes: +###### Build 140 +2022-05-15 +Huge internal changes by @Pecusx. The whole game screen has been inverted - ground is now background color, "sky" and empty areas are in fact pixels. This allowed for introducing better tank colorization, fully devised and lead by Adam. The process started and results are already promising - the colors of tanks and the status bar are closer. We might get even better ones in the next builds. +- few new sfx added (end of round, weapon change, soil eating weapons) +- added colors to tank name and level selection screen +- Bug https://github.com/pkali/scorch_src/issues/57 possibly alleviated by using TRIG0S instead of TRIG0. Please test - it did not show for me. +Other unlisted minor bugs and typos fixed. +"Nightly" version moved to `develop` branch. `master` will be updated with stablish and playablish builds only. + ###### Build 139 2022-05-09 The post midnight release with great, heavy new features: diff --git a/constants.asm b/constants.asm index b45672f..86aab93 100644 --- a/constants.asm +++ b/constants.asm @@ -6,7 +6,7 @@ ;==========================CONSTANT TABLES, do not erase!=========================== ;=================================================================================== TankColoursTable .BYTE $88,$cc,$38,$1c,$6a,$02 -TankStatusColoursTable .BYTE $82,$c2,$32,$12,$62,$02 +TankStatusColoursTable .BYTE $80,$c0,$30,$10,$60,$00 dliColorsBack :10 .by $02,$00 dliColorsFore diff --git a/definitions.asm b/definitions.asm index 697bb72..285b0b1 100644 --- a/definitions.asm +++ b/definitions.asm @@ -78,31 +78,31 @@ price______________63 = $ffff ;-------------------------------- ; names of RMT instruments (sfx) ;-------------------------------- -sfx_set_power_1 = $00 -sfx_set_power_2 = $01 -sfx_lightning = $02 -sfx_dunno = $03 -sfx_nuke = $04 -sfx_baby_missile= $05 -sfx_death_begin = $06 -sfx_plasma_1_2 = $07 -sfx_plasma_2_2 = $08 -sfx_napalm = $09 -sfx_dirt_charge = $0a -sfx_missile_hit = $0b -sfx_funky_hit = $0c -sfx_shield_on = $0d -sfx_shield_off = $0e -sfx_parachute = $0f -sfx_smoke_cloud = $10 -sfx_riot_blast = $11 -sfx_sandhog = $12 -sfx_dirt_chrg_s = $13 -sfx_digger = $14 -sfx_silencer = $15 -sfx_next_player = $16 -sfx_purchase = $17 -sfx_keyclick = $18 -sfx_shoot = $19 -sfx_seppuku = $1a -sfx_liquid_dirt = $1b +sfx_set_power_1 = $00 ;A +sfx_set_power_2 = $01 ;b +sfx_lightning = $02 ;c +sfx_dunno = $03 ;d +sfx_nuke = $04 ;e +sfx_baby_missile= $05 ;f +sfx_death_begin = $06 ;g +sfx_plasma_1_2 = $07 ;h +sfx_plasma_2_2 = $08 ;i +sfx_napalm = $09 ;j +sfx_dirt_charge = $0a ;k +sfx_missile_hit = $0b ;l +sfx_funky_hit = $0c ;m +sfx_shield_on = $0d ;n +sfx_shield_off = $0e ;o +sfx_parachute = $0f ;p +sfx_smoke_cloud = $10 ;q +sfx_riot_blast = $11 ;r +sfx_sandhog = $12 ;s +sfx_dirt_chrg_s = $13 ;t +sfx_digger = $14 ;u +sfx_silencer = $15 ;v +sfx_next_player = $16 ;w +sfx_purchase = $17 ;x +sfx_keyclick = $18 ;y +sfx_shoot = $19 ;z +sfx_seppuku = $1a ;1 +sfx_liquid_dirt = $1b ;2 diff --git a/scorch.asm b/scorch.asm index 1743b75..8d07d88 100644 --- a/scorch.asm +++ b/scorch.asm @@ -36,7 +36,7 @@ ;we decided it must go in 'English' to let other people work on it .macro build - dta d"139" ; number of this build (3 bytes) + dta d"140" ; number of this build (3 bytes) .endm icl 'definitions.asm' @@ -1190,7 +1190,7 @@ checkJoyGetKey rts notpressedJoyGetKey ;fire - lda TRIG0 + lda TRIG0S bne @- lda #$0c ;Return key rts @@ -1210,7 +1210,7 @@ WaitForKeyRelease .proc and #$0f cmp #$0f bne WaitForKeyRelease - lda TRIG0 + lda TRIG0S beq WaitForKeyRelease lda SKSTAT cmp #$ff diff --git a/scorch.xex b/scorch.xex index 75b9320..9b982d5 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/textproc.asm b/textproc.asm index f70562a..54f3710 100755 --- a/textproc.asm +++ b/textproc.asm @@ -1393,6 +1393,8 @@ EndOfTypeLine4x4 .proc DisplayResults ; ;displays results of the round ;using 4x4 font + + mva #sfx_smoke_cloud sfx_effect ;centering the result screen mwa #((ScreenWidth/2)-(8*4)) ResultX diff --git a/variables.asm b/variables.asm index 2e52acd..e9ae432 100755 --- a/variables.asm +++ b/variables.asm @@ -15,7 +15,7 @@ TanksNames ; DO NOT ZERO - ticket #24 :6 dta d" " ;---------------------------- ;Options DO NOT ZERO - ticket #27 -OptionsTable .by 0,0,2,2,0,1,4 +OptionsTable .by 0,0,2,2,0,1,3 RoundsInTheGame .by 10 ;how many rounds in the current game seppukuVal .by 75 ;-------------------------------------------------- @@ -43,7 +43,7 @@ flyDelay .ds 1 ;-------------- NumberOfPlayers .DS 1 ;current number of players (counted from 1) TankSequence .DS [MaxPlayers] ;sequence of shooting during the Round -GameIsOver .DS 1 ; 1 - it was the last round in the game +GameIsOver .DS 1 ; 1 means it was the last round in the game ;----------------------------------- moneyH ;we place zero at the end of prices and money ;and have range from 0 to 99990 (not too much) diff --git a/weapons.asm b/weapons.asm index 885927b..21fedbe 100755 --- a/weapons.asm +++ b/weapons.asm @@ -692,6 +692,7 @@ dirtLoop ; ----------------- .proc xriotbomb ; ; ----------------- + mva #sfx_riot_blast sfx_effect lda #0 sta radius sta color @@ -1005,7 +1006,7 @@ ContinueToCheckMaxForce2 ; $f3 - shift+key notpressed - lda TRIG0 + lda TRIG0S beq notpressed lda SKSTAT cmp #$ff @@ -1050,7 +1051,7 @@ checkJoy jmp jumpFromStick notpressedJoy ;fire - lda TRIG0 + lda TRIG0S jeq pressedSpace jmp notpressed