From a0d2d593ed589f00a68376f17f4aadbebbf19fed Mon Sep 17 00:00:00 2001 From: GearsProgress Date: Thu, 2 Jul 2026 16:05:47 -0400 Subject: [PATCH] Removing Pokemon_Party --- PCCS | 2 +- include/box_menu.h | 2 +- include/link_handler.h | 2 +- include/mystery_gift_builder.h | 2 +- include/mystery_gift_injector.h | 2 +- include/pokemon_party.h | 31 ---- include/script_array.h | 1 - include/sprite_data.h | 1 - source/dbg/debug_menu_functions.cpp | 1 + source/link_handler.cpp | 1 + source/main.cpp | 1 - source/mystery_gift_builder.cpp | 1 - source/pokemon_party.cpp | 215 ---------------------------- source/rom_data.cpp | 1 - source/script_array.cpp | 57 +++----- 15 files changed, 28 insertions(+), 292 deletions(-) delete mode 100644 include/pokemon_party.h delete mode 100644 source/pokemon_party.cpp diff --git a/PCCS b/PCCS index 1c3a5ab..1c415d5 160000 --- a/PCCS +++ b/PCCS @@ -1 +1 @@ -Subproject commit 1c3a5ab9a25924a804dfa078fd573ac90acea5f4 +Subproject commit 1c415d5daa9caf2c7ba1f52946292cc282e0bf06 diff --git a/include/box_menu.h b/include/box_menu.h index fbe2990..aafba9e 100644 --- a/include/box_menu.h +++ b/include/box_menu.h @@ -5,8 +5,8 @@ #include "string.h" #include "button_handler.h" #include "string_view" -#include "pokemon_party.h" #include "button_handler.h" +#include "PokeBox.h" #define CANCEL_BUTTON 1 #define CONFIRM_BUTTON 2 diff --git a/include/link_handler.h b/include/link_handler.h index 95dd532..36d6f88 100644 --- a/include/link_handler.h +++ b/include/link_handler.h @@ -3,8 +3,8 @@ #include #include "libraries/gba-link-connection/LinkSPI.hpp" -#include "pokemon_party.h" #include "GB_Payloads.h" +#include "typeDefs.h" #define SPI_TEXT_OUT_ARRAY_ELEMENT_SIZE 64 diff --git a/include/mystery_gift_builder.h b/include/mystery_gift_builder.h index 887b0a7..ce8a6f5 100644 --- a/include/mystery_gift_builder.h +++ b/include/mystery_gift_builder.h @@ -2,11 +2,11 @@ #define MYSTERY_GIFT_BUILDER_H #include -#include "pokemon_party.h" #include "dbg/debug_mode.h" #include "ptgb_save_data_manager.h" #include "script_var.h" #include "pokemon_data.h" +#include "PokeBox.h" #define VIR_ADDRESS 0x08000000 #define MG_SCRIPT_SIZE 0x3E8 diff --git a/include/mystery_gift_injector.h b/include/mystery_gift_injector.h index 7203534..b57c576 100644 --- a/include/mystery_gift_injector.h +++ b/include/mystery_gift_injector.h @@ -1,7 +1,7 @@ #ifndef MYSTERY_GIFT_INJECTOR_H #define MYSTERY_GIFT_INJECTOR_H -#include "pokemon_party.h" +#include "PokeBox.h" #include "pokemon_data.h" bool inject_mystery(PokeBox* box); diff --git a/include/pokemon_party.h b/include/pokemon_party.h deleted file mode 100644 index de9abda..0000000 --- a/include/pokemon_party.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef POKEMON_PARTY_H -#define POKEMON_PARTY_H - -#include -#include "PokeBox.h" -#include "gb_rom_values/base_gb_rom_struct.h" - -class Pokemon_Party -{ -public: - Pokemon_Party(); - PokemonTables table; - bool get_has_new_pkmn(); - void set_lang(int nLang); - int get_lang(); - GB_ROM curr_gb_rom; - bool get_contains_mythical(); - void set_mythic_stabilization(bool stabilize); - int get_num_pkmn(); - bool get_contains_invalid(); - bool get_contains_missingno(); - PokeBox box; - byte box_data_array[0x462]; - -private: - int last_error; - bool stabilize_mythic = false; - char lang; -}; - -#endif \ No newline at end of file diff --git a/include/script_array.h b/include/script_array.h index 6367cd4..e9e4469 100644 --- a/include/script_array.h +++ b/include/script_array.h @@ -2,7 +2,6 @@ #define SCRIPT_ARRAY_H #include "script_obj.h" -#include "pokemon_party.h" #include "rom_data.h" #include "translated_text.h" diff --git a/include/sprite_data.h b/include/sprite_data.h index c6bef86..b3e85e7 100644 --- a/include/sprite_data.h +++ b/include/sprite_data.h @@ -2,7 +2,6 @@ #define SPRITE_DATA_H #include -#include "pokemon_party.h" #include "rom_data.h" #include "box_menu.h" #include "link_handler.h" diff --git a/source/dbg/debug_menu_functions.cpp b/source/dbg/debug_menu_functions.cpp index 059b17c..0ee0892 100644 --- a/source/dbg/debug_menu_functions.cpp +++ b/source/dbg/debug_menu_functions.cpp @@ -15,6 +15,7 @@ #include "Gen3Pokemon.h" #include "pokemon_data.h" #include "translated_text.h" +#include "dbg/debug_mode.h" #define LEFT 8 #define RIGHT (H_MAX - LEFT) diff --git a/source/link_handler.cpp b/source/link_handler.cpp index a7215f2..12c9b86 100644 --- a/source/link_handler.cpp +++ b/source/link_handler.cpp @@ -16,6 +16,7 @@ #include "FileContainerReader.h" #include "text_tables.h" #include "translated_text.h" +#include "gb_rom_values/base_gb_rom_struct.h" #include "GB_Payloads_chunk0_lz10_bin.h" #include "GB_Payloads_chunk1_lz10_bin.h" diff --git a/source/main.cpp b/source/main.cpp index c233a52..8f4408a 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -8,7 +8,6 @@ #include "random.h" #include "text_engine.h" #include "background_engine.h" -#include "pokemon_party.h" #include "pokemon_data.h" #include "script_array.h" #include "sprite_data.h" diff --git a/source/mystery_gift_builder.cpp b/source/mystery_gift_builder.cpp index 5da8726..f0b6ac2 100644 --- a/source/mystery_gift_builder.cpp +++ b/source/mystery_gift_builder.cpp @@ -1,7 +1,6 @@ #include #include "libstd_replacements.h" #include "mystery_gift_builder.h" -#include "pokemon_party.h" #include "pokemon_data.h" #include "rom_data.h" #include "translated_text.h" diff --git a/source/pokemon_party.cpp b/source/pokemon_party.cpp deleted file mode 100644 index 7a4d8c8..0000000 --- a/source/pokemon_party.cpp +++ /dev/null @@ -1,215 +0,0 @@ -#include "link_handler.h" -#include "pokemon_party.h" -#include "flash_mem.h" -#include "dbg/debug_mode.h" -#include "mystery_gift_injector.h" -#include "sprite_data.h" -#include "box_menu.h" -#include "ptgb_save_data_manager.h" -#include "libraries/Pokemon-Gen3-to-Gen-X/include/save.h" -#include "link_handler.h" - -static const byte gen1_rb_debug_box_data[0x462] = { - // Num of Pokemon - 0x14, - // Pokemon 1-20 - 0x02, 0x1F, 0x70, 0x70, 0x71, 0x71, 0x70, 0x71, 0x7B, 0x71, 0x71, 0x7C, 0x71, 0x71, 0x71, 0x94, 0x24, 0x24, 0xA5, 0x15, 0xFF, - // Pokemon list - 0x02, 0x00, 0x11, 0x64, 0x00, 0x07, 0x03, 0xFF, 0x28, 0x51, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE6, 0xDE, 0x23, 0x28, 0x00, 0x00, - 0x1F, 0x00, 0x12, 0x04, 0x00, 0x07, 0x03, 0xFF, 0x28, 0x51, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xD8, 0x23, 0x28, 0x00, 0x00, - 0x70, 0x00, 0x12, 0x04, 0x00, 0x07, 0x03, 0xFF, 0x28, 0x51, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x13, 0x23, 0x28, 0x00, 0x00, - 0x70, 0x00, 0x0F, 0x03, 0x00, 0x07, 0x03, 0xFF, 0x28, 0x51, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDA, 0x81, 0x23, 0x28, 0x00, 0x00, - 0x71, 0x00, 0x14, 0x05, 0x00, 0x07, 0x03, 0x78, 0x6A, 0x00, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x80, 0x1E, 0x00, 0x00, 0x00, - 0x71, 0x00, 0x15, 0x05, 0x00, 0x07, 0x03, 0x78, 0x6A, 0x00, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x95, 0x1E, 0x00, 0x00, 0x00, - 0x70, 0x00, 0x13, 0x05, 0x00, 0x07, 0x03, 0xFF, 0x28, 0x51, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xCC, 0x23, 0x28, 0x00, 0x00, - 0x71, 0x00, 0x11, 0x04, 0x00, 0x07, 0x03, 0x78, 0x6A, 0x00, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x7A, 0x1E, 0x00, 0x00, 0x00, - 0x7B, 0x00, 0x10, 0x03, 0x00, 0x07, 0x07, 0xFF, 0x21, 0x51, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0x23, 0x28, 0x00, 0x00, - 0x71, 0x00, 0x15, 0x06, 0x00, 0x07, 0x03, 0x78, 0x6A, 0x00, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x64, 0x1E, 0x00, 0x00, 0x00, - 0x71, 0x00, 0x13, 0x05, 0x00, 0x07, 0x03, 0x78, 0x6A, 0x00, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x1D, 0x1E, 0x00, 0x00, 0x00, - 0x7C, 0x00, 0x12, 0x04, 0x00, 0x07, 0x07, 0x78, 0x6A, 0x00, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x31, 0x1E, 0x00, 0x00, 0x00, - 0x71, 0x00, 0x12, 0x04, 0x00, 0x07, 0x03, 0x78, 0x6A, 0x00, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0x40, 0x1E, 0x00, 0x00, 0x00, - 0x71, 0x00, 0x16, 0x06, 0x00, 0x07, 0x03, 0x78, 0x6A, 0x00, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xAA, 0x1E, 0x00, 0x00, 0x00, - 0x71, 0x00, 0x12, 0x04, 0x00, 0x07, 0x03, 0x78, 0x6A, 0x00, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xE9, 0x1E, 0x00, 0x00, 0x00, - 0x94, 0x00, 0x14, 0x05, 0x00, 0x07, 0x03, 0x78, 0x6A, 0x00, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xEC, 0x1E, 0x00, 0x00, 0x00, - 0x24, 0x00, 0x12, 0x04, 0x00, 0x00, 0x02, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0xC2, 0x23, 0x00, 0x00, 0x00, - 0x24, 0x00, 0x11, 0x04, 0x00, 0x00, 0x02, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x2A, 0x23, 0x00, 0x00, 0x00, - 0xA5, 0x00, 0x0E, 0x03, 0x00, 0x00, 0x00, 0xFF, 0x21, 0x27, 0x00, 0x00, 0x6F, 0xC6, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xBE, 0x23, 0x1E, 0x00, 0x00, - 0x15, 0x00, 0x0F, 0x03, 0x00, 0x00, 0x02, 0xFF, 0x10, 0x00, 0x39, 0x3B, 0x6F, 0xC6, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE6, 0x23, 0x00, 0x00, 0x00, - // Trainer names - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // Nicknames - 0x96, 0x84, 0x84, 0x83, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x96, 0x84, 0x84, 0x83, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x96, 0x84, 0x84, 0x83, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x96, 0x84, 0x84, 0x83, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x8A, 0x80, 0x8A, 0x94, 0x8D, 0x80, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x8A, 0x80, 0x8A, 0x94, 0x8D, 0x80, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x96, 0x84, 0x84, 0x83, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x8A, 0x80, 0x8A, 0x94, 0x8D, 0x80, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x82, 0x80, 0x93, 0x84, 0x91, 0x8F, 0x88, 0x84, 0x50, 0x50, 0x50, - 0x8A, 0x80, 0x8A, 0x94, 0x8D, 0x80, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x8A, 0x80, 0x8A, 0x94, 0x8D, 0x80, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x8C, 0x84, 0x93, 0x80, 0x8F, 0x8E, 0x83, 0x50, 0x50, 0x50, 0x50, - 0x8A, 0x80, 0x8A, 0x94, 0x8D, 0x80, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x8A, 0x80, 0x8A, 0x94, 0x8D, 0x80, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x8A, 0x80, 0x8A, 0x94, 0x8D, 0x80, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x8A, 0x80, 0x8A, 0x94, 0x8D, 0x80, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x8F, 0x88, 0x83, 0x86, 0x84, 0x98, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x8F, 0x88, 0x83, 0x86, 0x84, 0x98, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x91, 0x80, 0x93, 0x93, 0x80, 0x93, 0x80, 0x50, 0x50, 0x50, 0x50, - 0x8F, 0x88, 0x83, 0x86, 0x84, 0x98, 0x50, 0x50, 0x50, 0x50, 0x50}; - -static const byte gen2_debug_box_data[0x44E] = { - // Num of Pokemon - 0x14, - // Pokemon 1-20 - 0xD5, 0x7B, 0xE3, 0x9D, 0xC3, 0xD5, 0xD5, 0xC9, 0xC9, 0x2E, 0xFA, 0xFA, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xFC, 0xFF, - // Pokemon list - 0xD5, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x9C, 0x90, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0x7B, 0x00, 0x62, 0x2B, 0x74, 0xE4, 0xBB, 0x4C, 0x00, 0x08, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBA, 0xF9, 0x1E, 0x1E, 0x1E, 0x14, 0x46, 0x00, 0x00, 0x00, 0x0D, - 0xE3, 0x00, 0x13, 0xA8, 0x81, 0x61, 0xBB, 0x4C, 0x01, 0xC5, 0x71, 0x17, 0x99, 0x1D, 0x33, 0x1B, 0x77, 0x19, 0x7F, 0x18, 0xB9, 0xDF, 0x87, 0x0F, 0x0A, 0x14, 0x1E, 0xFF, 0x00, 0x00, 0x00, 0x2D, - 0x9D, 0x00, 0xAC, 0x09, 0x59, 0x46, 0xBB, 0x4C, 0x01, 0xAA, 0xDE, 0x23, 0xE8, 0x2C, 0xCF, 0x29, 0x00, 0x2C, 0xD4, 0x28, 0x55, 0xF6, 0xD7, 0x19, 0x0F, 0x0A, 0x0F, 0xFF, 0x00, 0x00, 0x00, 0x30, - 0xC3, 0x1B, 0xD6, 0x27, 0x15, 0x37, 0xBB, 0x4C, 0x00, 0x1F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x10, 0x0A, 0x1E, 0x14, 0x19, 0x4C, 0x00, 0x00, 0x00, 0x14, - 0xD5, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x2A, 0xAA, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0xD5, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x9C, 0x90, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0xC9, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x22, 0x22, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0xC9, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x44, 0x44, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0x2E, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x9C, 0x90, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0xFA, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x2A, 0xAA, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0xFA, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x9C, 0x90, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0xD5, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x9C, 0x90, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0xD5, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x9C, 0x90, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0xD5, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x9C, 0x90, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0xD5, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x9C, 0x90, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0xD5, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x9C, 0x90, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0xD5, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x9C, 0x90, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0xD5, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x9C, 0x90, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - 0xFC, 0x00, 0x84, 0x6E, 0x23, 0xE3, 0xBB, 0x4C, 0x00, 0x0A, 0x4E, 0x00, 0x20, 0x00, 0x32, 0x00, 0x23, 0x00, 0x34, 0x00, 0x28, 0x9C, 0x90, 0x23, 0x28, 0x14, 0x05, 0x58, 0x00, 0x00, 0x00, 0x10, - // Trainer names - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - 0x80, 0x94, 0x92, 0x93, 0x88, 0x8D, 0x50, 0x50, 0x00, 0x00, 0x00, - // Nicknames - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x80, 0x81, 0x82, - 0x92, 0x82, 0x98, 0x93, 0x87, 0x84, 0x91, 0x50, 0x50, 0x50, 0x50, - 0x82, 0x80, 0x8C, 0x84, 0x8B, 0x8E, 0x93, 0x50, 0x50, 0x50, 0x50, - 0x93, 0x88, 0x8C, 0x8D, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, - 0x90, 0xF3, 0x80, 0x9B, 0xE6, 0x9C, 0x91, 0x9E, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50, - 0x92, 0x87, 0x94, 0x82, 0x8A, 0x8B, 0x84, 0x50, 0x50, 0x50, 0x50}; - -Pokemon_Party::Pokemon_Party() -{ - box.setTable(&table); -}; - -bool Pokemon_Party::get_has_new_pkmn() // If Pokemon is not in the dex -{ - bool out = false; - for (int i = 0; i < box.getNumInBox(); i++) - { - - out |= !is_caught(box.getPokemon(i)->getSpeciesIndexNumber()); - } - return out; -} - -bool Pokemon_Party::get_contains_mythical() -{ - bool out = false; - for (int i = 0; i < box.getNumInBox(); i++) - { - out |= (box.getPokemon(i)->getSpeciesIndexNumber() == MEW || box.getPokemon(i)->getSpeciesIndexNumber() == CELEBI); - } - return out; -} - -void Pokemon_Party::set_mythic_stabilization(bool stabilize) -{ - box.stabilize_mythical = stabilize; -} - -void Pokemon_Party::set_lang(int nLang) -{ - lang = nLang; -} - -int Pokemon_Party::get_lang() -{ - return lang; -} - -int Pokemon_Party::get_num_pkmn() -{ - return box.getNumInBox(); -} - -bool Pokemon_Party::get_contains_invalid() -{ - bool out = false; - for (int i = 0; i < box.getNumInBox(); i++) - { - - out |= !box.getGBPokemon(i)->isValid; - } - return out; -} -bool Pokemon_Party::get_contains_missingno() -{ - bool out = false; - for (int i = 0; i < box.getNumInBox(); i++) - { - - out |= box.getPokemon(i)->getSpeciesIndexNumber() == MISSINGNO; - } - return out; -} \ No newline at end of file diff --git a/source/rom_data.cpp b/source/rom_data.cpp index 8d03cf6..d9f30e4 100644 --- a/source/rom_data.cpp +++ b/source/rom_data.cpp @@ -1,6 +1,5 @@ #include "rom_data.h" #include "mystery_gift_builder.h" -#include "pokemon_party.h" #include "pokemon_data.h" #include "text_engine.h" #include "ptgb_save_data_manager.h" diff --git a/source/script_array.cpp b/source/script_array.cpp index 5b92658..c274f5b 100644 --- a/source/script_array.cpp +++ b/source/script_array.cpp @@ -14,9 +14,10 @@ #include "translated_text.h" #include "link_handler.h" #include "text_tables.h" +#include "gb_rom_values/gb_rom_values.h" int last_error; -Pokemon_Party party_data; +PokeBox box; Select_Menu langs(false, LANG_MENU, 18, 0); Select_Menu games(false, CART_MENU, 18, 0); @@ -644,8 +645,6 @@ void populate_game_menu(int lang) bool run_conditional(int index) { // Here is most of the logic that drives what lines show up where. It's probably not the best way to code it, but it works - int game; - int lang; bool ret; switch (index) { @@ -675,7 +674,7 @@ bool run_conditional(int index) return get_tutorial_flag() && !g_debug_options.force_tutorial; case COND_NEW_POKEMON: - return party_data.get_has_new_pkmn(); + return box.getHasNewPkmn(); case COND_IS_HOENN_RS: return curr_GBA_rom.is_ruby_sapphire(); @@ -693,7 +692,7 @@ bool run_conditional(int index) return true; case COND_CHECK_MYTHIC: - return party_data.get_contains_mythical(); + return box.getContainsMythical(); case COND_CHECK_DEX: if (globalLinkCable.gen == 1) @@ -709,13 +708,13 @@ bool run_conditional(int index) return globalLinkCable.gen == 1; case COND_SOME_INVALID_PKMN: - return party_data.get_contains_invalid(); + return box.getContainsInvalid(); case COND_IS_HOENN_E: return curr_GBA_rom.gamecode == EMERALD_ID; case COND_CHECK_MISSINGNO: - if (party_data.get_contains_missingno()) + if (box.getContainsMissingNo()) { set_missingno(true); return true; @@ -728,7 +727,7 @@ bool run_conditional(int index) if (g_debug_options.ignore_link_cable) { // TODO - Make this less hardcoded - //party_data.box.loadData(1, ENGLISH, gen1_rb_debug_box_data); + //box.loadData(1, ENGLISH, gen1_rb_debug_box_data); } else { @@ -796,9 +795,11 @@ bool run_conditional(int index) globalLinkCable.skipPrint = false; globalLinkCable.pauseOnPacket = true; - globalLinkCable.LinkCommand_ReadMemorySection(0xDA80, party_data.box_data_array, 1122); + byte boxDataArray[1122]; + + globalLinkCable.LinkCommand_ReadMemorySection(0xDA80, boxDataArray, 1122); - party_data.box.loadData(globalLinkCable.gen, globalLinkCable.lang, party_data.box_data_array); + box.loadData(globalLinkCable.gen, globalLinkCable.lang, boxDataArray); } reload_textbox_background(); load_flex_background(FLEXBG_FENNEL, 2); @@ -807,7 +808,7 @@ bool run_conditional(int index) return true; case CMD_IMPORT_POKEMON: - inject_mystery(&party_data.box); + inject_mystery(&box); return true; case CMD_BACK_TO_MENU: @@ -836,29 +837,13 @@ bool run_conditional(int index) return true; case CMD_LANG_MENU: - populate_lang_menu(); - lang = langs.select_menu_main(); - // We have our choice, we should release - // the memory of the options since we won't need them anymore - langs.clear_options(); - if (lang == BUTTON_CANCEL) - { - return false; - } - games.set_lang(static_cast(lang)); - party_data.set_lang(static_cast(lang)); + // No longer used return true; + case CMD_GAME_MENU: - populate_game_menu(party_data.get_lang()); - game = games.select_menu_main(); - // We have our choice, we should release - // the memory of the options since we won't need them anymore - games.clear_options(); - if (game == BUTTON_CANCEL) - { - return false; - } + // No longer used return true; + case CMD_SLIDE_PROF_LEFT: for (int i = 0; i <= (8 * 7); i += 2) { @@ -887,9 +872,9 @@ bool run_conditional(int index) int arrayIndex = 0; for (int i = 29; i >= 0; i--) { - if (party_data.box.getGen3Pokemon(i)->isValid) + if (box.getGen3Pokemon(i)->isValid) { - party_data.box.removePokemon(i); + box.removePokemon(i); if (!(DONT_TRANSFER_POKEMON_AT_INDEX_X && i == POKEMON_INDEX_TO_SKIP)) { boxRemovalPayload[arrayIndex] = i; @@ -906,16 +891,16 @@ bool run_conditional(int index) case CMD_BOX_MENU: hide_textbox(); - ret = (box_viewer.box_main(&party_data.box) == CONFIRM_BUTTON); + ret = (box_viewer.box_main(&box) == CONFIRM_BUTTON); show_textbox(); return ret; case CMD_MYTHIC_MENU: - party_data.set_mythic_stabilization(yes_no_menu.button_main()); + box.stabilize_mythical = yes_no_menu.button_main(); return true; case CMD_IS_A_VALID_PKMN: - return party_data.box.getNumValid() > 0 || g_debug_options.dont_hide_invalid_pkmn; + return box.getNumValid() > 0 || g_debug_options.dont_hide_invalid_pkmn; case CMD_CANCEL_LINK: globalLinkCable.LinkCommand_SoftReset();