diff options
author | U-Fish-PC\Daniel <corrnondacqb@yahoo.com> | 2014-04-23 21:07:44 -0400 |
---|---|---|
committer | U-Fish-PC\Daniel <corrnondacqb@yahoo.com> | 2014-04-23 21:07:44 -0400 |
commit | 14bbdcb6c3b263b4444e93df2d2adbb992b4e7dd (patch) | |
tree | 75f2fbd3968d80d7eb3ca08dff4b2b98e3a8cb9f | |
parent | af333e112a76c8ddf92e104f92e190c5d0f8e01c (diff) |
LoadMap
-rwxr-xr-x | engine/bank1.asm | 5 | ||||
-rwxr-xr-x | engine/bank20.asm | 10 | ||||
-rwxr-xr-x | engine/bank3.asm | 179 | ||||
-rwxr-xr-x | engine/bank4.asm | 359 | ||||
-rwxr-xr-x | engine/bank7.asm | 1 | ||||
-rwxr-xr-x | engine/home.asm | 52 |
6 files changed, 590 insertions, 16 deletions
diff --git a/engine/bank1.asm b/engine/bank1.asm index 5856f5a..3ef05c9 100755 --- a/engine/bank1.asm +++ b/engine/bank1.asm @@ -39,7 +39,10 @@ Func_4050: ; 4050 (1:4050) ret Func_405a: ; 405a (1:405a) -INCBIN "baserom.gbc",$405a,$7571 - $405a +INCBIN "baserom.gbc",$405a,$6785 - $405a + +Func_6785: ; 6785 (1:6785) +INCBIN "baserom.gbc",$6785,$7571 - $6785 Func_7571: ; 7571 (1:7571) INCBIN "baserom.gbc",$7571,$8000 - $7571
\ No newline at end of file diff --git a/engine/bank20.asm b/engine/bank20.asm index a4898c4..1351149 100755 --- a/engine/bank20.asm +++ b/engine/bank20.asm @@ -1,9 +1,10 @@ +Func_80000: ; 80000 (20:4000) INCBIN "baserom.gbc",$80000,$8020f - $80000 Func_8020f: ; 8020f (20:420f) push bc push af - ld bc, Unknown_80e5d + ld bc, MapDataPointers ld h, $0 add hl, bc ld c, [hl] @@ -108,10 +109,13 @@ Func_802bb: ; 802bb (20:42bb) ret ; 0x802d4 -INCBIN "baserom.gbc",$802d4,$80e5a - $802d4 +INCBIN "baserom.gbc",$802d4,$80480 - $802d4 + +Func_80480: ; 80480 (20:4480) +INCBIN "baserom.gbc",$80480,$80e5a - $80480 Unknown_80e5a: ; 80e5a (20:4e5a) INCBIN "baserom.gbc",$80e5a,$80e5d - $80e5a -Unknown_80e5d: ; 80e5d (20:4e5d) +MapDataPointers: ; 80e5d (20:4e5d) INCBIN "baserom.gbc",$80e5d,$84000 - $80e5d
\ No newline at end of file diff --git a/engine/bank3.asm b/engine/bank3.asm index ecabee2..45f17cb 100755 --- a/engine/bank3.asm +++ b/engine/bank3.asm @@ -1,5 +1,133 @@ -Func_c000: ; c000 (3:4000) -INCBIN "baserom.gbc",$c000,$c1a4 - $c000 +LoadMap: ; c000 (3:4000) + call Func_028a + call Func_07b6 + bank1call Func_6785 + call Func_07be + ld a, $0 + ld [$d0b5], a + xor a + ld [$d10f], a + ld [$d110], a + ld [$d113], a + farcall Func_10a9b + call Func_c1a4 + call Func_099c + xor a + ld [$cab6], a + call Func_2119 + call Func_02b9 + xor a + ld [$cd08], a + xor a + ld [$d291], a +.asm_c037 + farcall Func_10ab4 + call Func_c1a4 + call Func_c241 + call Func_04a2 + call Func_3ca0 + ld a, $c2 + ld [$ff97], a + farcall Func_1c440 + ld a, [$d0bb] + ld [wCurMap], a + ld a, [$d0bc] + ld [wPlayerXCoord], a + ld a, [$d0bd] + ld [wPlayerYCoord], a + call Func_c36a + call Func_c184 + call Func_c49c + farcall Func_80000 + call Func_c4b9 + call Func_c943 + call Func_c158 + farcall Func_80480 + call Func_c199 + xor a + ld [$d0b4], a + ld [$d0c1], a + call Func_39fc + farcall Func_10af9 + call Func_c141 + call Func_c17a +.asm_c092 + call Func_3c48 + call Func_c491 + call Func_c0ce + ld hl, $d0b4 + ld a, [hl] + and $d0 + jr z, .asm_c092 + call Func_3c48 + ld hl, $d0b4 + ld a, [hl] + bit 4, [hl] + jr z, .asm_c0b6 + ld a, $c + call Func_3796 + jp .asm_c037 +.asm_c0b6 + farcall Func_10ab4 + call Func_c1a0 + ld a, [$d113] + or a + jr z, .asm_c0ca + call Func_c280 + farcall Func_103d3 +.asm_c0ca + call Func_c280 + ret + +Func_c0ce: ; c0ce (3:40ce) + ld a, [$d0bf] + res 7, a + rlca + add $e0 + ld l, a + ld a, $40 + adc $0 + ld h, a + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 0xc0e0 + +INCBIN "baserom.gbc",$c0e0,$c141 - $c0e0 + +Func_c141: ; c141 (3:4141) + ld hl, $d0c2 + ld a, [hl] + or a + ret z + push af + xor a + ld [hl], a + pop af + dec a + ld hl, PointerTable_c152 + jp JumpToFunctionInTable + +PointerTable_c152: ; c152 (3:4152) + dw Func_c9bc + dw Func_fc2b + dw Func_fcad + +Func_c158: ; c158 (3:4158) +INCBIN "baserom.gbc",$c158,$c17a - $c158 + +Func_c17a: ; c17a (3:417a) +INCBIN "baserom.gbc",$c17a,$c184 - $c17a + +Func_c184: ; c184 (3:4184) +INCBIN "baserom.gbc",$c184,$c199 - $c184 + +Func_c199: ; c199 (3:4199) +INCBIN "baserom.gbc",$c199,$c1a0 - $c199 + +Func_c1a0: ; c1a0 (3:41a0) +INCBIN "baserom.gbc",$c1a0,$c1a4 - $c1a0 Func_c1a4: ; c1a4 (3:41a4) INCBIN "baserom.gbc",$c1a4,$c1b1 - $c1a4 @@ -11,7 +139,36 @@ Func_c1ed: ; c1ed (3:41ed) INCBIN "baserom.gbc",$c1ed,$c1f8 - $c1ed Func_c1f8: ; c1f8 (3:41f8) -INCBIN "baserom.gbc",$c1f8,$c5d5 - $c1f8 +INCBIN "baserom.gbc",$c1f8,$c241 - $c1f8 + +Func_c241: ; c241 (3:4241) +INCBIN "baserom.gbc",$c241,$c280 - $c241 + +Func_c280: ; c280 (3:4280) +INCBIN "baserom.gbc",$c280,$c36a - $c280 + +Func_c36a: ; c36a (3:436a) + xor a + ld [$d323], a + ld a, [wCurMap] + cp POKEMON_DOME_ENTRANCE + jr nz, .asm_c379 + xor a + ld [$d324], a +.asm_c379 + ret +; 0xc37a + +INCBIN "baserom.gbc",$c37a,$c491 - $c37a + +Func_c491: ; c491 (3:4491) +INCBIN "baserom.gbc",$c491,$c49c - $c491 + +Func_c49c: ; c49c (3:449c) +INCBIN "baserom.gbc",$c49c,$c4b9 - $c49c + +Func_c4b9: ; c4b9 (3:44b9) +INCBIN "baserom.gbc",$c4b9,$c5d5 - $c4b9 Func_c5d5: ; c5d5 (3:45d5) push hl @@ -44,7 +201,13 @@ Func_c5e9: ; c5e9 (3:45e9) ret ; 0xc5fe -INCBIN "baserom.gbc",$c5fe,$c9cb - $c5fe +INCBIN "baserom.gbc",$c5fe,$c943 - $c5fe + +Func_c943: ; c943 (3:4943) +INCBIN "baserom.gbc",$c943,$c9bc - $c943 + +Func_c9bc: ; c9bc (3:49bc) +INCBIN "baserom.gbc",$c9bc,$c9cb - $c9bc Func_c9cb: ; c9cb (3:49cb) INCBIN "baserom.gbc",$c9cb,$ca6c - $c9cb @@ -113,4 +276,10 @@ RST20: ; cc42 (3:4c42) ret ; 0xcc60 -INCBIN "baserom.gbc",$cc60,$10000 - $cc60
\ No newline at end of file +INCBIN "baserom.gbc",$cc60,$fc2b - $cc60 + +Func_fc2b: ; fc2b (3:7c2b) +INCBIN "baserom.gbc",$fc2b,$fcad - $fc2b + +Func_fcad: ; fcad (3:7cad) +INCBIN "baserom.gbc",$fcad,$10000 - $fcad
\ No newline at end of file diff --git a/engine/bank4.asm b/engine/bank4.asm index 18a1cbd..1fe322b 100755 --- a/engine/bank4.asm +++ b/engine/bank4.asm @@ -1,4 +1,16 @@ -INCBIN "baserom.gbc",$10000,$10e55 - $10000 +INCBIN "baserom.gbc",$10000,$103d3 - $10000 + +Func_103d3: ; 103d3 (4:43d3) +INCBIN "baserom.gbc",$103d3,$10a9b - $103d3 + +Func_10a9b: ; 10a9b (4:4a9b) +INCBIN "baserom.gbc",$10a9b,$10ab4 - $10a9b + +Func_10ab4: ; 10ab4 (4:4ab4) +INCBIN "baserom.gbc",$10ab4,$10af9 - $10ab4 + +Func_10af9: ; 10af9 (4:4af9) +INCBIN "baserom.gbc",$10af9,$10e55 - $10af9 Func_10e55: ; 10e55 (4:4e55) ld a, [$d336] @@ -467,7 +479,350 @@ Func_11184: ; 11184 (4:5184) INCBIN "baserom.gbc",$111b3,$11320 - $111b3 Func_11320: ; 11320 (4:5320) -INCBIN "baserom.gbc",$11320,$1217b - $11320 +INCBIN "baserom.gbc",$11320,$1162a - $11320 + +MapHeaders: ; 1162a (4:562a) +; OVERWORLD_MAP + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $54ec + dw $0000 + dw $0000 + dw $0000 + +; MASON_LABORATORY + dw $772f + dw $0000 + dw $7b04 + dw $5565 + dw $5549 + dw $553b + dw $0000 + dw $555e + +; DECK_MACHINE_ROOM + dw $775a + dw $0000 + dw $7b4d + dw $0000 + dw $0000 + dw $589f + dw $0000 + dw $58ad + +; ISHIHARAS_HOUSE + dw $7773 + dw $0000 + dw $7c02 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + +; FIGHTING_CLUB_ENTRANCE + dw $7786 + dw $0000 + dw $0000 + dw $0000 + dw $6809 + dw $67f6 + dw $0000 + dw $0000 + +; FIGHTING_CLUB_LOBBY + dw $779f + dw $0000 + dw $7c6f + dw $0000 + dw $0000 + dw $5c68 + dw $0000 + dw $0000 + +; FIGHTING_CLUB + dw $77ca + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $5da3 + dw $0000 + dw $0000 + +; ROCK_CLUB_ENTRANCE + dw $77e3 + dw $0000 + dw $0000 + dw $0000 + dw $6809 + dw $67f6 + dw $0000 + dw $0000 + +; ROCK_CLUB_LOBBY + dw $77fc + dw $0000 + dw $7ca6 + dw $0000 + dw $0000 + dw $5ed5 + dw $0000 + dw $0000 + +; ROCK_CLUB + dw $7827 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $5fd6 + dw $0000 + dw $0000 + +; WATER_CLUB_ENTRANCE + dw $783a + dw $0000 + dw $0000 + dw $0000 + dw $6809 + dw $67f6 + dw $0000 + dw $0000 + +; WATER_CLUB_LOBBY + dw $7853 + dw $0000 + dw $7cdd + dw $0000 + dw $0000 + dw $60a2 + dw $0000 + dw $0000 + +; WATER_CLUB + dw $787e + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $6157 + dw $613f + dw $0000 + +; LIGHTNING_CLUB_ENTRANCE + dw $7897 + dw $0000 + dw $0000 + dw $0000 + dw $6809 + dw $67f6 + dw $0000 + dw $0000 + +; LIGHTNING_CLUB_LOBBY + dw $78b0 + dw $0000 + dw $7d14 + dw $0000 + dw $0000 + dw $636d + dw $0000 + dw $0000 + +; LIGHTNING_CLUB + dw $78d5 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $63e8 + dw $0000 + dw $0000 + +; GRASS_CLUB_ENTRANCE + dw $78ee + dw $0000 + dw $0000 + dw $0000 + dw $6809 + dw $6525 + dw $0000 + dw $0000 + +; GRASS_CLUB_LOBBY + dw $790d + dw $0000 + dw $7d4b + dw $0000 + dw $0000 + dw $65c4 + dw $0000 + dw $0000 + +; GRASS_CLUB + dw $7932 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $66e7 + dw $0000 + dw $0000 + +; PSYCHIC_CLUB_ENTRANCE + dw $7945 + dw $0000 + dw $0000 + dw $0000 + dw $6809 + dw $67f6 + dw $0000 + dw $0000 + +; PSYCHIC_CLUB_LOBBY + dw $7964 + dw $0000 + dw $7d82 + dw $0000 + dw $6971 + dw $6963 + dw $0000 + dw $0000 + +; PSYCHIC_CLUB + dw $798f + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $6a46 + dw $0000 + dw $0000 + +; SCIENCE_CLUB_ENTRANCE + dw $79a8 + dw $0000 + dw $0000 + dw $0000 + dw $6809 + dw $67f6 + dw $0000 + dw $0000 + +; SCIENCE_CLUB_LOBBY + dw $79c1 + dw $0000 + dw $7db9 + dw $0000 + dw $0000 + dw $6b57 + dw $0000 + dw $0000 + +; SCIENCE_CLUB + dw $79ec + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $6bf1 + dw $0000 + dw $0000 + +; FIRE_CLUB_ENTRANCE + dw $7a05 + dw $0000 + dw $0000 + dw $0000 + dw $6809 + dw $67f6 + dw $0000 + dw $0000 + +; FIRE_CLUB_LOBBY + dw $7a1e + dw $0000 + dw $7df0 + dw $6d57 + dw $0000 + dw $6d49 + dw $0000 + dw $0000 + +; FIRE_CLUB + dw $7a43 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $6e93 + dw $0000 + dw $0000 + +; CHALLENGE_HALL_ENTRANCE + dw $7a5c + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + +; CHALLENGE_HALL_LOBBY + dw $7a63 + dw $0000 + dw $7e27 + dw $0000 + dw $7088 + dw $0000 + dw $0000 + dw $0000 + +; CHALLENGE_HALL + dw $7a9a + dw $0000 + dw $0000 + dw $0000 + dw $7258 + dw $7239 + dw $0000 + dw $0000 + +; POKEMON_DOME_ENTRANCE + dw $7ab9 + dw $0000 + dw $7e5e + dw $0000 + dw $7607 + dw $0000 + dw $0000 + dw $762a + +; POKEMON_DOME + dw $7ac0 + dw $0000 + dw $0000 + dw $0000 + dw $7706 + dw $76e0 + dw $76c6 + dw $7718 + +; HALL_OF_HONOR + dw $7adf + dw $0000 + dw $7ec2 + dw $0000 + dw $7bdb + dw $0000 + dw $0000 + dw $0000 + +INCBIN "baserom.gbc",$1184a,$1217b - $1184a Unknown_1217b: ; 1217b (4:617b) INCBIN "baserom.gbc",$1217b,$1229f - $1217b diff --git a/engine/bank7.asm b/engine/bank7.asm index 25e0772..8258a67 100755 --- a/engine/bank7.asm +++ b/engine/bank7.asm @@ -375,6 +375,7 @@ MapSongs: ; 1c374 (7:4374) db $36,$37,$00,$0A,$17,MUSIC_POKEMONDOME ; POKEMON_DOME db $3A,$3B,$00,$0A,$18,MUSIC_HALLOFHONOR ; HALL_OF_HONOR +Func_1c440: ; 1c440 (7:4440) INCBIN "baserom.gbc",$1c440,$1d078 - $1c440 Func_1d078: ; 1d078 (7:5078) diff --git a/engine/home.asm b/engine/home.asm index 07d6193..426f2df 100755 --- a/engine/home.asm +++ b/engine/home.asm @@ -247,8 +247,8 @@ Func_028a: ; 028a (0:028a) ld a, [$cab7] ld [$ffff], a ret -; 0x2b9 +Func_02b9: ; 02b9 (0:02b9) INCBIN "baserom.gbc",$02b9,$02dd - $02b9 Func_02dd: ; 02dd (0:02dd) @@ -1821,7 +1821,10 @@ Func_1f0f: ; 1f0f (0:1f0f) ret ; 0x1f4f -INCBIN "baserom.gbc",$1f4f,$21c5 - $1f4f +INCBIN "baserom.gbc",$1f4f,$2119 - $1f4f + +Func_2119: ; 2119 (0:2119) +INCBIN "baserom.gbc",$2119,$21c5 - $2119 Func_21c5: ; 21c5 (0:21c5) push de @@ -3054,7 +3057,7 @@ Func_383d: ; 383d (0:383d) .asm_3845 call Func_3855 jr nc, .asm_3850 - farcall Func_c000 + farcall LoadMap jr .asm_3845 .asm_3850 pop af @@ -3121,7 +3124,43 @@ Func_39fc: ; 39fc (0:39fc) INCBIN "baserom.gbc",$39fc,$3a40 - $39fc Func_3a40: ; 3a40 (0:3a40) -INCBIN "baserom.gbc",$3a40,$3aed - $3a40 +INCBIN "baserom.gbc",$3a40,$3abd - $3a40 + +Func_3abd: ; 3abd (0:3abd) + push bc + push hl + ld a, [wCurMap] + ld l, a + ld h, $0 + add hl, hl + add hl, hl + add hl, hl + add hl, hl + ld bc, MapHeaders + add hl, bc + pop bc + ld b, $0 + add hl, bc + ld a, [$ff80] + push af + ld a, BANK(MapHeaders) + call BankswitchHome + ld a, [hli] + ld h, [hl] + ld l, a + pop af + call BankswitchHome + ld a, l + or h + jr nz, .asm_3ae5 + scf +.asm_3ae5 + ccf + pop bc + ret +; 0x3ae8 + +INCBIN "baserom.gbc",$3ae8,$3aed - $3ae8 Func_3aed: ; 3aed (0:3aed) ld hl, $d413 @@ -3207,7 +3246,10 @@ Func_3c5a: ; 3c5a (0:3c5a) ret ; 0x3c83 -INCBIN "baserom.gbc",$3c83,$3d72 - $3c83 +INCBIN "baserom.gbc",$3c83,$3ca0 - $3c83 + +Func_3ca0: ; 3ca0 (0:3ca0) +INCBIN "baserom.gbc",$3ca0,$3d72 - $3ca0 Func_3d72: ; 3d72 (0:3d72) ld a, [$ff80] |