Commit c6c58af6 authored by Ricardo Quesada's avatar Ricardo Quesada

more info about SHOOT_FREQ_MASK

parent 2c2941c8
......@@ -57,6 +57,16 @@ the cracked version, without any other additional code.
### Findings
#### Increased difficulty
Apparently, the idea was to increase how frequent soldier shoot in each level.
That includes the first level after completing the game. Either due to a bug,
or due to a last minute fix, this behavior was disabled.
See `SHOOT_FREQ_MASK` in [main.asm] for more info.
#### Level 2
Apparently, the original idea was to ship Commando with 4 levels instead of 3.
There is a lot of code/data that indicates that a "level 2" (the levels that are
shipped with Commando are level 0, 1 and 3) was in progress, or even finished.
......
......@@ -178,7 +178,7 @@ LIVES = $0500
a0501 = $0501 ;unused
a0502 = $0502 ;unused
IS_HERO_DEAD = $0503 ;0: hero alive, 1:was shot, 2:fell down in trench
SHOOT_FREQ_MASK = $0504
SHOOT_FREQ_MASK = $0504 ;How frequent soliders can shoot
HISCORE_IS_BULLET_ANIM = $0505 ;1: if the bullet in hiscore is being animated
HISCORE_NAME = $0506 ;8 chars reserved for the hiscore name ($0506-$050E)
HISCORE_NAME_IDX = $050F ;Index to the hiscore name
......@@ -4384,10 +4384,10 @@ _L00 LDA ENEMIES_IN_FORT
JSR GET_RANDOM
AND #$7F ;#%01111111
BNE b2CC0
LDA #$3F
STA SHOOT_FREQ_MASK
LDA #$3F ;FIXME: overrides SHOT_FREQ_MASK set by SETUP_LEVEL
STA SHOOT_FREQ_MASK ;Either a bug, or a last minute "fix".
DEC ENEMIES_IN_FORT
BNE _L01 ;FIXME: probably an "RTS" is missing here?
BNE _L01 ;FIXME: probably an "RTS" is missing here?
_L01 LDA LEVEL_NR
AND #$03
......@@ -5272,7 +5272,7 @@ _L06 LDA pFB,b
;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
; related to shoot
j33D0 LDA SPRITES_TMP_C05,X
AND SHOOT_FREQ_MASK
AND SHOOT_FREQ_MASK ;cooldown for solider shooting
BNE _L01
; Find empty seat
......@@ -6696,7 +6696,8 @@ f3ECE .BYTE $60,$80,$80,$A0
;Mask regarding how frequent sholdiers shoot.
;Not Used since it is overriden by TYPE_ANIM_SPAWN_SOLDIER
f3ED2 .BYTE $3F,$1F,$0F,$0F,$0F,$0F,$0F,$0F
f3ED2 .BYTE $3F,$1F,$0F,$0F ;Mask for level 0-3
.BYTE $0F,$0F,$0F,$0F ;Mask for level 0-3, 2nd loop
; Restart row index for each level.
f3EDA .BYTE $13,$3D,$61,$83,$AF ;LVL0
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment