Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flixel is currently incompatible with OpenFL 4.0.0 or above. Please use version 3.6.1 or older. #1902

Closed
pywebdesign opened this issue Aug 9, 2016 · 22 comments

Comments

@pywebdesign
Copy link

pywebdesign commented Aug 9, 2016

  • Flixel version: 4.1.1
  • OpenFL version: above 4.0.0
  • Lime version: 3.0.3 (command-Line tools)

Code snippet reproducing the issue:

Simply download an install like explained in the getting started tutorial
add line to the hello world example for menu

http://haxeflixel.com/documentation/hello-world-command-line/

run

    >lime test neko

Observed behavior:

/usr/lib/haxe/lib/flixel/4,1,1/flixel/system/macros/FlxDefines.hx:81: characters 41-60 : Flixel is currently incompatible with OpenFL 4.0.0 or above. Please use version 3.6.1 or older.

Expected behavior:
The tutorial should work on a fresh install

what happen when you downgrade openfl to 3.6.1

/usr/lib/haxe/lib/flixel/4,1,1/flixel/system/macros/FlxDefines.hx:86: characters 41-60 : Flixel is currently incompatible with Lime 3.0.0 or above. Please use version 2.9.1 or older.

@larsiusprime
Copy link
Member

The reason for this is that OpenFL 4.0 removes the drawtiles api, which flixel currently relies on. Until we have time to rewrite the flixel renderer to use the new tilemap api (something we might put our fundraiser money towards), this incompatibility will remain in place. The best we can do in the meantime is to give these error messages directing what versions of openfl/lime you need to use.

@pywebdesign
Copy link
Author

Thank you for the reply, i got it working by downgrading them!

I am quite new to flixel, so I am not here to judge at all.

Maybe add this information to the tutorial as it is probably the first contact for many other new user with flixel. It could discourage quite a lot!

@larsiusprime
Copy link
Member

Definitely needs a disclaimer in docs!

@Gama11
Copy link
Member

Gama11 commented Aug 10, 2016

I guess the problem is that the tutorial instructs to download Lime first, which then gets the latest version. If Flixel was installed first, it would probably install the correct Lime version that is listed as a dependency in haxelib.json.

@Tembac
Copy link

Tembac commented Aug 17, 2016

At least a sticky on the forum with a warning can be useful. I just updated the libraries and didn't remember this.

I also found out that if you are using the SWF library for fla assets you need to downgrade it to 2.2.1

@mastef
Copy link

mastef commented Aug 19, 2016

It would be awesome to have this, as the latest openfl/lime now switched from Ant build process to Gradle. So many sweet things coming

Is there anywhere we can track or contribute to the progress? Any estimate on the workload?

@Tembac
Copy link

Tembac commented Aug 20, 2016

I think @Beeblerox is working on this. You can check out his public activity. It seems like a big change so I suppose it will take a while to develop and test.

https://github.com/Beeblerox?tab=activity

@Gama11 Gama11 added this to the 4.2.0 milestone Aug 24, 2016
Gama11 added a commit that referenced this issue Sep 11, 2016
Previously, the message made the assumption the user knows how to change the version of a haxelib. Now it just prints the command.
Should help with #1902.
@Gama11
Copy link
Member

Gama11 commented Sep 11, 2016

I can't reproduce the issue @pywebdesign originally had here - if you run haxelib install flixel like instructed here in the getting started guide, it automatically installs the correct versions of Lime and OpenFL as well.

Now, in the setup section of the tutorial, this will not be the case, since Lime is installed first.

@KosnIre
Copy link

KosnIre commented Sep 13, 2016

I ran into this issue because the Getting Started instructions link to the OpenFL download page:

  1. Install OpenFL and Haxe

Following their instructions installs the latest versions of Lime and OpenFL.

Then HaxeFlixel Getting Started step 2 (Install HaxeFlixel) installs the correct flixel dependency versions.

I was able to correct the issue and get "Hello World" running (in neko at least) by using haxelib set openfl 3.6.1 and haxelib set lime 2.9.1 (found here). You can confirm the version settings with haxelib list.

@Gama11
Copy link
Member

Gama11 commented Sep 13, 2016

Right, that's a good point.. Can probably just remove that step.

@Gama11 Gama11 reopened this Sep 13, 2016
@KosnIre
Copy link

KosnIre commented Sep 13, 2016

Can probably just remove that step.

Yes, but there should at least be a link to install Haxe by itself (otherwise haxelib cannot be run).

Oddly, OpenFL's download page gives me Haxe 3.2.1-win where Haxe's download page gives me 3.3.0-rc.1-win. I'm not sure if there's a significant difference. I'm new here.

@Gama11
Copy link
Member

Gama11 commented Sep 13, 2016

Yeah... both should be ok really. 3.3.0-rc1 is technically a "release candidate" though, so not a "stable release".

@MSGhero
Copy link
Member

MSGhero commented Sep 13, 2016

3.3.0 is 3 months overdue :)

@KosnIre
Copy link

KosnIre commented Sep 14, 2016

Going through the Tutorial now and I see that http://haxe.org/download is used there (in Step 1). So, it makes sense to use that in the Getting Started page for consistency. I also see that Gama's change above will address the installation instructions there.

@paulorobertocruz
Copy link

paulorobertocruz commented Sep 16, 2016

Just to point out here.
To this date when you install haxeflixel without openfl and lime on your haxelib, the correct openfl and lime versions are instaled. But when running haxelib run openfl setup, openfl downloads another version of lime and some may be cofused to why a problem may be acurring when they try to run flixel. This order of instalation and config gets two lime version on the haxelib, assuming openfl and lime are not installed. But not problem if this is clear to newcomers.
haxelib install flixel
haxelib run openfl setup
haxelib lime setup
haxelib set lime 2.9.1

So if the last step is not done the warning will still occur and the project will not run.

@Gama11
Copy link
Member

Gama11 commented Sep 19, 2016

Moved this issue to flixel-docs: HaxeFlixel/flixel-docs#184

@Gama11 Gama11 closed this as completed Sep 19, 2016
@mastef
Copy link

mastef commented Dec 4, 2016

Is the lime limitation also/still necessary? Have a few blockers like openfl/lime#815 due to this

@Gama11
Copy link
Member

Gama11 commented Dec 4, 2016

It is, see #1940.

@nykevinwong
Copy link

@larsiusprime
any idea of when rewriting flixel renderer can be done?
can you post the more detail description of the changes/files need to be rewritten in order to make Haxeflixel to work with openfl 4.0+ ?

larsiusprime :
The reason for this is that OpenFL 4.0 removes the drawtiles api, which flixel currently relies on. Until we have time to rewrite the flixel renderer to use the new tilemap api (something we might put our fundraiser money towards), this incompatibility will remain in place. The best we can do in the meantime is to give these error messages directing what versions of openfl/lime you need to use.

@ibilon
Copy link
Contributor

ibilon commented Apr 10, 2018

@nykevinwong There's #2136 which allows using flixel with openfl 8.

@larsiusprime
Copy link
Member

@nykevinwong Was about to say the same as @ibilon. This issue is something we've known about for a long time and have been working to solve.

@nykevinwong
Copy link

nykevinwong commented Apr 14, 2018

in case anyone needs to know how rendering system of haxeflixel works. below article might be userful. https://haxeflixel.com/blog/01-HaxeFlixel-rendering/

Aurel300 pushed a commit to larsiusprime/haxeflixel that referenced this issue Apr 18, 2018
Previously, the message made the assumption the user knows how to change the version of a haxelib. Now it just prints the command.
Should help with HaxeFlixel#1902.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants