Misc. renaming (#563)

This commit is contained in:
Eduardo Quezada
2025-06-22 15:26:05 -04:00
committed by GitHub
parent 72a1bfa7ce
commit 2aa4190007
14 changed files with 257 additions and 263 deletions

View File

@@ -1,7 +1,7 @@
#ifndef POKEPLATINUM_OV16_0223DF00_H
#define POKEPLATINUM_OV16_0223DF00_H
#include "constants/time.h"
#include "constants/rtc.h"
#include "struct_decls/battle_system.h"
#include "struct_decls/pc_boxes_decl.h"
@@ -151,7 +151,7 @@ PCBoxes *ov16_0223E228(BattleSystem *battleSys);
* @return The battle's terrain.
*/
enum BattleTerrain BattleSystem_Terrain(BattleSystem *battleSys);
int ov16_0223E240(BattleSystem *battleSys);
enum BattleBackground BattleSystem_Background(BattleSystem *battleSys);
int BattleSystem_MapHeader(BattleSystem *battleSys);
int BattleSystem_Partner(BattleSystem *battleSys, int param1);
@@ -188,7 +188,7 @@ u32 BattleSystem_BattleStatus(BattleSystem *battleSys);
* @param battleSys
* @return The time of day (e.g., morning, day, night)
*/
enum Time BattleSystem_Time(BattleSystem *battleSys);
enum TimeOfDay BattleSystem_Time(BattleSystem *battleSys);
int ov16_0223EC04(BattleSystem *battleSys);
u8 ov16_0223EC58(BattleSystem *battleSys, int param1, u8 param2);
u16 Battle_FindEvolvingPartyMember(FieldBattleDTO *param0, int *param1, int *param2);

View File

@@ -1,12 +0,0 @@
#ifndef POKEPLATINUM_CONSTANTS_TIME_H
#define POKEPLATINUM_CONSTANTS_TIME_H
enum Time {
TIME_MORNING = 0,
TIME_DAY,
TIME_DUSK,
TIME_NIGHT,
TIME_MIDNIGHT,
};
#endif // POKEPLATINUM_CONSTANTS_TIME_H

View File

@@ -2,6 +2,7 @@
#define POKEPLATINUM_FIELD_BATTLE_DATA_TRANSFER_H
#include "constants/battle.h"
#include "generated/evolution_methods.h"
#include "generated/map_headers.h"
#include "struct_decls/pc_boxes_decl.h"
@@ -49,13 +50,13 @@ typedef struct FieldBattleDTO {
BattleRecords battleRecords;
GameRecords *records;
JournalEntry *journalEntry;
PalPad *unk_124;
int background;
PalPad *palPad;
enum BattleBackground background;
enum BattleTerrain terrain;
int mapLabelTextID;
int mapHeaderID;
enum TimeOfDay timeOfDay;
int mapEvolutionMethod;
enum EvolutionMethod mapEvolutionMethod;
BOOL visitedContestHall;
BOOL metBebe;
int caughtBattlerIdx;

View File

@@ -1,6 +1,7 @@
#ifndef POKEPLATINUM_MAP_HEADER_H
#define POKEPLATINUM_MAP_HEADER_H
#include "generated/battle_backgrounds.h"
#include "generated/evolution_methods.h"
typedef struct {
@@ -42,7 +43,7 @@ u32 MapHeader_GetMapLabelTextID(u32 headerID);
u8 MapHeader_GetMapLabelWindowID(u32 headerID);
u32 MapHeader_GetWeatherType(u32 headerID);
u32 MapHeader_GetCameraType(u32 headerID);
u32 MapHeader_GetBattleBG(u32 headerID);
enum BattleBackground MapHeader_GetBattleBG(u32 headerID);
BOOL MapHeader_IsEscapeRopeAllowed(u32 headerID);
BOOL MapHeader_IsFlyAllowed(u32 headerID);
BOOL MapHeader_IsBikeAllowed(u32 headerID);

View File

@@ -4,7 +4,7 @@
#include <nnsys.h>
#include "constants/battle.h"
#include "constants/time.h"
#include "constants/rtc.h"
#include "struct_decls/pc_boxes_decl.h"
#include "struct_decls/pokedexdata_decl.h"
@@ -79,7 +79,7 @@ struct BattleSystem {
UnkStruct_0200C440 *unk_1A8;
void *unk_1AC;
Options *options;
PalPad *unk_1B4;
PalPad *palPad;
WaitDial *waitDial;
u8 *unk_1BC;
UnkStruct_ov10_0221F800 *unk_1C0;
@@ -111,17 +111,17 @@ struct BattleSystem {
u8 unk_23FB_3 : 2;
u8 unk_23FB_5 : 3;
enum BattleTerrain terrain;
int unk_2400;
enum BattleBackground background;
int mapHeader;
u32 battleStatusMask;
enum Time time;
enum TimeOfDay time;
int safariBalls;
u8 unk_2414[4];
u32 unk_2418;
u8 resultMask;
u8 unk_241D;
u16 unk_241E;
int unk_2420;
enum EvolutionMethod mapEvolutionMethod;
int unk_2424;
int fieldWeather;
int unk_242C;

View File

@@ -5050,7 +5050,7 @@ static void ov16_02263014(SysTask *param0, void *param1)
v1 = BattleSystem_BGL(v0->unk_00);
v2 = BattleSystem_PaletteSys(v0->unk_00);
v3 = BattleSystem_Terrain(v0->unk_00);
v4 = Unk_ov16_0226F1D0[ov16_0223E240(v0->unk_00)];
v4 = Unk_ov16_0226F1D0[BattleSystem_Background(v0->unk_00)];
v0->unk_15++;
@@ -6124,8 +6124,8 @@ static void ov16_02264408(BattleSystem *battleSys, BattlerData *param1, UnkStruc
v0.unk_70 = ov16_0223F1E8(battleSys);
v0.unk_74 = ov16_0223F1F0(battleSys);
v0.unk_54.unk_00 = 7;
v0.unk_54.unk_04 = 3 + ov16_0223E240(battleSys);
v0.unk_54.unk_08 = 172 + ov16_0223E240(battleSys) * 3 + ov16_0223EC04(battleSys);
v0.unk_54.unk_04 = 3 + BattleSystem_Background(battleSys);
v0.unk_54.unk_08 = 172 + BattleSystem_Background(battleSys) * 3 + ov16_0223EC04(battleSys);
v0.unk_54.unk_0C = 2;
v0.unk_54.unk_10 = 0;
v0.unk_54.unk_14 = 8;

View File

@@ -6,6 +6,7 @@
#include "constants/items.h"
#include "constants/narc.h"
#include "constants/pokemon.h"
#include "constants/rtc.h"
#include "constants/species.h"
#include "constants/trainer.h"
#include "generated/abilities.h"
@@ -11190,8 +11191,8 @@ static int BattleScript_CalcCatchShakes(BattleSystem *battleSys, BattleContext *
break;
case ITEM_DUSK_BALL:
if (BattleSystem_Time(battleSys) == TIME_NIGHT
|| BattleSystem_Time(battleSys) == TIME_MIDNIGHT
if (BattleSystem_Time(battleSys) == TIMEOFDAY_NIGHT
|| BattleSystem_Time(battleSys) == TIMEOFDAY_LATE_NIGHT
|| BattleSystem_Terrain(battleSys) == TERRAIN_CAVE) {
ballMod = 35;
}

View File

@@ -444,8 +444,8 @@ void ov16_0223B578(BattleSystem *battleSys)
v1 = ov16_0223EDE0(battleSys);
ReplaceTransparentTiles(battleSys->unk_04, 1, 1, 10, v1, 5);
Graphics_LoadTilesToBgLayer(7, 3 + battleSys->unk_2400, battleSys->unk_04, 3, 0, 0, 1, HEAP_ID_BATTLE);
PaletteData_LoadBufferFromFileStart(battleSys->paletteSys, 7, 172 + (battleSys->unk_2400 * 3) + ov16_0223EC04(battleSys), 5, 0, 0, 0);
Graphics_LoadTilesToBgLayer(7, 3 + battleSys->background, battleSys->unk_04, 3, 0, 0, 1, HEAP_ID_BATTLE);
PaletteData_LoadBufferFromFileStart(battleSys->paletteSys, 7, 172 + (battleSys->background * 3) + ov16_0223EC04(battleSys), 5, 0, 0, 0);
PaletteData_LoadBufferFromFileStart(battleSys->paletteSys, 38, GetMessageBoxPaletteNARCMember(v1), 5, 0, 0x20, 10 * 0x10);
PaletteData_LoadBufferFromFileStart(battleSys->paletteSys, 14, 7, 5, 0, 0x20, 0xb * 0x10);
Graphics_LoadTilemapToBgLayer(7, 2, battleSys->unk_04, 3, 0, 0, 1, HEAP_ID_BATTLE);
@@ -488,31 +488,33 @@ void BattleSystem_LoadFightOverlay(BattleSystem *battleSys, int flags)
}
}
// clang-format off
static const int Unk_ov16_0226E44C[][3] = {
{ 0x7b51, GX_RGB(30, 17, 0), GX_RGB(0, 16, 23) },
{ 0x7b51, GX_RGB(30, 17, 0), GX_RGB(0, 16, 23) },
{ 0x7b51, GX_RGB(30, 17, 0), GX_RGB(0, 16, 23) },
{ GX_RGB(11, 21, 5), GX_RGB(11, 21, 5), GX_RGB(11, 21, 5) },
{ 0x7b51, GX_RGB(30, 17, 0), GX_RGB(0, 16, 23) },
{ GX_RGB(31, 26, 31), GX_RGB(31, 26, 22), GX_RGB(24, 22, 22) },
{ 0x7fff, 0x7fff, 0x7fff },
{ 0x7fff, 0x7fff, 0x7fff },
{ 0x7fff, 0x7fff, 0x7fff },
{ GX_RGB(5, 5, 7), GX_RGB(5, 5, 7), GX_RGB(5, 5, 7) },
{ GX_RGB(5, 5, 7), GX_RGB(5, 5, 7), GX_RGB(5, 5, 7) },
{ GX_RGB(5, 5, 7), GX_RGB(5, 5, 7), GX_RGB(5, 5, 7) },
{ 0x7fff, 0x7fff, 0x7fff },
{ 0x7fff, 0x7fff, 0x7fff },
{ 0x7fff, 0x7fff, 0x7fff },
{ 0x7fff, 0x7fff, 0x7fff },
{ 0x7fff, 0x7fff, 0x7fff },
{ 0x7fff, 0x7fff, 0x7fff },
{ 0x7fff, 0x7fff, 0x7fff },
{ 0x7fff, 0x7fff, 0x7fff },
{ 0x7fff, 0x7fff, 0x7fff },
{ 0x7fff, 0x7fff, 0x7fff },
{ 0x7fff, 0x7fff, 0x7fff },
[BACKGROUND_PLAIN] = { GX_RGB(17, 26, 30), GX_RGB(30, 17, 0), GX_RGB(0, 16, 23) },
[BACKGROUND_WATER] = { GX_RGB(17, 26, 30), GX_RGB(30, 17, 0), GX_RGB(0, 16, 23) },
[BACKGROUND_CITY] = { GX_RGB(17, 26, 30), GX_RGB(30, 17, 0), GX_RGB(0, 16, 23) },
[BACKGROUND_FOREST] = { GX_RGB(11, 21, 5), GX_RGB(11, 21, 5), GX_RGB(11, 21, 5) },
[BACKGROUND_MOUNTAIN] = { GX_RGB(17, 26, 30), GX_RGB(30, 17, 0), GX_RGB(0, 16, 23) },
[BACKGROUND_SNOW] = { GX_RGB(31, 26, 31), GX_RGB(31, 26, 22), GX_RGB(24, 22, 22) },
[BACKGROUND_INDOORS_1] = { GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB(31, 31, 31) },
[BACKGROUND_INDOORS_2] = { GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB(31, 31, 31) },
[BACKGROUND_INDOORS_3] = { GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB(31, 31, 31) },
[BACKGROUND_CAVE_1] = { GX_RGB(5, 5, 7), GX_RGB(5, 5, 7), GX_RGB(5, 5, 7) },
[BACKGROUND_CAVE_2] = { GX_RGB(5, 5, 7), GX_RGB(5, 5, 7), GX_RGB(5, 5, 7) },
[BACKGROUND_CAVE_3] = { GX_RGB(5, 5, 7), GX_RGB(5, 5, 7), GX_RGB(5, 5, 7) },
[BACKGROUND_AARON] = { GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB(31, 31, 31) },
[BACKGROUND_BERTHA] = { GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB(31, 31, 31) },
[BACKGROUND_FLINT] = { GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB(31, 31, 31) },
[BACKGROUND_LUCIAN] = { GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB(31, 31, 31) },
[BACKGROUND_CYNTHIA] = { GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB(31, 31, 31) },
[BACKGROUND_DISTORTION_WORLD] = { GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB(31, 31, 31) },
[BACKGROUND_BATTLE_TOWER] = { GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB(31, 31, 31) },
[BACKGROUND_BATTLE_FACTORY] = { GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB(31, 31, 31) },
[BACKGROUND_BATTLE_ARCADE] = { GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB(31, 31, 31) },
[BACKGROUND_BATTLE_CASTLE] = { GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB(31, 31, 31) },
[BACKGROUND_BATTLE_HALL] = { GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB(31, 31, 31) },
};
// clang-format on
static void ov16_0223B790(ApplicationManager *appMan)
{
@@ -624,9 +626,9 @@ static void ov16_0223B790(ApplicationManager *appMan)
int v10;
v10 = ov16_0223EC04(battleSys);
PaletteData_FillBufferRange(battleSys->paletteSys, 0, 2, Unk_ov16_0226E44C[battleSys->unk_2400][v10], 0, 112);
PaletteData_FillBufferRange(battleSys->paletteSys, 0, 2, Unk_ov16_0226E44C[battleSys->unk_2400][v10], 0xc * 16, 0xc * 16 + 4 * 16);
PaletteData_FillBufferRange(battleSys->paletteSys, 2, 2, Unk_ov16_0226E44C[battleSys->unk_2400][v10], 0, ((16 - 2) * 16) - 1);
PaletteData_FillBufferRange(battleSys->paletteSys, 0, 2, Unk_ov16_0226E44C[battleSys->background][v10], 0, 112);
PaletteData_FillBufferRange(battleSys->paletteSys, 0, 2, Unk_ov16_0226E44C[battleSys->background][v10], 0xc * 16, 0xc * 16 + 4 * 16);
PaletteData_FillBufferRange(battleSys->paletteSys, 2, 2, Unk_ov16_0226E44C[battleSys->background][v10], 0, ((16 - 2) * 16) - 1);
}
PaletteData_FillBufferRange(battleSys->paletteSys, 0, 0, 0x0, 0xa * 16, 0xa * 16 + 2 * 16);
@@ -928,8 +930,8 @@ static void ov16_0223C004(BattleSystem *battleSys, BgConfig *param1)
v3 = ov16_0223EDE0(battleSys);
ReplaceTransparentTiles(param1, 1, 1, 10, v3, 5);
Graphics_LoadTilesToBgLayer(7, 3 + battleSys->unk_2400, param1, 3, 0, 0, 1, HEAP_ID_BATTLE);
PaletteData_LoadBufferFromFileStart(battleSys->paletteSys, 7, 172 + (battleSys->unk_2400 * 3) + ov16_0223EC04(battleSys), 5, 0, 0, 0);
Graphics_LoadTilesToBgLayer(7, 3 + battleSys->background, param1, 3, 0, 0, 1, HEAP_ID_BATTLE);
PaletteData_LoadBufferFromFileStart(battleSys->paletteSys, 7, 172 + (battleSys->background * 3) + ov16_0223EC04(battleSys), 5, 0, 0, 0);
PaletteData_LoadBufferFromFileStart(battleSys->paletteSys, 38, GetMessageBoxPaletteNARCMember(v3), 5, 0, 0x20, 10 * 0x10);
PaletteData_LoadBufferFromFileStart(battleSys->paletteSys, 14, 7, 5, 0, 0x20, 0xb * 0x10);
Graphics_LoadTilemapToBgLayer(7, 2, param1, 3, 0, 0, 1, HEAP_ID_BATTLE);
@@ -1053,75 +1055,75 @@ static const u8 Unk_ov16_0226E28C[][4] = {
},
};
static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *param1)
static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto)
{
int v0, v1;
int i, v1;
UnkStruct_ov16_0223C2C0 v2;
Pokemon *v3;
Pokemon *v4;
battleSys->battleType = param1->battleType;
battleSys->battleType = dto->battleType;
for (v0 = 0; v0 < 4; v0++) {
battleSys->trainerInfo[v0] = TrainerInfo_New(5);
TrainerInfo_Copy(param1->trainerInfo[v0], battleSys->trainerInfo[v0]);
battleSys->unk_78[v0] = param1->chatotCries[v0];
for (i = 0; i < 4; i++) {
battleSys->trainerInfo[i] = TrainerInfo_New(5);
TrainerInfo_Copy(dto->trainerInfo[i], battleSys->trainerInfo[i]);
battleSys->unk_78[i] = dto->chatotCries[i];
}
battleSys->unk_2442 = param1->networkID;
battleSys->unk_2442 = dto->networkID;
for (v0 = 0; v0 < 4; v0++) {
battleSys->unk_2464[v0] = param1->unk_178[v0];
for (i = 0; i < 4; i++) {
battleSys->unk_2464[i] = dto->unk_178[i];
}
battleSys->unk_2430 = LCRNG_GetSeed();
battleSys->unk_2444 = param1->seed;
battleSys->unk_2448 = param1->seed;
battleSys->battleStatusMask = param1->battleStatusMask;
battleSys->unk_2444 = dto->seed;
battleSys->unk_2448 = dto->seed;
battleSys->battleStatusMask = dto->battleStatusMask;
battleSys->bag = Bag_New(HEAP_ID_BATTLE);
Bag_Copy(param1->bag, battleSys->bag);
Bag_Copy(dto->bag, battleSys->bag);
battleSys->pokedex = Pokedex_New(HEAP_ID_BATTLE);
Pokedex_Copy(param1->pokedex, battleSys->pokedex);
Pokedex_Copy(dto->pokedex, battleSys->pokedex);
battleSys->pcBoxes = param1->pcBoxes;
battleSys->options = param1->options;
battleSys->unk_1B4 = param1->unk_124;
battleSys->bagCursor = param1->bagCursor;
battleSys->unk_1BC = param1->subscreenCursorOn;
battleSys->poketch = param1->poketch;
battleSys->unk_2420 = param1->mapEvolutionMethod;
battleSys->unk_9C = param1->unk_10C;
battleSys->safariBalls = param1->countSafariBalls;
battleSys->terrain = param1->terrain;
battleSys->unk_2400 = param1->background;
battleSys->mapHeader = param1->mapLabelTextID;
battleSys->time = param1->timeOfDay;
battleSys->unk_2418 = param1->rulesetMask;
battleSys->unk_2424 = param1->visitedContestHall;
battleSys->unk_242C = param1->metBebe;
battleSys->fieldWeather = param1->fieldWeather;
battleSys->records = param1->records;
battleSys->pcBoxes = dto->pcBoxes;
battleSys->options = dto->options;
battleSys->palPad = dto->palPad;
battleSys->bagCursor = dto->bagCursor;
battleSys->unk_1BC = dto->subscreenCursorOn;
battleSys->poketch = dto->poketch;
battleSys->mapEvolutionMethod = dto->mapEvolutionMethod;
battleSys->unk_9C = dto->unk_10C;
battleSys->safariBalls = dto->countSafariBalls;
battleSys->terrain = dto->terrain;
battleSys->background = dto->background;
battleSys->mapHeader = dto->mapLabelTextID;
battleSys->time = dto->timeOfDay;
battleSys->unk_2418 = dto->rulesetMask;
battleSys->unk_2424 = dto->visitedContestHall;
battleSys->unk_242C = dto->metBebe;
battleSys->fieldWeather = dto->fieldWeather;
battleSys->records = dto->records;
GF_ASSERT(param1->records != NULL);
GF_ASSERT(dto->records != NULL);
for (v0 = 0; v0 < 4; v0++) {
battleSys->trainerIDs[v0] = param1->trainerIDs[v0];
battleSys->trainers[v0] = param1->trainer[v0];
for (i = 0; i < 4; i++) {
battleSys->trainerIDs[i] = dto->trainerIDs[i];
battleSys->trainers[i] = dto->trainer[i];
}
battleSys->battleCtx = BattleContext_New(battleSys);
for (v0 = 0; v0 < 4; v0++) {
battleSys->parties[v0] = Party_New(HEAP_ID_BATTLE);
for (i = 0; i < 4; i++) {
battleSys->parties[i] = Party_New(HEAP_ID_BATTLE);
}
{
int v5;
for (v0 = 0; v0 < 4; v0++) {
for (v1 = 0; v1 < Party_GetCurrentCount(param1->parties[v0]); v1++) {
v3 = Party_GetPokemonBySlotIndex(param1->parties[v0], v1);
for (i = 0; i < 4; i++) {
for (v1 = 0; v1 < Party_GetCurrentCount(dto->parties[i]); v1++) {
v3 = Party_GetPokemonBySlotIndex(dto->parties[i], v1);
v5 = Pokemon_GetGender(v3);
Pokemon_SetValue(v3, MON_DATA_GENDER, &v5);
}
@@ -1134,82 +1136,82 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *param1)
u8 v6 = ov16_0223F6E4(battleSys);
int v7;
ov16_0223DD90(battleSys, param1);
ov16_0223DD90(battleSys, dto);
if (battleSys->battleType & BATTLE_TYPE_FRONTIER) {
for (v0 = 0; v0 < 4; v0++) {
v2.unk_00 = v0;
v2.unk_01 = Unk_ov16_0226E560[v0];
battleSys->battlers[v0] = ov16_0225BFFC(battleSys, &v2);
for (i = 0; i < 4; i++) {
v2.unk_00 = i;
v2.unk_01 = Unk_ov16_0226E560[i];
battleSys->battlers[i] = ov16_0225BFFC(battleSys, &v2);
}
battleSys->maxBattlers = v0;
battleSys->maxBattlers = i;
for (v0 = 0; v0 < 4; v0++) {
ov16_02263730(battleSys, battleSys->battlers[v0]);
Party_Copy(param1->parties[v0], battleSys->parties[v0]);
for (i = 0; i < 4; i++) {
ov16_02263730(battleSys, battleSys->battlers[i]);
Party_Copy(dto->parties[i], battleSys->parties[i]);
}
for (v0 = 0; v0 < battleSys->maxBattlers; v0++) {
for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[v0]); v1++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[v0], v1);
for (i = 0; i < battleSys->maxBattlers; i++) {
for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[i]); v1++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[i], v1);
if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_CURRENT_HP, NULL))) {
break;
}
}
BattleContext_Set(battleSys, battleSys->battleCtx, 2, v0, v1);
BattleContext_Set(battleSys, battleSys->battleCtx, 2, i, v1);
}
BattleSystem_InitPartyOrder(battleSys, battleSys->battleCtx);
} else if (battleSys->battleType & BATTLE_TYPE_2vs2) {
for (v0 = 0; v0 < 4; v0++) {
v2.unk_00 = v0;
v2.unk_01 = Unk_ov16_0226E28C[ov16_0223F6F0(battleSys, v6)][ov16_0223F6F0(battleSys, v0)];
battleSys->battlers[v0] = ov16_0225BFFC(battleSys, &v2);
for (i = 0; i < 4; i++) {
v2.unk_00 = i;
v2.unk_01 = Unk_ov16_0226E28C[ov16_0223F6F0(battleSys, v6)][ov16_0223F6F0(battleSys, i)];
battleSys->battlers[i] = ov16_0225BFFC(battleSys, &v2);
}
battleSys->maxBattlers = v0;
battleSys->maxBattlers = i;
for (v0 = 0; v0 < 4; v0++) {
ov16_02263730(battleSys, battleSys->battlers[v0]);
Party_Copy(param1->parties[v0], battleSys->parties[v0]);
for (i = 0; i < 4; i++) {
ov16_02263730(battleSys, battleSys->battlers[i]);
Party_Copy(dto->parties[i], battleSys->parties[i]);
}
for (v0 = 0; v0 < battleSys->maxBattlers; v0++) {
for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[v0]); v1++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[v0], v1);
for (i = 0; i < battleSys->maxBattlers; i++) {
for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[i]); v1++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[i], v1);
if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_CURRENT_HP, NULL))) {
break;
}
}
BattleContext_Set(battleSys, battleSys->battleCtx, 2, v0, v1);
BattleContext_Set(battleSys, battleSys->battleCtx, 2, i, v1);
}
BattleSystem_InitPartyOrder(battleSys, battleSys->battleCtx);
} else if (battleSys->battleType & BATTLE_TYPE_DOUBLES) {
for (v0 = 0; v0 < 4; v0++) {
v2.unk_00 = v0;
v2.unk_01 = Unk_ov16_0226E264[v6][v0];
battleSys->battlers[v0] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[v0]);
for (i = 0; i < 4; i++) {
v2.unk_00 = i;
v2.unk_01 = Unk_ov16_0226E264[v6][i];
battleSys->battlers[i] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[i]);
}
battleSys->maxBattlers = v0;
battleSys->maxBattlers = i;
for (v0 = 0; v0 < 4; v0++) {
Party_Copy(param1->parties[v0], battleSys->parties[v0]);
for (i = 0; i < 4; i++) {
Party_Copy(dto->parties[i], battleSys->parties[i]);
}
for (v0 = 0; v0 < battleSys->maxBattlers; v0++) {
for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[v0 & 1]); v1++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[v0 & 1], v1);
for (i = 0; i < battleSys->maxBattlers; i++) {
for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[i & 1]); v1++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[i & 1], v1);
if (v0 > 1) {
if ((BattleContext_Get(battleSys, battleSys->battleCtx, 2, v0 & 1) != v1) && (Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_CURRENT_HP, NULL))) {
if (i > 1) {
if ((BattleContext_Get(battleSys, battleSys->battleCtx, 2, i & 1) != v1) && (Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_CURRENT_HP, NULL))) {
break;
}
} else {
@@ -1219,30 +1221,30 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *param1)
}
}
BattleContext_Set(battleSys, battleSys->battleCtx, 2, v0, v1);
BattleContext_Set(battleSys, battleSys->battleCtx, 2, i, v1);
}
} else {
for (v0 = 0; v0 < 2; v0++) {
v2.unk_00 = v0;
v2.unk_01 = Unk_ov16_0226E260[v6][v0];
battleSys->battlers[v0] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[v0]);
for (i = 0; i < 2; i++) {
v2.unk_00 = i;
v2.unk_01 = Unk_ov16_0226E260[v6][i];
battleSys->battlers[i] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[i]);
}
battleSys->maxBattlers = v0;
battleSys->maxBattlers = i;
for (v0 = 0; v0 < 4; v0++) {
Party_Copy(param1->parties[v0], battleSys->parties[v0]);
for (i = 0; i < 4; i++) {
Party_Copy(dto->parties[i], battleSys->parties[i]);
for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[v0]); v1++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[v0], v1);
for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[i]); v1++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[i], v1);
if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_CURRENT_HP, NULL))) {
break;
}
}
BattleContext_Set(battleSys, battleSys->battleCtx, 2, v0, v1);
BattleContext_Set(battleSys, battleSys->battleCtx, 2, i, v1);
}
}
}
@@ -1251,24 +1253,24 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *param1)
{
int v8;
for (v0 = 0; v0 < 4; v0++) {
v2.unk_00 = v0;
v2.unk_01 = Unk_ov16_0226E560[v0];
battleSys->battlers[v0] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[v0]);
for (i = 0; i < 4; i++) {
v2.unk_00 = i;
v2.unk_01 = Unk_ov16_0226E560[i];
battleSys->battlers[i] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[i]);
}
battleSys->maxBattlers = v0;
battleSys->maxBattlers = i;
for (v0 = 0; v0 < 4; v0++) {
Party_Copy(param1->parties[v0], battleSys->parties[v0]);
for (i = 0; i < 4; i++) {
Party_Copy(dto->parties[i], battleSys->parties[i]);
}
for (v0 = 0; v0 < battleSys->maxBattlers; v0++) {
for (v1 = 0; v1 < BattleSystem_PartyCount(battleSys, v0); v1++) {
v3 = BattleSystem_PartyPokemon(battleSys, v0, v1);
for (i = 0; i < battleSys->maxBattlers; i++) {
for (v1 = 0; v1 < BattleSystem_PartyCount(battleSys, i); v1++) {
v3 = BattleSystem_PartyPokemon(battleSys, i, v1);
if (v0 == 2) {
if (i == 2) {
if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_CURRENT_HP, NULL)) && (v8 != v1)) {
break;
}
@@ -1279,9 +1281,9 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *param1)
}
}
BattleContext_Set(battleSys, battleSys->battleCtx, 2, v0, v1);
BattleContext_Set(battleSys, battleSys->battleCtx, 2, i, v1);
if (v0 == 0) {
if (i == 0) {
v8 = v1;
}
}
@@ -1289,53 +1291,53 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *param1)
BattleSystem_InitPartyOrder(battleSys, battleSys->battleCtx);
battleSys->unk_23F8 = 1;
} else if (battleSys->battleType & BATTLE_TYPE_2vs2) {
for (v0 = 0; v0 < 4; v0++) {
v2.unk_00 = v0;
v2.unk_01 = Unk_ov16_0226E560[v0];
battleSys->battlers[v0] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[v0]);
for (i = 0; i < 4; i++) {
v2.unk_00 = i;
v2.unk_01 = Unk_ov16_0226E560[i];
battleSys->battlers[i] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[i]);
}
battleSys->maxBattlers = v0;
battleSys->maxBattlers = i;
for (v0 = 0; v0 < 4; v0++) {
Party_Copy(param1->parties[v0], battleSys->parties[v0]);
for (i = 0; i < 4; i++) {
Party_Copy(dto->parties[i], battleSys->parties[i]);
}
for (v0 = 0; v0 < battleSys->maxBattlers; v0++) {
for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[v0]); v1++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[v0], v1);
for (i = 0; i < battleSys->maxBattlers; i++) {
for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[i]); v1++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[i], v1);
if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_CURRENT_HP, NULL))) {
break;
}
}
BattleContext_Set(battleSys, battleSys->battleCtx, 2, v0, v1);
BattleContext_Set(battleSys, battleSys->battleCtx, 2, i, v1);
}
BattleSystem_InitPartyOrder(battleSys, battleSys->battleCtx);
battleSys->unk_23F8 = 1;
} else if (battleSys->battleType & BATTLE_TYPE_DOUBLES) {
for (v0 = 0; v0 < 4; v0++) {
v2.unk_00 = v0;
v2.unk_01 = Unk_ov16_0226E560[v0];
battleSys->battlers[v0] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[v0]);
for (i = 0; i < 4; i++) {
v2.unk_00 = i;
v2.unk_01 = Unk_ov16_0226E560[i];
battleSys->battlers[i] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[i]);
}
battleSys->maxBattlers = v0;
battleSys->maxBattlers = i;
for (v0 = 0; v0 < 4; v0++) {
Party_Copy(param1->parties[v0], battleSys->parties[v0]);
for (i = 0; i < 4; i++) {
Party_Copy(dto->parties[i], battleSys->parties[i]);
}
for (v0 = 0; v0 < battleSys->maxBattlers; v0++) {
for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[v0 & 1]); v1++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[v0 & 1], v1);
for (i = 0; i < battleSys->maxBattlers; i++) {
for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[i & 1]); v1++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[i & 1], v1);
if (v0 > 1) {
if ((BattleContext_Get(battleSys, battleSys->battleCtx, 2, v0 & 1) != v1) && (Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_CURRENT_HP, NULL))) {
if (i > 1) {
if ((BattleContext_Get(battleSys, battleSys->battleCtx, 2, i & 1) != v1) && (Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_CURRENT_HP, NULL))) {
break;
}
} else {
@@ -1345,33 +1347,33 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *param1)
}
}
BattleContext_Set(battleSys, battleSys->battleCtx, 2, v0, v1);
BattleContext_Set(battleSys, battleSys->battleCtx, 2, i, v1);
}
BattleSystem_InitPartyOrder(battleSys, battleSys->battleCtx);
battleSys->unk_23F8 = 1;
} else {
for (v0 = 0; v0 < 2; v0++) {
v2.unk_00 = v0;
v2.unk_01 = Unk_ov16_0226E25C[v0];
battleSys->battlers[v0] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[v0]);
for (i = 0; i < 2; i++) {
v2.unk_00 = i;
v2.unk_01 = Unk_ov16_0226E25C[i];
battleSys->battlers[i] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[i]);
}
battleSys->maxBattlers = v0;
battleSys->maxBattlers = i;
for (v0 = 0; v0 < 4; v0++) {
Party_Copy(param1->parties[v0], battleSys->parties[v0]);
for (i = 0; i < 4; i++) {
Party_Copy(dto->parties[i], battleSys->parties[i]);
for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[v0]); v1++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[v0], v1);
for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[i]); v1++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[i], v1);
if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_CURRENT_HP, NULL))) {
break;
}
}
BattleContext_Set(battleSys, battleSys->battleCtx, 2, v0, v1);
BattleContext_Set(battleSys, battleSys->battleCtx, 2, i, v1);
}
BattleSystem_InitPartyOrder(battleSys, battleSys->battleCtx);
@@ -1385,13 +1387,13 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *param1)
if (battleSys->battleType & BATTLE_TYPE_TRAINER) {
if ((ov16_0223CD3C(battleSys->trainers[1].header.trainerType) == 1) || (ov16_0223CD3C(battleSys->trainers[3].header.trainerType) == 1)) {
for (v0 = 0; v0 < Party_GetCurrentCount(battleSys->parties[0]); v0++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[0], v0);
for (i = 0; i < Party_GetCurrentCount(battleSys->parties[0]); i++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[0], i);
Pokemon_UpdateFriendship(v3, 3, battleSys->mapHeader);
}
for (v0 = 0; v0 < Party_GetCurrentCount(battleSys->parties[2]); v0++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[2], v0);
for (i = 0; i < Party_GetCurrentCount(battleSys->parties[2]); i++) {
v3 = Party_GetPokemonBySlotIndex(battleSys->parties[2], i);
Pokemon_UpdateFriendship(v3, 3, battleSys->mapHeader);
}
}

