diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..465d326
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.swp
+RECOVER*.fla
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..465d326
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.swp
+RECOVER*.fla
diff --git a/GraphicExport-app.xml b/GraphicExport-app.xml
index 8d0c013..3fe1fc6 100644
--- a/GraphicExport-app.xml
+++ b/GraphicExport-app.xml
@@ -31,6 +31,9 @@
false
portrait
auto
+ true
+ true
+ true
false
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..465d326
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.swp
+RECOVER*.fla
diff --git a/GraphicExport-app.xml b/GraphicExport-app.xml
index 8d0c013..3fe1fc6 100644
--- a/GraphicExport-app.xml
+++ b/GraphicExport-app.xml
@@ -31,6 +31,9 @@
false
portrait
auto
+ true
+ true
+ true
false
diff --git a/GraphicExport.as b/GraphicExport.as
index 4b9b2a6..0dab2f4 100644
--- a/GraphicExport.as
+++ b/GraphicExport.as
@@ -13,6 +13,7 @@
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import com.adobe.crypto.MD5;
+ import flash.desktop.*;
import djarts.core.*;
import djarts.events.*;
@@ -42,14 +43,15 @@
import GraphicExport.AnimPiecePacker;
import GraphicExport.ScenePacker;
- import flash.filesystem.File;
-
+ import flash.filesystem.*;
public class GraphicExport extends MovieClip
{
var UILayer:MovieClip = new MovieClip();
public static var ISLOCAL = true;
+ public static var wrapper:Socket = null;
+ private static var lastData = "";
public function GraphicExport()
{
@@ -66,8 +68,88 @@
this.removeChild(newGraphicDialog);
Init();
+
+ try
+ {
+ NativeApplication.nativeApplication.addEventListener("invoke", ApplicationInvoked);
+ }
+ catch (e)
+ {
+ // not an air runtime app
+ ConnectWrapper(7890); // try default port
+ }
+
}
+ public function ApplicationInvoked(e)
+ {
+ if (e.arguments.length == 1)
+ {
+ ConnectWrapper(parseInt(e.arguments[0]));
+ }
+ else
+ {
+ StartUI();
+ }
+ }
+
+ private function WrapperIOError(e)
+ {
+ Log("Couldn't connect wrapper");
+ Log(e.toString());
+ StartUI();
+ }
+
+ private function WrapperConnect(e:Event)
+ {
+ wrapper = e.target as Socket;
+ Log("Wrapper Connected");
+ _strace("Wrapper Connected");
+ wrapper.addEventListener(ProgressEvent.SOCKET_DATA, WrapperData);
+ }
+
+ private function WrapperData(e:ProgressEvent)
+ {
+ var data:String = wrapper.readUTFBytes(wrapper.bytesAvailable);
+ for (var i = 0; i < data.length; i++)
+ {
+ var c = data.charAt(i);
+ if (c == "\n" || c == "\r")
+ {
+ if (lastData != "") DispatchCommand(lastData);
+ lastData = "";
+ }
+ else
+ {
+ lastData += c;
+ }
+ }
+ }
+
+ private function DispatchCommand(command)
+ {
+ Log("Wrapper Command: " + command);
+ _strace("exeucting: " + command);
+ }
+
+ private function ConnectWrapper(port)
+ {
+ Log("Attempting to connect wrapper");
+ try
+ {
+ var s = new Socket();
+ s.addEventListener(IOErrorEvent.IO_ERROR, WrapperIOError);
+ s.addEventListener(Event.CONNECT, WrapperConnect);
+ s.connect("localhost", port);
+ } catch (e)
+ {
+ Log("Error establishing wrapper connection");
+ StartUI();
+ return;
+ }
+ }
+
+
public function Init()
{
@@ -89,17 +171,11 @@
FlashConsole.Instance().Admin = true;
- //GameData.Instance().LoadData(GameDataLoaded);
-
stage.addEventListener(Event.ENTER_FRAME, EnterFrame);
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUp);
this.addChild(previewHolder);
CreateUI();
- ActivateExportButtons(false);
-
- GameDataLoaded();
-
}
var exportButtons:Array = [];
@@ -174,7 +250,12 @@
edgeExpand.Checked = PNGExportHelper.UseExpandedBitmaps;
this.skeletal_scale.addEventListener(Event.CHANGE, SkeletalScaleChanged);
- ShowNewGraphicDialog();
+ }
+
+ public function StartUI()
+ {
+ ActivateExportButtons(true);
+ ShowNewGraphicDialog();
}
public function ShowNewGraphicDialog()
@@ -499,69 +580,20 @@
{
fileExport.Save(lastCallback);
}
-
+
+ /*
if (saveMode == UPLOAD)
{
var uploadURL = "";
fileExport.Upload(uploadURL, assetDef.Folder, lastCallback);
}
+ */
if (saveMode == TEST && lastCallback) lastCallback();
}
- var multiImport:MultiImportFileBrowser;
- public function GameDataLoaded()
- {
- ActivateExportButtons(true);
- _trace("Game Data Loaded!");
-
- multiImport = new MultiImportFileBrowser();
- }
-
- public function ShowMultiImportDialog()
- {
- multiImport.Show(this);
- multiImport.x = 100;
- multiImport.y = 60;
- }
-
- protected var uploadCallback;
- public function Upload(filename, data, callback)
- {
- this.uploadCallback = callback;
- var loader = new URLLoader();
-
- var receiverURL = "";
-
-
- var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
- var uploadRequest:URLRequest = new URLRequest(receiverURL+"?name="+filename);
- uploadRequest.requestHeaders.push(header);
- uploadRequest.method = URLRequestMethod.POST;
- uploadRequest.data = data;
-
- loader.addEventListener(Event.COMPLETE, onLoaded);
- loader.addEventListener( IOErrorEvent.IO_ERROR, catchIOError);
-
- loader.load(uploadRequest);
-
- _trace("uploading "+filename);
-
- }
-
- public function onLoaded(event)
- {
- _trace("Upload Complete");
- if (uploadCallback) uploadCallback();
- }
-
- function catchIOError(event:IOErrorEvent)
- {
- trace("Error caught: "+event.type);
- }
-
}
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..465d326
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.swp
+RECOVER*.fla
diff --git a/GraphicExport-app.xml b/GraphicExport-app.xml
index 8d0c013..3fe1fc6 100644
--- a/GraphicExport-app.xml
+++ b/GraphicExport-app.xml
@@ -31,6 +31,9 @@
false
portrait
auto
+ true
+ true
+ true
false
diff --git a/GraphicExport.as b/GraphicExport.as
index 4b9b2a6..0dab2f4 100644
--- a/GraphicExport.as
+++ b/GraphicExport.as
@@ -13,6 +13,7 @@
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import com.adobe.crypto.MD5;
+ import flash.desktop.*;
import djarts.core.*;
import djarts.events.*;
@@ -42,14 +43,15 @@
import GraphicExport.AnimPiecePacker;
import GraphicExport.ScenePacker;
- import flash.filesystem.File;
-
+ import flash.filesystem.*;
public class GraphicExport extends MovieClip
{
var UILayer:MovieClip = new MovieClip();
public static var ISLOCAL = true;
+ public static var wrapper:Socket = null;
+ private static var lastData = "";
public function GraphicExport()
{
@@ -66,8 +68,88 @@
this.removeChild(newGraphicDialog);
Init();
+
+ try
+ {
+ NativeApplication.nativeApplication.addEventListener("invoke", ApplicationInvoked);
+ }
+ catch (e)
+ {
+ // not an air runtime app
+ ConnectWrapper(7890); // try default port
+ }
+
}
+ public function ApplicationInvoked(e)
+ {
+ if (e.arguments.length == 1)
+ {
+ ConnectWrapper(parseInt(e.arguments[0]));
+ }
+ else
+ {
+ StartUI();
+ }
+ }
+
+ private function WrapperIOError(e)
+ {
+ Log("Couldn't connect wrapper");
+ Log(e.toString());
+ StartUI();
+ }
+
+ private function WrapperConnect(e:Event)
+ {
+ wrapper = e.target as Socket;
+ Log("Wrapper Connected");
+ _strace("Wrapper Connected");
+ wrapper.addEventListener(ProgressEvent.SOCKET_DATA, WrapperData);
+ }
+
+ private function WrapperData(e:ProgressEvent)
+ {
+ var data:String = wrapper.readUTFBytes(wrapper.bytesAvailable);
+ for (var i = 0; i < data.length; i++)
+ {
+ var c = data.charAt(i);
+ if (c == "\n" || c == "\r")
+ {
+ if (lastData != "") DispatchCommand(lastData);
+ lastData = "";
+ }
+ else
+ {
+ lastData += c;
+ }
+ }
+ }
+
+ private function DispatchCommand(command)
+ {
+ Log("Wrapper Command: " + command);
+ _strace("exeucting: " + command);
+ }
+
+ private function ConnectWrapper(port)
+ {
+ Log("Attempting to connect wrapper");
+ try
+ {
+ var s = new Socket();
+ s.addEventListener(IOErrorEvent.IO_ERROR, WrapperIOError);
+ s.addEventListener(Event.CONNECT, WrapperConnect);
+ s.connect("localhost", port);
+ } catch (e)
+ {
+ Log("Error establishing wrapper connection");
+ StartUI();
+ return;
+ }
+ }
+
+
public function Init()
{
@@ -89,17 +171,11 @@
FlashConsole.Instance().Admin = true;
- //GameData.Instance().LoadData(GameDataLoaded);
-
stage.addEventListener(Event.ENTER_FRAME, EnterFrame);
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUp);
this.addChild(previewHolder);
CreateUI();
- ActivateExportButtons(false);
-
- GameDataLoaded();
-
}
var exportButtons:Array = [];
@@ -174,7 +250,12 @@
edgeExpand.Checked = PNGExportHelper.UseExpandedBitmaps;
this.skeletal_scale.addEventListener(Event.CHANGE, SkeletalScaleChanged);
- ShowNewGraphicDialog();
+ }
+
+ public function StartUI()
+ {
+ ActivateExportButtons(true);
+ ShowNewGraphicDialog();
}
public function ShowNewGraphicDialog()
@@ -499,69 +580,20 @@
{
fileExport.Save(lastCallback);
}
-
+
+ /*
if (saveMode == UPLOAD)
{
var uploadURL = "";
fileExport.Upload(uploadURL, assetDef.Folder, lastCallback);
}
+ */
if (saveMode == TEST && lastCallback) lastCallback();
}
- var multiImport:MultiImportFileBrowser;
- public function GameDataLoaded()
- {
- ActivateExportButtons(true);
- _trace("Game Data Loaded!");
-
- multiImport = new MultiImportFileBrowser();
- }
-
- public function ShowMultiImportDialog()
- {
- multiImport.Show(this);
- multiImport.x = 100;
- multiImport.y = 60;
- }
-
- protected var uploadCallback;
- public function Upload(filename, data, callback)
- {
- this.uploadCallback = callback;
- var loader = new URLLoader();
-
- var receiverURL = "";
-
-
- var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
- var uploadRequest:URLRequest = new URLRequest(receiverURL+"?name="+filename);
- uploadRequest.requestHeaders.push(header);
- uploadRequest.method = URLRequestMethod.POST;
- uploadRequest.data = data;
-
- loader.addEventListener(Event.COMPLETE, onLoaded);
- loader.addEventListener( IOErrorEvent.IO_ERROR, catchIOError);
-
- loader.load(uploadRequest);
-
- _trace("uploading "+filename);
-
- }
-
- public function onLoaded(event)
- {
- _trace("Upload Complete");
- if (uploadCallback) uploadCallback();
- }
-
- function catchIOError(event:IOErrorEvent)
- {
- trace("Error caught: "+event.type);
- }
-
}
diff --git a/GraphicExport.exe b/GraphicExport.exe
new file mode 100644
index 0000000..97303ae
--- /dev/null
+++ b/GraphicExport.exe
Binary files differ
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..465d326
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.swp
+RECOVER*.fla
diff --git a/GraphicExport-app.xml b/GraphicExport-app.xml
index 8d0c013..3fe1fc6 100644
--- a/GraphicExport-app.xml
+++ b/GraphicExport-app.xml
@@ -31,6 +31,9 @@
false
portrait
auto
+ true
+ true
+ true
false
diff --git a/GraphicExport.as b/GraphicExport.as
index 4b9b2a6..0dab2f4 100644
--- a/GraphicExport.as
+++ b/GraphicExport.as
@@ -13,6 +13,7 @@
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import com.adobe.crypto.MD5;
+ import flash.desktop.*;
import djarts.core.*;
import djarts.events.*;
@@ -42,14 +43,15 @@
import GraphicExport.AnimPiecePacker;
import GraphicExport.ScenePacker;
- import flash.filesystem.File;
-
+ import flash.filesystem.*;
public class GraphicExport extends MovieClip
{
var UILayer:MovieClip = new MovieClip();
public static var ISLOCAL = true;
+ public static var wrapper:Socket = null;
+ private static var lastData = "";
public function GraphicExport()
{
@@ -66,8 +68,88 @@
this.removeChild(newGraphicDialog);
Init();
+
+ try
+ {
+ NativeApplication.nativeApplication.addEventListener("invoke", ApplicationInvoked);
+ }
+ catch (e)
+ {
+ // not an air runtime app
+ ConnectWrapper(7890); // try default port
+ }
+
}
+ public function ApplicationInvoked(e)
+ {
+ if (e.arguments.length == 1)
+ {
+ ConnectWrapper(parseInt(e.arguments[0]));
+ }
+ else
+ {
+ StartUI();
+ }
+ }
+
+ private function WrapperIOError(e)
+ {
+ Log("Couldn't connect wrapper");
+ Log(e.toString());
+ StartUI();
+ }
+
+ private function WrapperConnect(e:Event)
+ {
+ wrapper = e.target as Socket;
+ Log("Wrapper Connected");
+ _strace("Wrapper Connected");
+ wrapper.addEventListener(ProgressEvent.SOCKET_DATA, WrapperData);
+ }
+
+ private function WrapperData(e:ProgressEvent)
+ {
+ var data:String = wrapper.readUTFBytes(wrapper.bytesAvailable);
+ for (var i = 0; i < data.length; i++)
+ {
+ var c = data.charAt(i);
+ if (c == "\n" || c == "\r")
+ {
+ if (lastData != "") DispatchCommand(lastData);
+ lastData = "";
+ }
+ else
+ {
+ lastData += c;
+ }
+ }
+ }
+
+ private function DispatchCommand(command)
+ {
+ Log("Wrapper Command: " + command);
+ _strace("exeucting: " + command);
+ }
+
+ private function ConnectWrapper(port)
+ {
+ Log("Attempting to connect wrapper");
+ try
+ {
+ var s = new Socket();
+ s.addEventListener(IOErrorEvent.IO_ERROR, WrapperIOError);
+ s.addEventListener(Event.CONNECT, WrapperConnect);
+ s.connect("localhost", port);
+ } catch (e)
+ {
+ Log("Error establishing wrapper connection");
+ StartUI();
+ return;
+ }
+ }
+
+
public function Init()
{
@@ -89,17 +171,11 @@
FlashConsole.Instance().Admin = true;
- //GameData.Instance().LoadData(GameDataLoaded);
-
stage.addEventListener(Event.ENTER_FRAME, EnterFrame);
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUp);
this.addChild(previewHolder);
CreateUI();
- ActivateExportButtons(false);
-
- GameDataLoaded();
-
}
var exportButtons:Array = [];
@@ -174,7 +250,12 @@
edgeExpand.Checked = PNGExportHelper.UseExpandedBitmaps;
this.skeletal_scale.addEventListener(Event.CHANGE, SkeletalScaleChanged);
- ShowNewGraphicDialog();
+ }
+
+ public function StartUI()
+ {
+ ActivateExportButtons(true);
+ ShowNewGraphicDialog();
}
public function ShowNewGraphicDialog()
@@ -499,69 +580,20 @@
{
fileExport.Save(lastCallback);
}
-
+
+ /*
if (saveMode == UPLOAD)
{
var uploadURL = "";
fileExport.Upload(uploadURL, assetDef.Folder, lastCallback);
}
+ */
if (saveMode == TEST && lastCallback) lastCallback();
}
- var multiImport:MultiImportFileBrowser;
- public function GameDataLoaded()
- {
- ActivateExportButtons(true);
- _trace("Game Data Loaded!");
-
- multiImport = new MultiImportFileBrowser();
- }
-
- public function ShowMultiImportDialog()
- {
- multiImport.Show(this);
- multiImport.x = 100;
- multiImport.y = 60;
- }
-
- protected var uploadCallback;
- public function Upload(filename, data, callback)
- {
- this.uploadCallback = callback;
- var loader = new URLLoader();
-
- var receiverURL = "";
-
-
- var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
- var uploadRequest:URLRequest = new URLRequest(receiverURL+"?name="+filename);
- uploadRequest.requestHeaders.push(header);
- uploadRequest.method = URLRequestMethod.POST;
- uploadRequest.data = data;
-
- loader.addEventListener(Event.COMPLETE, onLoaded);
- loader.addEventListener( IOErrorEvent.IO_ERROR, catchIOError);
-
- loader.load(uploadRequest);
-
- _trace("uploading "+filename);
-
- }
-
- public function onLoaded(event)
- {
- _trace("Upload Complete");
- if (uploadCallback) uploadCallback();
- }
-
- function catchIOError(event:IOErrorEvent)
- {
- trace("Error caught: "+event.type);
- }
-
}
diff --git a/GraphicExport.exe b/GraphicExport.exe
new file mode 100644
index 0000000..97303ae
--- /dev/null
+++ b/GraphicExport.exe
Binary files differ
diff --git a/GraphicExport.fla b/GraphicExport.fla
index 4dd9c51..6a5c953 100644
--- a/GraphicExport.fla
+++ b/GraphicExport.fla
Binary files differ
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..465d326
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.swp
+RECOVER*.fla
diff --git a/GraphicExport-app.xml b/GraphicExport-app.xml
index 8d0c013..3fe1fc6 100644
--- a/GraphicExport-app.xml
+++ b/GraphicExport-app.xml
@@ -31,6 +31,9 @@
false
portrait
auto
+ true
+ true
+ true
false
diff --git a/GraphicExport.as b/GraphicExport.as
index 4b9b2a6..0dab2f4 100644
--- a/GraphicExport.as
+++ b/GraphicExport.as
@@ -13,6 +13,7 @@
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import com.adobe.crypto.MD5;
+ import flash.desktop.*;
import djarts.core.*;
import djarts.events.*;
@@ -42,14 +43,15 @@
import GraphicExport.AnimPiecePacker;
import GraphicExport.ScenePacker;
- import flash.filesystem.File;
-
+ import flash.filesystem.*;
public class GraphicExport extends MovieClip
{
var UILayer:MovieClip = new MovieClip();
public static var ISLOCAL = true;
+ public static var wrapper:Socket = null;
+ private static var lastData = "";
public function GraphicExport()
{
@@ -66,8 +68,88 @@
this.removeChild(newGraphicDialog);
Init();
+
+ try
+ {
+ NativeApplication.nativeApplication.addEventListener("invoke", ApplicationInvoked);
+ }
+ catch (e)
+ {
+ // not an air runtime app
+ ConnectWrapper(7890); // try default port
+ }
+
}
+ public function ApplicationInvoked(e)
+ {
+ if (e.arguments.length == 1)
+ {
+ ConnectWrapper(parseInt(e.arguments[0]));
+ }
+ else
+ {
+ StartUI();
+ }
+ }
+
+ private function WrapperIOError(e)
+ {
+ Log("Couldn't connect wrapper");
+ Log(e.toString());
+ StartUI();
+ }
+
+ private function WrapperConnect(e:Event)
+ {
+ wrapper = e.target as Socket;
+ Log("Wrapper Connected");
+ _strace("Wrapper Connected");
+ wrapper.addEventListener(ProgressEvent.SOCKET_DATA, WrapperData);
+ }
+
+ private function WrapperData(e:ProgressEvent)
+ {
+ var data:String = wrapper.readUTFBytes(wrapper.bytesAvailable);
+ for (var i = 0; i < data.length; i++)
+ {
+ var c = data.charAt(i);
+ if (c == "\n" || c == "\r")
+ {
+ if (lastData != "") DispatchCommand(lastData);
+ lastData = "";
+ }
+ else
+ {
+ lastData += c;
+ }
+ }
+ }
+
+ private function DispatchCommand(command)
+ {
+ Log("Wrapper Command: " + command);
+ _strace("exeucting: " + command);
+ }
+
+ private function ConnectWrapper(port)
+ {
+ Log("Attempting to connect wrapper");
+ try
+ {
+ var s = new Socket();
+ s.addEventListener(IOErrorEvent.IO_ERROR, WrapperIOError);
+ s.addEventListener(Event.CONNECT, WrapperConnect);
+ s.connect("localhost", port);
+ } catch (e)
+ {
+ Log("Error establishing wrapper connection");
+ StartUI();
+ return;
+ }
+ }
+
+
public function Init()
{
@@ -89,17 +171,11 @@
FlashConsole.Instance().Admin = true;
- //GameData.Instance().LoadData(GameDataLoaded);
-
stage.addEventListener(Event.ENTER_FRAME, EnterFrame);
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUp);
this.addChild(previewHolder);
CreateUI();
- ActivateExportButtons(false);
-
- GameDataLoaded();
-
}
var exportButtons:Array = [];
@@ -174,7 +250,12 @@
edgeExpand.Checked = PNGExportHelper.UseExpandedBitmaps;
this.skeletal_scale.addEventListener(Event.CHANGE, SkeletalScaleChanged);
- ShowNewGraphicDialog();
+ }
+
+ public function StartUI()
+ {
+ ActivateExportButtons(true);
+ ShowNewGraphicDialog();
}
public function ShowNewGraphicDialog()
@@ -499,69 +580,20 @@
{
fileExport.Save(lastCallback);
}
-
+
+ /*
if (saveMode == UPLOAD)
{
var uploadURL = "";
fileExport.Upload(uploadURL, assetDef.Folder, lastCallback);
}
+ */
if (saveMode == TEST && lastCallback) lastCallback();
}
- var multiImport:MultiImportFileBrowser;
- public function GameDataLoaded()
- {
- ActivateExportButtons(true);
- _trace("Game Data Loaded!");
-
- multiImport = new MultiImportFileBrowser();
- }
-
- public function ShowMultiImportDialog()
- {
- multiImport.Show(this);
- multiImport.x = 100;
- multiImport.y = 60;
- }
-
- protected var uploadCallback;
- public function Upload(filename, data, callback)
- {
- this.uploadCallback = callback;
- var loader = new URLLoader();
-
- var receiverURL = "";
-
-
- var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
- var uploadRequest:URLRequest = new URLRequest(receiverURL+"?name="+filename);
- uploadRequest.requestHeaders.push(header);
- uploadRequest.method = URLRequestMethod.POST;
- uploadRequest.data = data;
-
- loader.addEventListener(Event.COMPLETE, onLoaded);
- loader.addEventListener( IOErrorEvent.IO_ERROR, catchIOError);
-
- loader.load(uploadRequest);
-
- _trace("uploading "+filename);
-
- }
-
- public function onLoaded(event)
- {
- _trace("Upload Complete");
- if (uploadCallback) uploadCallback();
- }
-
- function catchIOError(event:IOErrorEvent)
- {
- trace("Error caught: "+event.type);
- }
-
}
diff --git a/GraphicExport.exe b/GraphicExport.exe
new file mode 100644
index 0000000..97303ae
--- /dev/null
+++ b/GraphicExport.exe
Binary files differ
diff --git a/GraphicExport.fla b/GraphicExport.fla
index 4dd9c51..6a5c953 100644
--- a/GraphicExport.fla
+++ b/GraphicExport.fla
Binary files differ
diff --git a/GraphicExport.swf b/GraphicExport.swf
index f7addf1..9a77a8b 100644
--- a/GraphicExport.swf
+++ b/GraphicExport.swf
Binary files differ
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..465d326
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.swp
+RECOVER*.fla
diff --git a/GraphicExport-app.xml b/GraphicExport-app.xml
index 8d0c013..3fe1fc6 100644
--- a/GraphicExport-app.xml
+++ b/GraphicExport-app.xml
@@ -31,6 +31,9 @@
false
portrait
auto
+ true
+ true
+ true
false
diff --git a/GraphicExport.as b/GraphicExport.as
index 4b9b2a6..0dab2f4 100644
--- a/GraphicExport.as
+++ b/GraphicExport.as
@@ -13,6 +13,7 @@
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import com.adobe.crypto.MD5;
+ import flash.desktop.*;
import djarts.core.*;
import djarts.events.*;
@@ -42,14 +43,15 @@
import GraphicExport.AnimPiecePacker;
import GraphicExport.ScenePacker;
- import flash.filesystem.File;
-
+ import flash.filesystem.*;
public class GraphicExport extends MovieClip
{
var UILayer:MovieClip = new MovieClip();
public static var ISLOCAL = true;
+ public static var wrapper:Socket = null;
+ private static var lastData = "";
public function GraphicExport()
{
@@ -66,8 +68,88 @@
this.removeChild(newGraphicDialog);
Init();
+
+ try
+ {
+ NativeApplication.nativeApplication.addEventListener("invoke", ApplicationInvoked);
+ }
+ catch (e)
+ {
+ // not an air runtime app
+ ConnectWrapper(7890); // try default port
+ }
+
}
+ public function ApplicationInvoked(e)
+ {
+ if (e.arguments.length == 1)
+ {
+ ConnectWrapper(parseInt(e.arguments[0]));
+ }
+ else
+ {
+ StartUI();
+ }
+ }
+
+ private function WrapperIOError(e)
+ {
+ Log("Couldn't connect wrapper");
+ Log(e.toString());
+ StartUI();
+ }
+
+ private function WrapperConnect(e:Event)
+ {
+ wrapper = e.target as Socket;
+ Log("Wrapper Connected");
+ _strace("Wrapper Connected");
+ wrapper.addEventListener(ProgressEvent.SOCKET_DATA, WrapperData);
+ }
+
+ private function WrapperData(e:ProgressEvent)
+ {
+ var data:String = wrapper.readUTFBytes(wrapper.bytesAvailable);
+ for (var i = 0; i < data.length; i++)
+ {
+ var c = data.charAt(i);
+ if (c == "\n" || c == "\r")
+ {
+ if (lastData != "") DispatchCommand(lastData);
+ lastData = "";
+ }
+ else
+ {
+ lastData += c;
+ }
+ }
+ }
+
+ private function DispatchCommand(command)
+ {
+ Log("Wrapper Command: " + command);
+ _strace("exeucting: " + command);
+ }
+
+ private function ConnectWrapper(port)
+ {
+ Log("Attempting to connect wrapper");
+ try
+ {
+ var s = new Socket();
+ s.addEventListener(IOErrorEvent.IO_ERROR, WrapperIOError);
+ s.addEventListener(Event.CONNECT, WrapperConnect);
+ s.connect("localhost", port);
+ } catch (e)
+ {
+ Log("Error establishing wrapper connection");
+ StartUI();
+ return;
+ }
+ }
+
+
public function Init()
{
@@ -89,17 +171,11 @@
FlashConsole.Instance().Admin = true;
- //GameData.Instance().LoadData(GameDataLoaded);
-
stage.addEventListener(Event.ENTER_FRAME, EnterFrame);
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUp);
this.addChild(previewHolder);
CreateUI();
- ActivateExportButtons(false);
-
- GameDataLoaded();
-
}
var exportButtons:Array = [];
@@ -174,7 +250,12 @@
edgeExpand.Checked = PNGExportHelper.UseExpandedBitmaps;
this.skeletal_scale.addEventListener(Event.CHANGE, SkeletalScaleChanged);
- ShowNewGraphicDialog();
+ }
+
+ public function StartUI()
+ {
+ ActivateExportButtons(true);
+ ShowNewGraphicDialog();
}
public function ShowNewGraphicDialog()
@@ -499,69 +580,20 @@
{
fileExport.Save(lastCallback);
}
-
+
+ /*
if (saveMode == UPLOAD)
{
var uploadURL = "";
fileExport.Upload(uploadURL, assetDef.Folder, lastCallback);
}
+ */
if (saveMode == TEST && lastCallback) lastCallback();
}
- var multiImport:MultiImportFileBrowser;
- public function GameDataLoaded()
- {
- ActivateExportButtons(true);
- _trace("Game Data Loaded!");
-
- multiImport = new MultiImportFileBrowser();
- }
-
- public function ShowMultiImportDialog()
- {
- multiImport.Show(this);
- multiImport.x = 100;
- multiImport.y = 60;
- }
-
- protected var uploadCallback;
- public function Upload(filename, data, callback)
- {
- this.uploadCallback = callback;
- var loader = new URLLoader();
-
- var receiverURL = "";
-
-
- var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
- var uploadRequest:URLRequest = new URLRequest(receiverURL+"?name="+filename);
- uploadRequest.requestHeaders.push(header);
- uploadRequest.method = URLRequestMethod.POST;
- uploadRequest.data = data;
-
- loader.addEventListener(Event.COMPLETE, onLoaded);
- loader.addEventListener( IOErrorEvent.IO_ERROR, catchIOError);
-
- loader.load(uploadRequest);
-
- _trace("uploading "+filename);
-
- }
-
- public function onLoaded(event)
- {
- _trace("Upload Complete");
- if (uploadCallback) uploadCallback();
- }
-
- function catchIOError(event:IOErrorEvent)
- {
- trace("Error caught: "+event.type);
- }
-
}
diff --git a/GraphicExport.exe b/GraphicExport.exe
new file mode 100644
index 0000000..97303ae
--- /dev/null
+++ b/GraphicExport.exe
Binary files differ
diff --git a/GraphicExport.fla b/GraphicExport.fla
index 4dd9c51..6a5c953 100644
--- a/GraphicExport.fla
+++ b/GraphicExport.fla
Binary files differ
diff --git a/GraphicExport.swf b/GraphicExport.swf
index f7addf1..9a77a8b 100644
--- a/GraphicExport.swf
+++ b/GraphicExport.swf
Binary files differ
diff --git a/NewGraphicDialog.as b/NewGraphicDialog.as
index 78359ad..c2d896d 100644
--- a/NewGraphicDialog.as
+++ b/NewGraphicDialog.as
@@ -39,9 +39,6 @@
newTestButton.y = testButton.y + (newTestButton.height / 2);
addChild(newTestButton);
- closeButton.addEventListener(MouseEvent.CLICK, CloseClicked);
- (closeButton.getChildAt(0) as MovieClip).stop();
-
this.removeChild(typePlaceholderButton);
var typeX = typePlaceholderButton.x;
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..465d326
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.swp
+RECOVER*.fla
diff --git a/GraphicExport-app.xml b/GraphicExport-app.xml
index 8d0c013..3fe1fc6 100644
--- a/GraphicExport-app.xml
+++ b/GraphicExport-app.xml
@@ -31,6 +31,9 @@
false
portrait
auto
+ true
+ true
+ true
false
diff --git a/GraphicExport.as b/GraphicExport.as
index 4b9b2a6..0dab2f4 100644
--- a/GraphicExport.as
+++ b/GraphicExport.as
@@ -13,6 +13,7 @@
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import com.adobe.crypto.MD5;
+ import flash.desktop.*;
import djarts.core.*;
import djarts.events.*;
@@ -42,14 +43,15 @@
import GraphicExport.AnimPiecePacker;
import GraphicExport.ScenePacker;
- import flash.filesystem.File;
-
+ import flash.filesystem.*;
public class GraphicExport extends MovieClip
{
var UILayer:MovieClip = new MovieClip();
public static var ISLOCAL = true;
+ public static var wrapper:Socket = null;
+ private static var lastData = "";
public function GraphicExport()
{
@@ -66,8 +68,88 @@
this.removeChild(newGraphicDialog);
Init();
+
+ try
+ {
+ NativeApplication.nativeApplication.addEventListener("invoke", ApplicationInvoked);
+ }
+ catch (e)
+ {
+ // not an air runtime app
+ ConnectWrapper(7890); // try default port
+ }
+
}
+ public function ApplicationInvoked(e)
+ {
+ if (e.arguments.length == 1)
+ {
+ ConnectWrapper(parseInt(e.arguments[0]));
+ }
+ else
+ {
+ StartUI();
+ }
+ }
+
+ private function WrapperIOError(e)
+ {
+ Log("Couldn't connect wrapper");
+ Log(e.toString());
+ StartUI();
+ }
+
+ private function WrapperConnect(e:Event)
+ {
+ wrapper = e.target as Socket;
+ Log("Wrapper Connected");
+ _strace("Wrapper Connected");
+ wrapper.addEventListener(ProgressEvent.SOCKET_DATA, WrapperData);
+ }
+
+ private function WrapperData(e:ProgressEvent)
+ {
+ var data:String = wrapper.readUTFBytes(wrapper.bytesAvailable);
+ for (var i = 0; i < data.length; i++)
+ {
+ var c = data.charAt(i);
+ if (c == "\n" || c == "\r")
+ {
+ if (lastData != "") DispatchCommand(lastData);
+ lastData = "";
+ }
+ else
+ {
+ lastData += c;
+ }
+ }
+ }
+
+ private function DispatchCommand(command)
+ {
+ Log("Wrapper Command: " + command);
+ _strace("exeucting: " + command);
+ }
+
+ private function ConnectWrapper(port)
+ {
+ Log("Attempting to connect wrapper");
+ try
+ {
+ var s = new Socket();
+ s.addEventListener(IOErrorEvent.IO_ERROR, WrapperIOError);
+ s.addEventListener(Event.CONNECT, WrapperConnect);
+ s.connect("localhost", port);
+ } catch (e)
+ {
+ Log("Error establishing wrapper connection");
+ StartUI();
+ return;
+ }
+ }
+
+
public function Init()
{
@@ -89,17 +171,11 @@
FlashConsole.Instance().Admin = true;
- //GameData.Instance().LoadData(GameDataLoaded);
-
stage.addEventListener(Event.ENTER_FRAME, EnterFrame);
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUp);
this.addChild(previewHolder);
CreateUI();
- ActivateExportButtons(false);
-
- GameDataLoaded();
-
}
var exportButtons:Array = [];
@@ -174,7 +250,12 @@
edgeExpand.Checked = PNGExportHelper.UseExpandedBitmaps;
this.skeletal_scale.addEventListener(Event.CHANGE, SkeletalScaleChanged);
- ShowNewGraphicDialog();
+ }
+
+ public function StartUI()
+ {
+ ActivateExportButtons(true);
+ ShowNewGraphicDialog();
}
public function ShowNewGraphicDialog()
@@ -499,69 +580,20 @@
{
fileExport.Save(lastCallback);
}
-
+
+ /*
if (saveMode == UPLOAD)
{
var uploadURL = "";
fileExport.Upload(uploadURL, assetDef.Folder, lastCallback);
}
+ */
if (saveMode == TEST && lastCallback) lastCallback();
}
- var multiImport:MultiImportFileBrowser;
- public function GameDataLoaded()
- {
- ActivateExportButtons(true);
- _trace("Game Data Loaded!");
-
- multiImport = new MultiImportFileBrowser();
- }
-
- public function ShowMultiImportDialog()
- {
- multiImport.Show(this);
- multiImport.x = 100;
- multiImport.y = 60;
- }
-
- protected var uploadCallback;
- public function Upload(filename, data, callback)
- {
- this.uploadCallback = callback;
- var loader = new URLLoader();
-
- var receiverURL = "";
-
-
- var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
- var uploadRequest:URLRequest = new URLRequest(receiverURL+"?name="+filename);
- uploadRequest.requestHeaders.push(header);
- uploadRequest.method = URLRequestMethod.POST;
- uploadRequest.data = data;
-
- loader.addEventListener(Event.COMPLETE, onLoaded);
- loader.addEventListener( IOErrorEvent.IO_ERROR, catchIOError);
-
- loader.load(uploadRequest);
-
- _trace("uploading "+filename);
-
- }
-
- public function onLoaded(event)
- {
- _trace("Upload Complete");
- if (uploadCallback) uploadCallback();
- }
-
- function catchIOError(event:IOErrorEvent)
- {
- trace("Error caught: "+event.type);
- }
-
}
diff --git a/GraphicExport.exe b/GraphicExport.exe
new file mode 100644
index 0000000..97303ae
--- /dev/null
+++ b/GraphicExport.exe
Binary files differ
diff --git a/GraphicExport.fla b/GraphicExport.fla
index 4dd9c51..6a5c953 100644
--- a/GraphicExport.fla
+++ b/GraphicExport.fla
Binary files differ
diff --git a/GraphicExport.swf b/GraphicExport.swf
index f7addf1..9a77a8b 100644
--- a/GraphicExport.swf
+++ b/GraphicExport.swf
Binary files differ
diff --git a/NewGraphicDialog.as b/NewGraphicDialog.as
index 78359ad..c2d896d 100644
--- a/NewGraphicDialog.as
+++ b/NewGraphicDialog.as
@@ -39,9 +39,6 @@
newTestButton.y = testButton.y + (newTestButton.height / 2);
addChild(newTestButton);
- closeButton.addEventListener(MouseEvent.CLICK, CloseClicked);
- (closeButton.getChildAt(0) as MovieClip).stop();
-
this.removeChild(typePlaceholderButton);
var typeX = typePlaceholderButton.x;
diff --git a/_strace.as b/_strace.as
new file mode 100644
index 0000000..e2270cd
--- /dev/null
+++ b/_strace.as
@@ -0,0 +1,12 @@
+package
+{
+ public function _strace(str)
+ {
+ _trace(str);
+ if (GraphicExport.wrapper != null)
+ {
+ GraphicExport.wrapper.writeUTFBytes(str + "\n");
+ GraphicExport.wrapper.flush();
+ }
+ }
+}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..465d326
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.swp
+RECOVER*.fla
diff --git a/GraphicExport-app.xml b/GraphicExport-app.xml
index 8d0c013..3fe1fc6 100644
--- a/GraphicExport-app.xml
+++ b/GraphicExport-app.xml
@@ -31,6 +31,9 @@
false
portrait
auto
+ true
+ true
+ true
false
diff --git a/GraphicExport.as b/GraphicExport.as
index 4b9b2a6..0dab2f4 100644
--- a/GraphicExport.as
+++ b/GraphicExport.as
@@ -13,6 +13,7 @@
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import com.adobe.crypto.MD5;
+ import flash.desktop.*;
import djarts.core.*;
import djarts.events.*;
@@ -42,14 +43,15 @@
import GraphicExport.AnimPiecePacker;
import GraphicExport.ScenePacker;
- import flash.filesystem.File;
-
+ import flash.filesystem.*;
public class GraphicExport extends MovieClip
{
var UILayer:MovieClip = new MovieClip();
public static var ISLOCAL = true;
+ public static var wrapper:Socket = null;
+ private static var lastData = "";
public function GraphicExport()
{
@@ -66,8 +68,88 @@
this.removeChild(newGraphicDialog);
Init();
+
+ try
+ {
+ NativeApplication.nativeApplication.addEventListener("invoke", ApplicationInvoked);
+ }
+ catch (e)
+ {
+ // not an air runtime app
+ ConnectWrapper(7890); // try default port
+ }
+
}
+ public function ApplicationInvoked(e)
+ {
+ if (e.arguments.length == 1)
+ {
+ ConnectWrapper(parseInt(e.arguments[0]));
+ }
+ else
+ {
+ StartUI();
+ }
+ }
+
+ private function WrapperIOError(e)
+ {
+ Log("Couldn't connect wrapper");
+ Log(e.toString());
+ StartUI();
+ }
+
+ private function WrapperConnect(e:Event)
+ {
+ wrapper = e.target as Socket;
+ Log("Wrapper Connected");
+ _strace("Wrapper Connected");
+ wrapper.addEventListener(ProgressEvent.SOCKET_DATA, WrapperData);
+ }
+
+ private function WrapperData(e:ProgressEvent)
+ {
+ var data:String = wrapper.readUTFBytes(wrapper.bytesAvailable);
+ for (var i = 0; i < data.length; i++)
+ {
+ var c = data.charAt(i);
+ if (c == "\n" || c == "\r")
+ {
+ if (lastData != "") DispatchCommand(lastData);
+ lastData = "";
+ }
+ else
+ {
+ lastData += c;
+ }
+ }
+ }
+
+ private function DispatchCommand(command)
+ {
+ Log("Wrapper Command: " + command);
+ _strace("exeucting: " + command);
+ }
+
+ private function ConnectWrapper(port)
+ {
+ Log("Attempting to connect wrapper");
+ try
+ {
+ var s = new Socket();
+ s.addEventListener(IOErrorEvent.IO_ERROR, WrapperIOError);
+ s.addEventListener(Event.CONNECT, WrapperConnect);
+ s.connect("localhost", port);
+ } catch (e)
+ {
+ Log("Error establishing wrapper connection");
+ StartUI();
+ return;
+ }
+ }
+
+
public function Init()
{
@@ -89,17 +171,11 @@
FlashConsole.Instance().Admin = true;
- //GameData.Instance().LoadData(GameDataLoaded);
-
stage.addEventListener(Event.ENTER_FRAME, EnterFrame);
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUp);
this.addChild(previewHolder);
CreateUI();
- ActivateExportButtons(false);
-
- GameDataLoaded();
-
}
var exportButtons:Array = [];
@@ -174,7 +250,12 @@
edgeExpand.Checked = PNGExportHelper.UseExpandedBitmaps;
this.skeletal_scale.addEventListener(Event.CHANGE, SkeletalScaleChanged);
- ShowNewGraphicDialog();
+ }
+
+ public function StartUI()
+ {
+ ActivateExportButtons(true);
+ ShowNewGraphicDialog();
}
public function ShowNewGraphicDialog()
@@ -499,69 +580,20 @@
{
fileExport.Save(lastCallback);
}
-
+
+ /*
if (saveMode == UPLOAD)
{
var uploadURL = "";
fileExport.Upload(uploadURL, assetDef.Folder, lastCallback);
}
+ */
if (saveMode == TEST && lastCallback) lastCallback();
}
- var multiImport:MultiImportFileBrowser;
- public function GameDataLoaded()
- {
- ActivateExportButtons(true);
- _trace("Game Data Loaded!");
-
- multiImport = new MultiImportFileBrowser();
- }
-
- public function ShowMultiImportDialog()
- {
- multiImport.Show(this);
- multiImport.x = 100;
- multiImport.y = 60;
- }
-
- protected var uploadCallback;
- public function Upload(filename, data, callback)
- {
- this.uploadCallback = callback;
- var loader = new URLLoader();
-
- var receiverURL = "";
-
-
- var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
- var uploadRequest:URLRequest = new URLRequest(receiverURL+"?name="+filename);
- uploadRequest.requestHeaders.push(header);
- uploadRequest.method = URLRequestMethod.POST;
- uploadRequest.data = data;
-
- loader.addEventListener(Event.COMPLETE, onLoaded);
- loader.addEventListener( IOErrorEvent.IO_ERROR, catchIOError);
-
- loader.load(uploadRequest);
-
- _trace("uploading "+filename);
-
- }
-
- public function onLoaded(event)
- {
- _trace("Upload Complete");
- if (uploadCallback) uploadCallback();
- }
-
- function catchIOError(event:IOErrorEvent)
- {
- trace("Error caught: "+event.type);
- }
-
}
diff --git a/GraphicExport.exe b/GraphicExport.exe
new file mode 100644
index 0000000..97303ae
--- /dev/null
+++ b/GraphicExport.exe
Binary files differ
diff --git a/GraphicExport.fla b/GraphicExport.fla
index 4dd9c51..6a5c953 100644
--- a/GraphicExport.fla
+++ b/GraphicExport.fla
Binary files differ
diff --git a/GraphicExport.swf b/GraphicExport.swf
index f7addf1..9a77a8b 100644
--- a/GraphicExport.swf
+++ b/GraphicExport.swf
Binary files differ
diff --git a/NewGraphicDialog.as b/NewGraphicDialog.as
index 78359ad..c2d896d 100644
--- a/NewGraphicDialog.as
+++ b/NewGraphicDialog.as
@@ -39,9 +39,6 @@
newTestButton.y = testButton.y + (newTestButton.height / 2);
addChild(newTestButton);
- closeButton.addEventListener(MouseEvent.CLICK, CloseClicked);
- (closeButton.getChildAt(0) as MovieClip).stop();
-
this.removeChild(typePlaceholderButton);
var typeX = typePlaceholderButton.x;
diff --git a/_strace.as b/_strace.as
new file mode 100644
index 0000000..e2270cd
--- /dev/null
+++ b/_strace.as
@@ -0,0 +1,12 @@
+package
+{
+ public function _strace(str)
+ {
+ _trace(str);
+ if (GraphicExport.wrapper != null)
+ {
+ GraphicExport.wrapper.writeUTFBytes(str + "\n");
+ GraphicExport.wrapper.flush();
+ }
+ }
+}
\ No newline at end of file
diff --git a/exporter.py b/exporter.py
new file mode 100644
index 0000000..b334e76
--- /dev/null
+++ b/exporter.py
@@ -0,0 +1,57 @@
+#! /usr/bin/python
+
+import socket
+import subprocess
+import errno
+import sys
+import os
+
+port = 7890
+
+s = socket.socket()
+s.bind(("localhost", port))
+
+args = [os.getcwd() + "/GraphicExport.exe"]
+# args = [os.getcwd() + "/GraphicExport.app/GraphicExport.exe", str(port)]
+g = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+
+s.settimeout(0.5)
+s.listen(0)
+
+conn = None
+while conn is None and g.returncode is None:
+ try:
+ (conn, _) = s.accept()
+ except socket.timeout, e:
+ pass
+ except e:
+ print e
+ s.close()
+ g.wait()
+ sys.exit(1)
+ g.poll()
+
+if conn:
+ conn.setblocking(False)
+ conn.send("EXPORT|" + "|".join(sys.argv[1:]) + "\n")
+
+while g.returncode is None:
+ try:
+ d = conn.recv(4096)
+ if len(d):
+ sys.stdout.write(d)
+ sys.stdout.flush()
+ except socket.error, e:
+ if e.args[0] == errno.EWOULDBLOCK or e.args[0] == errno.EAGAIN:
+ pass
+ else:
+ print e
+ conn.close()
+ s.close()
+ g.wait()
+ sys.exit(1)
+ g.poll()
+
+if (conn):
+ conn.close()
+s.close()