Organize the engine/ directory, take 2

Renamed `game` to `games` and `menu` to `menus`.
Moved some functions from `engine/routines/` to their fitting subdirectories.

Made two new subdirectories:
* engine/rtc: Contains all RTC-related things. Menus, hardware, misc
functions.
* engine/items: Contains all item-related things. Pack, item effects,
other item handlers.
This commit is contained in:
mid-kid
2018-03-14 13:28:36 +01:00
parent baa0dc5a96
commit 97c511cd2f
37 changed files with 36 additions and 36 deletions

View File

@@ -1,20 +0,0 @@
DrawKrisPackGFX: ; 48e81
ld hl, PackFGFXPointers
add hl, de
add hl, de
ld a, [hli]
ld e, a
ld d, [hl]
ld hl, vTiles2 tile $50
lb bc, BANK(PackFGFX), 15
call Request2bpp
ret
PackFGFXPointers: ; 48e93
dw PackFGFX + (15 tiles) * 1 ; ITEM_POCKET
dw PackFGFX + (15 tiles) * 3 ; BALL_POCKET
dw PackFGFX + (15 tiles) * 0 ; KEY_ITEM_POCKET
dw PackFGFX + (15 tiles) * 2 ; TM_HM_POCKET
PackFGFX: ; 48e9b
INCBIN "gfx/pack/pack_f.2bpp"

View File

@@ -1,27 +0,0 @@
GetBreedMon1LevelGrowth: ; e698
ld hl, wBreedMon1Stats
ld de, wTempMon
ld bc, BOXMON_STRUCT_LENGTH
call CopyBytes
callfar CalcLevel
ld a, [wBreedMon1Level]
ld b, a
ld a, d
ld e, a
sub b
ld d, a
ret
GetBreedMon2LevelGrowth: ; e6b3
ld hl, wBreedMon2Stats
ld de, wTempMon
ld bc, BOXMON_STRUCT_LENGTH
call CopyBytes
callfar CalcLevel
ld a, [wBreedMon2Level]
ld b, a
ld a, d
ld e, a
sub b
ld d, a
ret

View File

@@ -1,25 +0,0 @@
KnowsMove: ; f9ea
ld a, MON_MOVES
call GetPartyParamLocation
ld a, [wPutativeTMHMMove]
ld b, a
ld c, NUM_MOVES
.loop
ld a, [hli]
cp b
jr z, .knows_move
dec c
jr nz, .loop
and a
ret
.knows_move
ld hl, .Text_knows
call PrintText
scf
ret
.Text_knows: ; 0xfa06
; knows @ .
text_jump UnknownText_0x1c5ea8
db "@"

View File

@@ -1,20 +0,0 @@
LevelUpHappinessMod: ; 2709e
ld a, [wCurPartyMon]
ld hl, wPartyMon1CaughtLocation
call GetPartyLocation
ld a, [hl]
and $7f
ld d, a
ld a, [wMapGroup]
ld b, a
ld a, [wMapNumber]
ld c, a
call GetWorldMapLocation
cp d
ld c, HAPPINESS_GAINLEVEL
jr nz, .ok
ld c, HAPPINESS_GAINLEVELATHOME
.ok
callfar ChangeHappiness
ret

View File

@@ -1,36 +0,0 @@
_LoadMapPart:: ; 4d15b
ld hl, wMisc
ld a, [wMetatileStandingY]
and a
jr z, .top_row
ld bc, WMISC_WIDTH * 2
add hl, bc
.top_row
ld a, [wMetatileStandingX]
and a
jr z, .left_column
inc hl
inc hl
.left_column
decoord 0, 0
ld b, SCREEN_HEIGHT
.loop
ld c, SCREEN_WIDTH
.loop2
ld a, [hli]
ld [de], a
inc de
dec c
jr nz, .loop2
ld a, l
add 4
ld l, a
jr nc, .carry
inc h
.carry
dec b
jr nz, .loop
ret

View File

