aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Gui.h
diff options
context:
space:
mode:
authordaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
committerdaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
commitb691c43c44ff180d10e7d4a9afc83b98551ff586 (patch)
tree3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.Client/Gui.h
parentdef8cb415354ac390b7e89052a50605285f1aca9 (diff)
Initial commit
Diffstat (limited to 'Minecraft.Client/Gui.h')
-rw-r--r--Minecraft.Client/Gui.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/Minecraft.Client/Gui.h b/Minecraft.Client/Gui.h
new file mode 100644
index 00000000..41762016
--- /dev/null
+++ b/Minecraft.Client/Gui.h
@@ -0,0 +1,68 @@
+#pragma once
+#include "GuiComponent.h"
+#include "GuiMessage.h"
+class Random;
+class Minecraft;
+class ItemRenderer;
+
+class Gui : public GuiComponent
+{
+private:
+ // 4J-PB - this doesn't account for the safe zone, and the indent applied to messages
+ //static const int MAX_MESSAGE_WIDTH = 320;
+ static const int m_iMaxMessageWidth = 280;
+ static ItemRenderer *itemRenderer;
+ vector<GuiMessage> guiMessages[XUSER_MAX_COUNT];
+ Random *random;
+
+ Minecraft *minecraft;
+public:
+ wstring selectedName;
+private:
+ int tickCount;
+ wstring overlayMessageString;
+ int overlayMessageTime;
+ bool animateOverlayMessageColor;
+
+ // 4J Added
+ float lastTickA;
+ float fAlphaIncrementPerCent;
+public:
+ static float currentGuiBlendFactor; // 4J added
+ static float currentGuiScaleFactor; // 4J added
+
+ float progress;
+
+// private DecimalFormat df = new DecimalFormat("##.00");
+
+public:
+ Gui(Minecraft *minecraft);
+
+ void render(float a, bool mouseFree, int xMouse, int yMouse);
+ float tbr;
+
+private:
+ //void renderBossHealth(void);
+ void renderPumpkin(int w, int h);
+ void renderVignette(float br, int w, int h);
+ void renderTp(float br, int w, int h);
+ void renderSlot(int slot, int x, int y, float a);
+public:
+ void tick();
+ void clearMessages(int iPad=-1);
+ void addMessage(const wstring& string, int iPad,bool bIsDeathMessage=false);
+ void setNowPlaying(const wstring& string);
+ void displayClientMessage(int messageId, int iPad);
+
+ // 4J Added
+ DWORD getMessagesCount(int iPad) { return (int)guiMessages[iPad].size(); }
+ wstring getMessage(int iPad, DWORD index) { return guiMessages[iPad].at(index).string; }
+ float getOpacity(int iPad, DWORD index);
+
+ wstring getJukeboxMessage(int iPad) { return overlayMessageString; }
+ float getJukeboxOpacity(int iPad);
+
+ // 4J Added
+ void renderGraph(int dataLength, int dataPos, __int64 *dataA, float dataAScale, int dataAWarning, __int64 *dataB, float dataBScale, int dataBWarning);
+ void renderStackedGraph(int dataPos, int dataLength, int dataSources, __int64 (*func)(unsigned int dataPos, unsigned int dataSource) );
+};