Document various battle anim fields and utility functions

This commit is contained in:
Fexty12573 2025-06-06 12:25:59 +02:00
parent a12c0c0082
commit 773f3ba821
24 changed files with 493 additions and 457 deletions

View File

@ -8,7 +8,7 @@ typedef struct {
s32 unk_04;
u16 unk_08;
u16 unk_0A;
u16 unk_0C;
u16 friendship;
u16 unk_0E_0 : 1;
u16 unk_0E_1 : 1;
u16 : 14;

View File

@ -1,17 +1,18 @@
#ifndef POKEPLATINUM_OV12_0221FC20_H
#define POKEPLATINUM_OV12_0221FC20_H
#include "constants/battle.h"
#include "struct_decls/battle_system.h"
#include "battle/struct_ov16_02264408.h"
#include "battle/struct_ov16_02265BBC.h"
#include "overlay012/funcptr_ov12_02239EEC.h"
#include "overlay012/struct_ov12_0221FCDC_decl.h"
#include "overlay012/struct_ov12_02226504_decl.h"
#include "overlay012/struct_ov12_02223764.h"
#include "overlay012/struct_ov12_02226504_decl.h"
#include "overlay012/struct_ov12_022380DC.h"
#include "constants/battle.h"
#include "bg_window.h"
#include "palette.h"
#include "particle_system.h"
@ -24,7 +25,6 @@
#define BATTLE_ANIM_SCRIPT_MAX_NESTED_LOOPS 3
#define BATTLE_ANIM_SCRIPT_MAX_CALL_STACK_DEPTH 3
enum BattleAnimSystemArc {
BATTLE_ANIM_SYSTEM_ARC_BATT_BG = 0,
BATTLE_ANIM_SYSTEM_ARC_BATT_OBJ,
@ -36,22 +36,39 @@ enum BattleAnimSystemArc {
BATTLE_ANIM_SYSTEM_ARC_COUNT,
};
enum BattleAnimMoveInfoType {
BATTLE_ANIM_MOVE_INFO_DAMAGE = 0,
BATTLE_ANIM_MOVE_INFO_POWER,
BATTLE_ANIM_MOVE_INFO_FRIENDSHIP,
BATTLE_ANIM_MOVE_INFO_FIELD_CONDITIONS,
// BATTLE_ANIM_MOVE_INFO_??? = 4,
BATTLE_ANIM_MOVE_INFO_TERRAIN = 5,
BATTLE_ANIM_MOVE_INFO_COUNT
};
// Holds context information for the current move animation
typedef struct BattleAnimContext {
u8 unk_00;
u8 unk_01;
u16 unk_02;
s32 unk_04;
u16 unk_08;
u16 unk_0A;
u32 fieldConditions;
// Current Move info
u16 move;
s32 damage;
u16 power;
u16 friendship; // Friendship of the attacker
u32 fieldConditions; // Field conditions at the time of the move
u16 unk_10;
u16 unk_12;
u16 terrain; // Terrain at the time of the move
u16 attacker;
u16 defender;
int currentParticleSystem;
int currentParticleSystem; // Index of the last accessed particle system
ParticleSystem *particleSystems[MAX_PARTICLE_SYSTEMS];
SPLEmitter *emitters[MAX_EMITTERS];
SpriteSystem *unk_AC;
SpriteSystem *spriteSystem;
// Battler info
UnkStruct_ov16_0223E0C8 *unk_B0[4];
u8 battlerTypes[MAX_BATTLERS];
PokemonSprite *battlerSprites[MAX_BATTLERS];
@ -62,10 +79,10 @@ typedef struct BattleAnimContext {
u8 battlerForms[MAX_BATTLERS];
u32 battlerPersonalities[MAX_BATTLERS];
u32 battlerMoveEffects[MAX_BATTLERS];
ChatotCry *unk_10C;
ChatotCry *chatotCry;
u8 *unk_110;
u16 *unk_114;
int unk_118;
int transformed; // Flag for if transform is currently active
} BattleAnimContext;
typedef struct BattleAnimScriptLoop {
@ -126,12 +143,12 @@ typedef struct UnkStruct_ov12_022211D8_t {
} UnkStruct_ov12_022211D8;
typedef struct BattleAnimSystem {
int heapID;
enum NarcID effectArcID;
BOOL unk_08;
enum HeapId heapID;
enum NarcID moveArcID;
BOOL isContest;
BOOL isActive;
BOOL unk_10;
void *unk_14;
BOOL moveActive;
void *scriptData; // Raw pointer to data read from NARC
u32 *scriptPtr;
u32 *callStack[BATTLE_ANIM_SCRIPT_MAX_CALL_STACK_DEPTH];
BattleAnimScriptLoop loopStack[BATTLE_ANIM_SCRIPT_MAX_NESTED_LOOPS];
@ -166,16 +183,15 @@ typedef struct BattleAnimSystem {
NARC *arcs[BATTLE_ANIM_SYSTEM_ARC_COUNT];
} BattleAnimSystem;
BattleAnimSystem *BattleAnimSystem_New(enum HeapId heapID);
void ov12_0221FDC0(BattleAnimSystem *param0, BOOL param1);
BOOL ov12_0221FDD4(BattleAnimSystem *param0);
void BattleAnimSystem_SetIsContest(BattleAnimSystem *param0, BOOL param1);
BOOL BattleAnimSystem_IsContest(BattleAnimSystem *param0);
enum HeapId BattleAnimSystem_GetHeapID(BattleAnimSystem *param0);
BOOL BattleAnimSystem_Delete(BattleAnimSystem *param0);
BOOL ov12_0221FE30(BattleAnimSystem *param0, UnkStruct_ov16_02265BBC *param1, u16 param2, UnkStruct_ov16_02264408 *param3);
BOOL BattleAnimSystem_StartMove(BattleAnimSystem *param0, UnkStruct_ov16_02265BBC *param1, u16 param2, UnkStruct_ov16_02264408 *param3);
BOOL BattleAnimSystem_ExecuteScript(BattleAnimSystem *param0);
BOOL ov12_02220188(BattleAnimSystem *param0);
BOOL ov12_02220198(BattleAnimSystem *param0);
BOOL BattleAnimSystem_IsMoveActive(BattleAnimSystem *param0);
BOOL BattleAnimSystem_FreeScriptData(BattleAnimSystem *param0);
BOOL BattleAnimSystem_IsActive(BattleAnimSystem *param0);
SysTask *BattleAnimSystem_StartAnimTaskEx(BattleAnimSystem *param0, SysTaskFunc param1, void *param2, u32 param3);
SysTask *BattleAnimSystem_StartAnimTask(BattleAnimSystem *param0, SysTaskFunc param1, void *param2);
@ -184,7 +200,7 @@ void BattleAnimSystem_EndAnimTask(BattleAnimSystem *param0, SysTask *param1);
void BattleAnimSystem_EndSoundTask(BattleAnimSystem *param0, SysTask *param1);
u16 BattleAnimSystem_GetAttacker(BattleAnimSystem *param0);
u16 BattleAnimSystem_GetDefender(BattleAnimSystem *param0);
ParticleSystem *ov12_02220250(BattleAnimSystem *param0);
ParticleSystem *BattleAnimSystem_GetCurrentParticleSystem(BattleAnimSystem *param0);
ParticleSystem *BattleAnimSystem_GetParticleSystem(BattleAnimSystem *param0, int param1);
SPLEmitter *BattleAnimSystem_GetEmitter(BattleAnimSystem *param0, int param1);
BgConfig *BattleAnimSystem_GetBgConfig(BattleAnimSystem *param0);
@ -193,9 +209,9 @@ ManagedSprite *ov12_02220298(BattleAnimSystem *param0, int param1);
ManagedSprite *ov12_022202C0(BattleAnimSystem *param0, int param1);
SpriteManager *ov12_022202EC(BattleAnimSystem *param0);
SpriteManager *ov12_02220300(BattleAnimSystem *param0);
SpriteSystem *ov12_02220308(BattleAnimSystem *param0);
void ov12_02220474(void);
int ov12_02220540(BattleAnimSystem *param0, int param1);
SpriteSystem *BattleAnimSystem_GetSpriteSystem(BattleAnimSystem *param0);
void BattleAnimSystem_SetBlendState(void);
int BattleAnimSystem_GetMoveInfo(BattleAnimSystem *param0, enum BattleAnimMoveInfoType param1);
void ov12_02220590(BattleAnimSystem *param0, UnkStruct_ov12_022380DC *param1, int param2);
void ov12_02221238(BattleAnimSystem *param0, int param1);
void ov12_02222338(BattleAnimSystem *param0);

View File

@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV12_02220314_DECL_H
#define POKEPLATINUM_STRUCT_OV12_02220314_DECL_H
typedef struct UnkStruct_ov12_02220314_t UnkStruct_ov12_02220314;
#endif // POKEPLATINUM_STRUCT_OV12_02220314_DECL_H

View File

@ -10,12 +10,11 @@
#include "camera.h"
#include "spl.h"
#define MAX_PARTICLE_SYSTEMS 16 // Global maximum number of particle systems
#define MAX_EMITTERS 20 // Maximum number of concurrent emitters per particle system
#define MAX_PARTICLES 200 // Maximum number of concurrent particles per particle system
#define MAX_TEXTURE_KEYS 16
#define MAX_PALETTE_KEYS 16
#define MAX_PARTICLE_SYSTEMS 16 // Global maximum number of particle systems
#define MAX_EMITTERS 20 // Maximum number of concurrent emitters per particle system
#define MAX_PARTICLES 200 // Maximum number of concurrent particles per particle system
#define MAX_TEXTURE_KEYS 16
#define MAX_PALETTE_KEYS 16
enum VRAMAutoRelease {
VRAM_AUTO_RELEASE_NONE = 0,

View File

@ -1580,8 +1580,8 @@ static void ov16_0225E4E8(SysTask *param0, void *param1)
case 4:
BattleAnimSystem_ExecuteScript(v1);
if (ov12_02220188(v1) == 0) {
ov12_02220198(v1);
if (BattleAnimSystem_IsMoveActive(v1) == 0) {
BattleAnimSystem_FreeScriptData(v1);
v0->unk_12 = 0xff;
}
break;
@ -1662,8 +1662,8 @@ static void ov16_0225E894(SysTask *param0, void *param1)
case 4:
BattleAnimSystem_ExecuteScript(v1);
if (ov12_02220188(v1) == 0) {
ov12_02220198(v1);
if (BattleAnimSystem_IsMoveActive(v1) == 0) {
BattleAnimSystem_FreeScriptData(v1);
v0->unk_12 = 0xff;
}
break;
@ -1875,8 +1875,8 @@ static void ov16_0225EA80(SysTask *param0, void *param1)
case 7:
BattleAnimSystem_ExecuteScript(v0->unk_24);
if (ov12_02220188(v0->unk_24) == 0) {
ov12_02220198(v0->unk_24);
if (BattleAnimSystem_IsMoveActive(v0->unk_24) == 0) {
BattleAnimSystem_FreeScriptData(v0->unk_24);
BattleAnimSystem_Delete(v0->unk_24);
v0->unk_83 = 0xff;
}
@ -2067,8 +2067,8 @@ static void ov16_0225F0C0(SysTask *param0, void *param1)
case 11:
BattleAnimSystem_ExecuteScript(v1);
if (ov12_02220188(v1) == 0) {
ov12_02220198(v1);
if (BattleAnimSystem_IsMoveActive(v1) == 0) {
BattleAnimSystem_FreeScriptData(v1);
v0->unk_83++;
}
break;
@ -2141,8 +2141,8 @@ static void ov16_0225F764(SysTask *param0, void *param1)
case 3:
BattleAnimSystem_ExecuteScript(v1);
if (ov12_02220188(v1) == 0) {
ov12_02220198(v1);
if (BattleAnimSystem_IsMoveActive(v1) == 0) {
BattleAnimSystem_FreeScriptData(v1);
v0->unk_6B++;
}
break;
@ -4026,8 +4026,8 @@ static void ov16_022611DC(SysTask *param0, void *param1)
case 28:
BattleAnimSystem_ExecuteScript(ov16_0223E008(v0->unk_00));
if (ov12_02220188(ov16_0223E008(v0->unk_00)) == 0) {
ov12_02220198(ov16_0223E008(v0->unk_00));
if (BattleAnimSystem_IsMoveActive(ov16_0223E008(v0->unk_00)) == 0) {
BattleAnimSystem_FreeScriptData(ov16_0223E008(v0->unk_00));
v0->unk_0E++;
}
break;
@ -4615,8 +4615,8 @@ static void ov16_022626C0(SysTask *param0, void *param1)
case 9:
BattleAnimSystem_ExecuteScript(v0->unk_0C);
if (ov12_02220188(v0->unk_0C) == 0) {
ov12_02220198(v0->unk_0C);
if (BattleAnimSystem_IsMoveActive(v0->unk_0C) == 0) {
BattleAnimSystem_FreeScriptData(v0->unk_0C);
v0->unk_6A++;
}
break;
@ -4752,8 +4752,8 @@ static void ov16_02262A9C(SysTask *param0, void *param1)
case 3:
BattleAnimSystem_ExecuteScript(v1);
if (ov12_02220188(v1) == 0) {
ov12_02220198(v1);
if (BattleAnimSystem_IsMoveActive(v1) == 0) {
BattleAnimSystem_FreeScriptData(v1);
v0->unk_66++;
}
break;
@ -4909,8 +4909,8 @@ static void ov16_02262DC4(SysTask *param0, void *param1)
case 4:
BattleAnimSystem_ExecuteScript(v1);
if (ov12_02220188(v1) == 0) {
ov12_02220198(v1);
if (BattleAnimSystem_IsMoveActive(v1) == 0) {
BattleAnimSystem_FreeScriptData(v1);
v0->unk_62++;
}
break;
@ -6124,7 +6124,7 @@ static void ov16_02264408(BattleSystem *battleSys, BattlerData *param1, BattleAn
v0.unk_54.unk_10 = 0;
v0.unk_54.unk_14 = 8;
ov12_0221FE30(param2, param3, v2, &v0);
BattleAnimSystem_StartMove(param2, param3, v2, &v0);
}
static void ov16_02264530(BattleSystem *battleSys, UnkStruct_ov16_02265BBC *param1, UnkStruct_ov12_022380DC *param2, int param3)

View File

@ -1598,7 +1598,7 @@ void ov16_02266B78(BattleSystem *battleSys, BattleContext *param1, UnkStruct_ov1
param2->unk_08 = param1->aiContext.moveTable[param7].power;
}
param2->unk_0C = param1->battleMons[param5].friendship;
param2->friendship = param1->battleMons[param5].friendship;
if ((BattleSystem_CountAbility(battleSys, param1, COUNT_ALIVE_BATTLERS, 0, ABILITY_CLOUD_NINE) == 0) && (BattleSystem_CountAbility(battleSys, param1, COUNT_ALIVE_BATTLERS, 0, ABILITY_AIR_LOCK) == 0)) {
param2->fieldConditions = param1->fieldConditionsMask;

File diff suppressed because it is too large Load Diff

View File

@ -70,7 +70,7 @@ void ov12_022238E0(SPLEmitter *param0)
v3 = BattleAnimSystem_GetDefender(v0);
v2 = 1;
v3 = 0;
v1 = ov12_02220250(v0);
v1 = BattleAnimSystem_GetCurrentParticleSystem(v0);
{
int v8, v9;
@ -82,7 +82,7 @@ void ov12_022238E0(SPLEmitter *param0)
v8 = ov12_02235254(v0, v2);
v9 = ov12_02235310(v8);
v10 = ParticleSystem_GetCameraProjection(v1);
v4 = ov12_0221FDD4(v0);
v4 = BattleAnimSystem_IsContest(v0);
ov12_02235448(v9, &v5, v4, v10);
ov12_02235448(v8, &v6, v4, v10);
@ -126,7 +126,7 @@ void ov12_02223998(SPLEmitter *param0)
v0 = ParticleSystem_GetEmitterCallbackParam();
v2 = BattleAnimSystem_GetDefender(v0);
v1 = ov12_02220250(v0);
v1 = BattleAnimSystem_GetCurrentParticleSystem(v0);
ov12_02235508(v0, 0, &v3);
@ -199,7 +199,7 @@ void ov12_02223AC8(SPLEmitter *param0)
int v6;
v0 = ParticleSystem_GetEmitterCallbackParam();
v2 = ov12_02220250(v0);
v2 = BattleAnimSystem_GetCurrentParticleSystem(v0);
v3 = ParticleSystem_GetCameraProjection(v2);
v5 = BattleAnimSystem_GetAttacker(v0);
v6 = ov12_0223525C(v0, v5);
@ -210,7 +210,7 @@ void ov12_02223AC8(SPLEmitter *param0)
v4 = 1;
}
ov12_02235448(v4, &v1, ov12_0221FDD4(v0), v3);
ov12_02235448(v4, &v1, BattleAnimSystem_IsContest(v0), v3);
SPLEmitter_SetPosX(param0, v1.x);
SPLEmitter_SetPosY(param0, v1.y);
@ -229,7 +229,7 @@ void ov12_02223B30(SPLEmitter *param0)
int v7;
v0 = ParticleSystem_GetEmitterCallbackParam();
v2 = ov12_02220250(v0);
v2 = BattleAnimSystem_GetCurrentParticleSystem(v0);
v4 = ParticleSystem_GetCameraProjection(v2);
v6 = BattleAnimSystem_GetDefender(v0);
v7 = ov12_0223525C(v0, v6);
@ -240,7 +240,7 @@ void ov12_02223B30(SPLEmitter *param0)
v5 = 1;
}
ov12_02235448(v5, &v1, ov12_0221FDD4(v0), v4);
ov12_02235448(v5, &v1, BattleAnimSystem_IsContest(v0), v4);
SPLEmitter_SetPosX(param0, v1.x);
SPLEmitter_SetPosY(param0, v1.y);
@ -416,7 +416,7 @@ static void ov12_02223E74(BattleAnimSystem *param0, SPLEmitter *param1, int para
VecFx16 v4;
s8 v5 = 1;
v0 = ov12_02220250(param0);
v0 = BattleAnimSystem_GetCurrentParticleSystem(param0);
v2 = ov12_02235254(param0, param2);
v3 = ov12_02235254(param0, param3);

View File

@ -62,7 +62,7 @@ static void ov12_02224260(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1, V
v0 = param1->unk_00;
v1 = ov12_02220250(v0);
v1 = BattleAnimSystem_GetCurrentParticleSystem(v0);
v2 = ParticleSystem_GetCameraProjection(v1);
v4 = BattleAnimSystem_GetDefender(v0);
v5 = ov12_0223525C(v0, v4);
@ -73,7 +73,7 @@ static void ov12_02224260(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1, V
v3 = 1;
}
ov12_02235448(v3, param2, ov12_0221FDD4(v0), v2);
ov12_02235448(v3, param2, BattleAnimSystem_IsContest(v0), v2);
}
static void ov12_022242A0(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1, VecFx32 *param2)
@ -87,7 +87,7 @@ static void ov12_022242A0(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1, V
int v6;
v0 = param1->unk_00;
v1 = ov12_02220250(v0);
v1 = BattleAnimSystem_GetCurrentParticleSystem(v0);
v3 = ParticleSystem_GetCameraProjection(v1);
v5 = BattleAnimSystem_GetAttacker(v0);
v6 = ov12_0223525C(v0, v5);
@ -98,7 +98,7 @@ static void ov12_022242A0(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1, V
v4 = 1;
}
ov12_02235448(v4, param2, ov12_0221FDD4(v0), v3);
ov12_02235448(v4, param2, BattleAnimSystem_IsContest(v0), v3);
}
static void ov12_022242E0(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
@ -248,7 +248,7 @@ static void ov12_022242E0(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
{ 15000, -2752 },
};
if (ov12_0221FDD4(param1->unk_00) == 1) {
if (BattleAnimSystem_IsContest(param1->unk_00) == 1) {
v4 = 6;
} else {
v4 = ov12_02235254(param1->unk_00, param1->unk_24);
@ -268,7 +268,7 @@ static void ov12_022242E0(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
{ 7072, -3648 }
};
if (ov12_0221FDD4(param1->unk_00) == 1) {
if (BattleAnimSystem_IsContest(param1->unk_00) == 1) {
v6 = 6;
} else {
v6 = ov12_02235254(param1->unk_00, param1->unk_24);
@ -309,7 +309,7 @@ static void ov12_02224614(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
break;
case 1:
case 2:
if (ov12_0221FDD4(param1->unk_00) == 1) {
if (BattleAnimSystem_IsContest(param1->unk_00) == 1) {
if (param1->unk_0C[1] == 2) {
VEC_Fx16Set(&v2, -3336, +1840, 736);
} else {
@ -320,7 +320,7 @@ static void ov12_02224614(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
}
break;
case 4:
if (ov12_0221FDD4(param1->unk_00) == 1) {
if (BattleAnimSystem_IsContest(param1->unk_00) == 1) {
VEC_Fx16Set(&v2, -Unk_ov12_022396AC[v0][v1].unk_00, Unk_ov12_022396AC[v0][v1].unk_04, Unk_ov12_022396AC[v0][v1].unk_08 / 2);
} else {
if (ov12_0223525C(param1->unk_00, param1->unk_24) == ov12_0223525C(param1->unk_00, param1->unk_28)) {
@ -333,7 +333,7 @@ static void ov12_02224614(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
}
break;
case 5:
if (ov12_0221FDD4(param1->unk_00) == 1) {
if (BattleAnimSystem_IsContest(param1->unk_00) == 1) {
VEC_Fx16Set(&v2, -Unk_ov12_022396AC[v0][v1].unk_00, Unk_ov12_022396AC[v0][v1].unk_04, Unk_ov12_022396AC[v0][v1].unk_08 / 2);
} else {
if (ov12_0223525C(param1->unk_00, param1->unk_24) == ov12_0223525C(param1->unk_00, param1->unk_28)) {
@ -347,7 +347,7 @@ static void ov12_02224614(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
break;
case 8:
case 9:
if (ov12_0221FDD4(param1->unk_00) == 1) {
if (BattleAnimSystem_IsContest(param1->unk_00) == 1) {
if (param1->unk_0C[1] == 2) {
VEC_Fx16Set(&v2, -2336, +1440, 736);
} else {
@ -359,7 +359,7 @@ static void ov12_02224614(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
break;
case 10:
case 11:
if (ov12_0221FDD4(param1->unk_00) == 1) {
if (BattleAnimSystem_IsContest(param1->unk_00) == 1) {
VEC_Fx16Set(&v2, -2336, +1440, 736);
} else {
VEC_Fx16Set(&v2, Unk_ov12_0223919C[v0][v1].unk_00, Unk_ov12_02238FEC[v0][v1].unk_04, Unk_ov12_02238FEC[v0][v1].unk_08 / 2);
@ -367,7 +367,7 @@ static void ov12_02224614(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
break;
case 12:
case 13:
if (ov12_0221FDD4(param1->unk_00) == 1) {
if (BattleAnimSystem_IsContest(param1->unk_00) == 1) {
VEC_Fx16Set(&v2, -2936, +1440, 736);
} else {
VEC_Fx16Set(&v2, Unk_ov12_022394FC[v0][v1].unk_00, Unk_ov12_022394FC[v0][v1].unk_04, Unk_ov12_022394FC[v0][v1].unk_08);
@ -375,7 +375,7 @@ static void ov12_02224614(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
break;
case 14:
case 15:
if (ov12_0221FDD4(param1->unk_00) == 1) {
if (BattleAnimSystem_IsContest(param1->unk_00) == 1) {
VEC_Fx16Set(&v2, -2336, +1440, 736);
} else {
VEC_Fx16Set(&v2, Unk_ov12_0223985C[v0][v1].unk_00, Unk_ov12_0223985C[v0][v1].unk_04, Unk_ov12_0223985C[v0][v1].unk_08);
@ -383,7 +383,7 @@ static void ov12_02224614(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
break;
case 16:
case 17:
if (ov12_0221FDD4(param1->unk_00) == 1) {
if (BattleAnimSystem_IsContest(param1->unk_00) == 1) {
VEC_Fx16Set(&v2, -2336, +1440, 736);
} else {
VEC_Fx16Set(&v2, Unk_ov12_0223934C[v0][v1].unk_00, Unk_ov12_0223934C[v0][v1].unk_04, Unk_ov12_0223934C[v0][v1].unk_08);
@ -391,7 +391,7 @@ static void ov12_02224614(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
break;
case 18:
case 19:
if (ov12_0221FDD4(param1->unk_00) == 1) {
if (BattleAnimSystem_IsContest(param1->unk_00) == 1) {
VEC_Fx16Set(&v2, -2336, +1440, 736);
} else {
VEC_Fx16Set(&v2, Unk_ov12_02239A0C[v0][v1].unk_00, Unk_ov12_02239A0C[v0][v1].unk_04, Unk_ov12_02239A0C[v0][v1].unk_08);
@ -399,7 +399,7 @@ static void ov12_02224614(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
break;
case 20:
case 21:
if (ov12_0221FDD4(param1->unk_00) == 1) {
if (BattleAnimSystem_IsContest(param1->unk_00) == 1) {
VEC_Fx16Set(&v2, -4336, +1440, 736);
} else {
VEC_Fx16Set(&v2, Unk_ov12_02239BBC[v0][v1].unk_00, Unk_ov12_02239BBC[v0][v1].unk_04, Unk_ov12_02239BBC[v0][v1].unk_08);
@ -476,7 +476,7 @@ static void ov12_02224614(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
v10[v3] = v11[6][v3];
}
if (ov12_0221FDD4(param1->unk_00) == 1) {
if (BattleAnimSystem_IsContest(param1->unk_00) == 1) {
for (v3 = 0; v3 < 4; v3++) {
v4[v3] = v12[v3];
v5[v3] = v12[v3];
@ -674,7 +674,7 @@ void ov12_02224F14(SPLEmitter *param0)
UnkStruct_ov12_02225640 *v1 = Heap_AllocFromHeap(BattleAnimSystem_GetHeapID(v0), sizeof(UnkStruct_ov12_02225640));
v1->unk_00 = v0;
v1->unk_04 = ov12_02220250(v1->unk_00);
v1->unk_04 = BattleAnimSystem_GetCurrentParticleSystem(v1->unk_00);
ov12_0222325C(v1->unk_00, v1->unk_0C, 6);

View File

@ -103,7 +103,7 @@ static BOOL ov12_02225724(SPLEmitter *param0, UnkStruct_ov12_02225640 *param1)
camera = ParticleSystem_GetCamera(param1->unk_04);
ParticleSystem_SetCameraProjection(param1->unk_04, 1);
if (ov12_0221FDD4(param1->unk_00) == 1) {
if (BattleAnimSystem_IsContest(param1->unk_00) == 1) {
Camera_SetAngleAroundTarget(&v1, camera);
} else {
Camera_SetAngleAroundTarget(&v2, camera);

View File

@ -104,7 +104,7 @@ void ov12_02225864(int param0, int param1, s16 *param2, s16 *param3)
void ov12_02225898(BattleAnimSystem *param0, int param1, s16 *param2, s16 *param3)
{
if (ov12_0221FDD4(param0) == 1) {
if (BattleAnimSystem_IsContest(param0) == 1) {
ov12_02225864(0, param1 + 2, param2, param3);
} else {
if (BattleAnimSystem_IsDoubleBattle(param0) == 1) {
@ -127,7 +127,7 @@ s16 ov12_022258E0(BattleAnimSystem *param0, int param1, int param2)
v1 = 0;
}
if (ov12_0221FDD4(param0) == 1) {
if (BattleAnimSystem_IsContest(param0) == 1) {
v0 += 2;
}
@ -156,7 +156,7 @@ int ov12_02225964(BattleAnimSystem *param0, int param1)
v0 = ov12_0223525C(param0, param1);
if (ov12_0221FDD4(param0)) {
if (BattleAnimSystem_IsContest(param0)) {
if (v0 == 0x3) {
v1 = -1;
}
@ -1195,7 +1195,7 @@ void ov12_02226924(BattleAnimSystem *param0)
PaletteData *v0 = ov12_0222332C(param0);
u16 *v1 = PaletteData_GetFadedBuffer(v0, 0);
if (ov12_0221FDD4(param0) == 1) {
if (BattleAnimSystem_IsContest(param0) == 1) {
ov12_022268DC(v1, 16 * 3);
} else {
ov12_022268DC(v1, 16 * 8);
@ -1206,7 +1206,7 @@ void ov12_02226954(BattleAnimSystem *param0)
{
PaletteData *v0 = ov12_0222332C(param0);
if (ov12_0221FDD4(param0) == 1) {
if (BattleAnimSystem_IsContest(param0) == 1) {
PaletteData_CopyBuffer(v0, 0, 0, 0, 0, 16 * 3 * 2);
} else {
PaletteData_CopyBuffer(v0, 0, 0, 0, 0, 16 * 8 * 2);

View File

@ -13,7 +13,7 @@
#include "sys_task_manager.h"
#define TASK_STATE_RUNNING 0
#define TASK_STATE_DONE 1
#define TASK_STATE_DONE 1
typedef struct {
u8 state;

View File

@ -625,7 +625,7 @@ void ov12_02226EB0(BattleAnimSystem *param0)
v0->unk_0C += ((128 / 3) * 2);
}
if (ov12_0221FDD4(param0) == 1) {
if (BattleAnimSystem_IsContest(param0) == 1) {
v0->unk_0E *= -1;
}
@ -645,7 +645,7 @@ void ov12_02226EB0(BattleAnimSystem *param0)
{
int v3 = 2;
if (ov12_0221FDD4(param0) == 1) {
if (BattleAnimSystem_IsContest(param0) == 1) {
v3 = 4;
} else if (ov12_0223525C(param0, BattleAnimSystem_GetAttacker(param0)) == 0x4) {
v3 = 3;
@ -783,7 +783,7 @@ void ov12_022271D8(BattleAnimSystem *param0)
v0->unk_0C += ((128 / 3) * 2);
}
if (ov12_0221FDD4(param0) == 1) {
if (BattleAnimSystem_IsContest(param0) == 1) {
v0->unk_0E *= -1;
}
@ -805,7 +805,7 @@ void ov12_022271D8(BattleAnimSystem *param0)
{
int v3 = 2;
if (ov12_0221FDD4(param0) == 1) {
if (BattleAnimSystem_IsContest(param0) == 1) {
v3 = 4;
} else if (ov12_0223525C(param0, BattleAnimSystem_GetAttacker(param0)) == 0x4) {
v3 = 3;
@ -1811,7 +1811,7 @@ void ov12_02228520(BattleAnimSystem *param0)
v3->unk_64 *= -1;
}
if (ov12_0221FDD4(param0) == 1) {
if (BattleAnimSystem_IsContest(param0) == 1) {
(void)0;
}
@ -2140,7 +2140,7 @@ void ov12_02228C6C(BattleAnimSystem *param0)
v3->unk_66 *= -1;
}
if (ov12_0221FDD4(param0) == 1) {
if (BattleAnimSystem_IsContest(param0) == 1) {
v3->unk_66 *= -1;
}
@ -2824,7 +2824,7 @@ static void ov12_02229980(BattleAnimSystem *param0, UnkStruct_ov12_02229980 *par
}
param1->unk_38 = BattleAnimSystem_GetEmitter(param0, param1->unk_00);
param1->unk_34 = ov12_02220250(param0);
param1->unk_34 = BattleAnimSystem_GetCurrentParticleSystem(param0);
if (param1->unk_10 == 0) {
param1->unk_14 = BattleAnimSystem_GetAttacker(param0);
@ -2971,7 +2971,7 @@ void ov12_02229C5C(BattleAnimSystem *param0)
}
v3->unk_38 = BattleAnimSystem_GetEmitter(param0, v3->unk_00);
v3->unk_34 = ov12_02220250(param0);
v3->unk_34 = BattleAnimSystem_GetCurrentParticleSystem(param0);
if (v3->unk_10 == 0) {
v3->unk_14 = BattleAnimSystem_GetAttacker(param0);
@ -3358,7 +3358,7 @@ void ov12_0222A410(BattleAnimSystem *param0, SpriteSystem *param1, SpriteManager
s16 v3 = ov12_022258E0(param0, v2, 0);
s16 v4 = ov12_022258E0(param0, v2, 1);
if (ov12_0221FDD4(param0) == 1) {
if (BattleAnimSystem_IsContest(param0) == 1) {
v3 = 72;
v4 = 32;
v1 = 0;

View File

@ -403,9 +403,9 @@ void ov12_0222AE68(BattleAnimSystem *param0, SpriteSystem *param1, SpriteManager
int v4 = ov12_0223525C(param0, BattleAnimSystem_GetDefender(param0));
if (v4 == 0x3) {
ov12_02235350(0, ov12_0221FDD4(param0), &v3);
ov12_02235350(0, BattleAnimSystem_IsContest(param0), &v3);
} else {
ov12_02235350(1, ov12_0221FDD4(param0), &v3);
ov12_02235350(1, BattleAnimSystem_IsContest(param0), &v3);
}
for (v0 = 1; v0 < BattleAnimSystem_GetScriptVar(v1->unk_08, 0); v0++) {
@ -1595,7 +1595,7 @@ void ov12_0222CA2C(BattleAnimSystem *param0)
ov12_0223595C(param0, &v0->unk_00);
{
int v2 = ov12_02220540(v0->unk_00.unk_04, 1);
int v2 = BattleAnimSystem_GetMoveInfo(v0->unk_00.unk_04, 1);
switch (v2) {
case 150:
@ -1849,7 +1849,7 @@ void ov12_0222CFA0(BattleAnimSystem *param0)
v0->unk_11 = 4;
}
if (ov12_0221FDD4(param0) == 1) {
if (BattleAnimSystem_IsContest(param0) == 1) {
v0->unk_40 = v0->unk_44[0];
ManagedSprite_SetDrawFlag(v0->unk_44[1], 0);
ManagedSprite_SetAnim(v0->unk_40, 0);
@ -2129,7 +2129,7 @@ void ov12_0222D56C(BattleAnimSystem *param0, SpriteSystem *param1, SpriteManager
ManagedSprite_SetExplicitPriority(v1->unk_30[v0].unk_00, ov12_0222339C(v1->unk_10) + 1);
}
if (ov12_0221FDD4(param0) == 1) {
if (BattleAnimSystem_IsContest(param0) == 1) {
ManagedSprite_SetPositionXY(v1->unk_30[0].unk_00, 180 - 20, (40 - 16 + 20 + 10));
ManagedSprite_SetPositionXY(v1->unk_30[1].unk_00, 100 - 20, (25 - 16 + 20 + 10));
} else {

View File

@ -238,7 +238,7 @@ void ov12_0222D7C0(BattleAnimSystem *param0, SpriteSystem *param1, SpriteManager
ManagedSprite_SetAffineOverwriteMode(v1->unk_14[v0], AFFINE_OVERWRITE_MODE_DOUBLE);
ManagedSprite_SetExplicitOamMode(v1->unk_14[v0], GX_OAM_MODE_XLU);
if (ov12_0221FDD4(v1->unk_08) == 1) {
if (BattleAnimSystem_IsContest(v1->unk_08) == 1) {
ManagedSprite_SetAffineScale(v1->unk_14[v0], -1.0f, 1.0f);
}
}

View File

@ -298,7 +298,7 @@ void ov12_0222EC90(BattleAnimSystem *param0, SpriteSystem *param1, SpriteManager
for (v1 = 0; v1 < 8; v1++) {
v0->unk_1E[v1] = (8 - v1) * 4;
if (ov12_0221FDD4(v0->unk_00.unk_04) == 0) {
if (BattleAnimSystem_IsContest(v0->unk_00.unk_04) == 0) {
if (ov12_0223525C(v0->unk_00.unk_04, BattleAnimSystem_GetAttacker(v0->unk_00.unk_04)) == 0x3) {
if (v1 < 4) {
ManagedSprite_SetExplicitPriority(v0->unk_30[v1], v15);
@ -436,7 +436,7 @@ void ov12_0222EFB0(BattleAnimSystem *param0)
v8 = BattleAnimSystem_GetAttacker(v0->unk_00.unk_04);
v9 = ov12_02235254(v0->unk_00.unk_04, v8);
ov12_02235350(v9, ov12_0221FDD4(v0->unk_00.unk_04), &v11);
ov12_02235350(v9, BattleAnimSystem_IsContest(v0->unk_00.unk_04), &v11);
ManagedSprite_GetPositionXY(v0->unk_1C[0], &v12.unk_00, &v12.unk_02);
{

View File

@ -1199,7 +1199,7 @@ void ov12_02230754(BattleAnimSystem *param0)
v0->unk_00 = param0;
v0->unk_04 = ov12_022202EC(v0->unk_00);
v0->unk_4C = ov12_0221FDD4(param0);
v0->unk_4C = BattleAnimSystem_IsContest(param0);
v0->unk_10 = ov12_022202C0(v0->unk_00, 0);
ov12_02225E68(&v0->unk_14, 14, 10, 10, 8);

View File

@ -171,7 +171,7 @@ static void ov12_0223507C(BattleAnimSystem *param0, UnkStruct_ov12_02234E44 *par
v2 = ov12_02235254(param0, v3);
if (ov12_0221FDD4(param0) == 1) {
if (BattleAnimSystem_IsContest(param0) == 1) {
ManagedSprite_SetDrawFlag(v0->unk_3C, 0);
v1 = ov12_02223428(v0->unk_18.unk_04, 2);
ManagedSprite_SetExplicitPriority(v0->unk_34, v1);

View File

@ -174,7 +174,7 @@ void ov12_02235350(int param0, int param1, UnkStruct_ov12_02235350 *param2)
void ov12_022353AC(BattleAnimSystem *param0, int param1, UnkStruct_ov12_02235350 *param2)
{
int v0 = ov12_02235254(param0, param1);
int v1 = ov12_0221FDD4(param0);
int v1 = BattleAnimSystem_IsContest(param0);
ov12_02235350(v0, v1, param2);
}
@ -478,10 +478,10 @@ void ov12_02235508(BattleAnimSystem *param0, int param1, VecFx32 *param2)
{
int v0, v1;
int v2;
ParticleSystem *v3 = ov12_02220250(param0);
ParticleSystem *v3 = BattleAnimSystem_GetCurrentParticleSystem(param0);
v2 = ParticleSystem_GetCameraProjection(v3);
v0 = ov12_02235254(param0, param1);
v1 = ov12_0221FDD4(param0);
v1 = BattleAnimSystem_IsContest(param0);
ov12_02235448(v0, param2, v1, v2);
}
@ -490,10 +490,10 @@ void ov12_02235538(BattleAnimSystem *param0, int param1, VecFx32 *param2)
{
int v0, v1;
int v2;
ParticleSystem *v3 = ov12_02220250(param0);
ParticleSystem *v3 = BattleAnimSystem_GetCurrentParticleSystem(param0);
v2 = ParticleSystem_GetCameraProjection(v3);
v0 = ov12_02235254(param0, param1);
v1 = ov12_0221FDD4(param0);
v1 = BattleAnimSystem_IsContest(param0);
ov12_02235458(v0, param2, v1, v2);
}
@ -502,10 +502,10 @@ void ov12_02235568(BattleAnimSystem *param0, int param1, VecFx32 *param2)
{
int v0, v1;
int v2;
ParticleSystem *v3 = ov12_02220250(param0);
ParticleSystem *v3 = BattleAnimSystem_GetCurrentParticleSystem(param0);
v2 = ParticleSystem_GetCameraProjection(v3);
v0 = ov12_02235254(param0, param1);
v1 = ov12_0221FDD4(param0);
v1 = BattleAnimSystem_IsContest(param0);
ov12_02235468(v0, param2, v1, v2);
}
@ -514,10 +514,10 @@ void ov12_02235598(BattleAnimSystem *param0, int param1, VecFx32 *param2)
{
int v0, v1;
int v2;
ParticleSystem *v3 = ov12_02220250(param0);
ParticleSystem *v3 = BattleAnimSystem_GetCurrentParticleSystem(param0);
v2 = ParticleSystem_GetCameraProjection(v3);
v0 = ov12_02235254(param0, param1);
v1 = ov12_0221FDD4(param0);
v1 = BattleAnimSystem_IsContest(param0);
ov12_02235478(v0, param2, v1, v2);
}
@ -526,10 +526,10 @@ void ov12_022355C8(BattleAnimSystem *param0, int param1, VecFx32 *param2)
{
int v0, v1;
int v2;
ParticleSystem *v3 = ov12_02220250(param0);
ParticleSystem *v3 = BattleAnimSystem_GetCurrentParticleSystem(param0);
v2 = ParticleSystem_GetCameraProjection(v3);
v0 = ov12_02235254(param0, param1);
v1 = ov12_0221FDD4(param0);
v1 = BattleAnimSystem_IsContest(param0);
ov12_02235488(v0, param2, v1, v2);
}
@ -538,10 +538,10 @@ void ov12_022355F8(BattleAnimSystem *param0, int param1, VecFx32 *param2)
{
int v0, v1;
int v2;
ParticleSystem *v3 = ov12_02220250(param0);
ParticleSystem *v3 = BattleAnimSystem_GetCurrentParticleSystem(param0);
v2 = ParticleSystem_GetCameraProjection(v3);
v0 = ov12_02235254(param0, param1);
v1 = ov12_0221FDD4(param0);
v1 = BattleAnimSystem_IsContest(param0);
ov12_02235498(v0, param2, v1, v2);
}
@ -550,10 +550,10 @@ void ov12_02235628(BattleAnimSystem *param0, int param1, VecFx32 *param2)
{
int v0, v1;
int v2;
ParticleSystem *v3 = ov12_02220250(param0);
ParticleSystem *v3 = BattleAnimSystem_GetCurrentParticleSystem(param0);
v2 = ParticleSystem_GetCameraProjection(v3);
v0 = ov12_02235254(param0, param1);
v1 = ov12_0221FDD4(param0);
v1 = BattleAnimSystem_IsContest(param0);
ov12_022354A8(v0, param2, v1, v2);
}
@ -562,10 +562,10 @@ void ov12_02235658(BattleAnimSystem *param0, int param1, VecFx32 *param2)
{
int v0, v1;
int v2;
ParticleSystem *v3 = ov12_02220250(param0);
ParticleSystem *v3 = BattleAnimSystem_GetCurrentParticleSystem(param0);
v2 = ParticleSystem_GetCameraProjection(v3);
v0 = ov12_02235254(param0, param1);
v1 = ov12_0221FDD4(param0);
v1 = BattleAnimSystem_IsContest(param0);
ov12_022354B8(v0, param2, v1, v2);
}
@ -574,10 +574,10 @@ void ov12_02235688(BattleAnimSystem *param0, int param1, VecFx32 *param2)
{
int v0, v1;
int v2;
ParticleSystem *v3 = ov12_02220250(param0);
ParticleSystem *v3 = BattleAnimSystem_GetCurrentParticleSystem(param0);
v2 = ParticleSystem_GetCameraProjection(v3);
v0 = ov12_02235254(param0, param1);
v1 = ov12_0221FDD4(param0);
v1 = BattleAnimSystem_IsContest(param0);
ov12_022354C8(v0, param2, v1, v2);
}
@ -586,10 +586,10 @@ void ov12_022356B8(BattleAnimSystem *param0, int param1, VecFx32 *param2)
{
int v0, v1;
int v2;
ParticleSystem *v3 = ov12_02220250(param0);
ParticleSystem *v3 = BattleAnimSystem_GetCurrentParticleSystem(param0);
v2 = ParticleSystem_GetCameraProjection(v3);
v0 = ov12_02235254(param0, param1);
v1 = ov12_0221FDD4(param0);
v1 = BattleAnimSystem_IsContest(param0);
ov12_022354D8(v0, param2, v1, v2);
}
@ -598,10 +598,10 @@ void ov12_022356E8(BattleAnimSystem *param0, int param1, VecFx32 *param2)
{
int v0, v1;
int v2;
ParticleSystem *v3 = ov12_02220250(param0);
ParticleSystem *v3 = BattleAnimSystem_GetCurrentParticleSystem(param0);
v2 = ParticleSystem_GetCameraProjection(v3);
v0 = ov12_02235254(param0, param1);
v1 = ov12_0221FDD4(param0);
v1 = BattleAnimSystem_IsContest(param0);
ov12_022354E8(v0, param2, v1, v2);
}
@ -610,10 +610,10 @@ void ov12_02235718(BattleAnimSystem *param0, int param1, VecFx32 *param2)
{
int v0, v1;
int v2;
ParticleSystem *v3 = ov12_02220250(param0);
ParticleSystem *v3 = BattleAnimSystem_GetCurrentParticleSystem(param0);
v2 = ParticleSystem_GetCameraProjection(v3);
v0 = ov12_02235254(param0, param1);
v1 = ov12_0221FDD4(param0);
v1 = BattleAnimSystem_IsContest(param0);
ov12_022354F8(v0, param2, v1, v2);
}
@ -726,7 +726,7 @@ void ov12_0223595C(BattleAnimSystem *param0, UnkStruct_ov12_0223595C *param1)
param1->unk_02 = 0;
param1->unk_03 = 0;
param1->unk_04 = param0;
param1->unk_08 = ov12_02220308(param0);
param1->unk_08 = BattleAnimSystem_GetSpriteSystem(param0);
param1->unk_0C = ov12_022202EC(param0);
param1->unk_10 = ov12_02220300(param0);
param1->unk_14 = BattleAnimSystem_GetBgConfig(param0);

View File

@ -581,7 +581,7 @@ void ov12_02236384(UnkStruct_ov12_02235FE0 *param0, SPLEmitterCallback param1)
{
param0->unk_88 = 1;
ov12_02220474();
BattleAnimSystem_SetBlendState();
ov12_0223646C(param0, param1);
param0->unk_84 = SysTask_Start(ov12_022363CC, param0, 1000);
@ -2001,7 +2001,7 @@ BallRotation *ov12_02237728(BallThrow *param0)
v0->unk_20 = 16;
v0->unk_21 = 0;
ov12_02220474();
BattleAnimSystem_SetBlendState();
{
int v1;
@ -2310,7 +2310,7 @@ static void ov12_02237D8C(BallRotation *param0)
ManagedSprite_SetAnim(param0->unk_30, 0);
ManagedSprite_TickFrame(param0->unk_30);
ov12_02220474();
BattleAnimSystem_SetBlendState();
}
void ov12_02237E0C(BallRotation *param0, int param1)

View File

@ -46,7 +46,7 @@ UnkStruct_ov12_02237F98 *ov12_02237EFC(int heapID, UnkStruct_ov12_02237EFC *para
return NULL;
}
ov12_02220474();
BattleAnimSystem_SetBlendState();
v0->heapID = heapID;

View File

@ -201,7 +201,7 @@ int ov17_0223B140(ApplicationManager *appMan, int *param1)
ov17_0223B884();
v0->unk_0C.unk_20 = BattleAnimSystem_New(HEAP_ID_21);
ov12_0221FDC0(v0->unk_0C.unk_20, 1);
BattleAnimSystem_SetIsContest(v0->unk_0C.unk_20, 1);
v0->unk_0C.unk_38 = MessageLoader_Init(MESSAGE_LOADER_BANK_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_CONTEST_TEXT, HEAP_ID_21);
v0->unk_0C.unk_3C = MessageLoader_Init(MESSAGE_LOADER_BANK_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_UNK_0205, HEAP_ID_21);

View File

@ -666,7 +666,7 @@ static void ov17_022444BC(SysTask *param0, void *param1)
v3.unk_04 = 1;
v3.unk_08 = 10;
v3.unk_0A = v0->unk_104.unk_07;
v3.unk_0C = v0->unk_104.unk_08;
v3.friendship = v0->unk_104.unk_08;
v3.fieldConditions = 0;
v3.unk_14 = 0;
v3.unk_16 = 1;
@ -717,7 +717,7 @@ static void ov17_022444BC(SysTask *param0, void *param1)
v4.unk_00 = v0->unk_00->unk_0C.unk_18;
v4.unk_6C = v0->unk_00->unk_00->unk_14C[v0->unk_0D];
ov12_0221FE30(v0->unk_00->unk_0C.unk_20, &v3, v0->unk_104.unk_04, &v4);
BattleAnimSystem_StartMove(v0->unk_00->unk_0C.unk_20, &v3, v0->unk_104.unk_04, &v4);
}
{
@ -743,8 +743,8 @@ static void ov17_022444BC(SysTask *param0, void *param1)
case 11:
BattleAnimSystem_ExecuteScript(v0->unk_00->unk_0C.unk_20);
if (ov12_02220188(v0->unk_00->unk_0C.unk_20) == 0) {
ov12_02220198(v0->unk_00->unk_0C.unk_20);
if (BattleAnimSystem_IsMoveActive(v0->unk_00->unk_0C.unk_20) == 0) {
BattleAnimSystem_FreeScriptData(v0->unk_00->unk_0C.unk_20);
if (v0->unk_104.unk_06 > 0) {
v0->unk_104.unk_06--;

View File

@ -12,9 +12,9 @@
#include "sys_task.h"
#include "sys_task_manager.h"
#define FIXED_POLYGON_ID 5
#define MIN_POLYGON_ID 6
#define MAX_POLYGON_ID 63
#define FIXED_POLYGON_ID 5
#define MIN_POLYGON_ID 6
#define MAX_POLYGON_ID 63
enum SPLBehaviorType {
SPL_BEHAVIOR_GRAVITY = 0,