diff options
author | entrpntr <entrpntr@gmail.com> | 2020-04-30 00:02:58 -0400 |
---|---|---|
committer | entrpntr <entrpntr@gmail.com> | 2020-04-30 00:02:58 -0400 |
commit | 8b5cc02a48b6615f3ad4ddd37798f9ed2976c5bd (patch) | |
tree | 0c318ce141d0dce91a3ae2cb1c22ef7a34cbde75 | |
parent | a308a1adadc1f782577c23ca62c0b3abd715b0ce (diff) |
Add engine/menus/trainer_card.asm.
-rw-r--r-- | engine/menus/trainer_card.asm | 624 | ||||
-rw-r--r-- | gfx/trainer_card/badges.2bpp | bin | 0 -> 704 bytes | |||
-rw-r--r-- | gfx/trainer_card/badges.png | bin | 0 -> 517 bytes | |||
-rw-r--r-- | gfx/trainer_card/card_status.2bpp | bin | 0 -> 96 bytes | |||
-rw-r--r-- | gfx/trainer_card/card_status.png | bin | 0 -> 121 bytes | |||
-rw-r--r-- | gfx/trainer_card/chris_card.2bpp | bin | 0 -> 560 bytes | |||
-rw-r--r-- | gfx/trainer_card/chris_card.png | bin | 0 -> 435 bytes | |||
-rw-r--r-- | gfx/trainer_card/leaders.2bpp | bin | 0 -> 1376 bytes | |||
-rw-r--r-- | gfx/trainer_card/leaders.png | bin | 0 -> 923 bytes | |||
-rw-r--r-- | gfx/trainer_card/trainer_card.2bpp | bin | 0 -> 96 bytes | |||
-rw-r--r-- | gfx/trainer_card/trainer_card.png | bin | 0 -> 135 bytes | |||
-rw-r--r-- | main.asm | 4 | ||||
-rw-r--r-- | tools/gfx.py | 66 | ||||
-rw-r--r-- | wram.asm | 39 |
14 files changed, 694 insertions, 39 deletions
diff --git a/engine/menus/trainer_card.asm b/engine/menus/trainer_card.asm new file mode 100644 index 00000000..7061d4bd --- /dev/null +++ b/engine/menus/trainer_card.asm @@ -0,0 +1,624 @@ +; 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: + 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 + ldh 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: + call ClearBGPalettes + call ClearSprites + call ClearTilemap + call DisableLCD + + ld hl, ChrisCardPic + ld de, vTiles2 + ld bc, 41 tiles + ld a, BANK(ChrisCardPic) + 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: + jumptable .Jumptable, wJumptableIndex + +.Jumptable: +; 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: + ld hl, wJumptableIndex + inc [hl] + ret + +TrainerCard_Quit: + ld hl, wJumptableIndex + set 7, [hl] + ret + +TrainerCard_Page1_LoadGFX: + 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: + 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 + +TrainerCard_Page2_LoadGFX: + 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: + 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: + 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: + 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: + 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 + ld de, SCREEN_WIDTH + xor a + ld b, 7 + +.row + ld c, 5 + push hl + +.col + ld [hli], a + inc a + dec c + jr nz, .col + pop hl + add hl, de + dec b + jr nz, .row + ret + +.Name_Money: + db "NAME/" + next "" + next "MONEY@" + +.ID_No: + db $27, $28, -1 ; ID NO + +.HorizontalDivider: + db $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $26, -1 ; ____________> + +TrainerCard_Page1_PrintDexCaught_GameTime: + hlcoord 2, 10 + ld de, .Dex_PlayTime + call PlaceString + hlcoord 12, 15 + ld de, .Badges + call PlaceString + ld hl, wPokedexCaught + ld b, wEndPokedexCaught - wPokedexCaught + call CountSetBits + ld de, wNumSetBits + 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@" + + db "@" ; unused + +.Badges: + db "BADGES▶@" + +.StatusTilemap: + db $29, $2a, $2b, $2c, $2d, -1 + +TrainerCard_Page2_3_InitObjectsAndStrings: + 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 + +.BadgesTilemap: + db $79, $7a, $7b, $7c, $7d, -1 ; "BADGES" + +TrainerCardSetup_PlaceTilemapString: +.loop + ld a, [de] + cp -1 + ret z + ld [hli], a + inc de + jr .loop + +TrainerCard_InitBorder: + 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, $4 + 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: + 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: + 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 + ldh 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: + ldh 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: +; 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: + 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 + +.facing1 + dbsprite 0, 0, 0, 0, $00, 0 + dbsprite 1, 0, 0, 0, $01, 0 + dbsprite 0, 1, 0, 0, $02, 0 + dbsprite 1, 1, 0, 0, $03, 0 + db -1 + +.facing2 + dbsprite 0, 0, 0, 0, $01, 0 | X_FLIP + dbsprite 1, 0, 0, 0, $00, 0 | X_FLIP + dbsprite 0, 1, 0, 0, $03, 0 | X_FLIP + dbsprite 1, 1, 0, 0, $02, 0 | X_FLIP + db -1 + +TrainerCard_JohtoBadgesOAM: +; 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) + +ChrisCardPic: INCBIN "gfx/trainer_card/chris_card.2bpp" +CardGFX: INCBIN "gfx/trainer_card/trainer_card.2bpp" +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" diff --git a/gfx/trainer_card/badges.2bpp b/gfx/trainer_card/badges.2bpp Binary files differnew file mode 100644 index 00000000..52cf24e1 --- /dev/null +++ b/gfx/trainer_card/badges.2bpp diff --git a/gfx/trainer_card/badges.png b/gfx/trainer_card/badges.png Binary files differnew file mode 100644 index 00000000..4e5820da --- /dev/null +++ b/gfx/trainer_card/badges.png diff --git a/gfx/trainer_card/card_status.2bpp b/gfx/trainer_card/card_status.2bpp Binary files differnew file mode 100644 index 00000000..3234368a --- /dev/null +++ b/gfx/trainer_card/card_status.2bpp diff --git a/gfx/trainer_card/card_status.png b/gfx/trainer_card/card_status.png Binary files differnew file mode 100644 index 00000000..b33bb202 --- /dev/null +++ b/gfx/trainer_card/card_status.png diff --git a/gfx/trainer_card/chris_card.2bpp b/gfx/trainer_card/chris_card.2bpp Binary files differnew file mode 100644 index 00000000..c24a76d9 --- /dev/null +++ b/gfx/trainer_card/chris_card.2bpp diff --git a/gfx/trainer_card/chris_card.png b/gfx/trainer_card/chris_card.png Binary files differnew file mode 100644 index 00000000..cba27a01 --- /dev/null +++ b/gfx/trainer_card/chris_card.png diff --git a/gfx/trainer_card/leaders.2bpp b/gfx/trainer_card/leaders.2bpp Binary files differnew file mode 100644 index 00000000..fecae45d --- /dev/null +++ b/gfx/trainer_card/leaders.2bpp diff --git a/gfx/trainer_card/leaders.png b/gfx/trainer_card/leaders.png Binary files differnew file mode 100644 index 00000000..87413543 --- /dev/null +++ b/gfx/trainer_card/leaders.png diff --git a/gfx/trainer_card/trainer_card.2bpp b/gfx/trainer_card/trainer_card.2bpp Binary files differnew file mode 100644 index 00000000..09de7a2d --- /dev/null +++ b/gfx/trainer_card/trainer_card.2bpp diff --git a/gfx/trainer_card/trainer_card.png b/gfx/trainer_card/trainer_card.png Binary files differnew file mode 100644 index 00000000..88ce35bc --- /dev/null +++ b/gfx/trainer_card/trainer_card.png @@ -240,9 +240,7 @@ INCLUDE "engine/menus/menu_2.asm" INCLUDE "engine/pokemon/mon_submenu.asm" INCLUDE "engine/battle/menu.asm" INCLUDE "engine/items/buy_sell_toss.asm" - -TrainerCard:: - dr $25061, $267af +INCLUDE "engine/menus/trainer_card.asm" ProfOaksPC:: dr $267af, $267ca diff --git a/tools/gfx.py b/tools/gfx.py index eadc7add..fcdc3f8a 100644 --- a/tools/gfx.py +++ b/tools/gfx.py @@ -101,6 +101,24 @@ def filepath_rules(filepath): args['pal_file'] = os.path.join(filedir, trainer_name + '.pal') args['pic'] = True + elif 'gfx/battle' in filedir: + if name == 'dude': + args['pic_dimensions'] = 6, 6 + + elif 'gfx/icons' in filedir: + if name == 'mail_big': + args['width'] = 16 + + elif 'gfx/intro' in filedir: + if name == 'logo_star': + args['width'] = 8 + elif name in ['gamefreak_logo', 'logo_sparkle']: + args['width'] = 24 + elif name == 'gamefreak_presents': + args['width'] = 104 + elif name == 'copyright': + args['width'] = 240 + elif 'gfx/mail' in filedir: if name in mail_px8: args['width'] = 8 @@ -118,29 +136,9 @@ def filepath_rules(filepath): args['width'] = 56 args['rows'] = [(0, 6), (1, 6), (2, 6)] - elif 'gfx/pack' in filedir: - if name == 'pack': - args['width'] = 40 - elif name == 'pack_menu': - args['width'] = 128 - - elif 'gfx/intro' in filedir: - if name == 'logo_star': - args['width'] = 8 - elif name in ['gamefreak_logo', 'logo_sparkle']: - args['width'] = 24 - elif name == 'gamefreak_presents': - args['width'] = 104 - elif name == 'copyright': - args['width'] = 240 - elif 'gfx/naming_screen' in filedir: args['width'] = 8 - elif 'gfx/icons' in filedir: - if name == 'mail_big': - args['width'] = 16 - elif 'gfx/overworld' in filedir: if name == 'heal_machine': args['width'] = 8 @@ -150,6 +148,16 @@ def filepath_rules(filepath): elif name in overworld_px16: args['width'] = 16 + elif 'gfx/pack' in filedir: + if name == 'pack': + args['width'] = 40 + elif name == 'pack_menu': + args['width'] = 128 + + elif 'gfx/player' in filedir: + if name == 'chris_back': + args['pic_dimensions'] = 6, 6 + elif 'gfx/sgb' in filedir: args['width'] = 128 args['pal_file'] = os.path.join(filedir, name + '.pal') @@ -162,20 +170,22 @@ def filepath_rules(filepath): else: args['width'] = 16 + elif 'gfx/trainer_card' in filedir: + if name in ['badges', 'trainer_card']: + args['width'] = 16 + elif name == 'card_status': + args['width'] = 48 + elif name == 'chris_card': + args['width'] = 40 + elif name == 'leaders': + args['width'] = 80 + elif 'gfx/unknown' in filedir: if name == 'gfx_170f1': args['width'] = 128 elif name == 'gfx_17079': args['width'] = 16 - elif 'gfx/player' in filedir: - if name == 'chris_back': - args['pic_dimensions'] = 6, 6 - - elif 'gfx/battle' in filedir: - if name == 'dude': - args['pic_dimensions'] = 6, 6 - elif os.path.join(filedir, name) in pics: args['pic'] = True @@ -1766,17 +1766,40 @@ wce62:: ds 1 ; ce62 wce63:: wJumptableIndex:: db -wce64:: + +UNION ; ce64 +; unidentified +wce64:: db +wce65:: db +wce66:: db + +NEXTU ; ce64 +; intro and title data +wIntroSceneFrameCounter:: db +UNION ; ce65 +wIntroSceneTimer:: db +NEXTU ; ce65 +wTitleScreenTimer:: dw +ENDU + +NEXTU ; ce64 +; pack +wPackJumptableIndex:: db +wCurPocket:: db +wPackUsedItem:: db + +NEXTU ; ce64 +; trainer card badges +wTrainerCardBadgeFrameCounter:: db +wTrainerCardBadgeTileID:: db +wTrainerCardBadgeAttributes:: db + +NEXTU ; ce64 +; miscellaneous wFrameCounter:: wMomBankDigitCursorPosition:: db -wce65:: -wIntroSceneTimer:: -wCurPocket:: - db -wce66:: -wPackUsedItem:: - db +ENDU ; ce67 wRequested2bpp:: ds 1 ; ce67 wRequested2bppSource:: dw ; ce68 |