From 0a616ae5606031ce27b4c987ae0e1d9da511cec9 Mon Sep 17 00:00:00 2001 From: Rangi42 Date: Tue, 21 Nov 2023 20:33:03 -0500 Subject: [PATCH] Get rid of wEvosMoves, MAX_EVOLUTIONS, and EVOLUTION_SIZE Fixes #430 --- constants/pokemon_data_constants.asm | 3 --- data/pokemon/evos_moves.asm | 11 +++++++++-- engine/menus/party_menu.asm | 10 +++++----- ram/wram.asm | 4 ---- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index 3c594ae1..5cc2d344 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -83,9 +83,6 @@ DEF HOF_TEAM_CAPACITY EQU 50 const EVOLVE_ITEM ; 2 const EVOLVE_TRADE ; 3 -DEF MAX_EVOLUTIONS EQU 3 -DEF EVOLUTION_SIZE EQU 4 - ; wMonHGrowthRate values ; GrowthRateTable indexes (see data/growth_rates.asm) diff --git a/data/pokemon/evos_moves.asm b/data/pokemon/evos_moves.asm index a555579e..d900dde6 100644 --- a/data/pokemon/evos_moves.asm +++ b/data/pokemon/evos_moves.asm @@ -1,5 +1,12 @@ -; See constants/pokemon_data_constants.asm -; The max number of evolutions per monster is MAX_EVOLUTIONS +; Evos+moves data structure: +; - Evolution methods: +; * db EVOLVE_LEVEL, level, species +; * db EVOLVE_ITEM, used item, min level (1), species +; * db EVOLVE_TRADE, min level (1), species +; - db 0 ; no more evolutions +; - Learnset (in increasing level order): +; * db level, move +; - db 0 ; no more level-up moves EvosMovesPointerTable: table_width 2, EvosMovesPointerTable diff --git a/engine/menus/party_menu.asm b/engine/menus/party_menu.asm index 5a473ccf..46b828eb 100644 --- a/engine/menus/party_menu.asm +++ b/engine/menus/party_menu.asm @@ -121,19 +121,19 @@ RedrawPartyMenu_:: rl b ld c, a add hl, bc - ld de, wEvosMoves + ld de, wcd6d ld a, BANK(EvosMovesPointerTable) ld bc, 2 call FarCopyData - ld hl, wEvosMoves + ld hl, wcd6d ld a, [hli] ld h, [hl] ld l, a - ld de, wEvosMoves + ld de, wcd6d ld a, BANK(EvosMovesPointerTable) - ld bc, wEvosMovesEnd - wEvosMoves + ld bc, 4 * 3 + 1 ; enough for Eevee's three 4-byte evolutions and 0 terminator call FarCopyData - ld hl, wEvosMoves + ld hl, wcd6d ld de, .notAbleToEvolveText ; loop through the pokemon's evolution entries .checkEvolutionsLoop diff --git a/ram/wram.asm b/ram/wram.asm index 32749db3..82a5f14c 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -886,10 +886,6 @@ wNumMovesMinusOne:: db UNION wcd6d:: ds NAME_BUFFER_LENGTH ; buffer for various data -NEXTU -wEvosMoves:: ds MAX_EVOLUTIONS * EVOLUTION_SIZE + 1 -wEvosMovesEnd:: - NEXTU ds 4 ; temp variable used to print a move's current PP on the status screen