You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-09-08 08:13:02 -07:00
Organize the engine/ directory
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.
This commit is contained in:
133
engine/pokemon/move_mon_wo_mail.asm
Executable file
133
engine/pokemon/move_mon_wo_mail.asm
Executable file
@@ -0,0 +1,133 @@
|
||||
InsertPokemonIntoBox: ; 51322
|
||||
ld a, BANK(sBoxCount)
|
||||
call GetSRAMBank
|
||||
ld hl, sBoxCount
|
||||
call InsertSpeciesIntoBoxOrParty
|
||||
ld a, [sBoxCount]
|
||||
dec a
|
||||
ld [wd265], a
|
||||
ld hl, sBoxMonNicknames
|
||||
ld bc, MON_NAME_LENGTH
|
||||
ld de, wBufferMonNick
|
||||
call InsertDataIntoBoxOrParty
|
||||
ld a, [sBoxCount]
|
||||
dec a
|
||||
ld [wd265], a
|
||||
ld hl, sBoxMonOT
|
||||
ld bc, NAME_LENGTH
|
||||
ld de, wBufferMonOT
|
||||
call InsertDataIntoBoxOrParty
|
||||
ld a, [sBoxCount]
|
||||
dec a
|
||||
ld [wd265], a
|
||||
ld hl, sBoxMons
|
||||
ld bc, BOXMON_STRUCT_LENGTH
|
||||
ld de, wBufferMon
|
||||
call InsertDataIntoBoxOrParty
|
||||
ld hl, wBufferMonMoves
|
||||
ld de, wTempMonMoves
|
||||
ld bc, NUM_MOVES
|
||||
call CopyBytes
|
||||
ld hl, wBufferMonPP
|
||||
ld de, wTempMonPP
|
||||
ld bc, NUM_MOVES
|
||||
call CopyBytes
|
||||
ld a, [wCurPartyMon]
|
||||
ld b, a
|
||||
farcall RestorePPofDepositedPokemon
|
||||
jp CloseSRAM
|
||||
|
||||
InsertPokemonIntoParty: ; 5138b
|
||||
ld hl, wPartyCount
|
||||
call InsertSpeciesIntoBoxOrParty
|
||||
ld a, [wPartyCount]
|
||||
dec a
|
||||
ld [wd265], a
|
||||
ld hl, wPartyMonNicknames
|
||||
ld bc, MON_NAME_LENGTH
|
||||
ld de, wBufferMonNick
|
||||
call InsertDataIntoBoxOrParty
|
||||
ld a, [wPartyCount]
|
||||
dec a
|
||||
ld [wd265], a
|
||||
ld hl, wPartyMonOT
|
||||
ld bc, NAME_LENGTH
|
||||
ld de, wBufferMonOT
|
||||
call InsertDataIntoBoxOrParty
|
||||
ld a, [wPartyCount]
|
||||
dec a
|
||||
ld [wd265], a
|
||||
ld hl, wPartyMons
|
||||
ld bc, PARTYMON_STRUCT_LENGTH
|
||||
ld de, wBufferMon
|
||||
call InsertDataIntoBoxOrParty
|
||||
ret
|
||||
|
||||
InsertSpeciesIntoBoxOrParty: ; 513cb
|
||||
inc [hl]
|
||||
inc hl
|
||||
ld a, [wCurPartyMon]
|
||||
ld c, a
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
ld a, [wCurPartySpecies]
|
||||
ld c, a
|
||||
.loop
|
||||
ld a, [hl]
|
||||
ld [hl], c
|
||||
inc hl
|
||||
inc c
|
||||
ld c, a
|
||||
jr nz, .loop
|
||||
ret
|
||||
|
||||
InsertDataIntoBoxOrParty: ; 513e0
|
||||
push de
|
||||
push hl
|
||||
push bc
|
||||
ld a, [wd265]
|
||||
dec a
|
||||
call AddNTimes
|
||||
push hl
|
||||
add hl, bc
|
||||
ld d, h
|
||||
ld e, l
|
||||
pop hl
|
||||
.loop
|
||||
push bc
|
||||
ld a, [wd265]
|
||||
ld b, a
|
||||
ld a, [wCurPartyMon]
|
||||
cp b
|
||||
pop bc
|
||||
jr z, .insert
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
call CopyBytes
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
push hl
|
||||
ld a, l
|
||||
sub c
|
||||
ld l, a
|
||||
ld a, h
|
||||
sbc b
|
||||
ld h, a
|
||||
pop de
|
||||
ld a, [wd265]
|
||||
dec a
|
||||
ld [wd265], a
|
||||
jr .loop
|
||||
|
||||
.insert
|
||||
pop bc
|
||||
pop hl
|
||||
ld a, [wCurPartyMon]
|
||||
call AddNTimes
|
||||
ld d, h
|
||||
ld e, l
|
||||
pop hl
|
||||
call CopyBytes
|
||||
ret
|
||||
Reference in New Issue
Block a user