mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
baa0dc5a96
This is an informed attempt at reorganizing the engine/ directory by creating categorized subdirectories, in order to make it easier to navigate and find things. The directories created are as follows: * engine/game: Contains all "minigames", things like the unown puzzle and slot machine. * engine/gfx: Contains all handling of graphics. From loading palettes to playing animations. * engine/link: Contains all multiplayer functionality. * engine/menu: Contains all generic/misc. menus and menu code. Other, more specialized menus are in their own subdirectories (pokedex, pokegear, party menu, etc). * engine/overworld: Contains all handling of the overworld. From loading and connecting maps to wild encounters and the scripting engine. * engine/pokegear: In the same vein as engine/pokedex, except it could use some more splitting up. * engine/pokemon: Contains everything related to manipulating pokemon data. From the pokemon storage system to evolution and mail. * engine/printer: Contains everything related to printing things as well as the printer communication. * engine/title: Contains intro sequences, title screens and credits.
88 lines
1.2 KiB
NASM
88 lines
1.2 KiB
NASM
GetLandmarkCoords: ; 0x1ca896
|
|
; Return coordinates (d, e) of landmark e.
|
|
push hl
|
|
ld l, e
|
|
ld h, 0
|
|
add hl, hl
|
|
add hl, hl
|
|
ld de, Landmarks
|
|
add hl, de
|
|
ld a, [hli]
|
|
ld e, a
|
|
ld d, [hl]
|
|
pop hl
|
|
ret
|
|
; 0x1ca8a5
|
|
|
|
|
|
GetLandmarkName:: ; 0x1ca8a5
|
|
; Copy the name of landmark e to wStringBuffer1.
|
|
push hl
|
|
push de
|
|
push bc
|
|
|
|
ld l, e
|
|
ld h, 0
|
|
add hl, hl
|
|
add hl, hl
|
|
ld de, Landmarks + 2
|
|
add hl, de
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
|
|
ld de, wStringBuffer1
|
|
ld c, 18
|
|
.copy
|
|
ld a, [hli]
|
|
ld [de], a
|
|
inc de
|
|
dec c
|
|
jr nz, .copy
|
|
|
|
pop bc
|
|
pop de
|
|
pop hl
|
|
ret
|
|
; 0x1ca8c3
|
|
|
|
|
|
INCLUDE "data/maps/landmarks.asm"
|
|
|
|
|
|
RegionCheck: ; 0x1caea1
|
|
; Checks if the player is in Kanto or Johto.
|
|
; If in Johto, returns 0 in e.
|
|
; If in Kanto, returns 1 in e.
|
|
ld a, [wMapGroup]
|
|
ld b, a
|
|
ld a, [wMapNumber]
|
|
ld c, a
|
|
call GetWorldMapLocation
|
|
cp FAST_SHIP ; S.S. Aqua
|
|
jr z, .johto
|
|
cp SPECIAL_MAP
|
|
jr nz, .checkagain
|
|
|
|
; In a special map, get the backup map group / map id
|
|
ld a, [wBackupMapGroup]
|
|
ld b, a
|
|
ld a, [wBackupMapNumber]
|
|
ld c, a
|
|
call GetWorldMapLocation
|
|
|
|
.checkagain
|
|
cp KANTO_LANDMARK
|
|
jr c, .johto
|
|
|
|
; Victory Road area is considered to be Johto.
|
|
cp VICTORY_ROAD
|
|
jr c, .kanto
|
|
|
|
.johto
|
|
ld e, JOHTO_REGION
|
|
ret
|
|
.kanto
|
|
ld e, KANTO_REGION
|
|
ret
|