Document some Quest Log

This commit is contained in:
GriffinR
2020-01-14 21:27:45 -05:00
parent 2f81b4a204
commit 04d176334a
126 changed files with 2157 additions and 2068 deletions
+32 -30
View File
@@ -6,6 +6,7 @@
#include "link.h"
#include "overworld.h"
#include "quest_log.h"
#include "constants/trainer_classes.h"
struct QuestLogStruct_TrainerBattleRecord
{
@@ -18,20 +19,20 @@ struct QuestLogStruct_TrainerBattleRecord
struct QuestLogStruct_WildBattleRecord
{
u16 v0;
u16 v2;
u8 v4;
u16 defeatedSpecies;
u16 caughtSpecies;
u8 mapSec;
};
static void sub_812C334(s32 *, s32 *);
void sub_812BFDC(void)
void TrySetQuestLogBattleEvent(void)
{
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_OLD_MAN_TUTORIAL | BATTLE_TYPE_POKEDUDE)) && (gBattleOutcome == B_OUTCOME_WON || gBattleOutcome == B_OUTCOME_CAUGHT))
{
struct QuestLogStruct_TrainerBattleRecord * questLogTrainerBattleRecord = Alloc(sizeof(struct QuestLogStruct_TrainerBattleRecord));
struct QuestLogStruct_WildBattleRecord * questLogWildBattleRecord = Alloc(sizeof(struct QuestLogStruct_WildBattleRecord));
u16 questLogMessageType;
u16 eventId;
u16 playerEndingHP;
u16 playerMaxHP;
@@ -39,17 +40,17 @@ void sub_812BFDC(void)
{
switch (gTrainers[gTrainerBattleOpponent_A].trainerClass)
{
case 0x54:
questLogMessageType = 30;
case CLASS_LEADER_2:
eventId = QL_EVENT_DEFEATED_GYM_LEADER;
break;
case 0x5a:
questLogMessageType = 33;
case CLASS_CHAMPION_2:
eventId = QL_EVENT_DEFEATED_CHAMPION;
break;
case 0x57:
questLogMessageType = 32;
case CLASS_ELITE_FOUR_2:
eventId = QL_EVENT_DEFEATED_E4_MEMBER;
break;
default:
questLogMessageType = 34;
eventId = QL_EVENT_DEFEATED_TRAINER;
break;
}
questLogTrainerBattleRecord->v0 = gTrainerBattleOpponent_A;
@@ -78,22 +79,22 @@ void sub_812BFDC(void)
questLogTrainerBattleRecord->v6 = 1;
if (playerEndingHP < playerMaxHP / 3)
questLogTrainerBattleRecord->v6++;
sub_8113550(questLogMessageType, (const u16 *)questLogTrainerBattleRecord);
SetQuestLogEvent(eventId, (const u16 *)questLogTrainerBattleRecord);
}
else
{
if (gBattleOutcome == B_OUTCOME_WON)
{
questLogWildBattleRecord->v0 = GetMonData(gEnemyParty + 0, MON_DATA_SPECIES);
questLogWildBattleRecord->v2 = SPECIES_NONE;
questLogWildBattleRecord->defeatedSpecies = GetMonData(gEnemyParty, MON_DATA_SPECIES);
questLogWildBattleRecord->caughtSpecies = SPECIES_NONE;
}
else
else // gBattleOutcome == B_OUTCOME_CAUGHT
{
questLogWildBattleRecord->v0 = SPECIES_NONE;
questLogWildBattleRecord->v2 = GetMonData(gEnemyParty + 0, MON_DATA_SPECIES);
questLogWildBattleRecord->defeatedSpecies = SPECIES_NONE;
questLogWildBattleRecord->caughtSpecies = GetMonData(gEnemyParty, MON_DATA_SPECIES);
}
questLogWildBattleRecord->v4 = GetCurrentRegionMapSectionId();
sub_8113550(31, (const u16 *)questLogWildBattleRecord);
questLogWildBattleRecord->mapSec = GetCurrentRegionMapSectionId();
SetQuestLogEvent(QL_EVENT_DEFEATED_WILD_MON, (const u16 *)questLogWildBattleRecord);
}
Free(questLogTrainerBattleRecord);
Free(questLogWildBattleRecord);
@@ -106,13 +107,13 @@ struct QuestLogStruct_LinkBattleRecord
u8 v1[3][7];
};
void sub_812C224(void)
void TrySetQuestLogLinkBattleEvent(void)
{
s32 sp0;
s32 sp4[2];
u16 r8;
u16 eventId;
s32 r3;
u32 r0;
bool32 inUnionRoom;
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
@@ -120,7 +121,7 @@ void sub_812C224(void)
r5->v0 = gBattleOutcome - 1; // 0 = won, 1 = lost, 2 = drew
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
r8 = 15;
eventId = QL_EVENT_LINK_BATTLED_MULTI;
sub_812C334(&sp0, sp4);
for (r3 = 0; r3 < 7; r3++)
{
@@ -132,20 +133,21 @@ void sub_812C224(void)
else
{
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
r8 = 14;
eventId = QL_EVENT_LINK_BATTLED_DOUBLE;
else
{
r0 = InUnionRoom();
r8 = 13;
if (r0 == TRUE)
r8 = 19;
inUnionRoom = InUnionRoom();
eventId = QL_EVENT_LINK_BATTLED_SINGLE;
if (inUnionRoom == TRUE)
eventId = QL_EVENT_LINK_BATTLED_UNION;
}
for (r3 = 0; r3 < 7; r3++)
{
r5->v1[0][r3] = gLinkPlayers[gBattleStruct->multiplayerId ^ 1].name[r3];
}
}
sub_8113550(r8, (const u16 *)r5);
SetQuestLogEvent(eventId, (const u16 *)r5);
Free(r5);
}
}