Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

split out a bunch of bank 0 from main.asm #177

Merged
merged 30 commits into from
Aug 30, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
eff81fb
fix Stack's address ($c100 -> $c0ff)
yenatch Aug 29, 2013
a4b69a1
more text_jumps in known functions
yenatch Aug 29, 2013
9d1a6fe
more field move scripts
yenatch Aug 29, 2013
99760c2
more hlcoords in bank 1
yenatch Aug 29, 2013
1a5f942
get rid of a trailing incbin at the end of bank 21
yenatch Aug 29, 2013
a167620
more field move scripts and some map header references
yenatch Aug 29, 2013
ae1d50c
warp sound effects in field moves
yenatch Aug 29, 2013
37a8417
secret ruins of alph water stone room asm
yenatch Aug 29, 2013
2b5b6f3
split fading functions out of main.asm
yenatch Aug 29, 2013
906496e
split lcd functions out of main.asm
yenatch Aug 29, 2013
0a82930
reformat some joypad functions
yenatch Aug 29, 2013
dd11c22
more joypad function cleanup
yenatch Aug 29, 2013
2341bb1
move more joypad code from main.asm into engine/joypad.asm
yenatch Aug 29, 2013
6467755
move serial asm from main.asm into engine/serial.asm
yenatch Aug 29, 2013
6d29673
move time-related asm from main.asm into engine/time.asm
yenatch Aug 29, 2013
04da88a
move palette asm from main.asm to engine/palettes.asm
yenatch Aug 29, 2013
2c16bc7
move copy asm from main.asm to engine/copy.asm
yenatch Aug 29, 2013
cc98fab
move VBlank interrupt label from main.asm to engine/vblank.asm
yenatch Aug 29, 2013
64a6af4
condense some repetitive asm with rept macros
yenatch Aug 30, 2013
579ab13
proper labeling of common function GetSpritePalette
yenatch Aug 30, 2013
fb28d24
condense repeated asm with rept macros
yenatch Aug 30, 2013
55cd892
fix/add some missing function labels in bank 0
yenatch Aug 30, 2013
c4a764c
use more bank 0 labels in engine/scripting.asm
yenatch Aug 30, 2013
7201ea8
move GiveOddEgg into odd_eggs.asm
yenatch Aug 30, 2013
fd74b4d
move battle tower mon handling asm into battle_tower.asm
yenatch Aug 30, 2013
2f169fd
clean up bank 7e includes
yenatch Aug 30, 2013
320142f
PCItems in wram
yenatch Aug 30, 2013
79bcda1
PCItems and game init formatting
yenatch Aug 30, 2013
3aabca9
remove a section def in the middle of the player struct
yenatch Aug 30, 2013
b86d0da
less arbitrary wram clearing in game init
yenatch Aug 30, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
431 changes: 431 additions & 0 deletions engine/copy.asm

Large diffs are not rendered by default.

134 changes: 134 additions & 0 deletions engine/fade.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
; Functions to fade the screen in and out.


Function48c: ; 48c
ld a, [TimeOfDayPal]
ld b, a
ld hl, IncGradGBPalTable_11
ld a, l
sub b
ld l, a
jr nc, .asm_499
dec h

.asm_499
ld a, [hli]
ld [rBGP], a
ld a, [hli]
ld [rOBP0], a
ld a, [hli]
ld [rOBP1], a
ret
; 4a3


Function4a3: ; 4a3
ld a, [hCGB]
and a
jr z, .asm_4af
ld hl, IncGradGBPalTable_00
ld b, 4
jr FadeOut

.asm_4af
ld hl, IncGradGBPalTable_08
ld b, 4
jr FadeOut
; 4b6

Function4b6: ; 4b6
ld a, [hCGB]
and a
jr z, .asm_4c2
ld hl, IncGradGBPalTable_05
ld b, 3
jr FadeOut

.asm_4c2
ld hl, IncGradGBPalTable_13
ld b, 3
; 4c7

FadeOut: ; 4c7
push de
ld a, [hli]
call DmgToCgbBGPals
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
call DmgToCgbObjPals
ld c, 8
call DelayFrames
pop de
dec b
jr nz, FadeOut
ret
; 4dd

Function4dd: ; 4dd
ld a, [hCGB]
and a
jr z, .asm_4e9
ld hl, IncGradGBPalTable_04 - 1
ld b, 4
jr FadeIn

.asm_4e9
ld hl, IncGradGBPalTable_12 - 1
ld b, 4
jr FadeIn
; 4f0

Function4f0: ; 4f0
ld a, [hCGB]
and a
jr z, .asm_4fc
ld hl, IncGradGBPalTable_07 - 1
ld b, 3
jr FadeIn

.asm_4fc
ld hl, IncGradGBPalTable_15 - 1
ld b, 3
; fallthrough
; 501

FadeIn: ; 501
push de
ld a, [hld]
ld d, a
ld a, [hld]
ld e, a
call DmgToCgbObjPals
ld a, [hld]
call DmgToCgbBGPals
ld c, 8
call DelayFrames
pop de
dec b
jr nz, FadeIn
ret
; 517


