mirror of
https://github.com/whoahq/whoa.git
synced 2026-02-01 00:02:45 +03:00
chore(glue): move glue-related script handlers from ui to glue
This commit is contained in:
parent
fceaeef00d
commit
2f00e53993
@ -9,7 +9,7 @@
|
||||
#include "console/Screen.hpp"
|
||||
#include "db/Db.hpp"
|
||||
#include "glue/CGlueMgr.hpp"
|
||||
#include "glue/GlueScript.hpp"
|
||||
#include "glue/GlueScriptEvents.hpp"
|
||||
#include "gx/Screen.hpp"
|
||||
#include "gx/Texture.hpp"
|
||||
#include "model/Model2.hpp"
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#include "ui/ScriptFunctions.hpp"
|
||||
#include "glue/CCharacterCreationScript.hpp"
|
||||
#include "ui/FrameScript.hpp"
|
||||
#include "ui/Types.hpp"
|
||||
#include "util/Lua.hpp"
|
||||
#include "util/Unimplemented.hpp"
|
||||
@ -132,7 +133,7 @@ int32_t Script_GetCreateBackgroundModel(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
FrameScript_Method FrameScript::s_ScriptFunctions_CharCreate[NUM_SCRIPT_FUNCTIONS_CHAR_CREATE] = {
|
||||
static FrameScript_Method s_ScriptFunctions[NUM_SCRIPT_FUNCTIONS_CHAR_CREATE] = {
|
||||
{ "SetCharCustomizeFrame", &Script_SetCharCustomizeFrame },
|
||||
{ "SetCharCustomizeBackground", &Script_SetCharCustomizeBackground },
|
||||
{ "ResetCharCustomize", &Script_ResetCharCustomize },
|
||||
@ -166,3 +167,12 @@ FrameScript_Method FrameScript::s_ScriptFunctions_CharCreate[NUM_SCRIPT_FUNCTION
|
||||
{ "IsRaceClassRestricted", &Script_IsRaceClassRestricted },
|
||||
{ "GetCreateBackgroundModel", &Script_GetCreateBackgroundModel }
|
||||
};
|
||||
|
||||
void CharacterCreateRegisterScriptFunctions() {
|
||||
for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_CHAR_CREATE; ++i) {
|
||||
FrameScript_RegisterFunction(
|
||||
s_ScriptFunctions[i].name,
|
||||
s_ScriptFunctions[i].method
|
||||
);
|
||||
}
|
||||
}
|
||||
8
src/glue/CCharacterCreationScript.hpp
Normal file
8
src/glue/CCharacterCreationScript.hpp
Normal file
@ -0,0 +1,8 @@
|
||||
#ifndef GLUE_C_CHARACTER_CREATION_SCRIPT_HPP
|
||||
#define GLUE_C_CHARACTER_CREATION_SCRIPT_HPP
|
||||
|
||||
#define NUM_SCRIPT_FUNCTIONS_CHAR_CREATE 32
|
||||
|
||||
void CharacterCreateRegisterScriptFunctions();
|
||||
|
||||
#endif
|
||||
@ -1,7 +1,7 @@
|
||||
#include "glue/CCharacterSelectionScript.hpp"
|
||||
#include "db/Db.hpp"
|
||||
#include "glue/CCharacterSelection.hpp"
|
||||
#include "object/client/Unit_C.hpp"
|
||||
#include "ui/ScriptFunctions.hpp"
|
||||
#include "ui/Types.hpp"
|
||||
#include "ui/simple/CSimpleModelFFX.hpp"
|
||||
#include "util/Lua.hpp"
|
||||
@ -259,7 +259,7 @@ int32_t Script_GetSelectBackgroundModel(lua_State* L) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
FrameScript_Method FrameScript::s_ScriptFunctions_CharSelect[NUM_SCRIPT_FUNCTIONS_CHAR_SELECT] = {
|
||||
static FrameScript_Method s_ScriptFunctions[NUM_SCRIPT_FUNCTIONS_CHAR_SELECT] = {
|
||||
{ "SetCharSelectModelFrame", &Script_SetCharSelectModelFrame },
|
||||
{ "SetCharSelectBackground", &Script_SetCharSelectBackground },
|
||||
{ "GetCharacterListUpdate", &Script_GetCharacterListUpdate },
|
||||
@ -274,3 +274,12 @@ FrameScript_Method FrameScript::s_ScriptFunctions_CharSelect[NUM_SCRIPT_FUNCTION
|
||||
{ "SetCharacterSelectFacing", &Script_SetCharacterSelectFacing },
|
||||
{ "GetSelectBackgroundModel", &Script_GetSelectBackgroundModel }
|
||||
};
|
||||
|
||||
void CharSelectRegisterScriptFunctions() {
|
||||
for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_CHAR_SELECT; ++i) {
|
||||
FrameScript_RegisterFunction(
|
||||
s_ScriptFunctions[i].name,
|
||||
s_ScriptFunctions[i].method
|
||||
);
|
||||
}
|
||||
}
|
||||
8
src/glue/CCharacterSelectionScript.hpp
Normal file
8
src/glue/CCharacterSelectionScript.hpp
Normal file
@ -0,0 +1,8 @@
|
||||
#ifndef GLUE_C_CHARACTER_SELECTION_SCRIPT_HPP
|
||||
#define GLUE_C_CHARACTER_SELECTION_SCRIPT_HPP
|
||||
|
||||
#define NUM_SCRIPT_FUNCTIONS_CHAR_SELECT 13
|
||||
|
||||
void CharSelectRegisterScriptFunctions();
|
||||
|
||||
#endif
|
||||
@ -5,10 +5,14 @@
|
||||
#include "console/CVar.hpp"
|
||||
#include "db/Db.hpp"
|
||||
#include "ffx/Effect.hpp"
|
||||
#include "glue/CCharacterCreationScript.hpp"
|
||||
#include "glue/CCharacterSelection.hpp"
|
||||
#include "glue/CCharacterSelectionScript.hpp"
|
||||
#include "glue/CRealmList.hpp"
|
||||
#include "glue/CRealmListScript.hpp"
|
||||
#include "glue/Character.hpp"
|
||||
#include "glue/GlueScript.hpp"
|
||||
#include "glue/GlueScriptEvents.hpp"
|
||||
#include "glue/Types.hpp"
|
||||
#include "gx/Coordinate.hpp"
|
||||
#include "gx/Device.hpp"
|
||||
|
||||
@ -1,9 +1,10 @@
|
||||
#include "ui/ScriptFunctions.hpp"
|
||||
#include "glue/CRealmListScript.hpp"
|
||||
#include "client/ClientServices.hpp"
|
||||
#include "db/Db.hpp"
|
||||
#include "glue/CGlueMgr.hpp"
|
||||
#include "glue/CRealmList.hpp"
|
||||
#include "util/StringTo.hpp"
|
||||
#include "ui/FrameScript.hpp"
|
||||
#include "ui/Types.hpp"
|
||||
#include "util/Lua.hpp"
|
||||
#include "util/Unimplemented.hpp"
|
||||
@ -341,7 +342,7 @@ int32_t Script_IsInvalidLocale(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
FrameScript_Method FrameScript::s_ScriptFunctions_RealmList[NUM_SCRIPT_FUNCTIONS_REALM_LIST] = {
|
||||
static FrameScript_Method s_ScriptFunctions[NUM_SCRIPT_FUNCTIONS_REALM_LIST] = {
|
||||
{ "RequestRealmList", &Script_RequestRealmList },
|
||||
{ "RealmListUpdateRate", &Script_RealmListUpdateRate },
|
||||
{ "CancelRealmListQuery", &Script_CancelRealmListQuery },
|
||||
@ -357,3 +358,12 @@ FrameScript_Method FrameScript::s_ScriptFunctions_RealmList[NUM_SCRIPT_FUNCTIONS
|
||||
{ "IsTournamentRealmCategory", &Script_IsTournamentRealmCategory },
|
||||
{ "IsInvalidLocale", &Script_IsInvalidLocale }
|
||||
};
|
||||
|
||||
void RealmListRegisterScriptFunctions() {
|
||||
for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_REALM_LIST; ++i) {
|
||||
FrameScript_RegisterFunction(
|
||||
s_ScriptFunctions[i].name,
|
||||
s_ScriptFunctions[i].method
|
||||
);
|
||||
}
|
||||
}
|
||||
8
src/glue/CRealmListScript.hpp
Normal file
8
src/glue/CRealmListScript.hpp
Normal file
@ -0,0 +1,8 @@
|
||||
#ifndef GLUE_C_REALM_LIST_SCRIPT_HPP
|
||||
#define GLUE_C_REALM_LIST_SCRIPT_HPP
|
||||
|
||||
#define NUM_SCRIPT_FUNCTIONS_REALM_LIST 14
|
||||
|
||||
void RealmListRegisterScriptFunctions();
|
||||
|
||||
#endif
|
||||
@ -1,48 +1,912 @@
|
||||
#include "glue/GlueScript.hpp"
|
||||
#include "glue/Types.hpp"
|
||||
#include "client/Client.hpp"
|
||||
#include "client/ClientServices.hpp"
|
||||
#include "console/CVar.hpp"
|
||||
#include "db/Db.hpp"
|
||||
#include "glue/CGlueMgr.hpp"
|
||||
#include "gx/Coordinate.hpp"
|
||||
#include "net/connection/ClientConnection.hpp"
|
||||
#include "sound/Interface.hpp"
|
||||
#include "ui/FrameScript.hpp"
|
||||
#include "ui/ScriptFunctionsShared.hpp"
|
||||
#include "ui/Types.hpp"
|
||||
#include "ui/simple/CSimpleTop.hpp"
|
||||
#include "util/Lua.hpp"
|
||||
#include "util/SFile.hpp"
|
||||
#include "util/Unimplemented.hpp"
|
||||
#include <cstdint>
|
||||
|
||||
const char* g_glueScriptEvents[NUM_GLUESCRIPTEVENTS];
|
||||
|
||||
void GlueScriptEventsInitialize() {
|
||||
g_glueScriptEvents[SET_GLUE_SCREEN] = "SET_GLUE_SCREEN";
|
||||
g_glueScriptEvents[START_GLUE_MUSIC] = "START_GLUE_MUSIC";
|
||||
g_glueScriptEvents[DISCONNECTED_FROM_SERVER] = "DISCONNECTED_FROM_SERVER";
|
||||
g_glueScriptEvents[OPEN_STATUS_DIALOG] = "OPEN_STATUS_DIALOG";
|
||||
g_glueScriptEvents[UPDATE_STATUS_DIALOG] = "UPDATE_STATUS_DIALOG";
|
||||
g_glueScriptEvents[CLOSE_STATUS_DIALOG] = "CLOSE_STATUS_DIALOG";
|
||||
g_glueScriptEvents[ADDON_LIST_UPDATE] = "ADDON_LIST_UPDATE";
|
||||
g_glueScriptEvents[CHARACTER_LIST_UPDATE] = "CHARACTER_LIST_UPDATE";
|
||||
g_glueScriptEvents[UPDATE_SELECTED_CHARACTER] = "UPDATE_SELECTED_CHARACTER";
|
||||
g_glueScriptEvents[OPEN_REALM_LIST] = "OPEN_REALM_LIST";
|
||||
g_glueScriptEvents[GET_PREFERRED_REALM_INFO] = "GET_PREFERRED_REALM_INFO";
|
||||
g_glueScriptEvents[UPDATE_SELECTED_RACE] = "UPDATE_SELECTED_RACE";
|
||||
g_glueScriptEvents[SELECT_LAST_CHARACTER] = "SELECT_LAST_CHARACTER";
|
||||
g_glueScriptEvents[SELECT_FIRST_CHARACTER] = "SELECT_FIRST_CHARACTER";
|
||||
g_glueScriptEvents[GLUE_SCREENSHOT_SUCCEEDED] = "GLUE_SCREENSHOT_SUCCEEDED";
|
||||
g_glueScriptEvents[GLUE_SCREENSHOT_FAILED] = "GLUE_SCREENSHOT_FAILED";
|
||||
g_glueScriptEvents[PATCH_UPDATE_PROGRESS] = "PATCH_UPDATE_PROGRESS";
|
||||
g_glueScriptEvents[PATCH_DOWNLOADED] = "PATCH_DOWNLOADED";
|
||||
g_glueScriptEvents[SUGGEST_REALM] = "SUGGEST_REALM";
|
||||
g_glueScriptEvents[SUGGEST_REALM_WRONG_PVP] = "SUGGEST_REALM_WRONG_PVP";
|
||||
g_glueScriptEvents[SUGGEST_REALM_WRONG_CATEGORY] = "SUGGEST_REALM_WRONG_CATEGORY";
|
||||
g_glueScriptEvents[SHOW_SERVER_ALERT] = "SHOW_SERVER_ALERT";
|
||||
g_glueScriptEvents[FRAMES_LOADED] = "FRAMES_LOADED";
|
||||
g_glueScriptEvents[FORCE_RENAME_CHARACTER] = "FORCE_RENAME_CHARACTER";
|
||||
g_glueScriptEvents[FORCE_DECLINE_CHARACTER] = "FORCE_DECLINE_CHARACTER";
|
||||
g_glueScriptEvents[SHOW_SURVEY_NOTIFICATION] = "SHOW_SURVEY_NOTIFICATION";
|
||||
g_glueScriptEvents[PLAYER_ENTER_PIN] = "PLAYER_ENTER_PIN";
|
||||
g_glueScriptEvents[CLIENT_ACCOUNT_MISMATCH] = "CLIENT_ACCOUNT_MISMATCH";
|
||||
g_glueScriptEvents[PLAYER_ENTER_MATRIX] = "PLAYER_ENTER_MATRIX";
|
||||
g_glueScriptEvents[SCANDLL_ERROR] = "SCANDLL_ERROR";
|
||||
g_glueScriptEvents[SCANDLL_DOWNLOADING] = "SCANDLL_DOWNLOADING";
|
||||
g_glueScriptEvents[SCANDLL_FINISHED] = "SCANDLL_FINISHED";
|
||||
g_glueScriptEvents[SERVER_SPLIT_NOTICE] = "SERVER_SPLIT_NOTICE";
|
||||
g_glueScriptEvents[TIMER_ALERT] = "TIMER_ALERT";
|
||||
g_glueScriptEvents[ACCOUNT_MESSAGES_AVAILABLE] = "ACCOUNT_MESSAGES_AVAILABLE";
|
||||
g_glueScriptEvents[ACCOUNT_MESSAGES_HEADERS_LOADED] = "ACCOUNT_MESSAGES_HEADERS_LOADED";
|
||||
g_glueScriptEvents[ACCOUNT_MESSAGES_BODY_LOADED] = "ACCOUNT_MESSAGES_BODY_LOADED";
|
||||
g_glueScriptEvents[CLIENT_TRIAL] = "CLIENT_TRIAL";
|
||||
g_glueScriptEvents[PLAYER_ENTER_TOKEN] = "PLAYER_ENTER_TOKEN";
|
||||
g_glueScriptEvents[GAME_ACCOUNTS_UPDATED] = "GAME_ACCOUNTS_UPDATED";
|
||||
g_glueScriptEvents[CLIENT_CONVERTED] = "CLIENT_CONVERTED";
|
||||
int32_t Script_IsShiftKeyDown(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetBuildInfo(lua_State* L) {
|
||||
// TODO use compile-time defines to control these values
|
||||
|
||||
auto versionText = FrameScript_GetText("VERSION", -1, GENDER_NOT_APPLICABLE);
|
||||
lua_pushstring(L, versionText);
|
||||
|
||||
auto releaseText = FrameScript_GetText("RELEASE_BUILD", -1, GENDER_NOT_APPLICABLE);
|
||||
lua_pushstring(L, releaseText);
|
||||
|
||||
lua_pushstring(L, "3.3.5");
|
||||
lua_pushstring(L, "12340");
|
||||
lua_pushstring(L, "Jun 24 2010");
|
||||
|
||||
return 5;
|
||||
}
|
||||
|
||||
int32_t Script_GetLocale(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetSavedAccountName(lua_State* L) {
|
||||
lua_pushstring(L, Client::g_accountNameVar->GetString());
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_SetSavedAccountName(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: SetSavedAccountName(\"accountName\")");
|
||||
}
|
||||
|
||||
const char* accountName = lua_tostring(L, 1);
|
||||
|
||||
Client::g_accountNameVar->Set(accountName, true, false, false, true);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_GetUsesToken(lua_State* L) {
|
||||
// TODO
|
||||
lua_pushboolean(L, 0);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_SetUsesToken(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetSavedAccountList(lua_State* L) {
|
||||
lua_pushstring(L, Client::g_accountListVar->GetString());
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_SetSavedAccountList(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_SetCurrentScreen(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: SetCurrentScreen(\"screen\")");
|
||||
}
|
||||
|
||||
auto screen = lua_tostring(L, 1);
|
||||
CGlueMgr::UpdateCurrentScreen(screen);
|
||||
|
||||
// TODO
|
||||
// if (!Blizzard::Streaming::IsStreamingMode()) {
|
||||
// Sub4BAE10();
|
||||
// }
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_QuitGame(lua_State* L) {
|
||||
CGlueMgr::QuitGame();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_QuitGameAndRunLauncher(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_PlayGlueMusic(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: PlayGlueMusic(\"filename\")");
|
||||
}
|
||||
|
||||
auto name = lua_tostring(L, 1);
|
||||
|
||||
SI2::StartGlueMusic(name);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_PlayCreditsMusic(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: PlayCreditsMusic( \"Sound kit name\" )");
|
||||
}
|
||||
|
||||
auto name = lua_tostring(L, 1);
|
||||
|
||||
SI2::StartCreditsMusic(name);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_StopGlueMusic(lua_State* L) {
|
||||
SI2::StopCreditsMusic();
|
||||
SI2::StopGlueMusic(-1.0f);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_GetMovieResolution(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetScreenWidth(lua_State* L) {
|
||||
float v1 = NDCToDDCWidth(1.0);
|
||||
float v2 = CoordinateGetAspectCompensation() * 1024.0 * v1;
|
||||
float v3 = DDCToNDCWidth(v2);
|
||||
|
||||
lua_pushnumber(L, v3);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_GetScreenHeight(lua_State* L) {
|
||||
float v1 = NDCToDDCHeight(1.0);
|
||||
float v2 = CoordinateGetAspectCompensation() * 1024.0 * v1;
|
||||
float v3 = DDCToNDCWidth(v2);
|
||||
|
||||
lua_pushnumber(L, v3);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_LaunchURL(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ShowTOSNotice(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_TOSAccepted(lua_State* L) {
|
||||
// TODO
|
||||
lua_pushboolean(L, 1);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_AcceptTOS(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ShowEULANotice(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_EULAAccepted(lua_State* L) {
|
||||
// TODO
|
||||
lua_pushboolean(L, 1);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_AcceptEULA(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ShowTerminationWithoutNoticeNotice(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_TerminationWithoutNoticeAccepted(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_AcceptTerminationWithoutNotice(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ShowScanningNotice(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ScanningAccepted(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_AcceptScanning(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ShowContestNotice(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ContestAccepted(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_AcceptContest(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_DefaultServerLogin(lua_State* L) {
|
||||
if (!lua_isstring(L, 1) || !lua_isstring(L, 2)) {
|
||||
luaL_error(L, "Usage: DefaultServerLogin(\"accountName\", \"password\")");
|
||||
}
|
||||
|
||||
auto accountName = lua_tostring(L, 1);
|
||||
auto password = lua_tostring(L, 2);
|
||||
|
||||
CGlueMgr::LoginServerLogin(accountName, password);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_StatusDialogClick(lua_State* L) {
|
||||
CGlueMgr::StatusDialogClick();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_GetServerName(lua_State* L) {
|
||||
auto selectedRealmName = ClientServices::GetSelectedRealmName();
|
||||
auto selectedRealm = ClientServices::GetSelectedRealm();
|
||||
|
||||
auto pvp = false;
|
||||
auto rp = false;
|
||||
|
||||
// default down to true: if realm config isn't found, consider realm down
|
||||
auto down = true;
|
||||
|
||||
if (selectedRealm) {
|
||||
for (int32_t i = 0; i < g_cfg_ConfigsDB.GetNumRecords(); i++) {
|
||||
auto config = g_cfg_ConfigsDB.GetRecordByIndex(i);
|
||||
|
||||
if (config->m_realmType == selectedRealm->type) {
|
||||
pvp = config->m_playerKillingAllowed != 0;
|
||||
rp = config->m_roleplaying != 0;
|
||||
down = selectedRealm->flags & 0x2;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// name
|
||||
lua_pushstring(L, selectedRealmName);
|
||||
|
||||
// pvp
|
||||
if (pvp) {
|
||||
lua_pushnumber(L, 1.0);
|
||||
} else {
|
||||
lua_pushnil(L);
|
||||
}
|
||||
|
||||
// rp
|
||||
if (rp) {
|
||||
lua_pushnumber(L, 1.0);
|
||||
} else {
|
||||
lua_pushnil(L);
|
||||
}
|
||||
|
||||
// down
|
||||
if (down) {
|
||||
lua_pushnumber(L, 1.0);
|
||||
} else {
|
||||
lua_pushnil(L);
|
||||
}
|
||||
|
||||
return 4;
|
||||
}
|
||||
|
||||
int32_t Script_DisconnectFromServer(lua_State* L) {
|
||||
if (ClientServices::IsConnected()) {
|
||||
CGlueMgr::m_disconnectPending = 1;
|
||||
ClientServices::Disconnect();
|
||||
}
|
||||
|
||||
ClientServices::LoginConnection()->Logoff();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_IsConnectedToServer(lua_State* L) {
|
||||
if (ClientServices::IsConnected()) {
|
||||
lua_pushnumber(L, 1.0);
|
||||
} else {
|
||||
lua_pushnil(L);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_EnterWorld(lua_State* L) {
|
||||
CGlueMgr::EnterWorld();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_Screenshot(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_PatchDownloadProgress(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_PatchDownloadCancel(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_PatchDownloadApply(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetNumAddOns(lua_State* L) {
|
||||
// TODO
|
||||
lua_pushnumber(L, 0);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_GetAddOnInfo(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_LaunchAddOnURL(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetAddOnDependencies(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetAddOnEnableState(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_EnableAddOn(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_EnableAllAddOns(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_DisableAddOn(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_DisableAllAddOns(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_SaveAddOns(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ResetAddOns(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_IsAddonVersionCheckEnabled(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_SetAddonVersionCheck(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetCursorPosition(lua_State* L) {
|
||||
float cursorX = 0.0f;
|
||||
float cursorY = 0.0f;
|
||||
|
||||
NDCToDDC(
|
||||
CSimpleTop::s_instance->m_mousePosition.x,
|
||||
CSimpleTop::s_instance->m_mousePosition.y,
|
||||
&cursorX,
|
||||
&cursorY
|
||||
);
|
||||
|
||||
float v1 = (CoordinateGetAspectCompensation() * 1024.0f) * cursorX;
|
||||
float v2 = DDCToNDCWidth(v1);
|
||||
lua_pushnumber(L, v2);
|
||||
|
||||
float v3 = (CoordinateGetAspectCompensation() * 1024.0f) * cursorY;
|
||||
float v4 = DDCToNDCWidth(v3);
|
||||
lua_pushnumber(L, v4);
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
||||
int32_t Script_ShowCursor(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_HideCursor(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetBillingTimeRemaining(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetBillingPlan(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetBillingTimeRested(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_SurveyNotificationDone(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_PINEntered(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_PlayGlueAmbience(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_StopGlueAmbience(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetCreditsText(lua_State* L) {
|
||||
if (!lua_isnumber(L, 1)) {
|
||||
luaL_error(L, "Usage: Script_GetCreditText(versionIndex)");
|
||||
}
|
||||
|
||||
auto versionIndex = static_cast<int32_t>(lua_tonumber(L, 1));
|
||||
|
||||
const char* filename;
|
||||
if (versionIndex == 1) {
|
||||
filename = "credits.html";
|
||||
} else if (versionIndex == 2) {
|
||||
filename = "credits_BC.html";
|
||||
} else {
|
||||
filename = "credits_LK.html";
|
||||
}
|
||||
|
||||
void* data;
|
||||
if (SFile::Load(nullptr, filename, &data, nullptr, 1, 0x1, nullptr)) {
|
||||
lua_pushstring(L, static_cast<const char*>(data));
|
||||
SFile::Unload(data);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_GetClientExpansionLevel(lua_State* L) {
|
||||
// TODO
|
||||
// v1 = sub_402A40();
|
||||
|
||||
int32_t v1 = 2;
|
||||
|
||||
lua_pushnumber(L, v1 + 1);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_MatrixEntered(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_MatrixRevert(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_MatrixCommit(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetMatrixCoordinates(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ScanDLLStart(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ScanDLLContinueAnyway(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_IsScanDLLFinished(lua_State* L) {
|
||||
// TODO
|
||||
lua_pushboolean(L, 1);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_IsWindowsClient(lua_State* L) {
|
||||
#if defined(WHOA_SYSTEM_WIN)
|
||||
lua_pushnumber(L, 1.0);
|
||||
#else
|
||||
lua_pushnil(L);
|
||||
#endif
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_IsMacClient(lua_State* L) {
|
||||
#if defined(WHOA_SYSTEM_MAC)
|
||||
lua_pushnumber(L, 1.0);
|
||||
#else
|
||||
lua_pushnil(L);
|
||||
#endif
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_IsLinuxClient(lua_State* L) {
|
||||
#if defined(WHOA_SYSTEM_LINUX)
|
||||
lua_pushnumber(L, 1.0);
|
||||
#else
|
||||
lua_pushnil(L);
|
||||
#endif
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_SetRealmSplitState(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_RequestRealmSplitInfo(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_CancelLogin(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetCVar(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: GetCVar(\"cvar\")");
|
||||
}
|
||||
|
||||
auto name = lua_tostring(L, 1);
|
||||
auto var = CVar::LookupRegistered(name);
|
||||
|
||||
if (!var) {
|
||||
return luaL_error(L, "Couldn't find CVar named '%s'", name);
|
||||
}
|
||||
|
||||
lua_pushstring(L, var->GetString());
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_GetCVarBool(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_SetCVar(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: SetCVar(\"cvar\", value [, \"scriptCvar\")");
|
||||
}
|
||||
|
||||
auto varName = lua_tostring(L, 1);
|
||||
auto var = CVar::LookupRegistered(varName);
|
||||
|
||||
if (!var) {
|
||||
return luaL_error(L, "Couldn't find CVar named '%s'", varName);
|
||||
}
|
||||
|
||||
if (var->m_flags & 0x4) {
|
||||
return luaL_error(L, "\"%s\" is read-only", varName);
|
||||
}
|
||||
|
||||
auto value = lua_tostring(L, 2);
|
||||
if (!value) {
|
||||
value = "0";
|
||||
}
|
||||
|
||||
var->Set(value, true, false, false, true);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_GetCVarDefault(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: GetCVarDefault(\"cvar\")");
|
||||
}
|
||||
|
||||
auto varName = lua_tostring(L, 1);
|
||||
auto var = CVar::LookupRegistered(varName);
|
||||
|
||||
if (!var) {
|
||||
return luaL_error(L, "Couldn't find CVar named '%s'", varName);
|
||||
}
|
||||
|
||||
auto defaultValue = var->GetDefaultValue();
|
||||
|
||||
if (defaultValue) {
|
||||
lua_pushstring(L, defaultValue);
|
||||
} else {
|
||||
lua_pushnil(L);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_GetCVarMin(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: GetCVarMin(\"cvar\")");
|
||||
}
|
||||
|
||||
auto varName = lua_tostring(L, 1);
|
||||
auto var = CVar::LookupRegistered(varName);
|
||||
|
||||
if (!var) {
|
||||
return luaL_error(L, "Couldn't find CVar named '%s'", varName);
|
||||
}
|
||||
|
||||
if (!SStrCmpI(var->m_key.GetString(), "extShadowQuality")) {
|
||||
lua_pushnumber(L, 0.0);
|
||||
} else if (!SStrCmpI(var->m_key.GetString(), "farclip")) {
|
||||
lua_pushnumber(L, 177.0);
|
||||
} else {
|
||||
lua_pushnil(L);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_GetCVarMax(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: GetCVarMax(\"cvar\")");
|
||||
}
|
||||
|
||||
auto varName = lua_tostring(L, 1);
|
||||
auto var = CVar::LookupRegistered(varName);
|
||||
|
||||
if (!var) {
|
||||
return luaL_error(L, "Couldn't find CVar named '%s'", varName);
|
||||
}
|
||||
|
||||
if (!SStrCmpI(var->m_key.GetString(), "extShadowQuality")) {
|
||||
// TODO CGxDevice calls to determine max shadow quality
|
||||
lua_pushnumber(L, 5.0);
|
||||
} else if (!SStrCmpI(var->m_key.GetString(), "farclip")) {
|
||||
lua_pushnumber(L, 1277.0);
|
||||
} else {
|
||||
lua_pushnil(L);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_GetCVarAbsoluteMin(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetCVarAbsoluteMax(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetChangedOptionWarnings(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_AcceptChangedOptionWarnings(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ShowChangedOptionWarnings(lua_State* L) {
|
||||
// TODO
|
||||
lua_pushnil(L);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_TokenEntered(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetNumDeclensionSets(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_DeclineName(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetNumGameAccounts(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetGameAccountInfo(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_SetGameAccount(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_StopAllSFX(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_SetClearConfigData(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_RestartGx(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_RestoreVideoResolutionDefaults(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_RestoreVideoEffectsDefaults(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_RestoreVideoStereoDefaults(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_IsStreamingMode(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_IsStreamingTrial(lua_State* L) {
|
||||
return SFile::IsStreamingTrial();
|
||||
}
|
||||
|
||||
int32_t Script_IsConsoleActive(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_RunScript(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ReadyForAccountDataTimes(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_IsTrialAccount(lua_State* L) {
|
||||
// TODO
|
||||
|
||||
lua_pushnil(L);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_IsSystemSupported(lua_State* L) {
|
||||
// TODO
|
||||
|
||||
lua_pushboolean(L, 1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static FrameScript_Method s_ScriptFunctions[NUM_SCRIPT_FUNCTIONS_GLUE_SCRIPT_EVENTS] = {
|
||||
{ "IsShiftKeyDown", &Script_IsShiftKeyDown },
|
||||
{ "GetBuildInfo", &Script_GetBuildInfo },
|
||||
{ "GetLocale", &Script_GetLocale },
|
||||
{ "GetSavedAccountName", &Script_GetSavedAccountName },
|
||||
{ "SetSavedAccountName", &Script_SetSavedAccountName },
|
||||
{ "GetUsesToken", &Script_GetUsesToken },
|
||||
{ "SetUsesToken", &Script_SetUsesToken },
|
||||
{ "GetSavedAccountList", &Script_GetSavedAccountList },
|
||||
{ "SetSavedAccountList", &Script_SetSavedAccountList },
|
||||
{ "SetCurrentScreen", &Script_SetCurrentScreen },
|
||||
{ "QuitGame", &Script_QuitGame },
|
||||
{ "QuitGameAndRunLauncher", &Script_QuitGameAndRunLauncher },
|
||||
{ "PlayGlueMusic", &Script_PlayGlueMusic },
|
||||
{ "PlayCreditsMusic", &Script_PlayCreditsMusic },
|
||||
{ "StopGlueMusic", &Script_StopGlueMusic },
|
||||
{ "GetMovieResolution", &Script_GetMovieResolution },
|
||||
{ "GetScreenWidth", &Script_GetScreenWidth },
|
||||
{ "GetScreenHeight", &Script_GetScreenHeight },
|
||||
{ "LaunchURL", &Script_LaunchURL },
|
||||
{ "ShowTOSNotice", &Script_ShowTOSNotice },
|
||||
{ "TOSAccepted", &Script_TOSAccepted },
|
||||
{ "AcceptTOS", &Script_AcceptTOS },
|
||||
{ "ShowEULANotice", &Script_ShowEULANotice },
|
||||
{ "EULAAccepted", &Script_EULAAccepted },
|
||||
{ "AcceptEULA", &Script_AcceptEULA },
|
||||
{ "ShowTerminationWithoutNoticeNotice", &Script_ShowTerminationWithoutNoticeNotice },
|
||||
{ "TerminationWithoutNoticeAccepted", &Script_TerminationWithoutNoticeAccepted },
|
||||
{ "AcceptTerminationWithoutNotice", &Script_AcceptTerminationWithoutNotice },
|
||||
{ "ShowScanningNotice", &Script_ShowScanningNotice },
|
||||
{ "ScanningAccepted", &Script_ScanningAccepted },
|
||||
{ "AcceptScanning", &Script_AcceptScanning },
|
||||
{ "ShowContestNotice", &Script_ShowContestNotice },
|
||||
{ "ContestAccepted", &Script_ContestAccepted },
|
||||
{ "AcceptContest", &Script_AcceptContest },
|
||||
{ "DefaultServerLogin", &Script_DefaultServerLogin },
|
||||
{ "StatusDialogClick", &Script_StatusDialogClick },
|
||||
{ "GetServerName", &Script_GetServerName },
|
||||
{ "DisconnectFromServer", &Script_DisconnectFromServer },
|
||||
{ "IsConnectedToServer", &Script_IsConnectedToServer },
|
||||
{ "EnterWorld", &Script_EnterWorld },
|
||||
{ "Screenshot", &Script_Screenshot },
|
||||
{ "PatchDownloadProgress", &Script_PatchDownloadProgress },
|
||||
{ "PatchDownloadCancel", &Script_PatchDownloadCancel },
|
||||
{ "PatchDownloadApply", &Script_PatchDownloadApply },
|
||||
{ "GetNumAddOns", &Script_GetNumAddOns },
|
||||
{ "GetAddOnInfo", &Script_GetAddOnInfo },
|
||||
{ "LaunchAddOnURL", &Script_LaunchAddOnURL },
|
||||
{ "GetAddOnDependencies", &Script_GetAddOnDependencies },
|
||||
{ "GetAddOnEnableState", &Script_GetAddOnEnableState },
|
||||
{ "EnableAddOn", &Script_EnableAddOn },
|
||||
{ "EnableAllAddOns", &Script_EnableAllAddOns },
|
||||
{ "DisableAddOn", &Script_DisableAddOn },
|
||||
{ "DisableAllAddOns", &Script_DisableAllAddOns },
|
||||
{ "SaveAddOns", &Script_SaveAddOns },
|
||||
{ "ResetAddOns", &Script_ResetAddOns },
|
||||
{ "IsAddonVersionCheckEnabled", &Script_IsAddonVersionCheckEnabled },
|
||||
{ "SetAddonVersionCheck", &Script_SetAddonVersionCheck },
|
||||
{ "GetCursorPosition", &Script_GetCursorPosition },
|
||||
{ "ShowCursor", &Script_ShowCursor },
|
||||
{ "HideCursor", &Script_HideCursor },
|
||||
{ "GetBillingTimeRemaining", &Script_GetBillingTimeRemaining },
|
||||
{ "GetBillingPlan", &Script_GetBillingPlan },
|
||||
{ "GetBillingTimeRested", &Script_GetBillingTimeRested },
|
||||
{ "SurveyNotificationDone", &Script_SurveyNotificationDone },
|
||||
{ "PINEntered", &Script_PINEntered },
|
||||
{ "PlayGlueAmbience", &Script_PlayGlueAmbience },
|
||||
{ "StopGlueAmbience", &Script_StopGlueAmbience },
|
||||
{ "GetCreditsText", &Script_GetCreditsText },
|
||||
{ "GetAccountExpansionLevel", &Script_GetAccountExpansionLevel }, // shared
|
||||
{ "GetClientExpansionLevel", &Script_GetClientExpansionLevel }, // guessed name
|
||||
{ "MatrixEntered", &Script_MatrixEntered },
|
||||
{ "MatrixRevert", &Script_MatrixRevert },
|
||||
{ "MatrixCommit", &Script_MatrixCommit },
|
||||
{ "GetMatrixCoordinates", &Script_GetMatrixCoordinates },
|
||||
{ "ScanDLLStart", &Script_ScanDLLStart },
|
||||
{ "ScanDLLContinueAnyway", &Script_ScanDLLContinueAnyway },
|
||||
{ "IsScanDLLFinished", &Script_IsScanDLLFinished },
|
||||
{ "IsWindowsClient", &Script_IsWindowsClient },
|
||||
{ "IsMacClient", &Script_IsMacClient },
|
||||
{ "IsLinuxClient", &Script_IsLinuxClient },
|
||||
{ "SetRealmSplitState", &Script_SetRealmSplitState },
|
||||
{ "RequestRealmSplitInfo", &Script_RequestRealmSplitInfo },
|
||||
{ "CancelLogin", &Script_CancelLogin },
|
||||
{ "GetCVar", &Script_GetCVar },
|
||||
{ "GetCVarBool", &Script_GetCVarBool },
|
||||
{ "SetCVar", &Script_SetCVar },
|
||||
{ "GetCVarDefault", &Script_GetCVarDefault },
|
||||
{ "GetCVarMin", &Script_GetCVarMin }, // guessed name
|
||||
{ "GetCVarMax", &Script_GetCVarMax }, // guessed name
|
||||
{ "GetCVarAbsoluteMin", &Script_GetCVarAbsoluteMin }, // guessed name
|
||||
{ "GetCVarAbsoluteMax", &Script_GetCVarAbsoluteMax }, // guessed name
|
||||
{ "GetChangedOptionWarnings", &Script_GetChangedOptionWarnings },
|
||||
{ "AcceptChangedOptionWarnings", &Script_AcceptChangedOptionWarnings },
|
||||
{ "ShowChangedOptionWarnings", &Script_ShowChangedOptionWarnings },
|
||||
{ "TokenEntered", &Script_TokenEntered },
|
||||
{ "GetNumDeclensionSets", &Script_GetNumDeclensionSets },
|
||||
{ "DeclineName", &Script_DeclineName },
|
||||
{ "GetNumGameAccounts", &Script_GetNumGameAccounts },
|
||||
{ "GetGameAccountInfo", &Script_GetGameAccountInfo },
|
||||
{ "SetGameAccount", &Script_SetGameAccount },
|
||||
{ "StopAllSFX", &Script_StopAllSFX },
|
||||
{ "SetClearConfigData", &Script_SetClearConfigData },
|
||||
{ "RestartGx", &Script_RestartGx },
|
||||
{ "RestoreVideoResolutionDefaults", &Script_RestoreVideoResolutionDefaults }, // guessed name
|
||||
{ "RestoreVideoEffectsDefaults", &Script_RestoreVideoEffectsDefaults }, // guessed name
|
||||
{ "RestoreVideoStereoDefaults", &Script_RestoreVideoStereoDefaults }, // guessed name
|
||||
{ "IsStreamingMode", &Script_IsStreamingMode },
|
||||
{ "IsStreamingTrial", &Script_IsStreamingTrial },
|
||||
{ "IsConsoleActive", &Script_IsConsoleActive },
|
||||
{ "RunScript", &Script_RunScript },
|
||||
{ "ReadyForAccountDataTimes", &Script_ReadyForAccountDataTimes },
|
||||
{ "IsTrialAccount", &Script_IsTrialAccount }, // guessed name
|
||||
{ "IsSystemSupported", &Script_IsSystemSupported }
|
||||
};
|
||||
|
||||
void GlueScriptEventsRegisterFunctions() {
|
||||
for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_GLUE_SCRIPT_EVENTS; ++i) {
|
||||
FrameScript_RegisterFunction(
|
||||
s_ScriptFunctions[i].name,
|
||||
s_ScriptFunctions[i].method
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
#ifndef GLUE_GLUE_SCRIPT_HPP
|
||||
#define GLUE_GLUE_SCRIPT_HPP
|
||||
|
||||
extern const char* g_glueScriptEvents[];
|
||||
#define NUM_SCRIPT_FUNCTIONS_GLUE_SCRIPT_EVENTS 113
|
||||
|
||||
void GlueScriptEventsInitialize();
|
||||
void GlueScriptEventsRegisterFunctions();
|
||||
|
||||
#endif
|
||||
|
||||
48
src/glue/GlueScriptEvents.cpp
Normal file
48
src/glue/GlueScriptEvents.cpp
Normal file
@ -0,0 +1,48 @@
|
||||
#include "glue/GlueScriptEvents.hpp"
|
||||
#include "glue/Types.hpp"
|
||||
|
||||
const char* g_glueScriptEvents[NUM_GLUESCRIPTEVENTS];
|
||||
|
||||
void GlueScriptEventsInitialize() {
|
||||
g_glueScriptEvents[SET_GLUE_SCREEN] = "SET_GLUE_SCREEN";
|
||||
g_glueScriptEvents[START_GLUE_MUSIC] = "START_GLUE_MUSIC";
|
||||
g_glueScriptEvents[DISCONNECTED_FROM_SERVER] = "DISCONNECTED_FROM_SERVER";
|
||||
g_glueScriptEvents[OPEN_STATUS_DIALOG] = "OPEN_STATUS_DIALOG";
|
||||
g_glueScriptEvents[UPDATE_STATUS_DIALOG] = "UPDATE_STATUS_DIALOG";
|
||||
g_glueScriptEvents[CLOSE_STATUS_DIALOG] = "CLOSE_STATUS_DIALOG";
|
||||
g_glueScriptEvents[ADDON_LIST_UPDATE] = "ADDON_LIST_UPDATE";
|
||||
g_glueScriptEvents[CHARACTER_LIST_UPDATE] = "CHARACTER_LIST_UPDATE";
|
||||
g_glueScriptEvents[UPDATE_SELECTED_CHARACTER] = "UPDATE_SELECTED_CHARACTER";
|
||||
g_glueScriptEvents[OPEN_REALM_LIST] = "OPEN_REALM_LIST";
|
||||
g_glueScriptEvents[GET_PREFERRED_REALM_INFO] = "GET_PREFERRED_REALM_INFO";
|
||||
g_glueScriptEvents[UPDATE_SELECTED_RACE] = "UPDATE_SELECTED_RACE";
|
||||
g_glueScriptEvents[SELECT_LAST_CHARACTER] = "SELECT_LAST_CHARACTER";
|
||||
g_glueScriptEvents[SELECT_FIRST_CHARACTER] = "SELECT_FIRST_CHARACTER";
|
||||
g_glueScriptEvents[GLUE_SCREENSHOT_SUCCEEDED] = "GLUE_SCREENSHOT_SUCCEEDED";
|
||||
g_glueScriptEvents[GLUE_SCREENSHOT_FAILED] = "GLUE_SCREENSHOT_FAILED";
|
||||
g_glueScriptEvents[PATCH_UPDATE_PROGRESS] = "PATCH_UPDATE_PROGRESS";
|
||||
g_glueScriptEvents[PATCH_DOWNLOADED] = "PATCH_DOWNLOADED";
|
||||
g_glueScriptEvents[SUGGEST_REALM] = "SUGGEST_REALM";
|
||||
g_glueScriptEvents[SUGGEST_REALM_WRONG_PVP] = "SUGGEST_REALM_WRONG_PVP";
|
||||
g_glueScriptEvents[SUGGEST_REALM_WRONG_CATEGORY] = "SUGGEST_REALM_WRONG_CATEGORY";
|
||||
g_glueScriptEvents[SHOW_SERVER_ALERT] = "SHOW_SERVER_ALERT";
|
||||
g_glueScriptEvents[FRAMES_LOADED] = "FRAMES_LOADED";
|
||||
g_glueScriptEvents[FORCE_RENAME_CHARACTER] = "FORCE_RENAME_CHARACTER";
|
||||
g_glueScriptEvents[FORCE_DECLINE_CHARACTER] = "FORCE_DECLINE_CHARACTER";
|
||||
g_glueScriptEvents[SHOW_SURVEY_NOTIFICATION] = "SHOW_SURVEY_NOTIFICATION";
|
||||
g_glueScriptEvents[PLAYER_ENTER_PIN] = "PLAYER_ENTER_PIN";
|
||||
g_glueScriptEvents[CLIENT_ACCOUNT_MISMATCH] = "CLIENT_ACCOUNT_MISMATCH";
|
||||
g_glueScriptEvents[PLAYER_ENTER_MATRIX] = "PLAYER_ENTER_MATRIX";
|
||||
g_glueScriptEvents[SCANDLL_ERROR] = "SCANDLL_ERROR";
|
||||
g_glueScriptEvents[SCANDLL_DOWNLOADING] = "SCANDLL_DOWNLOADING";
|
||||
g_glueScriptEvents[SCANDLL_FINISHED] = "SCANDLL_FINISHED";
|
||||
g_glueScriptEvents[SERVER_SPLIT_NOTICE] = "SERVER_SPLIT_NOTICE";
|
||||
g_glueScriptEvents[TIMER_ALERT] = "TIMER_ALERT";
|
||||
g_glueScriptEvents[ACCOUNT_MESSAGES_AVAILABLE] = "ACCOUNT_MESSAGES_AVAILABLE";
|
||||
g_glueScriptEvents[ACCOUNT_MESSAGES_HEADERS_LOADED] = "ACCOUNT_MESSAGES_HEADERS_LOADED";
|
||||
g_glueScriptEvents[ACCOUNT_MESSAGES_BODY_LOADED] = "ACCOUNT_MESSAGES_BODY_LOADED";
|
||||
g_glueScriptEvents[CLIENT_TRIAL] = "CLIENT_TRIAL";
|
||||
g_glueScriptEvents[PLAYER_ENTER_TOKEN] = "PLAYER_ENTER_TOKEN";
|
||||
g_glueScriptEvents[GAME_ACCOUNTS_UPDATED] = "GAME_ACCOUNTS_UPDATED";
|
||||
g_glueScriptEvents[CLIENT_CONVERTED] = "CLIENT_CONVERTED";
|
||||
}
|
||||
8
src/glue/GlueScriptEvents.hpp
Normal file
8
src/glue/GlueScriptEvents.hpp
Normal file
@ -0,0 +1,8 @@
|
||||
#ifndef GLUE_GLUE_SCRIPT_EVENTS_HPP
|
||||
#define GLUE_GLUE_SCRIPT_EVENTS_HPP
|
||||
|
||||
extern const char* g_glueScriptEvents[];
|
||||
|
||||
void GlueScriptEventsInitialize();
|
||||
|
||||
#endif
|
||||
@ -13,42 +13,6 @@
|
||||
#include "ui/simple/CSimpleSlider.hpp"
|
||||
#include "ui/simple/CSimpleTexture.hpp"
|
||||
|
||||
void CharacterCreateRegisterScriptFunctions() {
|
||||
for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_CHAR_CREATE; ++i) {
|
||||
FrameScript_RegisterFunction(
|
||||
FrameScript::s_ScriptFunctions_CharCreate[i].name,
|
||||
FrameScript::s_ScriptFunctions_CharCreate[i].method
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void CharSelectRegisterScriptFunctions() {
|
||||
for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_CHAR_SELECT; ++i) {
|
||||
FrameScript_RegisterFunction(
|
||||
FrameScript::s_ScriptFunctions_CharSelect[i].name,
|
||||
FrameScript::s_ScriptFunctions_CharSelect[i].method
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void GlueScriptEventsRegisterFunctions() {
|
||||
for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_GLUE_SCRIPT_EVENTS; ++i) {
|
||||
FrameScript_RegisterFunction(
|
||||
FrameScript::s_ScriptFunctions_GlueScriptEvents[i].name,
|
||||
FrameScript::s_ScriptFunctions_GlueScriptEvents[i].method
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void RealmListRegisterScriptFunctions() {
|
||||
for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_REALM_LIST; ++i) {
|
||||
FrameScript_RegisterFunction(
|
||||
FrameScript::s_ScriptFunctions_RealmList[i].name,
|
||||
FrameScript::s_ScriptFunctions_RealmList[i].method
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void RegisterSimpleFrameScriptMethods() {
|
||||
for (int32_t i = 0; i < NUM_SCRIPT_FUNCTIONS_SIMPLE_FRAME; ++i) {
|
||||
FrameScript_RegisterFunction(
|
||||
|
||||
@ -6,30 +6,14 @@
|
||||
|
||||
struct lua_State;
|
||||
|
||||
#define NUM_SCRIPT_FUNCTIONS_CHAR_CREATE 32
|
||||
#define NUM_SCRIPT_FUNCTIONS_CHAR_SELECT 13
|
||||
#define NUM_SCRIPT_FUNCTIONS_GLUE_SCRIPT_EVENTS 113
|
||||
#define NUM_SCRIPT_FUNCTIONS_REALM_LIST 14
|
||||
#define NUM_SCRIPT_FUNCTIONS_SIMPLE_FRAME 7
|
||||
#define NUM_SCRIPT_FUNCTIONS_SYSTEM 7
|
||||
|
||||
namespace FrameScript {
|
||||
extern FrameScript_Method s_ScriptFunctions_CharCreate[NUM_SCRIPT_FUNCTIONS_CHAR_CREATE];
|
||||
extern FrameScript_Method s_ScriptFunctions_CharSelect[NUM_SCRIPT_FUNCTIONS_CHAR_SELECT];
|
||||
extern FrameScript_Method s_ScriptFunctions_GlueScriptEvents[NUM_SCRIPT_FUNCTIONS_GLUE_SCRIPT_EVENTS];
|
||||
extern FrameScript_Method s_ScriptFunctions_RealmList[NUM_SCRIPT_FUNCTIONS_REALM_LIST];
|
||||
extern FrameScript_Method s_ScriptFunctions_SimpleFrame[NUM_SCRIPT_FUNCTIONS_SIMPLE_FRAME];
|
||||
extern FrameScript_Method s_ScriptFunctions_System[NUM_SCRIPT_FUNCTIONS_SYSTEM];
|
||||
}
|
||||
|
||||
void CharacterCreateRegisterScriptFunctions();
|
||||
|
||||
void CharSelectRegisterScriptFunctions();
|
||||
|
||||
void GlueScriptEventsRegisterFunctions();
|
||||
|
||||
void RealmListRegisterScriptFunctions();
|
||||
|
||||
void RegisterSimpleFrameScriptMethods();
|
||||
|
||||
void SystemRegisterFunctions();
|
||||
|
||||
@ -1,902 +0,0 @@
|
||||
#include "client/Client.hpp"
|
||||
#include "client/ClientServices.hpp"
|
||||
#include "console/CVar.hpp"
|
||||
#include "db/Db.hpp"
|
||||
#include "glue/CGlueMgr.hpp"
|
||||
#include "gx/Coordinate.hpp"
|
||||
#include "net/connection/ClientConnection.hpp"
|
||||
#include "sound/Interface.hpp"
|
||||
#include "ui/ScriptFunctions.hpp"
|
||||
#include "ui/ScriptFunctionsShared.hpp"
|
||||
#include "ui/Types.hpp"
|
||||
#include "ui/simple/CSimpleTop.hpp"
|
||||
#include "util/Lua.hpp"
|
||||
#include "util/SFile.hpp"
|
||||
#include "util/Unimplemented.hpp"
|
||||
#include <cstdint>
|
||||
|
||||
int32_t Script_IsShiftKeyDown(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetBuildInfo(lua_State* L) {
|
||||
// TODO use compile-time defines to control these values
|
||||
|
||||
auto versionText = FrameScript_GetText("VERSION", -1, GENDER_NOT_APPLICABLE);
|
||||
lua_pushstring(L, versionText);
|
||||
|
||||
auto releaseText = FrameScript_GetText("RELEASE_BUILD", -1, GENDER_NOT_APPLICABLE);
|
||||
lua_pushstring(L, releaseText);
|
||||
|
||||
lua_pushstring(L, "3.3.5");
|
||||
lua_pushstring(L, "12340");
|
||||
lua_pushstring(L, "Jun 24 2010");
|
||||
|
||||
return 5;
|
||||
}
|
||||
|
||||
int32_t Script_GetLocale(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetSavedAccountName(lua_State* L) {
|
||||
lua_pushstring(L, Client::g_accountNameVar->GetString());
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_SetSavedAccountName(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: SetSavedAccountName(\"accountName\")");
|
||||
}
|
||||
|
||||
const char* accountName = lua_tostring(L, 1);
|
||||
|
||||
Client::g_accountNameVar->Set(accountName, true, false, false, true);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_GetUsesToken(lua_State* L) {
|
||||
// TODO
|
||||
lua_pushboolean(L, 0);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_SetUsesToken(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetSavedAccountList(lua_State* L) {
|
||||
lua_pushstring(L, Client::g_accountListVar->GetString());
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_SetSavedAccountList(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_SetCurrentScreen(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: SetCurrentScreen(\"screen\")");
|
||||
}
|
||||
|
||||
auto screen = lua_tostring(L, 1);
|
||||
CGlueMgr::UpdateCurrentScreen(screen);
|
||||
|
||||
// TODO
|
||||
// if (!Blizzard::Streaming::IsStreamingMode()) {
|
||||
// Sub4BAE10();
|
||||
// }
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_QuitGame(lua_State* L) {
|
||||
CGlueMgr::QuitGame();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_QuitGameAndRunLauncher(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_PlayGlueMusic(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: PlayGlueMusic(\"filename\")");
|
||||
}
|
||||
|
||||
auto name = lua_tostring(L, 1);
|
||||
|
||||
SI2::StartGlueMusic(name);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_PlayCreditsMusic(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: PlayCreditsMusic( \"Sound kit name\" )");
|
||||
}
|
||||
|
||||
auto name = lua_tostring(L, 1);
|
||||
|
||||
SI2::StartCreditsMusic(name);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_StopGlueMusic(lua_State* L) {
|
||||
SI2::StopCreditsMusic();
|
||||
SI2::StopGlueMusic(-1.0f);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_GetMovieResolution(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetScreenWidth(lua_State* L) {
|
||||
float v1 = NDCToDDCWidth(1.0);
|
||||
float v2 = CoordinateGetAspectCompensation() * 1024.0 * v1;
|
||||
float v3 = DDCToNDCWidth(v2);
|
||||
|
||||
lua_pushnumber(L, v3);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_GetScreenHeight(lua_State* L) {
|
||||
float v1 = NDCToDDCHeight(1.0);
|
||||
float v2 = CoordinateGetAspectCompensation() * 1024.0 * v1;
|
||||
float v3 = DDCToNDCWidth(v2);
|
||||
|
||||
lua_pushnumber(L, v3);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_LaunchURL(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ShowTOSNotice(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_TOSAccepted(lua_State* L) {
|
||||
// TODO
|
||||
lua_pushboolean(L, 1);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_AcceptTOS(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ShowEULANotice(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_EULAAccepted(lua_State* L) {
|
||||
// TODO
|
||||
lua_pushboolean(L, 1);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_AcceptEULA(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ShowTerminationWithoutNoticeNotice(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_TerminationWithoutNoticeAccepted(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_AcceptTerminationWithoutNotice(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ShowScanningNotice(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ScanningAccepted(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_AcceptScanning(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ShowContestNotice(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ContestAccepted(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_AcceptContest(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_DefaultServerLogin(lua_State* L) {
|
||||
if (!lua_isstring(L, 1) || !lua_isstring(L, 2)) {
|
||||
luaL_error(L, "Usage: DefaultServerLogin(\"accountName\", \"password\")");
|
||||
}
|
||||
|
||||
auto accountName = lua_tostring(L, 1);
|
||||
auto password = lua_tostring(L, 2);
|
||||
|
||||
CGlueMgr::LoginServerLogin(accountName, password);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_StatusDialogClick(lua_State* L) {
|
||||
CGlueMgr::StatusDialogClick();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_GetServerName(lua_State* L) {
|
||||
auto selectedRealmName = ClientServices::GetSelectedRealmName();
|
||||
auto selectedRealm = ClientServices::GetSelectedRealm();
|
||||
|
||||
auto pvp = false;
|
||||
auto rp = false;
|
||||
|
||||
// default down to true: if realm config isn't found, consider realm down
|
||||
auto down = true;
|
||||
|
||||
if (selectedRealm) {
|
||||
for (int32_t i = 0; i < g_cfg_ConfigsDB.GetNumRecords(); i++) {
|
||||
auto config = g_cfg_ConfigsDB.GetRecordByIndex(i);
|
||||
|
||||
if (config->m_realmType == selectedRealm->type) {
|
||||
pvp = config->m_playerKillingAllowed != 0;
|
||||
rp = config->m_roleplaying != 0;
|
||||
down = selectedRealm->flags & 0x2;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// name
|
||||
lua_pushstring(L, selectedRealmName);
|
||||
|
||||
// pvp
|
||||
if (pvp) {
|
||||
lua_pushnumber(L, 1.0);
|
||||
} else {
|
||||
lua_pushnil(L);
|
||||
}
|
||||
|
||||
// rp
|
||||
if (rp) {
|
||||
lua_pushnumber(L, 1.0);
|
||||
} else {
|
||||
lua_pushnil(L);
|
||||
}
|
||||
|
||||
// down
|
||||
if (down) {
|
||||
lua_pushnumber(L, 1.0);
|
||||
} else {
|
||||
lua_pushnil(L);
|
||||
}
|
||||
|
||||
return 4;
|
||||
}
|
||||
|
||||
int32_t Script_DisconnectFromServer(lua_State* L) {
|
||||
if (ClientServices::IsConnected()) {
|
||||
CGlueMgr::m_disconnectPending = 1;
|
||||
ClientServices::Disconnect();
|
||||
}
|
||||
|
||||
ClientServices::LoginConnection()->Logoff();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_IsConnectedToServer(lua_State* L) {
|
||||
if (ClientServices::IsConnected()) {
|
||||
lua_pushnumber(L, 1.0);
|
||||
} else {
|
||||
lua_pushnil(L);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_EnterWorld(lua_State* L) {
|
||||
CGlueMgr::EnterWorld();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_Screenshot(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_PatchDownloadProgress(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_PatchDownloadCancel(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_PatchDownloadApply(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetNumAddOns(lua_State* L) {
|
||||
// TODO
|
||||
lua_pushnumber(L, 0);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_GetAddOnInfo(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_LaunchAddOnURL(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetAddOnDependencies(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetAddOnEnableState(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_EnableAddOn(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_EnableAllAddOns(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_DisableAddOn(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_DisableAllAddOns(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_SaveAddOns(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ResetAddOns(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_IsAddonVersionCheckEnabled(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_SetAddonVersionCheck(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetCursorPosition(lua_State* L) {
|
||||
float cursorX = 0.0f;
|
||||
float cursorY = 0.0f;
|
||||
|
||||
NDCToDDC(
|
||||
CSimpleTop::s_instance->m_mousePosition.x,
|
||||
CSimpleTop::s_instance->m_mousePosition.y,
|
||||
&cursorX,
|
||||
&cursorY
|
||||
);
|
||||
|
||||
float v1 = (CoordinateGetAspectCompensation() * 1024.0f) * cursorX;
|
||||
float v2 = DDCToNDCWidth(v1);
|
||||
lua_pushnumber(L, v2);
|
||||
|
||||
float v3 = (CoordinateGetAspectCompensation() * 1024.0f) * cursorY;
|
||||
float v4 = DDCToNDCWidth(v3);
|
||||
lua_pushnumber(L, v4);
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
||||
int32_t Script_ShowCursor(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_HideCursor(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetBillingTimeRemaining(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetBillingPlan(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetBillingTimeRested(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_SurveyNotificationDone(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_PINEntered(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_PlayGlueAmbience(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_StopGlueAmbience(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetCreditsText(lua_State* L) {
|
||||
if (!lua_isnumber(L, 1)) {
|
||||
luaL_error(L, "Usage: Script_GetCreditText(versionIndex)");
|
||||
}
|
||||
|
||||
auto versionIndex = static_cast<int32_t>(lua_tonumber(L, 1));
|
||||
|
||||
const char* filename;
|
||||
if (versionIndex == 1) {
|
||||
filename = "credits.html";
|
||||
} else if (versionIndex == 2) {
|
||||
filename = "credits_BC.html";
|
||||
} else {
|
||||
filename = "credits_LK.html";
|
||||
}
|
||||
|
||||
void* data;
|
||||
if (SFile::Load(nullptr, filename, &data, nullptr, 1, 0x1, nullptr)) {
|
||||
lua_pushstring(L, static_cast<const char*>(data));
|
||||
SFile::Unload(data);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_GetClientExpansionLevel(lua_State* L) {
|
||||
// TODO
|
||||
// v1 = sub_402A40();
|
||||
|
||||
int32_t v1 = 2;
|
||||
|
||||
lua_pushnumber(L, v1 + 1);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_MatrixEntered(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_MatrixRevert(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_MatrixCommit(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetMatrixCoordinates(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ScanDLLStart(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ScanDLLContinueAnyway(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_IsScanDLLFinished(lua_State* L) {
|
||||
// TODO
|
||||
lua_pushboolean(L, 1);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_IsWindowsClient(lua_State* L) {
|
||||
#if defined(WHOA_SYSTEM_WIN)
|
||||
lua_pushnumber(L, 1.0);
|
||||
#else
|
||||
lua_pushnil(L);
|
||||
#endif
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_IsMacClient(lua_State* L) {
|
||||
#if defined(WHOA_SYSTEM_MAC)
|
||||
lua_pushnumber(L, 1.0);
|
||||
#else
|
||||
lua_pushnil(L);
|
||||
#endif
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_IsLinuxClient(lua_State* L) {
|
||||
#if defined(WHOA_SYSTEM_LINUX)
|
||||
lua_pushnumber(L, 1.0);
|
||||
#else
|
||||
lua_pushnil(L);
|
||||
#endif
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_SetRealmSplitState(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_RequestRealmSplitInfo(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_CancelLogin(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetCVar(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: GetCVar(\"cvar\")");
|
||||
}
|
||||
|
||||
auto name = lua_tostring(L, 1);
|
||||
auto var = CVar::LookupRegistered(name);
|
||||
|
||||
if (!var) {
|
||||
return luaL_error(L, "Couldn't find CVar named '%s'", name);
|
||||
}
|
||||
|
||||
lua_pushstring(L, var->GetString());
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_GetCVarBool(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_SetCVar(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: SetCVar(\"cvar\", value [, \"scriptCvar\")");
|
||||
}
|
||||
|
||||
auto varName = lua_tostring(L, 1);
|
||||
auto var = CVar::LookupRegistered(varName);
|
||||
|
||||
if (!var) {
|
||||
return luaL_error(L, "Couldn't find CVar named '%s'", varName);
|
||||
}
|
||||
|
||||
if (var->m_flags & 0x4) {
|
||||
return luaL_error(L, "\"%s\" is read-only", varName);
|
||||
}
|
||||
|
||||
auto value = lua_tostring(L, 2);
|
||||
if (!value) {
|
||||
value = "0";
|
||||
}
|
||||
|
||||
var->Set(value, true, false, false, true);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_GetCVarDefault(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: GetCVarDefault(\"cvar\")");
|
||||
}
|
||||
|
||||
auto varName = lua_tostring(L, 1);
|
||||
auto var = CVar::LookupRegistered(varName);
|
||||
|
||||
if (!var) {
|
||||
return luaL_error(L, "Couldn't find CVar named '%s'", varName);
|
||||
}
|
||||
|
||||
auto defaultValue = var->GetDefaultValue();
|
||||
|
||||
if (defaultValue) {
|
||||
lua_pushstring(L, defaultValue);
|
||||
} else {
|
||||
lua_pushnil(L);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_GetCVarMin(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: GetCVarMin(\"cvar\")");
|
||||
}
|
||||
|
||||
auto varName = lua_tostring(L, 1);
|
||||
auto var = CVar::LookupRegistered(varName);
|
||||
|
||||
if (!var) {
|
||||
return luaL_error(L, "Couldn't find CVar named '%s'", varName);
|
||||
}
|
||||
|
||||
if (!SStrCmpI(var->m_key.GetString(), "extShadowQuality")) {
|
||||
lua_pushnumber(L, 0.0);
|
||||
} else if (!SStrCmpI(var->m_key.GetString(), "farclip")) {
|
||||
lua_pushnumber(L, 177.0);
|
||||
} else {
|
||||
lua_pushnil(L);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_GetCVarMax(lua_State* L) {
|
||||
if (!lua_isstring(L, 1)) {
|
||||
return luaL_error(L, "Usage: GetCVarMax(\"cvar\")");
|
||||
}
|
||||
|
||||
auto varName = lua_tostring(L, 1);
|
||||
auto var = CVar::LookupRegistered(varName);
|
||||
|
||||
if (!var) {
|
||||
return luaL_error(L, "Couldn't find CVar named '%s'", varName);
|
||||
}
|
||||
|
||||
if (!SStrCmpI(var->m_key.GetString(), "extShadowQuality")) {
|
||||
// TODO CGxDevice calls to determine max shadow quality
|
||||
lua_pushnumber(L, 5.0);
|
||||
} else if (!SStrCmpI(var->m_key.GetString(), "farclip")) {
|
||||
lua_pushnumber(L, 1277.0);
|
||||
} else {
|
||||
lua_pushnil(L);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_GetCVarAbsoluteMin(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetCVarAbsoluteMax(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetChangedOptionWarnings(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_AcceptChangedOptionWarnings(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ShowChangedOptionWarnings(lua_State* L) {
|
||||
// TODO
|
||||
lua_pushnil(L);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_TokenEntered(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetNumDeclensionSets(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_DeclineName(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetNumGameAccounts(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_GetGameAccountInfo(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_SetGameAccount(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_StopAllSFX(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_SetClearConfigData(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_RestartGx(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_RestoreVideoResolutionDefaults(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_RestoreVideoEffectsDefaults(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_RestoreVideoStereoDefaults(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_IsStreamingMode(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_IsStreamingTrial(lua_State* L) {
|
||||
return SFile::IsStreamingTrial();
|
||||
}
|
||||
|
||||
int32_t Script_IsConsoleActive(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_RunScript(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_ReadyForAccountDataTimes(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
int32_t Script_IsTrialAccount(lua_State* L) {
|
||||
// TODO
|
||||
|
||||
lua_pushnil(L);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t Script_IsSystemSupported(lua_State* L) {
|
||||
// TODO
|
||||
|
||||
lua_pushboolean(L, 1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
FrameScript_Method FrameScript::s_ScriptFunctions_GlueScriptEvents[NUM_SCRIPT_FUNCTIONS_GLUE_SCRIPT_EVENTS] = {
|
||||
{ "IsShiftKeyDown", &Script_IsShiftKeyDown },
|
||||
{ "GetBuildInfo", &Script_GetBuildInfo },
|
||||
{ "GetLocale", &Script_GetLocale },
|
||||
{ "GetSavedAccountName", &Script_GetSavedAccountName },
|
||||
{ "SetSavedAccountName", &Script_SetSavedAccountName },
|
||||
{ "GetUsesToken", &Script_GetUsesToken },
|
||||
{ "SetUsesToken", &Script_SetUsesToken },
|
||||
{ "GetSavedAccountList", &Script_GetSavedAccountList },
|
||||
{ "SetSavedAccountList", &Script_SetSavedAccountList },
|
||||
{ "SetCurrentScreen", &Script_SetCurrentScreen },
|
||||
{ "QuitGame", &Script_QuitGame },
|
||||
{ "QuitGameAndRunLauncher", &Script_QuitGameAndRunLauncher },
|
||||
{ "PlayGlueMusic", &Script_PlayGlueMusic },
|
||||
{ "PlayCreditsMusic", &Script_PlayCreditsMusic },
|
||||
{ "StopGlueMusic", &Script_StopGlueMusic },
|
||||
{ "GetMovieResolution", &Script_GetMovieResolution },
|
||||
{ "GetScreenWidth", &Script_GetScreenWidth },
|
||||
{ "GetScreenHeight", &Script_GetScreenHeight },
|
||||
{ "LaunchURL", &Script_LaunchURL },
|
||||
{ "ShowTOSNotice", &Script_ShowTOSNotice },
|
||||
{ "TOSAccepted", &Script_TOSAccepted },
|
||||
{ "AcceptTOS", &Script_AcceptTOS },
|
||||
{ "ShowEULANotice", &Script_ShowEULANotice },
|
||||
{ "EULAAccepted", &Script_EULAAccepted },
|
||||
{ "AcceptEULA", &Script_AcceptEULA },
|
||||
{ "ShowTerminationWithoutNoticeNotice", &Script_ShowTerminationWithoutNoticeNotice },
|
||||
{ "TerminationWithoutNoticeAccepted", &Script_TerminationWithoutNoticeAccepted },
|
||||
{ "AcceptTerminationWithoutNotice", &Script_AcceptTerminationWithoutNotice },
|
||||
{ "ShowScanningNotice", &Script_ShowScanningNotice },
|
||||
{ "ScanningAccepted", &Script_ScanningAccepted },
|
||||
{ "AcceptScanning", &Script_AcceptScanning },
|
||||
{ "ShowContestNotice", &Script_ShowContestNotice },
|
||||
{ "ContestAccepted", &Script_ContestAccepted },
|
||||
{ "AcceptContest", &Script_AcceptContest },
|
||||
{ "DefaultServerLogin", &Script_DefaultServerLogin },
|
||||
{ "StatusDialogClick", &Script_StatusDialogClick },
|
||||
{ "GetServerName", &Script_GetServerName },
|
||||
{ "DisconnectFromServer", &Script_DisconnectFromServer },
|
||||
{ "IsConnectedToServer", &Script_IsConnectedToServer },
|
||||
{ "EnterWorld", &Script_EnterWorld },
|
||||
{ "Screenshot", &Script_Screenshot },
|
||||
{ "PatchDownloadProgress", &Script_PatchDownloadProgress },
|
||||
{ "PatchDownloadCancel", &Script_PatchDownloadCancel },
|
||||
{ "PatchDownloadApply", &Script_PatchDownloadApply },
|
||||
{ "GetNumAddOns", &Script_GetNumAddOns },
|
||||
{ "GetAddOnInfo", &Script_GetAddOnInfo },
|
||||
{ "LaunchAddOnURL", &Script_LaunchAddOnURL },
|
||||
{ "GetAddOnDependencies", &Script_GetAddOnDependencies },
|
||||
{ "GetAddOnEnableState", &Script_GetAddOnEnableState },
|
||||
{ "EnableAddOn", &Script_EnableAddOn },
|
||||
{ "EnableAllAddOns", &Script_EnableAllAddOns },
|
||||
{ "DisableAddOn", &Script_DisableAddOn },
|
||||
{ "DisableAllAddOns", &Script_DisableAllAddOns },
|
||||
{ "SaveAddOns", &Script_SaveAddOns },
|
||||
{ "ResetAddOns", &Script_ResetAddOns },
|
||||
{ "IsAddonVersionCheckEnabled", &Script_IsAddonVersionCheckEnabled },
|
||||
{ "SetAddonVersionCheck", &Script_SetAddonVersionCheck },
|
||||
{ "GetCursorPosition", &Script_GetCursorPosition },
|
||||
{ "ShowCursor", &Script_ShowCursor },
|
||||
{ "HideCursor", &Script_HideCursor },
|
||||
{ "GetBillingTimeRemaining", &Script_GetBillingTimeRemaining },
|
||||
{ "GetBillingPlan", &Script_GetBillingPlan },
|
||||
{ "GetBillingTimeRested", &Script_GetBillingTimeRested },
|
||||
{ "SurveyNotificationDone", &Script_SurveyNotificationDone },
|
||||
{ "PINEntered", &Script_PINEntered },
|
||||
{ "PlayGlueAmbience", &Script_PlayGlueAmbience },
|
||||
{ "StopGlueAmbience", &Script_StopGlueAmbience },
|
||||
{ "GetCreditsText", &Script_GetCreditsText },
|
||||
{ "GetAccountExpansionLevel", &Script_GetAccountExpansionLevel }, // shared
|
||||
{ "GetClientExpansionLevel", &Script_GetClientExpansionLevel }, // guessed name
|
||||
{ "MatrixEntered", &Script_MatrixEntered },
|
||||
{ "MatrixRevert", &Script_MatrixRevert },
|
||||
{ "MatrixCommit", &Script_MatrixCommit },
|
||||
{ "GetMatrixCoordinates", &Script_GetMatrixCoordinates },
|
||||
{ "ScanDLLStart", &Script_ScanDLLStart },
|
||||
{ "ScanDLLContinueAnyway", &Script_ScanDLLContinueAnyway },
|
||||
{ "IsScanDLLFinished", &Script_IsScanDLLFinished },
|
||||
{ "IsWindowsClient", &Script_IsWindowsClient },
|
||||
{ "IsMacClient", &Script_IsMacClient },
|
||||
{ "IsLinuxClient", &Script_IsLinuxClient },
|
||||
{ "SetRealmSplitState", &Script_SetRealmSplitState },
|
||||
{ "RequestRealmSplitInfo", &Script_RequestRealmSplitInfo },
|
||||
{ "CancelLogin", &Script_CancelLogin },
|
||||
{ "GetCVar", &Script_GetCVar },
|
||||
{ "GetCVarBool", &Script_GetCVarBool },
|
||||
{ "SetCVar", &Script_SetCVar },
|
||||
{ "GetCVarDefault", &Script_GetCVarDefault },
|
||||
{ "GetCVarMin", &Script_GetCVarMin }, // guessed name
|
||||
{ "GetCVarMax", &Script_GetCVarMax }, // guessed name
|
||||
{ "GetCVarAbsoluteMin", &Script_GetCVarAbsoluteMin }, // guessed name
|
||||
{ "GetCVarAbsoluteMax", &Script_GetCVarAbsoluteMax }, // guessed name
|
||||
{ "GetChangedOptionWarnings", &Script_GetChangedOptionWarnings },
|
||||
{ "AcceptChangedOptionWarnings", &Script_AcceptChangedOptionWarnings },
|
||||
{ "ShowChangedOptionWarnings", &Script_ShowChangedOptionWarnings },
|
||||
{ "TokenEntered", &Script_TokenEntered },
|
||||
{ "GetNumDeclensionSets", &Script_GetNumDeclensionSets },
|
||||
{ "DeclineName", &Script_DeclineName },
|
||||
{ "GetNumGameAccounts", &Script_GetNumGameAccounts },
|
||||
{ "GetGameAccountInfo", &Script_GetGameAccountInfo },
|
||||
{ "SetGameAccount", &Script_SetGameAccount },
|
||||
{ "StopAllSFX", &Script_StopAllSFX },
|
||||
{ "SetClearConfigData", &Script_SetClearConfigData },
|
||||
{ "RestartGx", &Script_RestartGx },
|
||||
{ "RestoreVideoResolutionDefaults", &Script_RestoreVideoResolutionDefaults }, // guessed name
|
||||
{ "RestoreVideoEffectsDefaults", &Script_RestoreVideoEffectsDefaults }, // guessed name
|
||||
{ "RestoreVideoStereoDefaults", &Script_RestoreVideoStereoDefaults }, // guessed name
|
||||
{ "IsStreamingMode", &Script_IsStreamingMode },
|
||||
{ "IsStreamingTrial", &Script_IsStreamingTrial },
|
||||
{ "IsConsoleActive", &Script_IsConsoleActive },
|
||||
{ "RunScript", &Script_RunScript },
|
||||
{ "ReadyForAccountDataTimes", &Script_ReadyForAccountDataTimes },
|
||||
{ "IsTrialAccount", &Script_IsTrialAccount }, // guessed name
|
||||
{ "IsSystemSupported", &Script_IsSystemSupported }
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user