feat(ui): add stub implementations of remaining game frame classes
Some checks are pending
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:cl compiler_name:MSVC cxx:cl os:windows-latest system_name:Windows test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:clang compiler_name:Clang cxx:clang++ os:macos-latest system_name:macOS test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:gcc compiler_name:GCC cxx:g++ os:ubuntu-latest system_name:Linux test_path:WhoaTest]) (push) Waiting to run

This commit is contained in:
fallenoak 2026-01-29 21:33:04 -06:00
parent 26522016e0
commit f19894ef12
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
25 changed files with 784 additions and 4 deletions

View File

@ -0,0 +1,37 @@
#include "ui/game/CGCharacterModelBase.hpp"
#include "ui/game/CGCharacterModelBaseScript.hpp"
int32_t CGCharacterModelBase::s_metatable;
int32_t CGCharacterModelBase::s_objectType;
CSimpleFrame* CGCharacterModelBase::Create(CSimpleFrame* parent) {
// TODO use CDataAllocator
return STORM_NEW(CGCharacterModelBase)(parent);
}
void CGCharacterModelBase::CreateScriptMetaTable() {
auto L = FrameScript_GetContext();
CGCharacterModelBase::s_metatable = FrameScript_Object::CreateScriptMetaTable(L, &CGCharacterModelBase::RegisterScriptMethods);
}
int32_t CGCharacterModelBase::GetObjectType() {
if (!CGCharacterModelBase::s_objectType) {
CGCharacterModelBase::s_objectType = ++FrameScript_Object::s_objectTypes;
}
return CGCharacterModelBase::s_objectType;
}
void CGCharacterModelBase::RegisterScriptMethods(lua_State* L) {
CSimpleModel::RegisterScriptMethods(L);
FrameScript_Object::FillScriptMethodTable(L, CGCharacterModelBaseMethods, NUM_CG_CHARACTER_MODEL_BASE_SCRIPT_METHODS);
}
CGCharacterModelBase::CGCharacterModelBase(CSimpleFrame* parent) : CSimpleModel(parent) {
// TODO
}
int32_t CGCharacterModelBase::GetScriptMetaTable() {
return CGCharacterModelBase::s_metatable;
}

View File

@ -0,0 +1,28 @@
#ifndef UI_GAME_C_G_CHARACTER_MODEL_BASE_HPP
#define UI_GAME_C_G_CHARACTER_MODEL_BASE_HPP
#include "ui/simple/CSimpleModel.hpp"
class CGCharacterModelBase : public CSimpleModel {
public:
// Static variables
static int32_t s_metatable;
static int32_t s_objectType;
// Static functions
static CSimpleFrame* Create(CSimpleFrame* parent);
static void CreateScriptMetaTable();
static int32_t GetObjectType();
static void RegisterScriptMethods(lua_State* L);
// Member variables
// TODO
// Virtual member functions
virtual int32_t GetScriptMetaTable();
// Member functions
CGCharacterModelBase(CSimpleFrame* parent);
};
#endif

View File

