31 switch (
cam->updateMode) {
56 guLookAtReflectF(
cam->mtxViewPlayer, &
gDisplayContext->
lookAt,
cam->lookAt_eye.x,
cam->lookAt_eye.y,
cam->lookAt_eye.z,
cam->lookAt_obj.x,
cam->lookAt_obj.y,
cam->lookAt_obj.z, 0, 1.0f, 0);
78 guOrthoF(
cam->mtxPerspective, -
w * 0.5,
w * 0.5, -
h * 0.5,
h * 0.5, -1000.0f, 1000.0f, 1.0f);
82 cam->targetScreenCoords.x =
sx;
83 cam->targetScreenCoords.y =
sy;
84 cam->targetScreenCoords.z =
sz;
134 ulx =
camera->viewportStartX;
135 uly =
camera->viewportStartY;
136 lrx = ulx +
camera->viewportW;
137 lry = uly +
camera->viewportH;
331 camera->lookAt_obj.z = -100.0f;
333 camera->curBoomLength = 0;
334 camera->targetOffsetY = 0;
335 camera->curBoomYaw = 0.0f;
336 camera->targetBoomYaw = 0.0f;
342 camera->params.world.zoomPercent = 100;
347 camera->lookAt_obj_target.x = 0;
348 camera->lookAt_obj_target.y = 0;
349 camera->lookAt_obj_target.z = 0;
355 camera->leadAmount = 0.0f;
356 camera->targetLeadAmount = 0.0f;
357 camera->leadInterpAlpha = 0.0f;
358 camera->accumulatedStickLead = 0.0f;
360 camera->prevLeadPosX = 0.0f;
361 camera->prevLeadPosZ = 0.0f;
362 camera->leadConstrainDir = 0;
367 camera->leadAmtScale = 0.2f;
376 camera->viewportH = height;
377 camera->viewportStartX = x;
378 camera->viewportStartY = y;
382 camera->vp.vp.vscale[2] = 0x1FF;
383 camera->vp.vp.vscale[3] = 0;
388 camera->vp.vp.vtrans[2] = 0x1FF;
389 camera->vp.vp.vtrans[3] = 0;
393 camera->vpAlt.vp.vscale[2] = 0x1FF;
394 camera->vpAlt.vp.vscale[3] = 0;
398 camera->vpAlt.vp.vtrans[2] = 0x200;
399 camera->vpAlt.vp.vtrans[3] = 0;
443 }
else if (x >
endX) {
445 }
else if (y < startY) {
447 }
else if (y > endY) {
BSS s32 PopupMenu_SelectedIndex
void create_cameras(void)
void get_cam_viewport(s32 camID, u16 *x, u16 *y, u16 *width, u16 *height)
b32 is_outside_cam_viewport_bounds(s32 camID, s32 x, s32 y)
void get_screen_coords(s32 camID, f32 x, f32 y, f32 z, s32 *screenX, s32 *screenY, s32 *screenZ)
void get_cam_viewport_bounds(s32 camID, s32 *x, s32 *y, s32 *width, s32 *height)
void execute_render_tasks(void)
void render_frame(s32 isSecondPass)
void update_cameras(void)
Camera * initialize_next_camera(CameraInitData *initData)
DisplayContext * gDisplayContext
void render_item_entities(void)
void set_cam_viewport(s16 id, s16 x, s16 y, s16 width, s16 height)
void update_camera_zone_interp(Camera *camera)
void update_camera_no_interp(Camera *)
void update_camera_unused_radial(Camera *)
void create_camera_leadplayer_matrix(Camera *)
void update_camera_unused_confined(Camera *)
void update_camera_unused_leading(Camera *)
void update_camera_minimal(Camera *)
void update_camera_interp_pos(Camera *)
#define ASSERT(condition)
@ CAMERA_FLAG_RENDER_MODELS
@ CAMERA_FLAG_LEAD_PLAYER
@ CAMERA_FLAG_RENDER_ENTITIES
@ CAMERA_FLAG_INITIALIZED
@ CAM_UPDATE_UNUSED_RADIAL
@ CAM_UPDATE_UNUSED_CONFINED
@ CAM_UPDATE_UNUSED_LEADING
void render_entities(void)
void render_workers_scene(void)
void render_effects_scene(void)
void mdl_update_transform_matrices(void)
void render_transformed_hud_elements(void)
void render_npcs(void)
Renders all NPCs.
#define GFX_PROFILER_SWITCH(complete, begin)
@ PROFILER_TIME_SUB_GFX_HUD_ELEMENTS
@ PROFILER_TIME_SUB_GFX_ENTITIES
@ PROFILER_TIME_SUB_GFX_WORKERS
@ PROFILER_TIME_SUB_GFX_PLAYER
@ PROFILER_TIME_SUB_GFX_EFFECTS
@ PROFILER_TIME_SUB_GFX_MODELS
@ PROFILER_TIME_SUB_GFX_RENDER_TASKS
@ PROFILER_TIME_SUB_GFX_NPCS
#define GFX_PROFILER_COMPLETE(which)
#define GFX_PROFILER_START(which)
void(* fpDoPreRender)(struct Camera *)
GameStatus * gGameStatusPtr