first commit

This commit is contained in:
2026-06-14 01:40:04 +02:00
commit 5511354783
4787 changed files with 103543 additions and 0 deletions
@@ -0,0 +1,43 @@
function AddSegment(from, seg)
{
var _loc2_ = from._x + seg * vSpacingX;
var _loc3_ = from.duplicateMovieClip(from._name + "_" + seg,vDepth++,{_x:_loc2_});
}
function FrameUpdate()
{
var _loc4_ = false;
while(!_loc4_)
{
_loc4_ = true;
var _loc3_ = _root.LoadScreenCampaign.GetPercentLoaded();
if(vCurPercent < _loc3_ && vCurPercent < 100)
{
var _loc5_ = Math.round(vNumSegments * vCurPercent / 100);
vCurPercent++;
var _loc2_ = Math.round(vNumSegments * vCurPercent / 100);
if(_loc5_ != _loc2_)
{
AddSegment(ProgressFull,_loc2_);
}
if(vCurPercent == 100)
{
clearInterval(vIntervalId);
}
else
{
_loc4_ = vCurPercent >= _loc3_;
}
}
}
}
var vCurPercent = 0;
var vNumSegments = 70;
var vSpacingX = 11;
var vDepth = 100;
var seg = 1;
while(seg <= vNumSegments)
{
AddSegment(ProgressEmpty,seg);
seg++;
}
var vIntervalId = setInterval(FrameUpdate,100);
@@ -0,0 +1 @@
var vMissionName = _root.Campaign.GetCurrentMissionTitle();
@@ -0,0 +1,2 @@
stop();
_root.LoadScreenCampaign.RegisterPlayNowBttn(StartGame);
@@ -0,0 +1 @@
_root.LoadScreenCampaign.RegisterLoadingString(LoadingString);
@@ -0,0 +1,5 @@
on(construct){
_type = "RenderImage";
_imageMap = "AptLoadScreenCampaign";
_mode = "SOLID";
}
@@ -0,0 +1 @@
Object.registerClass("LoadScreenCampaignClass",LoadScreenCampaignClass);
@@ -0,0 +1,142 @@
class AptApiClass
{
static var extern = {DoTrace:0,InGame:0,Cnc3PcDemo:0};
static var debug = new DebugClass("AptApiClass::");
static var m_aptActive = undefined;
var m_codePrefix = "";
function AptApiClass(className, screen)
{
this.m_codePrefix = "Apt" + className + "::";
AptApiClass.m_aptActive = AptApiClass.InGame();
// Checked
this.Call("RegisterScreen",screen._target);
}
static function InGame(Void)
{
if(AptApiClass.m_aptActive == undefined)
{
AptApiClass.m_aptActive = Boolean(Number(AptApiClass.extern.InGame));
}
return AptApiClass.m_aptActive;
}
function __get__Active()
{
return AptApiClass.m_aptActive;
}
function Call(func, params)
{
AptApiClass.debug.Trace("AptCall " + this.m_codePrefix + func + "(" + params + ")");
// Checked
getURL("FSCommand:" add (this.m_codePrefix + func),params);
}
function CallAbs(func, params)
{
AptApiClass.debug.Trace("CallAbs " + func + "(",params,")");
// Never used
// Checked
getURL("FSCommand:" add func,params);
}
function LoadVariables(varName, obj, convertStr)
{
if(AptApiClass.m_aptActive)
{
obj = new Object();
AptApiClass._loadVariables(this.m_codePrefix + varName,obj);
}
if(convertStr != undefined)
{
this.ConvertObjectMembers(obj,convertStr);
}
AptApiClass.debug.Dump(obj,"LoadVariables:" + varName);
return obj;
}
function ConvertObjectMembers(obj, convertStr)
{
var _loc5_ = convertStr.split(",");
var _loc6_ = _loc5_.length;
var _loc2_ = 0;
while(_loc2_ < _loc6_)
{
var _loc4_ = _loc5_[_loc2_].split("=");
var _loc1_ = _loc4_[0];
switch(_loc4_[1])
{
case "Array":
obj[_loc1_] = obj[_loc1_].split(",");
break;
case "Boolean":
obj[_loc1_] = !Number(obj[_loc1_]) ? false : true;
break;
case "Number":
obj[_loc1_] = Number(obj[_loc1_]);
break;
default:
trace("ERROR: AptLoadVariables - Unable to convert : " + _loc5_[_loc2_]);
}
_loc2_ = _loc2_ + 1;
}
}
static function _loadVariables(varName, obj)
{
// Never used
// Checked
loadVariables(varName,obj);
return obj;
}
function GetExtern(ext, testDefault)
{
var _loc2_ = undefined;
ext = this.m_codePrefix + ext;
if(AptApiClass.m_aptActive)
{
_loc2_ = AptApiClass.extern[ext];
}
else
{
if(AptApiClass.extern[ext] == undefined)
{
_loc2_ = testDefault;
}
else
{
_loc2_ = AptApiClass.extern[ext];
}
AptApiClass.debug.Trace("GetExtern(" + ext + ")=>" + _loc2_);
}
return _loc2_;
}
function SetExtern(ext, to)
{
ext = this.m_codePrefix + ext;
AptApiClass.extern[ext] = to;
AptApiClass.debug.Trace("SetExtern(" + ext + ")=>" + to);
}
function ToggleExtern(ext)
{
ext = this.m_codePrefix + ext;
var _loc2_ = !Number(AptApiClass.extern[ext]);
AptApiClass.extern[ext] = _loc2_;
return _loc2_;
}
function PlaySound(name)
{
// Checked
getURL("FSCommand:PlaySound",name);
}
function IsCnc3Demo(testDefault)
{
return !AptApiClass.InGame() ? testDefault : AptApiClass.extern.Cnc3PcDemo != "0";
}
static function EnableEngineComponents(path)
{
AptApiClass.debug.Trace("EnableEngineComponents:" + path);
// Checked
getURL("FSCommand:EnableComponents",path);
}
static function DisableEngineComponents(path)
{
AptApiClass.debug.Trace("DisableEngineComponents:" + path);
// Checked
getURL("FSCommand:DisableComponents",path);
}
}
@@ -0,0 +1,57 @@
class AptZombieClass extends MovieClip
{
static var s_classes = new Array();
static var s_objects = new Array();
static var debug = new DebugClass("AptZombieClass::");
function AptZombieClass()
{
super();
this._visible = false;
}
static function AddClass(linkageIdentifier, className)
{
AptZombieClass.s_classes.push(linkageIdentifier);
Object.registerClass(linkageIdentifier,className);
}
static function AddObject(obj)
{
AptZombieClass.debug.Trace("AddObject:" + obj);
AptZombieClass.s_objects.push(obj);
}
static function DeleteClass(className)
{
AptZombieClass.debug.Trace("DeleteClass:" + className);
Object.registerClass(className,null);
delete _global.className;
}
static function DeleteFunctions(obj)
{
AptZombieClass.debug.Trace("DeleteFunctions:" + obj._target);
for(var _loc3_ in obj)
{
var _loc1_ = typeof obj[_loc3_];
AptZombieClass.debug.Trace(" " + _loc3_ + ":" + _loc1_);
if(_loc1_ eq "movieclip")
{
AptZombieClass.DeleteFunctions(obj[_loc3_],true);
}
else if(_loc1_ eq "function")
{
delete obj.register3;
}
}
}
function onUnload()
{
var _loc1_ = 0;
while(_loc1_ < AptZombieClass.s_objects.length)
{
_loc1_ = _loc1_ + 1;
}
_loc1_ = 0;
while(_loc1_ < AptZombieClass.s_classes.length)
{
_loc1_ = _loc1_ + 1;
}
}
}
@@ -0,0 +1,39 @@
class DebugClass
{
var extern = {DoTrace:1,InGame:0};
var m_codePrefix = "";
function DebugClass()
{
}
function InitDebugClass(codePrefix)
{
this.m_codePrefix = codePrefix + ":";
this.Enable(false);
}
function Enable(enable)
{
if(!Boolean(Number(this.extern.InGame)))
{
this.extern.DoTrace = enable;
}
this.m_enabled = Boolean(Number(this.extern.DoTrace));
}
function Trace(show)
{
if(this.m_enabled)
{
trace(this.m_codePrefix + show);
}
}
function Dump(obj, msg)
{
if(this.m_enabled)
{
trace("Dump:" + msg + ":" + typeof obj);
for(var _loc3_ in obj)
{
trace("\t" + _loc3_ + ": " + obj[_loc3_] + " : " + typeof obj[_loc3_]);
}
}
}
}
@@ -0,0 +1,51 @@
class LoadScreenCampaignClass extends MovieClip
{
static var m_classRoot = "LoadScreenCampaign";
var m_playButton = undefined;
var m_loadingString = undefined;
static var debug = new DebugClass(LoadScreenCampaignClass.m_classRoot);
function LoadScreenCampaignClass()
{
super();
this.m_apt = new AptApiClass(LoadScreenCampaignClass.m_classRoot,this);
this.m_percentLoaded = 0;
}
function onUnload()
{
delete this.m_apt;
delete LoadScreenCampaignClass.debug;
AptZombieClass.DeleteFunctions(this);
AptZombieClass.DeleteClass(LoadScreenCampaignClass.m_classRoot + "Class");
}
function RegisterPlayNowBttn(bttn)
{
this.m_playButton = bttn;
this.m_playButton.ReleaseCallback = function()
{
// Checked
_root.LoadScreenCampaign.m_apt.Call("OnBttnPlayNow");
_root.LoadScreenCampaign.gotoAndPlay("_fadeOut");
};
if(!AptApiClass.InGame())
{
this._EnablePlayNow();
}
}
function RegisterLoadingString(loadingString)
{
this.m_loadingString = loadingString;
}
function GetPercentLoaded(Void)
{
return this.m_percentLoaded;
}
function _EnablePlayNow(Void)
{
this.m_playButton.SetMode("");
this.m_loadingString._visible = false;
}
function _SetPercentLoaded(percent)
{
this.m_percentLoaded = Number(percent);
}
}