mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-10-27 22:36:05 +03:00
feat(gameui): add CGTooltipScript methods
This commit is contained in:
parent
b291f47306
commit
6f5d3662b6
@ -1,11 +1,29 @@
|
||||
#include "gameui/CGTooltip.hpp"
|
||||
#include "gameui/CGTooltipScript.hpp"
|
||||
#include <bc/Memory.hpp>
|
||||
|
||||
CGTooltip::CGTooltip(CSimpleFrame* parent) : CSimpleFrame(parent) {
|
||||
}
|
||||
int32_t CGTooltip::s_metatable;
|
||||
|
||||
CSimpleFrame* CGTooltip::Create(CSimpleFrame* parent) {
|
||||
// TODO: Data = CDataAllocator__GetData(0, ".?AVCGTooltip@@", -2);
|
||||
|
||||
auto m = SMemAlloc(sizeof(CGTooltip), __FILE__, __LINE__, 0);
|
||||
return m ? (new (m) CGTooltip(parent)) : nullptr;
|
||||
return NEW(CGTooltip, parent);
|
||||
}
|
||||
|
||||
void CGTooltip::CreateScriptMetaTable() {
|
||||
lua_State* L = FrameScript_GetContext();
|
||||
int32_t ref = FrameScript_Object::CreateScriptMetaTable(L, &CGTooltip::RegisterScriptMethods);
|
||||
CGTooltip::s_metatable = ref;
|
||||
}
|
||||
|
||||
void CGTooltip::RegisterScriptMethods(lua_State* L) {
|
||||
CSimpleFrame::RegisterScriptMethods(L);
|
||||
FrameScript_Object::FillScriptMethodTable(L, CGTooltipMethods, NUM_CGTOOLTIP_SCRIPT_METHODS);
|
||||
}
|
||||
|
||||
int32_t CGTooltip::GetScriptMetaTable() {
|
||||
return CGTooltip::s_metatable;
|
||||
}
|
||||
|
||||
CGTooltip::CGTooltip(CSimpleFrame* parent)
|
||||
: CSimpleFrame(parent) {
|
||||
}
|
||||
|
||||
@ -6,9 +6,19 @@
|
||||
|
||||
class CGTooltip : public CSimpleFrame {
|
||||
public:
|
||||
CGTooltip(CSimpleFrame* parent);
|
||||
// Static variables
|
||||
static int32_t s_metatable;
|
||||
|
||||
// Static functions
|
||||
static CSimpleFrame* Create(CSimpleFrame* parent);
|
||||
static void CreateScriptMetaTable();
|
||||
static void RegisterScriptMethods(lua_State* L);
|
||||
|
||||
// Virtual member functions
|
||||
virtual int32_t GetScriptMetaTable();
|
||||
|
||||
// Member functions
|
||||
CGTooltip(CSimpleFrame* parent);
|
||||
};
|
||||
|
||||
#endif // GAME_UI_CGTOOLTIP_HPP
|
||||
|
||||
352
src/gameui/CGTooltipScript.cpp
Normal file
352
src/gameui/CGTooltipScript.cpp
Normal file
@ -0,0 +1,352 @@
|
||||
#include "gameui/CGTooltipScript.hpp"
|
||||
#include "util/Lua.hpp"
|
||||
#include "util/Unimplemented.hpp"
|
||||
|
||||
static int32_t Script_AddFontStrings(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetMinimumWidth(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetMinimumWidth(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetPadding(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetPadding(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_IsOwned(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetOwner(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetOwner(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetAnchorType(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetAnchorType(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_ClearLines(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_AddLine(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_AddDoubleLine(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_AddTexture(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetText(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_AppendText(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_FadeOut(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetHyperlink(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetAction(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetPetAction(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetShapeshift(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetPossession(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetTracking(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetSpell(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetSpellByID(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetGlyph(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetInventoryItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetLootItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetQuestItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetQuestLogItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetTrainerService(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetTradeSkillItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetMerchantItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetMerchantCostItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetTradePlayerItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetTradeTargetItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetBagItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetUnit(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetUnitBuff(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetUnitDebuff(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetUnitAura(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetTalent(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetSendMailItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetInboxItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetAuctionSellItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetAuctionItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_NumLines(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetQuestRewardSpell(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetQuestLogRewardSpell(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetHyperlinkCompareItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetBuybackItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetLootRollItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetSocketedItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetSocketGem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetExistingSocketGem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetGuildBankItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_IsUnit(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetUnit(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetSpell(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetTotem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetCurrencyToken(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetBackpackToken(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_IsEquippedItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetQuestLogSpecialItem(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetEquipmentSet(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetFrameStack(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetLFGDungeonReward(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetLFGCompletionReward(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
|
||||
FrameScript_Method CGTooltipMethods[NUM_CGTOOLTIP_SCRIPT_METHODS] = {
|
||||
{ "AddFontStrings", &Script_AddFontStrings },
|
||||
{ "SetMinimumWidth", &Script_SetMinimumWidth },
|
||||
{ "GetMinimumWidth", &Script_GetMinimumWidth },
|
||||
{ "SetPadding", &Script_SetPadding },
|
||||
{ "GetPadding", &Script_GetPadding },
|
||||
{ "IsOwned", &Script_IsOwned },
|
||||
{ "GetOwner", &Script_GetOwner },
|
||||
{ "SetOwner", &Script_SetOwner },
|
||||
{ "GetAnchorType", &Script_GetAnchorType },
|
||||
{ "SetAnchorType", &Script_SetAnchorType },
|
||||
{ "ClearLines", &Script_ClearLines },
|
||||
{ "AddLine", &Script_AddLine },
|
||||
{ "AddDoubleLine", &Script_AddDoubleLine },
|
||||
{ "AddTexture", &Script_AddTexture },
|
||||
{ "SetText", &Script_SetText },
|
||||
{ "AppendText", &Script_AppendText },
|
||||
{ "FadeOut", &Script_FadeOut },
|
||||
{ "SetHyperlink", &Script_SetHyperlink },
|
||||
{ "SetAction", &Script_SetAction },
|
||||
{ "SetPetAction", &Script_SetPetAction },
|
||||
{ "SetShapeshift", &Script_SetShapeshift },
|
||||
{ "SetPossession", &Script_SetPossession },
|
||||
{ "SetTracking", &Script_SetTracking },
|
||||
{ "SetSpell", &Script_SetSpell },
|
||||
{ "SetSpellByID", &Script_SetSpellByID },
|
||||
{ "SetGlyph", &Script_SetGlyph },
|
||||
{ "SetInventoryItem", &Script_SetInventoryItem },
|
||||
{ "SetLootItem", &Script_SetLootItem },
|
||||
{ "SetQuestItem", &Script_SetQuestItem },
|
||||
{ "SetQuestLogItem", &Script_SetQuestLogItem },
|
||||
{ "SetTrainerService", &Script_SetTrainerService },
|
||||
{ "SetTradeSkillItem", &Script_SetTradeSkillItem },
|
||||
{ "SetMerchantItem", &Script_SetMerchantItem },
|
||||
{ "SetMerchantCostItem", &Script_SetMerchantCostItem },
|
||||
{ "SetTradePlayerItem", &Script_SetTradePlayerItem },
|
||||
{ "SetTradeTargetItem", &Script_SetTradeTargetItem },
|
||||
{ "SetBagItem", &Script_SetBagItem },
|
||||
{ "SetUnit", &Script_SetUnit },
|
||||
{ "SetUnitBuff", &Script_SetUnitBuff },
|
||||
{ "SetUnitDebuff", &Script_SetUnitDebuff },
|
||||
{ "SetUnitAura", &Script_SetUnitAura },
|
||||
{ "SetTalent", &Script_SetTalent },
|
||||
{ "SetSendMailItem", &Script_SetSendMailItem },
|
||||
{ "SetInboxItem", &Script_SetInboxItem },
|
||||
{ "SetAuctionSellItem", &Script_SetAuctionSellItem },
|
||||
{ "SetAuctionItem", &Script_SetAuctionItem },
|
||||
{ "NumLines", &Script_NumLines },
|
||||
{ "SetQuestRewardSpell", &Script_SetQuestRewardSpell },
|
||||
{ "SetQuestLogRewardSpell", &Script_SetQuestLogRewardSpell },
|
||||
{ "SetHyperlinkCompareItem", &Script_SetHyperlinkCompareItem },
|
||||
{ "SetBuybackItem", &Script_SetBuybackItem },
|
||||
{ "SetLootRollItem", &Script_SetLootRollItem },
|
||||
{ "SetSocketedItem", &Script_SetSocketedItem },
|
||||
{ "SetSocketGem", &Script_SetSocketGem },
|
||||
{ "SetExistingSocketGem", &Script_SetExistingSocketGem },
|
||||
{ "SetGuildBankItem", &Script_SetGuildBankItem },
|
||||
{ "IsUnit", &Script_IsUnit },
|
||||
{ "GetUnit", &Script_GetUnit },
|
||||
{ "GetItem", &Script_GetItem },
|
||||
{ "GetSpell", &Script_GetSpell },
|
||||
{ "SetTotem", &Script_SetTotem },
|
||||
{ "SetCurrencyToken", &Script_SetCurrencyToken },
|
||||
{ "SetBackpackToken", &Script_SetBackpackToken },
|
||||
{ "IsEquippedItem", &Script_IsEquippedItem },
|
||||
{ "SetQuestLogSpecialItem", &Script_SetQuestLogSpecialItem },
|
||||
{ "SetEquipmentSet", &Script_SetEquipmentSet },
|
||||
{ "SetFrameStack", &Script_SetFrameStack },
|
||||
{ "SetLFGDungeonReward", &Script_SetLFGDungeonReward },
|
||||
{ "SetLFGCompletionReward", &Script_SetLFGCompletionReward }
|
||||
};
|
||||
10
src/gameui/CGTooltipScript.hpp
Normal file
10
src/gameui/CGTooltipScript.hpp
Normal file
@ -0,0 +1,10 @@
|
||||
#ifndef GAME_UI_CGTOOLTIP_SCRIPT_HPP
|
||||
#define GAME_UI_CGTOOLTIP_SCRIPT_HPP
|
||||
|
||||
#include "ui/FrameScript.hpp"
|
||||
|
||||
#define NUM_CGTOOLTIP_SCRIPT_METHODS 69
|
||||
|
||||
extern FrameScript_Method CGTooltipMethods[NUM_CGTOOLTIP_SCRIPT_METHODS];
|
||||
|
||||
#endif
|
||||
@ -1,5 +1,6 @@
|
||||
#include "gameui/GameScriptFunctions.hpp"
|
||||
#include "gameui/CGGameUI.hpp"
|
||||
#include "gameui/CGTooltip.hpp"
|
||||
#include "ui/FrameXML.hpp"
|
||||
#include "ui/FrameScript.hpp"
|
||||
#include "util/Lua.hpp"
|
||||
@ -105,7 +106,9 @@ static int32_t Script_Screenshot(lua_State* L) {
|
||||
}
|
||||
|
||||
static int32_t Script_GetFramerate(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
// TODO: v1 = sub_77F440();
|
||||
lua_pushnumber(L, 60.0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int32_t Script_TogglePerformanceDisplay(lua_State* L) {
|
||||
@ -626,7 +629,13 @@ static int32_t Script_GetCursorPosition(lua_State* L) {
|
||||
}
|
||||
|
||||
static int32_t Script_GetNetStats(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
// v1 = ClientServices__Connection();
|
||||
// NetClient__GetNetStats(v1, &v5, &v4, (int*)&v3);
|
||||
// TODO:
|
||||
lua_pushnumber(L, 0.0);
|
||||
lua_pushnumber(L, 0.0);
|
||||
lua_pushnumber(L, 0.0);
|
||||
return 3;
|
||||
}
|
||||
|
||||
static int32_t Script_SitStandOrDescendStart(lua_State* L) {
|
||||
@ -949,7 +958,9 @@ static int32_t Script_IsItemInRange(lua_State* L) {
|
||||
}
|
||||
|
||||
static int32_t Script_GetNumAddOns(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
// TODO: v2 = (double)(unsigned int)sub_5F4FF0(v1);
|
||||
lua_pushnumber(L, 0.0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int32_t Script_GetAddOnInfo(lua_State* L) {
|
||||
@ -1595,6 +1606,7 @@ FrameScript_Method GameScript::s_ScriptFunctions_Game[NUM_SCRIPT_FUNCTIONS_GAME]
|
||||
|
||||
void LoadScriptFunctions() {
|
||||
RegisterSimpleFrameScriptMethods();
|
||||
CGTooltip::CreateScriptMetaTable();
|
||||
|
||||
// TODO
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user