patch-ruRU-5 обновленный логин скрин и создание персонажа
This commit is contained in:
@@ -0,0 +1,545 @@
|
||||
-- ============================================================================
|
||||
-- Autora: Noa
|
||||
-- ============================================================================
|
||||
CurrentGlueMusic = "GS_LichKing";
|
||||
|
||||
GlueCreditsSoundKits = { };
|
||||
GlueCreditsSoundKits[1] = "Menu-Credits01";
|
||||
GlueCreditsSoundKits[2] = "Menu-Credits02";
|
||||
GlueCreditsSoundKits[3] = "Menu-Credits03";
|
||||
|
||||
|
||||
GlueScreenInfo = { };
|
||||
GlueScreenInfo["login"] = "AccountLogin";
|
||||
GlueScreenInfo["charselect"] = "CharacterSelect";
|
||||
GlueScreenInfo["realmwizard"] = "RealmWizard";
|
||||
GlueScreenInfo["charcreate"] = "CharacterCreate";
|
||||
GlueScreenInfo["patchdownload"] = "PatchDownload";
|
||||
GlueScreenInfo["trialconvert"] = "TrialConvert";
|
||||
GlueScreenInfo["movie"] = "MovieFrame";
|
||||
GlueScreenInfo["credits"] = "CreditsFrame";
|
||||
GlueScreenInfo["options"] = "OptionsFrame";
|
||||
|
||||
CharModelFogInfo = { };
|
||||
CharModelFogInfo["HUMAN"] = { r=0.8, g=0.65, b=0.73, far=222 };
|
||||
CharModelFogInfo["ORC"] = { r=0.5, g=0.5, b=0.5, far=270 };
|
||||
CharModelFogInfo["DWARF"] = { r=0.85, g=0.88, b=1.0, far=500 };
|
||||
CharModelFogInfo["NIGHTELF"] = { r=0.25, g=0.22, b=0.55, far=611 };
|
||||
CharModelFogInfo["TAUREN"] = { r=1.0, g=0.61, b=0.42, far=153 };
|
||||
CharModelFogInfo["SCOURGE"] = { r=0, g=0.22, b=0.22, far=26 };
|
||||
CharModelFogInfo["CHARACTERSELECT"] = { r=0.8, g=0.65, b=0.73, far=222 };
|
||||
|
||||
CharModelGlowInfo = { };
|
||||
CharModelGlowInfo["WORGEN"] = 0.0;
|
||||
CharModelGlowInfo["GOBLIN"] = 0.0;
|
||||
CharModelGlowInfo["HUMAN"] = 0.15;
|
||||
CharModelGlowInfo["DWARF"] = 0.15;
|
||||
CharModelGlowInfo["CHARACTERSELECT"] = 0.3;
|
||||
|
||||
GlueAmbienceTracks = { };
|
||||
GlueAmbienceTracks["HUMAN"] = "GlueScreenHuman";
|
||||
GlueAmbienceTracks["ORC"] = "GlueScreenOrcTroll";
|
||||
GlueAmbienceTracks["DWARF"] = "GlueScreenDwarfGnome";
|
||||
GlueAmbienceTracks["TAUREN"] = "GlueScreenTauren";
|
||||
GlueAmbienceTracks["SCOURGE"] = "GlueScreenUndead";
|
||||
GlueAmbienceTracks["NIGHTELF"] = "GlueScreenNightElf";
|
||||
GlueAmbienceTracks["DRAENEI"] = "GlueScreenDraenei";
|
||||
GlueAmbienceTracks["BLOODELF"] = "GlueScreenBloodElf";
|
||||
GlueAmbienceTracks["DARKPORTAL"] = "GlueScreenIntro";
|
||||
GlueAmbienceTracks["DEATHKNIGHT"] = "GlueScreenIntro";
|
||||
GlueAmbienceTracks["CHARACTERSELECT"] = "GlueScreenIntro";
|
||||
GlueAmbienceTracks["GOBLIN"] = "GlueScreenGoblin";
|
||||
GlueAmbienceTracks["WORGEN"] = "GlueScreenWorgen";
|
||||
|
||||
-- RaceLights[] duplicates the 3.2.2 color values in the models. Henceforth, the models no longer contain directional lights
|
||||
RaceLights = {
|
||||
HUMAN = {
|
||||
{1, 0, 0.000000, 0.000000, -1.000000, 1.0, 0.27, 0.27, .27, 1.0, 0, 0, 0},
|
||||
{1, 0, -0.45756075, -0.58900136, -0.66611975, 1.0, 0.000000, 0.000000, 0.000000, 1.0, 0.19882353, 0.34921569, 0.43588236 },
|
||||
{1, 0, -0.64623469, 0.57582057, -0.50081086, 1.0, 0.000000, 0.000000, 0.000000, 2.0, 0.52196085, 0.44, 0.29764709 },
|
||||
},
|
||||
ORC = {
|
||||
{1, 0, 0.00000, 0.00000, -1.00000, 1.0, 0.15000, 0.15000, 0.15000, 1.0, 0.00000, 0.00000, 0.00000},
|
||||
{1, 0, -0.74919, 0.35208, -0.56103, 1.0, 0.00000, 0.00000, 0.00000, 1.0, 0.44706, 0.54510, 0.73725},
|
||||
{1, 0, 0.53162, -0.84340, 0.07780, 1.0, 0.00000, 0.00000, 0.00000, 2.0, 0.55, 0.338625, 0.148825},
|
||||
},
|
||||
DWARF = {
|
||||
{1, 0, -0.00000, -0.00000, -1.00000, 1.0, 0.30000, 0.30000, 0.30000, 0.0, 0.00000, 0.00000, 0.00000},
|
||||
{1, 0, -0.88314, 0.42916, -0.18945, 1.0, 0.00000, 0.00000, 0.00000, 2.0, 0.44706, 0.67451, 0.760785},
|
||||
},
|
||||
TAUREN = {
|
||||
{1, 0, -0.48073, 0.71827, -0.50297, 1.0, 0.00000, 0.00000, 0.00000, 2.0, 0.65, 0.397645, 0.2727},
|
||||
{1, 0, -0.49767, -0.78677, 0.36513, 1.0, 0.00000, 0.00000, 0.00000, 1.0, 0.60000, 0.47059, 0.32471},
|
||||
},
|
||||
SCOURGE = {
|
||||
{1, 0, 0.00000, 0.00000, -1.00000, 1.0, 0.20000, 0.20000, 0.20000, 1.0, 0.00000, 0.00000, 0.00000},
|
||||
},
|
||||
NIGHTELF = {
|
||||
{1, 0, -0.00000, -0.00000, -1.00000, 1.0, 0.09020, 0.09020, 0.17020, 1.0, 0.00000, 0.00000, 0.00000},
|
||||
},
|
||||
DRAENEI = {
|
||||
{1, 0, 0.61185, 0.62942, -0.47903, 1.0, 0.00000, 0.00000, 0.00000, 1.0, 0.56941, 0.52000, 0.60000},
|
||||
{1, 0, -0.64345, -0.31052, -0.69968, 1.0, 0.00000, 0.00000, 0.00000, 1.0, 0.60941, 0.60392, 0.70000},
|
||||
{1, 0, -0.46481, -0.14320, 0.87376, 1.0, 0.00000, 0.00000, 0.00000, 2.0, 0.5835, 0.48941, 0.60000},
|
||||
},
|
||||
BLOODELF = {
|
||||
{1, 0, -0.82249, -0.54912, -0.14822, 1.0, 0.00000, 0.00000, 0.00000, 2.0, 0.581175, 0.50588, 0.42588},
|
||||
{1, 0, 0.00000, -0.00000, -1.00000, 1.0, 0.60392, 0.61490, 0.70000, 1.0, 0.00000, 0.00000, 0.00000},
|
||||
{1, 0, 0.02575, 0.86518, -0.50081, 1.0, 0.00000, 0.00000, 0.00000, 1.0, 0.59137, 0.51745, 0.63471},
|
||||
},
|
||||
DEATHKNIGHT = {
|
||||
{1, 0, 0.00000, 0.00000, -1.00000, 1.0, 0.38824, 0.66353, 0.76941, 1.0, 0.00000, 0.00000, 0.00000},
|
||||
},
|
||||
CHARACTERSELECT = {
|
||||
{1, 0, 0.00000, 0.00000, -1.00000, 1.0, 0.15000, 0.15000, 0.15000, 1.0, 0.00000, 0.00000, 0.00000},
|
||||
{1, 0, -0.74919, 0.35208, -0.56103, 1.0, 0.00000, 0.00000, 0.00000, 1.0, 0.44706, 0.54510, 0.73725},
|
||||
{1, 0, 0.53162, -0.84340, 0.07780, 1.0, 0.00000, 0.00000, 0.00000, 2.0, 0.55, 0.338625, 0.148825},
|
||||
},
|
||||
}
|
||||
|
||||
-- indicies for adding lights ModelFFX:Add*Light
|
||||
LIGHT_LIVE = 0;
|
||||
LIGHT_GHOST = 1;
|
||||
|
||||
-- Alpha animation stuff
|
||||
FADEFRAMES = {};
|
||||
CURRENT_GLUE_SCREEN = nil;
|
||||
PENDING_GLUE_SCREEN = nil;
|
||||
-- Time in seconds to fade
|
||||
LOGIN_FADE_IN = 1.5;
|
||||
LOGIN_FADE_OUT = 0.5;
|
||||
CHARACTER_SELECT_FADE_IN = 0.75;
|
||||
RACE_SELECT_INFO_FADE_IN = .5;
|
||||
RACE_SELECT_INFO_FADE_OUT = .5;
|
||||
|
||||
-- Realm Split info
|
||||
SERVER_SPLIT_SHOW_DIALOG = false;
|
||||
SERVER_SPLIT_CLIENT_STATE = -1; -- -1 uninitialized; 0 - no choice; 1 - realm 1; 2 - realm 2
|
||||
SERVER_SPLIT_STATE_PENDING = -1; -- -1 uninitialized; 0 - no server split; 1 - server split (choice mode); 2 - server split (no choice mode)
|
||||
SERVER_SPLIT_DATE = nil;
|
||||
|
||||
-- Account Messaging info
|
||||
ACCOUNT_MSG_NUM_AVAILABLE = 0;
|
||||
ACCOUNT_MSG_PRIORITY = 0;
|
||||
ACCOUNT_MSG_HEADERS_LOADED = false;
|
||||
ACCOUNT_MSG_BODY_LOADED = false;
|
||||
ACCOUNT_MSG_CURRENT_INDEX = nil;
|
||||
|
||||
-- Gender Constants
|
||||
SEX_NONE = 1;
|
||||
SEX_MALE = 2;
|
||||
SEX_FEMALE = 3;
|
||||
|
||||
|
||||
function SetGlueScreen(name)
|
||||
local newFrame;
|
||||
for index, value in pairs(GlueScreenInfo) do
|
||||
local frame = _G[value];
|
||||
if ( frame ) then
|
||||
frame:Hide();
|
||||
if ( index == name ) then
|
||||
newFrame = frame;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if ( newFrame ) then
|
||||
newFrame:Show();
|
||||
SetCurrentScreen(name);
|
||||
SetCurrentGlueScreenName(name);
|
||||
if ( name == "credits" ) then
|
||||
PlayCreditsMusic( GlueCreditsSoundKits[CreditsFrame.creditsType] );
|
||||
StopGlueAmbience();
|
||||
elseif ( name ~= "movie" ) then
|
||||
PlayGlueMusic(CurrentGlueMusic);
|
||||
if (name == "login") then
|
||||
PlayGlueAmbience(GlueAmbienceTracks["DARKPORTAL"], 4.0);
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function SetCurrentGlueScreenName(name)
|
||||
CURRENT_GLUE_SCREEN = name;
|
||||
end
|
||||
|
||||
function GetCurrentGlueScreenName()
|
||||
return CURRENT_GLUE_SCREEN;
|
||||
end
|
||||
|
||||
function SetPendingGlueScreenName(name)
|
||||
PENDING_GLUE_SCREEN = name;
|
||||
end
|
||||
|
||||
function GetPendingGlueScreenName()
|
||||
return PENDING_GLUE_SCREEN;
|
||||
end
|
||||
|
||||
function GlueParent_OnLoad(self)
|
||||
local width = GetScreenWidth();
|
||||
local height = GetScreenHeight();
|
||||
|
||||
if ( width / height > 16 / 9) then
|
||||
local maxWidth = height * 16 / 9;
|
||||
local barWidth = ( width - maxWidth ) / 2;
|
||||
self:ClearAllPoints();
|
||||
self:SetPoint("TOPLEFT", barWidth, 0);
|
||||
self:SetPoint("BOTTOMRIGHT", -barWidth, 0);
|
||||
end
|
||||
|
||||
self:RegisterEvent("FRAMES_LOADED");
|
||||
self:RegisterEvent("SET_GLUE_SCREEN");
|
||||
self:RegisterEvent("START_GLUE_MUSIC");
|
||||
self:RegisterEvent("DISCONNECTED_FROM_SERVER");
|
||||
self:RegisterEvent("GET_PREFERRED_REALM_INFO");
|
||||
self:RegisterEvent("SERVER_SPLIT_NOTICE");
|
||||
self:RegisterEvent("ACCOUNT_MESSAGES_AVAILABLE");
|
||||
self:RegisterEvent("ACCOUNT_MESSAGES_HEADERS_LOADED");
|
||||
self:RegisterEvent("ACCOUNT_MESSAGES_BODY_LOADED");
|
||||
end
|
||||
|
||||
function GlueParent_OnEvent(event, arg1, arg2, arg3)
|
||||
if ( event == "FRAMES_LOADED" ) then
|
||||
LocalizeFrames();
|
||||
elseif ( event == "SET_GLUE_SCREEN" ) then
|
||||
GlueScreenExit(GetCurrentGlueScreenName(), arg1);
|
||||
elseif ( event == "START_GLUE_MUSIC" ) then
|
||||
PlayGlueMusic(CurrentGlueMusic);
|
||||
PlayGlueAmbience(GlueAmbienceTracks["DARKPORTAL"], 4.0);
|
||||
elseif ( event == "DISCONNECTED_FROM_SERVER" ) then
|
||||
TokenEntry_Cancel(TokenEnterDialog);
|
||||
SetGlueScreen("login");
|
||||
if ( arg1 == 4 ) then
|
||||
GlueDialog_Show("PARENTAL_CONTROL");
|
||||
else
|
||||
GlueDialog_Show("DISCONNECTED");
|
||||
end
|
||||
AddonList:Hide();
|
||||
elseif ( event == "GET_PREFERRED_REALM_INFO" ) then
|
||||
if( arg1 == 1) then
|
||||
SetPreferredInfo(1);
|
||||
else
|
||||
SetGlueScreen("realmwizard");
|
||||
PlayGlueAmbience(GlueAmbienceTracks["DARKPORTAL"], 4.0);
|
||||
end
|
||||
elseif ( event == "SERVER_SPLIT_NOTICE" ) then
|
||||
CharacterSelectRealmSplitButton:Show();
|
||||
if ( SERVER_SPLIT_STATE_PENDING == -1 and arg1 == 0 and arg2 == 1 ) then
|
||||
SERVER_SPLIT_SHOW_DIALOG = true;
|
||||
end
|
||||
SERVER_SPLIT_CLIENT_STATE = arg1;
|
||||
SERVER_SPLIT_STATE_PENDING = arg2;
|
||||
SERVER_SPLIT_DATE = arg3;
|
||||
elseif ( event == "ACCOUNT_MESSAGES_AVAILABLE" ) then
|
||||
-- ACCOUNT_MSG_NUM_AVAILABLE = arg1;
|
||||
ACCOUNT_MSG_HEADERS_LOADED = false;
|
||||
ACCOUNT_MSG_BODY_LOADED = false;
|
||||
ACCOUNT_MSG_CURRENT_INDEX = nil;
|
||||
AccountMsg_LoadHeaders();
|
||||
elseif ( event == "ACCOUNT_MESSAGES_HEADERS_LOADED" ) then
|
||||
ACCOUNT_MSG_HEADERS_LOADED = true;
|
||||
ACCOUNT_MSG_NUM_AVAILABLE = AccountMsg_GetNumUnreadMsgs();
|
||||
ACCOUNT_MSG_CURRENT_INDEX = AccountMsg_GetIndexNextUnreadMsg();
|
||||
if ( ACCOUNT_MSG_NUM_AVAILABLE > 0 ) then
|
||||
AccountMsg_LoadBody( ACCOUNT_MSG_CURRENT_INDEX );
|
||||
end
|
||||
elseif ( event == "ACCOUNT_MESSAGES_BODY_LOADED" ) then
|
||||
ACCOUNT_MSG_BODY_LOADED = true;
|
||||
end
|
||||
end
|
||||
|
||||
-- Glue screen animation handling
|
||||
function GlueScreenExit(currentFrame, pendingFrame)
|
||||
if ( currentFrame == "login" and pendingFrame == "charselect" ) then
|
||||
GlueFrameFadeOut(AccountLoginUI, LOGIN_FADE_OUT, GoToPendingGlueScreen);
|
||||
SetPendingGlueScreenName(pendingFrame);
|
||||
else
|
||||
SetGlueScreen(pendingFrame);
|
||||
end
|
||||
end
|
||||
|
||||
function GoToPendingGlueScreen()
|
||||
SetGlueScreen(GetPendingGlueScreenName());
|
||||
end
|
||||
|
||||
-- Generic fade function
|
||||
function GlueFrameFade(frame, timeToFade, mode, finishedFunction)
|
||||
if ( frame ) then
|
||||
frame.fadeTimer = 0;
|
||||
frame.timeToFade = timeToFade;
|
||||
frame.mode = mode;
|
||||
-- finishedFunction is an optional function that is called when the animation is complete
|
||||
if ( finishedFunction ) then
|
||||
frame.finishedFunction = finishedFunction;
|
||||
end
|
||||
tinsert(FADEFRAMES, frame);
|
||||
end
|
||||
end
|
||||
|
||||
-- Fade in function
|
||||
function GlueFrameFadeIn(frame, timeToFade, finishedFunction)
|
||||
GlueFrameFade(frame, timeToFade, "IN", finishedFunction);
|
||||
end
|
||||
|
||||
-- Fade out function
|
||||
function GlueFrameFadeOut(frame, timeToFade, finishedFunction)
|
||||
GlueFrameFade(frame, timeToFade, "OUT", finishedFunction);
|
||||
end
|
||||
|
||||
-- Function that actually performs the alpha change
|
||||
function GlueFrameFadeUpdate(elapsed)
|
||||
local index = 1;
|
||||
while FADEFRAMES[index] do
|
||||
local frame = FADEFRAMES[index];
|
||||
frame.fadeTimer = frame.fadeTimer + elapsed;
|
||||
if ( frame.fadeTimer < frame.timeToFade ) then
|
||||
if ( frame.mode == "IN" ) then
|
||||
frame:SetAlpha(frame.fadeTimer / frame.timeToFade);
|
||||
elseif ( frame.mode == "OUT" ) then
|
||||
frame:SetAlpha((frame.timeToFade - frame.fadeTimer) / frame.timeToFade);
|
||||
end
|
||||
else
|
||||
if ( frame.mode == "IN" ) then
|
||||
frame:SetAlpha(1.0);
|
||||
elseif ( frame.mode == "OUT" ) then
|
||||
frame:SetAlpha(0);
|
||||
end
|
||||
GlueFrameFadeRemoveFrame(frame);
|
||||
if ( frame.finishedFunction ) then
|
||||
frame.finishedFunction();
|
||||
frame.finishedFunction = nil;
|
||||
end
|
||||
end
|
||||
index = index + 1;
|
||||
end
|
||||
end
|
||||
|
||||
function GlueFrameRemoveFrame(frame, list)
|
||||
local index = 1;
|
||||
while list[index] do
|
||||
if ( frame == list[index] ) then
|
||||
tremove(list, index);
|
||||
end
|
||||
index = index + 1;
|
||||
end
|
||||
end
|
||||
|
||||
function GlueFrameFadeRemoveFrame(frame)
|
||||
GlueFrameRemoveFrame(frame, FADEFRAMES);
|
||||
end
|
||||
|
||||
function SetLighting(model, race)
|
||||
model:SetSequence(0);
|
||||
model:SetCamera(0);
|
||||
local fogInfo = CharModelFogInfo[race];
|
||||
if ( fogInfo ) then
|
||||
model:SetFogColor(fogInfo.r, fogInfo.g, fogInfo.b);
|
||||
model:SetFogNear(0);
|
||||
model:SetFogFar(fogInfo.far);
|
||||
else
|
||||
model:ClearFog();
|
||||
end
|
||||
|
||||
local glowInfo = CharModelGlowInfo[race];
|
||||
if ( glowInfo ) then
|
||||
model:SetGlow(glowInfo);
|
||||
else
|
||||
model:SetGlow(0.3);
|
||||
end
|
||||
|
||||
model:ResetLights();
|
||||
|
||||
local LightValues = RaceLights[race];
|
||||
if(LightValues) then
|
||||
for index, Array in pairs (LightValues) do
|
||||
if (Array[1]==1) then -- is this light enabled?
|
||||
for j, f in pairs ({model.AddCharacterLight, model.AddLight, model.AddPetLight }) do
|
||||
f(model, LIGHT_LIVE, unpack(Array));
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
CHARACTER_MODEL_LIGHT = {
|
||||
["Alliance"] = {2.499000, -3.400000, -3.844000, 0.505020, 0.680000, 0.750000, 1.120000, 0.550000, 0.680000, 1.120000, 1.350000},
|
||||
["Horde"] = {9.800000, -8.640000, -9.600000, 0.829100, 0.980000, 0.570000, 0.380000, 0.780000, 0.840000, 0.398850, 0.273120},
|
||||
["DeathKnight"] = {2.587001, -4.596000, -2.451000, 0.533330, 0.625590, 0.885200, 1.200000, 1.300000, 0.629360, 0.889180, 1.350000}
|
||||
}
|
||||
|
||||
function SetBackgroundModel(model, name, raza, gender)
|
||||
local nameupper = strupper(name);
|
||||
local ligthning = nameupper;
|
||||
|
||||
if nameupper == "NIGHTELF" or nameupper == "SCOURGE" then
|
||||
ligthning = "NIGHTELF";
|
||||
elseif nameupper == "BLOODELF" then
|
||||
ligthning = "BLOODELF";
|
||||
end
|
||||
|
||||
local path = "Interface\\Glues\\Models\\UI_"..name.."\\UI_"..name..".m2";
|
||||
|
||||
local allianceRaces = {
|
||||
["HUMAN"] = true,
|
||||
["DWARF"] = true,
|
||||
["NIGHTELF"] = true,
|
||||
["GNOME"] = true,
|
||||
["DRAENEI"] = true,
|
||||
["WORGEN"] = true
|
||||
};
|
||||
|
||||
local hordeRaces = {
|
||||
["ORC"] = true,
|
||||
["SCOURGE"] = true,
|
||||
["TAUREN"] = true,
|
||||
["TROLL"] = true,
|
||||
["BLOODELF"] = true,
|
||||
["GOBLIN"] = true
|
||||
};
|
||||
|
||||
local backgroundType = nil;
|
||||
|
||||
if model == CharacterCreate then
|
||||
if nameupper == "DEATHKNIGHT" then
|
||||
SetCharCustomizeBackground("Interface\\Glues\\Models\\UI_DeathKnight\\UI_DeathKnight.m2");
|
||||
ligthning = "DEATHKNIGHT";
|
||||
backgroundType = "DeathKnight";
|
||||
elseif allianceRaces[nameupper] then
|
||||
SetCharCustomizeBackground("Interface\\Glues\\Models\\UI_ALLIANCE\\UI_Alliance.m2");
|
||||
ligthning = "HUMAN";
|
||||
backgroundType = "Alliance";
|
||||
elseif hordeRaces[nameupper] then
|
||||
SetCharCustomizeBackground("Interface\\Glues\\Models\\UI_HORDE\\UI_HORDE.m2");
|
||||
ligthning = "ORC";
|
||||
backgroundType = "Horde";
|
||||
else
|
||||
SetCharCustomizeBackground(path);
|
||||
end
|
||||
else
|
||||
GLOBAL_RACE_CHANGE = 0;
|
||||
|
||||
if nameupper == "DEATHKNIGHT" then
|
||||
SetCharSelectBackground("Interface\\Glues\\Models\\UI_DeathKnight\\UI_DeathKnight.m2");
|
||||
ligthning = "DEATHKNIGHT";
|
||||
backgroundType = "DeathKnight";
|
||||
elseif allianceRaces[nameupper] then
|
||||
SetCharSelectBackground("Interface\\Glues\\Models\\UI_ALLIANCE\\UI_Alliance.m2");
|
||||
ligthning = "HUMAN";
|
||||
backgroundType = "Alliance";
|
||||
elseif hordeRaces[nameupper] then
|
||||
SetCharSelectBackground("Interface\\Glues\\Models\\UI_HORDE\\UI_HORDE.m2");
|
||||
ligthning = "ORC";
|
||||
backgroundType = "Horde";
|
||||
else
|
||||
SetCharSelectBackground(path);
|
||||
end
|
||||
end
|
||||
|
||||
if backgroundType and CHARACTER_MODEL_LIGHT[backgroundType] then
|
||||
local lightSettings = CHARACTER_MODEL_LIGHT[backgroundType];
|
||||
model:ResetLights();
|
||||
model:AddCharacterLight(LIGHT_LIVE, 1, 0, unpack(lightSettings));
|
||||
model:AddLight(LIGHT_LIVE, 1, 0, unpack(lightSettings));
|
||||
model:AddPetLight(LIGHT_LIVE, 1, 0, unpack(lightSettings));
|
||||
else
|
||||
SetLighting(model, ligthning);
|
||||
end
|
||||
|
||||
PlayGlueAmbience(GlueAmbienceTracks[nameupper], 4.0);
|
||||
end
|
||||
|
||||
function SecondsToTime(seconds, noSeconds)
|
||||
local time = "";
|
||||
local count = 0;
|
||||
local tempTime;
|
||||
seconds = floor(seconds);
|
||||
if ( seconds >= 86400 ) then
|
||||
tempTime = floor(seconds / 86400);
|
||||
time = tempTime.." "..DAYS_ABBR.." ";
|
||||
seconds = mod(seconds, 86400);
|
||||
count = count + 1;
|
||||
end
|
||||
if ( seconds >= 3600 ) then
|
||||
tempTime = floor(seconds / 3600);
|
||||
time = time..tempTime.." "..HOURS_ABBR.." ";
|
||||
seconds = mod(seconds, 3600);
|
||||
count = count + 1;
|
||||
end
|
||||
if ( count < 2 and seconds >= 60 ) then
|
||||
tempTime = floor(seconds / 60);
|
||||
time = time..tempTime.." "..MINUTES_ABBR.." ";
|
||||
seconds = mod(seconds, 60);
|
||||
count = count + 1;
|
||||
end
|
||||
if ( count < 2 and seconds > 0 and not noSeconds ) then
|
||||
seconds = format("%d", seconds);
|
||||
time = time..seconds.." "..SECONDS_ABBR.." ";
|
||||
end
|
||||
return time;
|
||||
end
|
||||
|
||||
function MinutesToTime(mins, hideDays)
|
||||
local time = "";
|
||||
local count = 0;
|
||||
local tempTime;
|
||||
-- only show days if hideDays is false
|
||||
if ( mins > 1440 and not hideDays ) then
|
||||
tempTime = floor(mins / 1440);
|
||||
time = tempTime.." "..DAYS_ABBR.." ";
|
||||
mins = mod(mins, 1440);
|
||||
count = count + 1;
|
||||
end
|
||||
if ( mins > 60 ) then
|
||||
tempTime = floor(mins / 60);
|
||||
time = time..tempTime.." "..HOURS_ABBR.." ";
|
||||
mins = mod(mins, 60);
|
||||
count = count + 1;
|
||||
end
|
||||
if ( count < 2 ) then
|
||||
tempTime = mins;
|
||||
time = time..tempTime.." "..MINUTES_ABBR.." ";
|
||||
count = count + 1;
|
||||
end
|
||||
return time;
|
||||
end
|
||||
|
||||
function TriStateCheckbox_SetState(checked, checkButton)
|
||||
local checkedTexture = _G[checkButton:GetName().."CheckedTexture"];
|
||||
if ( not checkedTexture ) then
|
||||
message("Can't find checked texture");
|
||||
end
|
||||
if ( not checked or checked == 0 ) then
|
||||
-- nil or 0 means not checked
|
||||
checkButton:SetChecked(nil);
|
||||
checkButton.state = 0;
|
||||
elseif ( checked == 2 ) then
|
||||
-- 2 is a normal
|
||||
checkButton:SetChecked(1);
|
||||
checkedTexture:SetVertexColor(1, 1, 1);
|
||||
checkedTexture:SetDesaturated(0);
|
||||
checkButton.state = 2;
|
||||
else
|
||||
-- 1 is a gray check
|
||||
checkButton:SetChecked(1);
|
||||
local shaderSupported = checkedTexture:SetDesaturated(1);
|
||||
if ( not shaderSupported ) then
|
||||
checkedTexture:SetVertexColor(0.5, 0.5, 0.5);
|
||||
end
|
||||
checkButton.state = 1;
|
||||
end
|
||||
end
|
||||
|
||||
function SetStateRequestInfo( choice )
|
||||
if ( SERVER_SPLIT_CLIENT_STATE ~= choice ) then
|
||||
SERVER_SPLIT_CLIENT_STATE = choice;
|
||||
SetRealmSplitState(choice);
|
||||
RealmSplit_SetChoiceText();
|
||||
-- RequestRealmSplitInfo();
|
||||
end
|
||||
end
|
||||
|
||||
function UpgradeAccount()
|
||||
PlaySound("gsLoginNewAccount");
|
||||
LaunchURL(AUTH_NO_TIME_URL);
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user