mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 13:07:42 +00:00
RumbleFxTable and final FrontEnd options functions
This commit is contained in:
@@ -9,22 +9,48 @@ namespace urde
|
||||
|
||||
class CGuiSliderGroup : public CGuiCompoundWidget
|
||||
{
|
||||
float xf8_minVal;
|
||||
float xfc_maxVal;
|
||||
float x100_curVal;
|
||||
float x104_increment;
|
||||
u32 x108_ = 2;
|
||||
CGuiWidget* x10c_workers[2] = {};
|
||||
std::function<void(CGuiSliderGroup*, float)> x114_changeCallback;
|
||||
public:
|
||||
enum class EState
|
||||
{
|
||||
None,
|
||||
Decreasing,
|
||||
Increasing
|
||||
};
|
||||
|
||||
private:
|
||||
float xb8_minVal;
|
||||
float xbc_maxVal;
|
||||
float xc0_roundedCurVal;
|
||||
float xc4_curVal;
|
||||
float xc8_increment;
|
||||
CGuiWidget* xcc_sliderRangeWidgets[2] = {};
|
||||
std::function<void(CGuiSliderGroup*, float)> xd8_changeCallback;
|
||||
EState xf0_state = EState::None;
|
||||
union {
|
||||
struct
|
||||
{
|
||||
bool xf4_24_inputPending : 1;
|
||||
};
|
||||
u8 _dummy = 0;
|
||||
};
|
||||
|
||||
void StartDecreasing();
|
||||
void StartIncreasing();
|
||||
|
||||
public:
|
||||
CGuiSliderGroup(const CGuiWidgetParms& parms, float a, float b, float c, float d);
|
||||
FourCC GetWidgetTypeID() const {return FOURCC('SLGP');}
|
||||
|
||||
EState GetState() const { return xf0_state; }
|
||||
void SetSelectionChangedCallback(std::function<void(CGuiSliderGroup*, float)>&& func);
|
||||
void SetIncrement(float inc) {x104_increment = inc;}
|
||||
void SetMinVal(float min) {xf8_minVal = min; SetCurVal(x100_curVal);}
|
||||
void SetMaxVal(float max) {xfc_maxVal = max; SetCurVal(x100_curVal);}
|
||||
void SetIncrement(float inc) { xc8_increment = inc; }
|
||||
void SetMinVal(float min) { xb8_minVal = min; SetCurVal(xc0_roundedCurVal); }
|
||||
void SetMaxVal(float max) { xbc_maxVal = max; SetCurVal(xc0_roundedCurVal); }
|
||||
void SetCurVal(float cur);
|
||||
float GetGurVal() const { return xc0_roundedCurVal; }
|
||||
|
||||
void ProcessUserInput(const CFinalInput& input);
|
||||
void Update(float dt);
|
||||
|
||||
bool AddWorkerWidget(CGuiWidget* worker);
|
||||
CGuiWidget* GetWorkerWidget(int id);
|
||||
|
||||
Reference in New Issue
Block a user