Finalizing the new custom camera system
This commit is contained in:
parent
f612c787b2
commit
df76b6d81a
|
|
@ -50,7 +50,7 @@ auto_switch_to_the_next_mission = "true"
|
|||
skip_cutscenes = "false"
|
||||
[CAMERA]
|
||||
default_camera_mode = "2"
|
||||
alternate_camera_mode = "3"
|
||||
alternate_camera_mode = "0"
|
||||
horizontal_analog_camera = "true"
|
||||
vertical_analog_camera = "true"
|
||||
center_camera_button = "true"
|
||||
|
|
|
|||
|
|
@ -496,7 +496,7 @@ extern u8 sZoomOutAreaMasks[];
|
|||
|
||||
#define VERTICAL_MIN 6144.0f
|
||||
#define VERTICAL_MAX 12288.0f
|
||||
#define VERTICAL_MAX_LIMITED 4096.0f
|
||||
#define VERTICAL_MAX_LIMITED 8192.0f
|
||||
#define VERTICAL_MAX_PITCH 9216.0f
|
||||
|
||||
static void skip_camera_interpolation(void) {
|
||||
|
|
@ -972,7 +972,8 @@ s32 update_8_directions_camera(struct Camera *c, Vec3f focus, Vec3f pos) {
|
|||
*/
|
||||
s32 update_custom_camera(struct Camera *c, Vec3f focus, Vec3f pos, f32 yOff, f32 additionalDistance, s8 dynamic) {
|
||||
s16 camYaw = sModeOffsetYaw;
|
||||
s16 pitch = dynamic ? look_down_slopes(camYaw) : 0.0f;
|
||||
//s16 pitch = dynamic ? look_down_slopes(camYaw) : 0.0f;
|
||||
s16 pitch = 0.0f;
|
||||
f32 posY;
|
||||
f32 focusY;
|
||||
|
||||
|
|
@ -1295,9 +1296,6 @@ void mode_custom_camera(struct Camera *c, f32 yOff, f32 additionalDistance, s8 l
|
|||
s16 oldAreaYaw = sAreaYaw;
|
||||
s16 avoidYaw;
|
||||
|
||||
radial_camera_input(c, 0.f);
|
||||
radial_camera_move(c);
|
||||
|
||||
if (gPlayer1Controller->buttonPressed & R_CBUTTONS) {
|
||||
sModeOffsetYaw += DEGREES(22.5);
|
||||
play_sound_cbutton_side();
|
||||
|
|
@ -3262,13 +3260,8 @@ void update_camera(struct Camera *c) {
|
|||
if (sSelectionFlags & CAM_MODE_MARIO_ACTIVE) {
|
||||
switch (configAlternateCameraMode) {
|
||||
// Manual Cam
|
||||
case 3:
|
||||
manual_cam_modes(c);
|
||||
break;
|
||||
|
||||
// Modern Cam
|
||||
case 2:
|
||||
modern_cam_modes(c);
|
||||
manual_cam_modes(c);
|
||||
break;
|
||||
|
||||
// Mario Cam
|
||||
|
|
@ -3284,13 +3277,8 @@ void update_camera(struct Camera *c) {
|
|||
} else {
|
||||
switch (configDefaultCameraMode) {
|
||||
// Manual Cam
|
||||
case 3:
|
||||
manual_cam_modes(c);
|
||||
break;
|
||||
|
||||
// Modern Cam
|
||||
case 2:
|
||||
modern_cam_modes(c);
|
||||
manual_cam_modes(c);
|
||||
break;
|
||||
|
||||
// Mario Cam
|
||||
|
|
@ -3439,8 +3427,13 @@ void mario_cam_modes(struct Camera *c) {
|
|||
void manual_cam_modes(struct Camera *c) {
|
||||
|
||||
switch (c->mode) {
|
||||
|
||||
case CAMERA_MODE_8_DIRECTIONS:
|
||||
mode_custom_camera(c, 150.0f, 256.0f, TRUE, FALSE, TRUE);
|
||||
break;
|
||||
|
||||
case CAMERA_MODE_BEHIND_MARIO:
|
||||
mode_custom_camera(c, -75.0f, 0.0f, FALSE, FALSE, FALSE);
|
||||
mode_custom_camera(c, -75.0f, 0.0f, FALSE, TRUE, TRUE);
|
||||
break;
|
||||
|
||||
case CAMERA_MODE_C_UP:
|
||||
|
|
@ -3448,86 +3441,19 @@ void manual_cam_modes(struct Camera *c) {
|
|||
break;
|
||||
|
||||
case CAMERA_MODE_WATER_SURFACE:
|
||||
mode_custom_camera(c, 75.0f, 0.0f, FALSE, FALSE, FALSE);
|
||||
mode_custom_camera(c, 75.0f, 0.0f, FALSE, TRUE, TRUE);
|
||||
break;
|
||||
|
||||
case CAMERA_MODE_INSIDE_CANNON:
|
||||
mode_cannon_camera(c, 1);
|
||||
break;
|
||||
|
||||
default:
|
||||
mode_custom_camera(c, 150.0f, 0.0f, FALSE, FALSE, FALSE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void modern_cam_modes(struct Camera *c) {
|
||||
|
||||
switch (c->mode) {
|
||||
case CAMERA_MODE_BEHIND_MARIO:
|
||||
mode_behind_mario_camera(c);
|
||||
break;
|
||||
|
||||
case CAMERA_MODE_C_UP:
|
||||
mode_c_up_camera(c);
|
||||
break;
|
||||
|
||||
case CAMERA_MODE_WATER_SURFACE:
|
||||
mode_water_surface_camera(c);
|
||||
break;
|
||||
|
||||
case CAMERA_MODE_INSIDE_CANNON:
|
||||
mode_cannon_camera(c, 0);
|
||||
break;
|
||||
|
||||
case CAMERA_MODE_8_DIRECTIONS:
|
||||
mode_custom_camera(c, 150.0f, 256.0f, TRUE, FALSE, TRUE);
|
||||
break;
|
||||
/*
|
||||
case CAMERA_MODE_RADIAL:
|
||||
mode_radial_camera(c);
|
||||
break;
|
||||
|
||||
case CAMERA_MODE_OUTWARD_RADIAL:
|
||||
mode_outward_radial_camera(c);
|
||||
break;
|
||||
*/
|
||||
case CAMERA_MODE_CLOSE:
|
||||
mode_lakitu_camera(c);
|
||||
//mode_custom_camera(c, 150.0f, -512.0f, TRUE, TRUE, TRUE);
|
||||
break;
|
||||
|
||||
case CAMERA_MODE_FREE_ROAM:
|
||||
mode_custom_camera(c, 150.0f, -256.0f, FALSE, TRUE, TRUE);
|
||||
break;
|
||||
|
||||
case CAMERA_MODE_BOSS_FIGHT:
|
||||
mode_boss_fight_camera(c);
|
||||
break;
|
||||
|
||||
case CAMERA_MODE_PARALLEL_TRACKING:
|
||||
mode_parallel_tracking_camera(c);
|
||||
break;
|
||||
|
||||
case CAMERA_MODE_SLIDE_HOOT:
|
||||
mode_slide_camera(c);
|
||||
break;
|
||||
|
||||
case CAMERA_MODE_FIXED:
|
||||
mode_fixed_camera(c);
|
||||
break;
|
||||
|
||||
case CAMERA_MODE_SPIRAL_STAIRS:
|
||||
mode_spiral_stairs_camera(c);
|
||||
break;
|
||||
|
||||
default:
|
||||
mode_custom_camera(c, 150.0f, 0.0f, FALSE, TRUE, TRUE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reset all the camera variables to their arcane defaults
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue