Merge remote-tracking branch 'upstream/gameboy-payload-update' into gears-merge

This commit is contained in:
Philippe Symons
2026-08-31 13:21:29 +02:00
11 changed files with 299 additions and 55 deletions

View File

@@ -17,6 +17,7 @@
#include <tonc.h>
int last_error;
bool newPkmn = false;
PokeBox box;
Select_Menu langs(false, LANG_MENU, 18, 0);
@@ -489,6 +490,7 @@ const script_obj_params event_script_params[SCRIPT_SIZE] = {
static void __attribute__((noinline)) convertPokeBox()
{
PokemonTables tables;
newPkmn = false;
box.convertAll(&tables);
}
@@ -527,7 +529,8 @@ bool run_conditional(int index)
return get_tutorial_flag() && !g_debug_options.force_tutorial;
case COND_NEW_POKEMON:
return box.getHasNewPkmn();
//return box.getHasNewPkmn();
return newPkmn;
case COND_IS_HOENN_RS:
return curr_GBA_rom.is_ruby_sapphire();
@@ -660,16 +663,26 @@ bool run_conditional(int index)
load_select_sprites(globalLinkCable.currROM);
obj_unhide(gba_cart, 0);
obj_set_pos(gba_cart, 17 * 8, 14 * 8);
obj_unhide(cart_shell, 0);
obj_set_pos(cart_shell, (8 * 8), (11 * 8) + 11);
obj_unhide(cart_label, 0);
obj_set_pos(cart_label, (8 * 8) + 8, (11 * 8) + 11 + 13);
obj_unhide(gba_flag, 0);
obj_set_pos(gba_flag, 23 * 8, 14 * 8);
obj_unhide(gb_flag, 0);
obj_set_pos(gb_flag, 1.5 * 8, 14 * 8);
globalLinkCable.LinkCommand_ReadMemorySection(globalLinkCable.pccsROMptr->wCurrentBoxNum, &globalLinkCable.boxNum, 1);
// globalLinkCable.skipPrint = false;
// globalLinkCable.pauseOnPacket = true;
byte boxDataArray[1122];
globalLinkCable.LinkCommand_ReadMemorySection(0xDA80,
boxDataArray, 1122);
byte boxDataArray[globalLinkCable.pccsROMptr->box_data_size];
globalLinkCable.LinkCommand_ReadMemorySection(globalLinkCable.pccsROMptr->wBoxDataStart,
boxDataArray, globalLinkCable.pccsROMptr->box_data_size);
box.loadData(globalLinkCable.gen, globalLinkCable.lang,
boxDataArray);
@@ -707,6 +720,7 @@ bool run_conditional(int index)
{
set_missingno(false);
}
globalLinkCable.LinkCommand_SoftReset();
return true;
case CMD_LANG_MENU:
@@ -758,7 +772,7 @@ bool run_conditional(int index)
}
boxRemovalPayload[arrayIndex] = 0xFF;
arrayIndex++;
globalLinkCable.LinkCommand_TransferPokemon(2, boxRemovalPayload, arrayIndex);
globalLinkCable.LinkCommand_TransferPokemon(globalLinkCable.boxNum, boxRemovalPayload, arrayIndex);
}
return true;