Tizen target dropped?

will there be a reconsideration for tizen support in the future? tried working with html5 web app for tizen, and it seems there are lots of homework to do on html5 as well.

Tizen Native SDK which is based on C++ is still on development, will this be in sync with openfl development? If yes, then it would be nice to have tizen native support as nowadays tizen is used for samsung wearable and phones.

https://developer.tizen.org/development/training/native-application
https://developer.tizen.org/ko/development/guides/native-application/graphics/sdl-graphics-vulkan®?langredirect=1

Tizen support for the SDL API is very promising! I wonder (though) if it is working for SDL + OpenGL, or it only is SDL + Vulkan, in which case we would need to write a Vulkan renderer for OpenFL for it to work.

Are you more interested in Tizen wearable, or Tizen phones?

I wonder if Tizen HTML5 runs better on the watch than Tizen native

What did you find out about Tizen HTML5 development? If you can get an index.html running, perhaps we can try and replace with our generated HTML and see if it works? You might need -Dcanvas if WebGL is not supported?

i can get index.html to work on samsung z2, but there is still lots of missing feature. the worst one is i cant get swf asset to work.

Perhaps it would be worth trying OpenFL samples, like DisplayingABitmap, AddingAnimation, PlayingSound, AddingText then PiratePig

If we try multiple samples, we should be able to isolate which features are not behaving. Perhaps it doesn’t like the “*.dat” file extension we used for SWF asset data?

HTML5 is probably our fastest approach to support the platform short-term, we could move to native again later if SDL + OpenGL works out (or if we add a Vulkan renderer)

is there anything we can do to fix swf asset loading problem quickly? in fact im on tight dealine for tizen challenge and want to know if i can enter the challenge or just skip it, because my game rely on swf asset

If you can, try some of the OpenFL samples, and see if they work. If we confirm that DisplayingABitmap works, but NyanCat fails, and get an error information, then I think we can try and resolve it

Thanks for your help :slight_smile:

I can confirm that DisplayingABitmap works on Samsung Z2 using html5 port, while NyanCat fails to load, and just stops at preloader bar screen with following error messages:

Error: [lime.app.Preloader] ERROR: [IOErrorEvent type="ioError" bubbles=true cancelable=false text="0" errorID=0] 
Error: [lime.app.Preloader] ERROR: Error loading asset "assets/library.swf"

AddingText demo seems to be not working as well with following error message

Error: [lime.app.Preloader] ERROR: Error loading asset "assets/KatamotzIkasi.woff" AddingText.js:32209
Error: [lime.app.Preloader] ERROR: Error loading asset "assets/KatamotzIkasi.eot" AddingText.js:32209
Error: [lime.app.Preloader] ERROR: Error loading asset "assets/KatamotzIkasi.svg" AddingText.js:32209

PiratePig demo works

Could you try this fix on NyanCat?

Thanks, but still not working, now down to one error only

Error: [lime.app.Preloader] ERROR: [IOErrorEvent type="ioError" bubbles=true cancelable=false text="0" errorID=0]

game opened, and stuck on preloader bar screen

Can you try embed="true" on your assets or library tags?

same thing

Error: [lime.app.Preloader] ERROR: [IOErrorEvent type="ioError" bubbles=true cancelable=false text="0" errorID=0] NyanCat.js:32143

if only there is more to the error message, maybe we can dig deeper. But I don’t think we can get the call stack from html5 debugging

this is the project.xml

<?xml version="1.0" encoding="utf-8"?>
<project>

<meta title="Nyan Cat" package="org.openfl.samples.nyancat" version="1.0.0" company="OpenFL" />
<app main="Main" path="Export" file="NyanCat" />

<window width="400" height="400" fps="30" />

<source path="Source" />

<haxelib name="openfl" />

<library path="Assets/library.swf" preload="true" embed="true" />

<!-- <assets path="Assets" rename="assets" /> -->

</project>

This might help:

I have a feeling that this might be something to do with file extensions – perhaps it blocks file extensions it does not like.

Can you tell if the SWFLite data file is using a “.bin” file extension instead of “.dat”? Hopefully .bin is fine on the device, but if not, it may be possible to try something different:

https://github.com/openfl/openfl/blob/develop/tools/Tools.hx#L53

