From 68bf4a954153328df44ce38e5c0d7b74e0174157 Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 15 May 2022 23:21:47 -0400 Subject: [PATCH] build 140 --- README.md | 9 ++++++++ constants.asm | 2 +- definitions.asm | 56 ++++++++++++++++++++++++------------------------ scorch.asm | 6 +++--- scorch.xex | Bin 37706 -> 37716 bytes textproc.asm | 2 ++ variables.asm | 4 ++-- weapons.asm | 5 +++-- 8 files changed, 48 insertions(+), 36 deletions(-) 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 75b9320c9ce3f268b928f6fba4c35854ead56f85..9b982d53420abf1afaadfe50ba1c0dab8b167be9 100644 GIT binary patch delta 12272 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 XpaVNRvtwc{)>*oE?m+0}%s&4Yx;Lo! delta 12265 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