papermario
Decompilation of Paper Mario
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Loading...
Searching...
No Matches
camera.c File Reference

Macros

#define LERP(a, b, alpha)   ((a) * (alpha) + (b) * (1.0f-(alpha)))
 
#define CUBIC_SINE_INTERP(alpha)   (1.0f - sin_rad(sin_rad(sin_rad((1.0f - alpha) * PI_S / 2) * PI_S / 2) * PI_S / 2))
 

Functions

void btl_cam_use_preset_impl (s32 id)
 
void btl_cam_use_preset_immediately (s32 preset)
 
void btl_cam_use_preset (s32 preset)
 
void btl_cam_target_actor (s32 actorID)
 
void btl_cam_target_actor_part (s32 actorID, s32 actorPartIndex)
 
void btl_cam_set_params (b16 skipRecalc, s16 dist, s16 fovScale, s16 pitch, s32 yaw, s32 offsetY, s32 unkParam7, s32 zoomPercent)
 
void btl_cam_move (s16 moveTime)
 
void btl_cam_set_target_pos (f32 x, f32 y, f32 z)
 
void btl_cam_set_pos (f32 x, f32 y, f32 z)
 
s32 btl_cam_is_moving_done (void)
 
void btl_cam_set_zoom (s16 zoom)
 
void btl_cam_add_zoom (s32 zoom)
 
void btl_cam_set_zoffset (s16 zOffset)
 
void btl_cam_unfreeze (void)
 
void btl_cam_disable_clamp_x (void)
 

Variables

s8 BattleCam_IsFrozen = FALSE
 
s32 BattleCam_CurrentPresetID = -1
 
EvtScript EVS_BattleCam_Interrupt
 
EvtScript EVS_BattleCam_UnkF_Skippable
 
EvtScript EVS_BattleCam_UnkM_Skippable
 
EvtScript EVS_BattleCam_UnkG_Skippable
 
EvtScript EVS_BattleCam_FocusActor
 
EvtScript EVS_BattleCam_FocusGoal
 
EvtScript EVS_BattleCam_SimpleLerp_Unskippable
 
EvtScript EVS_BattleCam_ResetNeutral
 
EvtScript EVS_BattleCam_ViewEnemies
 
EvtScript EVS_BattleCam_ViewEnemies_MaintainY
 
EvtScript EVS_BattleCam_SimpleLerp_Skippable
 
EvtScript EVS_BattleCam_FollowActorY
 
EvtScript EVS_BattleCam_FollowActorPos
 
EvtScript EVS_BattleCam_Reset
 
EvtScript EVS_OnBattleInit
 

Macro Definition Documentation

◆ CUBIC_SINE_INTERP

#define CUBIC_SINE_INTERP ( alpha)    (1.0f - sin_rad(sin_rad(sin_rad((1.0f - alpha) * PI_S / 2) * PI_S / 2) * PI_S / 2))

◆ LERP

#define LERP ( a,
b,
alpha )   ((a) * (alpha) + (b) * (1.0f-(alpha)))

Function Documentation

◆ btl_cam_add_zoom()

void btl_cam_add_zoom ( s32 zoom)

◆ btl_cam_disable_clamp_x()

void btl_cam_disable_clamp_x ( void )

◆ btl_cam_is_moving_done()

◆ btl_cam_move()

◆ btl_cam_set_params()

void btl_cam_set_params ( b16 skipRecalc,
s16 dist,
s16 fovScale,
s16 pitch,
s32 yaw,
s32 offsetY,
s32 unkParam7,
s32 zoomPercent )

◆ btl_cam_set_pos()

void btl_cam_set_pos ( f32 x,
f32 y,
f32 z )

◆ btl_cam_set_target_pos()

void btl_cam_set_target_pos ( f32 x,
f32 y,
f32 z )

◆ btl_cam_set_zoffset()

void btl_cam_set_zoffset ( s16 zOffset)

◆ btl_cam_set_zoom()

void btl_cam_set_zoom ( s16 zoom)

◆ btl_cam_target_actor()

◆ btl_cam_target_actor_part()

void btl_cam_target_actor_part ( s32 actorID,
s32 actorPartIndex )

◆ btl_cam_unfreeze()

void btl_cam_unfreeze ( void )

◆ btl_cam_use_preset()

◆ btl_cam_use_preset_immediately()

void btl_cam_use_preset_immediately ( s32 preset)

◆ btl_cam_use_preset_impl()

void btl_cam_use_preset_impl ( s32 id)

Variable Documentation

◆ BattleCam_CurrentPresetID

s32 BattleCam_CurrentPresetID = -1

Referenced by btl_cam_use_preset_impl().

◆ BattleCam_IsFrozen

◆ EVS_BattleCam_FocusActor

EvtScript EVS_BattleCam_FocusActor
Initial value:
= {
Call(BattleCam_Update_FocusActor)
}
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
Definition macros.h:225
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
Definition macros.h:588
#define Return
Kills the current EVT thread.
Definition macros.h:229

Referenced by btl_cam_use_preset_impl().

◆ EVS_BattleCam_FocusGoal

EvtScript EVS_BattleCam_FocusGoal
Initial value:
= {
Call(BattleCam_Update_FocusGoal)
}

Referenced by btl_cam_use_preset_impl().

◆ EVS_BattleCam_FollowActorPos

EvtScript EVS_BattleCam_FollowActorPos
Initial value:
= {
Call(BattleCam_Update_FollowActorPos)
}

Referenced by btl_cam_use_preset_impl().

◆ EVS_BattleCam_FollowActorY

EvtScript EVS_BattleCam_FollowActorY
Initial value:
= {
Call(BattleCam_Update_FollowActorY)
}

Referenced by btl_cam_use_preset_impl().

◆ EVS_BattleCam_Interrupt

EvtScript EVS_BattleCam_Interrupt
Initial value:
= {
Call(BattleCam_Update_Interrupt)
}

Referenced by btl_cam_use_preset_impl().

◆ EVS_BattleCam_Reset

EvtScript EVS_BattleCam_Reset
Initial value:
= {
Call(ForceBattleCamTarget, 0, 15, 0)
Call(SetBattleCamParam, CAM_PARAM_BOOM_LENGTH, 550)
Call(SetBattleCamParam, CAM_PARAM_FOV_SCALE, 100)
Call(SetBattleCamParam, CAM_PARAM_BOOM_PITCH, 8)
}
@ CAM_PARAM_BOOM_PITCH
Definition enums.h:1817
@ CAM_PARAM_BOOM_LENGTH
Definition enums.h:1815
@ CAM_PARAM_FOV_SCALE
Definition enums.h:1816

Referenced by btl_cam_use_preset_impl().

◆ EVS_BattleCam_ResetNeutral

EvtScript EVS_BattleCam_ResetNeutral
Initial value:
= {
Call(BattleCam_Update_ResetToNeutral_Skippable)
}

Referenced by btl_cam_use_preset_impl().

◆ EVS_BattleCam_SimpleLerp_Skippable

EvtScript EVS_BattleCam_SimpleLerp_Skippable
Initial value:
= {
Call(BattleCam_Update_SimpleLerp_Skippable)
}

Referenced by btl_cam_use_preset_impl().

◆ EVS_BattleCam_SimpleLerp_Unskippable

EvtScript EVS_BattleCam_SimpleLerp_Unskippable
Initial value:
= {
Call(BattleCam_Update_SimpleLerp_Unskippable)
}

Referenced by btl_cam_use_preset_impl().

◆ EVS_BattleCam_UnkF_Skippable

EvtScript EVS_BattleCam_UnkF_Skippable
Initial value:
= {
Call(BattleCam_Update_FocusMidpointA)
}

Referenced by btl_cam_use_preset_impl().

◆ EVS_BattleCam_UnkG_Skippable

EvtScript EVS_BattleCam_UnkG_Skippable
Initial value:
= {
Call(BattleCam_Update_FocusActorPart)
}

Referenced by btl_cam_use_preset_impl().

◆ EVS_BattleCam_UnkM_Skippable

EvtScript EVS_BattleCam_UnkM_Skippable
Initial value:
= {
Call(BattleCam_Update_FocusMidpointB)
}

Referenced by btl_cam_use_preset_impl().

◆ EVS_BattleCam_ViewEnemies

EvtScript EVS_BattleCam_ViewEnemies
Initial value:
= {
Call(BattleCam_Update_ViewAllEnemies)
}

Referenced by btl_cam_use_preset_impl().

◆ EVS_BattleCam_ViewEnemies_MaintainY

EvtScript EVS_BattleCam_ViewEnemies_MaintainY
Initial value:
= {
Call(BattleCam_Update_ViewAllEnemies_MaintainY)
}

Referenced by btl_cam_use_preset_impl().

◆ EVS_OnBattleInit

EvtScript EVS_OnBattleInit
Initial value:
= {
Call(SetCamViewport, CAM_BATTLE, 12, 20, 296, 200)
Wait(1)
Call(BattleCamTargetActor, 0)
Call(BattleCam_Init)
}
@ CAM_UPDATE_NO_INTERP
Definition enums.h:4761
@ CAM_BATTLE
Definition enums.h:1801
ApiStatus SetCamEnabled(Evt *script, b32 isInitialCall)
ApiStatus SetCamViewport(Evt *script, b32 isInitialCall)
ApiStatus InitVirtualEntityList(Evt *script, b32 isInitialCall)
ApiStatus InitAnimatedModels(Evt *script, b32 isInitialCall)
ApiStatus SetCamLookTarget(Evt *script, b32 isInitialCall)
ApiStatus SetCamBGColor(Evt *script, b32 isInitialCall)
ApiStatus SetInterpCamParams(Evt *script, b32 isInitialCall)
ApiStatus SetCamPerspective(Evt *script, b32 isInitialCall)
#define Wait(NUM_FRAMES)
Blocks for the given number of frames.
Definition macros.h:266

Referenced by btl_state_update_normal_start().