mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-04-18 02:52:47 +03:00
feat(gameui): add CGWorldFrame class skeleton
This commit is contained in:
parent
534cb920da
commit
0646c569f1
@ -4,6 +4,7 @@
|
||||
#include <common/DataStore.hpp>
|
||||
|
||||
#include "console/Line.hpp"
|
||||
#include "world/World.hpp"
|
||||
|
||||
|
||||
uint32_t s_newZoneID = 0;
|
||||
@ -54,7 +55,7 @@ int32_t LoginVerifyWorldHandler(void* param, NETMESSAGE msgId, uint32_t time, CD
|
||||
// return 0;
|
||||
//}
|
||||
//s_newMapname = *(_DWORD*)(v0 + 4);
|
||||
//LoadNewWorld(0, 0);
|
||||
LoadNewWorld();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ void ClientServices::GetCharacterList() {
|
||||
}
|
||||
|
||||
void ClientServices::CharacterLogin(uint64_t id, const C3Vector& position) {
|
||||
// TODO
|
||||
ClientServices::s_currentConnection->CharacterLogin(id);
|
||||
}
|
||||
|
||||
REALM_INFO* ClientServices::GetRealmInfoByIndex(int32_t index) {
|
||||
|
@ -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
|
@ -150,7 +150,10 @@ void FrameScript_CreateEvents(const char* names[], uint32_t count) {
|
||||
FrameScript::s_scriptEvents.SetCount(count);
|
||||
|
||||
for (int32_t i = 0; i < count; i++) {
|
||||
auto event = FrameScript::s_scriptEventsHash.New(names[i], 0, 0);
|
||||
FrameScript_EventObject* event = nullptr;
|
||||
if (names[i]) {
|
||||
event = FrameScript::s_scriptEventsHash.New(names[i], 0, 0);
|
||||
}
|
||||
FrameScript::s_scriptEvents[i] = event;
|
||||
}
|
||||
}
|
||||
|
6
src/world/World.cpp
Normal file
6
src/world/World.cpp
Normal file
@ -0,0 +1,6 @@
|
||||
#include "world/World.hpp"
|
||||
|
||||
int32_t LoadNewWorld() {
|
||||
|
||||
return 1;
|
||||
}
|
@ -3,4 +3,6 @@
|
||||
|
||||
#include "world/CWorld.hpp"
|
||||
|
||||
int32_t LoadNewWorld();
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user