[Obsolete] LöveFTW progress thread

Discuss any ports of LÖVE to different platforms.
User avatar
T-Bone
Inner party member
Posts: 1492
Joined: Thu Jun 09, 2011 9:03 am

[Obsolete] LöveFTW progress thread

Post by T-Bone »

So with the recent GDC annoucnements from Microsoft about Windows 10 Universal apps being submitted to one Store, and work all across phones, tablets, PCs and the Xbox One, I personally feel that Windows apps could quickly become a really nice platform to target. Since Microsoft dropped XNA, the lack of a good 2D game engine is a problem for Microsoft, and porting Löve to the modern Windows platform would benefit Löve as well.

What do you guys think about this? If there was a W10 port of Löve, would you use it to try to target W10/XBone with your Löve games?

And Löve developers, is this something you're considering at some point?

I'm personally thinking about making an unofficial Löve port for W10 Universal Apps, once the SDK is released (in April at Microsoft's BUILD conference probably). I've looked into this previously, and while there is a guy working on porting SDL to W8/WP8, I think it's far from ready to be used for something like this. So what I've been thinking about doing is to skip all Löve's SDL stuff, and reimplement all of that using native DirectX tools, while porting Löve's OpenGL graphics code directly using ANGLE. Does that sound feasible? I really haven't looked at Löve's source code much, but I assume that SDL code is fairly well separated from the OpenGL graphics code :P
Last edited by T-Bone on Fri Apr 17, 2015 9:35 pm, edited 2 times in total.
User avatar
Davidobot
Party member
Posts: 1226
Joined: Sat Mar 31, 2012 5:18 am
Location: Oxford, UK
Contact:

Re: So with the recent GDC annoucnements from Microsoft...

Post by Davidobot »

I'm all in for this.
PM me on here or elsewhere if you'd like to discuss porting your game to Nintendo Switch via mazette!
personal page and a raycaster
User avatar
T-Bone
Inner party member
Posts: 1492
Joined: Thu Jun 09, 2011 9:03 am

Re: So with the recent GDC annoucnements from Microsoft...

Post by T-Bone »

Just wanted to mention that I've been looking more into the SDL port to Windows (+Phone) 8.1, and it does actually seem pretty usable at this point, so I'll probably be able to use it directly, significantly reducing the effort of porting Löve to Windows Apps. While it does list ANGLE-based OpenGL rendering in SDL as "experimental", well, what could possibly go wrong? :neko:

