[trace] [lime.utils.AssetLibrary] WARNING: Could not find library type: openfl._internal.formats.swf.SWFLiteLibrary
<?xml version="1.0" encoding="utf-8"?>
<project>
<meta title="EscapeEngineHaxe" package="com.sample.escapeenginehaxe" version="1.0.0" company="Javelin" />
<app main="Main" path="Export" file="EscapeEngineHaxe" />
<window width="960" height="540" background="#000000"/>
<source path="Source" />
<haxelib name="openfl" />
<assets path="Assets/test" rename="assets"/>
</project>
var future = AssetLibrary.loadFromFile ("assets/testswf.bundle");
rainy
May 18, 2019, 7:03am
#2
You need to re-run the openfl process to compile your swf file.
Hi.
Thanks for fast reply.
I run: openfl process Assets/testswf.swf
Then build the project.
Output folder:
project.xml
<?xml version="1.0" encoding="utf-8"?>
<project>
<meta title="EscapeEngineHaxe" package="com.sample.escapeenginehaxe" version="1.0.0" company="Javelin" />
<app main="Game" path="Export" file="EscapeEngineHaxe" />
<window width="960" height="540" background="#000000"/>
<source path="Source" />
<haxelib name="openfl" />
<haxelib name="actuate" />
<assets path="Assets" rename="assets" embed="false" exclude="*.swf"/>
</project>
Code:
package ;
import openfl.utils.AssetLibrary;
import openfl.display.Sprite;
class Game extends Sprite{
public function new() {
super();
init();
}
private function init():Void
{
var future = AssetLibrary.loadFromFile ("assets/testswf.bundle");
future.onProgress (library_onProgress);
future.onError (library_onError);
future.onComplete (library_onComplete);
}
private function library_onError (result:Dynamic):Void {
trace("library_onError");
}
private function library_onProgress (loaded:Int, total:Int):Void {
trace("library_onProgress: " + loaded + " / " + total);
}
private function library_onComplete (library:AssetLibrary):Void {
trace("library_onComplete");
}
}
Output:
[trace] [lime.utils.Preloader] Preloading asset library
[trace] [lime.utils.Preloader] Loaded asset library [1/1]
[trace] [lime.utils.Preloader] Preload complete
[trace] Game.hx:27: library_onProgress: 248 / 248
[trace] [lime.utils.AssetLibrary] WARNING: Could not find library type: openfl._internal.formats.swf.SWFLiteLibrary
[trace] Game.hx:23: library_onError
Generated debug.hxml
-main ApplicationMain
--macro openfl._internal.macros.ExtraParams.include()
-cp C:/HaxeToolkit/haxe/lib/openfl/8,9,0/src
-D openfl=8.9.0
--macro lime._internal.macros.DefineMacro.run()
-cp C:/HaxeToolkit/haxe/lib/lime/7,3,0/src
-D lime=7.3.0
-cp C:/HaxeToolkit/haxe/lib/actuate/1,8,9/src
-D actuate=1.8.9
-cp Source
-cp C:/HaxeToolkit/haxe/lib/openfl/8,9,0/externs/flash
-cp Assets/testswf.bundle/src
-D native-trace
-D tools=7.3.0
-D ANDROID_SETUP=true
-D flash-use-stage
-D ANDROID_NDK_ROOT=C:\Users\CrazyFlasher\Documents\work\Tools\android\android-ndk-r13b
-D no-compilation
-D openfl-flash
-D debug
-D JAVA_HOME=C:\Program Files\Java\jdk1.8.0_101
-D fdb
-D openfl-disable-handle-error
-D verbose=1
-D web
-cp Export/flash
-swf-lib obj/assets.swf
-swf-version 17
-swf Export/flash/bin/EscapeEngineHaxe.swf
-cp Export/flash/haxe
-debug
Tried with HTML5 target:
[Sat May 18 2019 10:34:52 GMT+0300 (FLE Daylight Time)] "GET /" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36"
[Sat May 18 2019 10:34:52 GMT+0300 (FLE Daylight Time)] "GET /EscapeEngineHaxe.js" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36"
[Sat May 18 2019 10:34:53 GMT+0300 (FLE Daylight Time)] "GET /assets/build.xml?572122" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36"
[Sat May 18 2019 10:34:53 GMT+0300 (FLE Daylight Time)] "GET /assets/Spotlight.xml?572122" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36"
[Sat May 18 2019 10:34:53 GMT+0300 (FLE Daylight Time)] "GET /assets/testswf.swf?572122" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36"
[Sat May 18 2019 10:34:53 GMT+0300 (FLE Daylight Time)] "GET /assets/testswf.bundle/library.json" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36"
[Sat May 18 2019 10:34:53 GMT+0300 (FLE Daylight Time)] "GET /assets/testswf.bundle/assets/testswf.bundle/swflite.bin?572122" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36"
[Sat May 18 2019 10:34:53 GMT+0300 (FLE Daylight Time)] "GET /assets/testswf.bundle/assets/testswf.bundle/swflite.bin?572122" Error (404): "Not found"
It tries to use to wrong path is wrong for some reason:
/assets/testswf.bundle/assets/testswf.bundle/swflite.bin
Changed rootPath to “” and now it works for html5. But not for flash.
rainy
May 18, 2019, 7:58am
#7
I no longer use flash, I am not familiar with this situation.
How do you html5 debug project? As I know debugging is not supported with html5 target
So error reason for flash target is:
"Could not load asset manifest"
If I use openfl.display.Loader
, I get IOError, however bundle exists (flash target)
var loader = new Loader ();
loader.contentLoaderInfo.addEventListener (ProgressEvent.PROGRESS, loader_onProgress);
loader.contentLoaderInfo.addEventListener (IOErrorEvent.IO_ERROR, loader_onError);
loader.contentLoaderInfo.addEventListener (Event.COMPLETE, loader_onComplete);
loader.load (new URLRequest ("assets/testswf.bundle"));
On android it also goes to library_onError
.
And I can’t even use breakpoints (or possible?)
I think its time to give. Too much time and mess.
loudo
May 19, 2019, 12:36pm
#12
On html5, you can compile with debug flag, source map will be build with your code. Then you can set breakpoint directly in the console of the Chrome browser.
On Flash, use a *.swf not a *.bundle
it seems you are missing the swf library : just add this to your project.xml it should work.
Now I receive:
[Fault] exception, information=SyntaxError: Error #1132: Invalid JSON parse input.
Code:
private function loadAssets():Void
{
if (libName != null)
{
Assets.unloadLibrary(libName);
}
#if html5
libName = "assets/levels/" + levelId + "/" + levelId + ".bundle";
#elseif flash
libName = "assets/levels/" + levelId + "/" + levelId + ".swf";
#end
var future = Assets.loadLibrary (libName);
future.onComplete (library_onComplete);
future.onProgress (library_onProgress);
future.onError (library_onError);
}
project.xml
<?xml version="1.0" encoding="utf-8"?>
<project>
<meta title="EscapeEngineHaxe" package="com.sample.escapeenginehaxe" version="1.0.0" company="Javelin" />
<app main="Main" path="Export" file="EscapeEngineHaxe" />
<window if="mobile" orientation="landscape" background="#000000" fps="60"/>
<window if="html5" width="960" height="540"/>
<source path="Source" />
<haxelib name="swf" if="flash"/>
<haxelib name="openfl" />
<haxelib name="actuate" />
<assets path="Assets/Spotlight" rename="assets" exclude="*.swf|*.xml" embed="false" if="html5"/>
<assets path="Assets/Spotlight" rename="assets" exclude="*.xml" embed="false" if="flash"/>
</project>
If I include haxelib swf to project, I receive compile error:
Error:Enum not found lime.tools.AssetType
[SOLVED]
#if html5
libName = "assets/levels/" + levelId + "/" + levelId + ".bundle";
#elseif flash
libName = "level_0";
#end
var future = Assets.loadLibrary (libName);
The “swf” haxelib is deprecated – it was merged into OpenFL proper a few major versions ago