[Tools][Expand/Collapse All]Note that automatic extraction of ActionScript 3 is still pretty much unsupported by swfchan. AS1/AS2 works okay most of the time.Frame 1 (6.25 KiB) ● ●
function onLoadComplete(target) {
host_loaded();
}
function host_loaded() {
status_text.status.text = "SEARCHING FOR\nLIVE FEED";
status_text.fld_refresh._visible = false;
status_text.fld_minutes._visible = false;
status_text._visible = true;
safetyInterval = setInterval(packetTimeout, connectionTimeoutLength);
}
function onXML(event) {
var _local1 = parser.deserialize(event.xml);
for (var _local4 in _local1) {
myTrace((_local4 + " :: ") + _local1[_local4]);
for (var _local2 in _local1[_local4]) {
myTrace((("------->" + _local2) + " :: ") + _local1[_local4][_local2]);
}
}
if (_local1.NUMCLIENTS != undefined) {
var _local5 = new Number(_local1.NUMCLIENTS) - 1;
fld_source.text = ((_local5 + " other user") + ((_local5 == 1) ? "" : "s")) + " listening.";
return(undefined);
}
if (typeIs("transmission", _local1)) {
broadcastFound();
var _local3 = _local1.transmission;
if (_local3.host == request_host) {
if (_local3.source != undefined) {
fld_source.text = "DATA SOURCE: " + _local3.source;
} else {
fld_source.text = "DATA SOURCE: HIDDEN";
}
setRefreshRate(_local3.refreshRate);
if (_local3.title != undefined) {
fld_title.text = _local3.title;
}
if (_local3.description != undefined) {
fld_description.text = _local3.description;
}
hostController.showBeginTransmission();
}
} else if (typeIs("packet", _local1)) {
broadcastFound();
var _local6 = _local1.packet;
if (_local6.host == request_host) {
hostController.read(_local6.value);
}
} else if (typeIs("end_of_transmission", _local1)) {
broadcastFound();
var _local6 = _local1.packet;
if (_local6.host == request_host) {
hostController.showEndTransmission();
}
}
}
function typeIs(type, obj) {
return(obj[type] != undefined);
}
function broadcastFound() {
clearInterval(safetyInterval);
}
function myTrace(str) {
debug.text = (debug.text + str) + newline;
}
function onClockTick(event) {
var _local1 = event.date;
var _local6 = _local1.getMonth() + 1;
var _local5 = _local1.getDate();
var _local7 = new String(_local1.getYear()).substring(1);
var _local2 = _local1.getHours() + hoursOffset;
if (_local2 > 24) {
_local2 = _local2 - 24;
}
var _local4 = _local1.getMinutes();
var _local3 = _local1.getSeconds();
fld_system_time.text = ((((((((((_local2 + ":") + ((_local4 < 10) ? ("0" + _local4) : (_local4))) + ":") + ((_local3 < 10) ? ("0" + _local3) : (_local3))) + " ") + _local6) + "/") + _local5) + "/") + _local7) + " [LIVE]";
debug.scroll++;
refreshCountdown();
}
function refreshCountdown() {
var _local1 = refreshRate.split(":");
if ((_local1[1]--) == 0) {
_local1[1] = 59;
if ((_local1[0]--) == 0) {
EventBroadcaster.getInstance().broadcastEvent({type:"onCountdownEnd"});
}
}
if (new String(_local1[1]).length == 1) {
_local1[1] = "0" + _local1[1];
}
if (new String(_local1[0]).length == 1) {
_local1[0] = "0" + _local1[0];
}
refreshRate = _local1.join(":");
hostController.setRefreshRate(refreshRate);
}
function setRefreshRate(rate) {
refreshRate = rate;
}
function packetTimeout() {
clearInterval(safetyInterval);
EventBroadcaster.getInstance().broadcastEvent({type:"onConnectTimeout"});
}
function onConnectTimeout() {
myTrace("");
myTrace("###LOADING SAFETY STREAM###");
myTrace("");
mon.disconnect();
packetRate = {a:8, b:6, c:8};
parcelPause = {a:6, b:11, c:10.5};
lv = new LoadVars();
lv.onLoad = onLoadVars;
var _local1 = ("streams/host_" + request_host) + "_stream.txt";
lv.load(_local1);
}
function onLoadVars(success) {
myTrace("safety stream loaded :: " + success);
if (success) {
fld_source.text = "DATA SOURCE: PRERECORDED STREAM";
hostController.showBeginTransmission();
var _local2 = new String(lv.stream).split("----------");
_local2.sort(shuffle);
var _local3 = _local2.length;
var _local1 = 0;
while (_local1 < _local3) {
_local2[_local1] = new String(_local2[_local1]).split(".");
_local1++;
}
parcelInt = setInterval(startSafetyStream, parcelPause[request_host] * 1000, _local2);
}
}
function startSafetyStream(stream) {
clearInterval(parcelInt);
distributor = new TimedPacketDistributor(packetRate[request_host] * 1000);
EventBroadcaster.getInstance().addListener("onDistributePacket", _level0);
EventBroadcaster.getInstance().addListener("onEndDistribution", _level0);
distributor.distribute(stream, true);
}
function onDistributePacket(event) {
myTrace("packet :: " + event.packet);
hostController.read(event.packet);
}
function onEndDistribution(event) {
myTrace("End of prerecorded stream");
hostController.showEndTransmission();
restartInterval = setInterval(restartSafetyStream, restartPauseLengthMS);
_level0.setRefreshRate(restartPauseLengthString);
}
function restartSafetyStream() {
clearInterval(restartInterval);
onConnectTimeout();
}
function shuffle(a, b) {
return(Math.floor(Math.random() * 2));
}
if (request_host == undefined) {
request_host = "c";
}
if (request_port == undefined) {
request_port = "50000";
}
if (request_hostIP == undefined) {
request_hostIP = "www.turbulence.org";
}
hoursOffset = ((request_serverTimeOffset == undefined) ? (new Date().getTimezoneOffset() / 60) : (request_serverTimeOffset));
connectionTimeoutLength = 30000;
status_text._visible = false;
var mon = new XMLSocketMon(request_hostIP, request_port, true);
var parser = new XMLNodeParser();
var crypt = new Crypto();
var clock = new Clock();
var hostController = new HostController();
hostController.hostClip = "video";
hostController.hostContainerClip = "host_holder";
var hostSwf = (("assets/host_" + request_host) + ".swf");
var mcl = new MovieClipLoader();
mcl.addListener(_level0);
mcl.loadClip(hostSwf, _level0.host_holder);
var safetyInterval;
_level0.createEmptyMovieClip("snds_holder", _level0.getNextHighestDepth());
EventBroadcaster.getInstance().addListener("onClockTick", this);
EventBroadcaster.getInstance().addListener("onXML", this);
mon.connect();
EventBroadcaster.getInstance().addListener("onConnectTimeout", this);
var lv;
var parcelInt;
var distributor;
var packetRate;
var parcelPause;
var restartInterval;
var restartPauseLengthMS = 150000;
var restartPauseLengthString = "2:30";
Symbol 39 MovieClip [__Packages.HostController] Frame 0 (4.19 KiB) ●
class HostController
{
var frameNames, stutterer, noise, ambientSounds, stutterSounds, __hostClip, __hostContainerClip, buffer, bufferPos, bg_sound, stutterSoundNum;
function HostController (p_host) {
if (p_host != undefined) {
hostClip = (p_host);
}
frameNames = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
stutterer = new StutterController(15);
stutterer.maxFrames = 5;
stutterer.maxLoops = 10;
noise = new StaticController(30);
ambientSounds = new SoundController(["high", "rhythmic", "rf"], 10);
startAmbientSounds();
stutterSounds = new SoundController(["high", "tick_tock", "morse"], 25);
var _local2 = _level0.createEmptyMovieClip("bg_sound_mc", _level0.getNextHighestDepth());
EventBroadcaster.getInstance().addListener("onNumberSpoken", this);
EventBroadcaster.getInstance().addListener("onStutter", this);
EventBroadcaster.getInstance().addListener("onStutterEnd", this);
EventBroadcaster.getInstance().addListener("onEndTransmission", this);
}
function set hostClip(p_hostClip) {
__hostClip = p_hostClip;
//return(hostClip);
}
function get hostClip() {
return(__hostClip);
}
function get hostContainerClip() {
return(__hostContainerClip);
}
function set hostContainerClip(p_hostContainerClip) {
__hostContainerClip = p_hostContainerClip;
//return(hostContainerClip);
}
function read(input, startPos) {
resetStatusText(false);
buffer = new String(input);
bufferPos = ((startPos == undefined) ? 0 : -1);
speakNum(bufferPos++);
attachSound();
stopAmbientSounds();
}
function attachSound() {
bg_sound = new Sound(_level0.bg_sound_mc);
bg_sound.attachSound("morse");
bg_sound.setVolume(10);
startBGSound();
}
function startBGSound() {
bg_sound.stop();
bg_sound.start(0, 99);
}
function startAmbientSounds() {
ambientSounds.startSoundAt(Math.floor(Math.random() * 3), 0, 99);
ambientSounds.startSoundAt(Math.floor(Math.random() * 3), 0, 99);
}
function stopAmbientSounds() {
ambientSounds.stopAllSounds();
}
function onNumberSpoken(event) {
if (event.label != undefined) {
switch (event.label) {
case "end_of_transmission" :
resetStatusText(true);
moveHead(_level0[hostContainerClip][hostClip], "end_of_transmission");
break;
default :
speakNum(bufferPos++);
}
} else {
speakNum(bufferPos++);
}
}
function speakNum(pos) {
noise.setDrawParams(_level0[hostContainerClip][hostClip]);
if (pos == -1) {
showBeginTransmission();
} else if (pos > (buffer.length - 1)) {
stutterer.registerPhrase();
noise.registerPhrase();
moveHead(_level0[hostContainerClip][hostClip], "mark");
} else {
stutterer.registerPhrase();
noise.registerPhrase();
var _local3 = buffer.charAt(pos);
var _local2 = frameNames[new Number(_local3)];
if (_local3 == ".") {
_local2 = "mark";
}
moveHead(_level0[hostContainerClip][hostClip], _local2);
}
}
function moveHead(clip, frame) {
clip.gotoAndPlay(frame);
}
function onStutter(event) {
var _local2 = _level0[hostContainerClip][hostClip]._currentFrame - 1;
moveHead(_level0[hostContainerClip][hostClip], _local2);
stutterSoundNum = Math.floor(Math.random() * 3);
stutterSounds.stutterSoundAt(stutterSoundNum);
}
function onStutterEnd(event) {
stutterSounds.stopStutterAt(stutterSoundNum);
stutterSounds.stopAllSounds();
}
function resetStatusText(onOrOff) {
_level0.status_text._visible = onOrOff;
_level0.status_text.status.text = "NUMBERS PROGRAM WILL COMMENCE AGAIN IN";
_level0.status_text.fld_refresh._visible = true;
_level0.status_text.fld_minutes._visible = true;
}
function showBeginTransmission() {
resetStatusText(false);
moveHead(_level0[hostContainerClip][hostClip], "start_transmission");
noise.registerPhrase();
}
function showEndTransmission() {
stutterer.registerPhrase();
noise.registerPhrase();
moveHead(_level0[hostContainerClip][hostClip], "end_of_transmission");
startAmbientSounds();
}
function onEndTransmission(event) {
resetStatusText(true);
}
function setRefreshRate(rate) {
_level0.status_text.fld_refresh.text = rate;
}
}
Symbol 40 MovieClip [__Packages.StutterController] Frame 0 (1.52 KiB) ●
class StutterController
{
var stutterPct, startStutterInterval, stutterLength, maxLoops, stutterFrames, maxFrames, stutterInterval, loopNum, endStutterInterval;
function StutterController (p_stutterPct) {
if (p_stutterPct != undefined) {
stutterPct = p_stutterPct;
}
EventBroadcaster.getInstance().addListener("onNumberSpoken", this);
}
function registerPhrase() {
if ((Math.random() * 100) < stutterPct) {
setStutterFrames();
setStutterStart();
setStutterLength();
}
}
function onNumberSpoken(event) {
endStutter();
}
function setStutterStart() {
var _local2 = Math.floor(Math.random() * 32) * 41.66;
startStutterInterval = setInterval(this, "startStutter", _local2);
}
function setStutterLength() {
stutterLength = Math.floor(Math.random() * maxLoops);
}
function setStutterFrames() {
stutterFrames = Math.floor(Math.random() * maxFrames);
}
function startStutter() {
var _local2 = Math.ceil(stutterFrames * 41.66);
stutterInterval = setInterval(this, "stutter", _local2);
loopNum = 0;
clearInterval(startStutterInterval);
}
function endStutter() {
clearInterval(stutterInterval);
clearInterval(endStutterInterval);
delete stutterInterval;
delete endStutterInterval;
EventBroadcaster.getInstance().broadcastEvent({type:"onStutterEnd"});
}
function stutter() {
if ((loopNum++) <= stutterFrames) {
EventBroadcaster.getInstance().broadcastEvent({type:"onStutter", stutterFrames:stutterFrames});
} else {
endStutter();
}
}
}
Symbol 41 MovieClip [__Packages.EventBroadcaster] Frame 0 (496 B)
class EventBroadcaster
{
static var eventBroadcaster;
var dispatchEvent, addEventListener;
function EventBroadcaster () {
mx.events.EventDispatcher.initialize(this);
}
static function getInstance() {
if (eventBroadcaster == undefined) {
eventBroadcaster = new EventBroadcaster();
}
return(eventBroadcaster);
}
function broadcastEvent(event) {
dispatchEvent(event);
}
function addListener(eventName, handler) {
addEventListener(eventName, handler);
}
}
Symbol 42 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0 (2.02 KiB) ●
class mx.events.EventDispatcher
{
function EventDispatcher () {
}
static function _removeEventListener(queue, event, handler) {
if (queue != undefined) {
var _local4 = queue.length;
var _local1;
_local1 = 0;
while (_local1 < _local4) {
var _local2 = queue[_local1];
if (_local2 == handler) {
queue.splice(_local1, 1);
return(undefined);
}
_local1++;
}
}
}
static function initialize(object) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = _fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchQueue(queueObj, eventObj) {
var _local7 = "__q_" + eventObj.type;
var _local4 = queueObj[_local7];
if (_local4 != undefined) {
var _local5;
for (_local5 in _local4) {
var _local1 = _local4[_local5];
var _local3 = typeof(_local1);
if ((_local3 == "object") || (_local3 == "movieclip")) {
if (_local1.handleEvent == undefined) {
_local1[eventObj.type](eventObj);
} else {
_local1.handleEvent(eventObj);
}
} else {
_local1.apply(queueObj, [eventObj]);
}
}
}
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(this, eventObj);
}
function addEventListener(event, handler) {
var _local3 = "__q_" + event;
if (this[_local3] == undefined) {
this[_local3] = new Array();
}
_global.ASSetPropFlags(this, _local3, 1);
_removeEventListener(this[_local3], event, handler);
this[_local3].push(handler);
}
function removeEventListener(event, handler) {
var _local2 = "__q_" + event;
_removeEventListener(this[_local2], event, handler);
}
static var _fEventDispatcher = undefined;
}
Symbol 43 MovieClip [__Packages.StaticController] Frame 0 (1.3 KiB) ●
class StaticController
{
var noise, snd, noisePct, drawParamsSet, startNoiseInterval, noiseFrames, stutterSndNum;
function StaticController (p_noisePct) {
noise = new VisualEffects();
snd = new SoundController(["finder", "rom", "tick_tock", "morse"], 25);
if (p_noisePct != undefined) {
noisePct = p_noisePct;
}
EventBroadcaster.getInstance().addListener("onNumberSpoken", this);
EventBroadcaster.getInstance().addListener("onNoiseEnd", this);
drawParamsSet = false;
}
function registerPhrase(p_drawClip) {
if ((Math.random() * 100) < noisePct) {
setNoiseFrames();
setNoiseStart();
}
}
function setDrawParams(p_drawClip) {
if (!drawParamsSet) {
noise.setDrawParams(p_drawClip);
drawParamsSet = true;
}
}
function onNumberSpoken(event) {
clearInterval(startNoiseInterval);
}
function setNoiseFrames() {
noiseFrames = Math.floor(Math.random() * 8);
}
function setNoiseStart() {
var _local2 = Math.floor(Math.random() * 12) * 41.66;
startNoise();
}
function startNoise() {
clearInterval(startNoiseInterval);
noise.makeNoise(8, Math.random() * 50, noiseFrames);
stutterSndNum = Math.floor(Math.random() * 4);
snd.stutterSoundAt(stutterSndNum);
}
function onNoiseEnd(event) {
snd.stopStutterAt(stutterSndNum);
}
}
Symbol 44 MovieClip [__Packages.VisualEffects] Frame 0 (2.56 KiB) ●
class VisualEffects
{
var noiseCells, draw_mc, bounds, draw_wid, draw_ht, numFrames, currFrame, drawInterval, randomColorsArray;
function VisualEffects (p_drawClip) {
if (p_drawClip != undefined) {
setDrawParams(p_drawClip);
}
noiseCells = new Array();
buildRandomColorsArray(255);
}
function setDrawParams(p_drawClip) {
var _local3 = p_drawClip._parent.getNextHighestDepth();
draw_mc = p_drawClip._parent.createEmptyMovieClip("__fx_mc", _local3 + 1);
bounds = p_drawClip.getBounds();
draw_mc._x = bounds.xMin;
draw_mc._y = bounds.yMin;
draw_wid = bounds.xMax - bounds.xMin;
draw_ht = bounds.yMax - bounds.yMin;
}
function makeNoise(cellSize, fillPct, p_numFrames) {
numFrames = p_numFrames;
currFrame = 0;
var _local7 = Math.floor(draw_ht / cellSize);
var _local5 = 0;
while (_local5 < _local7) {
var _local2 = 0;
while (_local2 < draw_wid) {
if (makeCell(fillPct)) {
var _local3 = new NoiseCell(draw_mc);
_local3.setBounds(_local2, _local5 * cellSize, cellSize, cellSize);
_local3.setFill(makeColor(), 100);
noiseCells.push(_local3);
}
_local2 = _local2 + cellSize;
}
_local5++;
}
clearInterval(drawInterval);
delete drawInterval;
drawInterval = setInterval(this, "drawNoise", 41);
}
function makeCell(fillPct) {
var _local1 = false;
if ((Math.random() * 100) < fillPct) {
_local1 = true;
}
return(_local1);
}
function makeColor() {
return(parseInt("0x" + randomColorsArray[Math.floor(Math.random() * randomColorsArray.length)]));
}
function drawNoise() {
draw_mc.clear();
if ((currFrame++) < numFrames) {
var _local2 = 0;
while (_local2 < noiseCells.length) {
noiseCells[_local2].drawCell();
_local2++;
}
} else {
clearNoise();
}
}
function clearNoise() {
draw_mc.clear();
noiseCells = new Array();
clearInterval(drawInterval);
EventBroadcaster.getInstance().broadcastEvent({type:"onNoiseEnd"});
}
function buildRandomColorsArray(numColors) {
randomColorsArray = new Array();
var _local2 = 0;
while (_local2 < numColors) {
randomColorsArray.push(buildRandomColor());
_local2++;
}
}
function buildRandomColor() {
var _local3 = "";
var _local2 = 0;
while (_local2 < 6) {
_local3 = _local3 + getRandomHexValue();
_local2++;
}
return(_local3);
}
function getRandomHexValue() {
return(hexValuesArray[Math.floor(Math.random() * 16)]);
}
var hexValuesArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "A", "B", "C", "D", "E", "F"];
}
Symbol 45 MovieClip [__Packages.NoiseCell] Frame 0 (553 B)
class NoiseCell extends Object
{
var parent_mc, __x, __y, __ht, __wid, __clr, __alpha;
function NoiseCell (p_parent_mc) {
super();
parent_mc = p_parent_mc;
}
function setBounds(x, y, ht, wid) {
__x = x;
__y = y;
__ht = ht;
__wid = wid;
}
function setFill(clr, alpha) {
__clr = clr;
__alpha = alpha;
}
function drawCell() {
__alpha = (Math.random() * 4) * 25;
Drawing.drawRect(parent_mc, __x, __y, __x + __wid, __y + __ht, __clr, __alpha);
}
function clearCell() {
__alpha = 0;
drawCell();
}
}
Symbol 46 MovieClip [__Packages.Drawing] Frame 0 (1.08 KiB) ●
class Drawing
{
function Drawing () {
}
static function drawCircle(clip, r, x, y) {
clip.moveTo(x + r, y);
var _local7 = 0.414213562373095;
var _local1 = 45;
while (_local1 <= 360) {
var _local3 = r * Math.cos((_local1 * Math.PI) / 180);
var _local4 = r * Math.sin((_local1 * Math.PI) / 180);
var _local6 = _local3 + ((r * _local7) * Math.cos(((_local1 - 90) * Math.PI) / 180));
var _local5 = _local4 + ((r * _local7) * Math.sin(((_local1 - 90) * Math.PI) / 180));
clip.curveTo(_local6 + x, _local5 + y, _local3 + x, _local4 + y);
_local1 = _local1 + 45;
}
}
static function drawFilledCircle(clip, r, x, y, color, alpha) {
if (alpha == undefined) {
alpha = 100;
}
clip.moveTo(x + r, y);
clip.beginFill(color, alpha);
drawCircle(clip, r, x, y);
clip.endFill();
}
static function drawRect(clip, x1, y1, x2, y2, color, alpha) {
if (alpha == undefined) {
alpha = 100;
}
clip.moveTo(x1, y1);
clip.beginFill(color, alpha);
clip.lineTo(x2, y1);
clip.lineTo(x2, y2);
clip.lineTo(x1, y2);
clip.endFill();
}
}
Symbol 47 MovieClip [__Packages.SoundController] Frame 0 (4.05 KiB) ●
class SoundController
{
var sndObjList, vol, volRange, sndList, sndClip, stutterInterval;
function SoundController (p_sndList, p_vol) {
sndObjList = new Array();
vol = ((p_vol == undefined) ? 50 : (p_vol));
volRange = 10;
sndList = new Array();
var _local2 = _level0.getNextHighestDepth();
sndClip = _level0.createEmptyMovieClip("_snd_mc_" + _local2, _local2);
if (p_sndList != undefined) {
setSoundList(p_sndList);
}
EventBroadcaster.getInstance().addListener("onSoundComplete", this);
}
function setSoundList(p_sndList) {
var _local2 = 0;
while (_local2 < p_sndList.length) {
setSoundNameAt(_local2, p_sndList[_local2]);
setParamsAt(_local2);
_local2++;
}
}
function setSoundNameAt(ind, sndName) {
sndList[ind] = sndName;
}
function setDefaultVolume(p_vol) {
vol = p_vol;
}
function setVolRange(p_volRange) {
volRange = p_volRange;
}
function setParamsAt(ind, sndName, vol, pan) {
confirmObjectsExists(ind);
attachSoundAt(ind, sndName);
setVolAt(ind, vol);
setPanAt(ind, pan);
}
function confirmObjectsExists(ind) {
if (sndClip["_snd_mc_" + ind] == undefined) {
addSoundObjectAt(ind);
}
}
function startAllSounds() {
var _local2 = 0;
while (_local2 < sndList.length) {
if (sndObjList[_local2] == undefined) {
setParamsAt(_local2);
}
startSoundAt(_local2, 0);
_local2++;
}
}
function startSoundAt(ind, offset, loops) {
confirmObjectsExists(ind);
sndObjList[ind].start(offset, loops);
}
function startSound(sndName, offset, loops) {
var _local2 = indexOf(sndName);
if (sndObjList[_local2] == undefined) {
setParamsAt(_local2);
}
startSoundAt(_local2, offset, loops);
}
function stutterSoundAt(ind) {
clearInterval(stutterInterval);
if (ind == undefined) {
ind = Math.floor(Math.random() * sndList.length);
}
var _local3 = sndObjList[ind].duration / 1000;
var _local5 = Math.floor(Math.random() * _local3);
var _local4 = Math.floor(Math.random() * 250);
stopSoundAt(ind);
startSoundAt(ind, _local5);
stutterInterval = setInterval(this, "stutterSoundAt", _local4, ind);
}
function stopStutterAt(ind) {
clearInterval(stutterInterval);
stopSoundAt(ind);
}
function stopAllSounds() {
var _local2 = 0;
while (_local2 < sndObjList.length) {
stopSoundAt(_local2);
_local2++;
}
}
function stopSoundAt(ind) {
sndObjList[ind].stop();
}
function setVolAt(ind, vol) {
if (vol == undefined) {
vol = getVolInRange();
}
sndObjList[ind].setVolume(vol);
}
function setPanAt(ind, pan) {
if (pan == undefined) {
pan = getRandomPan();
}
sndObjList[ind].setPan(pan);
}
function attachSoundAt(ind, sndName) {
if (sndName == undefined) {
sndName = sndList[ind];
}
sndObjList[ind].attachSound(sndName);
sndObjList[ind].onSoundComplete = function () {
var _local2 = new Object();
_local2.source = this;
_local2.type = "onSoundComplete";
EventBroadcaster.getInstance().broadcastEvent(_local2);
};
}
function onSoundComplete(event) {
var _local1 = event.source;
}
function startRandomSounds(numSounds) {
var _local2 = 0;
while (_local2 < numSounds) {
var _local3 = Math.floor(Math.random() * sndObjList.length);
startSoundAt(_local3);
_local2++;
}
}
function indexOf(sndName) {
var _local3 = -1;
var _local2 = 0;
while (_local2 < sndList.length) {
if (sndList[_local2] == sndName) {
_local3 = _local2;
break;
}
_local2++;
}
return(_local3);
}
function getRandomSndName() {
var _local2 = Math.floor(Math.random() * sndList.length);
return(sndList[_local2]);
}
function getRandomPan() {
return(Math.floor(Math.random() * 200) - 100);
}
function getVolInRange() {
var _local2 = Math.round((Math.random() * volRange) - (volRange / 2));
return(vol + _local2);
}
function addSoundObjectAt(ind) {
var _local2 = sndClip.createEmptyMovieClip("_snd_mc_" + ind, sndClip.getNextHighestDepth());
sndObjList[ind] = new Sound(_local2);
}
}
Symbol 48 MovieClip [__Packages.Clock] Frame 0 (572 B)
class Clock
{
var clockStartInterval, tickInterval;
function Clock () {
var _local2 = new Date().getSeconds();
var _local3 = 60 - _local2;
var _local4 = Math.floor(1000 / _local3);
clockStartInterval = setInterval(this, "startClock", _local4);
}
function startClock() {
clearInterval(clockStartInterval);
tickInterval = setInterval(this, "onSecond", 1000);
}
function onSecond() {
var _local1 = new Object();
_local1.type = "onClockTick";
_local1.date = new Date();
EventBroadcaster.getInstance().broadcastEvent(_local1);
}
}
Symbol 49 MovieClip [__Packages.TimedPacketDistributor] Frame 0 (1.19 KiB) ●
class TimedPacketDistributor
{
var __rate, __data, currentPos, currentIndex, interval;
function TimedPacketDistributor (p_rate) {
rate = (p_rate);
}
function get rate() {
return(__rate);
}
function set rate(p_rate) {
__rate = p_rate;
//return(rate);
}
function setData(p_data) {
__data = p_data;
}
function getData() {
return(__data);
}
function distribute(p_data, noEndEvent) {
if (!noEndEvent) {
endDistribution();
}
setData(p_data);
currentPos = -1;
currentIndex = -1;
interval = setInterval(this, "distributePacket", rate);
}
function distributePacket() {
var _local2 = getData();
var _local3 = _local2[currentIndex].length;
if ((++currentPos) >= _local3) {
currentIndex++;
currentPos = 0;
if (currentIndex >= _local2.length) {
endDistribution();
}
}
var _local5 = _local2[currentIndex][currentPos];
EventBroadcaster.getInstance().broadcastEvent({type:"onDistributePacket", packet:_local5, source:this});
}
function endDistribution() {
endNoEvent();
EventBroadcaster.getInstance().broadcastEvent({type:"onEndDistribution"});
}
function endNoEvent() {
clearInterval(interval);
}
}
Symbol 50 MovieClip [__Packages.SocketConnector] Frame 0 (2.18 KiB) ●
class SocketConnector
{
var socket, currRetry, reconnectInterval, __port, __address;
function SocketConnector (p_address, p_host) {
init(p_address, p_host);
}
function init(p_address, p_port) {
socket = new XMLSocket();
socket.onConnect = socket_onConnect;
address = (p_address);
port = (new Number(p_port));
myTrace("address :: " + address);
myTrace("port :: " + port);
myTrace("socket.onConnect :: " + socket.onConnect);
EventBroadcaster.getInstance().addListener("onConnectFailure", this);
EventBroadcaster.getInstance().addListener("onConnect", this);
currRetry = 0;
}
function connect() {
clearInterval(reconnectInterval);
myTrace(" ----> attempting to connect <----");
if ((address == undefined) || (port == undefined)) {
myTrace(" ------>FAILURE: address/port not defined");
} else if (!socket.connect(address, port)) {
myTrace("------->FAILURE: unable to initiate connection");
EventBroadcaster.getInstance().broadcastEvent({type:"onConnectFailure"});
}
}
function socket_onConnect(success) {
_level0.myTrace("socket_onConnect :: " + success);
if (success) {
EventBroadcaster.getInstance().broadcastEvent({type:"onConnect"});
} else {
EventBroadcaster.getInstance().broadcastEvent({type:"onConnectFailure"});
}
}
function onConnect(event) {
myTrace("connected to socketServer");
myTrace("address :: " + address);
myTrace("port :: " + port);
}
function onConnectFailure(event) {
myTrace("------>FAILURE: unable to complete connection");
retry();
}
function retry() {
if ((++currRetry) < maxRetrys) {
reconnectInterval = setInterval(this, "connect", retryRate);
} else {
EventBroadcaster.getInstance().broadcastEvent({type:"onConnectTimeout"});
}
}
function get port() {
return(__port);
}
function set port(p_port) {
__port = p_port;
//return(port);
}
function get address() {
return(__address);
}
function set address(p_address) {
__address = p_address;
//return(address);
}
function disconnect() {
socket.close();
}
function myTrace(str) {
_level0.myTrace(str);
}
var retryRate = 5000;
var maxRetrys = 5;
}
Symbol 51 MovieClip [__Packages.XMLSocketMon] Frame 0 (446 B)
class XMLSocketMon extends SocketConnector
{
var socket;
function XMLSocketMon (p_address, p_host) {
super();
init(p_address, p_host);
}
function init(p_address, p_host) {
super.init(p_address, p_host);
socket.onXML = onXML;
}
function onXML(xml) {
var _local2 = new Object();
_local2.type = "onXML";
_local2.xml = xml;
_local2.source = this;
EventBroadcaster.getInstance().broadcastEvent(_local2);
}
}
Symbol 52 MovieClip [__Packages.Crypto] Frame 0 (348 B)
class Crypto
{
function Crypto () {
}
function encrypt(str) {
var _local2 = new String(str);
var _local3 = new String();
var _local1 = 0;
while (_local1 < _local2.length) {
_local3 = _local3 + (_local2.charCodeAt(_local1) + ".");
_local1++;
}
return(_local3);
}
function decrypt(str) {
return("");
}
}
Symbol 53 MovieClip [__Packages.XMLNodeParser] Frame 0 (4.37 KiB) ●
class XMLNodeParser
{
var xmlObj;
function XMLNodeParser () {
}
function onXML(event) {
onLoad(event.xml);
}
function onLoad(xml) {
xmlObj = new Object();
xmlObj = deserialize(xml);
var _local3 = ((xmlObj.rss == undefined) ? "rdf:RDF" : "rss");
var _local4 = xmlObj.rss.channel;
var _local2 = new Object();
_local2.item = ((_local3 == "rss") ? (xmlObj[_local3].channel.item) : (xmlObj[_local3].item));
_local2.source = xmlObj[_local3].channel.link;
_local2.title = xmlObj[_local3].channel.title;
_local2.description = (_local2.title = xmlObj[_local3].channel.description);
_local2.numclients = xmlObj.NUMCLIENTS;
_local2.host = xmlObj.metadata.attributes.host;
_local2.refreshRate = xmlObj.metadata.attributes.rate;
_local2.type = "onParseXML";
EventBroadcaster.getInstance().broadcastEvent(_local2);
}
function deserialize(input_xml) {
var _local3 = new Object();
var _local4 = new Object();
var _local5 = 0;
while (_local5 < input_xml.childNodes.length) {
var _local2 = input_xml.childNodes[_local5];
if (!((_local2.firstChild.nodeValue == null) && (_local2.hasChildNodes()))) {
var _local7 = new String(_local2.firstChild.nodeValue);
if (_local3[_local2.nodeName] == null) {
_local3[_local2.nodeName] = _local7;
_local4 = _local3[_local2.nodeName];
} else {
if (_local3[_local2.nodeName][0] == null) {
_local4 = _local3[_local2.nodeName];
_local3[_local2.nodeName] = new Array();
_local3[_local2.nodeName][0] = _local4;
}
_local3[_local2.nodeName].push(_local7);
_local4 = _local3[_local2.nodeName][_local3[_local2.nodeName].length - 1];
}
} else if (_local3[_local2.nodeName] == null) {
_local3[_local2.nodeName] = deserialize(_local2);
_local4 = _local3[_local2.nodeName];
} else {
if (_local3[_local2.nodeName][0] == null) {
_local4 = _local3[_local2.nodeName];
_local3[_local2.nodeName] = new Array();
_local3[_local2.nodeName][0] = _local4;
}
_local3[_local2.nodeName].push(deserialize(_local2));
_local4 = _local3[_local2.nodeName][_local3[_local2.nodeName].length - 1];
}
_local4.attributes = new Object();
var _local6 = 0;
for (var _local9 in _local2.attributes) {
_local6++;
_local4.attributes[_local9] = _local2.attributes[_local9];
}
if (_local6 == 0) {
_local4.attributes = null;
}
_local5++;
}
return(_local3);
}
function serialize(inputObj, p_preString) {
var _local6 = ((p_preString == undefined) ? "" : (p_preString));
var _local7 = "";
for (var _local8 in inputObj) {
if (_local8 == "attributes") {
continue;
}
var _local4 = "";
if (inputObj[_local8] instanceof Array) {
var _local5 = inputObj[_local8].length;
var _local2 = 0;
while (_local2 < _local5) {
_local4 = _local4 + writeNode(_local8, inputObj[_local8][_local2], _local6);
_local2++;
}
} else if (((inputObj[_local8].__reference_pointer_object__ == null) || (inputObj[_local8].attributes.id != _local8)) && (_local8 != "__reference_pointer_object__")) {
_local4 = _local4 + writeNode(_local8, inputObj[_local8], _local6);
}
_local7 = _local4 + _local7;
}
return(_local7);
}
function writeNode(nodeName, nodeObj, preString) {
var _local4 = (preString + "<") + nodeName;
if (nodeObj.attributes != null) {
var _local3 = "";
for (var _local5 in nodeObj.attributes) {
_local3 = ((((" " + _local5) + "=\"") + nodeObj.attributes[_local5]) + "\"") + _local3;
}
_local4 = _local4 + _local3;
}
_local4 = _local4 + ">";
if ((nodeObj instanceof String) || (typeof(nodeObj) == "string")) {
_local4 = _local4 + writeCDATA(nodeObj);
} else {
_local4 = _local4 + ((newline + serialize(nodeObj, preString + "\t")) + preString);
}
_local4 = _local4 + (("</" + nodeName) + ">");
return(_local4);
}
function writeCDATA(input_str) {
var _local3 = "<>{}";
var _local2 = false;
var _local6 = "";
var _local5 = _local3.length;
var _local1 = 0;
while (_local1 < _local5) {
if (input_str.indexOf(_local3.charAt(_local1)) > -1) {
_local2 = true;
break;
}
_local1++;
}
if (_local2) {
_local6 = ("<![CDATA[" + input_str) + "]]>";
} else {
_local6 = input_str;
}
return(_local6);
}
}