From bf7f7f401c3b7249788a8feb33477893e9886ca5 Mon Sep 17 00:00:00 2001 From: The Gears of Progress Date: Thu, 2 May 2024 12:18:24 -0500 Subject: [PATCH] Continuing Payload Work --- Pokemon_Mirror_mb.sym | 1080 +++++++++++++++++ ...silver_left.grit => button_gold_left.grit} | 0 graphics/button_gold_left.png | Bin 0 -> 243 bytes graphics/button_gold_silver_left.png | Bin 292 -> 0 bytes ..._blue_left.grit => button_green_left.grit} | 0 graphics/button_green_left.png | Bin 0 -> 255 bytes graphics/button_red_blue_left.png | Bin 266 -> 0 bytes graphics/button_red_green_left.png | Bin 277 -> 0 bytes ...d_green_left.grit => button_red_left.grit} | 0 graphics/button_red_left.png | Bin 0 -> 231 bytes graphics/button_silver_left.grit | 3 + graphics/button_silver_left.png | Bin 0 -> 259 bytes include/gb_rom_values/base_gb_rom_struct.h | 55 +- include/gb_rom_values/eng_gb_rom_values.h | 223 ++-- include/main_menu.h | 1 + include/pokemon_data.h | 9 +- include/sprite_data.h | 21 +- source/main_menu.cpp | 29 +- source/payload_builder.cpp | 79 +- source/pokemon.cpp | 13 +- source/pokemon_party.cpp | 4 +- source/script_array.cpp | 21 +- source/sprite_data.cpp | 28 +- source/test_payload.txt | 42 +- updateSYM.bat | 1 + 25 files changed, 1408 insertions(+), 201 deletions(-) create mode 100644 Pokemon_Mirror_mb.sym rename graphics/{button_gold_silver_left.grit => button_gold_left.grit} (100%) create mode 100644 graphics/button_gold_left.png delete mode 100644 graphics/button_gold_silver_left.png rename graphics/{button_red_blue_left.grit => button_green_left.grit} (100%) create mode 100644 graphics/button_green_left.png delete mode 100644 graphics/button_red_blue_left.png delete mode 100644 graphics/button_red_green_left.png rename graphics/{button_red_green_left.grit => button_red_left.grit} (100%) create mode 100644 graphics/button_red_left.png create mode 100644 graphics/button_silver_left.grit create mode 100644 graphics/button_silver_left.png create mode 100644 updateSYM.bat diff --git a/Pokemon_Mirror_mb.sym b/Pokemon_Mirror_mb.sym new file mode 100644 index 0000000..e155c7d --- /dev/null +++ b/Pokemon_Mirror_mb.sym @@ -0,0 +1,1080 @@ +00000001 B _ZN17__eh_globals_init7_S_initE +00000001 B box_viewer +00000001 B connection_state +00000001 B current_bank +00000001 B in_data +00000001 B is_macronix +00000001 B mem_id +00000001 D mem_name +00000001 B out_data +00000001 D rand_enabled +00000001 B text_exit +00000002 W __aeabi_idiv0 +00000002 W __aeabi_ldiv0 +00000002 B __key_curr +00000002 B __key_prev +00000002 W __sync_synchronize +00000002 T _Unwind_Complete +00000002 t _Unwind_DebugHook +00000002 T _ZN3DexC1Ev +00000002 T _ZN3DexC2Ev +00000002 T _ZN8Box_MenuC1Ev +00000002 T _ZN8Box_MenuC2Ev +00000002 T _ZN8rom_dataC1Ev +00000002 T _ZN8rom_dataC2Ev +00000002 T _ZNSt13bad_exceptionD1Ev +00000002 T _ZNSt13bad_exceptionD2Ev +00000002 T _ZNSt3_V214error_categoryD1Ev +00000002 T _ZNSt3_V214error_categoryD2Ev +00000002 T _ZNSt9exceptionD1Ev +00000002 T _ZNSt9exceptionD2Ev +00000002 T _ZNSt9type_infoD1Ev +00000002 T _ZNSt9type_infoD2Ev +00000002 T dummy_drawg +00000002 T dummy_erase +00000004 b __hndl_lock +00000004 B __malloc_max_sbrked_mem +00000004 B __malloc_max_total_mem +00000004 D __malloc_sbrk_base +00000004 B __malloc_top_pad +00000004 D __malloc_trim_threshold +00000004 B __stdio_exit_handler +00000004 D _impure_ptr +00000004 V _ZGVNSt10moneypunctIcLb0EE2idE +00000004 V _ZGVNSt10moneypunctIcLb1EE2idE +00000004 V _ZGVNSt10moneypunctIwLb0EE2idE +00000004 V _ZGVNSt10moneypunctIwLb1EE2idE +00000004 V _ZGVNSt11__timepunctIcE2idE +00000004 V _ZGVNSt11__timepunctIwE2idE +00000004 V _ZGVNSt7__cxx1110moneypunctIcLb0EE2idE +00000004 V _ZGVNSt7__cxx1110moneypunctIcLb1EE2idE +00000004 V _ZGVNSt7__cxx1110moneypunctIwLb0EE2idE +00000004 V _ZGVNSt7__cxx1110moneypunctIwLb1EE2idE +00000004 V _ZGVNSt7__cxx117collateIcE2idE +00000004 V _ZGVNSt7__cxx117collateIwE2idE +00000004 V _ZGVNSt7__cxx118messagesIcE2idE +00000004 V _ZGVNSt7__cxx118messagesIwE2idE +00000004 V _ZGVNSt7__cxx118numpunctIcE2idE +00000004 V _ZGVNSt7__cxx118numpunctIwE2idE +00000004 V _ZGVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE +00000004 V _ZGVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE +00000004 V _ZGVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE +00000004 V _ZGVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE +00000004 V _ZGVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE +00000004 V _ZGVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE +00000004 V _ZGVNSt7collateIcE2idE +00000004 V _ZGVNSt7collateIwE2idE +00000004 V _ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE +00000004 V _ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE +00000004 V _ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE +00000004 V _ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE +00000004 V _ZGVNSt8messagesIcE2idE +00000004 V _ZGVNSt8messagesIwE2idE +00000004 V _ZGVNSt8numpunctIcE2idE +00000004 V _ZGVNSt8numpunctIwE2idE +00000004 V _ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE +00000004 V _ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE +00000004 V _ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE +00000004 V _ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE +00000004 V _ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE +00000004 V _ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE +00000004 V _ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE +00000004 V _ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE +00000004 b _ZGVZN12_GLOBAL__N_116get_atomic_mutexEvE12atomic_mutex +00000004 b _ZL4init +00000004 D _ZN10__cxxabiv119__terminate_handlerE +00000004 D _ZN10__cxxabiv120__unexpected_handlerE +00000004 T _ZN10script_obj11get_cond_idEv +00000004 T _ZN10script_obj14get_true_indexEv +00000004 T _ZN10script_obj15get_false_indexEv +00000004 T _ZN11Button_Menu21set_bottom_row_offsetEi +00000004 b _ZN12_GLOBAL__N_113__new_handlerE +00000004 d _ZN12_GLOBAL__N_120io_category_instanceE +00000004 b _ZN12_GLOBAL__N_1L11static_condE +00000004 b _ZN12_GLOBAL__N_1L12static_mutexE +00000004 T _ZN7Pokemon20get_full_gen_3_arrayEv +00000004 T _ZNKSt11logic_error4whatEv +00000004 T _ZNKSt13runtime_error4whatEv +00000004 W _ZNKSt5ctypeIcE8do_widenEc +00000004 T _ZNKSt8ios_base7failure4whatEv +00000004 T _ZNKSt9type_info14__is_pointer_pEv +00000004 T _ZNKSt9type_info15__is_function_pEv +00000004 b _ZZN12_GLOBAL__N_115get_static_condEvE4once +00000004 b _ZZN12_GLOBAL__N_116get_static_mutexEvE4once +00000004 T ArcTan +00000004 T ArcTan2 +00000004 T BgAffineSet +00000004 T BiosCheckSum +00000004 T BitUnPack +00000004 B box_select +00000004 B btn_c_l +00000004 B btn_c_r +00000004 B btn_d_l +00000004 B btn_d_r +00000004 B btn_lang_eng +00000004 B btn_lang_fre +00000004 B btn_lang_ger +00000004 B btn_lang_ita +00000004 B btn_lang_jpn +00000004 B btn_lang_kor +00000004 B btn_lang_spa +00000004 B btn_p_l +00000004 B btn_p_r +00000004 B btn_t_l +00000004 B btn_t_r +00000004 B button_blue_left +00000004 B button_blue_right +00000004 B button_cancel_left +00000004 B button_cancel_right +00000004 B button_confirm_left +00000004 B button_confirm_right +00000004 B button_crystal_left +00000004 B button_crystal_right +00000004 B button_gold_left +00000004 B button_gold_right +00000004 B button_green_left +00000004 B button_green_right +00000004 B button_no +00000004 B button_red_left +00000004 B button_red_right +00000004 B button_silver_left +00000004 B button_silver_right +00000004 B button_yellow_left +00000004 B button_yellow_right +00000004 B button_yes +00000004 B char_index +00000004 B count +00000004 B counter +00000004 T CpuFastSet +00000004 T CpuSet +00000004 B data_counter +00000004 d defaultDevice +00000004 B delay +00000004 B delay_counter +00000004 B dex_shift +00000004 D dex_x_cord +00000004 T Diff16bitUnFilter +00000004 T Diff8bitUnFilterVram +00000004 T Diff8bitUnFilterWram +00000004 T Div +00000004 T DivArm +00000004 D environ +00000004 B fake_heap_end +00000004 B fake_heap_start +00000004 B FF_count +00000004 B frame +00000004 B gen +00000004 B gen_1_room_counter +00000004 B global_frame_count +00000004 B global_tile_id_end +00000004 D gp_tte_context +00000004 T Halt +00000004 b heap_start.0 +00000004 T HuffUnComp +00000004 b initial_env +00000004 T IntrWait +00000004 B last_error +00000004 B leading_zeros +00000004 B line_char_index +00000004 B linkSPI +00000004 T LZ77UnCompVram +00000004 T LZ77UnCompWram +00000004 T MidiKey2Freq +00000004 D mosi_delay +00000004 T MultiBoot +00000004 B newest_save_offset +00000004 t null_write +00000004 B num_sprites +00000004 T ObjAffineSet +00000004 B prof +00000004 B ptr_block_ptr_high +00000004 B ptr_block_ptr_low +00000004 B ptr_box_return +00000004 B ptr_call_check_flag +00000004 B ptr_call_return_1 +00000004 B ptr_call_return_2 +00000004 B ptr_callASM +00000004 B ptr_dex_seen_caught +00000004 B ptr_index +00000004 B ptr_pkmn_offset +00000004 B ptr_script_ptr_high +00000004 B ptr_script_ptr_low +00000004 T RegisterRamReset +00000004 T RLUnCompVram +00000004 T RLUnCompWram +00000004 T SoftReset +00000004 T SoundBias +00000004 T SoundChannelClear +00000004 T SoundDriverInit +00000004 T SoundDriverMain +00000004 T SoundDriverMode +00000004 T SoundDriverVSync +00000004 T SoundDriverVSyncOff +00000004 T SoundDriverVSyncOn +00000004 B speed +00000004 T Sqrt +00000004 B state +00000004 T Stop +00000004 B testroid +00000004 B trade_pokemon +00000004 B u32_rand +00000004 D var_box_return +00000004 D var_call_check_flag +00000004 D var_call_return_1 +00000004 D var_call_return_2 +00000004 D var_callASM +00000004 D var_dex_num +00000004 D var_dex_seen_caught +00000004 D var_index +00000004 D var_pkmn_offset +00000004 D var_script_ptr_high +00000004 D var_script_ptr_low +00000004 T VBlankIntrWait +00000004 B x +00000004 B y +00000004 B zero_count +00000006 T _Unwind_GetDataRelBase +00000006 T _Unwind_GetTextRelBase +00000006 T _ZN11Button_Menu20set_rows_and_columnsEii +00000006 T _ZN19mystery_gift_script19get_script_value_atEi +00000006 T _ZN7Pokemon19get_gender_from_pidEj +00000006 T _ZN7Pokemon19get_letter_from_pidEj +00000006 T _ZNKSt3_V214error_category23default_error_conditionEi +00000006 T DivAbs +00000006 T DivArmAbs +00000006 T DivArmMod +00000006 T Mod +00000008 t ____aeabi_d2uiz_from_thumb +00000008 t ____aeabi_dadd_from_thumb +00000008 t ____aeabi_dmul_from_thumb +00000008 t ____aeabi_idiv_from_thumb +00000008 t ____aeabi_idivmod_from_thumb +00000008 t ____aeabi_ui2d_from_thumb +00000008 t ____aeabi_uidiv_from_thumb +00000008 t ____aeabi_uidivmod_from_thumb +00000008 t ____gnu_Unwind_Restore_VFP_D_16_to_31_from_thumb +00000008 t ____gnu_Unwind_Restore_VFP_D_from_thumb +00000008 t ____gnu_Unwind_Restore_VFP_from_thumb +00000008 t ____gnu_Unwind_Restore_WMMXC_from_thumb +00000008 t ____gnu_Unwind_Restore_WMMXD_from_thumb +00000008 t ____gnu_Unwind_Save_VFP_D_16_to_31_from_thumb +00000008 t ____gnu_Unwind_Save_VFP_D_from_thumb +00000008 t ____gnu_Unwind_Save_VFP_from_thumb +00000008 t ____gnu_Unwind_Save_WMMXC_from_thumb +00000008 t ____gnu_Unwind_Save_WMMXD_from_thumb +00000008 t ___Unwind_RaiseException_from_thumb +00000008 t ___Unwind_Resume_from_thumb +00000008 t ___Unwind_Resume_or_Rethrow_from_thumb +00000008 D __key_rpt +00000008 t __restore_core_regs_from_thumb +00000008 t __strcmp_from_thumb +00000008 T _ZGTtNKSt13bad_exception4whatEv +00000008 T _ZGTtNKSt9exception4whatEv +00000008 T _ZN11Button_Menu15get_pos_from_xyEii +00000008 b _ZN12_GLOBAL__N_19fake_condE +00000008 T _ZN13Pokemon_Party14get_last_errorEv +00000008 T _ZN13Pokemon_Party8set_gameEi +00000008 T _ZN7Pokemon12get_validityEv +00000008 T _ZN7Pokemon14get_gen_3_dataEi +00000008 T _ZN7Pokemon20get_unencrypted_dataEi +00000008 t _ZNK12_GLOBAL__N_117io_error_category4nameEv +00000008 W _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv +00000008 W _ZNK9__gnu_cxx24__concurrence_wait_error4whatEv +00000008 W _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv +00000008 W _ZNK9__gnu_cxx29__concurrence_broadcast_error4whatEv +00000008 T _ZNKSt13bad_exception4whatEv +00000008 T _ZNKSt8bad_cast4whatEv +00000008 T _ZNKSt9bad_alloc4whatEv +00000008 T _ZNKSt9exception4whatEv +00000008 T _ZSt17iostream_categoryv +00000008 R _ZTIN10__cxxabiv115__forced_unwindE +00000008 R _ZTIN10__cxxabiv119__foreign_exceptionE +00000008 R _ZTINSt3_V214error_categoryE +00000008 R _ZTISt9exception +00000008 R _ZTISt9type_info +00000008 T UGBA_MemIO +0000000a T _getpid_r +0000000a T _kill_r +0000000a T _Z12delay_cyclesm +0000000a T _ZN7asm_var9set_startEv +0000000a T _ZN7xse_var9set_startEv +0000000a T _ZSt10unexpectedv +0000000a T _ZSt24__throw_out_of_range_fmtPKcz +0000000a T _ZSt9terminatev +0000000c t ____aeabi_idiv0_from_arm +0000000c t ____aeabi_uidiv_from_thumb +0000000c b __env_recursive_mutex +0000000c T __errno +0000000c b __malloc_recursive_mutex +0000000c b __sfp_recursive_mutex +0000000c D __sglue +0000000c d __stderr_handle +0000000c d __stdin_handle +0000000c d __stdout_handle +0000000c t _Unwind_decode_typeinfo_ptr.constprop.0 +0000000c T _Z12set_def_langi +0000000c T _Z13rand_get_seedv +0000000c T _Z13rand_set_seedj +0000000c T _Z14interrupt_initv +0000000c T _Z15get_frame_countv +0000000c T _Z16get_def_lang_numv +0000000c T _Z16interrupt_enable15interrupt_index +0000000c T _Z17get_earliest_movei +0000000c T _Z17get_num_abilitiesi +0000000c T _Z17interrupt_disable15interrupt_index +0000000c T _Z17set_tutorial_flagb +0000000c T _Z18enable_auto_randomv +0000000c T _Z19disable_auto_randomv +0000000c T _Z21interrupt_set_handler15interrupt_indexPFvvE +0000000c T _ZdlPv +0000000c T _ZdlPvj +0000000c T _ZN10__cxxabiv112__unexpectedEPFvvE +0000000c T _ZN11Button_Menu12clear_vectorEv +0000000c T _ZN11Button_Menu14set_xy_min_maxEiiii +0000000c b _ZN12_GLOBAL__N_110eh_globalsE +0000000c T _ZN13Pokemon_Party16get_has_new_pkmnEv +0000000c T _ZN13Pokemon_Party21get_contains_mythicalEv +0000000c T _ZN13Pokemon_Party24set_mythic_stabilizationEb +0000000c T _ZN13Pokemon_Party8get_langEv +0000000c T _ZN13Pokemon_Party8set_langEi +0000000c T _ZN19mystery_gift_script10rev_endianEt +0000000c T _ZN9__gnu_cxx12__atomic_addEPVii +0000000c T _ZN9__gnu_cxx20recursive_init_errorC1Ev +0000000c T _ZN9__gnu_cxx20recursive_init_errorC2Ev +0000000c T _ZNKSt8ios_base7failureB5cxx114whatEv +0000000c W _ZNSolsEi +0000000c W _ZNSs4_Rep10_M_destroyERKSaIcE +0000000c R _ZTIN10__cxxabiv117__class_type_infoE +0000000c R _ZTIN10__cxxabiv120__si_class_type_infoE +0000000c R _ZTIN10__cxxabiv121__vmi_class_type_infoE +0000000c r _ZTIN12_GLOBAL__N_117io_error_categoryE +0000000c R _ZTIN9__gnu_cxx20recursive_init_errorE +0000000c V _ZTIN9__gnu_cxx24__concurrence_lock_errorE +0000000c V _ZTIN9__gnu_cxx24__concurrence_wait_errorE +0000000c V _ZTIN9__gnu_cxx26__concurrence_unlock_errorE +0000000c V _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE +0000000c R _ZTINSt8ios_base7failureB5cxx11E +0000000c R _ZTINSt8ios_base7failureE +0000000c R _ZTISt11logic_error +0000000c R _ZTISt12length_error +0000000c R _ZTISt12out_of_range +0000000c R _ZTISt12system_error +0000000c V _ZTISt13__ios_failure +0000000c R _ZTISt13bad_exception +0000000c R _ZTISt13runtime_error +0000000c R _ZTISt8bad_cast +0000000c R _ZTISt9bad_alloc +0000000c R _ZTSSt8bad_cast +0000000c T key_repeat +0000000c t unwind_UCB_from_context +0000000d R _ZTSSt9bad_alloc +0000000d R _ZTSSt9exception +0000000d R _ZTSSt9type_info +0000000e T __aeabi_unwind_cpp_pr0 +0000000e W __aeabi_unwind_cpp_pr1 +0000000e W __aeabi_unwind_cpp_pr2 +0000000e T _Unwind_GetRegionStart +0000000e T _ZN10script_objC1Ev +0000000e T _ZN10script_objC2Ev +0000000e T abort +0000000f d _ZL16LINK_SPI_VERSION +00000010 t ___Z12erase_sectorj_veneer +00000010 t ___Z16copy_ram_to_savePhjj_veneer +00000010 t ___Z16copy_save_to_ramjPhj_veneer +00000010 t ___Z9init_bankv_veneer +00000010 T __sclose +00000010 T _Z13hide_text_boxv +00000010 T _Z13set_text_exitv +00000010 T _Z16exchange_partieshPh +00000010 T _Z17get_tutorial_flagv +00000010 T _ZN10script_var14fill_refrencesEPh +00000010 T _ZN10script_var9set_startEv +00000010 b _ZN12_GLOBAL__N_110fake_mutexE +00000010 b _ZN12_GLOBAL__N_12mxE +00000010 b _ZN12_GLOBAL__N_12mxE +00000010 T _ZN19mystery_gift_script7add_asmEt +00000010 V _ZNSs4_Rep20_S_empty_rep_storageE +00000010 R _ZTSSt11logic_error +00000010 R _ZTV10script_var +00000010 V _ZTV11textbox_var +00000010 R _ZTV7asm_var +00000010 R _ZTV7xse_var +00000010 b _ZZN12_GLOBAL__N_116get_atomic_mutexEvE12atomic_mutex +00000010 T CpuFastFill +00000010 T IRQ_SetHandler +00000010 T key_repeat_mask +00000010 T sbmp16_get_pixel +00000010 T tte_cmd_skip +00000010 T tte_set_color_attr +00000010 T VBlankIntrDelay +00000011 R _ZTSSt12length_error +00000011 R _ZTSSt12out_of_range +00000011 R _ZTSSt12system_error +00000012 T _ZN11Button_Menu14get_y_from_posEi +00000012 T _ZN11textbox_var8set_textESt17basic_string_viewIDsSt11char_traitsIDsEE +00000012 T _ZN19mystery_gift_script17init_npc_locationEhhh +00000012 T _ZN7Pokemon14get_dex_numberEv +00000012 T _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_ +00000012 T _ZNSt13bad_exceptionD0Ev +00000012 T _ZSt18uncaught_exceptionv +00000012 V _ZTSSt13__ios_failure +00000012 R _ZTSSt13bad_exception +00000012 R _ZTSSt13runtime_error +00000012 T DivSafe +00000014 T __env_lock +00000014 T __env_unlock +00000014 T __malloc_lock +00000014 T __malloc_unlock +00000014 T __sfp_lock_acquire +00000014 T __sfp_lock_release +00000014 T _exit +00000014 T _Z11get_max_expi +00000014 T _Z13show_text_boxv +00000014 T _Z14exchange_boxeshPh +00000014 T _ZN10__cxxabiv111__terminateEPFvvE +00000014 T _ZN10script_var10place_wordEv +00000014 T _ZN11Button_Menu14get_x_from_posEi +00000014 T _ZN13Pokemon_PartyC1Ev +00000014 T _ZN13Pokemon_PartyC2Ev +00000014 T _ZN19mystery_gift_script10faceplayerEv +00000014 T _ZN19mystery_gift_script10killscriptEv +00000014 T _ZN19mystery_gift_script11add_paddingEv +00000014 T _ZN19mystery_gift_script11waitfanfareEv +00000014 T _ZN19mystery_gift_script12waitkeypressEv +00000014 T _ZN19mystery_gift_script3endEv +00000014 T _ZN19mystery_gift_script4lockEv +00000014 T _ZN19mystery_gift_script7releaseEv +00000014 T _ZN19mystery_gift_script7waitmsgEv +00000014 T _ZN7Pokemon10get_is_newEv +00000014 T _ZN7Pokemon19get_nature_from_pidEj +00000014 R _ZTVN9__gnu_cxx20recursive_init_errorE +00000014 V _ZTVN9__gnu_cxx24__concurrence_lock_errorE +00000014 V _ZTVN9__gnu_cxx24__concurrence_wait_errorE +00000014 V _ZTVN9__gnu_cxx26__concurrence_unlock_errorE +00000014 V _ZTVN9__gnu_cxx29__concurrence_broadcast_errorE +00000014 R _ZTVNSt8ios_base7failureB5cxx11E +00000014 R _ZTVNSt8ios_base7failureE +00000014 R _ZTVSt11logic_error +00000014 R _ZTVSt12length_error +00000014 R _ZTVSt12out_of_range +00000014 R _ZTVSt12system_error +00000014 V _ZTVSt13__ios_failure +00000014 R _ZTVSt13bad_exception +00000014 R _ZTVSt13runtime_error +00000014 R _ZTVSt8bad_cast +00000014 R _ZTVSt9bad_alloc +00000014 T free +00000014 T key_repeat_limits +00000014 T malloc +00000014 B memory_section_array +00000014 T raise +00000014 T sbmp16_plot +00000014 r srf.9128 +00000016 T _Unwind_GetLanguageSpecificData +00000016 T _Z14write_int_savejm +00000016 T _ZN19mystery_gift_script15calc_checksum32Ev +00000016 W _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv +00000016 R _ZTSNSt8ios_base7failureE +00000016 t selfrel_offset31 +00000018 T __gnu_Unwind_ForcedUnwind +00000018 T __libc_lock_acquire +00000018 T __libc_lock_acquire_recursive +00000018 T __libc_lock_release +00000018 T __libc_lock_release_recursive +00000018 t _GLOBAL__sub_I__ZN10__cxxabiv111__terminateEPFvvE +00000018 t _GLOBAL__sub_I__ZSt7nothrow +00000018 T _Unwind_DeleteException +00000018 T _Z13read_int_savej +00000018 B _Z9curr_textB5cxx11 +00000018 T _ZN10__cxxabiv117__class_type_infoD1Ev +00000018 T _ZN10__cxxabiv117__class_type_infoD2Ev +00000018 T _ZN10__cxxabiv120__si_class_type_infoD1Ev +00000018 T _ZN10__cxxabiv120__si_class_type_infoD2Ev +00000018 T _ZN10__cxxabiv121__vmi_class_type_infoD1Ev +00000018 T _ZN10__cxxabiv121__vmi_class_type_infoD2Ev +00000018 t _ZN12_GLOBAL__N_117io_error_categoryD1Ev +00000018 t _ZN12_GLOBAL__N_117io_error_categoryD2Ev +00000018 t _ZN12_GLOBAL__N_1L16init_static_condEv +00000018 T _ZN9__gnu_cxx20recursive_init_errorD1Ev +00000018 T _ZN9__gnu_cxx20recursive_init_errorD2Ev +00000018 W _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev +00000018 W _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev +00000018 W _ZN9__gnu_cxx24__concurrence_wait_errorD1Ev +00000018 W _ZN9__gnu_cxx24__concurrence_wait_errorD2Ev +00000018 W _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev +00000018 W _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev +00000018 W _ZN9__gnu_cxx29__concurrence_broadcast_errorD1Ev +00000018 W _ZN9__gnu_cxx29__concurrence_broadcast_errorD2Ev +00000018 W _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc +00000018 T _ZNSt12length_errorC1EPKc +00000018 T _ZNSt12length_errorC2EPKc +00000018 T _ZNSt12out_of_rangeC1EPKc +00000018 T _ZNSt12out_of_rangeC2EPKc +00000018 T _ZNSt12system_errorD1Ev +00000018 T _ZNSt12system_errorD2Ev +00000018 T _ZNSt19__iosfail_type_infoD1Ev +00000018 T _ZNSt19__iosfail_type_infoD2Ev +00000018 T _ZNSt8bad_castD1Ev +00000018 T _ZNSt8bad_castD2Ev +00000018 T _ZNSt8ios_base7failureB5cxx11D1Ev +00000018 T _ZNSt8ios_base7failureB5cxx11D2Ev +00000018 T _ZNSt9bad_allocD1Ev +00000018 T _ZNSt9bad_allocD2Ev +00000018 W _ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate +00000018 R _ZTISt19__iosfail_type_info +00000018 R _ZTSSt19__iosfail_type_info +00000018 R EXP_TYPES +00000018 T tte_set_context +00000018 T tte_set_margins +00000019 R _ZTSNSt3_V214error_categoryE +0000001a t _Unwind_GetGR +0000001a t _Unwind_GetGR.constprop.0 +0000001a t _Unwind_SetGR +0000001a T _Z16write_short_savejt +0000001a T _ZN11Button_Menu12hide_buttonsEv +0000001a T _ZN19mystery_gift_script4and1Ehh +0000001a W _ZNSt6vectorI6ButtonSaIS0_EED1Ev +0000001a W _ZNSt6vectorI6ButtonSaIS0_EED2Ev +0000001a W _ZNSt6vectorIiSaIiEED1Ev +0000001a W _ZNSt6vectorIiSaIiEED2Ev +0000001a T getenv +0000001c T __restore_core_regs +0000001c t _GLOBAL__sub_D_curr_line +0000001c T _Z19initalize_save_datav +0000001c T _Z20get_gender_thresholdib +0000001c T _Z9is_caughti +0000001c b _ZN12_GLOBAL__N_114emergency_poolE +0000001c T _ZN13Pokemon_Party15get_simple_pkmnEi +0000001c T _ZN6ButtonC1EP8OBJ_ATTR +0000001c T _ZN6ButtonC2EP8OBJ_ATTR +0000001c T _ZNKSt3_V214error_category10equivalentERKSt10error_codei +0000001c T freopen +0000001c T restore_core_regs +0000001c T tte_erase_rect +0000001c T tte_set_color_attrs +0000001d R _ZTSNSt8ios_base7failureB5cxx11E +0000001e T __gnu_Unwind_Resume_or_Rethrow +0000001e T _Z15read_short_savej +0000001e T _ZN19mystery_gift_script4add3Ehhh +0000001e T _ZN19mystery_gift_script4ldr1Ehhh +0000001e T _ZN19mystery_gift_script4ldr2Ehhh +0000001e T _ZN19mystery_gift_script4str1Ehhh +0000001e T _ZN6ButtonC1EP8OBJ_ATTRS1_i +0000001e T _ZN6ButtonC2EP8OBJ_ATTRS1_i +0000001e T obj_copy +00000020 T __aeabi_idivmod +00000020 T __aeabi_uidivmod +00000020 T __cxa_call_terminate +00000020 T __getreent +00000020 t _GLOBAL__sub_I_dex_array +00000020 T _Z10set_caughti +00000020 T _Z12get_rand_u16v +00000020 T _Z12get_rand_u32v +00000020 T _Z12pokedex_showv +00000020 T _Z15rand_next_framev +00000020 T _ZN10__cxxabiv117__class_type_infoD0Ev +00000020 T _ZN10__cxxabiv120__si_class_type_infoD0Ev +00000020 T _ZN10__cxxabiv121__vmi_class_type_infoD0Ev +00000020 t _ZN12_GLOBAL__N_117io_error_categoryD0Ev +00000020 t _ZN12_GLOBAL__N_1L4initEv +00000020 T _ZN19mystery_gift_script3popEt +00000020 T _ZN19mystery_gift_script4add2Ehh +00000020 T _ZN19mystery_gift_script4ldr3Ehh +00000020 T _ZN19mystery_gift_script4mov1Ehh +00000020 T _ZN19mystery_gift_script4pushEt +00000020 T _ZN19mystery_gift_script8add_wordEj +00000020 T _ZN3Dex4showEv +00000020 T _ZN8rom_data16is_ruby_sapphireEv +00000020 T _ZN9__gnu_cxx20recursive_init_errorD0Ev +00000020 W _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev +00000020 W _ZN9__gnu_cxx24__concurrence_wait_errorD0Ev +00000020 W _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev +00000020 W _ZN9__gnu_cxx29__concurrence_broadcast_errorD0Ev +00000020 W _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv +00000020 W _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv +00000020 W _ZN9__gnu_cxx35__throw_concurrence_broadcast_errorEv +00000020 T _ZNSt12system_errorD0Ev +00000020 T _ZNSt19__iosfail_type_infoD0Ev +00000020 T _ZNSt8bad_castD0Ev +00000020 T _ZNSt8ios_base7failureB5cxx11D0Ev +00000020 T _ZNSt9bad_allocD0Ev +00000020 T _ZSt16__throw_bad_castv +00000020 R _ZTSN10__cxxabiv115__forced_unwindE +00000020 R frame_one_pal +00000020 R frame_two_pal +00000020 t stdio_exit_handler +00000020 T tte_set_color +00000022 T _Z14reverse_endianPhj +00000022 T _ZN19mystery_gift_script2bxEh +00000022 R _ZTSN10__cxxabiv117__class_type_infoE +00000022 B save_data_array +00000023 R _ZTSN9__gnu_cxx20recursive_init_errorE +00000024 T __aeabi_ui2d +00000024 T __floatunsidf +00000024 t _GLOBAL__sub_I_curr_line +00000024 T _ZN19mystery_gift_script11add_commandEi +00000024 T _ZN19mystery_gift_script4add5Ehh +00000024 T _ZN19mystery_gift_script7callstdEh +00000024 T _ZN7Pokemon16rand_reverse_modEhh +00000024 T _ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +00000024 T _ZNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +00000024 R _ZTSN10__cxxabiv119__foreign_exceptionE +00000024 B curr_line +00000024 T key_wait_till_hit +00000024 T strtoul +00000024 T tte_erase_screen +00000025 R _ZTSN10__cxxabiv120__si_class_type_infoE +00000025 r _ZTSN12_GLOBAL__N_117io_error_categoryE +00000026 T _Z18delay_cycles_untilmPVhhh +00000026 T _Z21exchange_remove_arrayhP18Simplified_Pokemon +00000026 t _ZL15eh_globals_dtorPv +00000026 R _ZTSN10__cxxabiv121__vmi_class_type_infoE +00000026 T srf_pal_copy +00000027 V _ZTSN9__gnu_cxx24__concurrence_lock_errorE +00000027 V _ZTSN9__gnu_cxx24__concurrence_wait_errorE +00000028 T __aeabi_i2d +00000028 T __cxa_free_exception +00000028 T __cxa_get_globals_fast +00000028 T __floatsidf +00000028 t __gnu_unwind_get_pr_addr +00000028 B __malloc_current_mallinfo +00000028 t _GLOBAL__sub_D__ZN17__eh_globals_init7_S_initE +00000028 T _ZN6Button4showEv +00000028 T _ZN7asm_var13add_referenceEv +00000028 W _ZNSt13__ios_failureD1Ev +00000028 W _ZNSt13__ios_failureD2Ev +00000028 W _ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate +00000028 r _ZTVN12_GLOBAL__N_117io_error_categoryE +00000028 T obj_hide_multi +00000028 T obj_unhide_multi +00000028 T tte_erase_line +00000029 V _ZTSN9__gnu_cxx26__concurrence_unlock_errorE +0000002a T ___Unwind_Backtrace +0000002a T ___Unwind_ForcedUnwind +0000002a T ___Unwind_RaiseException +0000002a T ___Unwind_Resume +0000002a T ___Unwind_Resume_or_Rethrow +0000002a T __gnu_unwind_frame +0000002a T _Unwind_Backtrace +0000002a T _Unwind_ForcedUnwind +0000002a T _Unwind_RaiseException +0000002a T _Unwind_Resume +0000002a T _Unwind_Resume_or_Rethrow +0000002a T _ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE +0000002a T _ZNKSt19__iosfail_type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv +0000002c T _Z12pokedex_hidev +0000002c T _Z16background_framev +0000002c T _ZN19mystery_gift_script13virtualmsgboxEj +0000002c T _ZN6Button4hideEv +0000002c T _ZN8rom_data8is_hoennEv +0000002c T _ZSt24__is_ios_failure_handlerPKN10__cxxabiv117__class_type_infoE +0000002c V _ZTSN9__gnu_cxx29__concurrence_broadcast_errorE +0000002c R _ZTVN10__cxxabiv117__class_type_infoE +0000002c R _ZTVN10__cxxabiv120__si_class_type_infoE +0000002c R _ZTVN10__cxxabiv121__vmi_class_type_infoE +0000002c R _ZTVSt19__iosfail_type_info +0000002c T irq_set_master +0000002c T sbmp16_floodfill +0000002c T se_erase +0000002e T _Z16text_next_obj_id10script_obj +0000002e T sbmp16_hline +00000030 T __cxa_allocate_exception +00000030 t _GLOBAL__sub_D_linkSPI +00000030 t _GLOBAL__sub_I__ZN17__eh_globals_init7_S_initE +00000030 T _Z21load_custom_save_datav +00000030 T _ZN10script_objC1ESt17basic_string_viewIcSt11char_traitsIcEEi +00000030 T _ZN10script_objC2ESt17basic_string_viewIcSt11char_traitsIcEEi +00000030 T _ZN3Dex4hideEv +00000030 T _ZN3DexC1EP8OBJ_ATTRS1_S1_ +00000030 T _ZN3DexC2EP8OBJ_ATTRS1_S1_ +00000030 T _ZN7asm_var14fill_refrencesEPh +00000030 W _ZNSt13__ios_failureD0Ev +00000030 T _ZSt19__throw_logic_errorPKc +00000030 T _ZSt20__throw_length_errorPKc +00000030 T _ZSt20__throw_out_of_rangePKc +00000030 T se_drawg_w8h8 +00000030 T tte_write_ex +00000032 T _ZN7Pokemon15get_simple_pkmnEv +00000032 t next_unwind_byte +00000034 T __cxa_throw +00000034 T __get_handle +00000034 T __sread +00000034 T _ZN10script_objC1Eii +00000034 T _ZN10script_objC2Eii +00000034 T _ZNKSt3_V214error_category10equivalentEiRKSt15error_condition +00000036 T _ZN19mystery_gift_script4mov3Ehh +00000036 T _ZN7Pokemon12copy_from_toEPhS0_ib +00000036 T memset16 +00000038 r __irq_senders +00000038 T _ZN10script_objC1Eiii +00000038 T _ZN10script_objC2Eiii +00000038 T _ZN11Button_MenuC1Eiiiib +00000038 T _ZN11Button_MenuC2Eiiiib +00000038 T _ZN19mystery_gift_script7fanfareEt +00000038 T _ZN19mystery_gift_script7setflagEt +00000038 T _ZN19mystery_gift_script7specialEt +00000038 T _ZN19mystery_gift_script9checkflagEt +00000038 T _ZN6Button13set_highlightEb +00000038 B IRQ_VectorTable +00000038 T memcpy32 +00000038 T sbmp16_vline +00000038 T strtol +00000038 T tte_cmd_next +0000003a t _ZN10__cxxabiv1L24__is_gxx_exception_classEPc +0000003c T __sinit +0000003c t _GLOBAL__sub_I_linkSPI +0000003c T _ZN7Pokemon20get_rand_gender_byteEhh +0000003c T _ZN7xse_var13add_referenceEi +0000003c T _ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE +0000003c T _ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv +0000003c T _ZNKSt3_V214error_category10_M_messageB5cxx11Ei +0000003e T _ZN7xse_var13add_referenceEiPS_ +0000003e T memcpy16 +0000003e t unwind_phase2 +00000040 T _Z15write_byte_savejh +00000040 W _Z19LINK_SPI_ISR_SERIALv +00000040 T _ZN10script_varC1ERSt6vectorIPS_SaIS1_EEPi +00000040 T _ZN10script_varC2ERSt6vectorIPS_SaIS1_EEPi +00000040 T _ZN13Pokemon_Party12load_payloadEv +00000040 T _ZN19mystery_gift_script13virtualgotoifEhj +00000040 W _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERjj +00000040 T _ZSt13get_terminatev +00000040 T _ZSt14get_unexpectedv +00000040 T _ZSt15get_new_handlerv +00000040 t cleanup_stdio +00000040 R GENDER_THRESHOLDS +00000040 T se_drawg_w8h16 +00000040 T tte_set_colors +00000042 T _Unwind_VRS_Get +00000042 T _Unwind_VRS_Set +00000042 T _ZN13Pokemon_Party13continue_linkEv +00000044 T __sseek +00000044 t _GLOBAL__sub_I_delay_counter +00000044 t _ZL21base_of_encoded_valuehP15_Unwind_Context +00000044 T _ZN10script_varC1EjRSt6vectorIPS_SaIS1_EEPi +00000044 T _ZN10script_varC2EjRSt6vectorIPS_SaIS1_EEPi +00000044 T _ZN11Button_Menu12show_buttonsEv +00000044 T irq_disable +00000044 T irq_init +00000046 T _ZN13Pokemon_Party10start_linkEv +00000046 T _Znwj +00000048 T __aeabi_f2d +00000048 T __extendsfdf2 +00000048 B __tte_main_context +00000048 t _GLOBAL__sub_D_delay_counter +00000048 T _Z14read_byte_savej +00000048 T _Z22write_custom_save_datav +00000048 T _Z24compare_map_and_npc_dataiii +00000048 T _ZN19mystery_gift_script17setvirtualaddressEj +00000048 T _ZN19mystery_gift_script4callEj +00000048 T _ZN19mystery_gift_script6addvarEtt +00000048 T _ZN19mystery_gift_script6setvarEtt +00000048 T _ZN19mystery_gift_script6subvarEtt +00000048 T _ZN19mystery_gift_script7compareEtt +00000048 T _ZN7Pokemon11insert_dataEPhS0_S0_S0_ +00000048 t _ZNK12_GLOBAL__N_117io_error_category7messageB5cxx11Ei +00000048 B dex_sprites +00000048 B game_select_def +00000048 B game_select_jpn +00000048 B game_select_kor +00000048 T irq_enable +00000048 B lang_select +00000048 B main_menu +00000048 T oam_init +00000048 B yes_no_menu +0000004a T __gnu_Unwind_Resume +0000004a T _ZN6Button12set_locationEii +0000004a W _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEjc +0000004a T memcmp +0000004c T __swrite +0000004c T _fwalk_sglue +0000004c T _Z14can_learn_moveii +0000004c T _Z15load_backgroundv +0000004c T memset32 +0000004e T _read_r +0000004e T _write_r +0000004e T _ZN7PokemonC1Ev +0000004e T _ZN7PokemonC2Ev +0000004e W _ZNSo6sentryD1Ev +0000004e W _ZNSo6sentryD2Ev +0000004e t _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag.isra.0 +00000050 T __cxa_get_globals +00000050 T __cxa_init_primary_exception +00000050 T _Z14get_gen_3_chartb +00000050 T _ZN10script_obj8get_textB5cxx11Ev +00000050 T _ZN19mystery_gift_script10calc_crc16Ev +00000050 W _ZNSo6sentryC1ERSo +00000050 W _ZNSo6sentryC2ERSo +00000050 T tte_putc +00000052 T __libc_init_array +00000052 T _ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj +00000054 T __aeabi_d2uiz +00000054 T __fixunsdfsi +00000054 W _sbrk_r +00000054 t _Z10write_calliPhRij.part.0 +00000054 T _Z11load_spriteP8OBJ_ATTRPKjiRjjiij +00000054 T _Z18first_load_messagev +00000054 T _Z9read_flagt +00000054 T key_poll +00000056 t _ZL23__gxx_exception_cleanup19_Unwind_Reason_CodeP21_Unwind_Control_Block +00000058 T __gnu_Unwind_RaiseException +00000058 T _Z23load_textbox_backgroundv +00000058 r _ZL11ENG_RUBY_v0 +00000058 r _ZL11ENG_RUBY_v1 +00000058 r _ZL11ENG_RUBY_v2 +00000058 r _ZL14ENG_EMERALD_v0 +00000058 r _ZL14ENG_FIRERED_v0 +00000058 r _ZL14ENG_FIRERED_v1 +00000058 r _ZL15ENG_SAPPHIRE_v0 +00000058 r _ZL15ENG_SAPPHIRE_v1 +00000058 r _ZL15ENG_SAPPHIRE_v2 +00000058 r _ZL16ENG_LEAFGREEN_v0 +00000058 r _ZL16ENG_LEAFGREEN_v1 +00000058 T _ZN11Button_Menu10add_buttonE6Buttoni +00000058 T _ZN19mystery_gift_script10four_alignEv +00000058 W _ZNSs4_Rep8_M_cloneERKSaIcEj +00000058 W _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcj +00000058 B curr_rom +0000005a T _lseek_r +0000005a T _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_ +0000005c T _Z12pokedex_initv +0000005c T _Z23load_opening_backgroundv +0000005c T _ZNSt11logic_errorD1Ev +0000005c T _ZNSt11logic_errorD2Ev +0000005c T _ZNSt12length_errorD1Ev +0000005c T _ZNSt12length_errorD2Ev +0000005c T _ZNSt12out_of_rangeD1Ev +0000005c T _ZNSt12out_of_rangeD2Ev +0000005c T _ZNSt13runtime_errorD1Ev +0000005c T _ZNSt13runtime_errorD2Ev +0000005c T _ZNSt8ios_base7failureD1Ev +0000005c T _ZNSt8ios_base7failureD2Ev +0000005e T _raise_r +0000005e T _ZN3Dex12set_locationEii +0000005e t restore_non_core_regs +00000060 T __aeabi_l2d +00000060 T __floatdidf +00000060 T _ZN11textbox_var11insert_textEPh +00000060 T _ZN8rom_data8load_romEv +00000060 W _ZNSs4_Rep9_S_createEjjRKSaIcE +00000060 T _ZNSt11logic_errorD0Ev +00000060 T _ZNSt12length_errorD0Ev +00000060 T _ZNSt12out_of_rangeD0Ev +00000060 T _ZNSt13runtime_errorD0Ev +00000060 T _ZNSt8ios_base7failureD0Ev +00000060 T strlen +00000062 T __cxa_begin_cleanup +00000062 T _ZNKSt5ctypeIcE13_M_widen_initEv +00000062 W _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj +00000064 t _GLOBAL__sub_I__ZNSt12ctype_bynameIcEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj +00000064 t _GLOBAL__sub_I__ZNSt12ctype_bynameIwEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj +00000064 T _Z20initalization_scriptv +00000064 T _ZN19mystery_gift_scriptC1Ev +00000064 T _ZN19mystery_gift_scriptC2Ev +00000064 T _ZSt19__throw_ios_failurePKc +00000068 T __release_handle +00000068 T _Z14get_rand_rangejj +00000068 T IRQ_Init +0000006a T sbmp16_rect +0000006c t _ZL29write_direct_single_byte_savejh +0000006c T _ZN19mystery_gift_script8copybyteEjj +0000006c T se_drawg +0000006c T se_drawg_s +0000006e T _fflush_r +0000006e T _ZN8rom_data11fill_valuesEPK8ROM_DATA +0000006e T _ZSt21__destroy_ios_failurePv +00000070 T __cxa_rethrow +00000070 T _ZN7xse_var14fill_refrencesEPh +00000072 T __gnu_end_cleanup +00000072 t search_EIT_table +00000074 T __aeabi_ul2d +00000074 T __floatundidf +00000074 T _Z17global_next_framev +00000074 W _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_ +00000074 T _ZNSt8ios_base7failureC1ERKSs +00000074 T _ZNSt8ios_base7failureC2ERKSs +00000078 T __cxa_begin_catch +00000078 T __gnu_Unwind_Backtrace +00000078 B __isr_table +00000078 T _Z10write_calliPhRij +00000078 T _ZNSt12__cow_stringC1EPKcj +00000078 T _ZNSt12__cow_stringC2EPKcj +00000078 T irq_add +00000078 B party_sprites +00000078 T strncmp +0000007c T __alloc_handle +0000007c T _ZN13Pokemon_Party18get_converted_pkmnEi +0000007c T srf_get_ptr +0000007e T _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE +00000080 T __cxa_guard_release +00000080 t _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_.isra.0 +00000080 R dotab_stdnull +00000084 t _GLOBAL__sub_D_last_error +00000084 t _ZN12_GLOBAL__N_14pool8allocateEj.constprop.0 +00000088 T _Z9init_bankv +00000088 T IRQ_Disable +0000008c T _ZNSt11logic_errorC1EPKc +0000008c T _ZNSt11logic_errorC2EPKc +0000008c B _ZSt4cout +0000008c D devoptab_list +0000008c T IRQ_Enable +00000090 B dex_array +00000090 T memcpy +00000090 T sbmp16_frame +00000092 T __cxa_end_catch +00000094 T _findenv_r +00000094 t _GLOBAL__sub_I__ZNSt12ctype_bynameIcEC2ERKSsj +00000094 t _GLOBAL__sub_I__ZNSt12ctype_bynameIwEC2ERKSsj +00000094 t _GLOBAL__sub_I_last_error +00000094 t _ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info +00000094 T _ZN7Pokemon21generate_pid_iv_matchEhhPh +00000094 T tte_init_base +00000096 T _open_r +00000098 T FindDevice +00000098 t get_eit_entry +0000009c T _Z29update_memory_buffer_checksumb +0000009c T _ZN9__gnu_cxx18__exchange_and_addEPVii +000000a0 T _Z5setupv +000000a0 T isr_master +000000a2 T __sflags +000000a8 t _ZN12_GLOBAL__N_14pool4freeEPv.constprop.0 +000000ac T _malloc_trim_r +000000ac T _Z15game_load_errorv +000000ae T memset +000000b4 W _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_replace_coldEPcjPKcjj +000000b4 T irq_delete +000000b4 T utf8_decode_char +000000b6 T _close_r +000000b6 W _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj +000000b8 T _ZSt23__construct_ios_failurePvPKc +000000bc T _Z12erase_sectorj +000000bc T _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_ +000000bc W _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEjjjc +000000bc T memmove +000000bc T sbmp16_line +000000bf R gen_1_index_array +000000c0 T _Z26initalize_memory_locationsv +000000c4 T _ZN13Pokemon_Party22fill_simple_pkmn_arrayEv +000000c8 T srf_init +000000c8 T strchr +000000cc T __cxa_type_match +000000d4 T tte_get_text_size +000000d6 T _fclose_r +000000d6 T _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE +000000d8 W _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj +000000d8 t unwind_phase2_forced +000000e4 W _ZNSo5flushEv +000000ea W _ZNSo3putEc +000000ec T tte_write +000000f0 B _Z9out_arrayB5cxx11 +000000f0 B dialogue +000000f4 W _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_ +000000f4 W _ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_ +000000f4 W _ZNSt6vectorIP10script_varSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_ +000000fc T __udivsi3 +000000fc R EVOLUTIONS +000000fc R EXP_MAX +000000fc R FIRST_MOVES +000000fc R GENDER_RATIO +000000fc R MENU_SPRITES +000000fc R NUM_ABILITIES +000000fc R POWER_POINTS +00000101 R _ctype_ +00000102 T __cxa_call_unexpected +00000104 t _ZL28read_encoded_value_with_basehjPKhPj +00000104 T _ZN7Pokemon12convert_textEPhiii +00000108 T _ZN7Pokemon20generate_pid_save_ivEhhPh +0000010c T _Z16copy_ram_to_savePhjj +00000114 T _Z16init_text_enginev +00000114 T sbmp16_floodfill_internal +00000118 T _Z16copy_save_to_ramjPhj +0000011a W _ZNSt12system_errorC1ESt10error_codePKc +0000011a W _ZNSt12system_errorC2ESt10error_codePKc +00000120 t _GLOBAL__sub_I__ZN9__gnu_cxx9__freeresEv +00000120 D _impure_data +00000120 T _Z13load_graphicsv +00000124 T _Z15is_save_correctPhjj +00000126 T _ZN11Button_Menu16organize_buttonsEv +00000128 T _Z5printNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +00000128 t global_stdio_init.part.0 +00000128 T irq_set +0000012c T __cxa_guard_acquire +00000130 T __divsi3 +00000138 T main +0000013c t _strtol_l.part.0 +00000144 t _strtoul_l.isra.0 +00000148 T _Z17print_mem_sectionv +00000148 T sbmp16_blit +0000014c T _Z9test_mainv +00000150 T _Z21populate_lang_buttonsv +00000164 T tte_init_se +00000168 B __sf +00000178 W _ZNSo9_M_insertIlEERSoT_ +00000184 W _ZNSt6vectorI6ButtonSaIS0_EE17_M_realloc_insertIJRKS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_ +00000186 T __sflush_r +0000018c T _Z17populate_dialoguev +0000018c T _ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE +000001b8 T _Z21load_temp_box_sprites13Pokemon_Party +000001cc T _Z20load_eternal_spritesv +000001d0 T _Z18handleIncomingBytehPhS_P6GB_ROMP18Simplified_Pokemon +000001d8 T _free_r +000001dc T _ZN7Pokemon19alocate_data_chunksEPhS0_S0_S0_ +000001fa T _freopen_r +00000200 R gen_1_Eng_char_array +00000200 R gen_1_FreGer_char_array +00000200 R gen_1_ItaSpa_char_array +00000200 R gen_1_Jpn_char_array +00000200 R gen_2_Eng_char_array +00000200 R gen_2_FreGer_char_array +00000200 R gen_2_ItaSpa_char_array +00000200 R gen_2_Jpn_char_array +00000200 R gen_3_Intern_char_array +00000200 R gen_3_Jpn_char_array +0000020c T __aeabi_ddiv +0000020c T __divdf3 +00000224 T strcmp +00000248 T _ZN7Pokemon9load_dataEiPhii +0000026c T _Z14inject_mysteryR13Pokemon_Party +00000270 T _Z15run_conditionali +0000027c T _Z7creditsv +00000280 R EVENT_PKMN +0000028c T _ZN11Button_Menu11button_mainEv +00000290 T __aeabi_dmul +00000290 T __muldf3 +000002a0 B payload_storage +000002b4 T _Unwind_VRS_Pop +000002c4 W _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i +000002dc T _ZN7Pokemon12set_to_eventEv +000002dc T _ZN8rom_data14print_rom_infoEv +000002e8 t __gnu_unwind_pr_common +00000310 T __adddf3 +00000310 T __aeabi_dadd +00000310 T __gnu_unwind_execute +00000314 T __aeabi_dsub +00000314 T __subdf3 +00000364 t _GLOBAL__sub_I_obj_buffer +00000380 T _Z21populate_game_buttonsv +00000400 B internal_io +00000400 B obj_buffer +00000408 D __malloc_av_ +0000042c T _Z9text_loopv +00000444 T _Z17load_temp_spritesi +00000454 T tte_cmd_default +00000460 T _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE +00000490 T __gxx_personality_v0 +000004a4 T _Z12pokedex_loopv +00000558 T _malloc_r +000005f4 T _ZN7Pokemon20convert_to_gen_threeEbb +00000690 B party_data +000006a8 T _ZN8Box_Menu8box_mainE13Pokemon_Party +000007e0 B NAMES +00000870 B script +00000bd0 R JPN_NAMES +00000bdc T _Z4loopPhS_P6GB_ROMP18Simplified_Pokemon +00000c64 T _Z16generate_payload6GB_ROMb +00001000 B global_memory_buffer +00001000 d handles +000011f4 T _ZN19mystery_gift_script12build_scriptER13Pokemon_Party +000011f8 t _GLOBAL__sub_I_EXP_TYPES +00001f80 R MOVESETS +00002698 T _Z15populate_scriptv diff --git a/graphics/button_gold_silver_left.grit b/graphics/button_gold_left.grit similarity index 100% rename from graphics/button_gold_silver_left.grit rename to graphics/button_gold_left.grit diff --git a/graphics/button_gold_left.png b/graphics/button_gold_left.png new file mode 100644 index 0000000000000000000000000000000000000000..290e801ae0e30574f85ff5f4566b7fee9e2fa065 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQU(D&A+AS{9yPQy{PF+C|NsAi zVg$iG``lKbBF2&+zhDN3XE)M-oI+0*$B>FSS0`WOZBXEGdCgJo<6v&^ZvSl8NBtS+ zTjclhFL=paaADTjY)38QoRw!zX_aZb>R>uA!cfnu@TcKi@=3uJ@75S@o1wdl$@Zbm zbHNn}d|#dzE4(k*)gk|AE%#r(c(#<2D_2dcofvK#x8>fNvT5s6yYA0kt_5mdK II;Vst05&#K(EtDd literal 0 HcmV?d00001 diff --git a/graphics/button_gold_silver_left.png b/graphics/button_gold_silver_left.png deleted file mode 100644 index 857ce18f203c7242740d162caa5ffa565b393ad1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQU(D&A+AS{9yPQy{PF+C|NsAi zVg$iG``lKbBF2&+zhDN3XE)M-oJF24jv*CumQL>EJ#4_?`jVr@pF!H?ZvFPASnIOK zPD>Pi*8P$>HYaZfQU(D&A+AS{9yPQy{PF+C|NsAi zVg$iG``lKbBF2&+zhDN3XE)M-oLWy8$B>FS$q5T&47eV#^6)ert6*eq-k``R+`<{D zsI#JlpFxy^SCO@;$${mVlLC*3s8iqq4iSN-gbh6kyO>t6#4t{1T;?E{V{%4HLH;t! z2DKfW0*5c$UC^<_K`@l@gt$U*!LKGcMNe;5mdP>;LwpV5ANYT5a!IlEVq`cOoP3s* RR}HYaZfQU(D&A+AS{9yPQy{PF+C|NsAi zVg$iG``lKbBF2&+zhDN3XE)M-oDNSH$B>FSOM@Nx8WebD``@Tw{CD8T|NWM19qk*F zG^9Lr-d^KbR4XIX)bU=xPvB2#2{0l-a#O573QJ551|K!A>RohkO=q2z4Gs#$*T>TJt fB=|gcc)mFQIh7bP0l+XkKd0AG( diff --git a/graphics/button_red_green_left.png b/graphics/button_red_green_left.png deleted file mode 100644 index fc651e742519143f89e3946fe2eadeb0a5b3f8e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQU(D&A+AS{9yPQy{PF+C|NsAi zVg$iG``lKbBF2&+zhDN3XE)M-oXMUpjv*CumQKFQ+n~VH@|wd|O+#AZ`+eU!QNbvo zRc>5srYLjgaBU)`(~JdKx<_!Mlr zoZjSC1uVZ%tiiUKY4NWLhLg(I3~j$Vl*ThIU{~?nA9*64(U diff --git a/graphics/button_red_green_left.grit b/graphics/button_red_left.grit similarity index 100% rename from graphics/button_red_green_left.grit rename to graphics/button_red_left.grit diff --git a/graphics/button_red_left.png b/graphics/button_red_left.png new file mode 100644 index 0000000000000000000000000000000000000000..dab5f65f7d45b51322f9bd6d3efa1e7955754636 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQU(D&A+AS{9yPQy{PF+C|NsAi zVg$iG``lKbBF2&+zhDN3XE)M-oK#O2$B>FS$q5T&47eV#^6)ert6*eq-k``R+`<{D zsI#JlpFxy^SC`cxzHx(qKw>yU3MXe{rmGXzl$H%z4N;BJjRF#n3>j0*9nBwnWj$CR tafFLQ&C+S*tb~0B=D%X?JW(};iD8#d>T0o&`Cma!^mO%eS?83{1OPQ0K7s%M literal 0 HcmV?d00001 diff --git a/graphics/button_silver_left.grit b/graphics/button_silver_left.grit new file mode 100644 index 0000000..aa1971c --- /dev/null +++ b/graphics/button_silver_left.grit @@ -0,0 +1,3 @@ +# +# Button : 4bpp, not compressed. Pallet 2, copy from 32 to 48. +-gB4 -ps32 -pe48 \ No newline at end of file diff --git a/graphics/button_silver_left.png b/graphics/button_silver_left.png new file mode 100644 index 0000000000000000000000000000000000000000..9227a9a830bf50fb238321226f7c68aa8413534f GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQU(D&A+AS{9yPQy{PF+C|NsAi zVg$iG``lKbBF2&+zhDN3XE)M-oJLO<$B>FSS0^)aH5hQXzU9~@{DODU@B6xUBP_Xi z-5mF)ESCG9f0*%1_Q3##9j#0n*^dG?bu= button_vector.size()) { curr_y--; + curr_x += offset_value / 2; } } else if (key_hit(KEY_DOWN) && (curr_y < (rows - 1))) { curr_y++; if (get_pos_from_xy(curr_x, curr_y) >= button_vector.size()) + { + curr_x = get_x_from_pos(button_vector.size() - 1); + } + } + else if (key_hit(KEY_LEFT) && ((curr_x > 0) || ((curr_x == 0) && (curr_y == rows - 1) && (offset_value > 0)))) + { + if (curr_x == 0 && offset_value > 0) + { + curr_y -= 1; + } + else { curr_x--; } } - else if (key_hit(KEY_LEFT) && (curr_x > 0)) - { - curr_x--; - } else if (key_hit(KEY_UP) && (curr_y > 0)) { + if (curr_y == rows - 1) + { + curr_x += offset_value / 2; + } curr_y--; } else if (key_hit(KEY_A)) @@ -121,8 +131,8 @@ void Button_Menu::organize_buttons() ((y_max - y_min) - (rows * button_height)) / (rows + 1); int horizontal_space = ((x_max - x_min) - (columns * button_width)) / (columns + 1); - int bottom_offset = ((horizontal_space + button_width) * ((rows * columns) - button_vector.size()) / 2); - + bottom_offset = ((horizontal_space + button_width) * ((rows * columns) - button_vector.size()) / 2); + offset_value = (rows * columns) - button_vector.size(); for (unsigned int i = 0; i < button_vector.size(); i++) { button_vector.at(i).set_location( @@ -158,6 +168,7 @@ void Button_Menu::set_bottom_row_offset(int nBottom_offset) bottom_offset = nBottom_offset; } -void Button_Menu::clear_vector(){ +void Button_Menu::clear_vector() +{ button_vector.clear(); } \ No newline at end of file diff --git a/source/payload_builder.cpp b/source/payload_builder.cpp index 0ae0e0f..f5e10c8 100644 --- a/source/payload_builder.cpp +++ b/source/payload_builder.cpp @@ -74,9 +74,9 @@ byte *generate_payload(GB_ROM curr_rom, bool debug) } // Set the entrance vector - payload_storage[curr_rom.enter_vector_destination] = 0xC3; - payload_storage[curr_rom.enter_vector_destination + 1] = curr_rom.enter_vector_location & 0xFF; - payload_storage[curr_rom.enter_vector_destination + 2] = (curr_rom.enter_vector_location >> 8) & 0xFF; + payload_storage[5] = 0xC3; + payload_storage[6] = curr_rom.enter_vector_location & 0xFF; + payload_storage[7] = (curr_rom.enter_vector_location >> 8) & 0xFF; // Patchlist // At 0x1BB / 0x1DE, 0xC2 in length (0xC4, but the last 2 are unused) @@ -92,21 +92,21 @@ byte *generate_payload(GB_ROM curr_rom, bool debug) // ld hl, [upper left textbox corner in VRAM] payload_storage[offset++] = 0x21; - payload_storage[offset++] = (curr_rom.textBoarderUppLeft >> 0) & 0xFF; - payload_storage[offset++] = (curr_rom.textBoarderUppLeft >> 8) & 0xFF; + payload_storage[offset++] = (curr_rom.textBorderUppLeft >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.textBorderUppLeft >> 8) & 0xFF; // ld b, 3 [height] payload_storage[offset++] = 0x06; - payload_storage[offset++] = (curr_rom.textBoarderWidth >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.textBorderWidth >> 0) & 0xFF; // ld c, 14 [width] payload_storage[offset++] = 0x0E; - payload_storage[offset++] = (curr_rom.textBoarderHeight >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.textBorderHeight >> 0) & 0xFF; - // call CableClub_TextBoxBoarder + // call CableClub_TextBoxBorder payload_storage[offset++] = 0xCD; - payload_storage[offset++] = (curr_rom.CableClub_TextBoxBoarder >> 0) & 0xFF; - payload_storage[offset++] = (curr_rom.CableClub_TextBoxBoarder >> 8) & 0xFF; + payload_storage[offset++] = (curr_rom.CableClub_TextBoxBorder >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.CableClub_TextBoxBorder >> 8) & 0xFF; // ld hl, [transfer string location] payload_storage[offset++] = 0x21; @@ -282,14 +282,24 @@ byte *generate_payload(GB_ROM curr_rom, bool debug) payload_storage[offset++] = 0xDD; /* Save the current box */ + // ld b, 0x1C [memory bank of SaveSAVtoSRAM1] + payload_storage[offset++] = 0x06; + payload_storage[offset++] = (curr_rom.SaveSAVtoSRAM1 >> 16) & 0xFF; + // ld hl, SaveSAVtoSRAM1 payload_storage[offset++] = 0x21; payload_storage[offset++] = (curr_rom.SaveSAVtoSRAM1 >> 0) & 0xFF; payload_storage[offset++] = (curr_rom.SaveSAVtoSRAM1 >> 8) & 0xFF; - // ld b, 0x1C [memory bank of SaveSAVtoSRAM1] - payload_storage[offset++] = 0x06; - payload_storage[offset++] = (curr_rom.SaveSAVtoSRAM1_memBank >> 0) & 0xFF; + // call Bankswitch [which will jump to what's loaded in HL] + payload_storage[offset++] = 0xCD; + payload_storage[offset++] = (curr_rom.Bankswitch >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.Bankswitch >> 8) & 0xFF; + + // ld hl, SaveSAVtoSRAM2 + payload_storage[offset++] = 0x21; + payload_storage[offset++] = (curr_rom.SaveSAVtoSRAM2 >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.SaveSAVtoSRAM2 >> 8) & 0xFF; // call Bankswitch [which will jump to what's loaded in HL] payload_storage[offset++] = 0xCD; @@ -426,7 +436,7 @@ byte *generate_payload(GB_ROM curr_rom, bool debug) // ld a, 0x1C payload_storage[offset++] = 0x3E; - payload_storage[offset++] = (curr_rom.SaveSAVtoSRAM1_memBank >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.SaveSAVtoSRAM1 >> 16) & 0xFF; // call BankswitchCommon payload_storage[offset++] = 0xCD; @@ -481,21 +491,21 @@ byte *generate_payload(GB_ROM curr_rom, bool debug) // ld hl, [upper left textbox corner in VRAM] payload_storage[offset++] = 0x21; - payload_storage[offset++] = (curr_rom.textBoarderUppLeft >> 0) & 0xFF; - payload_storage[offset++] = (curr_rom.textBoarderUppLeft >> 8) & 0xFF; + payload_storage[offset++] = (curr_rom.textBorderUppLeft >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.textBorderUppLeft >> 8) & 0xFF; // ld b, 3 [height] payload_storage[offset++] = 0x06; - payload_storage[offset++] = (curr_rom.textBoarderWidth >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.textBorderWidth >> 0) & 0xFF; // ld c, 14 [width] payload_storage[offset++] = 0x0E; - payload_storage[offset++] = (curr_rom.textBoarderHeight >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.textBorderHeight >> 0) & 0xFF; - // call CableClub_TextBoxBoarder + // call CableClub_TextBoxBorder payload_storage[offset++] = 0xCD; - payload_storage[offset++] = (curr_rom.CableClub_TextBoxBoarder >> 0) & 0xFF; - payload_storage[offset++] = (curr_rom.CableClub_TextBoxBoarder >> 8) & 0xFF; + payload_storage[offset++] = (curr_rom.CableClub_TextBoxBorder >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.CableClub_TextBoxBorder >> 8) & 0xFF; // ld hl, [transfer string location] payload_storage[offset++] = 0x21; @@ -682,7 +692,7 @@ byte *generate_payload(GB_ROM curr_rom, bool debug) /* Save the current box */ // ld a, 0x1C payload_storage[offset++] = 0x3E; - payload_storage[offset++] = (curr_rom.SaveSAVtoSRAM1_memBank >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.SaveSAVtoSRAM1 >> 16) & 0xFF; // call BankswitchCommon payload_storage[offset++] = 0xCD; @@ -784,7 +794,7 @@ byte *generate_payload(GB_ROM curr_rom, bool debug) // write_call(curr_rom.generation, payload_storage, offset, 0x0363D8); // Saving the box overwrites our code, so we need to move it here. - write_call(curr_rom.generation, payload_storage, offset, 0x054DF6); + write_call(curr_rom.generation, payload_storage, offset, curr_rom.SaveBox); // jp SoftReset payload_storage[offset++] = 0xC3; @@ -812,19 +822,19 @@ byte *generate_payload(GB_ROM curr_rom, bool debug) // ld hl, [upper left textbox corner in VRAM] payload_storage[offset++] = 0x21; - payload_storage[offset++] = (curr_rom.textBoarderUppLeft >> 0) & 0xFF; - payload_storage[offset++] = (curr_rom.textBoarderUppLeft >> 8) & 0xFF; + payload_storage[offset++] = (curr_rom.textBorderUppLeft >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.textBorderUppLeft >> 8) & 0xFF; // ld b, 3 [height] payload_storage[offset++] = 0x06; - payload_storage[offset++] = (curr_rom.textBoarderWidth >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.textBorderWidth >> 0) & 0xFF; // ld c, 14 [width] payload_storage[offset++] = 0x0E; - payload_storage[offset++] = (curr_rom.textBoarderHeight >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.textBorderHeight >> 0) & 0xFF; - // call CableClub_TextBoxBoarder - write_call(curr_rom.generation, payload_storage, offset, curr_rom.CableClub_TextBoxBoarder); + // call CableClub_TextBoxBorder + write_call(curr_rom.generation, payload_storage, offset, curr_rom.CableClub_TextBoxBorder); // ld hl, [transfer string location] payload_storage[offset++] = 0x21; @@ -852,7 +862,7 @@ byte *generate_payload(GB_ROM curr_rom, bool debug) // call OpenSRAM payload_storage[offset++] = 0x3E; payload_storage[offset++] = 0x01; - write_call(curr_rom.generation, payload_storage, offset, 0x0030E1); + write_call(curr_rom.generation, payload_storage, offset, curr_rom.OpenSRAM); // ld hl, (wBoxDataStart - 1) [data to send] payload_storage[offset++] = 0x21; @@ -1003,8 +1013,8 @@ byte *generate_payload(GB_ROM curr_rom, bool debug) // jp pkmn list (because saving the box overwrites the data) payload_storage[offset++] = 0xC3; - payload_storage[offset++] = 0xB4; - payload_storage[offset++] = 0xC7; + payload_storage[offset++] = (curr_rom.enter_vector_location >> 0) & 0xFF; + payload_storage[offset++] = (curr_rom.enter_vector_location >> 8) & 0xFF; // 72 total bytes of string/array stuff @@ -1061,7 +1071,6 @@ void write_call(int generation, byte array_data[], int &offset, word call_locati } else { - // Farcall: Load bank into a, adr in hl, rst 08 (0xCF) // Swap banks: Load bank into a, call rst 10 (0xD7) if (((call_location >> 16) & 0xFF) != 0x00) { @@ -1075,11 +1084,11 @@ void write_call(int generation, byte array_data[], int &offset, word call_locati } }; -int test_main() +int main() { freopen("test_payload.txt", "w", stdout); std::cout << std::endl; - byte *payload = generate_payload(ENG_GOLD_SILVER, true); + byte *payload = generate_payload(ENG_CRYSTAL, true); for (int i = 0; i < PAYLOAD_SIZE; i++) { std::cout << "0x" << std::setfill('0') << std::setw(2) << std::hex << std::uppercase << (unsigned int)payload[i] << ", "; diff --git a/source/pokemon.cpp b/source/pokemon.cpp index ce8a795..271c4fa 100644 --- a/source/pokemon.cpp +++ b/source/pokemon.cpp @@ -19,8 +19,8 @@ void Pokemon::load_data(int index, byte *party_data, int game, int lang) { switch (game) { - case RED_GREEN_ID: - case RED_BLUE_ID: + case GREEN_ID: + case RED_ID: case BLUE_ID: case YELLOW_ID: gen = 1; @@ -29,7 +29,8 @@ void Pokemon::load_data(int index, byte *party_data, int game, int lang) nickname_size = 6; box_size = 30; break; - case GOLD_SILVER_ID: + case GOLD_ID: + case SILVER_ID: case CRYSTAL_ID: gen = 2; pkmn_size = 32; @@ -43,8 +44,7 @@ void Pokemon::load_data(int index, byte *party_data, int game, int lang) { switch (game) { - case RED_GREEN_ID: - case RED_BLUE_ID: + case RED_ID: case BLUE_ID: case YELLOW_ID: gen = 1; @@ -53,7 +53,8 @@ void Pokemon::load_data(int index, byte *party_data, int game, int lang) nickname_size = 11; box_size = 20; break; - case GOLD_SILVER_ID: + case GOLD_ID: + case SILVER_ID: case CRYSTAL_ID: gen = 2; pkmn_size = 32; diff --git a/source/pokemon_party.cpp b/source/pokemon_party.cpp index f48784d..17f36cd 100644 --- a/source/pokemon_party.cpp +++ b/source/pokemon_party.cpp @@ -12,7 +12,9 @@ const GB_ROM *list_of_gb_roms[NUM_PAYLOADS] = { &ENG_RED_BLUE, &ENG_YELLOW, - &ENG_GOLD_SILVER, + &ENG_GOLD, + &ENG_SILVER, + &ENG_CRYSTAL, }; byte gen1_debug_box_data[0x462] = { diff --git a/source/script_array.cpp b/source/script_array.cpp index 57136df..4a317ca 100644 --- a/source/script_array.cpp +++ b/source/script_array.cpp @@ -139,22 +139,29 @@ void populate_lang_buttons() void populate_game_buttons() { game_select_jpn.clear_vector(); - game_select_jpn.add_button(Button(button_red_green_left, button_red_green_right, 64), RED_GREEN_ID); + game_select_jpn.set_rows_and_columns(3, 3); + game_select_jpn.add_button(Button(button_green_left, button_green_right, 64), GREEN_ID); + game_select_jpn.add_button(Button(button_red_left, button_red_right, 64), RED_ID); game_select_jpn.add_button(Button(button_blue_left, button_blue_right, 64), BLUE_ID); game_select_jpn.add_button(Button(button_yellow_left, button_yellow_right, 64), YELLOW_ID); - game_select_jpn.add_button(Button(button_gold_silver_left, button_gold_silver_right, 64), GOLD_SILVER_ID); + game_select_jpn.add_button(Button(button_gold_left, button_gold_right, 64), GOLD_ID); + game_select_jpn.add_button(Button(button_silver_left, button_silver_right, 64), SILVER_ID); game_select_jpn.add_button(Button(button_crystal_left, button_crystal_right, 64), CRYSTAL_ID); - game_select_jpn.set_xy_min_max(48, 240, 0, 120); + game_select_jpn.set_xy_min_max(32, 240, 0, 120); game_select_kor.clear_vector(); - game_select_kor.add_button(Button(button_gold_silver_left, button_gold_silver_right, 64), GOLD_SILVER_ID); + game_select_kor.set_rows_and_columns(1, 2); + game_select_kor.add_button(Button(button_gold_left, button_gold_right, 64), GOLD_ID); + game_select_kor.add_button(Button(button_silver_left, button_silver_right, 64), SILVER_ID); game_select_kor.set_xy_min_max(48, 240, 0, 120); game_select_def.clear_vector(); - game_select_def.set_rows_and_columns(2, 2); - game_select_def.add_button(Button(button_red_blue_left, button_red_blue_right, 64), RED_BLUE_ID); + game_select_def.set_rows_and_columns(3, 2); + game_select_def.add_button(Button(button_red_left, button_red_right, 64), RED_ID); + game_select_def.add_button(Button(button_blue_left, button_blue_right, 64), RED_ID); // red and blue are identical, so we just say red game_select_def.add_button(Button(button_yellow_left, button_yellow_right, 64), YELLOW_ID); - game_select_def.add_button(Button(button_gold_silver_left, button_gold_silver_right, 64), GOLD_SILVER_ID); + game_select_def.add_button(Button(button_gold_left, button_gold_right, 64), GOLD_ID); + game_select_def.add_button(Button(button_silver_left, button_silver_right, 64), SILVER_ID); game_select_def.add_button(Button(button_crystal_left, button_crystal_right, 64), CRYSTAL_ID); game_select_def.set_xy_min_max(48, 240, 0, 120); } diff --git a/source/sprite_data.cpp b/source/sprite_data.cpp index 9011494..5270032 100644 --- a/source/sprite_data.cpp +++ b/source/sprite_data.cpp @@ -119,16 +119,18 @@ OBJ_ATTR *btn_lang_ger = &obj_buffer[num_sprites++]; OBJ_ATTR *btn_lang_spa = &obj_buffer[num_sprites++]; OBJ_ATTR *btn_lang_kor = &obj_buffer[num_sprites++]; -OBJ_ATTR *button_red_green_left = &obj_buffer[num_sprites++]; -OBJ_ATTR *button_red_green_right = &obj_buffer[num_sprites++]; +OBJ_ATTR *button_green_left = &obj_buffer[num_sprites++]; +OBJ_ATTR *button_green_right = &obj_buffer[num_sprites++]; OBJ_ATTR *button_blue_left = &obj_buffer[num_sprites++]; OBJ_ATTR *button_blue_right = &obj_buffer[num_sprites++]; -OBJ_ATTR *button_red_blue_left = &obj_buffer[num_sprites++]; -OBJ_ATTR *button_red_blue_right = &obj_buffer[num_sprites++]; +OBJ_ATTR *button_red_left = &obj_buffer[num_sprites++]; +OBJ_ATTR *button_red_right = &obj_buffer[num_sprites++]; OBJ_ATTR *button_yellow_left = &obj_buffer[num_sprites++]; OBJ_ATTR *button_yellow_right = &obj_buffer[num_sprites++]; -OBJ_ATTR *button_gold_silver_left = &obj_buffer[num_sprites++]; -OBJ_ATTR *button_gold_silver_right = &obj_buffer[num_sprites++]; +OBJ_ATTR *button_gold_left = &obj_buffer[num_sprites++]; +OBJ_ATTR *button_gold_right = &obj_buffer[num_sprites++]; +OBJ_ATTR *button_silver_left = &obj_buffer[num_sprites++]; +OBJ_ATTR *button_silver_right = &obj_buffer[num_sprites++]; OBJ_ATTR *button_crystal_left = &obj_buffer[num_sprites++]; OBJ_ATTR *button_crystal_right = &obj_buffer[num_sprites++]; @@ -221,16 +223,18 @@ void load_temp_sprites(int sprite_batch_id) break; case SPRITE_BATCH_GAMES: - load_sprite(button_red_green_left, button_red_green_leftTiles, button_red_green_leftTilesLen, curr_tile_id, BTN_PAL, ATTR0_WIDE, ATTR1_SIZE_64x32, 1); - load_sprite(button_red_green_right, button_game_select_edgeTiles, button_game_select_edgeTilesLen, curr_tile_id, BTN_PAL, ATTR0_TALL, ATTR1_SIZE_8x32, 1); + load_sprite(button_green_left, button_green_leftTiles, button_green_leftTilesLen, curr_tile_id, BTN_PAL, ATTR0_WIDE, ATTR1_SIZE_64x32, 1); + load_sprite(button_green_right, button_game_select_edgeTiles, button_game_select_edgeTilesLen, curr_tile_id, BTN_PAL, ATTR0_TALL, ATTR1_SIZE_8x32, 1); load_sprite(button_blue_left, button_blue_leftTiles, button_blue_leftTilesLen, curr_tile_id, BTN_PAL, ATTR0_WIDE, ATTR1_SIZE_64x32, 1); load_sprite(button_blue_right, button_game_select_edgeTiles, button_game_select_edgeTilesLen, curr_tile_id, BTN_PAL, ATTR0_TALL, ATTR1_SIZE_8x32, 1); - load_sprite(button_red_blue_left, button_red_blue_leftTiles, button_red_blue_leftTilesLen, curr_tile_id, BTN_PAL, ATTR0_WIDE, ATTR1_SIZE_64x32, 1); - load_sprite(button_red_blue_right, button_game_select_edgeTiles, button_game_select_edgeTilesLen, curr_tile_id, BTN_PAL, ATTR0_TALL, ATTR1_SIZE_8x32, 1); + load_sprite(button_red_left, button_red_leftTiles, button_red_leftTilesLen, curr_tile_id, BTN_PAL, ATTR0_WIDE, ATTR1_SIZE_64x32, 1); + load_sprite(button_red_right, button_game_select_edgeTiles, button_game_select_edgeTilesLen, curr_tile_id, BTN_PAL, ATTR0_TALL, ATTR1_SIZE_8x32, 1); load_sprite(button_yellow_left, button_yellow_leftTiles, button_yellow_leftTilesLen, curr_tile_id, BTN_PAL, ATTR0_WIDE, ATTR1_SIZE_64x32, 1); load_sprite(button_yellow_right, button_game_select_edgeTiles, button_game_select_edgeTilesLen, curr_tile_id, BTN_PAL, ATTR0_TALL, ATTR1_SIZE_8x32, 1); - load_sprite(button_gold_silver_left, button_gold_silver_leftTiles, button_gold_silver_leftTilesLen, curr_tile_id, BTN_PAL, ATTR0_WIDE, ATTR1_SIZE_64x32, 1); - load_sprite(button_gold_silver_right, button_game_select_edgeTiles, button_game_select_edgeTilesLen, curr_tile_id, BTN_PAL, ATTR0_TALL, ATTR1_SIZE_8x32, 1); + load_sprite(button_gold_left, button_gold_leftTiles, button_gold_leftTilesLen, curr_tile_id, BTN_PAL, ATTR0_WIDE, ATTR1_SIZE_64x32, 1); + load_sprite(button_gold_right, button_game_select_edgeTiles, button_game_select_edgeTilesLen, curr_tile_id, BTN_PAL, ATTR0_TALL, ATTR1_SIZE_8x32, 1); + load_sprite(button_silver_left, button_silver_leftTiles, button_silver_leftTilesLen, curr_tile_id, BTN_PAL, ATTR0_WIDE, ATTR1_SIZE_64x32, 1); + load_sprite(button_silver_right, button_game_select_edgeTiles, button_game_select_edgeTilesLen, curr_tile_id, BTN_PAL, ATTR0_TALL, ATTR1_SIZE_8x32, 1); load_sprite(button_crystal_left, button_crystal_leftTiles, button_crystal_leftTilesLen, curr_tile_id, BTN_PAL, ATTR0_WIDE, ATTR1_SIZE_64x32, 1); load_sprite(button_crystal_right, button_game_select_edgeTiles, button_game_select_edgeTilesLen, curr_tile_id, BTN_PAL, ATTR0_TALL, ATTR1_SIZE_8x32, 1); break; diff --git a/source/test_payload.txt b/source/test_payload.txt index 7e7a6ca..074b67f 100644 --- a/source/test_payload.txt +++ b/source/test_payload.txt @@ -1,31 +1,31 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, # 0x10 -0xFD, 0xFD, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, +0xFD, 0xFD, 0xB4, 0xC7, 0xFF, 0x3E, 0x05, 0xD7, 0xCD, 0x0C, 0x4E, 0xC3, 0x50, 0x01, 0x00, 0x00, # 0x20 -0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # 0x30 -0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # 0x40 -0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # 0x50 -0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # 0x60 -0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # 0x70 -0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # 0x80 -0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # 0x90 -0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # 0xA0 -0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # 0xB0 -0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # 0xC0 -0x80, 0x80, 0x80, 0xD6, 0xC5, 0xFF, 0xFF, 0xFF, 0x3E, 0x03, 0xD7, 0xCD, 0xD8, 0x63, 0x3E, 0x05, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # 0xD0 -0xD7, 0xCD, 0xF6, 0x4D, 0xC3, 0xB0, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # 0xE0 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # 0xF0 @@ -57,21 +57,21 @@ # 0x1C0 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # 0x1D0 -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFF, 0xFF, 0xCD, 0xE2, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFF, 0xFF, 0xCD, 0xDB, # 0x1E0 -0x0E, 0x21, 0x2E, 0xC4, 0x06, 0x03, 0x0E, 0x0E, 0x3E, 0x0A, 0xD7, 0xCD, 0x88, 0x4D, 0x21, 0x43, +0x0F, 0x21, 0x2E, 0xC4, 0x06, 0x03, 0x0E, 0x0E, 0x3E, 0x0A, 0xD7, 0xCD, 0xEF, 0x4E, 0x21, 0x43, # 0x1F0 -0xC4, 0x11, 0x7A, 0xC6, 0xCD, 0x74, 0x0F, 0x21, 0xCD, 0xFF, 0x36, 0x02, 0x3E, 0x01, 0xCD, 0xE1, +0xC4, 0x11, 0x7A, 0xC6, 0xCD, 0x78, 0x10, 0x21, 0xCB, 0xFF, 0x36, 0x02, 0x3E, 0x01, 0xCD, 0xE1, # 0x200 -0x30, 0x21, 0x6B, 0xAD, 0x36, 0xFD, 0x11, 0x6A, 0xAD, 0x01, 0x50, 0x04, 0xCD, 0x10, 0x07, 0x21, +0x30, 0x21, 0x0F, 0xAD, 0x36, 0xFD, 0x11, 0x0E, 0xAD, 0x01, 0x50, 0x04, 0xCD, 0x5F, 0x07, 0x21, # 0x210 -0xCD, 0xFF, 0x36, 0x02, 0x21, 0x54, 0x06, 0x11, 0x51, 0xC6, 0x01, 0x1E, 0x00, 0x00, 0x00, 0x00, +0xCB, 0xFF, 0x36, 0x02, 0x21, 0x70, 0x07, 0x11, 0x51, 0xC6, 0x01, 0x1E, 0x00, 0x00, 0x00, 0x00, # 0x220 -0x21, 0x08, 0xD0, 0x36, 0x01, 0xFA, 0x50, 0xC6, 0x5F, 0x16, 0x00, 0x21, 0x51, 0xC6, 0x19, 0x3C, +0x21, 0x0B, 0xD1, 0x36, 0x01, 0xFA, 0x50, 0xC6, 0x5F, 0x16, 0x00, 0x21, 0x51, 0xC6, 0x19, 0x3C, # 0x230 -0xEA, 0x50, 0xC6, 0xFA, 0x6C, 0xAD, 0x47, 0x2A, 0xFE, 0xFF, 0x28, 0x0F, 0xB8, 0x30, 0xE6, 0x21, +0xEA, 0x50, 0xC6, 0xFA, 0x10, 0xAD, 0x47, 0x2A, 0xFE, 0xFF, 0x28, 0x0F, 0xB8, 0x30, 0xE6, 0x21, # 0x240 -0x05, 0xD0, 0x77, 0x3E, 0x03, 0xD7, 0xCD, 0x3F, 0x60, 0x18, 0xDA, 0xC3, 0xB6, 0xC7, 0x00, 0x00, +0x09, 0xD1, 0x77, 0x3E, 0x03, 0xD7, 0xCD, 0x39, 0x60, 0x18, 0xDA, 0xC3, 0xB4, 0xC7, 0x00, 0x00, # 0x250 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, 0x18, 0x17, # 0x260 diff --git a/updateSYM.bat b/updateSYM.bat new file mode 100644 index 0000000..6aa3197 --- /dev/null +++ b/updateSYM.bat @@ -0,0 +1 @@ +nm --size-sort Pokemon_Mirror_mb.elf > Pokemon_Mirror_mb.sym \ No newline at end of file