diff --git a/src/gameui/CGGameUI.cpp b/src/gameui/CGGameUI.cpp index 93f383f..71691ea 100644 --- a/src/gameui/CGGameUI.cpp +++ b/src/gameui/CGGameUI.cpp @@ -16,13 +16,14 @@ #include "util/SFile.hpp" -bool CGGameUI::m_reloadUI = 0; CSimpleTop* CGGameUI::m_simpleTop = nullptr; CSimpleFrame* CGGameUI::m_UISimpleParent = nullptr; +int32_t CGGameUI::m_reloadUIRequested = 0; int32_t CGGameUI::m_hasControl = 0; int32_t CGGameUI::m_screenWidth = 0; int32_t CGGameUI::m_screenHeight = 0; float CGGameUI::m_aspect = 0.0; +char* CGGameUI::m_luaTainted = nullptr; void CGGameUI::InitializeGame() { @@ -39,7 +40,7 @@ void CGGameUI::Initialize() { // s_scriptProfileCVar = //CGGameUI::s_loggingIn = 1; - //CGGameUI::m_reloadUIRequested = 0; + CGGameUI::m_reloadUIRequested = 0; //CGGameUI::m_repopTime = 0; //CGGameUI::m_deadNoRepopTimer = 0; //CGGameUI::m_corpseReclaimDelay = 0; @@ -187,6 +188,14 @@ void CGGameUI::RegisterFrameFactories() { //FrameXML_RegisterFactory("QuestPOIFrame", (int)sub_514260, 0); } +void CGGameUI::Reload() { + if (CGGameUI::m_luaTainted && CGGameUI::m_simpleTop /* && !CGGameUI__m_simpleTop->dword1250 */) { + // TODO: CGGameUI::ShowBlockedActionFeedback + } else { + CGGameUI::m_reloadUIRequested = 1; + } +} + int32_t CGGameUI::HandleDisplaySizeChanged(const CSizeEvent& event) { return 0; } diff --git a/src/gameui/CGGameUI.hpp b/src/gameui/CGGameUI.hpp index 6d66418..f10ac86 100644 --- a/src/gameui/CGGameUI.hpp +++ b/src/gameui/CGGameUI.hpp @@ -11,16 +11,18 @@ class CGGameUI { static void InitializeGame(); static void Initialize(); static void RegisterFrameFactories(); + static void Reload(); static int32_t HandleDisplaySizeChanged(const CSizeEvent& event); public: - static bool m_reloadUI; static CSimpleTop* m_simpleTop; static CSimpleFrame* m_UISimpleParent; + static int32_t m_reloadUIRequested; static int32_t m_hasControl; static int32_t m_screenWidth; static int32_t m_screenHeight; static float m_aspect; + static char* m_luaTainted; }; #endif // GAME_UI_CGGAMEUI_HPP diff --git a/src/gameui/GameScriptFunctions.cpp b/src/gameui/GameScriptFunctions.cpp index 0ee25be..aa0c324 100644 --- a/src/gameui/GameScriptFunctions.cpp +++ b/src/gameui/GameScriptFunctions.cpp @@ -1,17 +1,1609 @@ #include "gameui/GameScriptFunctions.hpp" +#include "gameui/CGGameUI.hpp" +#include "ui/FrameXML.hpp" #include "ui/FrameScript.hpp" -#include "ui/ScriptFunctions.hpp" +#include "util/Lua.hpp" +#include "util/Unimplemented.hpp" + +// External from "ui/ScriptFunctions.hpp" +void RegisterSimpleFrameScriptMethods(); + + +static int32_t Script_FrameXML_Debug(lua_State* L) { + int32_t level = FrameXML_GetDebugLevel(); + if (lua_isnumber(L, 1)) { + level = static_cast(lua_tonumber(L, 1)); + FrameXML_SetDebugLevel(level); + } + lua_pushnumber(L, 1); + return 1; +} + +static int32_t Script_GetBuildInfo(lua_State* L) { + lua_pushstring(L, WHOA_VERSION_MAJOR "." WHOA_VERSION_MINOR "." WHOA_VERSION_PATCH); + lua_pushstring(L, WHOA_VERSION_BUILD); + lua_pushstring(L, __DATE__); + lua_pushnumber(L, 30300); // returned by GetCodeInterfaceVersion(); + return 4; +} + +static int32_t Script_ReloadUI(lua_State* L) { + CGGameUI::Reload(); + return 0; +} + +static int32_t Script_RegisterForSave(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_RegisterForSavePerCharacter(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetLayoutMode(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsModifierKeyDown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsLeftShiftKeyDown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsRightShiftKeyDown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsShiftKeyDown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsLeftControlKeyDown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsRightControlKeyDown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsControlKeyDown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsLeftAltKeyDown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsRightAltKeyDown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsAltKeyDown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsMouseButtonDown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetMouseButtonName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetMouseButtonClicked(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetConsoleKey(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_Screenshot(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetFramerate(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TogglePerformanceDisplay(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TogglePerformancePause(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TogglePerformanceValues(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ResetPerformanceValues(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetDebugStats(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsDebugBuild(lua_State* L) { +#ifdef WHOA_BUILD_ASSERTIONS + lua_pushboolean(L, 1); +#else + lua_pushboolean(L, 0); +#endif + return 1; +} + +static int32_t Script_RegisterCVar(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCVarInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetCVar(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCVar(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCVarBool(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCVarDefault(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCVarMin(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCVarMax(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCVarAbsoluteMin(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCVarAbsoluteMax(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetWaterDetail(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetWaterDetail(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetFarclip(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetFarclip(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetTexLodBias(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetTexLodBias(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetBaseMip(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetBaseMip(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ToggleTris(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TogglePortals(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ToggleCollision(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ToggleCollisionDisplay(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TogglePlayerBounds(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_Stuck(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_Logout(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_Quit(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetCursor(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ResetCursor(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ClearCursor(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CursorHasItem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CursorHasSpell(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CursorHasMacro(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CursorHasMoney(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCursorInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_EquipCursorItem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DeleteCursorItem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_EquipPendingItem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CancelPendingEquip(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetUnit(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetNearest(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetNearestEnemy(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetNearestEnemyPlayer(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetNearestFriend(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetNearestFriendPlayer(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetNearestPartyMember(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetNearestRaidMember(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetDirectionEnemy(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetDirectionFriend(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetDirectionFinished(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetLastTarget(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetLastEnemy(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetLastFriend(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_AttackTarget(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_AssistUnit(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_FocusUnit(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_FollowUnit(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_InteractUnit(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ClearTarget(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ClearFocus(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_AutoEquipCursorItem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ToggleSheath(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetZoneText(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetRealZoneText(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetSubZoneText(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetMinimapZoneText(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_InitiateTrade(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CanInspect(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_NotifyInspect(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_InviteUnit(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UninviteUnit(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_RequestTimePlayed(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_RepopMe(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_AcceptResurrect(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DeclineResurrect(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ResurrectGetOfferer(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ResurrectHasSickness(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ResurrectHasTimer(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_BeginTrade(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CancelTrade(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_AcceptGroup(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DeclineGroup(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_AcceptGuild(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DeclineGuild(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_AcceptArenaTeam(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DeclineArenaTeam(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CancelLogout(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ForceLogout(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ForceQuit(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCursorMoney(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DropCursorMoney(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_PickupPlayerMoney(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_HasSoulstone(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UseSoulstone(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_HasKey(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GuildInvite(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GuildUninvite(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GuildPromote(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GuildDemote(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GuildSetLeader(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GuildSetMOTD(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GuildLeave(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GuildDisband(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GuildInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ArenaTeamInviteByName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ArenaTeamLeave(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ArenaTeamUninviteByName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ArenaTeamSetLeaderByName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ArenaTeamDisband(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetScreenWidth(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetScreenHeight(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetDamageBonusStat(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetReleaseTimeRemaining(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCorpseRecoveryDelay(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetInstanceBootTimeRemaining(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetInstanceLockTimeRemaining(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetInstanceLockTimeRemainingEncounter(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetSummonConfirmTimeLeft(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetSummonConfirmSummoner(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetSummonConfirmAreaName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ConfirmSummon(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CancelSummon(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCursorPosition(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetNetStats(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SitStandOrDescendStart(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_StopCinematic(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_RunScript(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CheckInteractDistance(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_RandomRoll(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_OpeningCinematic(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_InCinematic(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsWindowsClient(lua_State* L) { +#ifdef WHOA_SYSTEM_WIN + lua_pushnumber(L, 1.0); +#else + lua_pushnil(L); +#endif + return 1; +} + +static int32_t Script_IsMacClient(lua_State* L) { +#ifdef WHOA_SYSTEM_MAC + lua_pushnumber(L, 1.0); +#else + lua_pushnil(L); +#endif + return 1; +} + +static int32_t Script_IsLinuxClient(lua_State* L) { +#ifdef WHOA_SYSTEM_LINUX + lua_pushnumber(L, 1.0); +#else + lua_pushnil(L); +#endif + return 1; +} + +static int32_t Script_AcceptXPLoss(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CheckSpiritHealerDist(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CheckTalentMasterDist(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CheckBinderDist(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_RetrieveCorpse(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_BindEnchant(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ReplaceEnchant(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ReplaceTradeEnchant(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_NotWhileDeadError(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetRestState(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetXPExhaustion(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetTimeToWellRested(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GMRequestPlayerInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCoinIcon(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCoinText(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCoinTextureString(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsSubZonePVPPOI(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetZonePVPInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TogglePVP(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetPVP(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetPVPDesired(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetPVPTimer(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsPVPTimerRunning(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ConfirmBindOnUse(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetPortraitToTexture(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetLocale(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetGMTicketCategories(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DropItemOnUnit(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_RestartGx(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_RestoreVideoResolutionDefaults(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_RestoreVideoEffectsDefaults(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_RestoreVideoStereoDefaults(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetBindLocation(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ConfirmTalentWipe(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ConfirmBinder(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ShowingHelm(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ShowingCloak(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ShowHelm(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ShowCloak(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetEuropeanNumbers(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetAreaSpiritHealerTime(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_AcceptAreaSpiritHeal(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CancelAreaSpiritHeal(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetMouseFocus(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetRealmName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetItemQualityColor(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetItemInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetItemGem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetExtendedItemInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetItemIcon(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetItemFamily(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetItemCount(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetItemSpell(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetItemCooldown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_PickupItem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsCurrentItem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsUsableItem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsHelpfulItem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsHarmfulItem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsConsumableItem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsEquippableItem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsEquippedItem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsEquippedItemType(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsDressableItem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ItemHasRange(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsItemInRange(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetNumAddOns(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetAddOnInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetAddOnMetadata(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UpdateAddOnMemoryUsage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetAddOnMemoryUsage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetScriptCPUUsage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UpdateAddOnCPUUsage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetAddOnCPUUsage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetFunctionCPUUsage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetFrameCPUUsage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetEventCPUUsage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ResetCPUUsage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetAddOnDependencies(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_EnableAddOn(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_EnableAllAddOns(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DisableAddOn(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DisableAllAddOns(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ResetDisabledAddOns(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsAddOnLoadOnDemand(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsAddOnLoaded(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_LoadAddOn(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_PartialPlayTime(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_NoPlayTime(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetBillingTimeRested(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CanShowResetInstances(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ResetInstances(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsInInstance(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetInstanceDifficulty(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetInstanceInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetDungeonDifficulty(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetDungeonDifficulty(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetRaidDifficulty(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetRaidDifficulty(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ReportBug(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ReportSuggestion(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetMirrorTimerInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetMirrorTimerProgress(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetNumTitles(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCurrentTitle(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetCurrentTitle(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsTitleKnown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetTitleName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UseItemByName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_EquipItemByName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetExistingLocales(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_InCombatLockdown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_StartAttack(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_StopAttack(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetTaxiBenchmarkMode(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetTaxiBenchmarkMode(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_Dismount(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_VoicePushToTalkStart(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_VoicePushToTalkStop(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetUIVisibility(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsReferAFriendLinked(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CanGrantLevel(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GrantLevel(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CanSummonFriend(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SummonFriend(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetSummonFriendCooldown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetTotemInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetTotemTimeLeft(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_TargetTotem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DestroyTotem(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetNumDeclensionSets(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DeclineName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_AcceptLevelGrant(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DeclineLevelGrant(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UploadSettings(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DownloadSettings(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetMovieResolution(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GameMovieFinished(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsDesaturateSupported(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetThreatStatusColor(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsThreatWarningEnabled(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ConsoleAddMessage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetItemUniqueness(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_EndRefund(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_EndBoundTradeable(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CanMapChangeDifficulty(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetExpansionLevel(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetAllowLowLevelRaid(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetAllowLowLevelRaid(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +FrameScript_Method GameScript::s_ScriptFunctions_Game[NUM_SCRIPT_FUNCTIONS_GAME] = { + { "FrameXML_Debug", &Script_FrameXML_Debug }, + { "GetBuildInfo", &Script_GetBuildInfo }, + { "ReloadUI", &Script_ReloadUI }, + { "RegisterForSave", &Script_RegisterForSave }, + { "RegisterForSavePerCharacter", &Script_RegisterForSavePerCharacter }, + { "SetLayoutMode", &Script_SetLayoutMode }, + { "IsModifierKeyDown", &Script_IsModifierKeyDown }, + { "IsLeftShiftKeyDown", &Script_IsLeftShiftKeyDown }, + { "IsRightShiftKeyDown", &Script_IsRightShiftKeyDown }, + { "IsShiftKeyDown", &Script_IsShiftKeyDown }, + { "IsLeftControlKeyDown", &Script_IsLeftControlKeyDown }, + { "IsRightControlKeyDown", &Script_IsRightControlKeyDown }, + { "IsControlKeyDown", &Script_IsControlKeyDown }, + { "IsLeftAltKeyDown", &Script_IsLeftAltKeyDown }, + { "IsRightAltKeyDown", &Script_IsRightAltKeyDown }, + { "IsAltKeyDown", &Script_IsAltKeyDown }, + { "IsMouseButtonDown", &Script_IsMouseButtonDown }, + { "GetMouseButtonName", &Script_GetMouseButtonName }, + { "GetMouseButtonClicked", &Script_GetMouseButtonClicked }, + { "SetConsoleKey", &Script_SetConsoleKey }, + { "Screenshot", &Script_Screenshot }, + { "GetFramerate", &Script_GetFramerate }, + { "TogglePerformanceDisplay", &Script_TogglePerformanceDisplay }, + { "TogglePerformancePause", &Script_TogglePerformancePause }, + { "TogglePerformanceValues", &Script_TogglePerformanceValues }, + { "ResetPerformanceValues", &Script_ResetPerformanceValues }, + { "GetDebugStats", &Script_GetDebugStats }, + { "IsDebugBuild", &Script_IsDebugBuild }, + { "RegisterCVar", &Script_RegisterCVar }, + { "GetCVarInfo", &Script_GetCVarInfo }, + { "SetCVar", &Script_SetCVar }, + { "GetCVar", &Script_GetCVar }, + { "GetCVarBool", &Script_GetCVarBool }, + { "GetCVarDefault", &Script_GetCVarDefault }, + { "GetCVarMin", &Script_GetCVarMin }, + { "GetCVarMax", &Script_GetCVarMax }, + { "GetCVarAbsoluteMin", &Script_GetCVarAbsoluteMin }, + { "GetCVarAbsoluteMax", &Script_GetCVarAbsoluteMax }, + { "GetWaterDetail", &Script_GetWaterDetail }, + { "SetWaterDetail", &Script_SetWaterDetail }, + { "GetFarclip", &Script_GetFarclip }, + { "SetFarclip", &Script_SetFarclip }, + { "GetTexLodBias", &Script_GetTexLodBias }, + { "SetTexLodBias", &Script_SetTexLodBias }, + { "SetBaseMip", &Script_SetBaseMip }, + { "GetBaseMip", &Script_GetBaseMip }, + { "ToggleTris", &Script_ToggleTris }, + { "TogglePortals", &Script_TogglePortals }, + { "ToggleCollision", &Script_ToggleCollision }, + { "ToggleCollisionDisplay", &Script_ToggleCollisionDisplay }, + { "TogglePlayerBounds", &Script_TogglePlayerBounds }, + { "Stuck", &Script_Stuck }, + { "Logout", &Script_Logout }, + { "Quit", &Script_Quit }, + { "SetCursor", &Script_SetCursor }, + { "ResetCursor", &Script_ResetCursor }, + { "ClearCursor", &Script_ClearCursor }, + { "CursorHasItem", &Script_CursorHasItem }, + { "CursorHasSpell", &Script_CursorHasSpell }, + { "CursorHasMacro", &Script_CursorHasMacro }, + { "CursorHasMoney", &Script_CursorHasMoney }, + { "GetCursorInfo", &Script_GetCursorInfo }, + { "EquipCursorItem", &Script_EquipCursorItem }, + { "DeleteCursorItem", &Script_DeleteCursorItem }, + { "EquipPendingItem", &Script_EquipPendingItem }, + { "CancelPendingEquip", &Script_CancelPendingEquip }, + { "TargetUnit", &Script_TargetUnit }, + { "TargetNearest", &Script_TargetNearest }, + { "TargetNearestEnemy", &Script_TargetNearestEnemy }, + { "TargetNearestEnemyPlayer", &Script_TargetNearestEnemyPlayer }, + { "TargetNearestFriend", &Script_TargetNearestFriend }, + { "TargetNearestFriendPlayer", &Script_TargetNearestFriendPlayer }, + { "TargetNearestPartyMember", &Script_TargetNearestPartyMember }, + { "TargetNearestRaidMember", &Script_TargetNearestRaidMember }, + { "TargetDirectionEnemy", &Script_TargetDirectionEnemy }, + { "TargetDirectionFriend", &Script_TargetDirectionFriend }, + { "TargetDirectionFinished", &Script_TargetDirectionFinished }, + { "TargetLastTarget", &Script_TargetLastTarget }, + { "TargetLastEnemy", &Script_TargetLastEnemy }, + { "TargetLastFriend", &Script_TargetLastFriend }, + { "AttackTarget", &Script_AttackTarget }, + { "AssistUnit", &Script_AssistUnit }, + { "FocusUnit", &Script_FocusUnit }, + { "FollowUnit", &Script_FollowUnit }, + { "InteractUnit", &Script_InteractUnit }, + { "ClearTarget", &Script_ClearTarget }, + { "ClearFocus", &Script_ClearFocus }, + { "AutoEquipCursorItem", &Script_AutoEquipCursorItem }, + { "ToggleSheath", &Script_ToggleSheath }, + { "GetZoneText", &Script_GetZoneText }, + { "GetRealZoneText", &Script_GetRealZoneText }, + { "GetSubZoneText", &Script_GetSubZoneText }, + { "GetMinimapZoneText", &Script_GetMinimapZoneText }, + { "InitiateTrade", &Script_InitiateTrade }, + { "CanInspect", &Script_CanInspect }, + { "NotifyInspect", &Script_NotifyInspect }, + { "InviteUnit", &Script_InviteUnit }, + { "UninviteUnit", &Script_UninviteUnit }, + { "RequestTimePlayed", &Script_RequestTimePlayed }, + { "RepopMe", &Script_RepopMe }, + { "AcceptResurrect", &Script_AcceptResurrect }, + { "DeclineResurrect", &Script_DeclineResurrect }, + { "ResurrectGetOfferer", &Script_ResurrectGetOfferer }, + { "ResurrectHasSickness", &Script_ResurrectHasSickness }, + { "ResurrectHasTimer", &Script_ResurrectHasTimer }, + { "BeginTrade", &Script_BeginTrade }, + { "CancelTrade", &Script_CancelTrade }, + { "AcceptGroup", &Script_AcceptGroup }, + { "DeclineGroup", &Script_DeclineGroup }, + { "AcceptGuild", &Script_AcceptGuild }, + { "DeclineGuild", &Script_DeclineGuild }, + { "AcceptArenaTeam", &Script_AcceptArenaTeam }, + { "DeclineArenaTeam", &Script_DeclineArenaTeam }, + { "CancelLogout", &Script_CancelLogout }, + { "ForceLogout", &Script_ForceLogout }, + { "ForceQuit", &Script_ForceQuit }, + { "GetCursorMoney", &Script_GetCursorMoney }, + { "DropCursorMoney", &Script_DropCursorMoney }, + { "PickupPlayerMoney", &Script_PickupPlayerMoney }, + { "HasSoulstone", &Script_HasSoulstone }, + { "UseSoulstone", &Script_UseSoulstone }, + { "HasKey", &Script_HasKey }, + { "GuildInvite", &Script_GuildInvite }, + { "GuildUninvite", &Script_GuildUninvite }, + { "GuildPromote", &Script_GuildPromote }, + { "GuildDemote", &Script_GuildDemote }, + { "GuildSetLeader", &Script_GuildSetLeader }, + { "GuildSetMOTD", &Script_GuildSetMOTD }, + { "GuildLeave", &Script_GuildLeave }, + { "GuildDisband", &Script_GuildDisband }, + { "GuildInfo", &Script_GuildInfo }, + { "ArenaTeamInviteByName", &Script_ArenaTeamInviteByName }, + { "ArenaTeamLeave", &Script_ArenaTeamLeave }, + { "ArenaTeamUninviteByName", &Script_ArenaTeamUninviteByName }, + { "ArenaTeamSetLeaderByName", &Script_ArenaTeamSetLeaderByName }, + { "ArenaTeamDisband", &Script_ArenaTeamDisband }, + { "GetScreenWidth", &Script_GetScreenWidth }, + { "GetScreenHeight", &Script_GetScreenHeight }, + { "GetDamageBonusStat", &Script_GetDamageBonusStat }, + { "GetReleaseTimeRemaining", &Script_GetReleaseTimeRemaining }, + { "GetCorpseRecoveryDelay", &Script_GetCorpseRecoveryDelay }, + { "GetInstanceBootTimeRemaining", &Script_GetInstanceBootTimeRemaining }, + { "GetInstanceLockTimeRemaining", &Script_GetInstanceLockTimeRemaining }, + { "GetInstanceLockTimeRemainingEncounter", &Script_GetInstanceLockTimeRemainingEncounter }, + { "GetSummonConfirmTimeLeft", &Script_GetSummonConfirmTimeLeft }, + { "GetSummonConfirmSummoner", &Script_GetSummonConfirmSummoner }, + { "GetSummonConfirmAreaName", &Script_GetSummonConfirmAreaName }, + { "ConfirmSummon", &Script_ConfirmSummon }, + { "CancelSummon", &Script_CancelSummon }, + { "GetCursorPosition", &Script_GetCursorPosition }, + { "GetNetStats", &Script_GetNetStats }, + { "SitStandOrDescendStart", &Script_SitStandOrDescendStart }, + { "StopCinematic", &Script_StopCinematic }, + { "RunScript", &Script_RunScript }, + { "CheckInteractDistance", &Script_CheckInteractDistance }, + { "RandomRoll", &Script_RandomRoll }, + { "OpeningCinematic", &Script_OpeningCinematic }, + { "InCinematic", &Script_InCinematic }, + { "IsWindowsClient", &Script_IsWindowsClient }, + { "IsMacClient", &Script_IsMacClient }, + { "IsLinuxClient", &Script_IsLinuxClient }, + { "AcceptXPLoss", &Script_AcceptXPLoss }, + { "CheckSpiritHealerDist", &Script_CheckSpiritHealerDist }, + { "CheckTalentMasterDist", &Script_CheckTalentMasterDist }, + { "CheckBinderDist", &Script_CheckBinderDist }, + { "RetrieveCorpse", &Script_RetrieveCorpse }, + { "BindEnchant", &Script_BindEnchant }, + { "ReplaceEnchant", &Script_ReplaceEnchant }, + { "ReplaceTradeEnchant", &Script_ReplaceTradeEnchant }, + { "NotWhileDeadError", &Script_NotWhileDeadError }, + { "GetRestState", &Script_GetRestState }, + { "GetXPExhaustion", &Script_GetXPExhaustion }, + { "GetTimeToWellRested", &Script_GetTimeToWellRested }, + { "GMRequestPlayerInfo", &Script_GMRequestPlayerInfo }, + { "GetCoinIcon", &Script_GetCoinIcon }, + { "GetCoinText", &Script_GetCoinText }, + { "GetCoinTextureString", &Script_GetCoinTextureString }, + { "IsSubZonePVPPOI", &Script_IsSubZonePVPPOI }, + { "GetZonePVPInfo", &Script_GetZonePVPInfo }, + { "TogglePVP", &Script_TogglePVP }, + { "SetPVP", &Script_SetPVP }, + { "GetPVPDesired", &Script_GetPVPDesired }, + { "GetPVPTimer", &Script_GetPVPTimer }, + { "IsPVPTimerRunning", &Script_IsPVPTimerRunning }, + { "ConfirmBindOnUse", &Script_ConfirmBindOnUse }, + { "SetPortraitToTexture", &Script_SetPortraitToTexture }, + { "GetLocale", &Script_GetLocale }, + { "GetGMTicketCategories", &Script_GetGMTicketCategories }, + { "DropItemOnUnit", &Script_DropItemOnUnit }, + { "RestartGx", &Script_RestartGx }, + { "RestoreVideoResolutionDefaults", &Script_RestoreVideoResolutionDefaults }, + { "RestoreVideoEffectsDefaults", &Script_RestoreVideoEffectsDefaults }, + { "RestoreVideoStereoDefaults", &Script_RestoreVideoStereoDefaults }, + { "GetBindLocation", &Script_GetBindLocation }, + { "ConfirmTalentWipe", &Script_ConfirmTalentWipe }, + { "ConfirmBinder", &Script_ConfirmBinder }, + { "ShowingHelm", &Script_ShowingHelm }, + { "ShowingCloak", &Script_ShowingCloak }, + { "ShowHelm", &Script_ShowHelm }, + { "ShowCloak", &Script_ShowCloak }, + { "SetEuropeanNumbers", &Script_SetEuropeanNumbers }, + { "GetAreaSpiritHealerTime", &Script_GetAreaSpiritHealerTime }, + { "AcceptAreaSpiritHeal", &Script_AcceptAreaSpiritHeal }, + { "CancelAreaSpiritHeal", &Script_CancelAreaSpiritHeal }, + { "GetMouseFocus", &Script_GetMouseFocus }, + { "GetRealmName", &Script_GetRealmName }, + { "GetItemQualityColor", &Script_GetItemQualityColor }, + { "GetItemInfo", &Script_GetItemInfo }, + { "GetItemGem", &Script_GetItemGem }, + { "GetExtendedItemInfo", &Script_GetExtendedItemInfo }, + { "GetItemIcon", &Script_GetItemIcon }, + { "GetItemFamily", &Script_GetItemFamily }, + { "GetItemCount", &Script_GetItemCount }, + { "GetItemSpell", &Script_GetItemSpell }, + { "GetItemCooldown", &Script_GetItemCooldown }, + { "PickupItem", &Script_PickupItem }, + { "IsCurrentItem", &Script_IsCurrentItem }, + { "IsUsableItem", &Script_IsUsableItem }, + { "IsHelpfulItem", &Script_IsHelpfulItem }, + { "IsHarmfulItem", &Script_IsHarmfulItem }, + { "IsConsumableItem", &Script_IsConsumableItem }, + { "IsEquippableItem", &Script_IsEquippableItem }, + { "IsEquippedItem", &Script_IsEquippedItem }, + { "IsEquippedItemType", &Script_IsEquippedItemType }, + { "IsDressableItem", &Script_IsDressableItem }, + { "ItemHasRange", &Script_ItemHasRange }, + { "IsItemInRange", &Script_IsItemInRange }, + { "GetNumAddOns", &Script_GetNumAddOns }, + { "GetAddOnInfo", &Script_GetAddOnInfo }, + { "GetAddOnMetadata", &Script_GetAddOnMetadata }, + { "UpdateAddOnMemoryUsage", &Script_UpdateAddOnMemoryUsage }, + { "GetAddOnMemoryUsage", &Script_GetAddOnMemoryUsage }, + { "GetScriptCPUUsage", &Script_GetScriptCPUUsage }, + { "UpdateAddOnCPUUsage", &Script_UpdateAddOnCPUUsage }, + { "GetAddOnCPUUsage", &Script_GetAddOnCPUUsage }, + { "GetFunctionCPUUsage", &Script_GetFunctionCPUUsage }, + { "GetFrameCPUUsage", &Script_GetFrameCPUUsage }, + { "GetEventCPUUsage", &Script_GetEventCPUUsage }, + { "ResetCPUUsage", &Script_ResetCPUUsage }, + { "GetAddOnDependencies", &Script_GetAddOnDependencies }, + { "EnableAddOn", &Script_EnableAddOn }, + { "EnableAllAddOns", &Script_EnableAllAddOns }, + { "DisableAddOn", &Script_DisableAddOn }, + { "DisableAllAddOns", &Script_DisableAllAddOns }, + { "ResetDisabledAddOns", &Script_ResetDisabledAddOns }, + { "IsAddOnLoadOnDemand", &Script_IsAddOnLoadOnDemand }, + { "IsAddOnLoaded", &Script_IsAddOnLoaded }, + { "LoadAddOn", &Script_LoadAddOn }, + { "PartialPlayTime", &Script_PartialPlayTime }, + { "NoPlayTime", &Script_NoPlayTime }, + { "GetBillingTimeRested", &Script_GetBillingTimeRested }, + { "CanShowResetInstances", &Script_CanShowResetInstances }, + { "ResetInstances", &Script_ResetInstances }, + { "IsInInstance", &Script_IsInInstance }, + { "GetInstanceDifficulty", &Script_GetInstanceDifficulty }, + { "GetInstanceInfo", &Script_GetInstanceInfo }, + { "GetDungeonDifficulty", &Script_GetDungeonDifficulty }, + { "SetDungeonDifficulty", &Script_SetDungeonDifficulty }, + { "GetRaidDifficulty", &Script_GetRaidDifficulty }, + { "SetRaidDifficulty", &Script_SetRaidDifficulty }, + { "ReportBug", &Script_ReportBug }, + { "ReportSuggestion", &Script_ReportSuggestion }, + { "GetMirrorTimerInfo", &Script_GetMirrorTimerInfo }, + { "GetMirrorTimerProgress", &Script_GetMirrorTimerProgress }, + { "GetNumTitles", &Script_GetNumTitles }, + { "GetCurrentTitle", &Script_GetCurrentTitle }, + { "SetCurrentTitle", &Script_SetCurrentTitle }, + { "IsTitleKnown", &Script_IsTitleKnown }, + { "GetTitleName", &Script_GetTitleName }, + { "UseItemByName", &Script_UseItemByName }, + { "EquipItemByName", &Script_EquipItemByName }, + { "GetExistingLocales", &Script_GetExistingLocales }, + { "InCombatLockdown", &Script_InCombatLockdown }, + { "StartAttack", &Script_StartAttack }, + { "StopAttack", &Script_StopAttack }, + { "SetTaxiBenchmarkMode", &Script_SetTaxiBenchmarkMode }, + { "GetTaxiBenchmarkMode", &Script_GetTaxiBenchmarkMode }, + { "Dismount", &Script_Dismount }, + { "VoicePushToTalkStart", &Script_VoicePushToTalkStart }, + { "VoicePushToTalkStop", &Script_VoicePushToTalkStop }, + { "SetUIVisibility", &Script_SetUIVisibility }, + { "IsReferAFriendLinked", &Script_IsReferAFriendLinked }, + { "CanGrantLevel", &Script_CanGrantLevel }, + { "GrantLevel", &Script_GrantLevel }, + { "CanSummonFriend", &Script_CanSummonFriend }, + { "SummonFriend", &Script_SummonFriend }, + { "GetSummonFriendCooldown", &Script_GetSummonFriendCooldown }, + { "GetTotemInfo", &Script_GetTotemInfo }, + { "GetTotemTimeLeft", &Script_GetTotemTimeLeft }, + { "TargetTotem", &Script_TargetTotem }, + { "DestroyTotem", &Script_DestroyTotem }, + { "GetNumDeclensionSets", &Script_GetNumDeclensionSets }, + { "DeclineName", &Script_DeclineName }, + { "AcceptLevelGrant", &Script_AcceptLevelGrant }, + { "DeclineLevelGrant", &Script_DeclineLevelGrant }, + { "UploadSettings", &Script_UploadSettings }, + { "DownloadSettings", &Script_DownloadSettings }, + { "GetMovieResolution", &Script_GetMovieResolution }, + { "GameMovieFinished", &Script_GameMovieFinished }, + { "IsDesaturateSupported", &Script_IsDesaturateSupported }, + { "GetThreatStatusColor", &Script_GetThreatStatusColor }, + { "IsThreatWarningEnabled", &Script_IsThreatWarningEnabled }, + { "ConsoleAddMessage", &Script_ConsoleAddMessage }, + { "GetItemUniqueness", &Script_GetItemUniqueness }, + { "EndRefund", &Script_EndRefund }, + { "EndBoundTradeable", &Script_EndBoundTradeable }, + { "CanMapChangeDifficulty", &Script_CanMapChangeDifficulty }, + { "GetExpansionLevel", &Script_GetExpansionLevel }, + { "GetAllowLowLevelRaid", &Script_GetAllowLowLevelRaid }, + { "SetAllowLowLevelRaid", &Script_SetAllowLowLevelRaid } +}; void LoadScriptFunctions() { RegisterSimpleFrameScriptMethods(); + + for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_GAME; ++i) { + FrameScript_RegisterFunction( + GameScript::s_ScriptFunctions_Game[i].name, + GameScript::s_ScriptFunctions_Game[i].method); + } + // TODO CameraRegisterScriptFunctions(); -} - -void CameraRegisterScriptFunctions() { - for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_CAMERA; ++i) { - FrameScript_RegisterFunction( - GameScript::s_ScriptFunctions_Camera[i].name, - GameScript::s_ScriptFunctions_Camera[i].method); - } + ScriptEventsRegisterFunctions(); + ChatRegisterScriptFunctions(); } diff --git a/src/gameui/GameScriptFunctions.hpp b/src/gameui/GameScriptFunctions.hpp index 0123583..b538061 100644 --- a/src/gameui/GameScriptFunctions.hpp +++ b/src/gameui/GameScriptFunctions.hpp @@ -6,15 +6,23 @@ struct lua_State; +#define NUM_SCRIPT_FUNCTIONS_GAME 310 #define NUM_SCRIPT_FUNCTIONS_CAMERA 22 +#define NUM_SCRIPT_FUNCTIONS_SCRIPT_EVENTS 169 +#define NUM_SCRIPT_FUNCTIONS_CHAT 89 namespace GameScript { + extern FrameScript_Method s_ScriptFunctions_Game[NUM_SCRIPT_FUNCTIONS_GAME]; extern FrameScript_Method s_ScriptFunctions_Camera[NUM_SCRIPT_FUNCTIONS_CAMERA]; -} + extern FrameScript_Method s_ScriptFunctions_ScriptEvents[NUM_SCRIPT_FUNCTIONS_SCRIPT_EVENTS]; + extern FrameScript_Method s_ScriptFunctions_Chat[NUM_SCRIPT_FUNCTIONS_CHAT]; + } // Utility void LoadScriptFunctions(); void CameraRegisterScriptFunctions(); +void ScriptEventsRegisterFunctions(); +void ChatRegisterScriptFunctions(); #endif diff --git a/src/gameui/GameScriptFunctionsCamera.cpp b/src/gameui/GameScriptFunctionsCamera.cpp index a36902e..97c5c6f 100644 --- a/src/gameui/GameScriptFunctionsCamera.cpp +++ b/src/gameui/GameScriptFunctionsCamera.cpp @@ -93,6 +93,14 @@ int32_t Script_VehicleCameraZoomOut(lua_State* L) { } +void CameraRegisterScriptFunctions() { + for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_CAMERA; ++i) { + FrameScript_RegisterFunction( + GameScript::s_ScriptFunctions_Camera[i].name, + GameScript::s_ScriptFunctions_Camera[i].method); + } +} + FrameScript_Method GameScript::s_ScriptFunctions_Camera[NUM_SCRIPT_FUNCTIONS_CAMERA] = { { "CameraZoomIn", &Script_CameraZoomIn }, { "CameraZoomOut", &Script_CameraZoomOut }, diff --git a/src/gameui/GameScriptFunctionsChat.cpp b/src/gameui/GameScriptFunctionsChat.cpp new file mode 100644 index 0000000..143c7a5 --- /dev/null +++ b/src/gameui/GameScriptFunctionsChat.cpp @@ -0,0 +1,477 @@ +#include "gameui/GameScriptFunctions.hpp" +#include "ui/FrameScript.hpp" +#include "util/Lua.hpp" +#include "util/Unimplemented.hpp" + + +static int32_t Script_SendChatMessage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SendAddonMessage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SendSystemMessage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetNumLanguages(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetLanguageByIndex(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetDefaultLanguage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DoEmote(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_LoggingChat(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_LoggingCombat(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_JoinChannelByName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_JoinTemporaryChannel(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_JoinPermanentChannel(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_LeaveChannelByName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ListChannelByName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ListChannels(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetChannelList(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetChannelPassword(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetChannelOwner(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DisplayChannelOwner(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetChannelName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelModerator(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelUnmoderator(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelMute(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelUnmute(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelInvite(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelKick(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelBan(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelUnban(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelToggleAnnouncements(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelSilenceVoice(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelSilenceAll(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelUnSilenceVoice(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelUnSilenceAll(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChangeChatColor(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ResetChatColors(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetChatTypeIndex(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetChatWindowInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetChatWindowSavedPosition(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetChatWindowSavedDimensions(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetChatWindowMessages(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetChatWindowChannels(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_AddChatWindowMessages(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_RemoveChatWindowMessages(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_AddChatWindowChannel(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_RemoveChatWindowChannel(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetChatWindowName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetChatWindowSize(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetChatWindowColor(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetChatWindowAlpha(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetChatWindowLocked(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetChatWindowDocked(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetChatWindowUninteractable(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetChatWindowShown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetChatWindowSavedPosition(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetChatWindowSavedDimensions(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_EnumerateServerChannels(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_RequestRaidInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetNumSavedInstances(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetSavedInstanceInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetSavedInstanceExtend(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ResetChatWindows(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CanComplainChat(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ComplainChat(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetNumDisplayChannels(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetChannelDisplayInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetSelectedDisplayChannel(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetSelectedDisplayChannel(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetChannelRosterInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetNumChannelMembers(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetActiveVoiceChannel(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetActiveVoiceChannel(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CollapseChannelHeader(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ExpandChannelHeader(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelVoiceOn(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ChannelVoiceOff(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DisplayChannelVoiceOn(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DisplayChannelVoiceOff(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsDisplayChannelOwner(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsDisplayChannelModerator(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsVoiceChatEnabled(lua_State* L) { + /* + v1 = s_cvarEnableVoiceChat && s_cvarEnableVoiceChat->m_intValue; + v2 = ComSatClient_IsComsatDisabledByClient(); + if ( CGChat::m_voiceChatSystemStatus && v1 && !v2 ) + { + lua_pushnumber(a1, 1.0); + return 1; + } + else + { + lua_pushnil(a1); + return 1; + } + */ + + lua_pushnil(L); + return 1; +} + +static int32_t Script_IsVoiceChatAllowed(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsVoiceChatAllowedByServer(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsSilenced(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetMuteStatus(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsSilenced(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetChannelWatch(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ClearChannelWatch(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_DeclineInvite(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetChatColorNameByClass(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +void ChatRegisterScriptFunctions() { + for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_CHAT; ++i) { + FrameScript_RegisterFunction( + GameScript::s_ScriptFunctions_Chat[i].name, + GameScript::s_ScriptFunctions_Chat[i].method); + } +} + +FrameScript_Method GameScript::s_ScriptFunctions_Chat[NUM_SCRIPT_FUNCTIONS_CHAT] = { + { "SendChatMessage", &Script_SendChatMessage }, + { "SendAddonMessage", &Script_SendAddonMessage }, + { "SendSystemMessage", &Script_SendSystemMessage }, + { "GetNumLanguages", &Script_GetNumLanguages }, + { "GetLanguageByIndex", &Script_GetLanguageByIndex }, + { "GetDefaultLanguage", &Script_GetDefaultLanguage }, + { "DoEmote", &Script_DoEmote }, + { "LoggingChat", &Script_LoggingChat }, + { "LoggingCombat", &Script_LoggingCombat }, + { "JoinChannelByName", &Script_JoinChannelByName }, + { "JoinTemporaryChannel", &Script_JoinTemporaryChannel }, + { "JoinPermanentChannel", &Script_JoinPermanentChannel }, + { "LeaveChannelByName", &Script_LeaveChannelByName }, + { "ListChannelByName", &Script_ListChannelByName }, + { "ListChannels", &Script_ListChannels }, + { "GetChannelList", &Script_GetChannelList }, + { "SetChannelPassword", &Script_SetChannelPassword }, + { "SetChannelOwner", &Script_SetChannelOwner }, + { "DisplayChannelOwner", &Script_DisplayChannelOwner }, + { "GetChannelName", &Script_GetChannelName }, + { "ChannelModerator", &Script_ChannelModerator }, + { "ChannelUnmoderator", &Script_ChannelUnmoderator }, + { "ChannelMute", &Script_ChannelMute }, + { "ChannelUnmute", &Script_ChannelUnmute }, + { "ChannelInvite", &Script_ChannelInvite }, + { "ChannelKick", &Script_ChannelKick }, + { "ChannelBan", &Script_ChannelBan }, + { "ChannelUnban", &Script_ChannelUnban }, + { "ChannelToggleAnnouncements", &Script_ChannelToggleAnnouncements }, + { "ChannelSilenceVoice", &Script_ChannelSilenceVoice }, + { "ChannelSilenceAll", &Script_ChannelSilenceAll }, + { "ChannelUnSilenceVoice", &Script_ChannelUnSilenceVoice }, + { "ChannelUnSilenceAll", &Script_ChannelUnSilenceAll }, + { "ChangeChatColor", &Script_ChangeChatColor }, + { "ResetChatColors", &Script_ResetChatColors }, + { "GetChatTypeIndex", &Script_GetChatTypeIndex }, + { "GetChatWindowInfo", &Script_GetChatWindowInfo }, + { "GetChatWindowSavedPosition", &Script_GetChatWindowSavedPosition }, + { "GetChatWindowSavedDimensions", &Script_GetChatWindowSavedDimensions }, + { "GetChatWindowMessages", &Script_GetChatWindowMessages }, + { "GetChatWindowChannels", &Script_GetChatWindowChannels }, + { "AddChatWindowMessages", &Script_AddChatWindowMessages }, + { "RemoveChatWindowMessages", &Script_RemoveChatWindowMessages }, + { "AddChatWindowChannel", &Script_AddChatWindowChannel }, + { "RemoveChatWindowChannel", &Script_RemoveChatWindowChannel }, + { "SetChatWindowName", &Script_SetChatWindowName }, + { "SetChatWindowSize", &Script_SetChatWindowSize }, + { "SetChatWindowColor", &Script_SetChatWindowColor }, + { "SetChatWindowAlpha", &Script_SetChatWindowAlpha }, + { "SetChatWindowLocked", &Script_SetChatWindowLocked }, + { "SetChatWindowDocked", &Script_SetChatWindowDocked }, + { "SetChatWindowUninteractable", &Script_SetChatWindowUninteractable }, + { "SetChatWindowShown", &Script_SetChatWindowShown }, + { "SetChatWindowSavedPosition", &Script_SetChatWindowSavedPosition }, + { "SetChatWindowSavedDimensions", &Script_SetChatWindowSavedDimensions }, + { "EnumerateServerChannels", &Script_EnumerateServerChannels }, + { "RequestRaidInfo", &Script_RequestRaidInfo }, + { "GetNumSavedInstances", &Script_GetNumSavedInstances }, + { "GetSavedInstanceInfo", &Script_GetSavedInstanceInfo }, + { "SetSavedInstanceExtend", &Script_SetSavedInstanceExtend }, + { "ResetChatWindows", &Script_ResetChatWindows }, + { "CanComplainChat", &Script_CanComplainChat }, + { "ComplainChat", &Script_ComplainChat }, + { "GetNumDisplayChannels", &Script_GetNumDisplayChannels }, + { "GetChannelDisplayInfo", &Script_GetChannelDisplayInfo }, + { "GetSelectedDisplayChannel", &Script_GetSelectedDisplayChannel }, + { "SetSelectedDisplayChannel", &Script_SetSelectedDisplayChannel }, + { "GetChannelRosterInfo", &Script_GetChannelRosterInfo }, + { "GetNumChannelMembers", &Script_GetNumChannelMembers }, + { "SetActiveVoiceChannel", &Script_SetActiveVoiceChannel }, + { "GetActiveVoiceChannel", &Script_GetActiveVoiceChannel }, + { "CollapseChannelHeader", &Script_CollapseChannelHeader }, + { "ExpandChannelHeader", &Script_ExpandChannelHeader }, + { "ChannelVoiceOn", &Script_ChannelVoiceOn }, + { "ChannelVoiceOff", &Script_ChannelVoiceOff }, + { "DisplayChannelVoiceOn", &Script_DisplayChannelVoiceOn }, + { "DisplayChannelVoiceOff", &Script_DisplayChannelVoiceOff }, + { "IsDisplayChannelOwner", &Script_IsDisplayChannelOwner }, + { "IsDisplayChannelModerator", &Script_IsDisplayChannelModerator }, + { "IsVoiceChatEnabled", &Script_IsVoiceChatEnabled }, + { "IsVoiceChatAllowed", &Script_IsVoiceChatAllowed }, + { "IsVoiceChatAllowedByServer", &Script_IsVoiceChatAllowedByServer }, + { "IsSilenced", &Script_IsSilenced }, + { "GetMuteStatus", &Script_GetMuteStatus }, + { "UnitIsSilenced", &Script_UnitIsSilenced }, + { "SetChannelWatch", &Script_SetChannelWatch }, + { "ClearChannelWatch", &Script_ClearChannelWatch }, + { "DeclineInvite", &Script_DeclineInvite }, + { "SetChatColorNameByClass", &Script_SetChatColorNameByClass }, +}; diff --git a/src/gameui/GameScriptFunctionsScriptEvents.cpp b/src/gameui/GameScriptFunctionsScriptEvents.cpp new file mode 100644 index 0000000..451dd29 --- /dev/null +++ b/src/gameui/GameScriptFunctionsScriptEvents.cpp @@ -0,0 +1,861 @@ +#include "gameui/GameScriptFunctions.hpp" +#include "ui/FrameScript.hpp" +#include "util/Lua.hpp" +#include "util/Unimplemented.hpp" + +static int32_t Script_UnitExists(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsVisible(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsUnit(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsPlayer(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsInMyGuild(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsCorpse(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsPartyLeader(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitGroupRolesAssigned(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsRaidOfficer(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitInParty(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitPlayerOrPetInParty(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitInRaid(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitPlayerOrPetInRaid(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitPlayerControlled(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsAFK(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsDND(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsPVP(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsPVPSanctuary(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsPVPFreeForAll(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitFactionGroup(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitReaction(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsEnemy(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsFriend(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitCanCooperate(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitCanAssist(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitCanAttack(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsCharmed(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsPossessed(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_PlayerCanTeleport(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitClassification(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitSelectionColor(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitGUID(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitPVPName(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitXP(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitXPMax(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitHealth(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitHealthMax(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitMana(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitManaMax(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitPower(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitPowerMax(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitPowerType(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitOnTaxi(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsFeignDeath(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsDead(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsGhost(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsDeadOrGhost(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsConnected(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitAffectingCombat(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitSex(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitLevel(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetMoney(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetHonorCurrency(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetArenaCurrency(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitRace(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitClass(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitClassBase(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitResistance(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitStat(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitAttackBothHands(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitDamage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitRangedDamage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitRangedAttack(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitAttackSpeed(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitAttackPower(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitRangedAttackPower(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitDefense(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitArmor(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitCharacterPoints(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitBuff(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitDebuff(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitAura(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsTapped(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsTappedByPlayer(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsTappedByAllThreatList(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsTrivial(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitHasRelicSlot(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_SetPortraitTexture(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_HasFullControl(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetComboPoints(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsInGuild(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsGuildLeader(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsArenaTeamCaptain(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsInArenaTeam(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsResting(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCombatRating(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCombatRatingBonus(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetMaxCombatRatingBonus(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetDodgeChance(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetBlockChance(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetShieldBlock(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetParryChance(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCritChanceFromAgility(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetSpellCritChanceFromIntellect(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetCritChance(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetRangedCritChance(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetSpellCritChance(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetSpellBonusDamage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetSpellBonusHealing(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetPetSpellBonusDamage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetSpellPenetration(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetArmorPenetration(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetAttackPowerForStat(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitCreatureType(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitCreatureFamily(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetResSicknessDuration(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetPVPSessionStats(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetPVPYesterdayStats(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetPVPLifetimeStats(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitPVPRank(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetPVPRankInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetPVPRankProgress(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitCastingInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitChannelInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsLoggedIn(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsFlyableArea(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsIndoors(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsOutdoors(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsOutOfBounds(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsFalling(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsSwimming(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsFlying(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsMounted(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsStealthed(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsSameServer(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetUnitHealthModifier(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetUnitMaxHealthModifier(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetUnitPowerModifier(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetUnitHealthRegenRateFromSpirit(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetUnitManaRegenRateFromSpirit(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetManaRegen(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetPowerRegen(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetRuneCooldown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetRuneCount(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetRuneType(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_ReportPlayerIsPVPAFK(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_PlayerIsPVPInactive(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetExpertise(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetExpertisePercent(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitInBattleground(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitInRange(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetUnitSpeed(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetUnitPitch(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitInVehicle(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitUsingVehicle(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitControllingVehicle(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitInVehicleControlSeat(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitHasVehicleUI(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitTargetsVehicleInRaidUI(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitVehicleSkin(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitVehicleSeatCount(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitVehicleSeatInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitSwitchToVehicleSeat(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CanSwitchVehicleSeat(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetVehicleUIIndicator(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetVehicleUIIndicatorSeat(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitThreatSituation(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitDetailedThreatSituation(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_UnitIsControlling(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_EjectPassengerFromSeat(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_CanEjectPassengerFromSeat(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_RespondInstanceLock(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetPlayerFacing(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetPlayerInfoByGUID(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetItemStats(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_GetItemStatDelta(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_IsXPUserDisabled(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +static int32_t Script_FillLocalizedClassList(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + + +void ScriptEventsRegisterFunctions() { + for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_SCRIPT_EVENTS; ++i) { + FrameScript_RegisterFunction( + GameScript::s_ScriptFunctions_ScriptEvents[i].name, + GameScript::s_ScriptFunctions_ScriptEvents[i].method); + } +} + +FrameScript_Method GameScript::s_ScriptFunctions_ScriptEvents[NUM_SCRIPT_FUNCTIONS_SCRIPT_EVENTS] = { + { "UnitExists", &Script_UnitExists }, + { "UnitIsVisible", &Script_UnitIsVisible }, + { "UnitIsUnit", &Script_UnitIsUnit }, + { "UnitIsPlayer", &Script_UnitIsPlayer }, + { "UnitIsInMyGuild", &Script_UnitIsInMyGuild }, + { "UnitIsCorpse", &Script_UnitIsCorpse }, + { "UnitIsPartyLeader", &Script_UnitIsPartyLeader }, + { "UnitGroupRolesAssigned", &Script_UnitGroupRolesAssigned }, + { "UnitIsRaidOfficer", &Script_UnitIsRaidOfficer }, + { "UnitInParty", &Script_UnitInParty }, + { "UnitPlayerOrPetInParty", &Script_UnitPlayerOrPetInParty }, + { "UnitInRaid", &Script_UnitInRaid }, + { "UnitPlayerOrPetInRaid", &Script_UnitPlayerOrPetInRaid }, + { "UnitPlayerControlled", &Script_UnitPlayerControlled }, + { "UnitIsAFK", &Script_UnitIsAFK }, + { "UnitIsDND", &Script_UnitIsDND }, + { "UnitIsPVP", &Script_UnitIsPVP }, + { "UnitIsPVPSanctuary", &Script_UnitIsPVPSanctuary }, + { "UnitIsPVPFreeForAll", &Script_UnitIsPVPFreeForAll }, + { "UnitFactionGroup", &Script_UnitFactionGroup }, + { "UnitReaction", &Script_UnitReaction }, + { "UnitIsEnemy", &Script_UnitIsEnemy }, + { "UnitIsFriend", &Script_UnitIsFriend }, + { "UnitCanCooperate", &Script_UnitCanCooperate }, + { "UnitCanAssist", &Script_UnitCanAssist }, + { "UnitCanAttack", &Script_UnitCanAttack }, + { "UnitIsCharmed", &Script_UnitIsCharmed }, + { "UnitIsPossessed", &Script_UnitIsPossessed }, + { "PlayerCanTeleport", &Script_PlayerCanTeleport }, + { "UnitClassification", &Script_UnitClassification }, + { "UnitSelectionColor", &Script_UnitSelectionColor }, + { "UnitGUID", &Script_UnitGUID }, + { "UnitName", &Script_UnitName }, + { "UnitPVPName", &Script_UnitPVPName }, + { "UnitXP", &Script_UnitXP }, + { "UnitXPMax", &Script_UnitXPMax }, + { "UnitHealth", &Script_UnitHealth }, + { "UnitHealthMax", &Script_UnitHealthMax }, + { "UnitMana", &Script_UnitMana }, + { "UnitManaMax", &Script_UnitManaMax }, + { "UnitPower", &Script_UnitPower }, + { "UnitPowerMax", &Script_UnitPowerMax }, + { "UnitPowerType", &Script_UnitPowerType }, + { "UnitOnTaxi", &Script_UnitOnTaxi }, + { "UnitIsFeignDeath", &Script_UnitIsFeignDeath }, + { "UnitIsDead", &Script_UnitIsDead }, + { "UnitIsGhost", &Script_UnitIsGhost }, + { "UnitIsDeadOrGhost", &Script_UnitIsDeadOrGhost }, + { "UnitIsConnected", &Script_UnitIsConnected }, + { "UnitAffectingCombat", &Script_UnitAffectingCombat }, + { "UnitSex", &Script_UnitSex }, + { "UnitLevel", &Script_UnitLevel }, + { "GetMoney", &Script_GetMoney }, + { "GetHonorCurrency", &Script_GetHonorCurrency }, + { "GetArenaCurrency", &Script_GetArenaCurrency }, + { "UnitRace", &Script_UnitRace }, + { "UnitClass", &Script_UnitClass }, + { "UnitClassBase", &Script_UnitClassBase }, + { "UnitResistance", &Script_UnitResistance }, + { "UnitStat", &Script_UnitStat }, + { "UnitAttackBothHands", &Script_UnitAttackBothHands }, + { "UnitDamage", &Script_UnitDamage }, + { "UnitRangedDamage", &Script_UnitRangedDamage }, + { "UnitRangedAttack", &Script_UnitRangedAttack }, + { "UnitAttackSpeed", &Script_UnitAttackSpeed }, + { "UnitAttackPower", &Script_UnitAttackPower }, + { "UnitRangedAttackPower", &Script_UnitRangedAttackPower }, + { "UnitDefense", &Script_UnitDefense }, + { "UnitArmor", &Script_UnitArmor }, + { "UnitCharacterPoints", &Script_UnitCharacterPoints }, + { "UnitBuff", &Script_UnitBuff }, + { "UnitDebuff", &Script_UnitDebuff }, + { "UnitAura", &Script_UnitAura }, + { "UnitIsTapped", &Script_UnitIsTapped }, + { "UnitIsTappedByPlayer", &Script_UnitIsTappedByPlayer }, + { "UnitIsTappedByAllThreatList", &Script_UnitIsTappedByAllThreatList }, + { "UnitIsTrivial", &Script_UnitIsTrivial }, + { "UnitHasRelicSlot", &Script_UnitHasRelicSlot }, + { "SetPortraitTexture", &Script_SetPortraitTexture }, + { "HasFullControl", &Script_HasFullControl }, + { "GetComboPoints", &Script_GetComboPoints }, + { "IsInGuild", &Script_IsInGuild }, + { "IsGuildLeader", &Script_IsGuildLeader }, + { "IsArenaTeamCaptain", &Script_IsArenaTeamCaptain }, + { "IsInArenaTeam", &Script_IsInArenaTeam }, + { "IsResting", &Script_IsResting }, + { "GetCombatRating", &Script_GetCombatRating }, + { "GetCombatRatingBonus", &Script_GetCombatRatingBonus }, + { "GetMaxCombatRatingBonus", &Script_GetMaxCombatRatingBonus }, + { "GetDodgeChance", &Script_GetDodgeChance }, + { "GetBlockChance", &Script_GetBlockChance }, + { "GetShieldBlock", &Script_GetShieldBlock }, + { "GetParryChance", &Script_GetParryChance }, + { "GetCritChanceFromAgility", &Script_GetCritChanceFromAgility }, + { "GetSpellCritChanceFromIntellect", &Script_GetSpellCritChanceFromIntellect }, + { "GetCritChance", &Script_GetCritChance }, + { "GetRangedCritChance", &Script_GetRangedCritChance }, + { "GetSpellCritChance", &Script_GetSpellCritChance }, + { "GetSpellBonusDamage", &Script_GetSpellBonusDamage }, + { "GetSpellBonusHealing", &Script_GetSpellBonusHealing }, + { "GetPetSpellBonusDamage", &Script_GetPetSpellBonusDamage }, + { "GetSpellPenetration", &Script_GetSpellPenetration }, + { "GetArmorPenetration", &Script_GetArmorPenetration }, + { "GetAttackPowerForStat", &Script_GetAttackPowerForStat }, + { "UnitCreatureType", &Script_UnitCreatureType }, + { "UnitCreatureFamily", &Script_UnitCreatureFamily }, + { "GetResSicknessDuration", &Script_GetResSicknessDuration }, + { "GetPVPSessionStats", &Script_GetPVPSessionStats }, + { "GetPVPYesterdayStats", &Script_GetPVPYesterdayStats }, + { "GetPVPLifetimeStats", &Script_GetPVPLifetimeStats }, + { "UnitPVPRank", &Script_UnitPVPRank }, + { "GetPVPRankInfo", &Script_GetPVPRankInfo }, + { "GetPVPRankProgress", &Script_GetPVPRankProgress }, + { "UnitCastingInfo", &Script_UnitCastingInfo }, + { "UnitChannelInfo", &Script_UnitChannelInfo }, + { "IsLoggedIn", &Script_IsLoggedIn }, + { "IsFlyableArea", &Script_IsFlyableArea }, + { "IsIndoors", &Script_IsIndoors }, + { "IsOutdoors", &Script_IsOutdoors }, + { "IsOutOfBounds", &Script_IsOutOfBounds }, + { "IsFalling", &Script_IsFalling }, + { "IsSwimming", &Script_IsSwimming }, + { "IsFlying", &Script_IsFlying }, + { "IsMounted", &Script_IsMounted }, + { "IsStealthed", &Script_IsStealthed }, + { "UnitIsSameServer", &Script_UnitIsSameServer }, + { "GetUnitHealthModifier", &Script_GetUnitHealthModifier }, + { "GetUnitMaxHealthModifier", &Script_GetUnitMaxHealthModifier }, + { "GetUnitPowerModifier", &Script_GetUnitPowerModifier }, + { "GetUnitHealthRegenRateFromSpirit", &Script_GetUnitHealthRegenRateFromSpirit }, + { "GetUnitManaRegenRateFromSpirit", &Script_GetUnitManaRegenRateFromSpirit }, + { "GetManaRegen", &Script_GetManaRegen }, + { "GetPowerRegen", &Script_GetPowerRegen }, + { "GetRuneCooldown", &Script_GetRuneCooldown }, + { "GetRuneCount", &Script_GetRuneCount }, + { "GetRuneType", &Script_GetRuneType }, + { "ReportPlayerIsPVPAFK", &Script_ReportPlayerIsPVPAFK }, + { "PlayerIsPVPInactive", &Script_PlayerIsPVPInactive }, + { "GetExpertise", &Script_GetExpertise }, + { "GetExpertisePercent", &Script_GetExpertisePercent }, + { "UnitInBattleground", &Script_UnitInBattleground }, + { "UnitInRange", &Script_UnitInRange }, + { "GetUnitSpeed", &Script_GetUnitSpeed }, + { "GetUnitPitch", &Script_GetUnitPitch }, + { "UnitInVehicle", &Script_UnitInVehicle }, + { "UnitUsingVehicle", &Script_UnitUsingVehicle }, + { "UnitControllingVehicle", &Script_UnitControllingVehicle }, + { "UnitInVehicleControlSeat", &Script_UnitInVehicleControlSeat }, + { "UnitHasVehicleUI", &Script_UnitHasVehicleUI }, + { "UnitTargetsVehicleInRaidUI", &Script_UnitTargetsVehicleInRaidUI }, + { "UnitVehicleSkin", &Script_UnitVehicleSkin }, + { "UnitVehicleSeatCount", &Script_UnitVehicleSeatCount }, + { "UnitVehicleSeatInfo", &Script_UnitVehicleSeatInfo }, + { "UnitSwitchToVehicleSeat", &Script_UnitSwitchToVehicleSeat }, + { "CanSwitchVehicleSeat", &Script_CanSwitchVehicleSeat }, + { "GetVehicleUIIndicator", &Script_GetVehicleUIIndicator }, + { "GetVehicleUIIndicatorSeat", &Script_GetVehicleUIIndicatorSeat }, + { "UnitThreatSituation", &Script_UnitThreatSituation }, + { "UnitDetailedThreatSituation", &Script_UnitDetailedThreatSituation }, + { "UnitIsControlling", &Script_UnitIsControlling }, + { "EjectPassengerFromSeat", &Script_EjectPassengerFromSeat }, + { "CanEjectPassengerFromSeat", &Script_CanEjectPassengerFromSeat }, + { "RespondInstanceLock", &Script_RespondInstanceLock }, + { "GetPlayerFacing", &Script_GetPlayerFacing }, + { "GetPlayerInfoByGUID", &Script_GetPlayerInfoByGUID }, + { "GetItemStats", &Script_GetItemStats }, + { "GetItemStatDelta", &Script_GetItemStatDelta }, + { "IsXPUserDisabled", &Script_IsXPUserDisabled }, + { "FillLocalizedClassList", &Script_FillLocalizedClassList } +}; diff --git a/src/ui/FrameScript.cpp b/src/ui/FrameScript.cpp index 91bd15e..7539bd7 100644 --- a/src/ui/FrameScript.cpp +++ b/src/ui/FrameScript.cpp @@ -6,6 +6,7 @@ #include "util/CStatus.hpp" #include "util/Lua.hpp" #include "util/SFile.hpp" +#include "os/Debug.hpp" #include #include #include @@ -156,7 +157,12 @@ void FrameScript_CreateEvents(const char* names[], uint32_t count) { } void FrameScript_Destroy() { - // TODO + lua_close(FrameScript::s_context); + FrameScript::s_context = nullptr; + luaM_freePool(FrameScript::s_mempool); + FrameScript::s_mempool = nullptr; + FrameScript::s_scriptEventsHash.Clear(); + FrameScript::s_scriptEvents.Clear(); } void FrameScript_Execute(const char* source, const char* filename, const char* a3) { @@ -755,9 +761,9 @@ int32_t FrameScript_HandleError(lua_State* L) { // TODO // Remove temporary console debug logging if (v2 && objName) { - printf("Error: %s%s\n", objName, v2 + 1); + OsOutputDebugString("Error: %s%s\n", objName, v2 + 1); } else { - printf("Error: %s\n", v1); + OsOutputDebugString("Error: %s\n", v1); } if (v2 && objName) { diff --git a/src/ui/FrameXML.cpp b/src/ui/FrameXML.cpp index 7c3c799..668b22c 100644 --- a/src/ui/FrameXML.cpp +++ b/src/ui/FrameXML.cpp @@ -272,9 +272,10 @@ int32_t FrameXML_CreateFrames(const char* tocPath, const char* a2, MD5_CTX* md5, tocData = tocData + 3; } - CStatus v21; + CStatus frameStatus; char tocLine[1024]; char tocEntryPath[260]; + int32_t v25 = 0; do { SStrTokenize(&tocData, tocLine, 1024, "\r\n", 0); @@ -307,7 +308,7 @@ int32_t FrameXML_CreateFrames(const char* tocPath, const char* a2, MD5_CTX* md5, *v12 = 0; - FrameXML_ProcessFile(tocEntryPath, a2, md5, &v21); + FrameXML_ProcessFile(tocEntryPath, a2, md5, &frameStatus); // TODO // if (s_progressCallback && s_progressFiles < s_progressTotal) { @@ -324,13 +325,11 @@ int32_t FrameXML_CreateFrames(const char* tocPath, const char* a2, MD5_CTX* md5, SFile::Unload(tocBuffer); - // TODO - // if (s_debugLevel > 0 || v25 > 0) { - // v21.Prepend(STATUS_INFO, "** Loading table of contents %s", v5); - // } + if (FrameXML::s_debugLevel > 0 || v25 > 0) { + frameStatus.Prepend(STATUS_INFO, "** Loading table of contents %s", v5); + } - // TODO - // status->Add(v21); + status->Add(frameStatus); return 1; } @@ -417,7 +416,7 @@ int32_t FrameXML_ProcessFile(const char* filePath, const char* a2, MD5_CTX* md5, return 0; } - CStatus unkStatus; + CStatus fileStatus; XMLNode* node = XMLTree_GetRoot(tree)->m_child; @@ -428,6 +427,8 @@ int32_t FrameXML_ProcessFile(const char* filePath, const char* a2, MD5_CTX* md5, // Should come from some kind of Lua headers const char* lua_tainted = nullptr; + int32_t v34 = 0; + while (node) { // if (!SStrCmpI(node->GetName(), "Include", 0x7FFFFFFFu)) { @@ -448,9 +449,9 @@ int32_t FrameXML_ProcessFile(const char* filePath, const char* a2, MD5_CTX* md5, SStrCopy(v27, v14, 260); } - FrameXML_ProcessFile(v27, a2, md5, &unkStatus); + FrameXML_ProcessFile(v27, a2, md5, &fileStatus); } else { - unkStatus.Add(STATUS_ERROR, "Element 'Include' without file attribute"); + fileStatus.Add(STATUS_ERROR, "Element 'Include' without file attribute"); } //