mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-12-12 03:02:30 +00:00
feat(gameui): add CGWorldFrame class skeleton
This commit is contained in:
parent
88e21b4a22
commit
41f4992ebe
8 changed files with 90 additions and 4 deletions
|
|
@ -4,6 +4,7 @@
|
|||
#include <storm/Log.hpp>
|
||||
|
||||
#include "client/Client.hpp"
|
||||
#include "gameui/CGWorldFrame.hpp"
|
||||
#include "gx/Coordinate.hpp"
|
||||
#include "gx/Device.hpp"
|
||||
#include "ui/FrameScript.hpp"
|
||||
|
|
@ -175,7 +176,7 @@ void CGGameUI::Initialize() {
|
|||
}
|
||||
|
||||
void CGGameUI::RegisterFrameFactories() {
|
||||
//FrameXML_RegisterFactory("WorldFrame", (int)CGWorldFrame::Create, 1);
|
||||
FrameXML_RegisterFactory("WorldFrame", CGWorldFrame::Create, 1);
|
||||
//FrameXML_RegisterFactory("GameTooltip", (int)CGTooltip::Create, 0);
|
||||
//FrameXML_RegisterFactory("Cooldown", (int)sub_51A380, 0);
|
||||
//FrameXML_RegisterFactory("Minimap", (int)CGMinimapFrame::Create, 0);
|
||||
|
|
|
|||
51
src/gameui/CGWorldFrame.cpp
Normal file
51
src/gameui/CGWorldFrame.cpp
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
#include "gameui/CGWorldFrame.hpp"
|
||||
|
||||
#include "gx/Transform.hpp"
|
||||
|
||||
#include <storm/Memory.hpp>
|
||||
#include <tempest/Matrix.hpp>
|
||||
|
||||
|
||||
CGWorldFrame* CGWorldFrame::s_currentWorldFrame = nullptr;
|
||||
|
||||
|
||||
CGWorldFrame::CGWorldFrame(CSimpleFrame* parent) : CSimpleFrame(parent) {
|
||||
// TODO
|
||||
s_currentWorldFrame = this;
|
||||
}
|
||||
|
||||
void CGWorldFrame::OnFrameRender(CRenderBatch* batch, uint32_t layer) {
|
||||
CSimpleFrame::OnFrameRender(batch, layer);
|
||||
if (!layer) {
|
||||
batch->QueueCallback(&CGWorldFrame::RenderWorld, this);
|
||||
}
|
||||
}
|
||||
|
||||
CSimpleFrame* CGWorldFrame::Create(CSimpleFrame* parent) {
|
||||
// TODO: Data = CDataAllocator__GetData(0, ".?AVCGWorldFrame@@", -2);
|
||||
|
||||
auto m = SMemAlloc(sizeof(CGWorldFrame), __FILE__, __LINE__, 0);
|
||||
return m ? (new (m) CGWorldFrame(parent)) : nullptr;
|
||||
}
|
||||
|
||||
void CGWorldFrame::RenderWorld(void* param) {
|
||||
C44Matrix saved_proj;
|
||||
GxXformProjection(saved_proj);
|
||||
|
||||
C44Matrix saved_view;
|
||||
GxXformView(saved_view);
|
||||
|
||||
CGWorldFrame::OnWorldUpdate();
|
||||
CGWorldFrame::OnWorldRender();
|
||||
|
||||
//PlayerNameRenderWorldText();
|
||||
|
||||
GxXformSetProjection(saved_proj);
|
||||
GxXformSetView(saved_view);
|
||||
}
|
||||
|
||||
void CGWorldFrame::OnWorldUpdate() {
|
||||
}
|
||||
|
||||
void CGWorldFrame::OnWorldRender() {
|
||||
}
|
||||
22
src/gameui/CGWorldFrame.hpp
Normal file
22
src/gameui/CGWorldFrame.hpp
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
#ifndef GAME_UI_CGWORLDFRAME_HPP
|
||||
#define GAME_UI_CGWORLDFRAME_HPP
|
||||
|
||||
#include "ui/CSimpleFrame.hpp"
|
||||
#include "ui/CSimpleTop.hpp"
|
||||
|
||||
class CGWorldFrame : public CSimpleFrame {
|
||||
public:
|
||||
CGWorldFrame(CSimpleFrame* parent);
|
||||
|
||||
virtual void OnFrameRender(CRenderBatch* batch, uint32_t layer);
|
||||
|
||||
static CSimpleFrame* Create(CSimpleFrame* parent);
|
||||
static void RenderWorld(void* param);
|
||||
static void OnWorldUpdate();
|
||||
static void OnWorldRender();
|
||||
|
||||
public:
|
||||
static CGWorldFrame* s_currentWorldFrame;
|
||||
};
|
||||
|
||||
#endif // GAME_UI_CGWORLDFRAME_HPP
|
||||
Loading…
Add table
Add a link
Reference in a new issue