Files
pokeruby/src/debug/ereader_debug_menu.c
T
2018-04-09 14:01:40 -04:00

363 lines
9.9 KiB
C
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#include "global.h"
#include "debug.h"
#include "constants/species.h"
#include "constants/items.h"
#include "string_util.h"
#include "new_game.h"
#include "load_save.h"
#include "start_menu.h"
#include "mystery_event_script.h"
#include "berry.h"
#include "mail_data.h"
const u8 Str_842E238[] = _("タマゴ");
#if DEBUG
extern u8 gUnknown_Debug_845DAE1[];
extern u8 gUnknown_Debug_845DAE1End[];
size_t debug_sub_813C404(u8 * dest)
{
size_t size = gUnknown_Debug_845DAE1End - gUnknown_Debug_845DAE1;
memcpy(dest, gUnknown_Debug_845DAE1, size);
debug_sub_812620C(dest, gUnknown_Debug_845DAE1);
return size;
}
extern u8 gUnknown_Debug_845E3E0[];
extern u8 gUnknown_Debug_845E3E0End[];
size_t debug_sub_813C430(u8 * dest)
{
size_t size = gUnknown_Debug_845E3E0End - gUnknown_Debug_845E3E0;
memcpy(dest, gUnknown_Debug_845E3E0, size);
debug_sub_812620C(dest, gUnknown_Debug_845E3E0);
return size;
}
extern u8 gUnknown_Debug_845E422[];
extern u8 gUnknown_Debug_845E422End[];
size_t debug_sub_813C45C(u8 * dest)
{
size_t size = gUnknown_Debug_845E422End - gUnknown_Debug_845E422;
memcpy(dest, gUnknown_Debug_845E422, size);
debug_sub_812620C(dest, gUnknown_Debug_845E422);
return size;
}
extern u8 gUnknown_Debug_845E402[];
extern u8 gUnknown_Debug_845E402End[];
size_t debug_sub_813C488(u8 * dest)
{
size_t size = gUnknown_Debug_845E402End - gUnknown_Debug_845E402;
memcpy(dest, gUnknown_Debug_845E402, size);
debug_sub_812620C(dest, gUnknown_Debug_845E402);
return size;
}
extern u8 gUnknown_Debug_845E606[];
extern u8 gUnknown_Debug_845E606End[];
size_t debug_sub_813C4B4(u8 * dest)
{
size_t size = gUnknown_Debug_845E606End - gUnknown_Debug_845E606;
memcpy(dest, gUnknown_Debug_845E606, size);
return size;
}
extern u8 gUnknown_Debug_845E619[];
extern u8 gUnknown_Debug_845E619End[];
size_t debug_sub_813C4D4(u8 * dest)
{
size_t size = gUnknown_Debug_845E619End - gUnknown_Debug_845E619;
memcpy(dest, gUnknown_Debug_845E619, size);
debug_sub_81261B4(dest, gUnknown_Debug_845E619);
return size;
}
extern u8 gUnknown_Debug_845E712[];
extern u8 gUnknown_Debug_845E712End[];
size_t debug_sub_813C500(u8 * dest)
{
size_t size = gUnknown_Debug_845E712End - gUnknown_Debug_845E712;
memcpy(dest, gUnknown_Debug_845E712, size);
debug_sub_812620C(dest, gUnknown_Debug_845E712);
return size;
}
extern u8 gUnknown_Debug_845E797[];
extern u8 gUnknown_Debug_845E797End[];
extern u8 gUnknown_Debug_845E7B5[];
size_t debug_sub_813C52C(u8 * dest, u16 itemId)
{
u8 * ptr;
size_t size = gUnknown_Debug_845E797End - gUnknown_Debug_845E797;
memcpy(dest, gUnknown_Debug_845E797, size);
ptr = gUnknown_Debug_845E7B5 - gUnknown_Debug_845E797 + dest;
ptr += 3;
ptr[0] = itemId;
ptr[1] = itemId >> 8;
debug_sub_812620C(dest, gUnknown_Debug_845E797);
return size;
}
size_t debug_sub_813C580(u8 * dest)
{
return debug_sub_813C52C(dest, ITEM_POTION);
}
size_t debug_sub_813C58C(u8 * dest)
{
return debug_sub_813C52C(dest, ITEM_POKE_BALL);
}
size_t debug_sub_813C598(u8 * dest)
{
return debug_sub_813C52C(dest, ITEM_CHERI_BERRY);
}
size_t debug_sub_813C5A4(u8 * dest)
{
return debug_sub_813C52C(dest, ITEM_TM01_FOCUS_PUNCH);
}
extern u8 gUnknown_Debug_845DDB2[];
extern u8 gUnknown_Debug_845DDB2End[];
extern u8 gUnknown_Debug_845DDD6[];
const u8 Str_842E23C[] = _("ガイブ");
size_t debug_sub_813C5B4(u8 * dest)
{
u8 * saveBerry = (u8 *)&gSaveBlock1.enigmaBerry;
u8 * berry = (u8 *)(dest - gUnknown_Debug_845DDB2 + gUnknown_Debug_845DDD6);
size_t size = gUnknown_Debug_845DDB2End - gUnknown_Debug_845DDB2;
int i;
debug_sub_80C2C18(Str_842E23C, 0, 0);
for (i = 0; i < 0x1000; i++)
dest[i] = 0;
for (i = 0; i < size; i++)
dest[i] = gUnknown_Debug_845DDB2[i];
for (i = 0; i < sizeof(struct EnigmaBerry); i++)
berry[i] = saveBerry[i];
ClearEnigmaBerries();
debug_sub_81261B4(dest, gUnknown_Debug_845DDB2);
return size;
}
const u8 Str_842E240[] = _("ENGLISH");
const u8 Str_842E248[] = _("TOURNAMENT");
void debug_sub_813C638(struct Pokemon * mon, u16 species, u8 level, u16 itemId)
{
u32 _itemId;
ZeroMonData(mon);
CreateMon(mon, species, level, 32, FALSE, 0, TRUE, 9999);
SetMonData(mon, MON_DATA_OT_NAME, Str_842E240);
SetMonData(mon, MON_DATA_NICKNAME, Str_842E248);
_itemId = itemId;
SetMonData(mon, MON_DATA_HELD_ITEM, &_itemId);
}
void debug_sub_813C6AC(struct Pokemon *mon, struct MailStruct *mail)
{
u16 itemId;
ClearMailStruct(mail);
itemId = GetMonData(mon, MON_DATA_HELD_ITEM);
if (ItemIsMail(itemId))
{
u8 * name = mail->playerName;
u8 * id = mail->trainerId;
u8 nameBuf[8];
int i;
for (i = 0; i < 9; i++)
mail->words[i] = i + 1;
GetMonData(mon, MON_DATA_OT_NAME, nameBuf);
StringCopyN(name, nameBuf, OT_NAME_LENGTH + 1);
write_word_to_mem(GetMonData(mon, MON_DATA_OT_ID), id);
mail->species = SpeciesToMailSpecies(GetMonData(mon, MON_DATA_SPECIES), GetMonData(mon, MON_DATA_PERSONALITY));
mail->itemId = itemId;
}
}
extern u8 gUnknown_Debug_845E443[];
extern u8 gUnknown_Debug_845E443End[];
extern u8 gUnknown_Debug_845E467[];
extern u8 gUnknown_Debug_845E4CB[];
size_t debug_sub_813C740(u8 * dest)
{
struct MailStruct mail;
u8 * src = gUnknown_Debug_845E443;
u8 * end = gUnknown_Debug_845E443End;
struct Pokemon *mon = gEnemyParty;
size_t size = end - src;
u8 dataBuffer[11];
memcpy(dest, src, size);
debug_sub_813C638(mon, SPECIES_PIKACHU, 5, ITEM_NONE);
dataBuffer[0] = TRUE;
SetMonData(mon, MON_DATA_IS_EGG, dataBuffer);
dataBuffer[0] = 3;
SetMonData(mon, MON_DATA_FRIENDSHIP, dataBuffer);
dataBuffer[0] = 255;
SetMonData(mon, MON_DATA_MET_LOCATION, dataBuffer);
StringCopyN(dataBuffer, Str_842E238, POKEMON_NAME_LENGTH + 1);
SetMonData(mon, MON_DATA_NICKNAME, dataBuffer);
dataBuffer[0] = LANGUAGE_JAPANESE;
SetMonData(mon, MON_DATA_LANGUAGE, dataBuffer);
memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon));
memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct));
return size;
}
size_t debug_sub_813C810(u8 * dest)
{
struct MailStruct mail;
u8 * src = gUnknown_Debug_845E443;
u8 * end = gUnknown_Debug_845E443End;
struct Pokemon *mon = gEnemyParty;
size_t size = end - src;
memcpy(dest, src, size);
debug_sub_813C638(mon, SPECIES_UNOWN, 21, ITEM_DREAM_MAIL);
debug_sub_813C6AC(mon, &mail);
memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon));
memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct));
debug_sub_812620C(dest, src);
return size;
}
size_t debug_sub_813C888(u8 * dest)
{
struct MailStruct mail;
u8 * src = gUnknown_Debug_845E443;
u8 * end = gUnknown_Debug_845E443End;
struct Pokemon *mon = gEnemyParty;
size_t size = end - src;
memcpy(dest, src, size);
debug_sub_813C638(mon, SPECIES_UNOWN, 21, ITEM_DREAM_MAIL);
debug_sub_813C6AC(mon, &mail);
mon->box.checksum = 0;
memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon));
memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct));
debug_sub_812620C(dest, src);
return size;
}
void debug_sub_813C904(void)
{
debug_sub_813C638(gPlayerParty + 0, SPECIES_CHARMELEON, 50, ITEM_QUICK_CLAW);
debug_sub_813C638(gPlayerParty + 1, SPECIES_WARTORTLE, 50, ITEM_FOCUS_BAND);
debug_sub_813C638(gPlayerParty + 2, SPECIES_IVYSAUR, 50, ITEM_LUM_BERRY);
}
extern u8 gUnknown_Debug_845E4EF[];
extern u8 gUnknown_Debug_845E4EFEnd[];
extern u8 gUnknown_Debug_845E506[];
const u8 Str_842E253[] = _(" そら  カードイー");
size_t debug_sub_813C93C(u8 * dest)
{
u8 * src = gUnknown_Debug_845E4EF;
size_t size = gUnknown_Debug_845E4EFEnd - src;
struct BattleTowerEReaderTrainer ereaderTrainer;
memcpy(dest, src, size);
SavePlayerParty();
debug_sub_813C904();
debug_sub_8075DB4(&ereaderTrainer, Str_842E253 + 5, 9999);
LoadPlayerParty();
memcpy(gUnknown_Debug_845E506 - src + dest, &ereaderTrainer, sizeof(ereaderTrainer));
return size;
}
const u8 Str_842E25E[] = _("ポケコッコ");
const u8 Str_842E264[] = _("ticket");
const u8 Str_842E26B[] = _("{PKMN}");
const u8 Str_842E26E[] = _("wrong {PKMN}");
const u8 Str_842E277[] = _("ribbon");
const u8 Str_842E27E[] = _("DEX");
const u8 Str_842E282[] = _("message");
const u8 Str_842E28A[] = _("egg");
const u8 Str_842E28E[] = _("RAM seed");
const u8 Str_842E297[] = _("trainer");
const u8 Str_842E29F[] = _("clock");
const u8 Str_842E2A5[] = _("item");
const u8 Str_842E2AA[] = _("goods");
const u8 Str_842E2B0[] = _("potion");
const u8 Str_842E2B7[] = _("ball");
const u8 Str_842E2BC[] = _("cheri berry");
const u8 Str_842E2C8[] = _("TM01");
const struct UnkDebugMenu3Items gUnknown_Debug_842E2D0[] = {
{Str_842E264, debug_sub_813C404},
{Str_842E26B, debug_sub_813C810},
{Str_842E26E, debug_sub_813C888},
{Str_842E277, debug_sub_813C430},
{Str_842E27E, debug_sub_813C488},
{Str_842E282, debug_sub_813C45C},
{Str_842E28A, debug_sub_813C740},
{Str_842E28E, debug_sub_813C5B4},
{Str_842E297, debug_sub_813C93C},
{Str_842E29F, debug_sub_813C4B4},
{Str_842E2A5, debug_sub_813C4D4},
{Str_842E2AA, debug_sub_813C500},
{Str_842E2B0, debug_sub_813C580},
{Str_842E2B7, debug_sub_813C58C},
{Str_842E2BC, debug_sub_813C598},
{Str_842E2C8, debug_sub_813C5A4}
};
extern u8 gUnknown_Debug_845E306[];
const u8 gUnknown_Debug_842E350 = 16;
u8 *const gUnknown_Debug_842E354[] = {
gUnknown_Debug_845DAE1,
gUnknown_Debug_845DDB2,
gUnknown_Debug_845E306,
gUnknown_Debug_845E3E0,
gUnknown_Debug_845E3E0,
gUnknown_Debug_845E402,
gUnknown_Debug_845E402,
gUnknown_Debug_845E422,
gUnknown_Debug_845E422,
gUnknown_Debug_845E443
};
#endif // DEBUG