Made soft-resetting of the camera no longer change camera position

This commit is contained in:
MysterD 2023-11-07 14:57:42 -08:00
parent dba41da8ed
commit a091ccca93
3 changed files with 14 additions and 12 deletions

View File

@ -3609,14 +3609,14 @@ void init_camera(struct Camera *c) {
if (sSoftResettingCamera) { if (sSoftResettingCamera) {
c->cutscene = 0; c->cutscene = 0;
sSoftResettingCamera = FALSE; sSoftResettingCamera = FALSE;
} } else {
// Set the camera pos to marioOffset (relative to Mario), added to Mario's position // Set the camera pos to marioOffset (relative to Mario), added to Mario's position
offset_rotated(c->pos, sMarioCamState->pos, marioOffset, sMarioCamState->faceAngle); offset_rotated(c->pos, sMarioCamState->pos, marioOffset, sMarioCamState->faceAngle);
if (c->mode != CAMERA_MODE_BEHIND_MARIO) { if (c->mode != CAMERA_MODE_BEHIND_MARIO) {
c->pos[1] = find_floor(sMarioCamState->pos[0], sMarioCamState->pos[1] + 100.f, c->pos[1] = find_floor(sMarioCamState->pos[0], sMarioCamState->pos[1] + 100.f,
sMarioCamState->pos[2], &floor) + 125.f; sMarioCamState->pos[2], &floor) + 125.f;
} }
}
vec3f_copy(c->focus, sMarioCamState->pos); vec3f_copy(c->focus, sMarioCamState->pos);
vec3f_copy(gLakituState.curPos, c->pos); vec3f_copy(gLakituState.curPos, c->pos);
vec3f_copy(gLakituState.curFocus, c->focus); vec3f_copy(gLakituState.curFocus, c->focus);

View File

@ -459,6 +459,7 @@ static bool djui_chat_box_input_on_key_down(struct DjuiBase* base, int scancode)
djui_chat_box_input_escape(gDjuiChatBox->chatInput); djui_chat_box_input_escape(gDjuiChatBox->chatInput);
return true; return true;
default: default:
{
bool returnValueOnOtherKeyDown = djui_inputbox_on_key_down(base, scancode); bool returnValueOnOtherKeyDown = djui_inputbox_on_key_down(base, scancode);
if (strcmp(previousText, gDjuiChatBox->chatInput->buffer) != 0) { if (strcmp(previousText, gDjuiChatBox->chatInput->buffer) != 0) {
reset_tab_completion_all(); reset_tab_completion_all();
@ -466,6 +467,7 @@ static bool djui_chat_box_input_on_key_down(struct DjuiBase* base, int scancode)
return returnValueOnOtherKeyDown; return returnValueOnOtherKeyDown;
} }
} }
}
static void djui_chat_box_input_on_text_input(struct DjuiBase *base, char* text) { static void djui_chat_box_input_on_text_input(struct DjuiBase *base, char* text) {
size_t expectedIndex = strlen(gDjuiChatBox->chatInput->buffer); size_t expectedIndex = strlen(gDjuiChatBox->chatInput->buffer);

View File

@ -254,7 +254,7 @@ void game_exit(void) {
exit(0); exit(0);
} }
void *main_game_init(void*) { void* main_game_init(UNUSED void* arg) {
const char *gamedir = gCLIOpts.GameDir[0] ? gCLIOpts.GameDir : FS_BASEDIR; const char *gamedir = gCLIOpts.GameDir[0] ? gCLIOpts.GameDir : FS_BASEDIR;
const char *userpath = gCLIOpts.SavePath[0] ? gCLIOpts.SavePath : sys_user_path(); const char *userpath = gCLIOpts.SavePath[0] ? gCLIOpts.SavePath : sys_user_path();
fs_init(sys_ropaths, gamedir, userpath); fs_init(sys_ropaths, gamedir, userpath);