Lime preloader issue?


#1

Hi, I’m working on an application (openfl + starling). Everything works pretty good on my computer, but on my client computers the windows application won’t run, it dispatch the following message :
[lime.app.preloader] ERROR There is no asset library with a id of "default"
Does anyone knows what can be the cause of this issue ?

Edit : I manage to reproduce the error on an old computer of mine (windows XP), I tried to build some openfl samples, it work with versions of openfl below 5 and of lime below 4. But with openfl 6.1 and lime 5.5 I got the same error.
I also tried to build starling demo with various versions of both starling, openfl and lime, but I got the error each time.


#2

So it specifically does not work on Windows XP? Using a newer version of Windows works? Do you use the same Visual Studio version between both OpenFL 5 and OpenFL 6?


#3

I got the error on windows XP and my client got it on 7. But I tested it on my laptop (windows 7) and it work perfectly. I used visual studio 2015 for both openfl 4 and 6. I didn’t test it with openfl 5, I used 4.9.2 (openfl sample works on XP) and 6.1.0 (openfl sample doesn’t works on XP).

EDIT : false alarm for this issue on windows 7, my client made it work (I don’t yet know how). I still got it on windows XP but as old as this system is, I was not really expecting it to be still fully supported.


#4

@singmajesty : Definitely a problem here !

*** lime: 5.7.1 + openfl: 6.2.2 + haxe compiler 3.4.4 ***
$>openfl build windows -final
Result :
win_build_folder
Double-click EXE > runs fine.
Take EXE out of that folder and put it somewhere all by itself > try to run it :
win_err1

If I change the project.xml like this :
projectxml

Then : rebuild and run (without taking FF.exe out of the folder) :
win_err2


#5

@siskax07 Thanks for the report :slight_smile:

This should be resolved in Github. For now, don’t set library="default" and it should put it in the “default” library, and after the next release, your code should also work


#6

I’m still seeing the same thing … But I probably did something wrong (I’m new to Git) :

  • install Git
  • $> git clone --recursive https://github.com/openfl/lime into C:\HaxeToolkit\_downloads\dev_lime
  • $> haxelib dev lime C:\HaxeToolkit\_downloads\dev_lime\lime
  • $> haxelib install format
  • $> lime rebuild windows
  • $> openfl build windows -release

Running EXE from inside build folder = ok ; taking it out of that folder > 'lime.app.Preloader ERROR There is no asset library with an ID of DEFAULT.

I also tried updating everything ; I now use :

  • format 3.3.0
  • haxelib 3.3.0
  • lime dev:C:\HaxeToolkit\_downloads\dev_lime\lime
  • openfl 6.5.0
  • haxe compiler 3.4.4

#7

Would you mind trying the latest haxelib release Lime, too?


#8

Sure !

I tried using Lime 5.8.2 … and same problem : works fine if I leave EXE inside build folder, but a ‘lime.app.Preloader error’ when I take EXE out of that folder.


#9

Oh, gotcha, well, it uses relative paths to find the asset files, so you have to move the exe and the asset files together :slight_smile:


#10

Mmmm … but that doesn’t seem practical if I want to distribute the game. Should I embed the default library myself than (in project.xml) ? :thinking:


#11

Worth a try, but there may be a size limit for embedding, depending on your version of the Haxe compiler, and whether its 32- or 64-bit


#12

A post was split to a new topic: How do I hide my asset files?


#13

Hi, I just sent a windows/c++ version of our game to people in my team and one of them is having this error : [lime.app.Preloader] ERROR: There is no asset library with an ID of «default»

He is on a windows 8.1 laptop, the build works fine on my own win 8.1 laptop (it was built on it) and works fine on my windows 8 desktop

Here is my project file :

<!-- metadata, make sure 'package' is at least 3 segments (ie. com.mycompany.myproject) -->
<meta title="SuperAgency" package="com.skwatt.SuperAgency" version="1.0.0" company="SKWATT Studio" />

<!-- output -->
<app main="Wrapper" file="SuperAgency" path="bin" />

<window background="#444444" fps="60" />
<window width="1280" height="768" unless="mobile" />
<window orientation="landscape" vsync="false" antialiasing="0" if="cpp" />

<!-- classpath, haxe libs -->
<source path="src" />
<source path="../_lib" />
<haxelib name="openfl" />
<haxelib name="actuate" />
<haxelib name="starling" />
<haxelib name="dragonbones" />
<haxelib name="stablexui" />
<haxelib name="msignal" />
<haxelib name="as3hx" />
<haxelib name="firetongue" />
<haxelib name="bitmapfont" />

<!-- assets -->
<icon path="assets/openfl.svg" />

<assets path="assets/embed/bmpFont" embed="true" include="*" exclude="" />
<assets path="assets/embed/font" embed="true" include="*.ttf" exclude="" />
<assets path="assets/embed/images" embed="true" include="*" exclude="" />
<assets path="assets/embed/sounds" embed="true" include="*" exclude="" />
<assets path="assets/images" embed="false" include="*.png|*.jpg|*.jpeg|*.json|*.xml" exclude="" />
<assets path="assets/locales" embed="true" include="*.xml|*.txt|*.tsv|*.csv|*.png" exclude="" />
<assets path="assets/music" embed="false" include="*.mp3" exclude="" if="flash" />
<assets path="assets/music" embed="false" include="*.ogg|*.wav" exclude="" if="cpp" />
<assets path="assets/sequences" embed="false" include="*" exclude="" />
<assets path="assets/sounds" embed="false" include="*.mp3" exclude="" if="flash" />
<assets path="assets/sounds" embed="false" include="*.ogg|*.wav" exclude="" if="cpp" />

haxelib 3.3.0
openfl 7.1.2
lime 6.2.0
(How can I check haxe compiler version ?)

Any idea what’s happening ? Things I should check/look into ?

Thanks !


#14

Is it possible he has UTF-8 characters in the file path? There were some regressions in HXCPP Unicode file path support, perhaps this could be related?

Development builds of HXCPP should include fixes to help with Unicode paths


#15

Thanks singmajesty : that was it, several “é” characters in his username. I had him copy the build folder elsewhere and it worked right away.

Probably gonna look into HXCPP dev builds at some point then :slight_smile: