Skip to content

Commit

Permalink
Summary screen (#978)
Browse files Browse the repository at this point in the history
* Initial Summary Screen

* Update SetPalettes call

* Resolve screens not updating after rebase

* Apply suggestions from code review

Co-authored-by: Sylvie <35663410+Rangi42@users.noreply.github.com>

* Grayscale images

* Use named tile ids

* Solve vblank issues, increase speed, add various small visuals

* Fix pokeball tile bank

* Let rgblink assign LCDSummary code to available space in ROM0

* Migrate and add constants

* Add egg page

* Various optimizations, fixes, egg page, and move swapping

* Fix Ursaluna ability description and run optimize.py

* Remove moves page and remove final graphical issue

* Disable summary move swapping during battle

* optimize.py

* Resolve link trade issues

---------

Co-authored-by: Sylvie <35663410+Rangi42@users.noreply.github.com>
Co-authored-by: vulcandth <vulcandth@gmail.com>
Co-authored-by: Rangi42 <sylvie.oukaour+rangi42@gmail.com>
  • Loading branch information
4 people authored Feb 10, 2025
1 parent 9d1e5e9 commit 00032c9
Show file tree
Hide file tree
Showing 42 changed files with 3,158 additions and 1,642 deletions.
1 change: 1 addition & 0 deletions CREDITS.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ Pokémon Polished Crystal would never have been finished without the help of man
* vulcandth for implementing the dynamic palettes for objects in the overworld.
* vulcandth for adding compatibility to build the virtual console patches.
* VermilionCosmos for various bug fixes and improvements (including PC cursor adjustments, the TownMap_InitFlyPossible fix, making Throat Spray work for non-damaging moves, and palette fixes after swapping Pokémon).
* Emi for the revamped summary screen.


## Music
Expand Down
1 change: 0 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,6 @@ gfx/slots/slots_2.2bpp: tools/gfx += --interleave --png=$<
gfx/slots/slots_3.2bpp: tools/gfx += --interleave --png=$< --remove-duplicates --keep-whitespace --remove-xflip

gfx/stats/judge.2bpp: tools/gfx += --trim-whitespace
gfx/stats/stats_balls.2bpp: gfx/stats/stats.2bpp gfx/stats/balls.2bpp ; $Qcat $^ > $@

gfx/title/crystal.2bpp: tools/gfx += --interleave --png=$<
gfx/title/logo_version.2bpp: gfx/title/logo.2bpp gfx/title/version.2bpp ; $Qcat $^ > $@
Expand Down
2 changes: 1 addition & 1 deletion constants/cgb_constants.asm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
const CGB_BATTLE_GRAYSCALE
const CGB_BATTLE_COLORS
const CGB_POKEGEAR_PALS
const CGB_STATS_SCREEN_HP_PALS
const CGB_SUMMARY_SCREEN_HP_PALS
const CGB_POKEDEX
const CGB_POKEDEX_PREPARE_ONLY
const CGB_SLOT_MACHINE
Expand Down
7 changes: 3 additions & 4 deletions constants/menu_constants.asm
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,12 @@
const MONMENUITEM_HEADBUTT ; 11
const MONMENUITEM_ROCKSMASH ; 12
; options
const MONMENUITEM_STATS ; 13
const MONMENUITEM_SUMMARY ; 13
const MONMENUITEM_SWITCH ; 14
const MONMENUITEM_ITEM ; 15
const MONMENUITEM_CANCEL ; 16
const MONMENUITEM_MOVE ; 17
const MONMENUITEM_MAIL ; 18
const MONMENUITEM_ERROR ; 19
const MONMENUITEM_MAIL ; 17
const MONMENUITEM_ERROR ; 18
DEF NUM_MONMENUITEMS EQU const_value - 1

; MonMenuOptions categories
Expand Down
79 changes: 79 additions & 0 deletions constants/summary_constants.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
const_def
const SUMMARY_PINK_PAGE ; 0
const SUMMARY_BLUE_PAGE ; 1
const SUMMARY_GREEN_PAGE ; 2
const SUMMARY_ORANGE_PAGE ; 3
DEF NUM_SUMMARY_PAGES EQU const_value

; Routines for hblank (see home/lcd.asm)
DEF SUMMARY_LCD_HIDE_WINDOW EQU 0
DEF SUMMARY_LCD_SHOW_WINDOW EQU 1
DEF SUMMARY_LCD_SCROLL_BACKGROUND EQU 2

; wSummaryScreenFlags
DEF SUMMARY_FLAGS_PLACE_FRONTPIC_F EQU 4
DEF SUMMARY_FLAGS_FINISH_ANIM_F EQU 5
DEF SUMMARY_FLAGS_DO_ANIM_F EQU 6

DEF SUMMARY_FLAGS_PAGE_MASK EQU %00000011

; vTiles0
DEF SUMMARY_TILE_OAM_START EQU $3C
DEF SUMMARY_TILE_OAM_PAGE EQU $3C
DEF SUMMARY_TILE_OAM_SELECTED_PAGE EQU $3D
DEF SUMMARY_TILE_OAM_BALL_TOP_BORDER EQU $3E
DEF SUMMARY_TILE_OAM_A_INFO EQU $40
DEF SUMMARY_TILE_OAM_TITLES EQU $44
DEF SUMMARY_TILE_OAM_EXP_TITLE EQU $44
DEF SUMMARY_TILE_OAM_ABILITY_TITLE EQU $48
DEF SUMMARY_TILE_OAM_ITEM_TITLE EQU $4C
DEF SUMMARY_TILE_OAM_MOVE_TITLE EQU $50
DEF SUMMARY_TILE_OAM_MET_TITLE EQU $54
DEF SUMMARY_TILE_OAM_EGG_TITLE EQU $58
DEF SUMMARY_TILE_OAM_ARROW EQU $5C
DEF SUMMARY_TILE_OAM_SWAP_ARROW EQU $60
DEF SUMMARY_TILE_OAM_STATUS EQU $64

; vTiles2
DEF SUMMARY_TILE_START EQU $31
DEF SUMMARY_TILE_SIDE_WINDOW_TL EQU $31
DEF SUMMARY_TILE_SIDE_WINDOW_L EQU $32
DEF SUMMARY_TILE_SIDE_WINDOW_T EQU $34
DEF SUMMARY_TILE_SIDE_WINDOW_BL EQU $33
DEF SUMMARY_TILE_SIDE_WINDOW_B EQU $35
DEF SUMMARY_TILE_BOTTOM_WINDOW_T EQU $38
DEF SUMMARY_TILE_BOTTOM_WINDOW_B EQU SUMMARY_TILE_SIDE_WINDOW_B
DEF SUMMARY_TILE_BOTTOM_WINDOW_CORNER EQU $36
DEF SUMMARY_TILE_BOTTOM_WINDOW_INNER_CORNER EQU $37
DEF SUMMARY_TILE_BALL_SIDE_BORDER EQU $39
DEF SUMMARY_TILE_TYPE_BG_LEFT EQU $3A
DEF SUMMARY_TILE_TYPE_BG_MIDDLE EQU $3B
DEF SUMMARY_TILE_TYPE_BG_RIGHT EQU $3C
DEF SUMMARY_TILE_POKERUS EQU $3D
DEF SUMMARY_TILE_POKERUS_CURED EQU $3E
DEF SUMMARY_TILE_HIDDEN_H EQU $3F
DEF SUMMARY_TILE_HYPER_TRAINING EQU $40
DEF SUMMARY_TILE_LEFT_ARROW EQU $41
DEF SUMMARY_TILE_RIGHT_ARROW EQU $42
DEF SUMMARY_TILE_BALL EQU $4F
DEF SUMMARY_TILE_CATEGORY_START EQU $50
DEF SUMMARY_TILE_ITEM EQU $56

; vTiles3
DEF SUMMARY_TILE_TYPE_START EQU $04

; bg palettes
DEF SUMMARY_PAL_LOWER_WINDOW EQU $00
DEF SUMMARY_PAL_POKEMON EQU $01
DEF SUMMARY_PAL_ITEM EQU $02
DEF SUMMARY_PAL_SIDE_WINDOW EQU $03
DEF SUMMARY_PAL_SHINY_POKERUS EQU $04
DEF SUMMARY_PAL_NATURE_UP EQU $04
DEF SUMMARY_PAL_HP_BAR EQU $05
DEF SUMMARY_PAL_GENDER_MARKER EQU $06
DEF SUMMARY_PAL_POKEBALL EQU $07
DEF SUMMARY_PAL_NATURE_DOWN EQU $07

DEF SUMMARY_PAL_A_INFO EQU $04
DEF SUMMARY_PAL_TOP_ARROW EQU $06
DEF SUMMARY_PAL_BOTTOM_ARROW EQU $07
Loading

0 comments on commit 00032c9

Please sign in to comment.