With this, I think the biggest problems to overcome are probably not SDL-based, but rather the non-SDL libraries that Löve uses that aren't packaged with Löve's source code (OpenAL, PhysFS, FreeType, DevIL). Some of those might be tricky to get to work (haven't looked into it yet).

Edit: FreeType has a port, so that should be fine. OpenAL as well. PhysFS is probably going to be a little troublesome. I won't need DevIL, as mobile-common has "native" loaders for .png and .jpg and that'll do for now.

EdIt: Got SDL working on both my Lumia 920 and on my PC as an 8.1 Universal app. Good start!
Edit: Got ANGLE working as well!
Edit: Got Lua 5.1.5 working too! Now only PhysFS remains until I can try to actually build Löve :neko:
Edit: Turns out PhysFS has a bunch of platform-specific code, and of course there's no WinRT support. Might have to write it myself... :death:
Edit: Have written a WinRT PhysFS platform, but it doesn't compile because there's a conflict between including C++ <string> and something somewhere in the PhysFS C code :death:
Edit: Okay, I can finally compile, include and initiate PhysFS. But mounting a zip doesn't work :P Oh well, it's a start.
Edit: HAHA, I forgot to run the line "PHYSFS_setSaneConfig" :P No wonder it didn't work. Most PhysFS calls work now, but I still can't figure out how to mount archives though... But folders work!
Edit: Mounting zip files work now! Only one PhysFS bug remains (running PHYSFS_deinit() crashes the whole app :neko:)
Edit: Holy crêpe, PhysFS works fully now!
Edit: I can build libvorbis and libvorbisfile with libogg now! :ultraglee:
Edit: Everything builds now! It does show the Löve error screen, but the text is invisible so I can't see what's going on :crazy:
User avatar
T-Bone
Inner party member
Posts: 1492
Joined: Thu Jun 09, 2011 9:03 am

Re: So with the recent GDC annoucnements from Microsoft...

Post by T-Bone »

Image

I wasn't sure this day would come :'D
User avatar
undef
Party member
Posts: 438
Joined: Mon Jun 10, 2013 3:09 pm
Location: Berlin
Contact:

Re: So with the recent GDC annoucnements from Microsoft...

Post by undef »

Wohooo! Congratiulations!
twitter | steam | indieDB

Check out quadrant on Steam!
User avatar
bartbes
Sex machine
Posts: 4946
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Re: So with the recent GDC annoucnements from Microsoft...

Post by bartbes »

That's cool! Maybe you could upstream your efforts? I'm sure physfs would love to accept a winrt port, and if there's any changes in the love port, I'd be interested in getting those into love, too.
User avatar
T-Bone
Inner party member
Posts: 1492
Joined: Thu Jun 09, 2011 9:03 am

Re: So with the recent GDC annoucnements from Microsoft...

Post by T-Bone »

bartbes wrote:That's cool! Maybe you could upstream your efforts? I'm sure physfs would love to accept a winrt port, and if there's any changes in the love port, I'd be interested in getting those into love, too.
The PhysFS port is already submitted for review. The Löve source code changes are very minor at this point, but if I change more and it becomes somewhat stable (I haven't tested much yet), I'd love to upstream my work. Honestly most of the job have been getting all the libraries to play nice with WinRT's restrictions, and the PhysFS port of course. love-mobile-common itself has given me very few issues :neko:
User avatar
I~=Spam
Party member
Posts: 206
Joined: Fri Dec 14, 2012 11:59 pm

Re: So with the recent GDC annoucnements from Microsoft...

Post by I~=Spam »

Whoo! Many kudos to you! ;) :nyu: (and the SDL team too!)
My Tox ID: 0F1FB9170B94694A90FBCF6C4DDBDB9F58A9E4CDD0B4267E50BF9CDD62A0F947E376C5482610
User avatar
T-Bone
Inner party member
Posts: 1492
Joined: Thu Jun 09, 2011 9:03 am

Re: So with the recent GDC annoucnements from Microsoft...

Post by T-Bone »

Yeah, there's a guy called David Ludwig who seems to have done the WinRT ports of SDL more or less by himself. He's been a huge help for me, both for making the ports, and helping me in my work. Bartbes and Slime have also been extremely helpful, I wouldn't have been able to do it without them.

LöveFTW seems pretty stable already, to my surprise. I can play most of Hat Cat on it already. The only important issues I've noticed so far:
1. When running in landscape on Windows Phone, the graphics get messed up. It looks like this is SDL's ANGLE's fault, I'll see what I can do.
2. SDL on Windows Phone is compiled without SDL_Joystick, so games crash unless you remove the joystick module in conf.lua on Windows Phone. I'm not sure how I'll solve this, I've written a "null" joystick implementation but I'm not sure how to swap the SDL one for it only on Windows Phone (I really want to keep joystick support on PC/tablets, and there's no easy compile-time or run-time checks to differentiate between the PC/tablet and Phone). SOLVED, thanks Bartbes!
3. Playing ogg music on Windows Phone just plays white noise. Works fine on PC, as well as the WP emulator, so I guess it's ARM related. SOLVED, my own stupidity was the culprit.

When running on PCs, everything I've tested has worked. So that's nice!
Last edited by T-Bone on Thu Apr 16, 2015 4:35 am, edited 3 times in total.
User avatar
bartbes
Sex machine
Posts: 4946
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Re: So with the recent GDC annoucnements from Microsoft...

Post by bartbes »

T-Bone wrote: 2. SDL on Windows Phone is compiled without SDL_Joystick, so games crash unless you remove the joystick module in conf.lua on Windows Phone. I'm not sure how I'll solve this, I've written a "null" joystick implementation but I'm not sure how to swap the SDL one for it only on Windows Phone (I really want to keep joystick support on PC/tablets, and there's no easy compile-time or run-time checks to differentiate between the PC/tablet and Phone).
Can't you check the return value of SDL_InitSubsystem?
Post Reply

Who is online

Users browsing this forum: No registered users and 8 guests