58 camera->nearClip = nearClip;
208 camera->lookAt_obj_target.y = y;
209 camera->lookAt_obj_target.z = z;
254 switch (data->useTarget) {
256 data->vel.x = (posX -
cam->lookAt_obj_target.x) / data->time;
257 data->vel.y = (posY -
cam->lookAt_obj_target.y) / data->time;
258 data->vel.z = (posZ -
cam->lookAt_obj_target.z) / data->time;
261 data->vel.x = (posX -
cam->targetPos.x) / data->time;
262 data->vel.y = (posY -
cam->targetPos.y) / data->time;
263 data->vel.z = (posZ -
cam->targetPos.z) / data->time;
270 switch (data->useTarget) {
272 cam->lookAt_obj_target.x += data->vel.x;
273 cam->lookAt_obj_target.y += data->vel.y;
274 cam->lookAt_obj_target.z += data->vel.z;
277 cam->targetPos.x += data->vel.x;
278 cam->targetPos.y += data->vel.y;
279 cam->targetPos.z += data->vel.z;
284 if (data->time == 0) {
313 script->functionTempF[3] = 1.0f;
314 script->functionTemp[1] = duration;
337 scale =
script->functionTempF[3];
350 script->functionTempF[3] =
script->functionTempF[3] * -0.8;
357 if (
script->functionTemp[1] == 0) {
361 script->functionTemp[1]--;
370 script->varTable[1] = mode;
371 script->varTable[2] = duration;
449 camera->interpEasingParameter = 0.0f;
465 s32 hitID =
test_ray_zones(startX, startY + 10.0f,
startZ, 0.0f, -1.0f, 0.0f, &
hitX, &
hitY, &
hitZ, &
hitDepth,
480 camera->overrideSettings = *settings;
491 camera->overrideSettings.flag = enabled;
503 camera->overrideSettings.boomPitch = boomPitch;
504 camera->overrideSettings.viewPitch = viewPitch;
514 camera->overrideSettings.boomLength = boomLength;
525 camera->overrideSettings.points.three.Ax = x;
526 camera->overrideSettings.points.three.Az = z;
537 camera->overrideSettings.points.three.Bx = x;
538 camera->overrideSettings.points.three.Bz = z;
549 camera->overrideSettings.points.three.Cx =
y1;
550 camera->overrideSettings.points.three.Cz =
y2;
690 zoneID =
test_ray_zones(posX, posY + 10.0f, posZ, 0.0f, -1.0f, 0.0f, &
hitX, &
hitY, &
hitZ, &
hitDepth, &
nX, &
nY, &
nZ);
698 camera->overrideSettings.boomLength = boomLength;
699 camera->overrideSettings.boomPitch = boomPitch;
700 camera->overrideSettings.viewPitch = viewPitch;
701 camera->moveSpeed = moveSpeed;
704 camera->interpEasingParameter = 0.0f;
708 if (
camera->interpAlpha < 1.0f) {
717 f32 posX, posY, posZ;
733 zoneID =
test_ray_zones(posX, posY + 10.0f, posZ, 0.0f, -1.0f, 0.0f, &
hitX, &
hitY, &
hitZ, &
hitDepth, &
nX, &
nY, &
nZ);
741 camera->overrideSettings.boomLength = boomLength;
742 camera->overrideSettings.boomPitch = boomPitch;
743 camera->overrideSettings.viewPitch = viewPitch;
744 camera->moveSpeed = moveSpeed;
747 camera->interpEasingParameter = 0.0f;
751 if (
camera->interpAlpha < 1.0f) {
774 hitID =
test_ray_zones(x, y + 10.0f, z, 0.0f, -1.0f, 0.0f, &
hitX, &
hitY, &
hitZ, &
hitDepth,
784 camera->moveSpeed = moveSpeed;
787 camera->interpEasingParameter = 0.0f;
791 if (
camera->interpAlpha < 1.0f) {
798 camera->interpEasingParameter = 0.0f;
BSS s32 PopupMenu_SelectedIndex
void exec_ShakeCam1(s32 camID, s32 mode, s32 duration)
void exec_ShakeCamX(s32 camID, s32 mode, s32 duration, f32 magnitude)
@ CAM_SHAKE_DECAYING_VERTICAL
@ CAM_SHAKE_CONSTANT_VERTICAL
@ CAM_SHAKE_ANGULAR_HORIZONTAL
@ CAMERA_FLAG_LEAD_PLAYER
@ CAMERA_FLAG_SUPRESS_LEADING
@ CAMERA_MOVE_IGNORE_PLAYER_Y
void start_rumble(s32, s32)
s32 test_ray_zones(f32 startX, f32 startY, f32 startZ, f32 dirX, f32 dirY, f32 dirZ, f32 *hitX, f32 *hitY, f32 *hitZ, f32 *hitDepth, f32 *nx, f32 *ny, f32 *nz)
s32 evt_get_variable(Evt *script, Bytecode var)
f32 evt_set_float_variable(Evt *script, Bytecode var, f32 value)
s32 evt_set_variable(Evt *script, Bytecode var, s32 value)
f32 evt_get_float_variable(Evt *script, Bytecode var)
Evt * start_script_in_group(EvtScript *source, u8 priority, u8 initialState, u8 groupFlags)
void * heap_malloc(s32 size)
void set_cam_viewport(s16 id, s16 x, s16 y, s16 width, s16 height)
ApiStatus GetCamPosB(Evt *script, b32 isInitialCall)
ApiStatus SetCamPosA(Evt *script, b32 isInitialCall)
ApiStatus SetCamEnabled(Evt *script, b32 isInitialCall)
ApiStatus SetCamViewport(Evt *script, b32 isInitialCall)
ApiStatus ResetCam(Evt *script, b32 isInitialCall)
ApiStatus SetCamPitch(Evt *script, b32 isInitialCall)
ApiStatus GetCamPosA(Evt *script, b32 isInitialCall)
ApiStatus SetInterpCamOffsetY(Evt *script, b32 isInitialCall)
ApiStatus SetCamPosB(Evt *script, b32 isInitialCall)
ApiStatus GetCamPitch(Evt *script, b32 isInitialCall)
ApiStatus LoadSettings(Evt *script, b32 isInitialCall)
ApiStatus SetCamUpdateMode(Evt *script, b32 isInitialCall)
ApiStatus DisableCameraFollowPlayerY(Evt *script, b32 isInitialCall)
ApiStatus PanToTarget(Evt *script, b32 isInitialCall)
ApiStatus SetCamType(Evt *script, b32 isInitialCall)
ApiStatus GetInterpCamDist(Evt *script, b32 isInitialCall)
ApiStatus GrabCamera(Evt *script, b32 isInitialCall)
ApiStatus SetCamProperties(Evt *script, b32 isInitialCall)
ApiStatus GetCamType(Evt *script, b32 isInitialCall)
ApiStatus SetCamLeadScale(Evt *script, b32 isInitialCall)
ApiStatus InterpCamTargetPos(Evt *script, b32 isInitialCall)
ApiStatus SetCamLookTarget(Evt *script, b32 isInitialCall)
ApiStatus SetCamBGColor(Evt *script, b32 isInitialCall)
ApiStatus SetCamDistance(Evt *script, b32 isInitialCall)
ApiStatus AdjustCam(Evt *script, b32 isInitialCall)
ApiStatus SetInterpCamParams(Evt *script, b32 isInitialCall)
ApiStatus WaitForCam(Evt *script, b32 isInitialCall)
ApiStatus GetCamPosition(Evt *script, b32 isInitialCall)
ApiStatus EnableCameraFollowPlayerY(Evt *script, b32 isInitialCall)
ApiStatus GetCamDistance(Evt *script, b32 isInitialCall)
ApiStatus SetCamLeadPlayer(Evt *script, b32 isInitialCall)
ApiStatus ShakeCam(Evt *script, b32 isInitialCall)
ApiStatus SetNoInterpCamParams(Evt *script, b32 isInitialCall)
ApiStatus GetInterpCamOffsetY(Evt *script, b32 isInitialCall)
ApiStatus EnableCameraLeadingPlayer(Evt *script, b32 isInitialCall)
ApiStatus SetCamPosC(Evt *script, b32 isInitialCall)
ApiStatus SetCamTarget(Evt *script, b32 isInitialCall)
ApiStatus SetInterpCamDist(Evt *script, b32 isInitialCall)
ApiStatus UseSettingsFrom(Evt *script, b32 isInitialCall)
ApiStatus SetPanTarget(Evt *script, b32 isInitialCall)
ApiStatus SetCamSpeed(Evt *script, b32 isInitialCall)
ApiStatus SetCamNoDraw(Evt *script, b32 isInitialCall)
ApiStatus SetCamPerspective(Evt *script, b32 isInitialCall)
ApiStatus GetCamPosC(Evt *script, b32 isInitialCall)
ApiStatus DisableCameraLeadingPlayer(Evt *script, b32 isInitialCall)
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
#define SetGroup(GROUP)
Sets the current thread's group. Group value meanings are currently not known.
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
#define Return
Kills the current EVT thread.
CollisionData gZoneCollisionData
GameStatus * gGameStatusPtr
PlayerStatus gPlayerStatus