Targetting windows store/universal app

Hi everybody, thanks in advance for reading my topic. I have a haze project that I’d like to bring to the windows 8.1 store. Has anybody done this or know what would be involved? I’ve compiled my project under the windows target and it runs just fine, though I’m unsure of what the next steps would be to do a universal app.

There is a topic here on the forums that talks about adding ANGLE support.

A universal Windows app requires the “Windows Runtime” (WinRT) rather than Win32 at a low-level. OpenGL is not supported, so the first step is for us to get ANGLE running for graphics support (it provides OpenGL APIs over DirectX)

If this works, then we need to compile the whole stack for WinRT instead of Win32, work has already happened in this regard, I think SDL2 (which we rely upon) is compatible already, and other issues might just be little patches that are needed.

I’ve just been waiting to see if someone wants to help

Thanks for the reply singmajesty! I’ll search for that thread and see what’s going on there. In the mean time, I’ve built a html5 version and stuck that in a JS universal app; though the performance leaves a lot to be desired, so I’m gonna start looking for ways to optimize the performance in JS. My ultimate goal is to port my game to my surface RT and have it be playable there

Are there just OpenGL that is stopper? Doesn’t Lime also need OpenAL that missing in WinRT too?

Does your project build with the new OpenFL codebase (without -Dlegacy), per-chance? If so, you may be able to try -Dwebgl when building for HTML5, if it works, then that might give you a performance boost, I forget if WebGL is available from Windows Store apps

Sure, we need OpenAL and other native dependencies, but if these can compile to WinRT (which I assume they could?) then we’ll be alright on that front. OpenGL, however, requires cooperation from the graphics card driver, which is why it is a key exception

@zimmy where did you end up with OpenFL and Windows Universal App? I’m going down a similar road trying to get better performance of the HTML5 build with webgl.

We’re also considering the ios windows bridge: https://github.com/Microsoft/WinObjC

Hi. Latest hxcpp can compile Universal Windows 10 apps.
With VS2015 and Windows 10 SDK installed, (and git versions of lime, hxcpp…) you can try

lime rebuild hxcpp windows -Dwinrt -clean
lime rebuild windows -Dlegacy -Dwinrt -clean

In the DisplayingABitmap sample

lime test project.xml windows -Dlegacy -Dwinrt -clean

(It will compile but it will not actually display a bitmap…)

You may need to modify hxcpp\toolchain\msvc-winrt-setup.bat to match your Windows 10 SDK version

After compiling, you need to make a package similar to Android (which is tricky to do from outside VS2015).

Of course, this could be tested with the non-legacy and angle but I think it still will need “some” work to implement Sound, Game Pad, etc. with the WinRT APIs.

I think SDL2 has WinRT support now, the real (ideal) way to do it is to make Lime work with WinRT in SDL, that way, we’ll get not only Windows Store, but Windows Phone if I understand it right, without making code changes in Lime since we use SDL on iOS/Android/desktop already :slight_smile: