diff options
author | mid-kid <esteve.varela@gmail.com> | 2018-03-13 13:07:16 +0100 |
---|---|---|
committer | mid-kid <esteve.varela@gmail.com> | 2018-03-13 13:21:40 +0100 |
commit | baa0dc5a963a79843b37888bcfe1d2dfe833ade9 (patch) | |
tree | 968c86105bd67a3121d8f3f20018bfc59191f4c9 /engine/trainer_card.asm | |
parent | 12070ca50067d3abe36a730190f88ee43f2cace9 (diff) |
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.
Diffstat (limited to 'engine/trainer_card.asm')
-rwxr-xr-x | engine/trainer_card.asm | 623 |
1 files changed, 0 insertions, 623 deletions
diff --git a/engine/trainer_card.asm b/engine/trainer_card.asm deleted file mode 100755 index e84c1c9f3..000000000 --- a/engine/trainer_card.asm +++ /dev/null @@ -1,623 +0,0 @@ -; TrainerCard.Jumptable indexes - const_def - const TRAINERCARDSTATE_PAGE1_LOADGFX ; 0 - const TRAINERCARDSTATE_PAGE1_JOYPAD ; 1 - const TRAINERCARDSTATE_PAGE2_LOADGFX ; 2 - const TRAINERCARDSTATE_PAGE2_JOYPAD ; 3 - const TRAINERCARDSTATE_PAGE3_LOADGFX ; 4 - const TRAINERCARDSTATE_PAGE3_JOYPAD ; 5 - const TRAINERCARDSTATE_QUIT ; 6 - -TrainerCard: ; 25105 - ld a, [wVramState] - push af - xor a - ld [wVramState], a - ld hl, wOptions - ld a, [hl] - push af - set NO_TEXT_SCROLL, [hl] - call .InitRAM -.loop - call UpdateTime - call JoyTextDelay - ld a, [wJumptableIndex] - bit 7, a - jr nz, .quit - ld a, [hJoyLast] - and B_BUTTON - jr nz, .quit - call .RunJumptable - call DelayFrame - jr .loop - -.quit - pop af - ld [wOptions], a - pop af - ld [wVramState], a - ret - -.InitRAM: ; 2513b (9:513b) - call ClearBGPalettes - call ClearSprites - call ClearTileMap - call DisableLCD - - farcall GetCardPic - - ld hl, CardRightCornerGFX - ld de, vTiles2 tile $1c - ld bc, 1 tiles - ld a, BANK(CardRightCornerGFX) - call FarCopyBytes - - ld hl, CardStatusGFX - ld de, vTiles2 tile $29 - ld bc, 86 tiles - ld a, BANK(CardStatusGFX) - call FarCopyBytes - - call TrainerCard_PrintTopHalfOfCard - - hlcoord 0, 8 - ld d, 6 - call TrainerCard_InitBorder - - call EnableLCD - call WaitBGMap - ld b, SCGB_TRAINER_CARD - call GetSGBLayout - call SetPalettes - call WaitBGMap - ld hl, wJumptableIndex - xor a ; TRAINERCARDSTATE_PAGE1_LOADGFX - ld [hli], a ; wJumptableIndex - ld [hli], a ; wTrainerCardBadgeFrameCounter - ld [hli], a ; wTrainerCardBadgeTileID - ld [hl], a ; wTrainerCardBadgeAttributes - ret - -.RunJumptable: ; 2518e (9:518e) - jumptable .Jumptable, wJumptableIndex - -.Jumptable: ; 2519d (9:519d) -; entries correspond to TRAINERCARDSTATE_* constants - dw TrainerCard_Page1_LoadGFX - dw TrainerCard_Page1_Joypad - dw TrainerCard_Page2_LoadGFX - dw TrainerCard_Page2_Joypad - dw TrainerCard_Page3_LoadGFX - dw TrainerCard_Page3_Joypad - dw TrainerCard_Quit - -TrainerCard_IncrementJumptable: ; 251ab (9:51ab) - ld hl, wJumptableIndex - inc [hl] - ret - -TrainerCard_Quit: ; 251b0 (9:51b0) - ld hl, wJumptableIndex - set 7, [hl] - ret - -TrainerCard_Page1_LoadGFX: ; 251b6 (9:51b6) - call ClearSprites - hlcoord 0, 8 - ld d, 6 - call TrainerCard_InitBorder - call WaitBGMap - ld de, CardStatusGFX - ld hl, vTiles2 tile $29 - lb bc, BANK(CardStatusGFX), 86 - call Request2bpp - call TrainerCard_Page1_PrintDexCaught_GameTime - call TrainerCard_IncrementJumptable - ret - -TrainerCard_Page1_Joypad: ; 251d7 (9:51d7) - call TrainerCard_Page1_PrintGameTime - ld hl, hJoyLast - ld a, [hl] - and D_RIGHT | A_BUTTON - jr nz, .pressed_right_a - ret - -.pressed_right_a - ld a, TRAINERCARDSTATE_PAGE2_LOADGFX - ld [wJumptableIndex], a - ret - -.Unreferenced_KantoCheck: - ld a, [wKantoBadges] - and a - ret z - ld a, TRAINERCARDSTATE_PAGE3_LOADGFX - ld [wJumptableIndex], a - ret - -; 251f4 - -TrainerCard_Page2_LoadGFX: ; 251f4 (9:51f4) - call ClearSprites - hlcoord 0, 8 - ld d, 6 - call TrainerCard_InitBorder - call WaitBGMap - ld de, LeaderGFX - ld hl, vTiles2 tile $29 - lb bc, BANK(LeaderGFX), 86 - call Request2bpp - ld de, BadgeGFX - ld hl, vTiles0 tile $00 - lb bc, BANK(BadgeGFX), 44 - call Request2bpp - call TrainerCard_Page2_3_InitObjectsAndStrings - call TrainerCard_IncrementJumptable - ret - -TrainerCard_Page2_Joypad: ; 25221 (9:5221) - ld hl, TrainerCard_JohtoBadgesOAM - call TrainerCard_Page2_3_AnimateBadges - ld hl, hJoyLast - ld a, [hl] - and A_BUTTON - jr nz, .Quit - ld a, [hl] - and D_LEFT - jr nz, .d_left - ret - -.d_left - ld a, TRAINERCARDSTATE_PAGE1_LOADGFX - ld [wJumptableIndex], a - ret - -.Unreferenced_KantoCheck: - ld a, [wKantoBadges] - and a - ret z - ld a, TRAINERCARDSTATE_PAGE3_LOADGFX - ld [wJumptableIndex], a - ret - -.Quit: - ld a, TRAINERCARDSTATE_QUIT - ld [wJumptableIndex], a - ret - -TrainerCard_Page3_LoadGFX: ; 2524c (9:524c) - call ClearSprites - hlcoord 0, 8 - ld d, 6 - call TrainerCard_InitBorder - call WaitBGMap - ld de, LeaderGFX2 - ld hl, vTiles2 tile $29 - lb bc, BANK(LeaderGFX2), 86 - call Request2bpp - ld de, BadgeGFX2 - ld hl, vTiles0 tile $00 - lb bc, BANK(BadgeGFX2), 44 - call Request2bpp - call TrainerCard_Page2_3_InitObjectsAndStrings - call TrainerCard_IncrementJumptable - ret - -TrainerCard_Page3_Joypad: ; 25279 (9:5279) - ld hl, TrainerCard_JohtoBadgesOAM - call TrainerCard_Page2_3_AnimateBadges - ld hl, hJoyLast - ld a, [hl] - and D_LEFT - jr nz, .left - ld a, [hl] - and D_RIGHT - jr nz, .right - ret - -.left - ld a, TRAINERCARDSTATE_PAGE2_LOADGFX - ld [wJumptableIndex], a - ret - -.right - ld a, TRAINERCARDSTATE_PAGE1_LOADGFX - ld [wJumptableIndex], a - ret - -TrainerCard_PrintTopHalfOfCard: ; 25299 (9:5299) - hlcoord 0, 0 - ld d, 5 - call TrainerCard_InitBorder - hlcoord 2, 2 - ld de, .Name_Money - call PlaceString - hlcoord 2, 4 - ld de, .ID_No - call TrainerCardSetup_PlaceTilemapString - hlcoord 7, 2 - ld de, wPlayerName - call PlaceString - hlcoord 5, 4 - ld de, wPlayerID - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - call PrintNum - hlcoord 7, 6 - ld de, wMoney - lb bc, PRINTNUM_MONEY | 3, 6 - call PrintNum - hlcoord 1, 3 - ld de, .HorizontalDivider - call TrainerCardSetup_PlaceTilemapString - hlcoord 14, 1 - lb bc, 5, 7 - xor a - ld [hGraphicStartTile], a - predef PlaceGraphic - ret - -; 252ec (9:52ec) - -.Name_Money: ; 252ec - db "NAME/" - next "" - next "MONEY@" - -.ID_No: ; 252f9 - db $27, $28, -1 ; ID NO - -.HorizontalDivider: ; 252fc - db $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $26, -1 ; ____________> -; 2530a - -TrainerCard_Page1_PrintDexCaught_GameTime: ; 2530a (9:530a) - hlcoord 2, 10 - ld de, .Dex_PlayTime - call PlaceString - hlcoord 10, 15 - ld de, .Badges - call PlaceString - ld hl, wPokedexCaught - ld b, wEndPokedexCaught - wPokedexCaught - call CountSetBits - ld de, wd265 - hlcoord 15, 10 - lb bc, 1, 3 - call PrintNum - call TrainerCard_Page1_PrintGameTime - hlcoord 2, 8 - ld de, .StatusTilemap - call TrainerCardSetup_PlaceTilemapString - ld a, [wStatusFlags] - bit STATUSFLAGS_POKEDEX_F, a - ret nz - hlcoord 1, 9 - lb bc, 2, 17 - call ClearBox - ret - -.Dex_PlayTime: - db "#DEX" - next "PLAY TIME@@" - -.Badges: - db " BADGES▶@" - -.StatusTilemap: ; 25366 - db $29, $2a, $2b, $2c, $2d, -1 -; 2536c - -TrainerCard_Page2_3_InitObjectsAndStrings: ; 2536c (9:536c) - hlcoord 2, 8 - ld de, .BadgesTilemap - call TrainerCardSetup_PlaceTilemapString - hlcoord 2, 10 - ld a, $29 - ld c, 4 -.loop - call TrainerCard_Page2_3_PlaceLeadersFaces -rept 4 - inc hl -endr - dec c - jr nz, .loop - hlcoord 2, 13 - ld a, $51 - ld c, 4 -.loop2 - call TrainerCard_Page2_3_PlaceLeadersFaces -rept 4 - inc hl -endr - dec c - jr nz, .loop2 - xor a - ld [wTrainerCardBadgeFrameCounter], a - ld hl, TrainerCard_JohtoBadgesOAM - call TrainerCard_Page2_3_OAMUpdate - ret - -; 253a2 (9:53a2) - -.BadgesTilemap: ; 253a2 - db $79, $7a, $7b, $7c, $7d, -1 ; "BADGES" -; 253a8 - -TrainerCardSetup_PlaceTilemapString: ; 253a8 (9:53a8) -.loop - ld a, [de] - cp -1 - ret z - ld [hli], a - inc de - jr .loop - -TrainerCard_InitBorder: ; 253b0 (9:53b0) - ld e, SCREEN_WIDTH -.loop1 - ld a, $23 - ld [hli], a - dec e - jr nz, .loop1 - - ld a, $23 - ld [hli], a - ld e, SCREEN_HEIGHT - 1 - ld a, " " -.loop2 - ld [hli], a - dec e - jr nz, .loop2 - - ld a, $1c - ld [hli], a - ld a, $23 - ld [hli], a -.loop3 - ld a, $23 - ld [hli], a - - ld e, SCREEN_HEIGHT - ld a, " " -.loop4 - ld [hli], a - dec e - jr nz, .loop4 - - ld a, $23 - ld [hli], a - dec d - jr nz, .loop3 - - ld a, $23 - ld [hli], a - ld a, $24 - ld [hli], a - - ld e, SCREEN_HEIGHT - 1 - ld a, " " -.loop5 - ld [hli], a - dec e - jr nz, .loop5 - ld a, $23 - ld [hli], a - ld e, SCREEN_WIDTH -.loop6 - ld a, $23 - ld [hli], a - dec e - jr nz, .loop6 - ret - -TrainerCard_Page2_3_PlaceLeadersFaces: ; 253f4 (9:53f4) - push de - push hl - ld [hli], a - inc a - ld [hli], a - inc a - ld [hli], a - inc a - ld [hli], a - inc a - ld de, SCREEN_WIDTH - 3 - add hl, de - ld [hli], a - inc a - ld [hli], a - inc a - ld [hli], a - inc a - ld de, SCREEN_WIDTH - 3 - add hl, de - ld [hli], a - inc a - ld [hli], a - inc a - ld [hli], a - inc a - pop hl - pop de - ret - -TrainerCard_Page1_PrintGameTime: ; 25415 (9:5415) - hlcoord 11, 12 - ld de, wGameTimeHours - lb bc, 2, 4 - call PrintNum - inc hl - ld de, wGameTimeMinutes - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - call PrintNum - ld a, [hVBlankCounter] - and $1f - ret nz - hlcoord 15, 12 - ld a, [hl] - xor " " ^ $2e ; alternate between space and small colon ($2e) tiles - ld [hl], a - ret - -TrainerCard_Page2_3_AnimateBadges: ; 25438 (9:5438) - ld a, [hVBlankCounter] - and %111 - ret nz - ld a, [wTrainerCardBadgeFrameCounter] - inc a - and %111 - ld [wTrainerCardBadgeFrameCounter], a - jr TrainerCard_Page2_3_OAMUpdate - -TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448) -; copy flag array pointer - ld a, [hli] - ld e, a - ld a, [hli] -; get flag array - ld d, a - ld a, [de] - ld c, a - ld de, wVirtualOAMSprite00 - ld b, NUM_JOHTO_BADGES -.loop - srl c - push bc - jr nc, .skip_badge - push hl - ld a, [hli] ; y - ld b, a - ld a, [hli] ; x - ld c, a - ld a, [hli] ; pal - ld [wTrainerCardBadgeAttributes], a - ld a, [wTrainerCardBadgeFrameCounter] - add l - ld l, a - ld a, 0 - adc h - ld h, a - ld a, [hl] - ld [wTrainerCardBadgeTileID], a - call .PrepOAM - pop hl -.skip_badge - ld bc, $b ; 3 + 2 * 4 - add hl, bc - pop bc - dec b - jr nz, .loop - ret - -.PrepOAM: ; 2547b (9:547b) - ld a, [wTrainerCardBadgeTileID] - and 1 << 7 - jr nz, .xflip - ld hl, .facing1 - jr .loop2 - -.xflip - ld hl, .facing2 -.loop2 - ld a, [hli] - cp -1 - ret z - add b - ld [de], a ; y - inc de - - ld a, [hli] - add c - ld [de], a ; x - inc de - - ld a, [wTrainerCardBadgeTileID] - and $ff ^ (1 << 7) - add [hl] - ld [de], a ; tile id - inc hl - inc de - - ld a, [wTrainerCardBadgeAttributes] - add [hl] - ld [de], a ; attributes - inc hl - inc de - jr .loop2 - -; 254a7 (9:54a7) - -.facing1 ; 254a7 - dsprite 0, 0, 0, 0, $00, 0 - dsprite 0, 0, 1, 0, $01, 0 - dsprite 1, 0, 0, 0, $02, 0 - dsprite 1, 0, 1, 0, $03, 0 - db -1 - -.facing2 ; 254b8 - dsprite 0, 0, 0, 0, $01, 0 | X_FLIP - dsprite 0, 0, 1, 0, $00, 0 | X_FLIP - dsprite 1, 0, 0, 0, $03, 0 | X_FLIP - dsprite 1, 0, 1, 0, $02, 0 | X_FLIP - db -1 - -TrainerCard_JohtoBadgesOAM: ; 254c9 -; Template OAM data for each badge on the trainer card. -; Format: - ; y, x, palette - ; cycle 1: face tile, in1 tile, in2 tile, in3 tile - ; cycle 2: face tile, in1 tile, in2 tile, in3 tile - - dw wJohtoBadges - - ; Zephyrbadge - db $68, $18, 0 - db $00, $20, $24, $20 | (1 << 7) - db $00, $20, $24, $20 | (1 << 7) - - ; Hivebadge - db $68, $38, 0 - db $04, $20, $24, $20 | (1 << 7) - db $04, $20, $24, $20 | (1 << 7) - - ; Plainbadge - db $68, $58, 0 - db $08, $20, $24, $20 | (1 << 7) - db $08, $20, $24, $20 | (1 << 7) - - ; Fogbadge - db $68, $78, 0 - db $0c, $20, $24, $20 | (1 << 7) - db $0c, $20, $24, $20 | (1 << 7) - - ; Mineralbadge - db $80, $38, 0 - db $10, $20, $24, $20 | (1 << 7) - db $10, $20, $24, $20 | (1 << 7) - - ; Stormbadge - db $80, $18, 0 - db $14, $20, $24, $20 | (1 << 7) - db $14, $20, $24, $20 | (1 << 7) - - ; Glacierbadge - db $80, $58, 0 - db $18, $20, $24, $20 | (1 << 7) - db $18, $20, $24, $20 | (1 << 7) - - ; Risingbadge - ; X-flips on alternate cycles. - db $80, $78, 0 - db $1c, $20, $24, $20 | (1 << 7) - db $1c | (1 << 7), $20, $24, $20 | (1 << 7) -; 25523 - -CardStatusGFX: INCBIN "gfx/trainer_card/card_status.2bpp" - -LeaderGFX: INCBIN "gfx/trainer_card/leaders.2bpp" -LeaderGFX2: INCBIN "gfx/trainer_card/leaders.2bpp" -BadgeGFX: INCBIN "gfx/trainer_card/badges.2bpp" -BadgeGFX2: INCBIN "gfx/trainer_card/badges.2bpp" - -CardRightCornerGFX: INCBIN "gfx/trainer_card/card_right_corner.2bpp" |