; 517
IncGradGBPalTable_00: db %11111111, %11111111, %11111111
IncGradGBPalTable_01: db %11111110, %11111110, %11111110
IncGradGBPalTable_02: db %11111001, %11111001, %11111001
IncGradGBPalTable_03: db %11100100, %11100100, %11100100
IncGradGBPalTable_04: db %11100100, %11100100, %11100100
IncGradGBPalTable_05: db %10010000, %10010000, %10010000
IncGradGBPalTable_06: db %01000000, %01000000, %01000000
IncGradGBPalTable_07: db %00000000, %00000000, %00000000
; bgp obp1 obp2
IncGradGBPalTable_08: db %11111111, %11111111, %11111111
IncGradGBPalTable_09: db %11111110, %11111110, %11111000
IncGradGBPalTable_10: db %11111001, %11100100, %11100100
IncGradGBPalTable_11: db %11100100, %11010000, %11100000
IncGradGBPalTable_12: db %11100100, %11010000, %11100000
IncGradGBPalTable_13: db %10010000, %10000000, %10010000
IncGradGBPalTable_14: db %01000000, %01000000, %01000000
IncGradGBPalTable_15: db %00000000, %00000000, %00000000
; 547

2 changes: 1 addition & 1 deletion engine/init.asm
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ Init: ; 17d
or c
jr nz, .asm_1b1

ld sp, Stack - 1
ld sp, Stack

; Clear HRAM
ld a, [hCGB]
Expand Down
216 changes: 216 additions & 0 deletions engine/joypad.asm
Original file line number Diff line number Diff line change
Expand Up @@ -273,3 +273,219 @@ StopAutoInput: ; a0a
ret
; a1b


Functiona1b: ; a1b

call DelayFrame

push bc
call Functiona57
pop bc

ld a, [hJoyDown]
cp D_UP | SELECT | BUTTON_B
jr z, .asm_a34

ld a, [$ffa9]
and START | BUTTON_A
jr nz, .asm_a34

dec c
jr nz, Functiona1b

and a
ret

.asm_a34
scf
ret
; a36


Functiona36: ; a36
call DelayFrame
call GetJoypadPublic
ld a, [hJoyPressed]
and BUTTON_A | BUTTON_B
ret nz
call RTC
jr Functiona36
; a46

Functiona46: ; a46
ld a, [hOAMUpdate]
push af
ld a, 1
ld [hOAMUpdate], a
call WaitBGMap
call Functiona36
pop af
ld [hOAMUpdate], a
ret
; a57

Functiona57: ; a57
call GetJoypadPublic
ld a, [$ffaa]
and a
ld a, [hJoyPressed]
jr z, .asm_a63
ld a, [hJoyDown]
.asm_a63
ld [$ffa9], a
ld a, [hJoyPressed]
and a
jr z, .asm_a70
ld a, 15
ld [TextDelayFrames], a
ret

.asm_a70
ld a, [TextDelayFrames]
and a
jr z, .asm_a7a
xor a
ld [$ffa9], a
ret

.asm_a7a
ld a, 5
ld [TextDelayFrames], a
ret
; a80

Functiona80: ; a80
ld a, [$ffaf]
push af
ld a, [$ffb0]
push af
xor a
ld [$ffaf], a
ld a, $6
ld [$ffb0], a
.asm_a8d
push hl
ld hl, $c606
call Functionb06
pop hl
call Functiona57
ld a, [$ffa9]
and $3
jr z, .asm_a8d
pop af
ld [$ffb0], a
pop af
ld [$ffaf], a
ret
; aa5

Functionaa5: ; aa5
call Functiona57
ld a, [$ffa9]
and BUTTON_A | BUTTON_B
jr z, Functionaa5
ret
; aaf

Functionaaf: ; aaf
ld a, [InLinkBattle]
and a
jr nz, .asm_ac1
call Functionac6
push de
ld de, SFX_READ_TEXT_2
call StartSFX
pop de
ret

.asm_ac1
ld c, 65
jp DelayFrames
; ac6

Functionac6: ; ac6
ld a, [hOAMUpdate]
push af
ld a, $1
ld [hOAMUpdate], a
ld a, [InputType]
or a
jr z, .asm_ad9
callba Function1de28a
.asm_ad9
call Functionaf5
call Functiona57
ld a, [hJoyPressed]
and $3
jr nz, .asm_af1
call RTC
ld a, $1
ld [hBGMapMode], a
call DelayFrame
jr .asm_ad9

.asm_af1
pop af
ld [hOAMUpdate], a
ret
; af5

Functionaf5: ; af5
ld a, [$ff9b]
and $10
jr z, .asm_aff
ld a, $ee
jr .asm_b02

.asm_aff
ld a, [$c605]

.asm_b02
ld [$c606], a
ret
; b06

Functionb06: ; b06
push bc
ld a, [hl]
ld b, a
ld a, $ee
cp b
pop bc
jr nz, .asm_b27
ld a, [$ffaf]
dec a
ld [$ffaf], a
ret nz
ld a, [$ffb0]
dec a
ld [$ffb0], a
ret nz
ld a, $7a
ld [hl], a
ld a, $ff
ld [$ffaf], a
ld a, $6
ld [$ffb0], a
ret

.asm_b27
ld a, [$ffaf]
and a
ret z
dec a
ld [$ffaf], a
ret nz
dec a
ld [$ffaf], a
ld a, [$ffb0]
dec a
ld [$ffb0], a
ret nz
ld a, $6
ld [$ffb0], a
ld a, $ee
ld [hl], a
ret
; b40