diff options
author | Marcus Huderle <huderlem@gmail.com> | 2017-06-30 15:59:00 -0700 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2017-06-30 15:59:00 -0700 |
commit | be488b67709c44227d151fdbf6e0adf323e91f0c (patch) | |
tree | 2c1049ca54a7636d8c6a4f10f90ee8eb347235d5 /engine/main/draw_sprites/draw_red_field_sprites.asm | |
parent | a14fbdbaba3348c4952d4689d0ae342860b520bb (diff) |
Rename engine/main -> engine/pinball_game
Diffstat (limited to 'engine/main/draw_sprites/draw_red_field_sprites.asm')
-rwxr-xr-x | engine/main/draw_sprites/draw_red_field_sprites.asm | 759 |
1 files changed, 0 insertions, 759 deletions
diff --git a/engine/main/draw_sprites/draw_red_field_sprites.asm b/engine/main/draw_sprites/draw_red_field_sprites.asm deleted file mode 100755 index d56e840..0000000 --- a/engine/main/draw_sprites/draw_red_field_sprites.asm +++ /dev/null @@ -1,759 +0,0 @@ -DrawSpritesRedFieldTop: ; 0x1755c
- ld bc, $7f00
- call DrawTimer
- call Func_17cc4
- call Func_17d34
- call Func_17d59
- call Func_17d7a
- call Func_17d92
- call Func_17de1
- call DrawPinball
- call Func_17efb
- call Func_17f64
- ret
-
-DrawSpritesRedFieldBottom: ; 0x1757e
- ld bc, $7f00
- call DrawTimer
- call DrawMonCaptureAnimation
- call DrawAnimatedMon_RedStage
- call DrawPikachuSavers_RedStage
- callba DrawFlippers
- call DrawPinball
- call Func_17f0f
- call Func_17f75
- call Func_17fca
- ret
-
-DrawTimer: ; 0x175a4
- ld a, [wd57d]
- and a
- ret z
- ld a, [hGameBoyColorFlag]
- and a
- jr nz, DrawTimer_GameBoyColor
- ld a, [wd580]
- and a
- ret z
- ld a, [wd581]
- and a
- jr z, .DrawTimer_GameBoy
- dec a
- ld [wd581], a
- ret
-
-.DrawTimer_GameBoy
- call Func_1762f
- ld hl, wTimerDigits
- ld a, [wTimerMinutes]
- and $f
- call LoadTimerDigitTiles
- ld a, [wTimerSeconds]
- swap a
- and $f
- call LoadTimerDigitTiles
- ld a, [wTimerSeconds]
- and $f
- call LoadTimerDigitTiles
- ld d, $0
- ld hl, TimerOAMIds
- add hl, de
- ld a, [hli]
- call DrawTimerDigit
- ld a, [hli]
- call DrawTimerDigit
- ld a, [hli]
- call DrawTimerDigit
- ld a, [hli]
- call DrawTimerDigit
- ret
-
-DrawTimer_GameBoyColor: ; 0x175f5
-; Loads the OAM data for the timer in the top-right corner of the screen.
- ld a, [wTimerMinutes]
- and $f
- call DrawTimerDigit_GameBoyColor
- ld a, $a ; colon
- call DrawTimerDigit_GameBoyColor
- ld a, [wTimerSeconds]
- swap a
- and $f
- call DrawTimerDigit_GameBoyColor ; tens digit of the minutes
- ld a, [wTimerSeconds]
- and $f
- call DrawTimerDigit_GameBoyColor ; ones digit of the minutes
- ret
-
-TimerOAMIds:
- db $d7, $da, $d8, $d9
- db $dc, $df, $dd, $de
- db $dc, $db, $dd, $de
- db $f5, $f8, $f6, $f7
-
-DrawTimerDigit_GameBoyColor: ; 0x17625
- add $b1 ; the timer digits' OAM ids start at $b1
-DrawTimerDigit: ; 0x17627
- call LoadOAMData
- ld a, b
- add $8
- ld b, a
- ret
-
-Func_1762f: ; 0x1762f
- lb de, $60, $0c
- ld a, [wCurrentStage]
- cp $6
- ret nc
- lb de, $00, $00
- bit 0, a
- ret z
- lb de, $30, $04
- ld a, [wInSpecialMode]
- and a
- ret z
- ld a, [wSpecialMode]
- and a
- ret nz
- lb de, $30, $08
- ret
-
-LoadTimerDigitTiles: ; 0x1764f
- push bc
- push de
- cp [hl]
- jr z, .skip
- push af
- push hl
- add d
- call Func_17665
- pop hl
- pop af
- ld [hl], a
-.skip
- inc hl
- pop de
- ld a, d
- add $10
- ld d, a
- pop bc
- ret
-
-Func_17665: ; 0x17665
- ld c, a
- ld b, $0
- sla c
- rl b
- ld hl, TimerDigitsTileData
- add hl, bc
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, Bank(TimerDigitsTileData)
- call Func_10aa
- ret
-
-INCLUDE "data/timer_digits_tiledata.asm"
-
-DrawMonCaptureAnimation: ; 0x17c67
- ld a, [wCapturingMon]
- and a
- ret z
- ld a, $50
- ld hl, hSCX
- sub [hl]
- ld b, a
- ld a, $38
- ld hl, hSCY
- sub [hl]
- ld c, a
- ld a, [wBallCaptureAnimationFrame]
- ld e, a
- ld d, $0
- ld hl, BallCaptureAnimationOAMIds
- add hl, de
- ld a, [hl]
- call LoadOAMData
- ret
-
-BallCaptureAnimationOAMIds:
- db $19, $1A, $1B, $1C, $1D, $1E, $1F, $20, $21, $22, $23, $24, $25
-
-DrawAnimatedMon_RedStage: ; 0x17c96
- ld a, [wWildMonIsHittable]
- and a
- ret z
- ld a, $50
- ld hl, hSCX
- sub [hl]
- ld b, a
- ld a, $3e
- ld hl, hSCY
- sub [hl]
- ld c, a
- ld a, [wd5bd]
- ld e, a
- ld d, $0
- ld hl, AnimatedMonOAMIds_RedStage
- add hl, de
- ld a, [hl]
- call LoadOAMData
- ret
-
-AnimatedMonOAMIds_RedStage:
- db $26, $27, $28, $29, $2A, $2B, $2C, $2D, $2E, $2F, $30, $31
-
-Func_17cc4: ; 0x17cc4
- ld de, wd4cd
- ld hl, OAMData_17d15
- call Func_17cdc
- ld de, wd4d0
- ld hl, OAMData_17d1b
- call Func_17cdc
- ld de, wd4d3
- ld hl, OAMData_17d21
- ; fall through
-
-Func_17cdc: ; 0x17cdc
- push hl
- ld hl, AnimationData_17d27
- call UpdateAnimation
- ld h, d
- ld l, e
- ld a, [hl]
- and a
- jr nz, .asm_17cf6
- call GenRandom
- and $7
- add $1e
- ld [hli], a
- ld a, $1
- ld [hli], a
- xor a
- ld [hl], a
-.asm_17cf6
- pop hl
- inc de
- ld a, [hSCX]
- ld b, a
- ld a, [hli]
- sub b
- ld b, a
- ld a, [hSCY]
- ld c, a
- ld a, [hli]
- sub c
- ld c, a
- ld a, [wd4d7]
- sub [hl]
- inc hl
- jr z, .asm_17d0c
- ld a, [de]
-.asm_17d0c
- ld e, a
- ld d, $0
- add hl, de
- ld a, [hl]
- call LoadOAMData
- ret
-
-OAMData_17d15:
- db $3A, $4E ; x, y offsets
- db $00 ; ???
- db $BD, $BC, $CE ; oam ids
-
-OAMData_17d1b:
- db $53, $44 ; x, y offsets
- db $01 ; ???
- db $BD, $BC, $CD ; oam ids
-
-OAMData_17d21:
- db $4D, $60 ; x, y offsets
- db $02 ; ???
- db $BD, $BC, $CF ; oam ids
-
-AnimationData_17d27:
-; Each entry is [duration][OAM id]
- db $1E, $01
- db $02, $02
- db $03, $01
- db $02, $02
- db $03, $01
- db $02, $02
- db $00 ; terminator
-
-Func_17d34: ; 0x17d34
- ld a, $0
- ld hl, hSCX
- sub [hl]
- ld b, a
- ld a, $10
- ld hl, hSCY
- sub [hl]
- ld c, a
- ld a, [wStageCollisionState]
- ld e, a
- ld d, $0
- ld hl, OAMIds_17d51
- add hl, de
- ld a, [hl]
- call LoadOAMData
- ret
-
-OAMIds_17d51:
- db $C9
- db $C9
- db $C9
- db $C9
- db $C8
- db $C8
- db $CA
- db $CA
-
-Func_17d59: ; 0x17d59
- ld a, $74
- ld hl, hSCX
- sub [hl]
- ld b, a
- ld a, $52
- ld hl, hSCY
- sub [hl]
- ld c, a
- ld a, [wBellsproutAnimationFrame]
- ld e, a
- ld d, $0
- ld hl, BellsproutAnimationOAMIds
- add hl, de
- ld a, [hl]
- call LoadOAMData
- ret
-
-BellsproutAnimationOAMIds: ; 0x17d76
- db $BE
- db $BF
- db $C0
- db $C1
-
-Func_17d7a: ; 0x17d7a
- ld a, [hGameBoyColorFlag]
- and a
- ret z
- ld a, $67
- ld hl, hSCX
- sub [hl]
- ld b, a
- ld a, $54
- ld hl, hSCY
- sub [hl]
- ld c, a
- ld a, $cc
- call LoadOAMData
- ret
-
-Func_17d92: ; 0x17d92
- ld a, [hGameBoyColorFlag]
- and a
- ret z
- ld hl, AnimationData_17dd0
- ld de, wd504
- call UpdateAnimation
- ld a, [wd504]
- and a
- jr nz, .asm_17db1
- ld a, $13
- ld [wd504], a
- xor a
- ld [wd505], a
- ld [wd506], a
-.asm_17db1
- ld a, $2b
- ld hl, hSCX
- sub [hl]
- ld b, a
- ld a, $69
- ld hl, hSCY
- sub [hl]
- ld c, a
- ld a, [wd505]
- ld e, a
- ld d, $0
- ld hl, OAMIds_17dce
- add hl, de
- ld a, [hl]
- call LoadOAMData
- ret
-
-OAMIds_17dce: ; 0x17dce
- db $CB
- db $D0
-
-AnimationData_17dd0:
-; Each entry is [duration][OAM id]
- db $14, $00
- db $13, $01
- db $15, $00
- db $12, $01
- db $14, $00
- db $13, $01
- db $16, $00
- db $13, $01
- db $0 ; terminator
-
-Func_17de1: ; 0x17de1
- ld a, $88
- ld hl, hSCX
- sub [hl]
- ld b, a
- ld a, $5a
- ld hl, hSCY
- sub [hl]
- ld c, a
- ld a, [wd50a]
- srl a
- srl a
- ld e, a
- ld d, $0
- ld hl, OAMIds_17e02
- add hl, de
- ld a, [hl]
- call LoadOAMData
- ret
-
-OAMIds_17e02: ; 0x17e02
- db $C2
- db $C3
- db $C4
- db $C5
- db $C6
- db $C7
-
-DrawPikachuSavers_RedStage: ; 0x17e08
- ld a, [hSCX]
- ld d, a
- ld a, [hSCY]
- ld e, a
- ld a, [wd51d]
- and a
- ld a, [wd518]
- jr z, .asm_17e33
- ld a, [wd51c]
- and a
- jr nz, .asm_17e29
- ld a, [hNumFramesDropped]
- srl a
- srl a
- srl a
- and $1
- jr .asm_17e33
-
-.asm_17e29
- ld a, [wd4b4]
- cp $50
- ld a, $1
- jr nc, .asm_17e33
- xor a
-.asm_17e33
- sla a
- ld c, a
- ld b, $0
- ld hl, PikachuSaverOAMOffsets_RedStage
- add hl, bc
- ld a, [hli]
- sub d
- ld b, a
- ld a, [hli]
- sub e
- ld c, a
- ld a, [wPikachuSaverAnimationFrame]
- add $e
- call LoadOAMData
- ret
-
-PikachuSaverOAMOffsets_RedStage:
- dw $7E0F
- dw $7E92
-
-Func_17e4f: ; 0x17e4f
-; unused
- ld hl, UnusedData_7e55
- jp Func_17e5e
-
-UnusedData_7e55: ; 0x17e55
- db $00, $2B, $69, $CB, $00, $67, $54, $CC
- db $FF
-
-Func_17e5e: ; 0x17e5e
-; unused
- ld a, [hGameBoyColorFlag]
- ld e, a
- ld a, [hSCX]
- ld d, a
-.asm_17e64
- ld a, [hli]
- cp $ff
- ret z
- or e
- jr nz, .asm_17e70
- inc hl
- inc hl
- inc hl
- jr .asm_17e64
-.asm_17e70
- ld a, [hli]
- sub d
- ld b, a
- ld a, [hSCY]
- ld c, a
- ld a, [hli]
- sub c
- ld c, a
- ld a, [hli]
- bit 0, e
- call nz, LoadOAMData
- jr .asm_17e64
-
-DrawPinball: ; 0x17e81
- ld a, [wd548]
- and a
- ret z
- ld hl, wBallSpin
- ld a, [wBallRotation]
- add [hl]
- ld [wBallRotation], a
- ld a, [wBallXPos + 1]
- inc a
- ld hl, hSCX
- sub [hl]
- ld b, a
- ld a, [wBallYPos + 1]
- inc a
- sub $10
- ld hl, hSCY
- sub [hl]
- ld c, a
- ld a, [wBallRotation]
- srl a
- srl a
- srl a ; divide wBallRotation by 8 because
- srl a ; there are 8 frames of the ball spinning
- and $7
- add $0
- call LoadOAMData
- ld a, [hGameBoyColorFlag]
- and a
- ret nz
- ld a, [hGameBoyColorFlag]
- and a
- ret nz
- ld a, [hSGBFlag]
- and a
- ret nz
- ld a, [wd4c5]
- inc a
- ld hl, hSCX
- sub [hl]
- ld b, a
- ld a, [wd4c6]
- inc a
- sub $10
- ld hl, hSCY
- sub [hl]
- ld c, a
- ld a, [wd4c7]
- srl a
- srl a
- srl a
- srl a
- and $7
- add $0
- call LoadOAMData
- ld a, [wBallXPos + 1]
- ld [wd4c5], a
- ld a, [wBallYPos + 1]
- ld [wd4c6], a
- ld a, [wBallRotation]
- ld [wd4c7], a
- ret
-
-Func_17efb: ; 0x17efb
- ld a, [wd551]
- and a
- ret nz
- ld a, [hNumFramesDropped]
- bit 4, a
- ret z
- ld de, wIndicatorStates + 5
- ld hl, OAMData_17f3a
- ld b, $6
- jr asm_17f21
-
-Func_17f0f: ; 0x17f0f
- ld a, [wd551]
- and a
- ret nz
- ld a, [hNumFramesDropped]
- bit 4, a
- ret z
- ld de, wIndicatorStates + 11
- ld hl, OAMData_17f4c
- ld b, $8
-asm_17f21: ; 0x17f21
- push bc
- ld a, [hSCX]
- ld b, a
- ld a, [hli]
- sub b
- ld b, a
- ld a, [hSCY]
- ld c, a
- ld a, [hli]
- sub c
- ld c, a
- ld a, [de]
- and a
- ld a, [hli]
- call nz, LoadOAMData
- pop bc
- inc de
- dec b
- jr nz, asm_17f21
- ret
-
-OAMData_17f3a:
- db $0D, $37 ; x, y offsets
- db $D1 ; oam id
-
- db $46, $22 ; x, y offsets
- db $D6 ; oam id
-
- db $8A, $4A ; x, y offsets
- db $D2 ; oam id
-
- db $41, $81 ; x, y offsets
- db $D3 ; oam id
-
- db $3D, $65 ; x, y offsets
- db $D5 ; oam id
-
- db $73, $74 ; x, y offsets
- db $D4 ; oam id
-
-OAMData_17f4c:
- db $2D, $13 ; x, y offsets
- db $32 ; oam id
-
- db $6A, $13 ; x, y offsets
- db $33 ; oam id
-
- db $25, $2D ; x, y offsets
- db $34 ; oam id
-
- db $73, $2D ; x, y offsets
- db $35 ; oam id
-
- db $0F, $40 ; x, y offsets
- db $36 ; oam id
-
- db $1F, $40 ; x, y offsets
- db $36 ; oam id
-
- db $79, $40 ; x, y offsets
- db $37 ; oam id
-
- db $89, $40 ; x, y offsets
- db $37 ; oam id
-
-Func_17f64: ; 0x17f64
- ld a, [wd551]
- and a
- ret z
- ld de, wd566
- ld hl, OAMOffsets_17fa6
- ld b, $c
- ld c, $39
- jr asm_17f84
-
-Func_17f75: ; 0x17f75
- ld a, [wd551]
- and a
- ret z
- ld de, wd572
- ld hl, OAMOffsets_17fbe
- ld b, $6
- ld c, $40
-asm_17f84: ; 0x17f84
- push bc
- ld a, [de]
- add c
- cp c
- push af
- ld a, [hSCX]
- ld b, a
- ld a, [hli]
- sub b
- ld b, a
- ld a, [hSCY]
- ld c, a
- ld a, [hli]
- sub c
- ld c, a
- ld a, [hNumFramesDropped]
- and $e
- jr nz, .asm_17f9c
- dec c
-.asm_17f9c
- pop af
- call nz, LoadOAMData
- pop bc
- inc de
- dec b
- jr nz, asm_17f84
- ret
-
-OAMOffsets_17fa6:
-; x, y offsets
- db $4C, $0C
- db $32, $12
- db $66, $12
- db $19, $25
- db $7F, $25
- db $1E, $36
- db $7F, $36
- db $0E, $65
- db $8B, $65
- db $49, $7A
- db $59, $7A
- db $71, $7A
-
-OAMOffsets_17fbe:
-; x, y offsets
- db $3D, $13
- db $5B, $13
- db $31, $17
- db $67, $17
- db $2E, $2C
- db $6A, $2C
-
-Func_17fca: ; 0x17fca
- ld a, [wd604]
- and a
- ret z
- ld a, [wd606]
- inc a
- ld [wd606], a
- ld a, $40
- ld hl, hSCX
- sub [hl]
- ld b, a
- ld a, $1
- ld hl, hSCY
- sub [hl]
- ld c, a
- ld a, [wd606]
- srl a
- srl a
- srl a
- and $3
- add $4f
- cp $52
- call nz, LoadOAMData
- ret
|