package_13 alternativa.tanks.config

This commit is contained in:
Pyogenics
2025-01-26 12:29:35 +00:00
parent adc8802ec4
commit 55159f128c
15 changed files with 140 additions and 139 deletions

View File

@@ -4,9 +4,9 @@ package alternativa.tanks
import package_10.class_1;
import package_10.name_17;
import package_10.name_54;
import package_13.name_18;
import package_13.name_58;
import package_13.name_70;
import alternativa.tanks.config.Config;
import alternativa.tanks.config.BlobGroup;
import alternativa.tanks.config.BlobCategory;
import package_15.name_55;
import package_18.name_44;
import package_19.name_53;
@@ -17,13 +17,13 @@ package alternativa.tanks
{
private var gameKernel:name_17;
private var config:name_18;
private var config:Config;
private var container:DisplayObjectContainer;
private var preloader:Preloader;
public function InitBattleTask(param1:name_17, param2:name_18, param3:DisplayObjectContainer, param4:Preloader)
public function InitBattleTask(param1:name_17, param2:Config, param3:DisplayObjectContainer, param4:Preloader)
{
super(name_17.EVENT_SYSTEM_PRIORITY + 1);
this.gameKernel = param1;
@@ -50,9 +50,9 @@ package alternativa.tanks
private function createMapEntity() : name_54
{
var _loc2_:name_55 = null;
var _loc6_:name_58 = null;
var _loc6_:BlobGroup = null;
var _loc7_:String = null;
var _loc3_:name_70 = this.config.name_68.name_72("skybox");
var _loc3_:BlobCategory = this.config.name_68.name_72("skybox");
if(_loc3_ != null)
{
_loc2_ = new name_55();

View File

@@ -13,7 +13,7 @@ package alternativa.tanks
import package_10.name_54;
import package_10.name_57;
import package_100.name_301;
import package_13.name_18;
import alternativa.tanks.config.Config;
import package_15.name_275;
import package_15.name_55;
import package_18.name_102;
@@ -124,7 +124,7 @@ package alternativa.tanks
private static var log:name_160 = name_160(name_3.name_8().name_30(name_160));
private var config:name_18;
private var config:Config;
private var gameKernel:name_17;
@@ -178,7 +178,7 @@ package alternativa.tanks
private var var_80:name_293 = new name_293();
public function TankTestTask(param1:int, param2:name_18, param3:name_17, param4:name_20, param5:Preloader)
public function TankTestTask(param1:int, param2:Config, param3:name_17, param4:name_20, param5:Preloader)
{
super(param1);
this.preloader = param5;
@@ -1164,7 +1164,7 @@ import flash.media.Sound;
import flash.utils.ByteArray;
import package_10.name_17;
import package_101.name_304;
import package_13.name_172;
import alternativa.tanks.config.TextureLibrary;
import package_15.name_275;
import package_18.name_44;
import package_28.name_129;
@@ -1286,11 +1286,11 @@ class WeaponHitEffects implements class_12
class TextureResourceCache
{
private var textureLibrary:name_172;
private var textureLibrary:TextureLibrary;
private var cache:Object = {};
public function TextureResourceCache(param1:name_172)
public function TextureResourceCache(param1:TextureLibrary)
{
super();
this.textureLibrary = param1;
@@ -1320,11 +1320,11 @@ class TextureResourceCache
class MultiBitmapTextureResourceCache
{
private var textureLibrary:name_172;
private var textureLibrary:TextureLibrary;
private var cache:Object = {};
public function MultiBitmapTextureResourceCache(param1:name_172)
public function MultiBitmapTextureResourceCache(param1:TextureLibrary)
{
super();
this.textureLibrary = param1;

View File

@@ -0,0 +1,35 @@
package alternativa.tanks.config
{
public class BlobCategory
{
private var groups:Object;
public function BlobCategory()
{
super();
this.groups = new Object();
}
public function get method_215() : Vector.<String>
{
var _loc2_:String = null;
var _loc1_:Vector.<String> = new Vector.<String>();
for(_loc2_ in this.groups)
{
_loc1_.push(_loc2_);
}
return _loc1_;
}
public function name_62(param1:String) : BlobGroup
{
return this.groups[param1];
}
public function method_214(param1:String, param2:BlobGroup) : void
{
this.groups[param1] = param2;
}
}
}

View File

@@ -0,0 +1,37 @@
package alternativa.tanks.config
{
import flash.utils.ByteArray;
public class BlobGroup
{
private var blobs:Object;
public function BlobGroup()
{
super();
this.blobs = new Object();
}
public function get method_219() : Vector.<String>
{
var _loc2_:String = null;
var _loc1_:Vector.<String> = new Vector.<String>();
for(_loc2_ in this.blobs)
{
_loc1_.push(_loc2_);
}
return _loc1_;
}
public function name_65(param1:String) : ByteArray
{
return this.blobs[param1];
}
public function method_218(param1:String, param2:ByteArray) : void
{
this.blobs[param1] = param2;
}
}
}

View File

@@ -0,0 +1,35 @@
package alternativa.tanks.config
{
public class BlobLibrary
{
private var var_199:Object;
public function BlobLibrary()
{
super();
this.var_199 = new Object();
}
public function get method_327() : Vector.<String>
{
var _loc2_:String = null;
var _loc1_:Vector.<String> = new Vector.<String>();
for(_loc2_ in this.var_199)
{
_loc1_.push(_loc2_);
}
return _loc1_;
}
public function name_72(param1:String) : BlobCategory
{
return this.var_199[param1];
}
public function method_326(param1:String, param2:BlobCategory) : void
{
this.var_199[param1] = param2;
}
}
}

View File

@@ -0,0 +1,198 @@
package alternativa.tanks.config
{
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.utils.ByteArray;
import package_15.name_55;
import package_40.class_7;
import package_40.name_169;
import package_40.name_170;
import package_40.name_171;
import package_41.name_173;
import package_41.name_175;
[Event(name="complete",type="flash.events.Event")]
public class Config extends EventDispatcher
{
public var mapData:name_55;
public var var_37:TextureLibrary;
public var tankParts:TankPartsLibrary;
public var soundsLibrary:name_173;
public var name_68:BlobLibrary = new BlobLibrary();
private var var_35:XML;
private var var_34:name_170;
private var preloader:Preloader;
private var var_36:Object = {};
public function Config()
{
super();
}
public function load(param1:String, param2:Preloader) : void
{
this.preloader = param2;
this.var_34 = new name_170();
var _loc3_:ConfigXMLLoader = new ConfigXMLLoader(param1,this);
this.var_34.addTask(_loc3_);
_loc3_.addEventListener(name_169.TASK_COMPLETE,this.onTaskProgress);
var _loc4_:name_175 = new name_175(this);
this.var_34.addTask(_loc4_);
_loc4_.addEventListener(name_169.TASK_PROGRESS,this.onTaskProgress);
this.var_37 = new TextureLibrary(this);
this.var_37.addEventListener(name_169.TASK_PROGRESS,this.onTaskProgress);
this.var_34.addTask(this.var_37);
var _loc5_:class_7 = this.createMapLoadTask();
this.var_34.addTask(_loc5_);
_loc5_.addEventListener(name_169.TASK_COMPLETE,this.onTaskProgress);
this.tankParts = new TankPartsLibrary(this);
this.tankParts.addEventListener(name_169.TASK_PROGRESS,this.onTaskProgress);
this.var_34.addTask(this.tankParts);
this.soundsLibrary = new name_173(this);
this.soundsLibrary.addEventListener(name_169.TASK_PROGRESS,this.onTaskProgress);
this.var_34.addTask(this.soundsLibrary);
this.var_34.addEventListener(Event.COMPLETE,this.onSequenceComplete);
this.var_34.run();
}
private function onTaskProgress(param1:name_169) : void
{
this.preloader.method_82(param1.progress / param1.total * 0.1);
}
public function name_67() : String
{
return this.xml.map.@skybox;
}
public function get xml() : XML
{
return this.var_35;
}
public function set xml(param1:XML) : void
{
this.var_35 = param1;
this.parseOptions();
}
public function get options() : Object
{
return this.var_36;
}
public function clear() : void
{
var _loc1_:* = undefined;
for(_loc1_ in this.mapData.data)
{
delete this.mapData.data[_loc1_];
}
this.var_35 = null;
this.mapData = null;
}
private function createMapLoadTask() : class_7
{
return new MapLoadTask(this,this.setMapData);
}
private function onSequenceComplete(param1:Event) : void
{
this.var_34 = null;
dispatchEvent(new Event(Event.COMPLETE));
}
private function setMapData(param1:ByteArray) : void
{
var _loc2_:name_171 = new name_171(param1);
this.mapData = new name_55(_loc2_.data);
}
private function parseOptions() : void
{
var _loc1_:XML = null;
for each(_loc1_ in this.var_35.kernelOptions.option)
{
this.var_36[_loc1_.@name] = _loc1_.toString();
}
}
}
}
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.utils.ByteArray;
import package_40.class_7;
class ConfigXMLLoader extends class_7
{
private var config:Config;
private var loader:URLLoader;
private var url:String;
public function ConfigXMLLoader(param1:String, param2:Config)
{
super();
this.url = param1;
this.config = param2;
}
override public function run() : void
{
this.loader = new URLLoader();
this.loader.addEventListener(Event.COMPLETE,this.onLoadingComplete);
this.loader.load(new URLRequest(this.url));
}
private function onLoadingComplete(param1:Event) : void
{
this.config.xml = XML(this.loader.data);
this.loader = null;
method_102();
}
}
class MapLoadTask extends class_7
{
private var callback:Function;
private var config:Config;
private var loader:URLLoader;
public function MapLoadTask(param1:Config, param2:Function)
{
super();
this.config = param1;
this.callback = param2;
}
override public function run() : void
{
this.loader = new URLLoader();
this.loader.dataFormat = URLLoaderDataFormat.BINARY;
this.loader.addEventListener(Event.COMPLETE,this.onLoadingComplete);
this.loader.load(new URLRequest(this.config.xml.map.@url));
}
private function onLoadingComplete(param1:Event) : void
{
this.callback.call(null,ByteArray(this.loader.data));
this.loader = null;
method_102();
}
}

View File

@@ -0,0 +1,19 @@
package alternativa.tanks.config
{
import package_40.class_7;
public class ResourceLoader extends class_7
{
public var config:Config;
public var name:String;
public function ResourceLoader(param1:String, param2:Config)
{
super();
this.config = param2;
this.name = param1;
}
}
}

View File

@@ -0,0 +1,20 @@
package alternativa.tanks.config
{
public class StringUtils
{
public function StringUtils()
{
super();
}
public static function name_460(param1:String) : String
{
if(Boolean(param1) && param1.charAt(param1.length - 1) != "/")
{
return param1 + "/";
}
return param1;
}
}
}

View File

@@ -0,0 +1,167 @@
package alternativa.tanks.config
{
import flash.display.BitmapData;
import flash.events.Event;
import package_112.name_463;
import package_112.name_464;
import package_40.name_169;
import package_41.name_461;
import package_41.name_462;
import package_71.name_234;
import package_71.name_249;
import package_71.name_333;
public class TankPartsLibrary extends ResourceLoader
{
private var var_196:Vector.<name_333>;
private var var_197:Vector.<name_333>;
private var var_198:Vector.<BitmapData>;
private var var_194:name_461;
private var var_195:name_462;
public function TankPartsLibrary(param1:Config)
{
super("Tank parts library",param1);
}
public function get name_300() : int
{
return this.var_196.length;
}
public function name_351(param1:int) : name_249
{
return name_249(this.var_196[param1]);
}
public function name_353(param1:String) : name_249
{
return this.findPartByID(param1,this.var_196) as name_249;
}
public function name_350(param1:String) : int
{
return this.getPartIndex(param1,this.var_196);
}
public function get name_302() : int
{
return this.var_197.length;
}
public function name_336(param1:int) : name_234
{
return name_234(this.var_197[param1]);
}
public function name_331(param1:String) : name_234
{
return this.findPartByID(param1,this.var_197) as name_234;
}
public function name_338(param1:String) : int
{
return this.getPartIndex(param1,this.var_197);
}
public function get method_325() : int
{
return this.var_198.length;
}
public function name_347(param1:int) : BitmapData
{
return this.var_198[param1];
}
override public function run() : void
{
this.loadHulls();
}
private function findPartByID(param1:String, param2:Vector.<name_333>) : name_333
{
var _loc3_:name_333 = null;
for each(_loc3_ in param2)
{
if(_loc3_.id == param1)
{
return _loc3_;
}
}
return null;
}
private function getPartIndex(param1:String, param2:Vector.<name_333>) : int
{
var _loc4_:name_333 = null;
var _loc3_:int = 0;
while(_loc3_ < param2.length)
{
_loc4_ = param2[_loc3_];
if(_loc4_.id == param1)
{
return _loc3_;
}
_loc3_++;
}
return -1;
}
private function loadHulls() : void
{
this.var_194 = new name_461();
this.var_194.addEventListener(Event.COMPLETE,this.onHullsLoadingComplete);
this.var_194.load(this.getBaseUrl(),config.xml.tankParts.hull,new name_463());
}
private function onHullsLoadingComplete(param1:Event) : void
{
dispatchEvent(new name_169(name_169.TASK_PROGRESS,1,3));
this.var_194.removeEventListener(Event.COMPLETE,this.onHullsLoadingComplete);
this.var_196 = this.var_194.parts;
this.loadTurrets();
}
private function loadTurrets() : void
{
this.var_194.addEventListener(Event.COMPLETE,this.onTurretsLoadingComplete);
this.var_194.load(this.getBaseUrl(),config.xml.tankParts.turret,new name_464());
}
private function onTurretsLoadingComplete(param1:Event) : void
{
dispatchEvent(new name_169(name_169.TASK_PROGRESS,1,3));
this.var_194.removeEventListener(Event.COMPLETE,this.onTurretsLoadingComplete);
this.var_197 = this.var_194.parts;
this.var_194 = null;
this.loadColormaps();
}
private function loadColormaps() : void
{
this.var_195 = new name_462();
this.var_195.addEventListener(Event.COMPLETE,this.onColormapsLoadingComplete);
this.var_195.load(StringUtils.name_460(config.xml.colorings.@baseUrl),config.xml.colorings.image);
}
private function onColormapsLoadingComplete(param1:Event) : void
{
dispatchEvent(new name_169(name_169.TASK_PROGRESS,1,3));
this.var_198 = this.var_195.images;
this.var_195.removeEventListener(Event.COMPLETE,this.onColormapsLoadingComplete);
this.var_195 = null;
method_102();
}
private function getBaseUrl() : String
{
return StringUtils.name_460(config.xml.tankParts.@baseUrl);
}
}
}

View File

@@ -0,0 +1,143 @@
package alternativa.tanks.config
{
import flash.display.BitmapData;
import flash.events.Event;
import package_40.name_169;
import package_40.name_170;
public class TextureLibrary extends ResourceLoader
{
private var textures:Object = {};
private var var_193:BitmapData;
private var var_34:name_170;
public function TextureLibrary(param1:Config)
{
super("Texture library loader",param1);
}
public function name_244(param1:String) : Object
{
return this.textures[param1] || this.getDummyTexture();
}
public function method_310(param1:String, param2:Object) : void
{
this.textures[param1] = param2;
}
override public function run() : void
{
var _loc3_:XML = null;
var _loc1_:XML = config.xml.textures[0];
var _loc2_:String = StringUtils.name_460(_loc1_.@baseUrl);
this.var_34 = new name_170();
for each(_loc3_ in _loc1_.texture)
{
this.var_34.addTask(new TextureLoader(_loc3_.@id,_loc2_ + _loc3_.@url,this));
}
this.var_34.addEventListener(name_169.TASK_COMPLETE,this.onTaskComplete);
this.var_34.addEventListener(Event.COMPLETE,this.onSequenceComplete);
this.var_34.run();
}
private function onTaskComplete(param1:name_169) : void
{
dispatchEvent(new name_169(name_169.TASK_PROGRESS,1,this.var_34.length));
}
private function onSequenceComplete(param1:Event) : void
{
this.var_34 = null;
method_102();
}
private function getDummyTexture() : BitmapData
{
var _loc1_:int = 0;
var _loc2_:uint = 0;
var _loc3_:int = 0;
var _loc4_:int = 0;
if(this.var_193 == null)
{
_loc1_ = 128;
_loc2_ = 16711935;
this.var_193 = new BitmapData(_loc1_,_loc1_,false,0);
_loc3_ = 0;
while(_loc3_ < _loc1_)
{
_loc4_ = 0;
while(_loc4_ < _loc1_)
{
this.var_193.setPixel(Boolean(_loc3_ % 2) ? _loc4_ : _loc4_ + 1,_loc3_,_loc2_);
_loc4_ += 2;
}
_loc3_++;
}
}
return this.var_193;
}
}
}
import flash.display.Bitmap;
import flash.display.Loader;
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.utils.ByteArray;
import package_40.class_7;
class TextureLoader extends class_7
{
private var id:String;
private var url:String;
private var library:TextureLibrary;
private var loader:Loader;
private var urlLoader:URLLoader;
public function TextureLoader(param1:String, param2:String, param3:TextureLibrary)
{
super();
this.id = param1;
this.url = param2;
this.library = param3;
}
override public function run() : void
{
if(this.url.indexOf(".atf") > 0)
{
this.urlLoader = new URLLoader();
this.urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
this.urlLoader.addEventListener(Event.COMPLETE,this.onLoadingCompressedComplete);
this.urlLoader.load(new URLRequest(this.url));
}
else
{
this.loader = new Loader();
this.loader.contentLoaderInfo.addEventListener(Event.COMPLETE,this.onLoadingComplete);
this.loader.load(new URLRequest(this.url));
}
}
private function onLoadingCompressedComplete(param1:Event) : void
{
this.library.method_310(this.id,ByteArray(this.urlLoader.data));
method_102();
}
private function onLoadingComplete(param1:Event) : void
{
this.library.method_310(this.id,Bitmap(this.loader.content).bitmapData);
method_102();
}
}