This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
metroid:disassembly:game_engine_page [2015/06/07 12:12] – Fucking tabs snarfblam | metroid:disassembly:game_engine_page [2016/03/06 17:29] (current) – infos on breakable blocks snarfblam | ||
---|---|---|---|
Line 1928: | Line 1928: | ||
jsr CheckMissileToggle | jsr CheckMissileToggle | ||
jsr UpdateItems | jsr UpdateItems | ||
- | jsr LFDE3 | + | jsr UpdateTourianItems |
;Clear remaining sprite RAM | ;Clear remaining sprite RAM | ||
Line 6515: | Line 6515: | ||
ldx #$C0 | ldx #$C0 | ||
* lda TileRoutine, | * lda TileRoutine, | ||
- | beq + ; 0 = free slot | + | beq + |
jsr Xminus16 | jsr Xminus16 | ||
bne - | bne - | ||
lda TileRoutine, | lda TileRoutine, | ||
- | bne ++++ | + | bne ++++ ; no more slots, can't blast tile |
* inc TileRoutine, | * inc TileRoutine, | ||
lda $04 | lda $04 | ||
Line 6527: | Line 6527: | ||
sta TileWRAMHi, | sta TileWRAMHi, | ||
lda InArea | lda InArea | ||
- | cmp #$11 | + | cmp #$11 ; In Norfair? |
bne + | bne + | ||
- | cpy #$76 | + | cpy #$76 ; Special case for the four-small-bubbles breakable block |
bne + | bne + | ||
lda #$04 | lda #$04 | ||
bne ++ | bne ++ | ||
- | * tya | + | * |
clc | clc | ||
adc #$10 | adc #$10 | ||
Line 9371: | Line 9371: | ||
* rts | * rts | ||
- | LFDE3: | + | UpdateTourianItems: |
- | cmp #$99 | + | ; Adds mother brain and zebetite |
- | bne + | + | LFDE3: |
- | clc | + | cmp #$99 ; (it will have a value of 99.99 the first frame) |
- | sbc EndTimerLo | + | bne + |
- | bne + ; branch if not | + | clc |
- | sta $06 | + | sbc EndTimerLo |
- | lda #$38 | + | bne + |
- | sta $07 | + | |
- | jsr LDC54 | + | sta $06 ; |
- | * ldx #$20 | + | lda #$38 ; |
- | * | + | sta $07 ; Add [mother brain defeated] to item history |
- | txa | + | jsr LDC54 ; |
- | sec | + | |
- | sbc #$08 | + | * ldx #$20 ; Loop through zebetites (@ x = 20, 18, 10, 8, 0) |
- | tax | + | * |
- | bne - | + | txa ; |
- | + | sec | |
- | LFE05: | + | sbc #$08 |
- | sec | + | tax |
- | sbc #$02 | + | bne - |
- | bne --- | + | |
- | sta $06 | + | CheckZebetite |
- | inc $0758,x | + | LFE05: |
- | txa | + | sec |
- | lsr | + | sbc #$02 ; |
- | adc #$3C | + | bne --- ; Exit if zebetite state != 2 |
- | sta $07 | + | sta $06 ; Store 0 to $06 |
- | jmp LDC54 | + | inc $0758, |
+ | txa | ||
+ | lsr ; A = zebetite index * 4 (10, C, 8, 4, or 0) | ||
+ | adc #$3C ; + $3C | ||
+ | sta $07 | ||
+ | jmp LDC54 ; Add zebetite to item history | ||
; Tile degenerate/ | ; Tile degenerate/ |