@ -0,0 +1,30 @@
#include "ui/game/CGCharacterModelBaseScript.hpp"
#include "ui/FrameScript.hpp"
#include "util/Unimplemented.hpp"
namespace {
int32_t Script_SetUnit(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t Script_SetCreature(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t Script_RefreshUnit(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t Script_SetRotation(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
}
FrameScript_Method CGCharacterModelBaseMethods[] = {
{ "SetUnit", &Script_SetUnit },
{ "SetCreature", &Script_SetCreature },
{ "RefreshUnit", &Script_RefreshUnit },
{ "SetRotation", &Script_SetRotation },
};

View File

@ -0,0 +1,10 @@
#ifndef UI_GAME_C_G_CHARACTER_MODEL_BASE_SCRIPT_HPP
#define UI_GAME_C_G_CHARACTER_MODEL_BASE_SCRIPT_HPP
#include "ui/Types.hpp"
#define NUM_CG_CHARACTER_MODEL_BASE_SCRIPT_METHODS 4
extern FrameScript_Method CGCharacterModelBaseMethods[NUM_CG_CHARACTER_MODEL_BASE_SCRIPT_METHODS];
#endif

View File

@ -0,0 +1,37 @@
#include "ui/game/CGCooldown.hpp"
#include "ui/game/CGCooldownScript.hpp"
int32_t CGCooldown::s_metatable;
int32_t CGCooldown::s_objectType;
CSimpleFrame* CGCooldown::Create(CSimpleFrame* parent) {
// TODO use CDataAllocator
return STORM_NEW(CGCooldown)(parent);
}
void CGCooldown::CreateScriptMetaTable() {
auto L = FrameScript_GetContext();
CGCooldown::s_metatable = FrameScript_Object::CreateScriptMetaTable(L, &CGCooldown::RegisterScriptMethods);
}
int32_t CGCooldown::GetObjectType() {
if (!CGCooldown::s_objectType) {
CGCooldown::s_objectType = ++FrameScript_Object::s_objectTypes;
}
return CGCooldown::s_objectType;
}
void CGCooldown::RegisterScriptMethods(lua_State* L) {
CSimpleFrame::RegisterScriptMethods(L);
FrameScript_Object::FillScriptMethodTable(L, CGCooldownMethods, NUM_CG_COOLDOWN_SCRIPT_METHODS);
}
CGCooldown::CGCooldown(CSimpleFrame* parent) : CSimpleFrame(parent) {
// TODO
}
int32_t CGCooldown::GetScriptMetaTable() {
return CGCooldown::s_metatable;
}

View File

@ -0,0 +1,28 @@
#ifndef UI_GAME_C_G_COOLDOWN_HPP
#define UI_GAME_C_G_COOLDOWN_HPP
#include "ui/simple/CSimpleFrame.hpp"
class CGCooldown : public CSimpleFrame {
public:
// Static variables
static int32_t s_metatable;
static int32_t s_objectType;
// Static functions
static CSimpleFrame* Create(CSimpleFrame* parent);
static void CreateScriptMetaTable();
static int32_t GetObjectType();
static void RegisterScriptMethods(lua_State* L);
// Member variables
// TODO
// Virtual member functions
virtual int32_t GetScriptMetaTable();
// Member functions
CGCooldown(CSimpleFrame* parent);
};
#endif

View File

@ -0,0 +1,35 @@
#include "ui/game/CGCooldownScript.hpp"
#include "ui/FrameScript.hpp"
#include "util/Unimplemented.hpp"
namespace {
int32_t CGCooldown_SetCooldown(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGCooldown_SetReverse(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGCooldown_GetReverse(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGCooldown_SetDrawEdge(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGCooldown_GetDrawEdge(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
}
FrameScript_Method CGCooldownMethods[] = {
{ "SetCooldown", &CGCooldown_SetCooldown },
{ "SetReverse", &CGCooldown_SetReverse },
{ "GetReverse", &CGCooldown_GetReverse },
{ "SetDrawEdge", &CGCooldown_SetDrawEdge },
{ "GetDrawEdge", &CGCooldown_GetDrawEdge },
};

View File

@ -0,0 +1,10 @@
#ifndef UI_GAME_C_G_COOLDOWN_SCRIPT_HPP
#define UI_GAME_C_G_COOLDOWN_SCRIPT_HPP
#include "ui/Types.hpp"
#define NUM_CG_COOLDOWN_SCRIPT_METHODS 5
extern FrameScript_Method CGCooldownMethods[NUM_CG_COOLDOWN_SCRIPT_METHODS];
#endif

View File

@ -0,0 +1,37 @@
#include "ui/game/CGDressUpModelFrame.hpp"
#include "ui/game/CGDressUpModelFrameScript.hpp"
int32_t CGDressUpModelFrame::s_metatable;
int32_t CGDressUpModelFrame::s_objectType;
CSimpleFrame* CGDressUpModelFrame::Create(CSimpleFrame* parent) {
// TODO use CDataAllocator
return STORM_NEW(CGDressUpModelFrame)(parent);
}
void CGDressUpModelFrame::CreateScriptMetaTable() {
auto L = FrameScript_GetContext();
CGDressUpModelFrame::s_metatable = FrameScript_Object::CreateScriptMetaTable(L, &CGDressUpModelFrame::RegisterScriptMethods);
}
int32_t CGDressUpModelFrame::GetObjectType() {
if (!CGDressUpModelFrame::s_objectType) {
CGDressUpModelFrame::s_objectType = ++FrameScript_Object::s_objectTypes;
}
return CGDressUpModelFrame::s_objectType;
}
void CGDressUpModelFrame::RegisterScriptMethods(lua_State* L) {
CGCharacterModelBase::RegisterScriptMethods(L);
FrameScript_Object::FillScriptMethodTable(L, CGDressUpModelFrameMethods, NUM_CG_DRESS_UP_MODEL_FRAME_SCRIPT_METHODS);
}
CGDressUpModelFrame::CGDressUpModelFrame(CSimpleFrame* parent) : CGCharacterModelBase(parent) {
// TODO
}
int32_t CGDressUpModelFrame::GetScriptMetaTable() {
return CGDressUpModelFrame::s_metatable;
}

View File

@ -0,0 +1,28 @@
#ifndef UI_GAME_C_G_DRESS_UP_MODEL_FRAME_HPP
#define UI_GAME_C_G_DRESS_UP_MODEL_FRAME_HPP
#include "ui/game/CGCharacterModelBase.hpp"
class CGDressUpModelFrame : public CGCharacterModelBase {
public:
// Static variables
static int32_t s_metatable;
static int32_t s_objectType;
// Static functions
static CSimpleFrame* Create(CSimpleFrame* parent);
static void CreateScriptMetaTable();
static int32_t GetObjectType();
static void RegisterScriptMethods(lua_State* L);
// Member variables
// TODO
// Virtual member functions
virtual int32_t GetScriptMetaTable();
// Member functions
CGDressUpModelFrame(CSimpleFrame* parent);
};
#endif

View File

@ -0,0 +1,25 @@
#include "ui/game/CGDressUpModelFrameScript.hpp"
#include "ui/FrameScript.hpp"
#include "util/Unimplemented.hpp"
namespace {
int32_t Script_Undress(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t Script_Dress(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t Script_TryOn(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
}
FrameScript_Method CGDressUpModelFrameMethods[] = {
{ "Undress", &Script_Undress },
{ "Dress", &Script_Dress },
{ "TryOn", &Script_TryOn },
};

View File

@ -0,0 +1,10 @@
#ifndef UI_GAME_C_G_DRESS_UP_MODEL_FRAME_SCRIPT_HPP
#define UI_GAME_C_G_DRESS_UP_MODEL_FRAME_SCRIPT_HPP
#include "ui/Types.hpp"
#define NUM_CG_DRESS_UP_MODEL_FRAME_SCRIPT_METHODS 3
extern FrameScript_Method CGDressUpModelFrameMethods[NUM_CG_DRESS_UP_MODEL_FRAME_SCRIPT_METHODS];
#endif

View File

@ -4,6 +4,12 @@
#include "ui/FrameXML.hpp"
#include "ui/Key.hpp"
#include "ui/game/BattlefieldInfoScript.hpp"
#include "ui/game/CGCharacterModelBase.hpp"
#include "ui/game/CGCooldown.hpp"
#include "ui/game/CGDressUpModelFrame.hpp"
#include "ui/game/CGMinimapFrame.hpp"
#include "ui/game/CGQuestPOIFrame.hpp"
#include "ui/game/CGTabardModelFrame.hpp"
#include "ui/game/CGTooltip.hpp"
#include "ui/game/CGWorldFrame.hpp"
#include "ui/game/CharacterInfoScript.hpp"
@ -22,8 +28,12 @@ void LoadScriptFunctions() {
// TODO
CGTooltip::CreateScriptMetaTable();
// TODO
CGCooldown::CreateScriptMetaTable();
CGMinimapFrame::CreateScriptMetaTable();
CGCharacterModelBase::CreateScriptMetaTable();
CGDressUpModelFrame::CreateScriptMetaTable();
CGTabardModelFrame::CreateScriptMetaTable();
CGQuestPOIFrame::CreateScriptMetaTable();
GameScriptRegisterFunctions();
UIBindingsRegisterScriptFunctions();
@ -137,6 +147,10 @@ void CGGameUI::InitializeGame() {
void CGGameUI::RegisterFrameFactories() {
FrameXML_RegisterFactory("WorldFrame", &CGWorldFrame::Create, true);
FrameXML_RegisterFactory("GameTooltip", &CGTooltip::Create, false);
// TODO register remaining factories
FrameXML_RegisterFactory("Cooldown", &CGCooldown::Create, false);
FrameXML_RegisterFactory("Minimap", &CGMinimapFrame::Create, false);
FrameXML_RegisterFactory("PlayerModel", &CGCharacterModelBase::Create, false);
FrameXML_RegisterFactory("DressUpModel", &CGDressUpModelFrame::Create, false);
FrameXML_RegisterFactory("TabardModel", &CGTabardModelFrame::Create, false);
FrameXML_RegisterFactory("QuestPOIFrame", &CGQuestPOIFrame::Create, false);
}

View File

@ -0,0 +1,37 @@
#include "ui/game/CGMinimapFrame.hpp"
#include "ui/game/CGMinimapFrameScript.hpp"
int32_t CGMinimapFrame::s_metatable;
int32_t CGMinimapFrame::s_objectType;
CSimpleFrame* CGMinimapFrame::Create(CSimpleFrame* parent) {
// TODO use CDataAllocator
return STORM_NEW(CGMinimapFrame)(parent);
}
void CGMinimapFrame::CreateScriptMetaTable() {
auto L = FrameScript_GetContext();
CGMinimapFrame::s_metatable = FrameScript_Object::CreateScriptMetaTable(L, &CGMinimapFrame::RegisterScriptMethods);
}
int32_t CGMinimapFrame::GetObjectType() {
if (!CGMinimapFrame::s_objectType) {
CGMinimapFrame::s_objectType = ++FrameScript_Object::s_objectTypes;
}
return CGMinimapFrame::s_objectType;
}
void CGMinimapFrame::RegisterScriptMethods(lua_State* L) {
CSimpleFrame::RegisterScriptMethods(L);
FrameScript_Object::FillScriptMethodTable(L, CGMinimapFrameMethods, NUM_CG_MINIMAP_FRAME_SCRIPT_METHODS);
}
CGMinimapFrame::CGMinimapFrame(CSimpleFrame* parent) : CSimpleFrame(parent) {
// TODO
}
int32_t CGMinimapFrame::GetScriptMetaTable() {
return CGMinimapFrame::s_metatable;
}

View File

@ -0,0 +1,28 @@
#ifndef UI_GAME_C_G_MINIMAP_FRAME_HPP
#define UI_GAME_C_G_MINIMAP_FRAME_HPP
#include "ui/simple/CSimpleFrame.hpp"
class CGMinimapFrame : public CSimpleFrame {
public:
// Static variables
static int32_t s_metatable;
static int32_t s_objectType;
// Static functions
static CSimpleFrame* Create(CSimpleFrame* parent);
static void CreateScriptMetaTable();
static int32_t GetObjectType();
static void RegisterScriptMethods(lua_State* L);
// Member variables
// TODO
// Virtual member functions
virtual int32_t GetScriptMetaTable();
// Member functions
CGMinimapFrame(CSimpleFrame* parent);
};
#endif

View File

@ -0,0 +1,85 @@
#include "ui/game/CGMinimapFrameScript.hpp"
#include "ui/FrameScript.hpp"
#include "util/Unimplemented.hpp"
namespace {
int32_t CGMinimapFrame_SetMaskTexture(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGMinimapFrame_SetIconTexture(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGMinimapFrame_SetBlipTexture(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGMinimapFrame_SetClassBlipTexture(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGMinimapFrame_SetPOIArrowTexture(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGMinimapFrame_SetStaticPOIArrowTexture(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGMinimapFrame_SetCorpsePOIArrowTexture(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGMinimapFrame_SetPlayerTexture(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGMinimapFrame_SetPlayerTextureHeight(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGMinimapFrame_SetPlayerTextureWidth(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGMinimapFrame_GetZoomLevels(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGMinimapFrame_GetZoom(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGMinimapFrame_SetZoom(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGMinimapFrame_PingLocation(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGMinimapFrame_GetPingPosition(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
}
FrameScript_Method CGMinimapFrameMethods[] = {
{ "SetMaskTexture", &CGMinimapFrame_SetMaskTexture },
{ "SetIconTexture", &CGMinimapFrame_SetIconTexture },
{ "SetBlipTexture", &CGMinimapFrame_SetBlipTexture },
{ "SetClassBlipTexture", &CGMinimapFrame_SetClassBlipTexture },
{ "SetPOIArrowTexture", &CGMinimapFrame_SetPOIArrowTexture },
{ "SetStaticPOIArrowTexture", &CGMinimapFrame_SetStaticPOIArrowTexture },
{ "SetCorpsePOIArrowTexture", &CGMinimapFrame_SetCorpsePOIArrowTexture },
{ "SetPlayerTexture", &CGMinimapFrame_SetPlayerTexture },
{ "SetPlayerTextureHeight", &CGMinimapFrame_SetPlayerTextureHeight },
{ "SetPlayerTextureWidth", &CGMinimapFrame_SetPlayerTextureWidth },
{ "GetZoomLevels", &CGMinimapFrame_GetZoomLevels },
{ "GetZoom", &CGMinimapFrame_GetZoom },
{ "SetZoom", &CGMinimapFrame_SetZoom },
{ "PingLocation", &CGMinimapFrame_PingLocation },
{ "GetPingPosition", &CGMinimapFrame_GetPingPosition },
};

View File

@ -0,0 +1,10 @@
#ifndef UI_GAME_C_G_MINIMAP_FRAME_SCRIPT_HPP
#define UI_GAME_C_G_MINIMAP_FRAME_SCRIPT_HPP
#include "ui/Types.hpp"
#define NUM_CG_MINIMAP_FRAME_SCRIPT_METHODS 15
extern FrameScript_Method CGMinimapFrameMethods[NUM_CG_MINIMAP_FRAME_SCRIPT_METHODS];
#endif

View File

@ -0,0 +1,38 @@
#include "ui/game/CGQuestPOIFrame.hpp"
#include "ui/game/CGQuestPOIFrameScript.hpp"
int32_t CGQuestPOIFrame::s_metatable;
int32_t CGQuestPOIFrame::s_objectType;
CSimpleFrame* CGQuestPOIFrame::Create(CSimpleFrame* parent) {
// TODO use CDataAllocator
return STORM_NEW(CGQuestPOIFrame)(parent);
}
void CGQuestPOIFrame::CreateScriptMetaTable() {
auto L = FrameScript_GetContext();
CGQuestPOIFrame::s_metatable = FrameScript_Object::CreateScriptMetaTable(L, &CGQuestPOIFrame::RegisterScriptMethods);
}
int32_t CGQuestPOIFrame::GetObjectType() {
if (!CGQuestPOIFrame::s_objectType) {
CGQuestPOIFrame::s_objectType = ++FrameScript_Object::s_objectTypes;
}
return CGQuestPOIFrame::s_objectType;
}
void CGQuestPOIFrame::RegisterScriptMethods(lua_State* L) {
CSimpleFrame::RegisterScriptMethods(L);
FrameScript_Object::FillScriptMethodTable(L, CGQuestPOIFrameMethods, NUM_CG_QUEST_POI_FRAME_SCRIPT_METHODS);
}
CGQuestPOIFrame::CGQuestPOIFrame(CSimpleFrame* parent) : CSimpleFrame(parent) {
// TODO
}
int32_t CGQuestPOIFrame::GetScriptMetaTable() {
return CGQuestPOIFrame::s_metatable;
}

View File

@ -0,0 +1,28 @@
#ifndef UI_GAME_C_G_QUEST_POI_FRAME_HPP
#define UI_GAME_C_G_QUEST_POI_FRAME_HPP
#include "ui/simple/CSimpleFrame.hpp"
class CGQuestPOIFrame : public CSimpleFrame {
public:
// Static variables
static int32_t s_metatable;
static int32_t s_objectType;
// Static functions
static CSimpleFrame* Create(CSimpleFrame* parent);
static void CreateScriptMetaTable();
static int32_t GetObjectType();
static void RegisterScriptMethods(lua_State* L);
// Member variables
// TODO
// Virtual member functions
virtual int32_t GetScriptMetaTable();
// Member functions
CGQuestPOIFrame(CSimpleFrame* parent);
};
#endif

View File

@ -0,0 +1,80 @@
#include "ui/game/CGQuestPOIFrameScript.hpp"
#include "ui/FrameScript.hpp"
#include "util/Unimplemented.hpp"
namespace {
int32_t CGQuestPOIFrame_SetFillTexture(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGQuestPOIFrame_SetFillAlpha(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGQuestPOIFrame_SetBorderTexture(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGQuestPOIFrame_SetBorderAlpha(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGQuestPOIFrame_SetBorderScalar(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGQuestPOIFrame_DrawQuestBlob(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGQuestPOIFrame_EnableSmoothing(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGQuestPOIFrame_EnableMerging(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGQuestPOIFrame_SetMergeThreshold(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGQuestPOIFrame_SetNumSplinePoints(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGQuestPOIFrame_UpdateQuestPOI(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGQuestPOIFrame_UpdateMouseOverTooltip(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGQuestPOIFrame_GetTooltipIndex(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGQuestPOIFrame_GetNumTooltips(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
}
FrameScript_Method CGQuestPOIFrameMethods[] = {
{ "SetFillTexture", &CGQuestPOIFrame_SetFillTexture },
{ "SetFillAlpha", &CGQuestPOIFrame_SetFillAlpha },
{ "SetBorderTexture", &CGQuestPOIFrame_SetBorderTexture },
{ "SetBorderAlpha", &CGQuestPOIFrame_SetBorderAlpha },
{ "SetBorderScalar", &CGQuestPOIFrame_SetBorderScalar },
{ "DrawQuestBlob", &CGQuestPOIFrame_DrawQuestBlob },
{ "EnableSmoothing", &CGQuestPOIFrame_EnableSmoothing },
{ "EnableMerging", &CGQuestPOIFrame_EnableMerging },
{ "SetMergeThreshold", &CGQuestPOIFrame_SetMergeThreshold },
{ "SetNumSplinePoints", &CGQuestPOIFrame_SetNumSplinePoints },
{ "UpdateQuestPOI", &CGQuestPOIFrame_UpdateQuestPOI },
{ "UpdateMouseOverTooltip", &CGQuestPOIFrame_UpdateMouseOverTooltip },
{ "GetTooltipIndex", &CGQuestPOIFrame_GetTooltipIndex },
{ "GetNumTooltips", &CGQuestPOIFrame_GetNumTooltips },
};

View File

@ -0,0 +1,10 @@
#ifndef UI_GAME_C_G_QUEST_POI_FRAME_SCRIPT_HPP
#define UI_GAME_C_G_QUEST_POI_FRAME_SCRIPT_HPP
#include "ui/Types.hpp"
#define NUM_CG_QUEST_POI_FRAME_SCRIPT_METHODS 14
extern FrameScript_Method CGQuestPOIFrameMethods[NUM_CG_QUEST_POI_FRAME_SCRIPT_METHODS];
#endif

View File

@ -0,0 +1,37 @@
#include "ui/game/CGTabardModelFrame.hpp"
#include "ui/game/CGTabardModelFrameScript.hpp"
int32_t CGTabardModelFrame::s_metatable;
int32_t CGTabardModelFrame::s_objectType;
CSimpleFrame* CGTabardModelFrame::Create(CSimpleFrame* parent) {
// TODO use CDataAllocator
return STORM_NEW(CGTabardModelFrame)(parent);
}
void CGTabardModelFrame::CreateScriptMetaTable() {
auto L = FrameScript_GetContext();
CGTabardModelFrame::s_metatable = FrameScript_Object::CreateScriptMetaTable(L, &CGTabardModelFrame::RegisterScriptMethods);
}
int32_t CGTabardModelFrame::GetObjectType() {
if (!CGTabardModelFrame::s_objectType) {
CGTabardModelFrame::s_objectType = ++FrameScript_Object::s_objectTypes;
}
return CGTabardModelFrame::s_objectType;
}
void CGTabardModelFrame::RegisterScriptMethods(lua_State* L) {
CGCharacterModelBase::RegisterScriptMethods(L);
FrameScript_Object::FillScriptMethodTable(L, CGTabardModelFrameMethods, NUM_CG_TABARD_MODEL_FRAME_SCRIPT_METHODS);
}
CGTabardModelFrame::CGTabardModelFrame(CSimpleFrame* parent) : CGCharacterModelBase(parent) {
// TODO
}
int32_t CGTabardModelFrame::GetScriptMetaTable() {
return CGTabardModelFrame::s_metatable;
}

View File

@ -0,0 +1,28 @@
#ifndef UI_GAME_C_G_TABARD_MODEL_FRAME_HPP
#define UI_GAME_C_G_TABARD_MODEL_FRAME_HPP
#include "ui/game/CGCharacterModelBase.hpp"
class CGTabardModelFrame : public CGCharacterModelBase {
public:
// Static variables
static int32_t s_metatable;
static int32_t s_objectType;
// Static functions
static CSimpleFrame* Create(CSimpleFrame* parent);
static void CreateScriptMetaTable();
static int32_t GetObjectType();
static void RegisterScriptMethods(lua_State* L);
// Member variables
// TODO
// Virtual member functions
virtual int32_t GetScriptMetaTable();
// Member functions
CGTabardModelFrame(CSimpleFrame* parent);
};
#endif

View File

@ -0,0 +1,60 @@
#include "ui/game/CGTabardModelFrameScript.hpp"
#include "ui/FrameScript.hpp"
#include "util/Unimplemented.hpp"
namespace {
int32_t CGTabardModelFrame_InitializeTabardColors(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGTabardModelFrame_Save(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGTabardModelFrame_CycleVariation(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGTabardModelFrame_GetUpperBackgroundFileName(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGTabardModelFrame_GetLowerBackgroundFileName(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGTabardModelFrame_GetUpperEmblemFileName(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGTabardModelFrame_GetLowerEmblemFileName(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGTabardModelFrame_GetUpperEmblemTexture(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGTabardModelFrame_GetLowerEmblemTexture(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
int32_t CGTabardModelFrame_CanSaveTabardNow(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
}
}
FrameScript_Method CGTabardModelFrameMethods[] = {
{ "InitializeTabardColors", &CGTabardModelFrame_InitializeTabardColors },
{ "Save", &CGTabardModelFrame_Save },
{ "CycleVariation", &CGTabardModelFrame_CycleVariation },
{ "GetUpperBackgroundFileName", &CGTabardModelFrame_GetUpperBackgroundFileName },
{ "GetLowerBackgroundFileName", &CGTabardModelFrame_GetLowerBackgroundFileName },
{ "GetUpperEmblemFileName", &CGTabardModelFrame_GetUpperEmblemFileName },
{ "GetLowerEmblemFileName", &CGTabardModelFrame_GetLowerEmblemFileName },
{ "GetUpperEmblemTexture", &CGTabardModelFrame_GetUpperEmblemTexture },
{ "GetLowerEmblemTexture", &CGTabardModelFrame_GetLowerEmblemTexture },
{ "CanSaveTabardNow", &CGTabardModelFrame_CanSaveTabardNow },
};

View File

@ -0,0 +1,10 @@
#ifndef UI_GAME_C_G_TABARD_MODEL_FRAME_SCRIPT_HPP
#define UI_GAME_C_G_TABARD_MODEL_FRAME_SCRIPT_HPP
#include "ui/Types.hpp"
#define NUM_CG_TABARD_MODEL_FRAME_SCRIPT_METHODS 10
extern FrameScript_Method CGTabardModelFrameMethods[NUM_CG_TABARD_MODEL_FRAME_SCRIPT_METHODS];
#endif