diff options
author | Rangi <35663410+Rangi42@users.noreply.github.com> | 2021-06-20 12:32:51 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-20 12:32:51 -0400 |
commit | f917febffb80f8c8d1c34eda191b5ec3011a2f77 (patch) | |
tree | a7e80ddf3af1b80d237965fb10488cbfaaae5218 | |
parent | d34132455fbd82cb9c55784c023bb2cefe43aac3 (diff) | |
parent | b42d1ca1adc5c299ae7833df2ae0f15d4c68b50b (diff) |
Merge pull request #95 from ZoomTen/super-gameboy
Some work on SGB functions (bank $02)
28 files changed, 1393 insertions, 1225 deletions
@@ -124,6 +124,10 @@ $(BUILD)/%.1bpp: %.1bpp.png tools/gfx | $$(dir $$@) $(BUILD)/%.tilemap: %.png | $$(dir $$@) $(RGBGFX) -t $@ $< +.PRECIOUS: $(BUILD)/%.sgb.tilemap +$(BUILD)/%.sgb.tilemap: %.bin | $$(dir $$@) + tr < $< -d '\000' > $@ + .PRECIOUS: %/ %/: mkdir -p $@ diff --git a/constants/palette_constants.asm b/constants/palette_constants.asm index 4453f18..248a40c 100755 --- a/constants/palette_constants.asm +++ b/constants/palette_constants.asm @@ -1,3 +1,4 @@ +; SuperPalettes indexes (see data/sgb/super_palettes.inc) const_def const PAL_ROUTE ; 00 const PAL_TOWN_01 ; 01 diff --git a/constants/sgb_constants.asm b/constants/sgb_constants.asm index 31cdeb6..dfe0d51 100644 --- a/constants/sgb_constants.asm +++ b/constants/sgb_constants.asm @@ -2,122 +2,30 @@ const_def const SGB_BATTLE_GRAYSCALE const SGB_BATTLE_COLORS - const SGB_TRAINER_GEAR_PALS + const SGB_TOWN_MAP const SGB_STATS_SCREEN_HP_PALS const SGB_POKEDEX const SGB_SLOT_MACHINE - const SGB_06 + const SGB_TITLE_SCREEN const SGB_GS_INTRO const SGB_DIPLOMA - const SGB_MAPPALS + const SGB_MAP_PALS const SGB_PARTY_MENU const SGB_EVOLUTION - const SGB_GS_TITLE_SCREEN - const SGB_0D + const SGB_GF_INTRO + const SGB_TRAINER_CARD const SGB_MOVE_LIST - const SGB_BETA_PIKACHU_MINIGAME - const SGB_POKEDEX_SEARCH_OPTION - const SGB_BETA_POKER + const SGB_PIKACHU_MINIGAME + const SGB_POKEDEX_SELECTION + const SGB_POKER const SGB_POKEPIC - const SGB_TRAINER_GEAR - const SGB_PACKPALS - const SGB_TRAINER_CARD - const SGB_POKEDEX_UNOWN_MODE - const SGB_BILLS_PC - const SGB_UNOWN_PUZZLE - const SGB_GAMEFREAK_LOGO - const SGB_PLAYER_OR_MON_FRONTPIC_PALS - const SGB_TRADE_TUBE - const SGB_TRAINER_OR_MON_FRONTPIC_PALS - const SGB_MYSTERY_GIFT - const SGB_1E + const SGB_TRAINERGEAR + const SGB_TRAINERGEAR_MAP + const SGB_TRAINERGEAR_RADIO SGB_PARTY_MENU_HP_PALS EQU -4 SGB_RAM EQU -1 -; PredefPals indexes (see gfx/sgb/predef.pal) -; GetPredefPal arguments (see engine/gfx/color.asm) - const_def - const PREDEFPAL_00 - const PREDEFPAL_PALLET - const PREDEFPAL_VIRIDIAN - const PREDEFPAL_PEWTER - const PREDEFPAL_CERULEAN - const PREDEFPAL_LAVENDER - const PREDEFPAL_VERMILION - const PREDEFPAL_CELADON - const PREDEFPAL_FUCHSIA - const PREDEFPAL_CINNABAR - const PREDEFPAL_SAFFRON - const PREDEFPAL_INDIGO - const PREDEFPAL_NEW_BARK - const PREDEFPAL_CHERRYGROVE - const PREDEFPAL_VIOLET - const PREDEFPAL_AZALEA - const PREDEFPAL_GOLDENROD - const PREDEFPAL_ECRUTEAK - const PREDEFPAL_OLIVINE - const PREDEFPAL_CIANWOOD - const PREDEFPAL_MAHOGANY - const PREDEFPAL_BLACKTHORN - const PREDEFPAL_LAKE_OF_RAGE - const PREDEFPAL_SILVER_CAVE - const PREDEFPAL_DUNGEONS - const PREDEFPAL_NITE - const PREDEFPAL_BLACKOUT - const PREDEFPAL_DIPLOMA ; RB_MEWMON - const PREDEFPAL_TRADE_TUBE ; RB_BLUEMON - const PREDEFPAL_POKEDEX ; RB_REDMON - const PREDEFPAL_RB_CYANMON - const PREDEFPAL_RB_PURPLEMON - const PREDEFPAL_RB_BROWNMON - const PREDEFPAL_RB_GREENMON - const PREDEFPAL_RB_PINKMON - const PREDEFPAL_RB_YELLOWMON - const PREDEFPAL_CGB_BADGE ; RB_GRAYMON - const PREDEFPAL_BETA_SHINY_MEWMON - const PREDEFPAL_BETA_SHINY_BLUEMON - const PREDEFPAL_BETA_SHINY_REDMON - const PREDEFPAL_BETA_SHINY_CYANMON - const PREDEFPAL_BETA_SHINY_PURPLEMON - const PREDEFPAL_BETA_SHINY_BROWNMON - const PREDEFPAL_BETA_SHINY_GREENMON - const PREDEFPAL_BETA_SHINY_PINKMON - const PREDEFPAL_BETA_SHINY_YELLOWMON - const PREDEFPAL_PARTY_ICON ; BETA_SHINY_GRAYMON - const PREDEFPAL_HP_GREEN - const PREDEFPAL_HP_YELLOW - const PREDEFPAL_HP_RED - const PREDEFPAL_TRAINER_GEAR - const PREDEFPAL_BETA_LOGO_1 - const PREDEFPAL_BETA_LOGO_2 - const PREDEFPAL_GS_INTRO_GAMEFREAK_LOGO - const PREDEFPAL_GS_INTRO_SHELLDER_LAPRAS - const PREDEFPAL_BETA_INTRO_LAPRAS - const PREDEFPAL_GS_INTRO_JIGGLYPUFF_PIKACHU_BG - const PREDEFPAL_GS_INTRO_JIGGLYPUFF_PIKACHU_OB - const PREDEFPAL_GS_INTRO_STARTERS_TRANSITION - const PREDEFPAL_BETA_INTRO_VENUSAUR - const PREDEFPAL_PACK ; GS_INTRO_CHARIZARD - const PREDEFPAL_SLOT_MACHINE_0 - const PREDEFPAL_SLOT_MACHINE_1 - const PREDEFPAL_SLOT_MACHINE_2 - const PREDEFPAL_SLOT_MACHINE_3 - const PREDEFPAL_BETA_POKER_0 - const PREDEFPAL_BETA_POKER_1 - const PREDEFPAL_BETA_POKER_2 - const PREDEFPAL_BETA_POKER_3 - const PREDEFPAL_BETA_RADIO - const PREDEFPAL_BETA_TRAINER_GEAR - const PREDEFPAL_47 - const PREDEFPAL_GS_TITLE_SCREEN_0 - const PREDEFPAL_GS_TITLE_SCREEN_1 - const PREDEFPAL_GS_TITLE_SCREEN_2 - const PREDEFPAL_GS_TITLE_SCREEN_3 - const PREDEFPAL_UNOWN_PUZZLE - const PREDEFPAL_4D - const PREDEFPAL_GAMEFREAK_LOGO - ; SGB system command codes ; http://gbdev.gg8.se/wiki/articles/SGB_Functions#SGB_System_Command_Table const_def diff --git a/data/predef_pointers.inc b/data/predef_pointers.inc index d71e4d7..8b0d143 100644 --- a/data/predef_pointers.inc +++ b/data/predef_pointers.inc @@ -88,7 +88,7 @@ GiveItemPredef:: add_predef Function1457a add_predef Function143e0 add_predef CheckSGB - add_predef Function928b + add_predef LoadSGBLayout add_predef Function8786 add_predef DoBattleTransition add_predef Function8c9c6 diff --git a/data/sgb/blk_packets.inc b/data/sgb/blk_packets.inc new file mode 100644 index 0000000..1ca8e34 --- /dev/null +++ b/data/sgb/blk_packets.inc @@ -0,0 +1,73 @@ +attr_blk: MACRO + db (SGB_ATTR_BLK << 3) + ((\1 * 6) / 16 + 1) + db \1 +ENDM + +attr_blk_data: MACRO + db \1 ; which regions are affected + db \2 + (\3 << 2) + (\4 << 4) ; palette for each region + db \5, \6, \7, \8 ; x1, y1, x2, y2 +ENDM + +BlkPacket_986c: + attr_blk 1 + attr_blk_data %011, 0,0,0, 00,00, 19,17 + ds 8 + +BlkPacket_GSIntroJigglypuffPikachu: + attr_blk 1 + attr_blk_data %111, 1,1,0, 00,10, 19,13 + ds 8 + +BlkPacket_Battle: + attr_blk 5 + attr_blk_data %111, 2,2,0, 00,12, 19,17 + attr_blk_data %011, 1,1,0, 01,00, 10,03 + attr_blk_data %011, 0,0,0, 10,08, 19,10 + attr_blk_data %011, 2,2,0, 00,04, 08,11 + attr_blk_data %011, 3,3,0, 11,00, 19,07 + +BlkPacket_StatsScreen: + attr_blk 1 + attr_blk_data %111, 1,1,0, 00,01, 07,07 + ds 8 + +BlkPacket_MoveList: + attr_blk 1 + attr_blk_data %111, 1,1,0, 11,01, 19,02 + ds 8 + +BlkPacket_Pokedex: + attr_blk 1 + attr_blk_data %111, 1,1,0, 01,01, 08,08 + ds 8 + +BlkPacket_SlotMachine: + attr_blk 5 + attr_blk_data %011, 1,1,0, 00,00, 19,11 + attr_blk_data %011, 2,2,0, 00,04, 19,09 + attr_blk_data %010, 3,3,0, 00,06, 19,07 + attr_blk_data %011, 0,0,0, 04,04, 15,09 + attr_blk_data %011, 0,0,0, 00,12, 19,17 + +BlkPacket_98fc: + attr_blk 7 + attr_blk_data %111, 0,0,1, 00,00, 02,12 + attr_blk_data %010, 0,0,0, 12,00, 18,01 + attr_blk_data %010, 0,0,0, 12,02, 18,03 + attr_blk_data %010, 0,0,0, 12,04, 18,05 + attr_blk_data %010, 0,0,0, 12,06, 18,07 + attr_blk_data %010, 0,0,0, 12,08, 18,09 + attr_blk_data %010, 0,0,0, 12,10, 18,11 + ds 4 + +BlkPacket_TrainerGear: + attr_blk 1 + attr_blk_data %111, 0,0,1, 00,00, 19,02 + ds 8 + +BlkPacket_TitleScreen: + attr_blk 1 + attr_blk_data %111, 0,0,1, 00,00, 19,05 + ds 8 + diff --git a/data/sgb/ctrl_packets.inc b/data/sgb/ctrl_packets.inc new file mode 100644 index 0000000..b613e7d --- /dev/null +++ b/data/sgb/ctrl_packets.inc @@ -0,0 +1,128 @@ +sgb_pal_trn: MACRO + db (SGB_PAL_TRN << 3) + 1 + ds 15 +ENDM + +sgb_mlt_req: MACRO + db (SGB_MLT_REG << 3) + 1 + db \1 - 1 + ds 14 +ENDM + +sgb_chr_trn: MACRO + db (SGB_CHR_TRN << 3) + 1 + db \1 + (\2 << 1) + ds 14 +ENDM + +sgb_pct_trn: MACRO + db (SGB_PCT_TRN << 3) + 1 + ds 15 +ENDM + +sgb_mask_en: MACRO + db (SGB_MASK_EN << 3) + 1 + db \1 + ds 14 +ENDM + +sgb_data_snd: MACRO + db (SGB_DATA_SND << 3) + 1 + dw \1 ; address + db \2 ; bank + db \3 ; length (1-11) +ENDM + +PalTrnPacket: sgb_pal_trn +MltReq1Packet: sgb_mlt_req 1 +MltReq2Packet: sgb_mlt_req 2 +ChrTrnPacket: sgb_chr_trn 0, 0 +PctTrnPacket: sgb_pct_trn + +MaskEnFreezePacket: sgb_mask_en 1 +MaskEnCancelPacket: sgb_mask_en 0 + +; These are packets containing SNES code. +; This set of packets is found in several Japanese SGB-compatible titles. +; It appears to be part of NCL's SGB devkit. + +DataSndPacket1: + sgb_data_snd $085d, $0, 11 + db $8c ; cpx #$8c (2) + db $d0, $f4 ; bne -$0c + db $60 ; rts + ds 7 + +DataSndPacket2: + sgb_data_snd $0852, $0, 11 + db $a9, $e7 ; lda #$e7 + db $9f, $01, $c0, $7e ; sta $7ec001, x + db $e8 ; inx + db $e8 ; inx + db $e8 ; inx + db $e8 ; inx + db $e0 ; cpx #$8c (1) + +DataSndPacket3: + sgb_data_snd $0847, $0, 11 + db $c4 ; cmp #$c4 (2) + db $d0, $16 ; bne +$16 + db $a5 ; lda dp + db $cb ; wai + db $c9, $05 ; cmp #$05 + db $d0, $10 ; bne +$10 + db $a2, $28 ; ldx #$28 + +DataSndPacket4: + sgb_data_snd $083c, $0, 11 + db $f0, $12 ; beq +$12 + db $a5 ; lda dp + db $c9, $c9 ; cmp #$c9 + db $c8 ; iny + db $d0, $1c ; bne +$1c + db $a5 ; lda dp + db $ca ; dex + db $c9 ; cmp #$c4 (1) + +DataSndPacket5: + sgb_data_snd $0831, $0, 11 + dbw $0c, $caa5 ; tsb $caa5 + db $c9, $7e ; cmp #$7e + db $d0, $06 ; bne +$06 + db $a5 ; lda dp + db $cb ; wai + db $c9, $7e ; cmp #$7e + +DataSndPacket6: + sgb_data_snd $0826, $0, 11 + db $39 ; bne +$39 (2) + dbw $cd, $0c48 ; cmp $0c48 + db $d0, $34 ; bne +$34 + db $a5 ; lda dp + db $c9, $c9 ; cmp #$c9 + db $80, $d0 ; bra -$30 + +DataSndPacket7: + sgb_data_snd $081b, $0, 11 + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $ea ; nop + ; $0820: + db $a9, $01 ; lda #01 + dbw $cd, $0c4f ; cmp $c4f + db $d0 ; bne +$39 (1) + +DataSndPacket8: + sgb_data_snd $0810, $0, 11 + dbw $4c, $0820 ; jmp $0820 + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $60 ; rts + db $ea ; nop + db $ea ; nop + diff --git a/data/sgb/pal_packets.inc b/data/sgb/pal_packets.inc new file mode 100644 index 0000000..510cc04 --- /dev/null +++ b/data/sgb/pal_packets.inc @@ -0,0 +1,57 @@ +sgb_pal_set: MACRO + db (SGB_PAL_SET << 3) + 1 + dw PAL_\1, PAL_\2, PAL_\3, PAL_\4 + ds 7 +ENDM + +PalPacket_Poker: + sgb_pal_set POKER_1, POKER_2, POKER_3, POKER_4 + +PalPacket_995c: + sgb_pal_set ROUTE, ROUTE, ROUTE, ROUTE + +PalPacket_GSIntroShellderLapras: + sgb_pal_set INTRO_WATER, ROUTE, ROUTE, ROUTE + +PalPacket_MagikarpIntro: + sgb_pal_set INTRO_LAPRAS, ROUTE, ROUTE, ROUTE + +PalPacket_GSIntroJigglypuffPikachu: + sgb_pal_set INTRO_FOREST, INTRO_JIGGLYPUFF_PIKACHU, ROUTE, ROUTE + +PalPacket_GSIntroBlastoise: + sgb_pal_set INTRO_BLASTOISE, ROUTE, ROUTE, ROUTE + +PalPacket_GSIntroVenusaur: + sgb_pal_set INTRO_VENUSAUR, ROUTE, ROUTE, ROUTE + +PalPacket_GSIntroCharizard: + sgb_pal_set INTRO_CHARIZARD, ROUTE, ROUTE, ROUTE + +PalPacket_PikachuMinigame: + sgb_pal_set INTRO_JIGGLYPUFF_PIKACHU, ROUTE, ROUTE, ROUTE + +PalPacket_PartyMenu: + sgb_pal_set SHINY_GRAYMON, GREEN_BAR, YELLOW_BAR, RED_BAR + +PalPacket_BattleGrayscale: + sgb_pal_set BLACK, BLACK, BLACK, BLACK + +PalPacket_TownMap: + sgb_pal_set TOWN_MAP, ROUTE, ROUTE, ROUTE + +PalPacket_Pokedex: + sgb_pal_set INTRO_CHARIZARD, ROUTE, ROUTE, ROUTE + +PalPacket_SlotMachine: + sgb_pal_set SLOTS_1, SLOTS_2, SLOTS_3, SLOTS_4 + +PalPacket_TitleScreen: + sgb_pal_set LOGO_1, LOGO_2, MEWMON, PURPLEMON + +PalPacket_9a3c: + sgb_pal_set MEWMON, ROUTE, ROUTE, ROUTE + +PalPacket_GFIntro: + sgb_pal_set GAME_FREAK, ROUTE, ROUTE, ROUTE + diff --git a/data/super_palettes.inc b/data/sgb/super_palettes.inc index 5dba6d8..5dba6d8 100644 --- a/data/super_palettes.inc +++ b/data/sgb/super_palettes.inc diff --git a/engine/dumps/bank01.asm b/engine/dumps/bank01.asm index 01f36da..03c93ba 100755 --- a/engine/dumps/bank01.asm +++ b/engine/dumps/bank01.asm @@ -3741,9 +3741,7 @@ Function78f0: ld a, [hl] xor $08 ld [hl], a - ld hl, Function96eb - ld a, BANK(Function96eb) - call FarCall_hl + callab UpdateSGBBorder call LoadFont call LoadFontExtra ld c, $70 diff --git a/engine/dumps/bank02.asm b/engine/dumps/bank02.asm index 38042a4..bb1528c 100755 --- a/engine/dumps/bank02.asm +++ b/engine/dumps/bank02.asm @@ -1252,1097 +1252,3 @@ Data8a53: db $3c, $14, $3c, $20, $48, $14, $54, $1c db $54, $2c, $54, $38, $3c, $44, $48, $2c -SECTION "engine/dumps/bank02.asm@SetTitleBGDecorationBorder", ROMX - -SetTitleBGDecorationBorder: - ld de, TitleBGDecorationBorder - ld hl, vChars2 + $500 - lb bc, BANK(TitleBGDecorationBorder), $09 - call Request2bpp - coord hl, 0, 8 - ld b, $50 - call Function91ef - coord hl, 0, 16 - ld b, $54 - call Function91ef - ret - -Function91ef: - xor a - ld c, $14 -.sub_91f2 - and $03 - or b - ld [hli], a - inc a - dec c - jr nz, .sub_91f2 - ret - -SECTION "engine/dumps/bank02.asm@Function928b", ROMX - -Function928b: - ld a, b - cp $ff - jr nz, .sub_9293 - ld a, [wccd0] -.sub_9293 - cp $fc - jp z, Function9604 - ld l, a - ld h, $00 - add hl, hl - ld de, Table92a8 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld de, Function955f - push de - jp hl - -Table92a8: - dw Function92d4 - dw Function92db - dw Function934b - dw Function9352 - dw Function9382 - dw Function93a6 - dw Function93ad - dw Function93bb - dw Function93b4 - dw Function93fe - dw Function937b - dw Function941a - dw Function93d8 - dw Function9441 - dw Function932b - dw Function93e4 - dw Function939f - dw Function93eb - dw Function9448 - dw Function948e - dw Function94ab - dw Function94c8 - -Function92d4: - ld hl, Data99ec - ld de, Data988c - ret - -Function92db: - ld hl, Data995c - ld de, wcce1 - ld bc, $0010 - call CopyBytes - ld a, [wca3f] - ld hl, wca02 - call Function9567 - jr c, .sub_92f7 - ld e, $00 - call Function9599 -.sub_92f7 - ld b, a - ld a, [wca44] - ld hl, wcdd7 - call Function9567 - jr c, .sub_9308 - ld e, $01 - call Function9599 -.sub_9308 - ld c, a - ld hl, wcce2 - ld a, [wccd1] - add $23 - ld [hli], a - inc hl - ld a, [wccd2] - add $23 - ld [hli], a - inc hl - ld a, b - ld [hli], a - inc hl - ld a, c - ld [hl], a - ld hl, wcce1 - ld de, Data988c - ld a, $01 - ld [wccd0], a - ret - -Function932b: - ld hl, Data995c - ld de, wcce1 - ld bc, $0010 - call CopyBytes - ld hl, wcce2 - ld [hl], $10 - inc hl - inc hl - ld a, [wccd1] - add $23 - ld [hl], a - ld hl, wcce1 - ld de, Data98bc - ret - -Function934b: - ld hl, Data99fc - ld de, Data986c - ret - -Function9352: - ld hl, Data995c - ld de, wcce1 - ld bc, $0010 - call CopyBytes - ld a, [wMonDexIndex] - call Function956d - call Function957e - push af - ld hl, wcce2 - ld a, [wccd9] - add $23 - ld [hli], a - inc hl - pop af - ld [hl], a - ld hl, wcce1 - ld de, Data98ac - ret - -Function937b: - ld hl, Data99dc - ld de, wcce2 - ret - -Function9382: - ld hl, Data9a0c - ld de, wcce1 - ld bc, $0010 - call CopyBytes - ld a, [wMonDexIndex] - call Function956d - ld hl, wcce4 - ld [hl], a - ld hl, wcce1 - ld de, Data98cc - ret - -Function939f: - ld hl, Data99bc - ld de, Data986c - ret - -Function93a6: - ld hl, Data9a1c - ld de, Data98dc - ret - -Function93ad: - ld hl, Data9a2c - ld de, Data993c - ret - -Function93b4: - ld hl, Data9a3c - ld de, Data986c - ret - -Function93bb: - ld b, $00 - ld hl, Table93cc - add hl, bc - add hl, bc - add hl, bc - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld a, [hli] - ld h, [hl] - ld l, a - ret - -Table93cc: - dw Data986c - dw Data996c - - dw Data987c - dw Data998c - - dw Data986c - dw Data999c - -Function93d8: - ld hl, Data9a4c - ld de, Data986c - ld a, $08 - ld [wccd0], a - ret - -Function93e4: - ld hl, Data99cc - ld de, Data986c - ret - -Function93eb: - ld hl, Data986c - ld de, wc51a - ld bc, $0010 - call CopyBytes - ld hl, Data994c - ld de, Data986c - ret - -Function93fe: - ld hl, Data995c - ld de, wcce1 - ld bc, $0010 - call CopyBytes - call Function94e5 - ld hl, wcce2 - ld [hld], a - ld de, Data986c - ld a, $09 - ld [wccd0], a - ret - -Function941a: - push bc - ld hl, Data995c - ld de, wcce1 - ld bc, $0010 - call CopyBytes - pop bc - ld a, c - and a - ld a, $0e - jr nz, .sub_9437 - ld a, [wccd1] - call Function956d - call Function957e -.sub_9437 - ld [wcce2], a - ld hl, wcce1 - ld de, Data986c - ret - -Function9441: - ld hl, Data9a3c - ld de, Data986c - ret - -Function9448: - ld hl, Data995c - ld de, wcce1 - ld bc, $0010 - call CopyBytes - ld hl, Data986c - ld de, wccf1 - ld bc, $0010 - call CopyBytes - call Function94e5 - ld hl, wcce2 - ld [hl], a - ld a, [wMonDexIndex] - call Function956d - ld hl, wcce4 - ld [hl], a - ld hl, wccf4 - ld a, $05 - ld [hli], a - ld a, [wMenuBorderLeftCoord] - ld [hli], a - ld a, [wMenuBorderTopCoord] - ld [hli], a - ld a, [wMenuBorderRightCoord] - ld [hli], a - ld a, [wMenuBorderBottomCoord] - ld [hl], a - ld hl, wcce1 - ld de, wccf1 - ret - -Function948e: - ld hl, Data995c - ld de, wcce1 - ld bc, $0010 - call CopyBytes - ld a, $16 - ld [wcce2], a - ld a, $30 - ld [wcce4], a - ld hl, wcce1 - ld de, Data992c - ret - -Function94ab: - ld hl, Data995c - ld de, wcce1 - ld bc, $0010 - call CopyBytes - ld a, $16 - ld [wcce2], a - ld a, $26 - ld [wcce4], a - ld hl, wcce1 - ld de, Data992c - ret - -Function94c8: - ld hl, Data995c - ld de, wcce1 - ld bc, $0010 - call CopyBytes - ld a, $16 - ld [wcce2], a - ld a, $39 - ld [wcce4], a - ld hl, wcce1 - ld de, Data992c - ret - -Function94e5: - ld a, [wMapPermissions] - cp $02 - jr z, .sub_950e - cp $04 - jr z, .sub_9516 - cp $06 - jr z, .sub_951e - cp $05 - jr z, .sub_9521 - cp $03 - jr z, .sub_9505 - call Function9527 - jr c, .sub_9524 - call Function9543 - ret -.sub_9505 - call Function9536 - jr c, .sub_9524 - call Function9543 - ret -.sub_950e - call Function9527 - jr c, .sub_9524 - ld a, $00 - ret -.sub_9516 - call Function9527 - jr c, .sub_9524 - ld a, $0c - ret -.sub_951e - ld a, $03 - ret -.sub_9521 - ld a, $04 - ret -.sub_9524 - ld a, $0d - ret - -Function9527: - ld a, [wTimeOfDay] - and $03 - jr z, .sub_9534 - cp $03 - jr z, .sub_9534 - scf - ret -.sub_9534 - and a - ret - -Function9536: - ld a, [wTimeOfDay] - and $03 - cp $02 - jr nz, .sub_9541 - scf - ret -.sub_9541 - and a - ret - -Function9543: - ld a, [wMapGroup] - ld e, a - ld d, $00 - ld hl, Data954f - add hl, de - ld a, [hl] - ret - -Data954f: - db $01, $07, $0c, $03, $08, $06, $0b, $04 - db $05, $0a, $02, $03, $02, $02, $09, $01 - -Function955f: - push de - call Function964b - pop hl - jp Function964b - -Function9567: - bit 3, a - ld a, $18 - ret nz - ld a, [hl] - -Function956d: - and a - jr z, .sub_957a - ld e, a - ld d, $00 - ld hl, PokemonPalettes - add hl, de - ld a, [hl] - and a - ret -.sub_957a - ld a, $0f - scf - ret - -Function957e: - push bc - push af - ld hl, wPartyMon1DVs - ld a, [wWhichPokemon] - ld bc, $0030 - call AddNTimes - call Function95b0 - ld b, $00 - jr nc, .sub_9595 - ld b, $0a -.sub_9595 - pop af - add b - pop bc - ret - -Function9599: - push bc - push af - ld a, e - and a - ld a, [wcae1] - jr z, .sub_95a4 - srl a -.sub_95a4 - srl a - ld b, $00 - jr nc, .sub_95ac - ld b, $0a -.sub_95ac - pop af - add b - pop bc - ret - -Function95b0: - ld a, [hl] - cp $a0 - jr c, .sub_95ca - ld a, [hli] - and $0f - cp $0a - jr c, .sub_95ca - ld a, [hl] - cp $a0 - jr c, .sub_95ca - ld a, [hl] - and $0f - cp $0a - jr c, .sub_95ca - scf - ret -.sub_95ca - and a - ret - -Function95cc: - ld hl, wcddf - ldh a, [hBattleTurn] - and a - jr nz, .sub_95d7 - ld hl, wca08 -.sub_95d7 - call Function95b0 - ld hl, wcae1 - jr nc, .sub_95ec - ldh a, [hBattleTurn] - and a - jr nz, .sub_95e8 - set 0, [hl] - jr .sub_95f7 -.sub_95e8 - set 1, [hl] - jr .sub_95f7 -.sub_95ec - ldh a, [hBattleTurn] - and a - jr nz, .sub_95f5 - res 0, [hl] - jr .sub_95f7 -.sub_95f5 - res 1, [hl] -.sub_95f7 - ret - -Function95f8: - ld hl, Data98fc - ld de, wcce2 - ld bc, $0030 - jp CopyBytes - -Function9604: - ld hl, wccd3 - ld a, [wcce1] - ld e, a - ld d, $00 - add hl, de - ld e, l - ld d, h - ld a, [de] - and a - ld e, $05 - jr z, .sub_961d - dec a - ld e, $0a - jr z, .sub_961d - ld e, $0f -.sub_961d - push de - ld hl, wcceb - ld bc, $0006 - ld a, [wcce1] - call AddNTimes - pop de - ld [hl], e - ret - -LoadMagikarpPalettes_Intro: - ld hl, Data997c - jp Function964b - -LoadForestPalettes2_Intro: - ld hl, Data986c - jp Function964b - -LoadVenusaurPalettes_Intro: - ld hl, Data99ac - jp Function964b - -LoadCharizardPalettes_Intro: - ld hl, Data99bc - jp Function964b - -Function9645: - ld hl, wc51a - jp Function964b - -Function964b: - ld a, [wJoypadFlags] - push af - set 7, a - ld [wJoypadFlags], a - call Function965c - pop af - ld [wJoypadFlags], a - ret - -Function965c: - ld a, [hl] - and $07 - ret z - ld b, a -.sub_9661 - push bc - xor a - ldh [rJOYP], a - ld a, $30 - ldh [rJOYP], a - ld b, $10 -.sub_966b - ld e, $08 - ld a, [hli] - ld d, a -.sub_966f - bit 0, d - ld a, $10 - jr nz, .sub_9677 - ld a, $20 -.sub_9677 - ldh [rJOYP], a - ld a, $30 - ldh [rJOYP], a - rr d - dec e - jr nz, .sub_966f - dec b - jr nz, .sub_966b - ld a, $20 - ldh [rJOYP], a - ld a, $30 - ldh [rJOYP], a - call Function9860 - pop bc - dec b - jr nz, .sub_9661 - ret - -CheckSGB: - ld a, [wJoypadFlags] - push af - set 7, a - ld [wJoypadFlags], a - xor a - ldh [rJOYP], a - ld [wSGB], a - call Function9730 - jr nc, .sub_96c0 - ld a, $01 - ld [wSGB], a - call .sub_96c5 - call Function9704 - call Function979a - call Function9725 - ld hl, Data9abc - call Function965c -.sub_96c0 - pop af - ld [wJoypadFlags], a - ret -.sub_96c5 - ld hl, Table96d9 - ld c, $09 -.sub_96ca - push bc - ld a, [hli] - push hl - ld h, [hl] - ld l, a - call Function965c - pop hl - inc hl - pop bc - dec c - jr nz, .sub_96ca - ret - -Table96d9: - dw Data9aac - dw Data9acc - dw Data9adc - dw Data9aec - dw Data9afc - dw Data9b0c - dw Data9b1c - dw Data9b2c - dw Data9b3c - -Function96eb: - ld a, [wSGB] - ret z - di - xor a - ldh [rJOYP], a - ld hl, Data9aac - call Function965c - call Function9704 - ld hl, Data9abc - call Function965c - ei - ret - -Function9704: - call Function9710 - push de - call Function980a - pop hl - call Function97be - ret - -Function9710: - ld a, [wce5f] - bit 3, a - jr nz, .sub_971e - ld hl, UnusedSGBBorderGFX - ld de, Corrupted9e1cGFX - ret -.sub_971e - ld hl, SGBBorderGFX - ld de, Corrupteda66cGFX - ret - -Function9725: - ld hl, vChars0 - ld bc, $2000 - xor a - call ByteFill - ret - -Function9730: - ld hl, Data9a7c - call Function965c - call Function9860 - ldh a, [rJOYP] - and $03 - cp $03 - jr nz, .sub_978c - ld a, $20 - ldh [rJOYP], a - ldh a, [rJOYP] - ldh a, [rJOYP] - call Function9860 - call Function9860 - ld a, $30 - ldh [rJOYP], a - call Function9860 - call Function9860 - ld a, $10 - ldh [rJOYP], a - ldh a, [rJOYP] - ldh a, [rJOYP] - ldh a, [rJOYP] - ldh a, [rJOYP] - ldh a, [rJOYP] - ldh a, [rJOYP] - call Function9860 - call Function9860 - ld a, $30 - ldh [rJOYP], a - ldh a, [rJOYP] - ldh a, [rJOYP] - ldh a, [rJOYP] - call Function9860 - call Function9860 - ldh a, [rJOYP] - and $03 - cp $03 - jr nz, .sub_978c - call .sub_9791 - and a - ret -.sub_978c - call .sub_9791 - scf - ret -.sub_9791 - ld hl, Data9a6c - call Function965c - jp Function9860 - -Function979a: - call DisableLCD - ld a, $e4 - ldh [rBGP], a - ld hl, SuperPalettes - ld de, vChars1 - ld bc, $1000 - call Function9838 - call Function984a - ld a, $e3 - ldh [rLCDC], a - ld hl, Data9a5c - call Function965c - xor a - ldh [rBGP], a - ret - -Function97be: - call DisableLCD - ld a, $e4 - ldh [rBGP], a - ld de, vChars1 - ld bc, $0140 - call Function9838 - ld b, $12 -.sub_97d0 - push bc - ld bc, $000c - call Function9838 - ld bc, $0028 - call Function9841 - ld bc, $000c - call Function9838 - pop bc - dec b - jr nz, .sub_97d0 - ld bc, $0140 - call Function9838 - ld bc, $0100 - call Function9841 - ld bc, $0080 - call Function9838 - call Function984a - ld a, $e3 - ldh [rLCDC], a - ld hl, Data9a9c - call Function965c - xor a - ldh [rBGP], a - ret - -Function980a: - call DisableLCD - ld a, $e4 - ldh [rBGP], a - ld de, vChars1 - ld b, $80 -.sub_9816 - push bc - ld bc, $0010 - call Function9838 - ld bc, $0010 - call Function9841 - pop bc - dec b - jr nz, .sub_9816 - call Function984a - ld a, $e3 - ldh [rLCDC], a - ld hl, Data9a8c - call Function965c - xor a - ldh [rBGP], a - ret - -Function9838: - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, c - or b - jr nz, Function9838 - ret - -Function9841: - xor a - ld [de], a - inc de - dec bc - ld a, c - or b - jr nz, Function9841 - ret - -Function984a: - ld hl, vBGMap0 - ld de, $000c - ld a, $80 - ld c, $0d -.sub_9854 - ld b, $14 -.sub_9856 - ld [hli], a - inc a - dec b - jr nz, .sub_9856 - add hl, de - dec c - jr nz, .sub_9854 - ret - -Function9860: - ld de, $1b58 -.sub_9863 - nop - nop - nop - dec de - ld a, d - or e - jr nz, .sub_9863 - ret - -Data986c: - db $21, $01, $03, $00, $00, $00, $13, $11 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data987c: - db $21, $01, $07, $05, $00, $0a, $13, $0d - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data988c: - db $22, $05, $07, $0a, $00, $0c, $13, $11 - db $03, $05, $01, $00, $0a, $03, $03, $00 - -Data989c: - db $0a, $08, $13, $0a, $03, $0a, $00, $04 - db $08, $0b, $03, $0f, $0b, $00, $13, $07 - -Data98ac: - db $21, $01, $07, $05, $00, $01, $07, $07 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data98bc: - db $21, $01, $07, $05, $0b, $01, $13, $02 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data98cc: - db $21, $01, $07, $05, $01, $01, $08, $08 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data98dc: - db $22, $05, $03, $05, $00, $00, $13, $0b - db $03, $0a, $00, $04, $13, $09, $02, $0f - -Data98ec: - db $00, $06, $13, $07, $03, $00, $04, $04 - db $0f, $09, $03, $00, $00, $0c, $13, $11 - -Data98fc: - db $23, $07, $07, $10, $00, $00, $02, $0c - db $02, $00, $0c, $00, $12, $01, $02, $00 - -Data990c: - db $0c, $02, $12, $03, $02, $00, $0c, $04 - db $12, $05, $02, $00, $0c, $06, $12, $07 - -Data991c: - db $02, $00, $0c, $08, $12, $09, $02, $00 - db $0c, $0a, $12, $0b, $00, $00, $00, $00 - -Data992c: - db $21, $01, $07, $10, $00, $00, $13, $02 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data993c: - db $21, $01, $07, $10, $00, $00, $13, $05 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data994c: - db $51, $35, $00, $36, $00, $37, $00, $38 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data995c: - db $51, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data996c: - db $51, $2a, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data997c: - db $51, $2b, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data998c: - db $51, $2c, $00, $2d, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data999c: - db $51, $2e, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data99ac: - db $51, $2f, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data99bc: - db $51, $30, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data99cc: - db $51, $2d, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data99dc: - db $51, $22, $00, $23, $00, $24, $00, $25 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data99ec: - db $51, $0e, $00, $0e, $00, $0e, $00, $0e - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data99fc: - db $51, $26, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data9a0c: - db $51, $30, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data9a1c: - db $51, $31, $00, $32, $00, $33, $00, $34 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data9a2c: - db $51, $27, $00, $28, $00, $0f, $00, $13 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data9a3c: - db $51, $0f, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data9a4c: - db $51, $29, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data9a5c: - db $59, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data9a6c: - db $89, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data9a7c: - db $89, $01, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data9a8c: - db $99, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data9a9c: - db $a1, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data9aac: - db $b9, $01, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data9abc: - db $b9, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Data9acc: - db $79, $5d, $08, $00, $0b, $8c, $d0, $f4 - db $60, $00, $00, $00, $00, $00, $00, $00 - -Data9adc: - db $79, $52, $08, $00, $0b, $a9, $e7, $9f - db $01, $c0, $7e, $e8, $e8, $e8, $e8, $e0 - -Data9aec: - db $79, $47, $08, $00, $0b, $c4, $d0, $16 - db $a5, $cb, $c9, $05, $d0, $10, $a2, $28 - -Data9afc: - db $79, $3c, $08, $00, $0b, $f0, $12, $a5 - db $c9, $c9, $c8, $d0, $1c, $a5, $ca, $c9 - -Data9b0c: - db $79, $31, $08, $00, $0b, $0c, $a5, $ca - db $c9, $7e, $d0, $06, $a5, $cb, $c9, $7e - -Data9b1c: - db $79, $26, $08, $00, $0b, $39, $cd, $48 - db $0c, $d0, $34, $a5, $c9, $c9, $80, $d0 - -Data9b2c: - db $79, $1b, $08, $00, $0b, $ea, $ea, $ea - db $ea, $ea, $a9, $01, $cd, $4f, $0c, $d0 - -Data9b3c: - db $79, $10, $08, $00, $0b, $4c, $20, $08 - db $ea, $ea, $ea, $ea, $ea, $60, $ea, $ea diff --git a/engine/dumps/bank09.asm b/engine/dumps/bank09.asm index 39d902e..5466c79 100644 --- a/engine/dumps/bank09.asm +++ b/engine/dumps/bank09.asm @@ -347,10 +347,10 @@ UpdateItemDescription:: callab ShowItemDescription ret -Function2420b: +Pokepic: ld a, $01 ldh [hBGMapMode], a - ld hl, .MenuHeader24262 + ld hl, .PokepicMenuHeader call LoadMenuHeader call MenuBox call UpdateSprites @@ -372,7 +372,7 @@ Function2420b: call Coord2Tile ld a, $80 ldh [hGraphicStartTile], a - ld bc, $0707 + lb bc, 7, 7 predef PlaceGraphic ld a, $01 ldh [hBGMapMode], a @@ -384,7 +384,7 @@ Function2420b: call LoadFont ret -.MenuHeader24262: +.PokepicMenuHeader: db MENU_BACKUP_TILES menu_coords 6, 4, $e, $d dw 0 diff --git a/engine/games/pikachu_minigame.asm b/engine/games/pikachu_minigame.asm index de930da..4230771 100644 --- a/engine/games/pikachu_minigame.asm +++ b/engine/games/pikachu_minigame.asm @@ -36,7 +36,7 @@ PikachuMiniGame:: .Init: call DisableLCD - ld b, SGB_BETA_PIKACHU_MINIGAME + ld b, SGB_PIKACHU_MINIGAME call GetSGBLayout callab InitEffectObject call PikachuMiniGame_ClearBothTilemaps diff --git a/engine/gfx.asm b/engine/gfx/load_gfx.asm index 5700904..c628c67 100644 --- a/engine/gfx.asm +++ b/engine/gfx/load_gfx.asm @@ -1,6 +1,6 @@ INCLUDE "constants.asm" -SECTION "engine/gfx.asm", ROMX +SECTION "engine/gfx/load_gfx.asm", ROMX LoadFontGraphics:: ld de, FontGFX diff --git a/engine/gfx/set_title_decoration.asm b/engine/gfx/set_title_decoration.asm new file mode 100644 index 0000000..1a4f2fe --- /dev/null +++ b/engine/gfx/set_title_decoration.asm @@ -0,0 +1,33 @@ +INCLUDE "constants.asm" + +SECTION "engine/gfx/set_title_decoration.asm", ROMX + +SetTitleBGDecorationBorder: + ld de, TitleBGDecorationBorder + ld hl, vChars2 + $500 + lb bc, BANK(TitleBGDecorationBorder), 9 + call Request2bpp + +; top row + coord hl, 0, 8 + ld b, $50 + call .PlaceRow + +; bottom row + coord hl, 0, 16 + ld b, $54 + call .PlaceRow + ret + +.PlaceRow: + xor a + ld c, SCREEN_WIDTH +.loop + and $03 + or b + ld [hli], a + inc a + dec c + jr nz, .loop + ret + diff --git a/engine/gfx/sgb_layouts.asm b/engine/gfx/sgb_layouts.asm new file mode 100644 index 0000000..a4faf2a --- /dev/null +++ b/engine/gfx/sgb_layouts.asm @@ -0,0 +1,896 @@ +INCLUDE "constants.asm" + +SECTION "engine/gfx/sgb_layouts.asm", ROMX + +LoadSGBLayout: + ld a, b + cp SGB_RAM + jr nz, .not_ram + ld a, [wccd0] +.not_ram + cp SGB_PARTY_MENU_HP_PALS + jp z, SGB_ApplyPartyMenuHPPals + ld l, a + ld h, 0 + add hl, hl + ld de, .Jumptable + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld de, _LoadSGBLayout_ReturnFromJumpTable + push de + jp hl + +.Jumptable: + dw SGB_BattleGrayscale + dw SGB_BattleColors + dw SGB_TownMap + dw SGB_StatsScreenHPPals + dw SGB_Pokedex + dw SGB_SlotMachine + dw SGB_TitleScreen + dw SGB_GSIntro + dw SGB_Diploma + dw SGB_MapPals + dw SGB_PartyMenu + dw SGB_Evolution + dw SGB_GFIntro + dw SGB_TrainerCard + dw SGB_MoveList + dw SGB_PikachuMinigame + dw SGB_PokedexSelection + dw SGB_Poker + dw SGB12 + dw SGB_TrainerGear + dw SGB_TrainerGearMap + dw SGB_TrainerGearRadio + +SGB_BattleGrayscale: + ld hl, PalPacket_BattleGrayscale + ld de, BlkPacket_Battle + ret + +SGB_BattleColors: + ld hl, PalPacket_995c + ld de, wcce1 + ld bc, PALPACKET_LENGTH + call CopyBytes + + ld a, [wca3f] + ld hl, wca02 + call Function9567 + jr c, .sub_92f7 + + ld e, $00 + call Function9599 +.sub_92f7 + ld b, a + ld a, [wca44] + ld hl, wcdd7 + call Function9567 + jr c, .sub_9308 + ld e, $01 + call Function9599 +.sub_9308 + ld c, a + ld hl, wcce2 + ld a, [wccd1] + add $23 + ld [hli], a + inc hl + ld a, [wccd2] + add $23 + ld [hli], a + inc hl + ld a, b + ld [hli], a + inc hl + ld a, c + ld [hl], a + ld hl, wcce1 + ld de, BlkPacket_Battle + ld a, $01 + ld [wccd0], a + ret + +SGB_MoveList: + ld hl, PalPacket_995c + ld de, wcce1 + ld bc, PALPACKET_LENGTH + call CopyBytes + ld hl, wcce2 + ld [hl], $10 + inc hl + inc hl + ld a, [wccd1] + add $23 + ld [hl], a + ld hl, wcce1 + ld de, BlkPacket_MoveList + ret + +SGB_TownMap: + ld hl, PalPacket_TownMap + ld de, BlkPacket_986c + ret + +SGB_StatsScreenHPPals: + ld hl, PalPacket_995c + ld de, wcce1 + ld bc, PALPACKET_LENGTH + call CopyBytes + ld a, [wMonDexIndex] + call Function956d + call Function957e + push af + ld hl, wcce2 + ld a, [wccd9] + add $23 + ld [hli], a + inc hl + pop af + ld [hl], a + ld hl, wcce1 + ld de, BlkPacket_StatsScreen + ret + +SGB_PartyMenu: + ld hl, PalPacket_PartyMenu + ld de, wcce2 + ret + +SGB_Pokedex: + ld hl, PalPacket_Pokedex + ld de, wcce1 + ld bc, PALPACKET_LENGTH + call CopyBytes + ld a, [wMonDexIndex] + call Function956d + ld hl, wcce4 + ld [hl], a + ld hl, wcce1 + ld de, BlkPacket_Pokedex + ret + +SGB_PokedexSelection: + ld hl, PalPacket_GSIntroCharizard + ld de, BlkPacket_986c + ret + +SGB_SlotMachine: + ld hl, PalPacket_SlotMachine + ld de, BlkPacket_SlotMachine + ret + +SGB_TitleScreen: + ld hl, PalPacket_TitleScreen + ld de, BlkPacket_TitleScreen + ret + +SGB_Diploma: + ld hl, PalPacket_9a3c + ld de, BlkPacket_986c + ret + +SGB_GSIntro: + ld b, 0 + ld hl, .BlkPacketTable +rept 4 + add hl, bc +endr + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld a, [hli] + ld h, [hl] + ld l, a + ret + +.BlkPacketTable: + dw BlkPacket_986c, PalPacket_GSIntroShellderLapras + dw BlkPacket_GSIntroJigglypuffPikachu, PalPacket_GSIntroJigglypuffPikachu + dw BlkPacket_986c, PalPacket_GSIntroBlastoise + +SGB_GFIntro: + ld hl, PalPacket_GFIntro + ld de, BlkPacket_986c + ld a, $08 + ld [wccd0], a + ret + +SGB_PikachuMinigame: + ld hl, PalPacket_PikachuMinigame + ld de, BlkPacket_986c + ret + +SGB_Poker: + ld hl, BlkPacket_986c + ld de, wc51a + ld bc, PALPACKET_LENGTH + call CopyBytes + ld hl, PalPacket_Poker + ld de, BlkPacket_986c + ret + +SGB_MapPals: + ld hl, PalPacket_995c + ld de, wcce1 + ld bc, PALPACKET_LENGTH + call CopyBytes + call GetMapPalsIndex + ld hl, wcce2 + ld [hld], a + ld de, BlkPacket_986c + ld a, $09 + ld [wccd0], a + ret + +SGB_Evolution: + push bc + ld hl, PalPacket_995c + ld de, wcce1 + ld bc, PALPACKET_LENGTH + call CopyBytes + pop bc + ld a, c + and a + ld a, $0e + jr nz, .sub_9437 + ld a, [wccd1] + call Function956d + call Function957e +.sub_9437 + ld [wcce2], a + ld hl, wcce1 + ld de, BlkPacket_986c + ret + +SGB_TrainerCard: + ld hl, PalPacket_9a3c + ld de, BlkPacket_986c + ret + +SGB12: + ld hl, PalPacket_995c + ld de, wcce1 + ld bc, PALPACKET_LENGTH + call CopyBytes + ld hl, BlkPacket_986c + ld de, wccf1 + ld bc, PALPACKET_LENGTH + call CopyBytes + call GetMapPalsIndex + ld hl, wcce2 + ld [hl], a + ld a, [wMonDexIndex] + call Function956d + ld hl, wcce4 + ld [hl], a + ld hl, wccf4 + ld a, $05 + ld [hli], a + ld a, [wMenuBorderLeftCoord] + ld [hli], a + ld a, [wMenuBorderTopCoord] + ld [hli], a + ld a, [wMenuBorderRightCoord] + ld [hli], a + ld a, [wMenuBorderBottomCoord] + ld [hl], a + ld hl, wcce1 + ld de, wccf1 + ret + +SGB_TrainerGear: + ld hl, PalPacket_995c + ld de, wcce1 + ld bc, PALPACKET_LENGTH + call CopyBytes + ld a, $16 + ld [wcce2], a + ld a, $30 + ld [wcce4], a + ld hl, wcce1 + ld de, BlkPacket_TrainerGear + ret + +SGB_TrainerGearMap: + ld hl, PalPacket_995c + ld de, wcce1 + ld bc, PALPACKET_LENGTH + call CopyBytes + ld a, $16 + ld [wcce2], a + ld a, $26 + ld [wcce4], a + ld hl, wcce1 + ld de, BlkPacket_TrainerGear + ret + +SGB_TrainerGearRadio: + ld hl, PalPacket_995c + ld de, wcce1 + ld bc, PALPACKET_LENGTH + call CopyBytes + ld a, $16 + ld [wcce2], a + ld a, $39 + ld [wcce4], a + ld hl, wcce1 + ld de, BlkPacket_TrainerGear + ret + +GetMapPalsIndex: + ld a, [wMapPermissions] + cp ROUTE + jr z, .is_route + cp CAVE + jr z, .is_cave + cp GATE + jr z, .is_gate + cp ENVIRONMENT_5 + jr z, .env5 + cp INDOOR + jr z, .indoors + call Function9527 + jr c, .sub_9524 + call Function9543 + ret + +.indoors + call Function9536 + jr c, .sub_9524 + call Function9543 + ret + +.is_route + call Function9527 + jr c, .sub_9524 + ld a, $00 + ret + +.is_cave + call Function9527 + jr c, .sub_9524 + ld a, $0c + ret + +.is_gate + ld a, $03 + ret + +.env5 + ld a, $04 + ret + +.sub_9524 + ld a, $0d + ret + +Function9527: + ld a, [wTimeOfDay] + and $03 + jr z, .sub_9534 + cp $03 + jr z, .sub_9534 + scf + ret +.sub_9534 + and a + ret + +Function9536: + ld a, [wTimeOfDay] + and $03 + cp $02 + jr nz, .sub_9541 + scf + ret +.sub_9541 + and a + ret + +Function9543: + ld a, [wMapGroup] + ld e, a + ld d, $00 + ld hl, Data954f + add hl, de + ld a, [hl] + ret + +Data954f: + db $01, $07, $0c, $03, $08, $06, $0b, $04 + db $05, $0a, $02, $03, $02, $02, $09, $01 + +_LoadSGBLayout_ReturnFromJumpTable: + push de + call PushSGBPals + pop hl + jp PushSGBPals + +Function9567: + bit 3, a + ld a, $18 + ret nz + ld a, [hl] + +Function956d: + and a + jr z, .sub_957a + ld e, a + ld d, $00 + ld hl, PokemonPalettes + add hl, de + ld a, [hl] + and a + ret +.sub_957a + ld a, $0f + scf + ret + +Function957e: + push bc + push af + ld hl, wPartyMon1DVs + ld a, [wWhichPokemon] + ld bc, $0030 + call AddNTimes + call Function95b0 + ld b, $00 + jr nc, .sub_9595 + ld b, $0a +.sub_9595 + pop af + add b + pop bc + ret + +Function9599: + push bc + push af + ld a, e + and a + ld a, [wcae1] + jr z, .sub_95a4 + srl a +.sub_95a4 + srl a + ld b, $00 + jr nc, .sub_95ac + ld b, $0a +.sub_95ac + pop af + add b + pop bc + ret + +Function95b0: + ld a, [hl] + cp $a0 + jr c, .sub_95ca + ld a, [hli] + and $0f + cp $0a + jr c, .sub_95ca + ld a, [hl] + cp $a0 + jr c, .sub_95ca + ld a, [hl] + and $0f + cp $0a + jr c, .sub_95ca + scf + ret +.sub_95ca + and a + ret + +Function95cc: + ld hl, wcddf + ldh a, [hBattleTurn] + and a + jr nz, .sub_95d7 + ld hl, wca08 +.sub_95d7 + call Function95b0 + ld hl, wcae1 + jr nc, .sub_95ec + ldh a, [hBattleTurn] + and a + jr nz, .sub_95e8 + set 0, [hl] + jr .sub_95f7 +.sub_95e8 + set 1, [hl] + jr .sub_95f7 +.sub_95ec + ldh a, [hBattleTurn] + and a + jr nz, .sub_95f5 + res 0, [hl] + jr .sub_95f7 +.sub_95f5 + res 1, [hl] +.sub_95f7 + ret + +Function95f8: + ld hl, BlkPacket_98fc + ld de, wcce2 + ld bc, $0030 + jp CopyBytes + +SGB_ApplyPartyMenuHPPals: + ld hl, wccd3 + ld a, [wcce1] + ld e, a + ld d, $00 + add hl, de + ld e, l + ld d, h + ld a, [de] + and a + ld e, $05 + jr z, .sub_961d + dec a + ld e, $0a + jr z, .sub_961d + ld e, $0f +.sub_961d + push de + ld hl, wcceb + ld bc, $0006 + ld a, [wcce1] + call AddNTimes + pop de + ld [hl], e + ret + +LoadMagikarpPalettes_Intro: + ld hl, PalPacket_MagikarpIntro + jp PushSGBPals + +LoadForestPalettes2_Intro: + ld hl, BlkPacket_986c + jp PushSGBPals + +LoadVenusaurPalettes_Intro: + ld hl, PalPacket_GSIntroVenusaur + jp PushSGBPals + +LoadCharizardPalettes_Intro: + ld hl, PalPacket_GSIntroCharizard + jp PushSGBPals + +Function9645: + ld hl, wc51a + jp PushSGBPals + +PushSGBPals: + ld a, [wJoypadFlags] + push af + set 7, a + ld [wJoypadFlags], a + call _PushSGBPals + pop af + ld [wJoypadFlags], a + ret + +_PushSGBPals: + ld a, [hl] + and $7 + ret z + ld b, a +.loop + push bc + xor a + ldh [rJOYP], a + ld a, $30 + ldh [rJOYP], a + ld b, $10 +.loop2 + ld e, $08 + ld a, [hli] + ld d, a +.loop3 + bit 0, d + ld a, $10 + jr nz, .ok + ld a, $20 +.ok + ldh [rJOYP], a + ld a, $30 + ldh [rJOYP], a + rr d + dec e + jr nz, .loop3 + dec b + jr nz, .loop2 + ld a, $20 + ldh [rJOYP], a + ld a, $30 + ldh [rJOYP], a + call SGBDelayCycles + pop bc + dec b + jr nz, .loop + ret + +CheckSGB: + ld a, [wJoypadFlags] + push af + set 7, a + ld [wJoypadFlags], a + + xor a + ldh [rJOYP], a + ld [wSGB], a + call PushSGBBorderPalsAndWait + jr nc, .skip + ld a, 1 + ld [wSGB], a + call _InitSGBBorderPals + call PushSGBBorder + call SGBBorder_PushBGPals + call SGB_ClearVRAM + ld hl, MaskEnCancelPacket + call _PushSGBPals +.skip + pop af + ld [wJoypadFlags], a + ret + +_InitSGBBorderPals: + ld hl, .PacketPointerTable + ld c, 9 + +.loop + push bc + ld a, [hli] + push hl + ld h, [hl] + ld l, a + call _PushSGBPals + pop hl + inc hl + pop bc + dec c + jr nz, .loop + ret + +.PacketPointerTable: + dw MaskEnFreezePacket + dw DataSndPacket1 + dw DataSndPacket2 + dw DataSndPacket3 + dw DataSndPacket4 + dw DataSndPacket5 + dw DataSndPacket6 + dw DataSndPacket7 + dw DataSndPacket8 + +UpdateSGBBorder: + ld a, [wSGB] + ret z + di + xor a + ldh [rJOYP], a + ld hl, MaskEnFreezePacket + call _PushSGBPals + call PushSGBBorder + ld hl, MaskEnCancelPacket + call _PushSGBPals + ei + ret + +PushSGBBorder: + call .LoadSGBBorderPointers + push de + call SGBBorder_YetMorePalPushing + pop hl + call SGBBorder_MorePalPushing + ret + +.LoadSGBBorderPointers: + ld a, [wce5f] + bit 3, a + jr nz, .spaceworld_border + +; load alternate border + ld hl, AlternateSGBBorderGFX + ld de, AlternateSGBBorderTilemap + ret + +.spaceworld_border + ld hl, SGBBorderGFX + ld de, SGBBorderTilemap + ret + +SGB_ClearVRAM: + ld hl, vChars0 + ld bc, $2000 + xor a + call ByteFill + ret + +PushSGBBorderPalsAndWait: + ld hl, MltReq2Packet + call _PushSGBPals + call SGBDelayCycles + ldh a, [rJOYP] + and $3 + cp $3 + jr nz, .carry + ld a, $20 + ldh [rJOYP], a + ldh a, [rJOYP] + ldh a, [rJOYP] + call SGBDelayCycles + call SGBDelayCycles + ld a, $30 + ldh [rJOYP], a + call SGBDelayCycles + call SGBDelayCycles + ld a, $10 + ldh [rJOYP], a +rept 6 + ldh a, [rJOYP] +endr + call SGBDelayCycles + call SGBDelayCycles + ld a, $30 + ldh [rJOYP], a + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] + call SGBDelayCycles + call SGBDelayCycles + ldh a, [rJOYP] + and $3 + cp $3 + jr nz, .carry + call .FinalPush + and a + ret + +.carry + call .FinalPush + scf + ret + +.FinalPush: + ld hl, MltReq1Packet + call _PushSGBPals + jp SGBDelayCycles + +SGBBorder_PushBGPals: + call DisableLCD + ld a, %11100100 + ldh [rBGP], a + ld hl, SuperPalettes + ld de, vChars1 + ld bc, $1000 + call CopyData + call DrawDefaultTiles + ld a, $e3 + ldh [rLCDC], a + ld hl, PalTrnPacket + call _PushSGBPals + xor a + ldh [rBGP], a + ret + +SGBBorder_MorePalPushing: + call DisableLCD + ld a, %11100100 + ldh [rBGP], a + ld de, vChars1 + ld bc, (6 + SCREEN_WIDTH + 6) * 5 * 2 + call CopyData + ld b, SCREEN_HEIGHT +.loop + push bc + ld bc, 6 * 2 + call CopyData + ld bc, SCREEN_WIDTH * 2 + call ClearBytes + ld bc, 6 * 2 + call CopyData + pop bc + dec b + jr nz, .loop + ld bc, (6 + SCREEN_WIDTH + 6) * 5 * 2 + call CopyData + ld bc, $100 + call ClearBytes + ld bc, $80 + call CopyData + call DrawDefaultTiles + ld a, $e3 + ldh [rLCDC], a + ld hl, PctTrnPacket + call _PushSGBPals + xor a + ldh [rBGP], a + ret + +SGBBorder_YetMorePalPushing: + call DisableLCD + ld a, $e4 + ldh [rBGP], a + ld de, vChars1 + ld b, $80 +.loop + push bc + ld bc, $10 + call CopyData + ld bc, $10 + call ClearBytes + pop bc + dec b + jr nz, .loop + call DrawDefaultTiles + ld a, $e3 + ldh [rLCDC], a + ld hl, ChrTrnPacket + call _PushSGBPals + xor a + ldh [rBGP], a + ret + +CopyData: + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, c + or b + jr nz, CopyData + ret + +ClearBytes: + xor a + ld [de], a + inc de + dec bc + ld a, c + or b + jr nz, ClearBytes + ret + +DrawDefaultTiles: + hlbgcoord 0, 0 + ld de, BG_MAP_WIDTH - SCREEN_WIDTH + ld a, $80 + ld c, 12 + 1 +.line + ld b, SCREEN_WIDTH +.tile + ld [hli], a + inc a + dec b + jr nz, .tile + add hl, de + dec c + jr nz, .line + ret + +SGBDelayCycles: + ld de, 7000 +.wait + nop + nop + nop + dec de + ld a, d + or e + jr nz, .wait + ret + +INCLUDE "data/sgb/blk_packets.inc" +INCLUDE "data/sgb/pal_packets.inc" +INCLUDE "data/sgb/ctrl_packets.inc" diff --git a/engine/movie/game_freak_intro.asm b/engine/movie/game_freak_intro.asm index 9ae95c9..e3474a2 100644 --- a/engine/movie/game_freak_intro.asm +++ b/engine/movie/game_freak_intro.asm @@ -23,7 +23,7 @@ GameFreakIntro:: ld c, 10 call DelayFrames - ld b, SGB_GS_TITLE_SCREEN + ld b, SGB_GF_INTRO call GetSGBLayout callab IntroCopyRightInfo diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 2323d38..8ddf260 100644 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -118,7 +118,7 @@ TitleSequenceInit:: ld a, " " call ByteFill - ld b, $06 + ld b, SGB_TITLE_SCREEN call GetSGBLayout call EnableLCD ld a, $01 diff --git a/engine/trainer_gear.asm b/engine/trainer_gear.asm index 32e3a91..e7ef0db 100644 --- a/engine/trainer_gear.asm +++ b/engine/trainer_gear.asm @@ -89,7 +89,7 @@ TrainerGear_Init: call ClearBGPalettes call DisableLCD call ClearSprites - ld b, SGB_TRAINER_GEAR + ld b, SGB_TRAINERGEAR call GetSGBLayout ld hl, TrainerGearGFX @@ -282,7 +282,7 @@ TrainerGear_Map: call TrainerGear_Next call TrainerGear_ClearView call WaitForAutoBgMapTransfer - ld b, SGB_PACKPALS + ld b, SGB_TRAINERGEAR_MAP call GetSGBLayout ld de, TownMapGFX ld hl, vTilesetEnd @@ -312,7 +312,7 @@ TrainerGear_Radio: call TrainerGear_Next call TrainerGear_ClearView call WaitForAutoBgMapTransfer - ld b, SGB_TRAINER_CARD + ld b, SGB_TRAINERGEAR_RADIO call GetSGBLayout ld de, RadioGFX @@ -595,7 +595,7 @@ TrainerGear_Phone: call TrainerGear_Next call TrainerGear_ClearView call WaitForAutoBgMapTransfer - ld b, SGB_TRAINER_GEAR + ld b, SGB_TRAINERGEAR call GetSGBLayout call LoadFontExtra ld de, .OutOfRangeText diff --git a/gfx/gfx.asm b/gfx/gfx.asm index 6af0a86..6e00551 100644 --- a/gfx/gfx.asm +++ b/gfx/gfx.asm @@ -33,16 +33,22 @@ INCBIN "gfx/title/titlebgdecoration.2bpp" SECTION "gfx.asm@SGB GFX", ROMX INCLUDE "data/pokemon/palettes.inc" -INCLUDE "data/super_palettes.inc" +INCLUDE "data/sgb/super_palettes.inc" -Corrupted9e1cGFX: -INCBIN "slack/corrupted_9e1c.2bpp" +AlternateSGBBorderTilemap:: +INCBIN "gfx/sgb/sgb_border_alt.sgb.tilemap" -UnusedSGBBorderGFX:: +AlternateSGBBorderPalettes: +INCLUDE "gfx/sgb/sgb_border_alt.pal" + +AlternateSGBBorderGFX:: INCBIN "gfx/sgb/sgb_border_alt.2bpp" -Corrupteda66cGFX: -INCBIN "slack/corrupted_a66c.2bpp" +SGBBorderTilemap:: +INCBIN "gfx/sgb/sgb_border.sgb.tilemap" + +SGBBorderPalettes: +INCLUDE "gfx/sgb/sgb_border.pal" SGBBorderGFX:: if DEF(GOLD) diff --git a/gfx/sgb/sgb_border.bin b/gfx/sgb/sgb_border.bin Binary files differnew file mode 100644 index 0000000..8223c68 --- /dev/null +++ b/gfx/sgb/sgb_border.bin diff --git a/gfx/sgb/sgb_border.pal b/gfx/sgb/sgb_border.pal new file mode 100644 index 0000000..a2613db --- /dev/null +++ b/gfx/sgb/sgb_border.pal @@ -0,0 +1,80 @@ + RGB 24, 6, 6 + RGB 0, 0, 0 + RGB 31, 31, 29 + RGB 31, 26, 15 + + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + + RGB 18, 24, 18 + RGB 31, 26, 15 + RGB 31, 12, 0 + RGB 0, 0, 0 + + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + + RGB 18, 6, 31 + RGB 26, 28, 31 + RGB 19, 20, 23 + RGB 0, 0, 0 + + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + + RGB 12, 31, 6 + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + RGB 18, 24, 18 + diff --git a/gfx/sgb/sgb_border_alt.bin b/gfx/sgb/sgb_border_alt.bin Binary files differnew file mode 100644 index 0000000..5ad4fb0 --- /dev/null +++ b/gfx/sgb/sgb_border_alt.bin diff --git a/gfx/sgb/sgb_border_alt.pal b/gfx/sgb/sgb_border_alt.pal new file mode 100644 index 0000000..acae6d6 --- /dev/null +++ b/gfx/sgb/sgb_border_alt.pal @@ -0,0 +1,80 @@ + RGB 24, 6, 6 + RGB 24, 24, 26 + RGB 14, 15, 20 + RGB 4, 7, 10 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 18, 24, 18 + RGB 31, 26, 15 + RGB 26, 19, 10 + RGB 12, 7, 5 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 18, 6, 31 + RGB 31, 31, 29 + RGB 31, 12, 0 + RGB 0, 0, 0 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 12, 31, 6 + RGB 22, 26, 30 + RGB 16, 17, 21 + RGB 0, 3, 0 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + diff --git a/home/tilemap.asm b/home/tilemap.asm index 3146db1..c9b5ae1 100644 --- a/home/tilemap.asm +++ b/home/tilemap.asm @@ -42,7 +42,7 @@ GetSGBLayout:: ld a, [wSGB] and a ret z - predef_jump Function928b + predef_jump LoadSGBLayout SetHPPal:: ld a, e diff --git a/layout.link b/layout.link index 077f313..ed3c411 100644 --- a/layout.link +++ b/layout.link @@ -127,9 +127,9 @@ ROMX $02 "engine/trainer_gear.asm@OpenTrainerGear" "gfx.asm@Trainer Gear GFX" "engine/trainer_gear.asm@TrainerGear_RadioText" - "engine/dumps/bank02.asm@SetTitleBGDecorationBorder" + "engine/gfx/set_title_decoration.asm" "gfx.asm@Title Screen BG Decoration Border" - "engine/dumps/bank02.asm@Function928b" + "engine/gfx/sgb_layouts.asm" "gfx.asm@SGB GFX" "slack.asm@Unknownaebc" "slack.asm@Corrupted SGB GFX" @@ -940,7 +940,7 @@ ROMX $3c ROMX $3e org $4000 - "engine/gfx.asm" + "engine/gfx/load_gfx.asm" "gfx.asm@Misc GFX" ROMX $3f diff --git a/slack/corrupted_9e1c.png b/slack/corrupted_9e1c.png Binary files differdeleted file mode 100644 index f124031..0000000 --- a/slack/corrupted_9e1c.png +++ /dev/null diff --git a/slack/corrupted_a66c.png b/slack/corrupted_a66c.png Binary files differdeleted file mode 100644 index a8bab25..0000000 --- a/slack/corrupted_a66c.png +++ /dev/null diff --git a/slack/slack.mk b/slack/slack.mk index 0a752c7..6cfced8 100644 --- a/slack/slack.mk +++ b/slack/slack.mk @@ -1,4 +1,2 @@ -$(BUILD)/slack/corrupted_9e1c.2bpp: tools/gfx += --trim-whitespace -$(BUILD)/slack/corrupted_a66c.2bpp: tools/gfx += --trim-whitespace $(BUILD)/slack/corrupted_b1e3.2bpp: tools/gfx += --trim-whitespace $(BUILD)/slack/sgb_border_gold_corrupted.2bpp: tools/gfx += --trim-whitespace |