Skip to content

Commit

Permalink
Nayru's Pokedex ALPHA
Browse files Browse the repository at this point in the history
Bundled: Idain's Custom Dex Colors and Toggle Shiny Palettes, doesnt impact you if you dont want it.

REQUIRED:
Replace StatExp with EVs,
Expanded Tilesets to 255,
Unique Mon Icons (or at least adapt to the new Bank structure, actual icons used are irrelevant)

and my Gen3 Type/Status/Cat Tiles. Pokedex portion must be implemented. Other parts, optional.

FEATURES:  Base stats and info, Move Info, Detailed area info, Evoulation chart, and sprite page showing animated sprites (reflects shiny toggle too).

Move Information: Lvl-Up Moves -> Field Moves (plus lvl learned and/or TM/HM/Move Tutor) -> Egg Moves -> TMs. I have fully functional code commented out to include HMs. But I decided not to since Field Moves serve the same purpse. But, if you've messed with adding or deleting Field Moves, I reccomend scrapping the Field Moves code and restoring the HM code. Please feel free to DM about this if it's an issue. I'm working on better solutions at some point.
Move Page Future Ideas: Full Page toggle option, to show additional details about the moves, Type, power, category, accuracy, effects, etc

AREA Pages: Currently supports Johto/Kanto Walking/grass/surfing encounters plus their swarms. Fishing Rods information is also included. Right now, all it will show you is the relevant Fishing Group Name. In the near future, it will print Route information like the other pages.
To check your local Fishing Group, check your PokeGear.

POKEGEAR: Now shows the detailed name of map you're currently in (based on Map Group & Map Number) and it also reads the map's attribute to see it's fishing group, if it has one.

COMING SOON: AREA support for Headbutt Trees and Rock Smash Rocks and the Bug contest. Roaming Support for the dogs and any custom roamers.

I also have an idea to have a python script scrape all information about special event pokemon (like Celebi, Ho-oh, Lugia, Starters, Casinos, Gift pokemon like Eevee) and NPC trades and displaying that. The script should be run if you ever make edits to these and will recompile the list. I should probably do this for Field Moves too, since people can and do have custom Field Moves...

Feel Free to DM me any suggestions and feedback. If you want to help me design Tiles/GFX to help make everything easier to look at, I would be eternally grateful.

Commit Notes: newest to oldest.

I'm still not happy with field moves, having to maintain a seperate data table about the moves and if they're TM/HM/MT goes against the spirit of the project. but for now, it works, and will display the field move twice if can learn via lvl up & TM/HM/MT

pokedexpart1

need to get mon icons

pokedexpart2

Mon Icons are broken,
Evo Page is borked,
Sprite Page isnt animating

Customizable Pokédex Color

https://github.com/pret/pokecrystal/wiki/Customizable-Pok%C3%A9dex-Color

Plus changing _CGB_PokedexSearchOption: in engine/gfx/cgb_layouts.asm, ld a, PREDEFPAL_POKEDEX -> call CheckPokedexColor

pokedex Restore EV code

Pokedex, fixed animations

reflected the latest commit that changed sprite stuff, copied the relevant old funcs from lilikoi and updated to the new Constants

pret#1055

Pokedex: PokeGear shows fish group, cards wrap

In the Pokedex, Press start to bring up the Vanilla AREA option, and Kanto is enabled regardless of HoF

Card icons:
Test w/:
- Only clock + phone
- clock, map, phone
Need to test w/ Radio

Pokegear: forgot a few things

forgot to add check for radio when going left on clock screen

added print local fishing group name. It's ugly. Soooo much space for tiles on the pokegear!
  • Loading branch information
Nayru62 committed Sep 28, 2023
1 parent 8cbf9d5 commit 7c31272
Show file tree
Hide file tree
Showing 21 changed files with 7,983 additions and 571 deletions.
2 changes: 2 additions & 0 deletions constants/scgb_constants.asm
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
const SCGB_POKEGEAR_PALS
const SCGB_STATS_SCREEN_HP_PALS
const SCGB_POKEDEX
const SCGB_POKEDEX_EVO
const SCGB_POKEDEX_PICS
const SCGB_SLOT_MACHINE
const SCGB_BETA_TITLE_SCREEN
const SCGB_GS_INTRO
Expand Down
13 changes: 13 additions & 0 deletions constants/wram_constants.asm
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,19 @@ DEF AUTO_INPUT EQU $ff
const DEXMODE_ABC
const DEXMODE_UNOWN

; wPokedexColor
const_def
const DEXCOLOR_RED
const DEXCOLOR_BLUE
const DEXCOLOR_PURPLE
const DEXCOLOR_BROWN
const DEXCOLOR_GREEN
const DEXCOLOR_PINK
const DEXCOLOR_YELLOW
const DEXCOLOR_CYAN
const DEXCOLOR_GRAY
const DEXCOLOR_MEWTWO

; wMonType::
const_def
const PARTYMON ; 0
Expand Down
1,357 changes: 1,357 additions & 0 deletions data/maps/map_names.asm

Large diffs are not rendered by default.

616 changes: 308 additions & 308 deletions data/maps/maps.asm

Large diffs are not rendered by default.

98 changes: 98 additions & 0 deletions data/wild/fish.asm
Original file line number Diff line number Diff line change
Expand Up @@ -231,3 +231,101 @@ TimeFishGroups:
db HORSEA, 40, HORSEA, 40 ; 19
db TENTACOOL, 20, TENTACOOL, 20 ; 20
db TENTACOOL, 40, TENTACOOL, 40 ; 21

FishGroups_Names::
table_width 2, FishGroups_Names
dw Group1_Name
dw Group2_Name
dw Group3_Name
dw Group4_Name
dw Group5_Name
dw Group6_Name
dw Group7_Name
dw Group8_Name
dw Group9_Name
dw Group10_Name
dw Group11_Name
dw Group12_Name
dw Group13_Name
assert_table_length NUM_FISHGROUPS ; (13, NONE is not included in the count)

Group1_Name:
db "SHORE@"
Group2_Name:
db "OCEAN@"
Group3_Name:
db "LAKE@"
Group4_Name:
db "POND@"
Group5_Name:
db "DRATINI@"
Group6_Name:
db "QWILFISH S@"
Group7_Name:
db "REMORAID S@"
Group8_Name:
db "GYARADOS@"
Group9_Name:
db "DRATINI 2@"
Group10_Name:
db "WHIRL@"
Group11_Name:
db "QWILFISH@"
Group12_Name:
db "REMORAID@"
Group13_Name:
db "QWILFISH 2@"

GetFishGroupName:
; given fishing group num in 'a'
; return str ptr in 'de'
dec a
add a ; doubles the index since ptrs are 2 bytes
ld hl, FishGroups_Names
ld d, 0
ld e, a
add hl, de
ld e, [hl]
inc hl
ld d, [hl]
ret

GetMapsFishGroup::
dec d ; map num
dec e ; map group
push de
ld d, 0
; 'e' is the map group
ld hl, MapGroupPointers
add hl, de ; since ptrs are 2 bytes, double the index
add hl, de
ld a, BANK(MapGroupPointers)
call GetFarWord
pop de
ld a, d ; map num becomes the index, do the same as map group
ld bc, MAP_LENGTH
; hl is pointing to map group ptr
call AddNTimes ; Add bc * a to hl.
; fish group is the very last byte in the entry
ld bc, MAP_LENGTH - 1
add hl, bc
ld a, BANK(MapGroupPointers)
call GetFarByte
; ld a, [hl] ; fishing group
cp FISHGROUP_NONE
jr z, .fishgroup_none
call GetFishGroupName
; ptr to fishgroup name is in de
ret
.fishgroup_none
xor a
ld d, a
ld e, a
ret

; GetNextMapName_FishGroup:
; given: Fish group
; given: page number + num already printed
; calculate the map number of next map entry with that fishing group
; get map name based on map index
; return: map name ptr in 'de'

0 comments on commit 7c31272

Please sign in to comment.