mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-10-26 22:06:06 +03:00
feat(gameui): add skeleton of CGTooltip class
This commit is contained in:
parent
e8130aabe8
commit
b291f47306
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include "client/Client.hpp"
|
#include "client/Client.hpp"
|
||||||
#include "gameui/CGWorldFrame.hpp"
|
#include "gameui/CGWorldFrame.hpp"
|
||||||
|
#include "gameui/CGTooltip.hpp"
|
||||||
#include "gameui/GameScriptFunctions.hpp"
|
#include "gameui/GameScriptFunctions.hpp"
|
||||||
#include "gx/Coordinate.hpp"
|
#include "gx/Coordinate.hpp"
|
||||||
#include "gx/Device.hpp"
|
#include "gx/Device.hpp"
|
||||||
@ -179,7 +180,7 @@ void CGGameUI::Initialize() {
|
|||||||
|
|
||||||
void CGGameUI::RegisterFrameFactories() {
|
void CGGameUI::RegisterFrameFactories() {
|
||||||
FrameXML_RegisterFactory("WorldFrame", CGWorldFrame::Create, 1);
|
FrameXML_RegisterFactory("WorldFrame", CGWorldFrame::Create, 1);
|
||||||
//FrameXML_RegisterFactory("GameTooltip", (int)CGTooltip::Create, 0);
|
FrameXML_RegisterFactory("GameTooltip", CGTooltip::Create, 0);
|
||||||
//FrameXML_RegisterFactory("Cooldown", (int)sub_51A380, 0);
|
//FrameXML_RegisterFactory("Cooldown", (int)sub_51A380, 0);
|
||||||
//FrameXML_RegisterFactory("Minimap", (int)CGMinimapFrame::Create, 0);
|
//FrameXML_RegisterFactory("Minimap", (int)CGMinimapFrame::Create, 0);
|
||||||
//FrameXML_RegisterFactory("PlayerModel", (int)CGCharacterModelBase::Create, 0);
|
//FrameXML_RegisterFactory("PlayerModel", (int)CGCharacterModelBase::Create, 0);
|
||||||
|
|||||||
11
src/gameui/CGTooltip.cpp
Normal file
11
src/gameui/CGTooltip.cpp
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#include "gameui/CGTooltip.hpp"
|
||||||
|
|
||||||
|
CGTooltip::CGTooltip(CSimpleFrame* parent) : CSimpleFrame(parent) {
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
14
src/gameui/CGTooltip.hpp
Normal file
14
src/gameui/CGTooltip.hpp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#ifndef GAME_UI_CGTOOLTIP_HPP
|
||||||
|
#define GAME_UI_CGTOOLTIP_HPP
|
||||||
|
|
||||||
|
#include "ui/CSimpleFrame.hpp"
|
||||||
|
#include "ui/CSimpleTop.hpp"
|
||||||
|
|
||||||
|
class CGTooltip : public CSimpleFrame {
|
||||||
|
public:
|
||||||
|
CGTooltip(CSimpleFrame* parent);
|
||||||
|
|
||||||
|
static CSimpleFrame* Create(CSimpleFrame* parent);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // GAME_UI_CGTOOLTIP_HPP
|
||||||
@ -1604,67 +1604,67 @@ void LoadScriptFunctions() {
|
|||||||
GameScript::s_ScriptFunctions_Game[i].method);
|
GameScript::s_ScriptFunctions_Game[i].method);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UIBindingsRegisterScriptFunctions();
|
UIBindingsRegisterScriptFunctions();
|
||||||
void UIMacrosRegisterScriptFunctions();
|
UIMacrosRegisterScriptFunctions();
|
||||||
void InputControlRegisterScriptFunctions();
|
InputControlRegisterScriptFunctions();
|
||||||
void CameraRegisterScriptFunctions();
|
CameraRegisterScriptFunctions();
|
||||||
void SoundRegisterScriptFunctions();
|
SoundRegisterScriptFunctions();
|
||||||
void SpellRegisterScriptFunctions();
|
SpellRegisterScriptFunctions();
|
||||||
void ScriptEventsRegisterFunctions();
|
ScriptEventsRegisterFunctions();
|
||||||
void MinimapRegisterScriptFunctions();
|
MinimapRegisterScriptFunctions();
|
||||||
void UnitCombatLogRegisterScriptFunctions();
|
UnitCombatLogRegisterScriptFunctions();
|
||||||
void ActionBarRegisterScriptFunctions();
|
ActionBarRegisterScriptFunctions();
|
||||||
void PartyInfoRegisterScriptFunctions();
|
PartyInfoRegisterScriptFunctions();
|
||||||
void ChatRegisterScriptFunctions();
|
ChatRegisterScriptFunctions();
|
||||||
void AutoCompleteRegisterScriptFunctions();
|
AutoCompleteRegisterScriptFunctions();
|
||||||
void SpellBookRegisterScriptFunctions();
|
SpellBookRegisterScriptFunctions();
|
||||||
void CharacterInfoRegisterScriptFunctions();
|
CharacterInfoRegisterScriptFunctions();
|
||||||
void LootInfoRegisterScriptFunctions();
|
LootInfoRegisterScriptFunctions();
|
||||||
void ItemTextRegisterScriptFunctions();
|
ItemTextRegisterScriptFunctions();
|
||||||
void GossipInfoRegisterScriptFunctions();
|
GossipInfoRegisterScriptFunctions();
|
||||||
void QuestInfoRegisterScriptFunctions();
|
QuestInfoRegisterScriptFunctions();
|
||||||
void QuestLogRegisterScriptFunctions();
|
QuestLogRegisterScriptFunctions();
|
||||||
void CGTaxiMapRegisterScriptFunctions();
|
CGTaxiMapRegisterScriptFunctions();
|
||||||
void ClassTrainerRegisterScriptFunctions();
|
ClassTrainerRegisterScriptFunctions();
|
||||||
void TradeSkillRegisterScriptFunctions();
|
TradeSkillRegisterScriptFunctions();
|
||||||
void MerchantRegisterScriptFunctions();
|
MerchantRegisterScriptFunctions();
|
||||||
void TradeInfoRegisterScriptFunctions();
|
TradeInfoRegisterScriptFunctions();
|
||||||
void ContainerRegisterScriptFunctions();
|
ContainerRegisterScriptFunctions();
|
||||||
void BankRegisterScriptFunctions();
|
BankRegisterScriptFunctions();
|
||||||
void FriendListRegisterScriptFunctions();
|
FriendListRegisterScriptFunctions();
|
||||||
void PetInfoRegisterScriptFunctions();
|
PetInfoRegisterScriptFunctions();
|
||||||
void WorldMapRegisterScriptFunctions();
|
WorldMapRegisterScriptFunctions();
|
||||||
void ReputationInfoRegisterScriptFunctions();
|
ReputationInfoRegisterScriptFunctions();
|
||||||
void TabardCreationRegisterScriptFunctions();
|
TabardCreationRegisterScriptFunctions();
|
||||||
void GuildRegistrarRegisterScriptFunctions();
|
GuildRegistrarRegisterScriptFunctions();
|
||||||
void DuelInfoRegisterScriptFunctions();
|
DuelInfoRegisterScriptFunctions();
|
||||||
void TutorialRegisterScriptFunctions();
|
TutorialRegisterScriptFunctions();
|
||||||
void PetitionInfoRegisterScriptFunctions();
|
PetitionInfoRegisterScriptFunctions();
|
||||||
void SkillInfoRegisterScriptFunctions();
|
SkillInfoRegisterScriptFunctions();
|
||||||
void GuildInfoRegisterScriptFunctions();
|
GuildInfoRegisterScriptFunctions();
|
||||||
void MailInfoRegisterScriptFunctions();
|
MailInfoRegisterScriptFunctions();
|
||||||
void BattlefieldInfoRegisterScriptFunctions();
|
BattlefieldInfoRegisterScriptFunctions();
|
||||||
void TalentInfoRegisterScriptFunctions();
|
TalentInfoRegisterScriptFunctions();
|
||||||
void AuctionHouseRegisterScriptFunctions();
|
AuctionHouseRegisterScriptFunctions();
|
||||||
void StableInfoRegisterScriptFunctions();
|
StableInfoRegisterScriptFunctions();
|
||||||
void RaidInfoRegisterScriptFunctions();
|
RaidInfoRegisterScriptFunctions();
|
||||||
void WorldStateInfoRegisterScriptFunctions();
|
WorldStateInfoRegisterScriptFunctions();
|
||||||
void MinigameInfoRegisterScriptFunctions();
|
MinigameInfoRegisterScriptFunctions();
|
||||||
void KnowledgeBaseRegisterScriptFunctions();
|
KnowledgeBaseRegisterScriptFunctions();
|
||||||
void ItemSocketInfoRegisterScriptFunctions();
|
ItemSocketInfoRegisterScriptFunctions();
|
||||||
void PetitionVendorRegisterScriptFunctions();
|
PetitionVendorRegisterScriptFunctions();
|
||||||
void ArenaTeamInfoRegisterScriptFunctions();
|
ArenaTeamInfoRegisterScriptFunctions();
|
||||||
void LookingForGroupRegisterScriptFunctions();
|
LookingForGroupRegisterScriptFunctions();
|
||||||
void VoiceRegisterScriptFunctions();
|
VoiceRegisterScriptFunctions();
|
||||||
void CalendarRegisterScriptFunctions();
|
CalendarRegisterScriptFunctions();
|
||||||
void CGCommentatorRegisterScriptFunctions();
|
CGCommentatorRegisterScriptFunctions();
|
||||||
void CGBarberShopRegisterScriptFunctions();
|
CGBarberShopRegisterScriptFunctions();
|
||||||
void CGDanceStudioRegisterScriptFunctions();
|
CGDanceStudioRegisterScriptFunctions();
|
||||||
void GuildBankRegisterScriptFunctions();
|
GuildBankRegisterScriptFunctions();
|
||||||
void GlyphInfoRegisterScriptFunctions();
|
GlyphInfoRegisterScriptFunctions();
|
||||||
void AchievementInfoRegisterScriptFunctions();
|
AchievementInfoRegisterScriptFunctions();
|
||||||
void CurrencyTypesRegisterScriptFunctions();
|
CurrencyTypesRegisterScriptFunctions();
|
||||||
void EquipmentManagerRegisterScriptFunctions();
|
EquipmentManagerRegisterScriptFunctions();
|
||||||
void GMTicketInfoRegisterScriptFunctions();
|
GMTicketInfoRegisterScriptFunctions();
|
||||||
void BattlenetUIRegisterScriptFunctions();
|
BattlenetUIRegisterScriptFunctions();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,8 @@ struct lua_State;
|
|||||||
#define NUM_SCRIPT_FUNCTIONS_CAMERA 22
|
#define NUM_SCRIPT_FUNCTIONS_CAMERA 22
|
||||||
#define NUM_SCRIPT_FUNCTIONS_SOUND 23
|
#define NUM_SCRIPT_FUNCTIONS_SOUND 23
|
||||||
#define NUM_SCRIPT_FUNCTIONS_SPELL 11
|
#define NUM_SCRIPT_FUNCTIONS_SPELL 11
|
||||||
#define NUM_SCRIPT_FUNCTIONS_SCRIPT_EVENTS 169
|
#define NUM_SCRIPT_FUNCTIONS_SCRIPT_EVENTS 7
|
||||||
|
#define NUM_SCRIPT_FUNCTIONS_SCRIPT_EVENTS_UNIT 169
|
||||||
#define NUM_SCRIPT_FUNCTIONS_MINIMAP 4
|
#define NUM_SCRIPT_FUNCTIONS_MINIMAP 4
|
||||||
#define NUM_SCRIPT_FUNCTIONS_UNIT_COMBAT_LOG 11
|
#define NUM_SCRIPT_FUNCTIONS_UNIT_COMBAT_LOG 11
|
||||||
#define NUM_SCRIPT_FUNCTIONS_ACTION_BAR 28
|
#define NUM_SCRIPT_FUNCTIONS_ACTION_BAR 28
|
||||||
@ -80,6 +81,7 @@ namespace GameScript {
|
|||||||
extern FrameScript_Method s_ScriptFunctions_Sound[NUM_SCRIPT_FUNCTIONS_SOUND];
|
extern FrameScript_Method s_ScriptFunctions_Sound[NUM_SCRIPT_FUNCTIONS_SOUND];
|
||||||
extern FrameScript_Method s_ScriptFunctions_Spell[NUM_SCRIPT_FUNCTIONS_SPELL];
|
extern FrameScript_Method s_ScriptFunctions_Spell[NUM_SCRIPT_FUNCTIONS_SPELL];
|
||||||
extern FrameScript_Method s_ScriptFunctions_ScriptEvents[NUM_SCRIPT_FUNCTIONS_SCRIPT_EVENTS];
|
extern FrameScript_Method s_ScriptFunctions_ScriptEvents[NUM_SCRIPT_FUNCTIONS_SCRIPT_EVENTS];
|
||||||
|
extern FrameScript_Method s_ScriptFunctions_ScriptEventsUnit[NUM_SCRIPT_FUNCTIONS_SCRIPT_EVENTS_UNIT];
|
||||||
extern FrameScript_Method s_ScriptFunctions_Minimap[NUM_SCRIPT_FUNCTIONS_MINIMAP];
|
extern FrameScript_Method s_ScriptFunctions_Minimap[NUM_SCRIPT_FUNCTIONS_MINIMAP];
|
||||||
extern FrameScript_Method s_ScriptFunctions_UnitCombatLog[NUM_SCRIPT_FUNCTIONS_UNIT_COMBAT_LOG];
|
extern FrameScript_Method s_ScriptFunctions_UnitCombatLog[NUM_SCRIPT_FUNCTIONS_UNIT_COMBAT_LOG];
|
||||||
extern FrameScript_Method s_ScriptFunctions_ActionBar[NUM_SCRIPT_FUNCTIONS_ACTION_BAR];
|
extern FrameScript_Method s_ScriptFunctions_ActionBar[NUM_SCRIPT_FUNCTIONS_ACTION_BAR];
|
||||||
|
|||||||
@ -2,6 +2,39 @@
|
|||||||
#include "ui/FrameScript.hpp"
|
#include "ui/FrameScript.hpp"
|
||||||
#include "util/Lua.hpp"
|
#include "util/Lua.hpp"
|
||||||
#include "util/Unimplemented.hpp"
|
#include "util/Unimplemented.hpp"
|
||||||
|
#include <common/Time.hpp>
|
||||||
|
|
||||||
|
static int32_t Script_GetTime(lua_State* L) {
|
||||||
|
lua_pushnumber(L, static_cast<double>(OsGetAsyncTimeMs()) * 0.001);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int32_t Script_GetGameTime(lua_State* L) {
|
||||||
|
// TODO
|
||||||
|
lua_pushnumber(L, 1.0);
|
||||||
|
lua_pushnumber(L, 1.0);
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int32_t Script_ConsoleExec(lua_State* L) {
|
||||||
|
WHOA_UNIMPLEMENTED(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int32_t Script_ReadFile(lua_State* L) {
|
||||||
|
WHOA_UNIMPLEMENTED(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int32_t Script_DeleteFile(lua_State* L) {
|
||||||
|
WHOA_UNIMPLEMENTED(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int32_t Script_AppendToFile(lua_State* L) {
|
||||||
|
WHOA_UNIMPLEMENTED(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int32_t Script_GetAccountExpansionLevel(lua_State* L) {
|
||||||
|
WHOA_UNIMPLEMENTED(0);
|
||||||
|
}
|
||||||
|
|
||||||
static int32_t Script_UnitExists(lua_State* L) {
|
static int32_t Script_UnitExists(lua_State* L) {
|
||||||
WHOA_UNIMPLEMENTED(0);
|
WHOA_UNIMPLEMENTED(0);
|
||||||
@ -16,7 +49,10 @@ static int32_t Script_UnitIsUnit(lua_State* L) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int32_t Script_UnitIsPlayer(lua_State* L) {
|
static int32_t Script_UnitIsPlayer(lua_State* L) {
|
||||||
WHOA_UNIMPLEMENTED(0);
|
// TODO
|
||||||
|
__debugbreak();
|
||||||
|
lua_pushnil(L);
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t Script_UnitIsInMyGuild(lua_State* L) {
|
static int32_t Script_UnitIsInMyGuild(lua_State* L) {
|
||||||
@ -208,7 +244,9 @@ static int32_t Script_UnitSex(lua_State* L) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int32_t Script_UnitLevel(lua_State* L) {
|
static int32_t Script_UnitLevel(lua_State* L) {
|
||||||
WHOA_UNIMPLEMENTED(0);
|
// TODO
|
||||||
|
lua_pushnumber(L, 1.0);
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t Script_GetMoney(lua_State* L) {
|
static int32_t Script_GetMoney(lua_State* L) {
|
||||||
@ -686,9 +724,25 @@ void ScriptEventsRegisterFunctions() {
|
|||||||
GameScript::s_ScriptFunctions_ScriptEvents[i].name,
|
GameScript::s_ScriptFunctions_ScriptEvents[i].name,
|
||||||
GameScript::s_ScriptFunctions_ScriptEvents[i].method);
|
GameScript::s_ScriptFunctions_ScriptEvents[i].method);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_SCRIPT_EVENTS_UNIT; ++i) {
|
||||||
|
FrameScript_RegisterFunction(
|
||||||
|
GameScript::s_ScriptFunctions_ScriptEventsUnit[i].name,
|
||||||
|
GameScript::s_ScriptFunctions_ScriptEventsUnit[i].method);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FrameScript_Method GameScript::s_ScriptFunctions_ScriptEvents[NUM_SCRIPT_FUNCTIONS_SCRIPT_EVENTS] = {
|
FrameScript_Method GameScript::s_ScriptFunctions_ScriptEvents[NUM_SCRIPT_FUNCTIONS_SCRIPT_EVENTS] = {
|
||||||
|
{ "GetTime", &Script_GetTime },
|
||||||
|
{ "GetGameTime", &Script_GetGameTime },
|
||||||
|
{ "ConsoleExec", &Script_ConsoleExec },
|
||||||
|
{ "ReadFile", &Script_ReadFile },
|
||||||
|
{ "DeleteFile", &Script_DeleteFile },
|
||||||
|
{ "AppendToFile", &Script_AppendToFile },
|
||||||
|
{ "GetAccountExpansionLevel", &Script_GetAccountExpansionLevel },
|
||||||
|
};
|
||||||
|
|
||||||
|
FrameScript_Method GameScript::s_ScriptFunctions_ScriptEventsUnit[NUM_SCRIPT_FUNCTIONS_SCRIPT_EVENTS_UNIT] = {
|
||||||
{ "UnitExists", &Script_UnitExists },
|
{ "UnitExists", &Script_UnitExists },
|
||||||
{ "UnitIsVisible", &Script_UnitIsVisible },
|
{ "UnitIsVisible", &Script_UnitIsVisible },
|
||||||
{ "UnitIsUnit", &Script_UnitIsUnit },
|
{ "UnitIsUnit", &Script_UnitIsUnit },
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user