You've already forked Microtransactions64
mirror of
https://github.com/Print-and-Panic/Microtransactions64.git
synced 2026-01-21 10:17:19 -08:00
184 lines
6.5 KiB
Diff
184 lines
6.5 KiB
Diff
|
|
diff --git a/src/game/camera.c b/src/game/camera.c
|
||
|
|
index 13d3fe2..be49880 100644
|
||
|
|
--- a/src/game/camera.c
|
||
|
|
+++ b/src/game/camera.c
|
||
|
|
@@ -259,6 +259,7 @@ s16 sCameraSoundFlags;
|
||
|
|
* Stores what C-Buttons are pressed this frame.
|
||
|
|
*/
|
||
|
|
u16 sCButtonsPressed;
|
||
|
|
+u16 stoppedMovingCamera;
|
||
|
|
/**
|
||
|
|
* A copy of gDialogID, the dialog displayed during the cutscene.
|
||
|
|
*/
|
||
|
|
@@ -433,6 +434,9 @@ u8 sFramesSinceCutsceneEnded = 0;
|
||
|
|
* 3 = Dialog doesn't have a response
|
||
|
|
*/
|
||
|
|
u8 sCutsceneDialogResponse = 0;
|
||
|
|
+u8 stickReset = 1;
|
||
|
|
+u8 cButtonCounter;
|
||
|
|
+u8 lastCameraMove;
|
||
|
|
struct PlayerCameraState *sMarioCamState = &gPlayerCameraState[0];
|
||
|
|
struct PlayerCameraState *sLuigiCamState = &gPlayerCameraState[1];
|
||
|
|
u32 unused8032D008 = 0;
|
||
|
|
@@ -442,6 +446,9 @@ Vec3f sUnusedModeBasePosition_3 = { 646.0f, 143.0f, -1513.0f };
|
||
|
|
Vec3f sUnusedModeBasePosition_4 = { 646.0f, 143.0f, -1513.0f };
|
||
|
|
Vec3f sUnusedModeBasePosition_5 = { 646.0f, 143.0f, -1513.0f };
|
||
|
|
|
||
|
|
+#define MOVED_LEFT 1
|
||
|
|
+#define MOVED_RIGHT 2
|
||
|
|
+
|
||
|
|
s32 update_radial_camera(struct Camera *c, Vec3f, Vec3f);
|
||
|
|
s32 update_outward_radial_camera(struct Camera *c, Vec3f, Vec3f);
|
||
|
|
s32 update_behind_mario_camera(struct Camera *c, Vec3f, Vec3f);
|
||
|
|
@@ -1176,14 +1183,39 @@ void mode_8_directions_camera(struct Camera *c) {
|
||
|
|
|
||
|
|
radial_camera_input(c, 0.f);
|
||
|
|
|
||
|
|
- if (gPlayer1Controller->buttonPressed & R_CBUTTONS) {
|
||
|
|
- s8DirModeYawOffset += DEGREES(45);
|
||
|
|
- play_sound_cbutton_side();
|
||
|
|
- }
|
||
|
|
- if (gPlayer1Controller->buttonPressed & L_CBUTTONS) {
|
||
|
|
- s8DirModeYawOffset -= DEGREES(45);
|
||
|
|
- play_sound_cbutton_side();
|
||
|
|
+ if (gPlayer1Controller->buttonDown & L_CBUTTONS) {
|
||
|
|
+ s8DirModeYawOffset -= DEGREES(4);
|
||
|
|
+ cButtonCounter++;
|
||
|
|
+ stoppedMovingCamera = 0;
|
||
|
|
+ lastCameraMove = MOVED_LEFT;
|
||
|
|
+
|
||
|
|
+ }
|
||
|
|
+ else if (gPlayer1Controller->buttonDown & R_CBUTTONS) {
|
||
|
|
+ s8DirModeYawOffset += DEGREES(4);
|
||
|
|
+ cButtonCounter++;
|
||
|
|
+ stoppedMovingCamera = 0;
|
||
|
|
+ lastCameraMove = MOVED_RIGHT;
|
||
|
|
+ }
|
||
|
|
+ else if (gPlayer2Controller->rawStickX) {
|
||
|
|
+ s8DirModeYawOffset += DEGREES(gPlayer2Controller->rawStickX * 4 / 64);
|
||
|
|
+ } else {
|
||
|
|
+ stoppedMovingCamera = 1;
|
||
|
|
+ }
|
||
|
|
+
|
||
|
|
+ if (stoppedMovingCamera == 1) {
|
||
|
|
+ if ((cButtonCounter < 5) && (cButtonCounter > 0)) {
|
||
|
|
+ if (lastCameraMove == MOVED_RIGHT) {
|
||
|
|
+ s8DirModeYawOffset += DEGREES(45);
|
||
|
|
+ cButtonCounter = 0;
|
||
|
|
+ } else {
|
||
|
|
+ s8DirModeYawOffset -= DEGREES(45);
|
||
|
|
+ cButtonCounter = 0;
|
||
|
|
+ }
|
||
|
|
+ } else {
|
||
|
|
+ cButtonCounter = 0;
|
||
|
|
+ }
|
||
|
|
}
|
||
|
|
+
|
||
|
|
|
||
|
|
lakitu_zoom(400.f, 0x900);
|
||
|
|
c->nextYaw = update_8_directions_camera(c, c->focus, pos);
|
||
|
|
@@ -2760,7 +2792,7 @@ s32 mode_c_up_camera(struct Camera *c) {
|
||
|
|
sPanDistance = 0.f;
|
||
|
|
|
||
|
|
// Exit C-Up mode
|
||
|
|
- if (gPlayer1Controller->buttonPressed & (A_BUTTON | B_BUTTON | D_CBUTTONS | L_CBUTTONS | R_CBUTTONS)) {
|
||
|
|
+ if ((gPlayer1Controller->buttonPressed & (A_BUTTON | B_BUTTON | D_CBUTTONS | L_CBUTTONS | R_CBUTTONS)) || (gPlayer2Controller->rawStickY < -10)) {
|
||
|
|
exit_c_up(c);
|
||
|
|
}
|
||
|
|
return 0;
|
||
|
|
@@ -3015,14 +3047,11 @@ void update_camera(struct Camera *c) {
|
||
|
|
// Only process R_TRIG if 'fixed' is not selected in the menu
|
||
|
|
if (cam_select_alt_mode(0) == CAM_SELECTION_MARIO) {
|
||
|
|
if (gPlayer1Controller->buttonPressed & R_TRIG) {
|
||
|
|
- if (set_cam_angle(0) == CAM_ANGLE_LAKITU) {
|
||
|
|
- set_cam_angle(CAM_ANGLE_MARIO);
|
||
|
|
- } else {
|
||
|
|
- set_cam_angle(CAM_ANGLE_LAKITU);
|
||
|
|
- }
|
||
|
|
+ s8DirModeYawOffset = gMarioState->faceAngle[1]-0x8000;
|
||
|
|
+ play_sound_rbutton_changed();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
- play_sound_if_cam_switched_to_lakitu_or_mario();
|
||
|
|
+ //play_sound_if_cam_switched_to_lakitu_or_mario();
|
||
|
|
}
|
||
|
|
|
||
|
|
// Initialize the camera
|
||
|
|
@@ -3865,7 +3894,7 @@ s32 find_c_buttons_pressed(u16 currentState, u16 buttonsPressed, u16 buttonsDown
|
||
|
|
currentState &= ~R_CBUTTONS;
|
||
|
|
}
|
||
|
|
|
||
|
|
- if (buttonsPressed & U_CBUTTONS) {
|
||
|
|
+ if ((buttonsPressed & U_CBUTTONS)) {
|
||
|
|
currentState |= U_CBUTTONS;
|
||
|
|
currentState &= ~D_CBUTTONS;
|
||
|
|
}
|
||
|
|
@@ -4816,19 +4845,19 @@ void play_camera_buzz_if_c_sideways(void) {
|
||
|
|
}
|
||
|
|
|
||
|
|
void play_sound_cbutton_up(void) {
|
||
|
|
- play_sound(SOUND_MENU_CAMERA_ZOOM_IN, gGlobalSoundSource);
|
||
|
|
+ //play_sound(SOUND_MENU_CAMERA_ZOOM_IN, gGlobalSoundSource);
|
||
|
|
}
|
||
|
|
|
||
|
|
void play_sound_cbutton_down(void) {
|
||
|
|
- play_sound(SOUND_MENU_CAMERA_ZOOM_OUT, gGlobalSoundSource);
|
||
|
|
+ //play_sound(SOUND_MENU_CAMERA_ZOOM_OUT, gGlobalSoundSource);
|
||
|
|
}
|
||
|
|
|
||
|
|
void play_sound_cbutton_side(void) {
|
||
|
|
- play_sound(SOUND_MENU_CAMERA_TURN, gGlobalSoundSource);
|
||
|
|
+ //play_sound(SOUND_MENU_CAMERA_TURN, gGlobalSoundSource);
|
||
|
|
}
|
||
|
|
|
||
|
|
void play_sound_button_change_blocked(void) {
|
||
|
|
- play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource);
|
||
|
|
+ //play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource);
|
||
|
|
}
|
||
|
|
|
||
|
|
void play_sound_rbutton_changed(void) {
|
||
|
|
@@ -4925,7 +4954,7 @@ s32 radial_camera_input(struct Camera *c, UNUSED f32 unused) {
|
||
|
|
}
|
||
|
|
|
||
|
|
// Zoom in / enter C-Up
|
||
|
|
- if (gPlayer1Controller->buttonPressed & U_CBUTTONS) {
|
||
|
|
+ if (((gPlayer1Controller->buttonPressed & U_CBUTTONS) || (gPlayer2Controller->rawStickY > 40)) && (stickReset)) {
|
||
|
|
if (gCameraMovementFlags & CAM_MOVE_ZOOMED_OUT) {
|
||
|
|
gCameraMovementFlags &= ~CAM_MOVE_ZOOMED_OUT;
|
||
|
|
play_sound_cbutton_up();
|
||
|
|
@@ -4935,7 +4964,7 @@ s32 radial_camera_input(struct Camera *c, UNUSED f32 unused) {
|
||
|
|
}
|
||
|
|
|
||
|
|
// Zoom out
|
||
|
|
- if (gPlayer1Controller->buttonPressed & D_CBUTTONS) {
|
||
|
|
+ if ((gPlayer1Controller->buttonPressed & D_CBUTTONS) || (gPlayer2Controller->rawStickY < -40)) {
|
||
|
|
if (gCameraMovementFlags & CAM_MOVE_ZOOMED_OUT) {
|
||
|
|
gCameraMovementFlags |= CAM_MOVE_ALREADY_ZOOMED_OUT;
|
||
|
|
#ifndef VERSION_JP
|
||
|
|
@@ -4946,7 +4975,11 @@ s32 radial_camera_input(struct Camera *c, UNUSED f32 unused) {
|
||
|
|
play_sound_cbutton_down();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
-
|
||
|
|
+ if ((gPlayer2Controller->rawStickY > 40) || (gPlayer2Controller->rawStickY < -40)) {
|
||
|
|
+ stickReset = 0;
|
||
|
|
+ } else {
|
||
|
|
+ stickReset = 1;
|
||
|
|
+ }
|
||
|
|
//! returning uninitialized variable
|
||
|
|
return dummy;
|
||
|
|
}
|
||
|
|
diff --git a/src/game/hud.c b/src/game/hud.c
|
||
|
|
index f11b626..003a634 100644
|
||
|
|
--- a/src/game/hud.c
|
||
|
|
+++ b/src/game/hud.c
|
||
|
|
@@ -506,7 +506,7 @@ void render_hud(void) {
|
||
|
|
|
||
|
|
if (hudDisplayFlags & HUD_DISPLAY_FLAG_CAMERA_AND_POWER) {
|
||
|
|
render_hud_power_meter();
|
||
|
|
- render_hud_camera_status();
|
||
|
|
+ //render_hud_camera_status();
|
||
|
|
}
|
||
|
|
|
||
|
|
if (hudDisplayFlags & HUD_DISPLAY_FLAG_TIMER) {
|