Section 1
//accessories_23 (cde_odie_fla.accessories_23)
package cde_odie_fla {
import flash.display.*;
public dynamic class accessories_23 extends MovieClip {
public function accessories_23(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package cde_odie_fla
Section 2
//backdrop_11 (cde_odie_fla.backdrop_11)
package cde_odie_fla {
import flash.display.*;
public dynamic class backdrop_11 extends MovieClip {
public function backdrop_11(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package cde_odie_fla
Section 3
//bottoms_19 (cde_odie_fla.bottoms_19)
package cde_odie_fla {
import flash.display.*;
public dynamic class bottoms_19 extends MovieClip {
public function bottoms_19(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package cde_odie_fla
Section 4
//doll_16 (cde_odie_fla.doll_16)
package cde_odie_fla {
import flash.display.*;
public dynamic class doll_16 extends MovieClip {
public var dresses:MovieClip;
public var accessories:MovieClip;
public var bottoms:MovieClip;
public var tops:MovieClip;
public var hair:MovieClip;
public var footwear:MovieClip;
}
}//package cde_odie_fla
Section 5
//dresses_21 (cde_odie_fla.dresses_21)
package cde_odie_fla {
import flash.display.*;
public dynamic class dresses_21 extends MovieClip {
public function dresses_21(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package cde_odie_fla
Section 6
//footwear_18 (cde_odie_fla.footwear_18)
package cde_odie_fla {
import flash.display.*;
public dynamic class footwear_18 extends MovieClip {
public function footwear_18(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package cde_odie_fla
Section 7
//hair_22 (cde_odie_fla.hair_22)
package cde_odie_fla {
import flash.display.*;
public dynamic class hair_22 extends MovieClip {
public function hair_22(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package cde_odie_fla
Section 8
//MainTimeline (cde_odie_fla.MainTimeline)
package cde_odie_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import com.cde.graphics.*;
import flash.net.*;
import flash.media.*;
import flash.text.*;
import flash.geom.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var getPercent:Number;
public var btn_dresses:SimpleButton;
public var bytes_loaded:Number;
public var backdrop:MovieClip;
public var e:ReferenceError;
public var bytes_total:Number;
public var MusicClass:Class;
public var domain_id:String;
public var l:LoaderInfo;
public var stop_btn:SimpleButton;
public var btn_bottoms:SimpleButton;
public var play_btn:SimpleButton;
public var saveDollBtn:SimpleButton;
public var btn_backdrop:SimpleButton;
public var generated_image_filename:String;
public var musicLoops:uint;
public var loadText:TextField;
public var loadBar:MovieClip;
public var musicAutoStart:Boolean;
public var doll:MovieClip;
public var joinCDEBtn:SimpleButton;
public var btn_footwear:SimpleButton;
public var musicClassName:String;
public var btn_reset:SimpleButton;
public var cde_btn:SimpleButton;
public var btn_tops:SimpleButton;
public var btn_accessories:SimpleButton;
public var btn_hair:SimpleButton;
public var musicSound:Sound;
public var imageGen;
public var playNowBtn:SimpleButton;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 26, frame27, 89, frame90, 90, frame91);
}
public function onPlayBtnMouseDownHandler(_arg1:MouseEvent):void{
SoundMixer.stopAll();
if (musicSound != null){
musicSound.play(0, musicLoops);
};
}
public function onAffiliateMD(_arg1:MouseEvent):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://www.girlsgogames.com/?utm_source=partnergame&utm_medium=CDE&utm_campaign=CDE ");
navigateToURL(_local2, "_blank");
}
public function accessoriesButtonHandler(_arg1:MouseEvent):void{
if (doll.accessories.currentFrame < doll.accessories.totalFrames){
doll.accessories.nextFrame();
} else {
doll.accessories.gotoAndPlay(1);
};
}
function frame1(){
bytes_loaded = this.loaderInfo.bytesLoaded;
bytes_total = this.loaderInfo.bytesTotal;
getPercent = (Math.floor(((bytes_loaded / bytes_total) * 100)) / 100);
this.loadBar.width = (getPercent * 200);
this.loadText.text = (Math.round((getPercent * 100)) + "%");
if (bytes_loaded == bytes_total){
this.gotoAndPlay(3);
};
}
function frame2(){
this.gotoAndPlay(1);
}
function frame27(){
this.getChildAt(2).addEventListener(MouseEvent.MOUSE_DOWN, onPlayNowBtnMouseDownHandler);
this.getChildAt(4).addEventListener(MouseEvent.MOUSE_DOWN, onCdeBtnMouseDownHandler);
this.getChildAt(5).addEventListener(MouseEvent.MOUSE_DOWN, onAffiliateMD);
}
public function onJoinCDEBtn(_arg1:MouseEvent):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://cde.girlsgogames.com/cdeprofile/profile_register/profile_register.html");
navigateToURL(_local2, "_blank");
}
public function onStopBtnMouseDownHandler(_arg1:MouseEvent):void{
SoundMixer.stopAll();
}
public function topsButtonHandler(_arg1:MouseEvent):void{
if (doll.tops.currentFrame < doll.tops.totalFrames){
doll.tops.nextFrame();
} else {
doll.tops.gotoAndPlay(1);
};
doll.tops.visible = true;
doll.bottoms.visible = true;
doll.dresses.visible = false;
}
public function dressesButtonHandler(_arg1:MouseEvent):void{
if (doll.dresses.currentFrame < doll.dresses.totalFrames){
doll.dresses.nextFrame();
} else {
doll.dresses.gotoAndPlay(1);
};
doll.tops.visible = false;
doll.bottoms.visible = false;
doll.dresses.visible = true;
}
public function resetButtonHandler(_arg1:MouseEvent):void{
doll.tops.visible = true;
doll.bottoms.visible = true;
doll.dresses.visible = false;
doll.hair.gotoAndStop(1);
doll.tops.gotoAndStop(1);
doll.bottoms.gotoAndStop(1);
doll.dresses.gotoAndStop(1);
doll.footwear.gotoAndStop(1);
doll.accessories.gotoAndStop(1);
backdrop.gotoAndStop(1);
}
public function onCdeBtnMouseDownHandler(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://cde.girlsgogames.com/"), "_blank");
}
public function onCDEBtnMouseDownHandler(_arg1:MouseEvent):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://cde.girlsgogames.com");
navigateToURL(_local2, "_blank");
}
public function hairButtonHandler(_arg1:MouseEvent):void{
if (doll.hair.currentFrame < doll.hair.totalFrames){
doll.hair.nextFrame();
} else {
doll.hair.gotoAndPlay(1);
};
}
public function bottomsButtonHandler(_arg1:MouseEvent):void{
if (doll.bottoms.currentFrame < doll.bottoms.totalFrames){
doll.bottoms.nextFrame();
} else {
doll.bottoms.gotoAndPlay(1);
};
doll.tops.visible = true;
doll.bottoms.visible = true;
doll.dresses.visible = false;
}
public function backdropButtonHandler(_arg1:MouseEvent):void{
if (backdrop.currentFrame < backdrop.totalFrames){
backdrop.nextFrame();
} else {
backdrop.gotoAndPlay(1);
};
}
function frame90(){
stop();
}
function frame91(){
musicClassName = "sound";
musicLoops = 9999;
musicAutoStart = true;
generated_image_filename = "cde_Odie";
domain_id = "@@CDE@@@";
domain_id = "00001178";
if (((!((musicClassName == null))) && (!((musicClassName == ""))))){
try {
MusicClass = (ApplicationDomain.currentDomain.getDefinition(musicClassName) as Class);
} catch(err:ReferenceError) {
err.message = (("Music '" + musicClassName) + "' does not exist in library. Please check that the 'musicClassName' variable is correct in Configuration layer.");
throw (err);
};
musicSound = (new MusicClass() as Sound);
if (musicAutoStart){
musicSound.play(0, musicLoops);
};
};
play_btn.addEventListener(MouseEvent.MOUSE_DOWN, onPlayBtnMouseDownHandler);
stop_btn.addEventListener(MouseEvent.MOUSE_DOWN, onStopBtnMouseDownHandler);
cde_btn.addEventListener(MouseEvent.MOUSE_DOWN, onCDEBtnMouseDownHandler);
saveDollBtn.addEventListener(MouseEvent.MOUSE_DOWN, onSaveDollBtn);
joinCDEBtn.addEventListener(MouseEvent.MOUSE_DOWN, onJoinCDEBtn);
imageGen = new ImageGen(this.loaderInfo, generated_image_filename);
stop();
doll.tops.visible = true;
doll.bottoms.visible = true;
doll.dresses.visible = false;
btn_hair.addEventListener(MouseEvent.CLICK, hairButtonHandler);
btn_tops.addEventListener(MouseEvent.CLICK, topsButtonHandler);
btn_bottoms.addEventListener(MouseEvent.CLICK, bottomsButtonHandler);
btn_dresses.addEventListener(MouseEvent.CLICK, dressesButtonHandler);
btn_footwear.addEventListener(MouseEvent.CLICK, footwearButtonHandler);
btn_accessories.addEventListener(MouseEvent.CLICK, accessoriesButtonHandler);
btn_backdrop.addEventListener(MouseEvent.CLICK, backdropButtonHandler);
btn_reset.addEventListener(MouseEvent.CLICK, resetButtonHandler);
}
public function onSaveDollBtn(_arg1:MouseEvent):void{
imageGen.generateImageForDownload(this, 0, 0, 900, 700);
}
public function onPlayNowBtnMouseDownHandler(_arg1:MouseEvent):void{
gotoAndStop(1, "Scene 2");
}
public function footwearButtonHandler(_arg1:MouseEvent):void{
if (doll.footwear.currentFrame < doll.footwear.totalFrames){
doll.footwear.nextFrame();
} else {
doll.footwear.gotoAndPlay(1);
};
}
}
}//package cde_odie_fla
Section 9
//tops_20 (cde_odie_fla.tops_20)
package cde_odie_fla {
import flash.display.*;
public dynamic class tops_20 extends MovieClip {
public function tops_20(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package cde_odie_fla
Section 10
//BitString (com.adobe.images.BitString)
package com.adobe.images {
public class BitString {
public var val:int;// = 0
public var len:int;// = 0
public function BitString(){
len = 0;
val = 0;
super();
}
}
}//package com.adobe.images
Section 11
//JPGEncoder (com.adobe.images.JPGEncoder)
package com.adobe.images {
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
public class JPGEncoder {
private var fdtbl_UV:Array;
private var std_ac_chrominance_values:Array;
private var std_dc_chrominance_nrcodes:Array;
private var std_dc_chrominance_values:Array;
private var ZigZag:Array;
private var YDC_HT:Array;
private var bytenew:int;// = 0
private var fdtbl_Y:Array;
private var YAC_HT:Array;
private var std_ac_chrominance_nrcodes:Array;
private var DU:Array;
private var std_ac_luminance_values:Array;
private var UVTable:Array;
private var UDU:Array;
private var YDU:Array;
private var byteout:ByteArray;
private var UVAC_HT:Array;
private var UVDC_HT:Array;
private var bytepos:int;// = 7
private var VDU:Array;
private var std_ac_luminance_nrcodes:Array;
private var std_dc_luminance_values:Array;
private var YTable:Array;
private var std_dc_luminance_nrcodes:Array;
private var bitcode:Array;
private var category:Array;
public function JPGEncoder(_arg1:Number=50){
var _local2:int;
ZigZag = [0, 1, 5, 6, 14, 15, 27, 28, 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12, 17, 25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53, 10, 19, 23, 32, 39, 45, 52, 54, 20, 22, 33, 38, 46, 51, 55, 60, 21, 34, 37, 47, 50, 56, 59, 61, 35, 36, 48, 49, 57, 58, 62, 63];
YTable = new Array(64);
UVTable = new Array(64);
fdtbl_Y = new Array(64);
fdtbl_UV = new Array(64);
std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];
std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];
std_ac_luminance_values = [1, 2, 3, 0, 4, 17, 5, 18, 33, 49, 65, 6, 19, 81, 97, 7, 34, 113, 20, 50, 129, 145, 161, 8, 35, 66, 177, 193, 21, 82, 209, 240, 36, 51, 98, 114, 130, 9, 10, 22, 23, 24, 25, 26, 37, 38, 39, 40, 41, 42, 52, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250];
std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];
std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];
std_ac_chrominance_values = [0, 1, 2, 3, 17, 4, 5, 33, 49, 6, 18, 65, 81, 7, 97, 113, 19, 34, 50, 129, 8, 20, 66, 145, 161, 177, 193, 9, 35, 51, 82, 240, 21, 98, 114, 209, 10, 22, 36, 52, 225, 37, 241, 23, 24, 25, 26, 38, 39, 40, 41, 42, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 130, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 226, 227, 228, 229, 230, 231, 232, 233, 234, 242, 243, 244, 245, 246, 247, 248, 249, 250];
bitcode = new Array(0xFFFF);
category = new Array(0xFFFF);
bytenew = 0;
bytepos = 7;
DU = new Array(64);
YDU = new Array(64);
UDU = new Array(64);
VDU = new Array(64);
super();
if (_arg1 <= 0){
_arg1 = 1;
};
if (_arg1 > 100){
_arg1 = 100;
};
_local2 = 0;
if (_arg1 < 50){
_local2 = int((5000 / _arg1));
} else {
_local2 = int((200 - (_arg1 * 2)));
};
initHuffmanTbl();
initCategoryNumber();
initQuantTables(_local2);
}
private function RGB2YUV(_arg1:BitmapData, _arg2:int, _arg3:int):void{
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:uint;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local4 = 0;
_local5 = 0;
while (_local5 < 8) {
_local6 = 0;
while (_local6 < 8) {
_local7 = _arg1.getPixel32((_arg2 + _local6), (_arg3 + _local5));
_local8 = Number(((_local7 >> 16) & 0xFF));
_local9 = Number(((_local7 >> 8) & 0xFF));
_local10 = Number((_local7 & 0xFF));
YDU[_local4] = ((((0.299 * _local8) + (0.587 * _local9)) + (0.114 * _local10)) - 128);
UDU[_local4] = (((-0.16874 * _local8) + (-0.33126 * _local9)) + (0.5 * _local10));
VDU[_local4] = (((0.5 * _local8) + (-0.41869 * _local9)) + (-0.08131 * _local10));
_local4++;
_local6++;
};
_local5++;
};
}
private function writeWord(_arg1:int):void{
writeByte(((_arg1 >> 8) & 0xFF));
writeByte((_arg1 & 0xFF));
}
private function writeByte(_arg1:int):void{
byteout.writeByte(_arg1);
}
private function writeDHT():void{
var _local1:int;
writeWord(65476);
writeWord(418);
writeByte(0);
_local1 = 0;
while (_local1 < 16) {
writeByte(std_dc_luminance_nrcodes[(_local1 + 1)]);
_local1++;
};
_local1 = 0;
while (_local1 <= 11) {
writeByte(std_dc_luminance_values[_local1]);
_local1++;
};
writeByte(16);
_local1 = 0;
while (_local1 < 16) {
writeByte(std_ac_luminance_nrcodes[(_local1 + 1)]);
_local1++;
};
_local1 = 0;
while (_local1 <= 161) {
writeByte(std_ac_luminance_values[_local1]);
_local1++;
};
writeByte(1);
_local1 = 0;
while (_local1 < 16) {
writeByte(std_dc_chrominance_nrcodes[(_local1 + 1)]);
_local1++;
};
_local1 = 0;
while (_local1 <= 11) {
writeByte(std_dc_chrominance_values[_local1]);
_local1++;
};
writeByte(17);
_local1 = 0;
while (_local1 < 16) {
writeByte(std_ac_chrominance_nrcodes[(_local1 + 1)]);
_local1++;
};
_local1 = 0;
while (_local1 <= 161) {
writeByte(std_ac_chrominance_values[_local1]);
_local1++;
};
}
private function writeBits(_arg1:BitString):void{
var _local2:int;
var _local3:int;
_local2 = _arg1.val;
_local3 = (_arg1.len - 1);
while (_local3 >= 0) {
if ((_local2 & uint((1 << _local3)))){
bytenew = (bytenew | uint((1 << bytepos)));
};
_local3--;
bytepos--;
if (bytepos < 0){
if (bytenew == 0xFF){
writeByte(0xFF);
writeByte(0);
} else {
writeByte(bytenew);
};
bytepos = 7;
bytenew = 0;
};
};
}
private function initHuffmanTbl():void{
YDC_HT = computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values);
UVDC_HT = computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values);
YAC_HT = computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values);
UVAC_HT = computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values);
}
public function encode(_arg1:BitmapData):ByteArray{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:int;
var _local6:int;
var _local7:BitString;
byteout = new ByteArray();
bytenew = 0;
bytepos = 7;
writeWord(65496);
writeAPP0();
writeDQT();
writeSOF0(_arg1.width, _arg1.height);
writeDHT();
writeSOS();
_local2 = 0;
_local3 = 0;
_local4 = 0;
bytenew = 0;
bytepos = 7;
_local5 = 0;
while (_local5 < _arg1.height) {
_local6 = 0;
while (_local6 < _arg1.width) {
RGB2YUV(_arg1, _local6, _local5);
_local2 = processDU(YDU, fdtbl_Y, _local2, YDC_HT, YAC_HT);
_local3 = processDU(UDU, fdtbl_UV, _local3, UVDC_HT, UVAC_HT);
_local4 = processDU(VDU, fdtbl_UV, _local4, UVDC_HT, UVAC_HT);
_local6 = (_local6 + 8);
};
_local5 = (_local5 + 8);
};
if (bytepos >= 0){
_local7 = new BitString();
_local7.len = (bytepos + 1);
_local7.val = ((1 << (bytepos + 1)) - 1);
writeBits(_local7);
};
writeWord(65497);
return (byteout);
}
private function initCategoryNumber():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
_local1 = 1;
_local2 = 2;
_local4 = 1;
while (_local4 <= 15) {
_local3 = _local1;
while (_local3 < _local2) {
category[(32767 + _local3)] = _local4;
bitcode[(32767 + _local3)] = new BitString();
bitcode[(32767 + _local3)].len = _local4;
bitcode[(32767 + _local3)].val = _local3;
_local3++;
};
_local3 = -((_local2 - 1));
while (_local3 <= -(_local1)) {
category[(32767 + _local3)] = _local4;
bitcode[(32767 + _local3)] = new BitString();
bitcode[(32767 + _local3)].len = _local4;
bitcode[(32767 + _local3)].val = ((_local2 - 1) + _local3);
_local3++;
};
_local1 = (_local1 << 1);
_local2 = (_local2 << 1);
_local4++;
};
}
private function writeDQT():void{
var _local1:int;
writeWord(65499);
writeWord(132);
writeByte(0);
_local1 = 0;
while (_local1 < 64) {
writeByte(YTable[_local1]);
_local1++;
};
writeByte(1);
_local1 = 0;
while (_local1 < 64) {
writeByte(UVTable[_local1]);
_local1++;
};
}
private function writeAPP0():void{
writeWord(65504);
writeWord(16);
writeByte(74);
writeByte(70);
writeByte(73);
writeByte(70);
writeByte(0);
writeByte(1);
writeByte(1);
writeByte(0);
writeWord(1);
writeWord(1);
writeByte(0);
writeByte(0);
}
private function writeSOS():void{
writeWord(65498);
writeWord(12);
writeByte(3);
writeByte(1);
writeByte(0);
writeByte(2);
writeByte(17);
writeByte(3);
writeByte(17);
writeByte(0);
writeByte(63);
writeByte(0);
}
private function processDU(_arg1:Array, _arg2:Array, _arg3:Number, _arg4:Array, _arg5:Array):Number{
var _local6:BitString;
var _local7:BitString;
var _local8:int;
var _local9:Array;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:int;
var _local14:int;
_local6 = _arg5[0];
_local7 = _arg5[240];
_local9 = fDCTQuant(_arg1, _arg2);
_local8 = 0;
while (_local8 < 64) {
DU[ZigZag[_local8]] = _local9[_local8];
_local8++;
};
_local10 = (DU[0] - _arg3);
_arg3 = DU[0];
if (_local10 == 0){
writeBits(_arg4[0]);
} else {
writeBits(_arg4[category[(32767 + _local10)]]);
writeBits(bitcode[(32767 + _local10)]);
};
_local11 = 63;
while ((((_local11 > 0)) && ((DU[_local11] == 0)))) {
_local11--;
};
if (_local11 == 0){
writeBits(_local6);
return (_arg3);
};
_local8 = 1;
while (_local8 <= _local11) {
_local12 = _local8;
while ((((DU[_local8] == 0)) && ((_local8 <= _local11)))) {
_local8++;
};
_local13 = (_local8 - _local12);
if (_local13 >= 16){
_local14 = 1;
while (_local14 <= (_local13 / 16)) {
writeBits(_local7);
_local14++;
};
_local13 = int((_local13 & 15));
};
writeBits(_arg5[((_local13 * 16) + category[(32767 + DU[_local8])])]);
writeBits(bitcode[(32767 + DU[_local8])]);
_local8++;
};
if (_local11 != 63){
writeBits(_local6);
};
return (_arg3);
}
private function initQuantTables(_arg1:int):void{
var _local2:int;
var _local3:Number;
var _local4:Array;
var _local5:Array;
var _local6:Array;
var _local7:int;
var _local8:int;
_local4 = [16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55, 14, 13, 16, 24, 40, 57, 69, 56, 14, 17, 22, 29, 51, 87, 80, 62, 18, 22, 37, 56, 68, 109, 103, 77, 24, 35, 55, 64, 81, 104, 113, 92, 49, 64, 78, 87, 103, 121, 120, 101, 72, 92, 95, 98, 112, 100, 103, 99];
_local2 = 0;
while (_local2 < 64) {
_local3 = Math.floor((((_local4[_local2] * _arg1) + 50) / 100));
if (_local3 < 1){
_local3 = 1;
} else {
if (_local3 > 0xFF){
_local3 = 0xFF;
};
};
YTable[ZigZag[_local2]] = _local3;
_local2++;
};
_local5 = [17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99, 24, 26, 56, 99, 99, 99, 99, 99, 47, 66, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99];
_local2 = 0;
while (_local2 < 64) {
_local3 = Math.floor((((_local5[_local2] * _arg1) + 50) / 100));
if (_local3 < 1){
_local3 = 1;
} else {
if (_local3 > 0xFF){
_local3 = 0xFF;
};
};
UVTable[ZigZag[_local2]] = _local3;
_local2++;
};
_local6 = [1, 1.387039845, 1.306562965, 1.175875602, 1, 0.785694958, 0.5411961, 0.275899379];
_local2 = 0;
_local7 = 0;
while (_local7 < 8) {
_local8 = 0;
while (_local8 < 8) {
fdtbl_Y[_local2] = (1 / (((YTable[ZigZag[_local2]] * _local6[_local7]) * _local6[_local8]) * 8));
fdtbl_UV[_local2] = (1 / (((UVTable[ZigZag[_local2]] * _local6[_local7]) * _local6[_local8]) * 8));
_local2++;
_local8++;
};
_local7++;
};
}
private function writeSOF0(_arg1:int, _arg2:int):void{
writeWord(65472);
writeWord(17);
writeByte(8);
writeWord(_arg2);
writeWord(_arg1);
writeByte(3);
writeByte(1);
writeByte(17);
writeByte(0);
writeByte(2);
writeByte(17);
writeByte(1);
writeByte(3);
writeByte(17);
writeByte(1);
}
private function computeHuffmanTbl(_arg1:Array, _arg2:Array):Array{
var _local3:int;
var _local4:int;
var _local5:Array;
var _local6:int;
var _local7:int;
_local3 = 0;
_local4 = 0;
_local5 = new Array();
_local6 = 1;
while (_local6 <= 16) {
_local7 = 1;
while (_local7 <= _arg1[_local6]) {
_local5[_arg2[_local4]] = new BitString();
_local5[_arg2[_local4]].val = _local3;
_local5[_arg2[_local4]].len = _local6;
_local4++;
_local3++;
_local7++;
};
_local3 = (_local3 * 2);
_local6++;
};
return (_local5);
}
private function fDCTQuant(_arg1:Array, _arg2:Array):Array{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:int;
var _local23:int;
_local23 = 0;
_local22 = 0;
while (_local22 < 8) {
_local3 = (_arg1[(_local23 + 0)] + _arg1[(_local23 + 7)]);
_local10 = (_arg1[(_local23 + 0)] - _arg1[(_local23 + 7)]);
_local4 = (_arg1[(_local23 + 1)] + _arg1[(_local23 + 6)]);
_local9 = (_arg1[(_local23 + 1)] - _arg1[(_local23 + 6)]);
_local5 = (_arg1[(_local23 + 2)] + _arg1[(_local23 + 5)]);
_local8 = (_arg1[(_local23 + 2)] - _arg1[(_local23 + 5)]);
_local6 = (_arg1[(_local23 + 3)] + _arg1[(_local23 + 4)]);
_local7 = (_arg1[(_local23 + 3)] - _arg1[(_local23 + 4)]);
_local11 = (_local3 + _local6);
_local14 = (_local3 - _local6);
_local12 = (_local4 + _local5);
_local13 = (_local4 - _local5);
_arg1[(_local23 + 0)] = (_local11 + _local12);
_arg1[(_local23 + 4)] = (_local11 - _local12);
_local15 = ((_local13 + _local14) * 0.707106781);
_arg1[(_local23 + 2)] = (_local14 + _local15);
_arg1[(_local23 + 6)] = (_local14 - _local15);
_local11 = (_local7 + _local8);
_local12 = (_local8 + _local9);
_local13 = (_local9 + _local10);
_local19 = ((_local11 - _local13) * 0.382683433);
_local16 = ((0.5411961 * _local11) + _local19);
_local18 = ((1.306562965 * _local13) + _local19);
_local17 = (_local12 * 0.707106781);
_local20 = (_local10 + _local17);
_local21 = (_local10 - _local17);
_arg1[(_local23 + 5)] = (_local21 + _local16);
_arg1[(_local23 + 3)] = (_local21 - _local16);
_arg1[(_local23 + 1)] = (_local20 + _local18);
_arg1[(_local23 + 7)] = (_local20 - _local18);
_local23 = (_local23 + 8);
_local22++;
};
_local23 = 0;
_local22 = 0;
while (_local22 < 8) {
_local3 = (_arg1[(_local23 + 0)] + _arg1[(_local23 + 56)]);
_local10 = (_arg1[(_local23 + 0)] - _arg1[(_local23 + 56)]);
_local4 = (_arg1[(_local23 + 8)] + _arg1[(_local23 + 48)]);
_local9 = (_arg1[(_local23 + 8)] - _arg1[(_local23 + 48)]);
_local5 = (_arg1[(_local23 + 16)] + _arg1[(_local23 + 40)]);
_local8 = (_arg1[(_local23 + 16)] - _arg1[(_local23 + 40)]);
_local6 = (_arg1[(_local23 + 24)] + _arg1[(_local23 + 32)]);
_local7 = (_arg1[(_local23 + 24)] - _arg1[(_local23 + 32)]);
_local11 = (_local3 + _local6);
_local14 = (_local3 - _local6);
_local12 = (_local4 + _local5);
_local13 = (_local4 - _local5);
_arg1[(_local23 + 0)] = (_local11 + _local12);
_arg1[(_local23 + 32)] = (_local11 - _local12);
_local15 = ((_local13 + _local14) * 0.707106781);
_arg1[(_local23 + 16)] = (_local14 + _local15);
_arg1[(_local23 + 48)] = (_local14 - _local15);
_local11 = (_local7 + _local8);
_local12 = (_local8 + _local9);
_local13 = (_local9 + _local10);
_local19 = ((_local11 - _local13) * 0.382683433);
_local16 = ((0.5411961 * _local11) + _local19);
_local18 = ((1.306562965 * _local13) + _local19);
_local17 = (_local12 * 0.707106781);
_local20 = (_local10 + _local17);
_local21 = (_local10 - _local17);
_arg1[(_local23 + 40)] = (_local21 + _local16);
_arg1[(_local23 + 24)] = (_local21 - _local16);
_arg1[(_local23 + 8)] = (_local20 + _local18);
_arg1[(_local23 + 56)] = (_local20 - _local18);
_local23++;
_local22++;
};
_local22 = 0;
while (_local22 < 64) {
_arg1[_local22] = Math.round((_arg1[_local22] * _arg2[_local22]));
_local22++;
};
return (_arg1);
}
}
}//package com.adobe.images
Section 12
//PNGEncoder (com.adobe.images.PNGEncoder)
package com.adobe.images {
import flash.display.*;
import flash.utils.*;
public class PNGEncoder {
private static var crcTableComputed:Boolean = false;
private static var crcTable:Array;
private static function writeChunk(_arg1:ByteArray, _arg2:uint, _arg3:ByteArray):void{
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:int;
var _local8:uint;
var _local9:uint;
var _local10:uint;
if (!crcTableComputed){
crcTableComputed = true;
crcTable = [];
_local9 = 0;
while (_local9 < 0x0100) {
_local8 = _local9;
_local10 = 0;
while (_local10 < 8) {
if ((_local8 & 1)){
_local8 = uint((uint(3988292384) ^ uint((_local8 >>> 1))));
} else {
_local8 = uint((_local8 >>> 1));
};
_local10++;
};
crcTable[_local9] = _local8;
_local9++;
};
};
_local4 = 0;
if (_arg3 != null){
_local4 = _arg3.length;
};
_arg1.writeUnsignedInt(_local4);
_local5 = _arg1.position;
_arg1.writeUnsignedInt(_arg2);
if (_arg3 != null){
_arg1.writeBytes(_arg3);
};
_local6 = _arg1.position;
_arg1.position = _local5;
_local8 = 4294967295;
_local7 = 0;
while (_local7 < (_local6 - _local5)) {
_local8 = uint((crcTable[((_local8 ^ _arg1.readUnsignedByte()) & uint(0xFF))] ^ uint((_local8 >>> 8))));
_local7++;
};
_local8 = uint((_local8 ^ uint(4294967295)));
_arg1.position = _local6;
_arg1.writeUnsignedInt(_local8);
}
public static function encode(_arg1:BitmapData):ByteArray{
var _local2:ByteArray;
var _local3:ByteArray;
var _local4:ByteArray;
var _local5:int;
var _local6:uint;
var _local7:int;
_local2 = new ByteArray();
_local2.writeUnsignedInt(2303741511);
_local2.writeUnsignedInt(218765834);
_local3 = new ByteArray();
_local3.writeInt(_arg1.width);
_local3.writeInt(_arg1.height);
_local3.writeUnsignedInt(134610944);
_local3.writeByte(0);
writeChunk(_local2, 1229472850, _local3);
_local4 = new ByteArray();
_local5 = 0;
while (_local5 < _arg1.height) {
_local4.writeByte(0);
if (!_arg1.transparent){
_local7 = 0;
while (_local7 < _arg1.width) {
_local6 = _arg1.getPixel(_local7, _local5);
_local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | 0xFF)));
_local7++;
};
} else {
_local7 = 0;
while (_local7 < _arg1.width) {
_local6 = _arg1.getPixel32(_local7, _local5);
_local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | (_local6 >>> 24))));
_local7++;
};
};
_local5++;
};
_local4.compress();
writeChunk(_local2, 1229209940, _local4);
writeChunk(_local2, 1229278788, null);
return (_local2);
}
}
}//package com.adobe.images
Section 13
//ImageGen (com.cde.graphics.ImageGen)
package com.cde.graphics {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import com.adobe.images.*;
import flash.net.*;
import flash.text.*;
import flash.geom.*;
public class ImageGen {
private var _loaderInfo:LoaderInfo;
private var modal:Sprite;
private var _downloadURL:String;
private var fr:FileReference;
private var _imageName:String;
private var _inProgress:Boolean;
private var _sourceBitmapData:BitmapData;
private var encoder;
private var req:URLRequest;
private var _downloadMethod:String;
private var _ext:String;
private var _quality:Number;
private var _onComplete:Function;
private var _encoderType:String;
private var ld:URLLoader;
private var _newBitmapData:BitmapData;
private var _imageGenURL:String;
private var _transparency:Boolean;
public static const FLASH:String = "flash";
public static const PNG:String = "png";
public static const JS:String = "js";
public static const JPEG:String = "jpg";
public function ImageGen(_arg1:LoaderInfo, _arg2:String="image", _arg3:Number=50, _arg4:String=null, _arg5:String=null){
this._loaderInfo = _arg1;
this._imageName = _arg2;
fr = new FileReference();
ld = new URLLoader();
ld.addEventListener(Event.COMPLETE, onComplete);
encoder = new JPGEncoder(_arg3);
_ext = "jpg";
_encoderType = JPEG;
_imageGenURL = _arg4;
_downloadURL = _arg5;
_downloadMethod = FLASH;
_quality = _arg3;
initiateURLS();
}
public function set transparency(_arg1:Boolean):void{
_transparency = _arg1;
}
public function set downloadMethod(_arg1:String):void{
_downloadMethod = _arg1;
}
public function encode(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number=0, _arg5:Number=0, _arg6:Number=1):ByteArray{
var _local7:Number;
var _local8:Number;
var _local9:Matrix;
var _local10:ByteArray;
if (_arg4 > 2880){
throw (ArgumentError("Supplied width is too big. Must be less than or equal to 2880"));
};
if (_arg5 > 2880){
throw (ArgumentError("Supplied height is too big. Must be less than or equal to 2880"));
};
_local7 = ((_arg1.width)>2880) ? 2880 : _arg1.width;
_local8 = ((_arg1.height)>2880) ? 2880 : _arg1.height;
if (_arg4 == 0){
_arg4 = _local7;
};
if (_arg5 == 0){
_arg5 = _local8;
};
_local7 = (_local7 * _arg6);
_local8 = (_local8 * _arg6);
_arg4 = (_arg4 * _arg6);
_arg5 = (_arg5 * _arg6);
if (_transparency){
_sourceBitmapData = new BitmapData(_local7, _local8, true, 0);
} else {
_sourceBitmapData = new BitmapData(_local7, _local8);
};
_local9 = new Matrix();
_local9.scale(_arg6, _arg6);
_sourceBitmapData.draw(_arg1, _local9);
_newBitmapData = new BitmapData(_arg4, _arg5);
_newBitmapData.copyPixels(_sourceBitmapData, new Rectangle(_arg2, _arg3, _arg4, _arg5), new Point(0, 0));
_local10 = encoder.encode(_newBitmapData);
_sourceBitmapData.dispose();
_newBitmapData.dispose();
return (_local10);
}
public function initiateURLS():void{
var _local1:String;
var _local2:String;
var _local3:String;
var _local4:String;
_local1 = _loaderInfo.url;
_local2 = "cdeprofile/imagegen/";
_local3 = "jpeg.php";
_local4 = "download.php";
if (_imageGenURL != null){
} else {
if (_loaderInfo.parameters.hasOwnProperty("imageGenURL")){
this._imageGenURL = _loaderInfo.parameters["imageGenURL"];
} else {
if (URLInfo.isLocal(_local1)){
this._imageGenURL = (("http://www.cartoondollemporium.com/" + _local2) + _local3);
} else {
if (URLInfo.getRootURL(_local1).search("puppy52") > -1){
this._imageGenURL = (("http://dev.cartoondollemporium.com/~andres/" + _local2) + _local3);
} else {
if (URLInfo.getRootURL(_local1).search("cartoondollemporium") == -1){
this._imageGenURL = (("http://www.cartoondollemporium.com/" + _local2) + _local3);
} else {
if (URLInfo.getRootURL(_local1).search("cartoondollemporium") > -1){
this._imageGenURL = (((URLInfo.getRootURL(_local1) + "/") + _local2) + _local3);
};
};
};
};
};
};
if (_downloadURL != null){
} else {
if (_loaderInfo.parameters.hasOwnProperty("downloadURL")){
this._downloadURL = _loaderInfo.parameters["downloadURL"];
} else {
if (URLInfo.isLocal(_local1)){
_downloadURL = (("http://dev.cartoondollemporium.com/~andres/" + _local2) + _local4);
} else {
if (URLInfo.getRootURL(_local1).search("puppy52") > -1){
_downloadURL = (("http://dev.cartoondollemporium.com/~andres/" + _local2) + _local4);
} else {
if (URLInfo.getRootURL(_local1).search("cartoondollemporium") == -1){
_downloadURL = (("http://www.cartoondollemporium.com/" + _local2) + _local4);
} else {
if (URLInfo.getRootURL(_local1).search("cartoondollemporium") > -1){
_downloadURL = (((URLInfo.getRootURL(_local1) + "/") + _local2) + _local4);
};
};
};
};
};
};
req = new URLRequest(this._imageGenURL);
req.method = URLRequestMethod.POST;
req.contentType = "application/octet-stream";
}
public function set onCompleteHandler(_arg1:Function):void{
_onComplete = _arg1;
}
private function onComplete(_arg1:Event):void{
var filePath:String;
var imageURL:String;
var alert:Sprite;
var txt:TextField;
var evt = _arg1;
filePath = evt.target.data.filePath;
imageURL = evt.target.data.imageURL;
if (_downloadMethod == FLASH){
alert = new Sprite();
alert.graphics.beginFill(0xDEDEDE);
alert.graphics.drawRect(0, 0, 200, 100);
txt = new TextField();
txt.autoSize = TextFieldAutoSize.LEFT;
txt.selectable = false;
txt.defaultTextFormat = new TextFormat("Arial", 20, 0, true);
txt.text = "Click To Save";
txt.x = ((alert.width / 2) - (txt.width / 2));
txt.y = 30;
alert.addChild(txt);
alert.x = ((_loaderInfo.width / 2) - (alert.width / 2));
alert.y = ((_loaderInfo.height / 2) - (alert.height / 2));
_loaderInfo.content.stage.addChild(alert);
alert.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent):void{
fr.download(new URLRequest(imageURL), ((_imageName + ".") + _ext));
_loaderInfo.content.stage.removeChild(modal);
_loaderInfo.content.stage.removeChild(alert);
});
} else {
if (_downloadMethod == JS){
navigateToURL(new URLRequest((((((((("javascript:window.open('" + _downloadURL) + "?filename=") + _imageName) + ".") + _ext) + "&file_path=") + filePath) + "', 'p', 'width=100,height=100'); void(0);")), "_self");
};
};
_inProgress = false;
}
public function generateImageForDownload(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number=0, _arg5:Number=0):void{
var _local6:Number;
var _local7:Number;
var _local8:ByteArray;
if (_inProgress){
return;
};
modal = new Sprite();
modal.graphics.beginFill(0xFFFFFF, 0.1);
modal.graphics.drawRect(0, 0, _loaderInfo.width, _loaderInfo.height);
_loaderInfo.content.stage.addChild(modal);
if (_arg4 > 2880){
throw (ArgumentError("Supplied width is too big. Must be less than or equal to 2880"));
};
if (_arg5 > 2880){
throw (ArgumentError("Supplied height is too big. Must be less than or equal to 2880"));
};
_local6 = ((_arg1.width)>2880) ? 2880 : _arg1.width;
_local7 = ((_arg1.height)>2880) ? 2880 : _arg1.height;
if (_arg4 == 0){
_arg4 = _local6;
};
if (_arg5 == 0){
_arg5 = _local7;
};
if (_transparency){
_sourceBitmapData = new BitmapData(_local6, _local7, true, 0);
_newBitmapData = new BitmapData(_arg4, _arg5, true, 0);
} else {
_sourceBitmapData = new BitmapData(_local6, _local7);
_newBitmapData = new BitmapData(_arg4, _arg5);
};
_sourceBitmapData.draw(_arg1);
_newBitmapData.copyPixels(_sourceBitmapData, new Rectangle(_arg2, _arg3, _arg4, _arg5), new Point(0, 0));
_local8 = encoder.encode(_newBitmapData);
req.data = _local8;
ld.dataFormat = URLLoaderDataFormat.VARIABLES;
ld.load(req);
_sourceBitmapData.dispose();
_newBitmapData.dispose();
_inProgress = true;
if (_onComplete != null){
_onComplete();
};
}
public function set encoderType(_arg1:String):void{
_encoderType = _arg1;
if (_arg1 == PNG){
encoder = PNGEncoder;
_ext = "png";
} else {
if (_arg1 == JPEG){
encoder = new JPGEncoder(_quality);
_ext = "jpg";
};
};
}
}
}//package com.cde.graphics
class URLInfo {
private function URLInfo(){
}
public static function getBaseURL(_arg1:String):String{
var _local2:int;
var _local3:int;
_local2 = _arg1.search(/\?/);
if (_local2 > -1){
_arg1 = _arg1.substr(0, _local2);
};
_local3 = _arg1.search(/\/[^\/]+$/);
_arg1 = _arg1.substr(0, (_local3 + 1));
return (_arg1);
}
public static function isLocal(_arg1:String):Boolean{
if (_arg1.search("file://") > -1){
return (true);
};
return (false);
}
public static function getRootURL(_arg1:String):String{
return (_arg1.substr(0, (_arg1.search(/\w\//) + 2)));
}
}
Section 14
//sound (sound)
package {
import flash.media.*;
public dynamic class sound extends Sound {
}
}//package