Document move emitter a2b linear script func

This commit is contained in:
Fexty12573
2025-08-05 22:45:54 +02:00
parent cb2aad96fa
commit db561b9cf9
12 changed files with 547 additions and 523 deletions

View File

@@ -16,6 +16,7 @@
enum CameraProjection {
CAMERA_PROJECTION_PERSPECTIVE = 0,
CAMERA_PROJECTION_ORTHOGRAPHIC,
CAMERA_PROJECTION_COUNT
};
typedef struct CameraAngle {

View File

@@ -105,6 +105,7 @@
#define BATTLER_TYPE_ENEMY_SIDE_SLOT_1 3
#define BATTLER_TYPE_PLAYER_SIDE_SLOT_2 4
#define BATTLER_TYPE_ENEMY_SIDE_SLOT_2 5
#define BATTLER_TYPE_MAX 6
#define BATTLE_SIDE_PLAYER 0
#define BATTLE_SIDE_ENEMY 1

View File

@@ -1,7 +1,9 @@
#ifndef POKEPLATINUM_CONSTANTS_BATTLE_ANIM_H
#define POKEPLATINUM_CONSTANTS_BATTLE_ANIM_H
// clang-format off
#include "constants/battle.h"
// clang-format off
#define BATTLE_ANIM_VAR_BG_MOVE_STEP_X 0 //< Step size for background movement in X direction (BATTLE_BG_SWITCH_FLAG_MOVE)
#define BATTLE_ANIM_VAR_BG_MOVE_STEP_Y 1 //< Step size for background movement in Y direction (BATTLE_BG_SWITCH_FLAG_MOVE)
#define BATTLE_ANIM_VAR_BG_MOVE_START_X 2 //< Starting position for background movement on X axis (BATTLE_BG_SWITCH_FLAG_MOVE)
@@ -103,6 +105,11 @@
#define BATTLE_ANIM_MON_SPRITE_4 4
#define BATTLE_ANIM_MON_SPRITE_F(N) (1 << (N))
// Arbitrary scaling factor to convert particle world coordinates to screen coordinates
#define BATTLE_PARTICLE_PIXEL_FACTOR 172
#define BATTLE_PARTICLE_WORLD_TO_SCREEN(X) ((X) / BATTLE_PARTICLE_PIXEL_FACTOR)
#define BATTLE_PARTICLE_SCREEN_TO_WORLD(X) ((X) * BATTLE_PARTICLE_PIXEL_FACTOR)
// Default positions for battler sprites, lines up with BATTLER_TYPE_*
#define BATTLER_POS_SOLO_PLAYER_X 64
#define BATTLER_POS_SOLO_PLAYER_Y 112
@@ -123,6 +130,9 @@
#define CONTESTANT_POS_ENEMY_X 80
#define CONTESTANT_POS_ENEMY_Y 42
#define CONTESTANT_TYPE_PLAYER (BATTLER_TYPE_MAX + BATTLER_TYPE_SOLO_PLAYER)
#define CONTESTANT_TYPE_ENEMY (BATTLER_TYPE_MAX + BATTLER_TYPE_SOLO_ENEMY)
#define BASE_SCALE_XY 100
// Script function specific constants
@@ -142,5 +152,12 @@
#define SCALE_BATTLER_SPRITE_HOLD(frames) ((frames) >> 16)
#define SCALE_BATTLER_SPRITE_CYCLES(frames) ((frames) & 0xFFFF)
#define EMITTER_ANIMATION_MODE_ATK_TO_DEF 0 //< Animation from attacker to defender
#define EMITTER_ANIMATION_MODE_DEF_TO_ATK 1 //< Animation from defender to attacker
#define EMITTER_ANIMATION_DEFAULT_FRAMES 0xFF
#define EMITTER_ANIMATION_PARAMS(skipFrames, maxFrames) (((skipFrames & 0xFFFF) << 16) | (maxFrames & 0xFFFF))
#define EMITTER_ANIMATION_SKIP_FRAMES(params) ((params & 0xFFFF0000) >> 16)
#define EMITTER_ANIMATION_MAX_FRAMES(params) ((params) & 0x0000FFFF)
// clang-format on
#endif // POKEPLATINUM_CONSTANTS_BATTLE_ANIM_H

View File

@@ -33,7 +33,7 @@ void ov12_02229304(BattleAnimSystem *param0);
void ov12_02229638(BattleAnimSystem *param0);
void ov12_02229810(BattleAnimSystem *param0);
void ov12_02229908(BattleAnimSystem *param0);
void ov12_02229B28(BattleAnimSystem *param0);
void BattleAnimScriptFunc_MoveEmitterA2BLinear(BattleAnimSystem *param0);
void ov12_02229C5C(BattleAnimSystem *param0);
void ov12_02229E54(BattleAnimSystem *param0);
void ov12_0222A00C(BattleAnimSystem *param0);

View File

@@ -48,7 +48,7 @@ int BattleAnimUtil_GetAlliedBattler(BattleAnimSystem *param0, int param1);
int BattleAnimUtil_GetOpposingBattlerType(int param0);
void BattleAnimUtil_GetBattlerTypeDefaultPos(int param0, BOOL param1, Point2D *param2);
void BattleAnimUtil_GetBattlerDefaultPos(BattleAnimSystem *param0, int param1, Point2D *param2);
void ov12_02235448(int param0, VecFx32 *param1, int param2, int param3);
void BattleAnimUtil_GetBattlerTypeWorldPos_Normal(int param0, VecFx32 *param1, BOOL isContest, enum CameraProjection projection);
void ov12_02235458(int param0, VecFx32 *param1, int param2, int param3);
void ov12_02235468(int param0, VecFx32 *param1, int param2, int param3);
void ov12_02235478(int param0, VecFx32 *param1, int param2, int param3);
@@ -60,7 +60,7 @@ void ov12_022354C8(int param0, VecFx32 *param1, int param2, int param3);
void ov12_022354D8(int param0, VecFx32 *param1, int param2, int param3);
void ov12_022354E8(int param0, VecFx32 *param1, int param2, int param3);
void ov12_022354F8(int param0, VecFx32 *param1, int param2, int param3);
void ov12_02235508(BattleAnimSystem *param0, int param1, VecFx32 *param2);
void BattleAnimUtil_GetBattlerWorldPos_Normal(BattleAnimSystem *param0, int param1, VecFx32 *param2);
void ov12_02235538(BattleAnimSystem *param0, int param1, VecFx32 *param2);
void ov12_02235568(BattleAnimSystem *param0, int param1, VecFx32 *param2);
void ov12_02235598(BattleAnimSystem *param0, int param1, VecFx32 *param2);