rodecomp/Source/UI/UIBarGraph.h
ragnarok-clanker ee57ca162c Decompile 3 functions in Source/UI/Window/UIMessageBox.cpp, Source/UI/Window/UIPetInfoWnd.h, ...
Batch #8309 by eAthena: 0 byte-identical, 3 confirmed by peer review.

- fn_11740 UIHomunInfoWnd::Slot15: logic confirmed by peer review
- fn_11763 UIHomunInfoWnd::Paint: logic confirmed by peer review
- fn_11803 UIHomunInfoWnd::SendMsg: logic confirmed by peer review

Peer-reviewed-by: gordaoprogramas, System4z, dori
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-31 16:23:23 +00:00

109 lines
2.4 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_UIBARGRAPH_H
#define RAGNAROK_SOURCE_UI_UIBARGRAPH_H
#include "UI/Window/UIWindow.h"
#include <cstdint>
#include <functional>
struct UIButtonContext;
class UIBarGraph : public UIWindow {
public:
explicit UIBarGraph(UIWindowContext& context) : UIWindow(context, 0), m_value(0) {
}
void Paint() override;
void SetValue(float value);
/* 007C */ float m_value;
};
class UIBarGraph3 : public UIWindow {
public:
explicit UIBarGraph3(UIWindowContext& context);
~UIBarGraph3() override;
protected:
/* 007C */ const int* m_current;
/* 0080 */ const int* m_maximum;
};
class UIBarGraph4 : public UIBarGraph3 {
public:
explicit UIBarGraph4(UIWindowContext& context) : UIBarGraph3(context) {
}
void Paint() override;
void Slot28(int x, int y) override;
void SetValues(const int* current, const int* maximum);
/* 0084 */ bool m_plainColor;
protected:
UIButtonContext* m_controls;
};
class UIINT64BarGraph : public UIWindow {
public:
explicit UIINT64BarGraph(UIWindowContext& context);
void Paint() override;
void Slot28(int x, int y) override;
void SetValues(std::int64_t current, std::int64_t maximum);
void FillBackground(std::uint32_t color);
/* 007C */ unsigned char m_plainColor;
protected:
/* 0080 */ std::int64_t m_current;
/* 0088 */ std::int64_t m_maximum;
UIButtonContext* m_controls;
};
class UIPetInfoBarGraph : public UIWindow {
public:
explicit UIPetInfoBarGraph(UIWindowContext& context);
void Paint() override;
void SetValue(int value);
/* 007C */ int unknown_007C;
};
class UIBarGraphHomun : public UIWindow {
public:
explicit UIBarGraphHomun(UIWindowContext& context);
void Paint() override;
void SetValues(std::function<std::int64_t()> current, std::function<std::int64_t()> maximum);
protected:
/* 0080 */ std::function<std::int64_t()> m_current;
/* 00A8 */ std::function<std::int64_t()> m_maximum;
};
class UIBarGraphPlayer : public UIWindow {
public:
explicit UIBarGraphPlayer(UIWindowContext& context);
~UIBarGraphPlayer() override;
void Paint() override;
void SetValues(std::function<std::int64_t()> current, std::function<std::int64_t()> maximum);
protected:
/* 0080 */ std::function<std::int64_t()> m_current;
/* 00A8 */ std::function<std::int64_t()> m_maximum;
};
class UIBarGraphPlayerAP : public UIBarGraphPlayer {
public:
void Paint() override;
};
#endif