View File

@@ -7,6 +7,8 @@
#include "constants/game_options.h"
#include "constants/heap.h"
#include "constants/items.h"
#include "constants/rtc.h"
#include "generated/battle_backgrounds.h"
#include "generated/species.h"
#include "generated/trainer_score_events.h"
@@ -112,13 +114,12 @@ u8 Battler_Side(BattleSystem *battleSystem, int param1);
void *ov16_0223E220(BattleSystem *battleSystem);
PCBoxes *ov16_0223E228(BattleSystem *battleSystem);
enum BattleTerrain BattleSystem_Terrain(BattleSystem *battleSys);
int ov16_0223E240(BattleSystem *battleSystem);
int BattleSystem_MapHeader(BattleSystem *battleSystem);
int BattleSystem_Partner(BattleSystem *battleSys, int battler);
int BattleSystem_EnemyInSlot(BattleSystem *battleSys, int attacker, int slot);
BOOL BattleSystem_UseBagItem(BattleSystem *battleSys, int battler, int partySlot, int moveSlot, int item);
u32 ov16_0223EBEC(BattleSystem *battleSystem);
enum Time BattleSystem_Time(BattleSystem *battleSys);
enum TimeOfDay BattleSystem_Time(BattleSystem *battleSys);
int ov16_0223EC04(BattleSystem *battleSystem);
u8 ov16_0223EC58(BattleSystem *battleSystem, int param1, u8 param2);
u16 Battle_FindEvolvingPartyMember(FieldBattleDTO *param0, int *param1, int *param2);
@@ -509,9 +510,9 @@ enum BattleTerrain BattleSystem_Terrain(BattleSystem *battleSys)
return battleSys->terrain;
}
int ov16_0223E240(BattleSystem *battleSystem)
enum BattleBackground BattleSystem_Background(BattleSystem *battleSystem)
{
return battleSystem->unk_2400;
return battleSystem->background;
}
int BattleSystem_MapHeader(BattleSystem *battleSystem)
@@ -890,7 +891,7 @@ u32 BattleSystem_BattleStatus(BattleSystem *battleSys)
return battleSys->battleStatusMask;
}
enum Time BattleSystem_Time(BattleSystem *battleSys)
enum TimeOfDay BattleSystem_Time(BattleSystem *battleSys)
{
return battleSys->time;
}
@@ -899,23 +900,23 @@ int ov16_0223EC04(BattleSystem *battleSystem)
{
int v0;
switch (battleSystem->unk_2400) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
switch (battleSystem->background) {
case BACKGROUND_PLAIN:
case BACKGROUND_WATER:
case BACKGROUND_CITY:
case BACKGROUND_FOREST:
case BACKGROUND_MOUNTAIN:
case BACKGROUND_SNOW:
switch (battleSystem->time) {
case 0:
case 1:
case TIMEOFDAY_MORNING:
case TIMEOFDAY_DAY:
v0 = 0;
break;
case 2:
case TIMEOFDAY_TWILIGHT:
v0 = 1;
break;
case 3:
case 4:
case TIMEOFDAY_NIGHT:
case TIMEOFDAY_LATE_NIGHT:
v0 = 2;
break;
}

View File

@@ -1063,7 +1063,7 @@ void *ov16_022687C8(NARC *param0, NARC *param1, BattleSystem *battleSys, int par
}
v1 = BattleSystem_PaletteSys(battleSys);
v2 = ov16_0223E240(battleSys);
v2 = BattleSystem_Background(battleSys);
if (v2 >= NELEMS(Unk_ov16_022704E4)) {
v2 = 0;

View File

@@ -275,7 +275,7 @@ void FieldBattleDTO_InitFromGameState(FieldBattleDTO *dto, const FieldSystem *fi
dto->wiFiHistory = SaveData_WiFiHistory(saveData);
dto->records = SaveData_GetGameRecords(saveData);
dto->journalEntry = journalEntry;
dto->unk_124 = SaveData_GetPalPad(saveData);
dto->palPad = SaveData_GetPalPad(saveData);
dto->mapHeaderID = mapHeaderID;
dto->saveData = saveData;
}
@@ -330,7 +330,7 @@ void FieldBattleDTO_InitWithNormalizedMonLevels(FieldBattleDTO *dto, const Field
dto->wiFiHistory = SaveData_WiFiHistory(fieldSystem->saveData);
dto->records = SaveData_GetGameRecords(fieldSystem->saveData);
dto->journalEntry = fieldSystem->journalEntry;
dto->unk_124 = SaveData_GetPalPad(fieldSystem->saveData);
dto->palPad = SaveData_GetPalPad(fieldSystem->saveData);
dto->mapHeaderID = fieldSystem->location->mapId;
dto->saveData = fieldSystem->saveData;
@@ -396,7 +396,7 @@ void FieldBattleDTO_InitWithPartyOrder(FieldBattleDTO *dto, const FieldSystem *f
dto->records = SaveData_GetGameRecords(fieldSystem->saveData);
dto->journalEntry = fieldSystem->journalEntry;
dto->mapHeaderID = fieldSystem->location->mapId;
dto->unk_124 = SaveData_GetPalPad(fieldSystem->saveData);
dto->palPad = SaveData_GetPalPad(fieldSystem->saveData);
dto->saveData = fieldSystem->saveData;
if (sub_020326C4(sub_0203895C())) {

View File

@@ -110,7 +110,7 @@ u32 MapHeader_GetCameraType(u32 headerID)
return sMapHeaders[headerID].cameraType;
}
u32 MapHeader_GetBattleBG(u32 headerID)
enum BattleBackground MapHeader_GetBattleBG(u32 headerID)
{
headerID = MapHeader_IDBoundsCheck(headerID);
return sMapHeaders[headerID].battleBG;

View File

@@ -534,49 +534,49 @@ BOOL sub_0202FAC0(void)
return 1;
}
void sub_0202FAFC(FieldBattleDTO *param0, SaveData *saveData)
void sub_0202FAFC(FieldBattleDTO *dto, SaveData *saveData)
{
int v0;
int i;
UnkStruct_0202F298 *v1 = &Unk_021C07A4->unk_E8;
param0->battleType = v1->unk_00.unk_00;
param0->background = v1->unk_00.unk_E8;
param0->terrain = v1->unk_00.unk_EC;
param0->mapLabelTextID = v1->unk_00.unk_F0;
param0->mapHeaderID = v1->unk_00.unk_F4;
param0->timeOfDay = v1->unk_00.unk_F8;
param0->mapEvolutionMethod = v1->unk_00.unk_FC;
param0->visitedContestHall = v1->unk_00.unk_100;
param0->metBebe = v1->unk_00.unk_104;
param0->caughtBattlerIdx = v1->unk_00.unk_108;
param0->fieldWeather = v1->unk_00.unk_10C;
param0->battleStatusMask = v1->unk_00.unk_124 | BATTLE_STATUS_RECORDING;
param0->countSafariBalls = v1->unk_00.unk_128;
param0->rulesetMask = v1->unk_00.unk_12C;
param0->seed = v1->unk_00.unk_130;
param0->networkID = v1->unk_00.unk_144;
param0->resultMask = BATTLE_IN_PROGRESS;
param0->leveledUpMonsMask = 0;
dto->battleType = v1->unk_00.unk_00;
dto->background = v1->unk_00.unk_E8;
dto->terrain = v1->unk_00.unk_EC;
dto->mapLabelTextID = v1->unk_00.unk_F0;
dto->mapHeaderID = v1->unk_00.unk_F4;
dto->timeOfDay = v1->unk_00.unk_F8;
dto->mapEvolutionMethod = v1->unk_00.unk_FC;
dto->visitedContestHall = v1->unk_00.unk_100;
dto->metBebe = v1->unk_00.unk_104;
dto->caughtBattlerIdx = v1->unk_00.unk_108;
dto->fieldWeather = v1->unk_00.unk_10C;
dto->battleStatusMask = v1->unk_00.unk_124 | BATTLE_STATUS_RECORDING;
dto->countSafariBalls = v1->unk_00.unk_128;
dto->rulesetMask = v1->unk_00.unk_12C;
dto->seed = v1->unk_00.unk_130;
dto->networkID = v1->unk_00.unk_144;
dto->resultMask = BATTLE_IN_PROGRESS;
dto->leveledUpMonsMask = 0;
Pokedex_Copy(SaveData_GetPokedex(saveData), param0->pokedex);
Pokedex_Copy(SaveData_GetPokedex(saveData), dto->pokedex);
for (v0 = 0; v0 < 4; v0++) {
param0->trainerIDs[v0] = v1->unk_00.unk_08[v0];
param0->trainer[v0] = v1->unk_00.unk_18[v0];
param0->systemVersion[v0] = v1->unk_00.unk_114[v0];
param0->unk_178[v0] = v1->unk_00.unk_134[v0];
for (i = 0; i < 4; i++) {
dto->trainerIDs[i] = v1->unk_00.unk_08[i];
dto->trainer[i] = v1->unk_00.unk_18[i];
dto->systemVersion[i] = v1->unk_00.unk_114[i];
dto->unk_178[i] = v1->unk_00.unk_134[i];
sub_0202FD30(&v1->unk_1150[v0], param0->parties[v0]);
TrainerInfo_Copy(&v1->unk_1B68[v0], param0->trainerInfo[v0]);
sub_0202FD30(&v1->unk_1150[i], dto->parties[i]);
TrainerInfo_Copy(&v1->unk_1B68[i], dto->trainerInfo[i]);
param0->unk_194[v0] = v1->unk_00.unk_14C[v0];
dto->unk_194[i] = v1->unk_00.unk_14C[i];
}
Options_Copy(SaveData_GetOptions(saveData), param0->options);
param0->options->frame = v1->unk_1BE8.frame;
Options_Copy(SaveData_GetOptions(saveData), dto->options);
dto->options->frame = v1->unk_1BE8.frame;
if (param0->options->frame >= 20) {
param0->options->frame = 0;
if (dto->options->frame >= 20) {
dto->options->frame = 0;
}
}

View File

@@ -455,7 +455,7 @@ BOOL sub_0207AAFC(UnkStruct_0207A778 *param0)
v1 = param0->unk_00->trainerInfo[CommSys_CurNetId()];
}
sub_0207ADD4(v1, param0->unk_00->unk_124, (PalPad *)param0->unk_20);
sub_0207ADD4(v1, param0->unk_00->palPad, (PalPad *)param0->unk_20);
{
int v2;
@@ -675,7 +675,7 @@ void sub_0207AE34(int param0, int param1, void *param2, void *param3)
UnkStruct_0207A778 *v0 = (UnkStruct_0207A778 *)param3;
if (CommSys_CurNetId() != param0) {
sub_02027FEC(v0->unk_00->unk_124, (PalPad *)param2, 1, HEAP_ID_BATTLE);
sub_02027FEC(v0->unk_00->palPad, (PalPad *)param2, 1, HEAP_ID_BATTLE);
}
v0->unk_1020++;