diff --git a/src/pc/djui/djui_panel_camera.c b/src/pc/djui/djui_panel_camera.c index 27f4a83a..48aef97f 100644 --- a/src/pc/djui/djui_panel_camera.c +++ b/src/pc/djui/djui_panel_camera.c @@ -1,6 +1,11 @@ #include "djui.h" #include "src/pc/utils/misc.h" #include "src/pc/configfile.h" +#include "src/game/bettercamera.h" + +void djui_panel_camera_value_changed(struct DjuiBase* caller) { + newcam_init_settings(); +} void djui_panel_camera_create(struct DjuiBase* caller) { f32 bodyHeight = 32 * 10 + 64 * 1 + 16 * 10; @@ -13,42 +18,52 @@ void djui_panel_camera_create(struct DjuiBase* caller) { struct DjuiCheckbox* checkbox1 = djui_checkbox_create(&body->base, "Free Camera", &configEnableCamera); djui_base_set_size_type(&checkbox1->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE); djui_base_set_size(&checkbox1->base, 1.0f, 32); + djui_interactable_hook_value_change(&checkbox1->base, djui_panel_camera_value_changed); defaultBase = &checkbox1->base; struct DjuiCheckbox* checkbox2 = djui_checkbox_create(&body->base, "Analog Camera", &configCameraAnalog); djui_base_set_size_type(&checkbox2->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE); + djui_interactable_hook_value_change(&checkbox2->base, djui_panel_camera_value_changed); djui_base_set_size(&checkbox2->base, 1.0f, 32); struct DjuiCheckbox* checkbox3 = djui_checkbox_create(&body->base, "Mouse Look", &configCameraMouse); djui_base_set_size_type(&checkbox3->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE); + djui_interactable_hook_value_change(&checkbox3->base, djui_panel_camera_value_changed); djui_base_set_size(&checkbox3->base, 1.0f, 32); struct DjuiCheckbox* checkbox4 = djui_checkbox_create(&body->base, "Invert X", &configCameraInvertX); djui_base_set_size_type(&checkbox4->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE); + djui_interactable_hook_value_change(&checkbox4->base, djui_panel_camera_value_changed); djui_base_set_size(&checkbox4->base, 1.0f, 32); struct DjuiCheckbox* checkbox5 = djui_checkbox_create(&body->base, "Invert Y", &configCameraInvertY); djui_base_set_size_type(&checkbox5->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE); + djui_interactable_hook_value_change(&checkbox5->base, djui_panel_camera_value_changed); djui_base_set_size(&checkbox5->base, 1.0f, 32); struct DjuiSlider* slider1 = djui_slider_create(&body->base, "X Sensitivity", &configCameraXSens, 1, 100); djui_base_set_size_type(&slider1->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE); + djui_interactable_hook_value_change(&slider1->base, djui_panel_camera_value_changed); djui_base_set_size(&slider1->base, 1.0f, 32); struct DjuiSlider* slider2 = djui_slider_create(&body->base, "Y Sensitivity", &configCameraYSens, 1, 100); djui_base_set_size_type(&slider2->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE); + djui_interactable_hook_value_change(&slider2->base, djui_panel_camera_value_changed); djui_base_set_size(&slider2->base, 1.0f, 32); struct DjuiSlider* slider3 = djui_slider_create(&body->base, "Aggression", &configCameraAggr, 0, 100); djui_base_set_size_type(&slider3->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE); + djui_interactable_hook_value_change(&slider3->base, djui_panel_camera_value_changed); djui_base_set_size(&slider3->base, 1.0f, 32); struct DjuiSlider* slider4 = djui_slider_create(&body->base, "Pan Level", &configCameraPan, 0, 100); djui_base_set_size_type(&slider4->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE); + djui_interactable_hook_value_change(&slider4->base, djui_panel_camera_value_changed); djui_base_set_size(&slider4->base, 1.0f, 32); struct DjuiSlider* slider5 = djui_slider_create(&body->base, "Deceleration", &configCameraDegrade, 0, 100); djui_base_set_size_type(&slider5->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE); + djui_interactable_hook_value_change(&slider5->base, djui_panel_camera_value_changed); djui_base_set_size(&slider5->base, 1.0f, 32); struct DjuiButton* button6 = djui_button_create(&body->base, "Back");