1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-08 06:12:17 -05:00
BO2-Reimagined/ui_mp/t6/hud/loading.lua
2024-06-04 22:05:15 -07:00

679 lines
29 KiB
Lua

CoD.Loading = {}
CoD.Loading.DidYouKnow = {}
CoD.Loading.DidYouKnow.theater = {
"MPTIP_THEATER_CONTROL_SCHEMES",
"MPTIP_THEATER_CAMERA_MODES",
"MPTIP_THEATER_TIMELINE",
"MPTIP_THEATER_SCOREBOARD",
"MPTIP_THEATER_MONTAGE",
"MPTIP_THEATER_PAUSE",
"MPTIP_THEATER_DISCARD",
"MPTIP_THEATER_PREVIEW",
"MPTIP_THEATER_TRANSITIONS",
"MPTIP_THEATER_FILESHARE",
"MPTIP_THEATER_RATE",
"MPTIP_THEATER_SCOREBOARD_SWITCH",
"MPTIP_THEATER_CLIENTS",
}
CoD.Loading.DidYouKnow.general = {
"MPTIP_CREATE_A_CLASS_TIP",
"MPTIP_CUSTOM_CLASS_TIP",
"MPTIP_FRIENDS_LIST_TIP",
"MPTIP_ASSIST_TIP",
"MPTIP_CUSTOM_GAME_TIP",
"MPTIP_SHOOTING_AIRCRAFT_TIP",
"MPTIP_ENEMY_ON_MINIMAP_TIP",
"MPTIP_MOTD_TIP",
"MPTIP_LOOK_SENSITIVITY_TIP",
"MPTIP_PAUSE_MENU_MAP_TIP",
"MPTIP_FAST_ADS_WALK_TIP",
"MPTIP_AUTOMATIC_WEAPONS_TIP",
"MPTIP_DEAD_ALLIES_TIP",
"MPTIP_GROUND_WEAPONS_TIP",
"MPTIP_PISTOL_TIP",
"MPTIP_LOCK_ON_TIP",
"MPTIP_ADS_TIP",
"MPTIP_FOOTSTEPS_TIP",
"MPTIP_STAY_INSIDE_TIP",
"MPTIP_MUTE_TIP",
"MPTIP_THEATER_TIP",
"MPTIP_HUD_TIP",
"MPTIP_DTP_TIP",
"MPTIP_CROSSBOW_TIP",
"MPTIP_AAR_TIP",
"MPTIP_COMBAT_TRAINING_TIP",
"MPTIP_MATCH_BONUS_TIP",
"MPTIP_WILDCARDS_TIP",
"MPTIP_FRIENDS_BAR_TIP",
"MPTIP_HELD_KNIFE_TIP",
"MPTIP_ONE_GUN_PICKUP_TIP",
"MPTIP_SHOTGUN_SLUG_TIP",
"MPTIP_GHOST_FADE_TIP",
"MPTIP_HARDCORE_HUD_TIP",
"MPTIP_HARDCORE_MINIMAP_TIP",
"MPTIP_WILLY_PETE_TIP",
"MPTIP_TACTICAL_INSERTION_TIP",
"MPTIP_TOMAHAWK_TIP",
"MPTIP_C4_OBJECTIVES_TIP",
"MPTIP_GRENADE_SOUND_TIP",
"MPTIP_NO_COOKING_TIP",
"MPTIP_CLAYMORE_TIP",
"MPTIP_SHOCK_CHARGE_TIP",
"MPTIP_FAST_MAG_TIP",
"MPTIP_EXTENDED_MAGS_TIP",
"MPTIP_DEEP_IMPACT_TIP",
"MPTIP_SUPPRESSOR_TIP",
"MPTIP_STEADY_AIM_TIP",
"MPTIP_ATTACHMENT_VARIETY_TIP",
"MPTIP_ATTACHMENTS_TIP",
"MPTIP_TARGET_FINDER_TIP",
"MPTIP_MMS_TIP",
"MPTIP_SELECT_FIRE_TIP",
"MPTIP_EXTREME_CARDIO_TIP",
"MPTIP_UTILITY_TIP",
"MPTIP_GHILLIE_SUIT_TIP",
"MPTIP_FLAK_TIP",
"MPTIP_KILLSTREAKS_MENU_TIP",
"MPTIP_LOOPING_KILLSTREAK_TIP",
"MPTIP_KILLSTREAKS_STAY_TIP",
"MPTIP_TRANSPORT_HELI_TIP",
"MPTIP_SR71_TIP",
"MPTIP_ATTACK_DOG_TIP",
"MPTIP_WAR_MACHINE_TIP",
"MPTIP_TURRET_TIP",
"MPTIP_DETONATE_TIP",
"MPTIP_BOOST_TIP",
"MPTIP_AUTO_EXPLODE_TIP",
"MPTIP_TURRET_MELEE_TIP",
"MPTIP_SCORESTREAK_OBJECTIVE_TIP",
"MPTIP_REMOTE_CONTROL_TIP",
"MPTIP_HK_INCOMING_TIP",
"MPTIP_VTOL_MOVEMENT_TIP",
"MPTIP_HELLSTORM_CLUSTER_TIP",
"MPTIP_GUARDIAN_TIP",
"MPTIP_TARGET_DIAMOND_LOS_TIP",
}
CoD.Loading.DidYouKnow.public = {
"MPTIP_XP_SOURCES_TIP",
"MPTIP_LEADERBOARD_TIP",
"MPTIP_CHALLENGE_REWARDS_TIP",
"MPTIP_LEAGUE_GAME_TIP",
}
CoD.Loading.DidYouKnow.league = {
"MPTIP_LEAGUE_WINS_TIP",
"MPTIP_LEAGUE_BONUS_TIP",
"MPTIP_LEAGUE_LEAVE_TIP",
"MPTIP_LEAGUE_EARNING_TIP",
}
CoD.Loading.DidYouKnow.sd = {
"MPTIP_SERACH_AND_DESTROY_TIP",
}
CoD.Loading.DidYouKnow.dom = {
"MPTIP_DOMINATION_TIP",
}
CoD.Loading.DidYouKnow.koth = {
"MPTIP_HARDPOINT_TIP",
}
CoD.Loading.DidYouKnow.gun = {
"MPTIP_WAGER_GOLD_DOT",
"MPTIP_WAGER_GUN_DEMOTE",
"MPTIP_WAGER_GUN_SUICIDE",
}
CoD.Loading.DidYouKnow.oic = {
"MPTIP_WAGER_GOLD_DOT",
"MPTIP_WAGER_OIC_KNIFE",
"MPTIP_WAGER_OIC_LIVES",
}
CoD.Loading.DidYouKnow.shrp = {
"MPTIP_WAGER_GOLD_DOT",
"MPTIP_WAGER_SHARP_PERKS",
"MPTIP_WAGER_SHARP_FINAL",
}
CoD.Loading.DidYouKnow.sas = {
"MPTIP_WAGER_GOLD_DOT",
"MPTIP_WAGER_STICKS_TOMAHAWK",
"MPTIP_WAGER_STICKS_POINTS",
"MPTIP_WAGER_STICKS_SPYPLANE",
}
CoD.Loading.DidYouKnow.zombies = {
"Without the hard work of all of the Plutonium developers the games we love would have died off long ago.",
}
CoD.Loading.FadeInTime = 1000
CoD.Loading.LoadingDelayTime = 2000
CoD.Loading.SpinnerDelayTime = 19000
CoD.Loading.DYKFontName = "Default"
CoD.Loading.DYKFont = CoD.fonts[CoD.Loading.DYKFontName]
CoD.Loading.DYKFontHeight = CoD.textSize[CoD.Loading.DYKFontName]
ToggleMapImage = function(MapImage, f1_arg1)
if UIExpression.IsCinematicWebm() == 1 then
if not MapImage.iswebm then
MapImage:setImage(RegisterMaterial("webm_720p"))
MapImage.iswebm = true
end
elseif MapImage.iswebm then
MapImage:setImage(RegisterMaterial("black"))
MapImage.iswebm = false
end
end
WatchForUserActionToSkipFunc = function(LoadingWidget, f2_arg1)
if f2_arg1.button == "left" then
LoadingWidget:processEvent({
name = "loading_startplay",
})
end
end
CoD.Loading.HideContinueButton = function(ContinueButton, f3_arg1)
ContinueButton:beginAnimation("hide", 1000)
ContinueButton:setAlpha(0)
end
SkipFunc = function(LoadingWidget, f4_arg1)
local f4_local0, f4_local1 = Engine.GetUserSafeArea()
local f4_local2 = Dvar.ui_errorMessage:get()
if f4_local2 ~= "" then
LoadingWidget.errorText = LUI.UIText.new({
left = -f4_local0 / 2,
top = 36,
right = f4_local0 / 2,
bottom = 36 + CoD.textSize.Condensed,
leftAnchor = false,
topAnchor = true,
rightAnchor = false,
bottomAnchor = false,
font = CoD.fonts.Condensed,
alignment = LUI.Alignment.Left,
})
LoadingWidget:addElement(LoadingWidget.errorText)
LoadingWidget.errorText:setText(f4_local2)
Dvar.ui_errorMessage:set("")
end
if CoD.useMouse then
LoadingWidget:registerEventHandler("mouseup", WatchForUserActionToSkipFunc)
end
LoadingWidget.continueButton:registerEventHandler("hide_continue_button", CoD.Loading.HideContinueButton)
LoadingWidget.continueButton:addElement(LUI.UITimer.new(5000, "hide_continue_button", true, LoadingWidget.continueButton))
LoadingWidget.continueButton:beginAnimation("show", 1000)
LoadingWidget.continueButton:setAlpha(1)
LUI.UIButton.gainFocus(LoadingWidget.continueButton, f4_arg1)
end
StartCinematicFunc = function(LoadingWidget, f5_arg1)
Engine.Stop3DCinematic(0)
end
LUI.createMenu.Loading = function(LocalClientIndex)
local LoadingWidget = CoD.Menu.NewFromState("Loading", {
leftAnchor = true,
rightAnchor = true,
left = 0,
right = 0,
topAnchor = true,
bottomAnchor = true,
top = 0,
bottom = 0,
})
LoadingWidget:setOwner(LocalClientIndex)
LoadingWidget:registerEventHandler("start_loading", CoD.Loading.StartLoading)
LoadingWidget:registerEventHandler("start_spinner", CoD.Loading.StartSpinner)
LoadingWidget:registerEventHandler("fade_in_map_location", CoD.Loading.FadeInMapLocation)
LoadingWidget:registerEventHandler("fade_in_gametype", CoD.Loading.FadeInGametype)
LoadingWidget:registerEventHandler("fade_in_map_image", CoD.Loading.FadeInMapImage)
local UseLoadingMovie = false
local Mapname = Dvar.ui_mapname:get()
local Gametype = Dvar.ui_gametype:get()
local LoadscreenName = "loadscreen_" .. Mapname
if CoD.isZombie == true then
if Engine.GameModeIsMode(CoD.GAMEMODE_THEATER) == false and Dvar.party_maxplayers:get() == 1 and (Mapname == CoD.Zombie.MAP_ZM_HIGHRISE or Mapname == CoD.Zombie.MAP_ZM_PRISON or Mapname == CoD.Zombie.MAP_ZM_BURIED or Mapname == CoD.Zombie.MAP_ZM_TOMB) and Gametype == CoD.Zombie.GAMETYPE_ZCLASSIC then
LoadscreenName = "black"
UseLoadingMovie = true
else
LoadscreenName = GetMapLoadscreenName(Mapname, Gametype, Dvar.ui_zm_mapstartlocation:get())
Engine.SetDvar("ui_zm_useloadingmovie", 0)
end
end
LoadingWidget.mapImage = LUI.UIStreamedImage.new({
leftAnchor = false,
rightAnchor = false,
left = -640,
right = 640,
topAnchor = false,
bottomAnchor = false,
top = -360,
bottom = 360,
material = RegisterMaterial(LoadscreenName),
red = 0,
green = 0,
blue = 0,
alpha = 1,
})
LoadingWidget:addElement(LoadingWidget.mapImage)
if UseLoadingMovie == true then
LoadingWidget.mapImage:setShaderVector(0, 0, 0, 0, 0)
LoadingWidget.mapImage.iswebm = false
end
if UseLoadingMovie == false then
local LoadingScreenGradientTop = LUI.UIImage.new()
LoadingScreenGradientTop:setLeftRight(false, false, -640, 640)
LoadingScreenGradientTop:setTopBottom(true, false, 0, 200)
LoadingScreenGradientTop:setImage(RegisterMaterial("gradient_top"))
LoadingWidget:addElement(LoadingScreenGradientTop)
local LoadingScreenGradientBottom = LUI.UIImage.new()
LoadingScreenGradientBottom:setLeftRight(false, false, -640, 640)
LoadingScreenGradientBottom:setTopBottom(false, true, -200, 0)
LoadingScreenGradientBottom:setImage(RegisterMaterial("gradient_bottom"))
LoadingWidget:addElement(LoadingScreenGradientBottom)
end
local VerticalOffset = 50
local HorizontalOffset = 70
local BigFont = "Big"
local CondensedFont = "Condensed"
LoadingWidget.mapNameLabel = LUI.UIText.new()
LoadingWidget.mapNameLabel:setLeftRight(true, false, HorizontalOffset, HorizontalOffset + 1)
LoadingWidget.mapNameLabel:setTopBottom(true, false, VerticalOffset, VerticalOffset + CoD.textSize[BigFont])
LoadingWidget.mapNameLabel:setFont(CoD.fonts[BigFont])
LoadingWidget.mapNameLabel:setRGB(CoD.BOIIOrange.r, CoD.BOIIOrange.g, CoD.BOIIOrange.b)
LoadingWidget.mapNameLabel:setAlpha(0)
LoadingWidget.mapNameLabel:registerEventHandler("transition_complete_map_name_fade_in", CoD.Loading.MapNameFadeInComplete)
LoadingWidget:addElement(LoadingWidget.mapNameLabel)
VerticalOffset = VerticalOffset + CoD.textSize[BigFont] - 5
LoadingWidget.mapLocationLabel = LUI.UIText.new()
LoadingWidget.mapLocationLabel:setLeftRight(true, false, HorizontalOffset, HorizontalOffset + 1)
LoadingWidget.mapLocationLabel:setTopBottom(true, false, VerticalOffset, VerticalOffset + CoD.textSize[CondensedFont])
LoadingWidget.mapLocationLabel:setFont(CoD.fonts[CondensedFont])
LoadingWidget.mapLocationLabel:setRGB(CoD.offWhite.r, CoD.offWhite.g, CoD.offWhite.b)
LoadingWidget.mapLocationLabel:setAlpha(0)
LoadingWidget.mapLocationLabel:registerEventHandler("transition_complete_map_location_fade_in", CoD.Loading.MapLocationFadeInComplete)
LoadingWidget:addElement(LoadingWidget.mapLocationLabel)
VerticalOffset = VerticalOffset + CoD.textSize[CondensedFont] - 2
LoadingWidget.gametypeLabel = LUI.UIText.new()
LoadingWidget.gametypeLabel:setLeftRight(true, false, HorizontalOffset, HorizontalOffset + 1)
LoadingWidget.gametypeLabel:setTopBottom(true, false, VerticalOffset, VerticalOffset + CoD.textSize[CondensedFont])
LoadingWidget.gametypeLabel:setFont(CoD.fonts[CondensedFont])
LoadingWidget.gametypeLabel:setRGB(CoD.offWhite.r, CoD.offWhite.g, CoD.offWhite.b)
LoadingWidget.gametypeLabel:setAlpha(0)
LoadingWidget.gametypeLabel:registerEventHandler("transition_complete_gametype_fade_in", CoD.Loading.GametypeFadeInComplete)
LoadingWidget:addElement(LoadingWidget.gametypeLabel)
VerticalOffset = VerticalOffset + CoD.textSize[CondensedFont] + 5
local DemoTitle = Engine.Localize("MPUI_TITLE_CAPS") .. ":"
local f6_local14_1, f6_local14_2, f6_local14_3, f6_local14_4 = GetTextDimensions(DemoTitle, CoD.fonts[CondensedFont], CoD.textSize[CondensedFont])
local DemoDuration = Engine.Localize("MPUI_DURATION_CAPS") .. ":"
local f6_local16_1, f6_local16_2, f6_local16_3, f6_local16_4 = GetTextDimensions(DemoDuration, CoD.fonts[CondensedFont], CoD.textSize[CondensedFont])
local DemoAuthor = Engine.Localize("MPUI_AUTHOR_CAPS") .. ":"
local f6_local18_1, f6_local18_2, f6_local18_3, f6_local18_4 = GetTextDimensions(DemoAuthor, CoD.fonts[CondensedFont], CoD.textSize[CondensedFont])
local HorizontalOffset2 = math.max(f6_local14_3, f6_local16_3, f6_local18_3) + 5
local VerticalOffset2 = 0
LoadingWidget.demoInfoContainer = LUI.UIElement.new()
LoadingWidget.demoInfoContainer:setLeftRight(true, false, HorizontalOffset, 600)
LoadingWidget.demoInfoContainer:setTopBottom(true, false, VerticalOffset, VerticalOffset + 600)
LoadingWidget.demoInfoContainer:setAlpha(0)
LoadingWidget:addElement(LoadingWidget.demoInfoContainer)
LoadingWidget.demoTitleTitle = LUI.UIText.new()
LoadingWidget.demoTitleTitle:setLeftRight(true, true, 0, 0)
LoadingWidget.demoTitleTitle:setTopBottom(true, false, VerticalOffset2, VerticalOffset2 + CoD.textSize[CondensedFont])
LoadingWidget.demoTitleTitle:setFont(CoD.fonts[CondensedFont])
LoadingWidget.demoTitleTitle:setRGB(CoD.BOIIOrange.r, CoD.BOIIOrange.g, CoD.BOIIOrange.b)
LoadingWidget.demoTitleTitle:setAlignment(LUI.Alignment.Left)
LoadingWidget.demoTitleTitle:setText(DemoTitle)
LoadingWidget.demoInfoContainer:addElement(LoadingWidget.demoTitleTitle)
LoadingWidget.demoTitleLabel = LUI.UIText.new()
LoadingWidget.demoTitleLabel:setLeftRight(true, true, HorizontalOffset2, 0)
LoadingWidget.demoTitleLabel:setTopBottom(true, false, VerticalOffset2, VerticalOffset2 + CoD.textSize[CondensedFont])
LoadingWidget.demoTitleLabel:setFont(CoD.fonts[CondensedFont])
LoadingWidget.demoTitleLabel:setRGB(CoD.offWhite.r, CoD.offWhite.g, CoD.offWhite.b)
LoadingWidget.demoTitleLabel:setAlignment(LUI.Alignment.Left)
LoadingWidget.demoInfoContainer:addElement(LoadingWidget.demoTitleLabel)
VerticalOffset2 = VerticalOffset2 + CoD.textSize[CondensedFont] - 2
LoadingWidget.demoDurationTitle = LUI.UIText.new()
LoadingWidget.demoDurationTitle:setLeftRight(true, true, 0, 0)
LoadingWidget.demoDurationTitle:setTopBottom(true, false, VerticalOffset2, VerticalOffset2 + CoD.textSize[CondensedFont])
LoadingWidget.demoDurationTitle:setFont(CoD.fonts[CondensedFont])
LoadingWidget.demoDurationTitle:setRGB(CoD.BOIIOrange.r, CoD.BOIIOrange.g, CoD.BOIIOrange.b)
LoadingWidget.demoDurationTitle:setAlignment(LUI.Alignment.Left)
LoadingWidget.demoDurationTitle:setText(DemoDuration)
LoadingWidget.demoInfoContainer:addElement(LoadingWidget.demoDurationTitle)
LoadingWidget.demoDurationLabel = LUI.UIText.new()
LoadingWidget.demoDurationLabel:setLeftRight(true, true, HorizontalOffset2, 0)
LoadingWidget.demoDurationLabel:setTopBottom(true, false, VerticalOffset2, VerticalOffset2 + CoD.textSize[CondensedFont])
LoadingWidget.demoDurationLabel:setFont(CoD.fonts[CondensedFont])
LoadingWidget.demoDurationLabel:setRGB(CoD.offWhite.r, CoD.offWhite.g, CoD.offWhite.b)
LoadingWidget.demoDurationLabel:setAlignment(LUI.Alignment.Left)
LoadingWidget.demoInfoContainer:addElement(LoadingWidget.demoDurationLabel)
VerticalOffset2 = VerticalOffset2 + CoD.textSize[CondensedFont] - 2
LoadingWidget.demoAuthorTitle = LUI.UIText.new()
LoadingWidget.demoAuthorTitle:setLeftRight(true, true, 0, 0)
LoadingWidget.demoAuthorTitle:setTopBottom(true, false, VerticalOffset2, VerticalOffset2 + CoD.textSize[CondensedFont])
LoadingWidget.demoAuthorTitle:setFont(CoD.fonts[CondensedFont])
LoadingWidget.demoAuthorTitle:setRGB(CoD.BOIIOrange.r, CoD.BOIIOrange.g, CoD.BOIIOrange.b)
LoadingWidget.demoAuthorTitle:setAlignment(LUI.Alignment.Left)
LoadingWidget.demoAuthorTitle:setText(DemoAuthor)
LoadingWidget.demoInfoContainer:addElement(LoadingWidget.demoAuthorTitle)
LoadingWidget.demoAuthorLabel = LUI.UIText.new()
LoadingWidget.demoAuthorLabel:setLeftRight(true, true, HorizontalOffset2, 0)
LoadingWidget.demoAuthorLabel:setTopBottom(true, false, VerticalOffset2, VerticalOffset2 + CoD.textSize[CondensedFont])
LoadingWidget.demoAuthorLabel:setFont(CoD.fonts[CondensedFont])
LoadingWidget.demoAuthorLabel:setRGB(CoD.offWhite.r, CoD.offWhite.g, CoD.offWhite.b)
LoadingWidget.demoAuthorLabel:setAlignment(LUI.Alignment.Left)
LoadingWidget.demoInfoContainer:addElement(LoadingWidget.demoAuthorLabel)
local f6_local21 = 3
local f6_local22 = CoD.Loading.DYKFontHeight + f6_local21 * 2
local f6_local23 = 2
local f6_local24 = f6_local22 + 1 + f6_local23 + CoD.Loading.DYKFontHeight - VerticalOffset
local f6_local25 = CoD.Menu.Width - 5 * 2
local f6_local26 = -200
local f6_local27 = 0
local f6_local28 = 2
local f6_local29 = f6_local22 - f6_local28 * 2
local f6_local30 = 6
LoadingWidget.loadingBarContainer = LUI.UIElement.new()
LoadingWidget.loadingBarContainer:setLeftRight(false, false, -f6_local25 / 2, f6_local25 / 2)
LoadingWidget.loadingBarContainer:setTopBottom(false, true, f6_local26 - f6_local24, f6_local26)
LoadingWidget.loadingBarContainer:setAlpha(0)
LoadingWidget:addElement(LoadingWidget.loadingBarContainer)
LoadingWidget.dykContainer = LUI.UIElement.new()
LoadingWidget.dykContainer:setLeftRight(true, true, 0, 0)
LoadingWidget.dykContainer:setTopBottom(true, false, f6_local27, f6_local27 + f6_local22)
LoadingWidget.dykContainer.containerHeight = f6_local22
LoadingWidget.dykContainer.textAreaWidth = f6_local25 - f6_local21 - f6_local30 - f6_local28 - f6_local29 - 1
LoadingWidget.loadingBarContainer:addElement(LoadingWidget.dykContainer)
if CoD.isZombie == false then
CoD.Loading.SetupDYKContainerImages(LoadingWidget.dykContainer)
LoadingWidget.didYouKnow = LUI.UIText.new()
LoadingWidget.didYouKnow:setLeftRight(true, true, f6_local21 + f6_local30, -f6_local28 - f6_local29 - 1)
LoadingWidget.didYouKnow:setTopBottom(true, false, f6_local21, f6_local21 + CoD.Loading.DYKFontHeight)
LoadingWidget.didYouKnow:setRGB(CoD.offWhite.r, CoD.offWhite.g, CoD.offWhite.b)
LoadingWidget.didYouKnow:setFont(CoD.Loading.DYKFont)
LoadingWidget.didYouKnow:setAlignment(LUI.Alignment.Left)
LoadingWidget.didYouKnow:setPriority(0)
LoadingWidget.dykContainer:addElement(LoadingWidget.didYouKnow)
else
f6_local30 = 0
end
f6_local27 = f6_local27 + f6_local22 + 1
LoadingWidget.spinner = LUI.UIImage.new()
LoadingWidget.spinner:setLeftRight(false, true, -f6_local28 - f6_local29, -f6_local28)
LoadingWidget.spinner:setTopBottom(false, false, -f6_local29 / 2, f6_local29 / 2)
LoadingWidget.spinner:setImage(RegisterMaterial("lui_loader_32"))
LoadingWidget.spinner:setShaderVector(0, 0, 0, 0, 0)
LoadingWidget.spinner:setAlpha(0)
LoadingWidget.dykContainer:addElement(LoadingWidget.spinner)
local f6_local31 = LUI.UIImage.new()
f6_local31:setLeftRight(true, true, 1, -1)
f6_local31:setTopBottom(true, false, f6_local27, f6_local27 + f6_local23)
f6_local31:setRGB(0.1, 0.1, 0.1)
LoadingWidget.loadingBarContainer:addElement(f6_local31)
local LoadingBarLine = LUI.UIImage.new()
LoadingBarLine:setLeftRight(true, true, 1, -1)
LoadingBarLine:setTopBottom(true, false, f6_local27, f6_local27 + f6_local23)
LoadingBarLine:setRGB(CoD.BOIIOrange.r, CoD.BOIIOrange.g, CoD.BOIIOrange.b)
LoadingBarLine:setupLoadingBar()
LoadingWidget.loadingBarContainer:addElement(LoadingBarLine)
local f6_local33 = 1
local f6_local34 = LUI.UIImage.new()
f6_local34:setLeftRight(true, true, 2, -2)
f6_local34:setTopBottom(true, false, f6_local27, f6_local27 + f6_local33)
f6_local34:setRGB(1, 1, 1)
f6_local34:setAlpha(0.5)
f6_local34:setupLoadingBar()
LoadingWidget.loadingBarContainer:addElement(f6_local34)
f6_local27 = f6_local27 + f6_local23
LoadingWidget.statusLabel = LUI.UIText.new()
LoadingWidget.statusLabel:setLeftRight(true, true, f6_local21 + f6_local30, 0)
LoadingWidget.statusLabel:setTopBottom(true, false, f6_local27, f6_local27 + CoD.Loading.DYKFontHeight)
LoadingWidget.statusLabel:setAlpha(0.55)
LoadingWidget.statusLabel:setFont(CoD.Loading.DYKFont)
LoadingWidget.statusLabel:setAlignment(LUI.Alignment.Left)
LoadingWidget.statusLabel:setupLoadingStatusText()
LoadingWidget.loadingBarContainer:addElement(LoadingWidget.statusLabel)
if UseLoadingMovie == true then
LoadingWidget.mapImage:registerEventHandler("loading_updateimage", ToggleMapImage)
LoadingWidget:addElement(LUI.UITimer.new(16, "loading_updateimage", false, LoadingWidget.mapImage))
Engine.SetDvar("ui_zm_useloadingmovie", 1)
local f6_local36 = 15
local f6_local37, f6_local38 = Engine.GetUserSafeArea()
LoadingWidget.continueButton = LUI.UIButton.new()
LoadingWidget.continueButton:setLeftRight(false, false, -f6_local37, f6_local37 / -13)
LoadingWidget.continueButton:setTopBottom(false, false, f6_local38 / 2 - CoD.textSize.Condensed - f6_local36, f6_local38 / 2 - f6_local36)
LoadingWidget.continueButton:setAlignment(LUI.Alignment.Right)
LoadingWidget.continueButton:setAlpha(0)
LoadingWidget.continueButton:setActionEventName("loading_startplay")
LoadingWidget:addElement(LoadingWidget.continueButton)
LoadingWidget.continueButton:addElement(CoD.ButtonPrompt.new("start", "", LoadingWidget, "loading_startplay", true))
LoadingWidget.continueButton.label = LUI.UIText.new()
LoadingWidget.continueButton.label:setLeftRight(true, true, 0, 0)
LoadingWidget.continueButton.label:setTopBottom(true, true, 0, 0)
LoadingWidget.continueButton.label:setFont(CoD.fonts.Condensed)
LoadingWidget.continueButton.label:setAlignment(LUI.Alignment.Right)
LoadingWidget.continueButton:addElement(LoadingWidget.continueButton.label)
LoadingWidget.continueButton.label:setText(Engine.Localize("PLATFORM_SKIP"))
LoadingWidget.continueButton:setHandleMouse(false)
LoadingWidget:registerEventHandler("loading_displaycontinue", SkipFunc)
LoadingWidget:registerEventHandler("loading_startplay", StartCinematicFunc)
else
LoadingWidget:addElement(LUI.UITimer.new(CoD.Loading.LoadingDelayTime, "start_loading", true, LoadingWidget))
LoadingWidget:addElement(LUI.UITimer.new(CoD.Loading.SpinnerDelayTime, "start_spinner", true, LoadingWidget))
end
return LoadingWidget
end
function GetMapLoadscreenName(map, gametype, location)
if map == "zm_transit" and gametype ~= "zclassic" then
gametype = "zstandard"
end
if location == "diner" then
map = "zm_transit_dr"
gametype = "zcleansed"
end
if location == "power" or location == "tunnel" or location == "cornfield" then
gametype = "zstandard"
location = "transit"
end
if location == "nuked" then
gametype = "zstandard"
end
if location == "cellblock" or location == "docks" then
gametype = "zgrief"
location = "cellblock"
end
if location == "street" or location == "maze" then
gametype = "zgrief"
location = "street"
end
return "loadscreen_" .. map .. "_" .. gametype .. "_" .. location
end
CoD.Loading.GetDidYouKnowString = function()
local TotalStrings = 0
local DidYouKnowString = ""
local RandomIndex = 0
if Engine.GameModeIsMode(CoD.GAMEMODE_THEATER) == true then
local NumberOfTheaterStrings = #CoD.Loading.DidYouKnow.theater
if NumberOfTheaterStrings ~= nil and NumberOfTheaterStrings > 0 then
DidYouKnowString = CoD.Loading.DidYouKnow.theater[math.random(NumberOfTheaterStrings)]
end
elseif CoD.isZombie == true then
local NumberOfZombieStrings = #CoD.Loading.DidYouKnow.zombies
if NumberOfZombieStrings ~= nil and NumberOfZombieStrings > 0 then
DidYouKnowString = CoD.Loading.DidYouKnow.zombies[math.random(NumberOfZombieStrings)]
end
else
local NumberOfGeneralStrings = #CoD.Loading.DidYouKnow.general
TotalStrings = TotalStrings + NumberOfGeneralStrings
local Gametype = Dvar.ui_gametype:get()
local NumberOfGametypeStrings = 0
if Gametype ~= nil and Gametype ~= "" and CoD.Loading.DidYouKnow[Gametype] then
NumberOfGametypeStrings = #CoD.Loading.DidYouKnow[Gametype]
end
TotalStrings = TotalStrings + NumberOfGametypeStrings
local NumberOfLeagueStrings = 0
local NumberOfPublicMatchStrings = 0
if Engine.GameModeIsMode(CoD.GAMEMODE_LEAGUE_MATCH) == true then
NumberOfLeagueStrings = #CoD.Loading.DidYouKnow.league
elseif Engine.GameModeIsMode(CoD.GAMEMODE_PUBLIC_MATCH) == true then
NumberOfPublicMatchStrings = #CoD.Loading.DidYouKnow.public
end
TotalStrings = TotalStrings + NumberOfLeagueStrings + NumberOfPublicMatchStrings
RandomIndex = math.random(TotalStrings)
if RandomIndex <= NumberOfGeneralStrings then
DidYouKnowString = CoD.Loading.DidYouKnow.general[RandomIndex]
elseif NumberOfGametypeStrings > 0 and RandomIndex <= NumberOfGeneralStrings + NumberOfGametypeStrings then
DidYouKnowString = CoD.Loading.DidYouKnow[Gametype][RandomIndex - NumberOfGeneralStrings]
elseif NumberOfPublicMatchStrings > 0 and RandomIndex <= NumberOfGeneralStrings + NumberOfGametypeStrings + NumberOfPublicMatchStrings then
DidYouKnowString = CoD.Loading.DidYouKnow.public[RandomIndex - NumberOfGeneralStrings - NumberOfGametypeStrings]
elseif NumberOfLeagueStrings > 0 and RandomIndex <= TotalStrings then
DidYouKnowString = CoD.Loading.DidYouKnow.league[RandomIndex - NumberOfGeneralStrings - NumberOfGametypeStrings - NumberOfPublicMatchStrings]
end
end
if DidYouKnowString == nil or DidYouKnowString == "" then
return ""
else
return Engine.Localize(DidYouKnowString)
end
end
CoD.Loading.StartLoading = function(LoadingWidget, f8_arg1)
CoD.Loading.SetMapGametypeText(LoadingWidget)
if UIExpression.IsDemoPlaying(LoadingWidget:getOwner()) ~= 0 then
local DemoAuthor = Dvar.ls_demoauthor:get()
LoadingWidget.demoTitleLabel:setText(Dvar.ls_demotitle:get())
LoadingWidget.demoDurationLabel:setText(UIExpression.SecondsAsTime(nil, Dvar.ls_demoduration:get()))
LoadingWidget.demoAuthorLabel:setText(DemoAuthor)
if DemoAuthor == "" then
LoadingWidget.demoAuthorTitle:setAlpha(0)
end
end
if CoD.isZombie == false then
local DidYouKnowString = CoD.Loading.GetDidYouKnowString()
local f8_local4_1, f8_local4_2, f8_local4_3, f8_local4_4 = GetTextDimensions(DidYouKnowString, CoD.Loading.DYKFont, CoD.Loading.DYKFontHeight)
if LoadingWidget.dykContainer.textAreaWidth < f8_local4_3 then
LoadingWidget.dykContainer:setTopBottom(true, false, -CoD.Loading.DYKFontHeight, LoadingWidget.dykContainer.containerHeight)
end
LoadingWidget.didYouKnow:setText(DidYouKnowString)
end
LoadingWidget.mapNameLabel:beginAnimation("map_name_fade_in", CoD.Loading.FadeInTime)
LoadingWidget.mapNameLabel:setAlpha(1)
end
function CoD.Loading.SetMapGametypeText(LoadingWidget)
local map = UIExpression.DvarString(nil, "ui_mapname")
local gametype = UIExpression.DvarString(nil, "ui_gametype")
local location = UIExpression.DvarString(nil, "ui_zm_mapstartlocation")
local mapNameText = CoD.Loading.GetMapNameDisplayName(map, gametype, location)
local mapLocationText = CoD.Loading.GetMapLocationDisplayName(map)
local gametypeText = CoD.Loading.GetGametypeDisplayName(gametype)
LoadingWidget.mapNameLabel:setText(mapNameText)
LoadingWidget.mapLocationLabel:setText(mapLocationText)
LoadingWidget.gametypeLabel:setText(gametypeText)
end
function CoD.Loading.GetMapNameDisplayName(map, gametype, location)
if gametype == CoD.Zombie.GAMETYPE_ZCLASSIC then
return CoD.GetZombieGameTypeDescription(gametype, map)
end
return Engine.Localize(UIExpression.TableLookup(nil, CoD.gametypesTable, 0, 5, 3, location, 4))
end
function CoD.Loading.GetMapLocationDisplayName(map)
if map == CoD.Zombie.MAP_ZM_NUKED then
return UIExpression.ToUpper(nil, Dvar.ls_mapname:get())
end
return UIExpression.ToUpper(nil, Dvar.ls_maplocation:get())
end
function CoD.Loading.GetGametypeDisplayName(gametype)
if gametype == CoD.Zombie.GAMETYPE_ZCLASSIC then
return Engine.Localize("ZMUI_ZCLASSIC_GAMEMODE_CAPS")
end
if gametype == CoD.Zombie.GAMETYPE_ZGRIEF and UIExpression.DvarString(nil, "ui_gametype_obj") ~= "" then
return Engine.Localize("ZMUI_" .. UIExpression.DvarString(nil, "ui_gametype_obj") .. "_CAPS")
end
return Engine.Localize("ZMUI_" .. gametype .. "_CAPS")
end
CoD.Loading.StartSpinner = function(LoadingWidget, f9_arg1)
LoadingWidget.spinner:beginAnimation("spinner_fade_in", 200)
LoadingWidget.spinner:setAlpha(1)
end
CoD.Loading.MapNameFadeInComplete = function(MapnameLabel)
MapnameLabel:dispatchEventToParent({
name = "fade_in_map_location",
})
end
CoD.Loading.FadeInMapLocation = function(LoadingWidget)
LoadingWidget.mapLocationLabel:beginAnimation("map_location_fade_in", CoD.Loading.FadeInTime)
LoadingWidget.mapLocationLabel:setAlpha(1)
end
CoD.Loading.MapLocationFadeInComplete = function(MapLocationLabel)
MapLocationLabel:dispatchEventToParent({
name = "fade_in_gametype",
})
end
CoD.Loading.FadeInGametype = function(LoadingWidget)
LoadingWidget.gametypeLabel:beginAnimation("gametype_fade_in", CoD.Loading.FadeInTime)
LoadingWidget.gametypeLabel:setAlpha(0.6)
end
CoD.Loading.GametypeFadeInComplete = function(GametypeLabel)
GametypeLabel:dispatchEventToParent({
name = "fade_in_map_image",
})
end
CoD.Loading.FadeInMapImage = function(LoadingWidget)
LoadingWidget.mapImage:beginAnimation("map_image_fade_in", CoD.Loading.FadeInTime)
LoadingWidget.mapImage:setRGB(1, 1, 1)
LoadingWidget.loadingBarContainer:beginAnimation("loading_bar_fade_in", CoD.Loading.FadeInTime)
LoadingWidget.loadingBarContainer:setAlpha(1)
if UIExpression.IsDemoPlaying(LoadingWidget:getOwner()) ~= 0 then
LoadingWidget.demoInfoContainer:beginAnimation("demo_info_fade_in", CoD.Loading.FadeInTime)
LoadingWidget.demoInfoContainer:setAlpha(1)
end
end
CoD.Loading.SetupDYKContainerImages = function(DYKContainer)
local BackgroundImage1 = LUI.UIImage.new()
BackgroundImage1:setLeftRight(true, true, 0, 0)
BackgroundImage1:setTopBottom(true, true, 0, 0)
BackgroundImage1:setRGB(0, 0, 0)
BackgroundImage1:setAlpha(0.52)
BackgroundImage1:setPriority(-110)
DYKContainer:addElement(BackgroundImage1)
local Border = CoD.Border.new(1, 1, 1, 1, 0.05)
Border:setPriority(-100)
DYKContainer:addElement(Border)
local BackgroundImage2 = LUI.UIImage.new()
BackgroundImage2:setLeftRight(true, true, 2, -2)
BackgroundImage2:setTopBottom(true, true, 1, -1)
BackgroundImage2:setImage(RegisterMaterial(CoD.MPZM("menu_mp_cac_grad_stretch", "menu_zm_cac_grad_stretch")))
BackgroundImage2:setRGB(0, 0, 0)
BackgroundImage2:setAlpha(0.65)
BackgroundImage2:setPriority(-80)
DYKContainer:addElement(BackgroundImage2)
local BackgroundImage3 = LUI.UIImage.new()
BackgroundImage3:setLeftRight(true, true, 3, -3)
BackgroundImage3:setTopBottom(true, false, 3, 23)
BackgroundImage3:setImage(RegisterMaterial(CoD.MPZM("menu_mp_cac_grad_stretch", "menu_zm_cac_grad_stretch")))
BackgroundImage3:setPriority(100)
BackgroundImage3:setAlpha(0.06)
DYKContainer:addElement(BackgroundImage3)
end