mirror of
https://github.com/pret/pokered.git
synced 2024-10-22 22:55:31 +00:00
Port _RemovePokemon documentation from pokeyellow
This commit is contained in:
parent
b0aa4cb14a
commit
7ab43f4d17
2 changed files with 34 additions and 33 deletions
|
@ -2,9 +2,9 @@ _RemovePokemon::
|
|||
ld hl, wPartyCount
|
||||
ld a, [wRemoveMonFromBox]
|
||||
and a
|
||||
jr z, .asm_7b74
|
||||
jr z, .usePartyCount
|
||||
ld hl, wNumInBox
|
||||
.asm_7b74
|
||||
.usePartyCount
|
||||
ld a, [hl]
|
||||
dec a
|
||||
ld [hli], a
|
||||
|
@ -15,28 +15,28 @@ _RemovePokemon::
|
|||
ld e, l
|
||||
ld d, h
|
||||
inc de
|
||||
.asm_7b81
|
||||
.shiftMonSpeciesLoop
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a
|
||||
inc a
|
||||
jr nz, .asm_7b81
|
||||
inc a ; reached terminator?
|
||||
jr nz, .shiftMonSpeciesLoop ; if not, continue shifting species
|
||||
ld hl, wPartyMonOT
|
||||
ld d, $5
|
||||
ld d, PARTY_LENGTH - 1 ; max number of pokemon to shift
|
||||
ld a, [wRemoveMonFromBox]
|
||||
and a
|
||||
jr z, .asm_7b97
|
||||
jr z, .usePartyMonOTs
|
||||
ld hl, wBoxMonOT
|
||||
ld d, $13
|
||||
.asm_7b97
|
||||
ld d, MONS_PER_BOX - 1
|
||||
.usePartyMonOTs
|
||||
ld a, [wWhichPokemon]
|
||||
call SkipFixedLengthTextEntries
|
||||
ld a, [wWhichPokemon]
|
||||
cp d
|
||||
jr nz, .asm_7ba6
|
||||
ld [hl], $ff
|
||||
cp d ; are we removing the last pokemon?
|
||||
jr nz, .notRemovingLastMon ; if not, shift the pokemon below
|
||||
ld [hl], $ff ; else, write the terminator and return
|
||||
ret
|
||||
.asm_7ba6
|
||||
.notRemovingLastMon
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld bc, NAME_LENGTH
|
||||
|
@ -44,41 +44,41 @@ _RemovePokemon::
|
|||
ld bc, wPartyMonNicks
|
||||
ld a, [wRemoveMonFromBox]
|
||||
and a
|
||||
jr z, .asm_7bb8
|
||||
jr z, .usePartyMonNicks
|
||||
ld bc, wBoxMonNicks
|
||||
.asm_7bb8
|
||||
.usePartyMonNicks
|
||||
call CopyDataUntil
|
||||
ld hl, wPartyMons
|
||||
ld bc, wPartyMon2 - wPartyMon1
|
||||
ld a, [wRemoveMonFromBox]
|
||||
and a
|
||||
jr z, .asm_7bcd
|
||||
jr z, .usePartyMonStructs
|
||||
ld hl, wBoxMons
|
||||
ld bc, wBoxMon2 - wBoxMon1
|
||||
.asm_7bcd
|
||||
.usePartyMonStructs
|
||||
ld a, [wWhichPokemon]
|
||||
call AddNTimes
|
||||
ld d, h
|
||||
call AddNTimes ; get address of the pokemon removed
|
||||
ld d, h ; store in de for CopyDataUntil
|
||||
ld e, l
|
||||
ld a, [wRemoveMonFromBox]
|
||||
and a
|
||||
jr z, .asm_7be4
|
||||
jr z, .copyUntilPartyMonOTs
|
||||
ld bc, wBoxMon2 - wBoxMon1
|
||||
add hl, bc
|
||||
ld bc, wBoxMonOT
|
||||
jr .asm_7beb
|
||||
.asm_7be4
|
||||
add hl, bc ; get address of pokemon after the pokemon removed
|
||||
ld bc, wBoxMonOT ; address of when to stop copying
|
||||
jr .continue
|
||||
.copyUntilPartyMonOTs
|
||||
ld bc, wPartyMon2 - wPartyMon1
|
||||
add hl, bc
|
||||
ld bc, wPartyMonOT
|
||||
.asm_7beb
|
||||
call CopyDataUntil
|
||||
add hl, bc ; get address of pokemon after the pokemon removed
|
||||
ld bc, wPartyMonOT ; address of when to stop copying
|
||||
.continue
|
||||
call CopyDataUntil ; shift all pokemon data after the removed mon to the removed mon's location
|
||||
ld hl, wPartyMonNicks
|
||||
ld a, [wRemoveMonFromBox]
|
||||
and a
|
||||
jr z, .asm_7bfa
|
||||
jr z, .usePartyMonNicks2
|
||||
ld hl, wBoxMonNicks
|
||||
.asm_7bfa
|
||||
.usePartyMonNicks2
|
||||
ld bc, NAME_LENGTH
|
||||
ld a, [wWhichPokemon]
|
||||
call AddNTimes
|
||||
|
@ -86,10 +86,10 @@ _RemovePokemon::
|
|||
ld e, l
|
||||
ld bc, NAME_LENGTH
|
||||
add hl, bc
|
||||
ld bc, wPokedexOwned
|
||||
ld bc, wPartyMonNicksEnd
|
||||
ld a, [wRemoveMonFromBox]
|
||||
and a
|
||||
jr z, .asm_7c15
|
||||
jr z, .copyUntilPartyMonNicksEnd
|
||||
ld bc, wBoxMonNicksEnd
|
||||
.asm_7c15
|
||||
.copyUntilPartyMonNicksEnd
|
||||
jp CopyDataUntil
|
||||
|
|
1
wram.asm
1
wram.asm
|
@ -2216,6 +2216,7 @@ wPartyMon6:: party_struct wPartyMon6
|
|||
|
||||
wPartyMonOT:: ds NAME_LENGTH * PARTY_LENGTH
|
||||
wPartyMonNicks:: ds NAME_LENGTH * PARTY_LENGTH
|
||||
wPartyMonNicksEnd::
|
||||
|
||||
wPartyDataEnd::
|
||||
|
||||
|
|
Loading…
Reference in a new issue