diff --git a/src/DivaGL/dw.cpp b/src/DivaGL/dw.cpp index c986c06..2045be6 100644 --- a/src/DivaGL/dw.cpp +++ b/src/DivaGL/dw.cpp @@ -2272,7 +2272,7 @@ namespace dw { value(), min(), field_A0(), field_A5(), field_A6() { parent_control = parent; max = 100.0f; - field_94 = 10.0f; + grab = 10.0f; step = 1.0f; step_fast = 10.0f; round = true; @@ -2418,6 +2418,10 @@ namespace dw { field_A5 = !value; } + void ScrollBar::SetGrab(float_t value) { + grab = value; + } + void ScrollBar::SetMax(float_t value) { max = value; } @@ -2427,9 +2431,9 @@ namespace dw { } void ScrollBar::SetParams(float_t value, float_t min, - float_t max, float_t a5, float_t step, float_t step_fast) { + float_t max, float_t grab, float_t step, float_t step_fast) { this->value = value; - this->field_94 = a5; + this->grab = grab; this->min = min; this->step_fast = step_fast; this->max = max; @@ -2448,7 +2452,7 @@ namespace dw { if (v6 > size) { min = 0.0f; max = v6 - size; - field_94 = (size / v6) * (v6 - size); + grab = (size / v6) * (v6 - size); ScrollBar::SetValue(value); this->step = step; @@ -2468,7 +2472,7 @@ namespace dw { else { min = 0.0f; max = 0.0f; - field_94 = v6; + grab = v6; SetValue(value); this->step = step; step_fast = v6; @@ -2520,7 +2524,7 @@ namespace dw { size -= _glyph_size * 2.0f; float_t range = max - min; if (range > 0.0) { - float_t v10 = max_def((field_94 * (1.0f / range)) * size, 20.0f); + float_t v10 = max_def((grab * (1.0f / range)) * size, 20.0f); float_t v11 = ((value - min) * (1.0f / range)) * (size - v10); return { v11, v10 }; } @@ -2662,10 +2666,6 @@ namespace dw { return callback_data; } - void ScrollBar::sub_1402F9670(float_t value) { - field_94 = value; - } - void ScrollBar::sub_1402E6CC0(SelectionListener::CallbackData data) { if (!data.field_8) return; diff --git a/src/DivaGL/dw.hpp b/src/DivaGL/dw.hpp index 8723b54..31b5ab7 100644 --- a/src/DivaGL/dw.hpp +++ b/src/DivaGL/dw.hpp @@ -748,7 +748,7 @@ namespace dw { float_t value; float_t min; float_t max; - float_t field_94; + float_t grab; float_t step; float_t step_fast; float_t field_A0; @@ -795,10 +795,11 @@ namespace dw { virtual bool Field_60(); virtual void Field_68(bool value); + void SetGrab(float_t value); void SetMax(float_t value); void SetMin(float_t value); void SetParams(float_t value, float_t min, float_t max, - float_t a5, float_t step, float_t step_fast); + float_t grab, float_t step, float_t step_fast); void SetParams(float_t size, float_t step, size_t items_count); void SetRound(bool value); void SetValue(float_t value); @@ -809,7 +810,6 @@ namespace dw { vec2 sub_1402E4790(); SelectionListener::CallbackData sub_1402E5140(const Widget::KeyCallbackData& key_callback_data); SelectionListener::CallbackData sub_1402E5380(const Widget::MouseCallbackData& mouse_callback_data); - void sub_1402F9670(float_t value); static void sub_1402E6CC0(SelectionListener::CallbackData callback_data); }; @@ -859,6 +859,10 @@ namespace dw { float_t pos_x = 0.0f, float_t pos_y = 0.0f, float_t width = 128.0f, float_t height = 20.0f, const char* text = "slider"); + inline void SetGrab(float_t value) { + scroll_bar->SetGrab(value); + } + inline void SetMax(float_t value) { scroll_bar->SetMax(value); } @@ -868,8 +872,8 @@ namespace dw { } inline void SetParams(float_t value, float_t min, float_t max, - float_t a5, float_t step, float_t step_fast) { - scroll_bar->SetParams(value, min, max, a5, step, step_fast); + float_t grab, float_t step, float_t step_fast) { + scroll_bar->SetParams(value, min, max, grab, step, step_fast); } inline void SetRound(bool value) { @@ -879,10 +883,6 @@ namespace dw { inline void SetValue(float_t value) { scroll_bar->SetValue(value); } - - inline void sub_1402F9670(float_t value) { - scroll_bar->sub_1402F9670(value); - } }; static_assert(sizeof(dw::Slider) == 0x100, "\"dw::Slider\" struct should have a size of 0x100");