@@ -1,17 +0,0 @@
LoadOverworldFont:: ; 106594
ld de, .OverworldFontGFX
ld hl, vTiles1
lb bc, BANK(.OverworldFontGFX), $80
call Get2bpp
ld de, .OverworldFontSpaceGFX
ld hl, vTiles2 tile " "
lb bc, BANK(.OverworldFontSpaceGFX), 1
call Get2bpp
ret
; 1065ad
.OverworldFontGFX:
INCBIN "gfx/font/overworld.2bpp"
.OverworldFontSpaceGFX:
INCBIN "gfx/font/overworld_space.2bpp"

View File

@@ -1,55 +0,0 @@
PlaceGraphic: ; 2ef6e
; Fill wBoxAlignment-aligned box width b height c
; with iterating tile starting from hGraphicStartTile at hl.
ld de, SCREEN_WIDTH
ld a, [wBoxAlignment]
and a
jr nz, .right
ld a, [hGraphicStartTile]
.x1
push bc
push hl
.y1
ld [hl], a
add hl, de
inc a
dec c
jr nz, .y1
pop hl
inc hl
pop bc
dec b
jr nz, .x1
ret
.right
; Right-aligned.
push bc
ld b, 0
dec c
add hl, bc
pop bc
ld a, [hGraphicStartTile]
.x2
push bc
push hl
.y2
ld [hl], a
add hl, de
inc a
dec c
jr nz, .y2
pop hl
dec hl
pop bc
dec b
jr nz, .x2
ret

View File

@@ -1,63 +0,0 @@
Unreferenced_Function1dd6a9: ; 1dd6a9
ld a, b
ld b, c
ld c, a
push bc
push de
ld hl, sp+$2
ld d, h
ld e, l
pop hl
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
call PrintNum
pop bc
ret
PrintHoursMins: ; 1dd6bb (77:56bb)
; Hours in b, minutes in c
ld a, b
cp 12
push af
jr c, .AM
jr z, .PM
sub 12
jr .PM
.AM:
or a
jr nz, .PM
ld a, 12
.PM:
ld b, a
; Crazy stuff happening with the stack
push bc
ld hl, sp+$1
push de
push hl
pop de
pop hl
ld [hl], " "
lb bc, 1, 2
call PrintNum
ld [hl], ":"
inc hl
ld d, h
ld e, l
ld hl, sp+$0
push de
push hl
pop de
pop hl
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
call PrintNum
pop bc
ld de, String_AM
pop af
jr c, .place_am_pm
ld de, String_PM
.place_am_pm
inc hl
call PlaceString
ret
String_AM: db "AM@" ; 1dd6fc
String_PM: db "PM@" ; 1dd6ff

View File

@@ -1,31 +0,0 @@
PrintItemDescription: ; 0x1c8955
; Print the description for item [wCurSpecies] at de.
ld a, [wCurSpecies]
cp TM01
jr c, .not_a_tm
ld [wCurItem], a
push de
farcall GetTMHMItemMove
pop hl
ld a, [wd265]
ld [wCurSpecies], a
predef PrintMoveDesc
ret
.not_a_tm
push de
ld hl, ItemDescriptions
ld a, [wCurSpecies]
dec a
ld c, a
ld b, 0
add hl, bc
add hl, bc
ld e, [hl]
inc hl
ld d, [hl]
pop hl
jp PlaceString
; 0x1c8987

View File