Change this to “.txt”, for example, and openfl rebuild tools to try something different

Also, could you try a -verbose build? I think it prints additional information about the files it is attempting to load, and which ones complete, which may clue us into which asset file the device is rejecting

tried all the tricks you gave me, changed the bin and dat to txt file and did openfl rebuild tools, then added callstack error logging in Stage.hx, compiled with verbose mode. still no luck :frowning: this is what I get

[lime.app.Preloader] Preloading asset library NyanCat.js:32162
[lime.app.Preloader] Loaded asset library [1/2] NyanCat.js:32162
Error: [lime.app.Preloader] ERROR: [IOErrorEvent type="ioError" bubbles=true cancelable=false text="0" errorID=0] NyanCat.js:32143

this is the wgt binary file in case you can do anything with it, it’s just an ordinary zip file
https://drive.google.com/open?id=0By79j_eOesUbYTJuaE04WXY5dTQ

I think there must be some differences in the way tizen decode the binary file of dat / bin from converted swf file, most probably string related I suppose

Is there a unit test for testing out all variable types are working correctly on html5 ?

Does it work if you use embed="true" on the SWF <library /> tag?

https://github.com/openfl/openfl/blob/develop/tools/Tools.hx#L1058

I think that makes the manifest embedded, which I believe forces it into the JS file instead of loading from a separate file

still no luck here

[lime.app.Preloader] Preloading asset library NyanCat.js:32695
[lime.app.Preloader] Loaded asset library [1/2] NyanCat.js:32695
Error: [lime.app.Preloader] ERROR: [IOErrorEvent type="ioError" bubbles=true cancelable=false text="0" errorID=0] NyanCat.js:32676

project.xml

<?xml version="1.0" encoding="utf-8"?>
<project>

<meta title="Nyan Cat" package="org.openfl.samples.nyancat" version="1.0.0" company="OpenFL" />
<app main="Main" path="Export" file="NyanCat" />

<window width="400" height="400" fps="30" />

<source path="Source" />

<haxelib name="openfl" />

<library path="Assets/library.swf" preload="true" embed="true"/>

<!-- <assets path="Assets" rename="assets" /> -->
 
</project>

Tried adding generate=“true” on library tag as well , but still same result, same error

Maybe it isn’t loading the JSON?

https://github.com/openfl/openfl/blob/develop/tools/Tools.hx#L1051

However, it’s curious because the error is IOErrorEvent, which comes from OpenFL, not Lime.

Maybe here?

I’m running out of ideas :frowning:

I’m suspecting

asset.data = data.serialize ();

the way data is serialized and deserialized?

edit : I think the error comes before onLoadCompleted is called, I will try to trace the url load path first.

If you add traces in SWFLiteLibrary, is that where the dispatched error comes from?

This is how the log look like on Chrome
I added the url path trace there
So, I think the preloader on Tizen stops when it’s trying to preload swf’s png AssetLibrary

Log.hx:96 [lime.app.Preloader] Preloading asset library
Boot.hx:62 SWFLiteLibrary.hx:218: loading library : lib/library/library.txt
Log.hx:96 [lime.app.Preloader] Preloading asset library
Log.hx:96 [lime.app.Preloader] Loaded asset library [1/2]
Log.hx:96 [lime.utils.AssetLibrary] Preloading asset: lib/library/1.png [IMAGE]
Boot.hx:62 SWFLiteLibrary.hx:239: loadImage id lib/library/1.png
Log.hx:96 [lime.utils.AssetLibrary] Preloading asset: lib/library/11.png [IMAGE]
Boot.hx:62 SWFLiteLibrary.hx:239: loadImage id lib/library/11.png
Log.hx:96 [lime.utils.AssetLibrary] Preloading asset: lib/library/13.png [IMAGE]
Boot.hx:62 SWFLiteLibrary.hx:239: loadImage id lib/library/13.png
Log.hx:96 [lime.utils.AssetLibrary] Preloading asset: lib/library/15.png [IMAGE]
Boot.hx:62 SWFLiteLibrary.hx:239: loadImage id lib/library/15.png
Log.hx:96 [lime.utils.AssetLibrary] Preloading asset: lib/library/17.png [IMAGE]
Boot.hx:62 SWFLiteLibrary.hx:239: loadImage id lib/library/17.png
Log.hx:96 [lime.utils.AssetLibrary] Preloading asset: lib/library/19.png [IMAGE]
Boot.hx:62 SWFLiteLibrary.hx:239: loadImage id lib/library/19.png
Log.hx:96 [lime.utils.AssetLibrary] Preloading asset: lib/library/21.png [IMAGE]
Boot.hx:62 SWFLiteLibrary.hx:239: loadImage id lib/library/21.png
Log.hx:96 [lime.utils.AssetLibrary] Preloading asset: lib/library/23.png [IMAGE]
Boot.hx:62 SWFLiteLibrary.hx:239: loadImage id lib/library/23.png
Log.hx:96 [lime.utils.AssetLibrary] Preloading asset: lib/library/3.png [IMAGE]
Boot.hx:62 SWFLiteLibrary.hx:239: loadImage id lib/library/3.png
Log.hx:96 [lime.utils.AssetLibrary] Preloading asset: lib/library/5.png [IMAGE]
Boot.hx:62 SWFLiteLibrary.hx:239: loadImage id lib/library/5.png
Log.hx:96 [lime.utils.AssetLibrary] Preloading asset: lib/library/7.png [IMAGE]
Boot.hx:62 SWFLiteLibrary.hx:239: loadImage id lib/library/7.png
Log.hx:96 [lime.utils.AssetLibrary] Preloading asset: lib/library/9.png [IMAGE]
Boot.hx:62 SWFLiteLibrary.hx:239: loadImage id lib/library/9.png
Log.hx:96 [lime.utils.AssetLibrary] Preloading asset: lib/library/library.txt [TEXT]
Log.hx:96 [lime.utils.AssetLibrary] Loaded asset: lib/library/library.txt [TEXT] (0/13)
Log.hx:96 [lime.utils.AssetLibrary] Loaded asset: lib/library/1.png [IMAGE] (2/13)
Log.hx:96 [lime.utils.AssetLibrary] Loaded asset: lib/library/11.png [IMAGE] (3/13)
Log.hx:96 [lime.utils.AssetLibrary] Loaded asset: lib/library/13.png [IMAGE] (4/13)
Log.hx:96 [lime.utils.AssetLibrary] Loaded asset: lib/library/15.png [IMAGE] (5/13)
Log.hx:96 [lime.utils.AssetLibrary] Loaded asset: lib/library/19.png [IMAGE] (6/13)
Log.hx:96 [lime.utils.AssetLibrary] Loaded asset: lib/library/17.png [IMAGE] (7/13)
Log.hx:96 [lime.utils.AssetLibrary] Loaded asset: lib/library/21.png [IMAGE] (8/13)
Log.hx:96 [lime.utils.AssetLibrary] Loaded asset: lib/library/23.png [IMAGE] (9/13)
Log.hx:96 [lime.utils.AssetLibrary] Loaded asset: lib/library/3.png [IMAGE] (10/13)
Log.hx:96 [lime.utils.AssetLibrary] Loaded asset: lib/library/5.png [IMAGE] (11/13)
Log.hx:96 [lime.utils.AssetLibrary] Loaded asset: lib/library/7.png [IMAGE] (12/13)
Log.hx:96 [lime.utils.AssetLibrary] Loaded asset: lib/library/9.png [IMAGE] (13/13)
Log.hx:96 [lime.app.Preloader] Loaded asset library [2/2]
Log.hx:96 [lime.app.Preloader] Preload complete

This is how the log looks like in Tizen

[lime.app.Preloader] Preloading asset library NyanCat.js:32695
SWFLiteLibrary.hx:218: loading library : lib/library/library.txt NyanCat.js:5878
[lime.app.Preloader] Preloading asset library NyanCat.js:32695
[lime.app.Preloader] Loaded asset library [1/2] NyanCat.js:32695
Error: [lime.app.Preloader] ERROR: [IOErrorEvent type=“ioError” bubbles=true cancelable=false text=“0” errorID=0] NyanCat.js:32676

so, it’s not even touching the loadImage id trace, I’m guessing there must be an error when trying to decode content of library.txt