Move predef/ files into engine/
Get rid of single-file engine/ subdirectories Move tilesets/ palettes unrelated to individual tilesets into data/palettes/ (more from engine/colors.asm can be moved here too)
This commit is contained in:
277
engine/time_capsule.asm
Executable file
277
engine/time_capsule.asm
Executable file
@@ -0,0 +1,277 @@
|
||||
; These functions seem to be related to backwards compatibility
|
||||
|
||||
ValidateOTTrademon: ; fb57e
|
||||
ld a, [wd003]
|
||||
ld hl, OTPartyMon1Species
|
||||
call GetPartyLocation
|
||||
push hl
|
||||
ld a, [wd003]
|
||||
inc a
|
||||
ld c, a
|
||||
ld b, 0
|
||||
ld hl, OTPartyCount
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
pop hl
|
||||
cp EGG
|
||||
jr z, .matching_or_egg
|
||||
cp [hl]
|
||||
jr nz, .abnormal
|
||||
|
||||
.matching_or_egg
|
||||
ld b, h
|
||||
ld c, l
|
||||
ld hl, MON_LEVEL
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
cp MAX_LEVEL + 1
|
||||
jr nc, .abnormal
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_TIMECAPSULE
|
||||
jr nz, .normal
|
||||
ld hl, OTPartySpecies
|
||||
ld a, [wd003]
|
||||
ld c, a
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
|
||||
; Magnemite and Magneton's types changed
|
||||
; from Electric to Electric/Steel.
|
||||
cp MAGNEMITE
|
||||
jr z, .normal
|
||||
cp MAGNETON
|
||||
jr z, .normal
|
||||
|
||||
ld [CurSpecies], a
|
||||
call GetBaseData
|
||||
ld hl, wLinkOTPartyMonTypes
|
||||
add hl, bc
|
||||
add hl, bc
|
||||
ld a, [BaseType1]
|
||||
cp [hl]
|
||||
jr nz, .abnormal
|
||||
inc hl
|
||||
ld a, [BaseType2]
|
||||
cp [hl]
|
||||
jr nz, .abnormal
|
||||
|
||||
.normal
|
||||
and a
|
||||
ret
|
||||
|
||||
.abnormal
|
||||
scf
|
||||
ret
|
||||
; fb5dd
|
||||
|
||||
Functionfb5dd: ; fb5dd
|
||||
ld a, [wd002]
|
||||
ld d, a
|
||||
ld a, [PartyCount]
|
||||
ld b, a
|
||||
ld c, $0
|
||||
.loop
|
||||
ld a, c
|
||||
cp d
|
||||
jr z, .next
|
||||
push bc
|
||||
ld a, c
|
||||
ld hl, PartyMon1HP
|
||||
call GetPartyLocation
|
||||
pop bc
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
jr nz, .done
|
||||
|
||||
.next
|
||||
inc c
|
||||
dec b
|
||||
jr nz, .loop
|
||||
ld a, [wd003]
|
||||
ld hl, OTPartyMon1HP
|
||||
call GetPartyLocation
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
jr nz, .done
|
||||
scf
|
||||
ret
|
||||
|
||||
.done
|
||||
and a
|
||||
ret
|
||||
; fb60d
|
||||
|
||||
PlaceTradePartnerNamesAndParty: ; fb60d
|
||||
hlcoord 4, 0
|
||||
ld de, PlayerName
|
||||
call PlaceString
|
||||
ld a, $14
|
||||
ld [bc], a
|
||||
hlcoord 4, 8
|
||||
ld de, OTPlayerName
|
||||
call PlaceString
|
||||
ld a, $14
|
||||
ld [bc], a
|
||||
hlcoord 7, 1
|
||||
ld de, PartySpecies
|
||||
call .PlaceSpeciesNames
|
||||
hlcoord 7, 9
|
||||
ld de, OTPartySpecies
|
||||
.PlaceSpeciesNames: ; fb634
|
||||
ld c, $0
|
||||
.loop
|
||||
ld a, [de]
|
||||
cp -1
|
||||
ret z
|
||||
ld [wd265], a
|
||||
push bc
|
||||
push hl
|
||||
push de
|
||||
push hl
|
||||
ld a, c
|
||||
ld [hProduct], a
|
||||
call GetPokemonName
|
||||
pop hl
|
||||
call PlaceString
|
||||
pop de
|
||||
inc de
|
||||
pop hl
|
||||
ld bc, SCREEN_WIDTH
|
||||
add hl, bc
|
||||
pop bc
|
||||
inc c
|
||||
jr .loop
|
||||
; fb656
|
||||
|
||||
|
||||
INCLUDE "data/time_capsule/special_stats.asm"
|
||||
|
||||
|
||||
INCLUDE "event/name_rater.asm"
|
||||
|
||||
|
||||
PlaySlowCry: ; fb841
|
||||
ld a, [ScriptVar]
|
||||
call LoadCryHeader
|
||||
jr c, .done
|
||||
|
||||
ld hl, CryPitch
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
ld bc, -$140
|
||||
add hl, bc
|
||||
ld a, l
|
||||
ld [CryPitch], a
|
||||
ld a, h
|
||||
ld [CryPitch + 1], a
|
||||
ld hl, CryLength
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
ld bc, $60
|
||||
add hl, bc
|
||||
ld a, l
|
||||
ld [CryLength], a
|
||||
ld a, h
|
||||
ld [CryLength + 1], a
|
||||
callba _PlayCryHeader
|
||||
call WaitSFX
|
||||
|
||||
.done
|
||||
ret
|
||||
; fb877
|
||||
|
||||
NewPokedexEntry: ; fb877
|
||||
ld a, [hMapAnims]
|
||||
push af
|
||||
xor a
|
||||
ld [hMapAnims], a
|
||||
call LowVolume
|
||||
call ClearBGPalettes
|
||||
call ClearTileMap
|
||||
call UpdateSprites
|
||||
call ClearSprites
|
||||
ld a, [wPokedexStatus]
|
||||
push af
|
||||
ld a, [hSCX]
|
||||
add $5
|
||||
ld [hSCX], a
|
||||
xor a
|
||||
ld [wPokedexStatus], a
|
||||
callba _NewPokedexEntry
|
||||
call WaitPressAorB_BlinkCursor
|
||||
ld a, $1
|
||||
ld [wPokedexStatus], a
|
||||
callba DisplayDexEntry
|
||||
call WaitPressAorB_BlinkCursor
|
||||
pop af
|
||||
ld [wPokedexStatus], a
|
||||
call MaxVolume
|
||||
call RotateThreePalettesRight
|
||||
ld a, [hSCX]
|
||||
add -5 ; 251 ; NUM_POKEMON
|
||||
ld [hSCX], a
|
||||
call .ReturnFromDexRegistration
|
||||
pop af
|
||||
ld [hMapAnims], a
|
||||
ret
|
||||
; fb8c8
|
||||
|
||||
.ReturnFromDexRegistration: ; fb8c8
|
||||
call ClearTileMap
|
||||
call LoadFontsExtra
|
||||
call LoadStandardFont
|
||||
callba Pokedex_PlaceFrontpicTopLeftCorner
|
||||
call WaitBGMap2
|
||||
callba GetEnemyMonDVs
|
||||
ld a, [hli]
|
||||
ld [TempMonDVs], a
|
||||
ld a, [hl]
|
||||
ld [TempMonDVs + 1], a
|
||||
ld b, SCGB_TRAINER_OR_MON_FRONTPIC_PALS
|
||||
call GetSGBLayout
|
||||
call SetPalettes
|
||||
ret
|
||||
; fb8f1
|
||||
|
||||
ConvertMon_2to1: ; fb8f1
|
||||
; Takes the Gen-2 Pokemon number stored in wd265, finds it in the Pokered_MonIndices table, and returns its index in wd265.
|
||||
push bc
|
||||
push hl
|
||||
ld a, [wd265]
|
||||
ld b, a
|
||||
ld c, 0
|
||||
ld hl, Pokered_MonIndices
|
||||
.loop
|
||||
inc c
|
||||
ld a, [hli]
|
||||
cp b
|
||||
jr nz, .loop
|
||||
ld a, c
|
||||
ld [wd265], a
|
||||
pop hl
|
||||
pop bc
|
||||
ret
|
||||
; fb908
|
||||
|
||||
ConvertMon_1to2: ; fb908
|
||||
; Takes the Gen-1 Pokemon number stored in wd265 and returns the corresponding value from Pokered_MonIndices in wd265.
|
||||
push bc
|
||||
push hl
|
||||
ld a, [wd265]
|
||||
dec a
|
||||
ld hl, Pokered_MonIndices
|
||||
ld b, 0
|
||||
ld c, a
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [wd265], a
|
||||
pop hl
|
||||
pop bc
|
||||
ret
|
||||
; fb91c
|
||||
|
||||
|
||||
INCLUDE "data/time_capsule/mon_order.asm"
|
Reference in New Issue
Block a user