@@ -1,145 +0,0 @@
_SwitchPartyMons:
ld a, [wd0e3]
dec a
ld [wBuffer3], a
ld b, a
ld a, [wMenuCursorY]
dec a
ld [wBuffer2], a
cp b
jr z, .skip
call .SwapMonAndMail
ld a, [wBuffer3]
call .ClearSprite
ld a, [wBuffer2]
call .ClearSprite
.skip
ret
.ClearSprite: ; 50f34 (14:4f34)
push af
hlcoord 0, 1
ld bc, 2 * SCREEN_WIDTH
call AddNTimes
ld bc, 2 * SCREEN_WIDTH
ld a, " "
call ByteFill
pop af
ld hl, wVirtualOAMSprite00
ld bc, 4 * SPRITEOAMSTRUCT_LENGTH
call AddNTimes
ld de, SPRITEOAMSTRUCT_LENGTH
ld c, 4
.gfx_loop
ld [hl], SCREEN_WIDTH_PX ; y (off-screen)
add hl, de
dec c
jr nz, .gfx_loop
ld de, SFX_SWITCH_POKEMON
call WaitPlaySFX
ret
.SwapMonAndMail: ; 50f62 (14:4f62)
push hl
push de
push bc
ld bc, wPartySpecies
ld a, [wBuffer2]
ld l, a
ld h, $0
add hl, bc
ld d, h
ld e, l
ld a, [wBuffer3]
ld l, a
ld h, $0
add hl, bc
ld a, [hl]
push af
ld a, [de]
ld [hl], a
pop af
ld [de], a
ld a, [wBuffer2]
ld hl, wPartyMon1Species
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
push hl
ld de, wd002
ld bc, PARTYMON_STRUCT_LENGTH
call CopyBytes
ld a, [wBuffer3]
ld hl, wPartyMon1
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
pop de
push hl
ld bc, PARTYMON_STRUCT_LENGTH
call CopyBytes
pop de
ld hl, wd002
ld bc, PARTYMON_STRUCT_LENGTH
call CopyBytes
ld a, [wBuffer2]
ld hl, wPartyMonOT
call SkipNames
push hl
call .CopyNameTowd002
ld a, [wBuffer3]
ld hl, wPartyMonOT
call SkipNames
pop de
push hl
call .CopyName
pop de
ld hl, wd002
call .CopyName
ld hl, wPartyMonNicknames
ld a, [wBuffer2]
call SkipNames
push hl
call .CopyNameTowd002
ld hl, wPartyMonNicknames
ld a, [wBuffer3]
call SkipNames
pop de
push hl
call .CopyName
pop de
ld hl, wd002
call .CopyName
ld hl, sPartyMail
ld a, [wBuffer2]
ld bc, MAIL_STRUCT_LENGTH
call AddNTimes
push hl
ld de, wd002
ld bc, MAIL_STRUCT_LENGTH
ld a, BANK(sPartyMail)
call GetSRAMBank
call CopyBytes
ld hl, sPartyMail
ld a, [wBuffer3]
ld bc, MAIL_STRUCT_LENGTH
call AddNTimes
pop de
push hl
ld bc, MAIL_STRUCT_LENGTH
call CopyBytes
pop de
ld hl, wd002
ld bc, MAIL_STRUCT_LENGTH
call CopyBytes
call CloseSRAM
pop bc
pop de
pop hl
ret
.CopyNameTowd002: ; 51036 (14:5036)
ld de, wd002
.CopyName: ; 51039 (14:5039)
ld bc, NAME_LENGTH
call CopyBytes
ret

View File

@@ -1,38 +0,0 @@
GetTrademonFrontpic: ; 4d7fd
ld a, [wOTTrademonSpecies]
ld hl, wOTTrademonDVs
ld de, vTiles2
push de
push af
predef GetUnownLetter
pop af
ld [wCurPartySpecies], a
ld [wCurSpecies], a
call GetBaseData
pop de
predef GetAnimatedFrontpic
ret
AnimateTrademonFrontpic: ; 4d81e
ld a, [wOTTrademonSpecies]
call IsAPokemon
ret c
farcall ShowOTTrademonStats
ld a, [wOTTrademonSpecies]
ld [wCurPartySpecies], a
ld a, [wOTTrademonDVs]
ld [wTempMonDVs], a
ld a, [wOTTrademonDVs + 1]
ld [wTempMonDVs + 1], a
ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS
call GetSGBLayout
ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
farcall TradeAnim_ShowGetmonFrontpic
ld a, [wOTTrademonSpecies]
ld [wCurPartySpecies], a
hlcoord 7, 2
ld d, $0
ld e, ANIM_MON_TRADE
predef AnimateFrontpic
ret

View File

@@ -1,13 +0,0 @@
UpdateItemDescription: ; 0x244c3
ld a, [wMenuSelection]
ld [wCurSpecies], a
hlcoord 0, 12
ld b, 4
ld c, SCREEN_WIDTH - 2
call TextBox
ld a, [wMenuSelection]
cp -1
ret z
decoord 1, 14
farcall PrintItemDescription
ret