raylib 1.8 released!

Hey Sam! Don't worry! No hurries! :D

Just been working very hard those last weeks with a bunch of changes and additions! You can read more about that here!

Good news is that with the replacement of current OpenAL Soft audio library by mini_al, UWP audio support would be added! (Still no updated on GitHub)

So, the only key point missing on UWP is the inputs support... Here an issue with more details!
Fantastic! I've been setting up the UWP project this morning (VS installation fun). I was holding out hope I'd be able to get UWP at least building on my Win 8.1 machine, but it was to no avail.

I'll have to hold off contributing until I can partition+install Windows 10. :(
It's been a long time coming - hopefully I'll get that done this week!
Hey Sam!

It sounds like a plan! Keep my updated! :)

In the meantime, I keep working on avoiding external dependencies...
Hello!
I finally got Windows 10 running and spent some time today implementing UWP gamepad input. The functions I wrote are modeled after their corresponding implementations in raylib's core.c, so it would be a copy-paste job if core was a C++ file.

There's one glaring robustness problem right now - in UWP you have to roll your own gamepad tracking (e.g. who's player 1, who's player 2) so there's some more thought that has to go into how things like controller disconnects are handled. Other than that, however, it's all functional!

Let me know what you think next steps are!
-Sam


[I haven't tested it on XBox One yet (have to wait for those Cyber Monday deals! :P), but it's safe to assume there won't be any input problems there.]

Wow! That's amazing Sam! :D

Did you implemented it using raylib/testing_uwp GitHUb branch? Maybe you can send a Pull Request to that branch.

On the other side, OpenAL Soft audio library is being replaced by single-file-header-only-multiplatform audio library mini_al. Already tested and functional in all supported platforms but not yet integrated into raylib. Good news is that it should work on UWP! With that addition raylib should be fully functional on UWP.

Regarding inputs, another interesting addition would be support for touch events, raylib has a basic API to support touches on multiple platforms (Android, HTML5), raylib module gestures.h also implements a generic gestures system from touch events.

Not sure if there is anything left, need to check it more carefully with all the parts together... maybe timming functionality or storage should also be reviewed for UWP.
I did make the changes on the testing_uwp branch - I'll have to make a github before I can make the pull request, I'll throw that up tonight or tomorrow.

I'll also be sure to look into UWP gestures/timing more this week. I'm not entirely sure what you mean by reviewing storage though - are you talking about file i/o?

Best!
-Sam

Edited by SamNChiet on
Hi Sam! It sounds great! :D

Actually, raylib gestures system only requires some touch events to calculate gestures... probably UWP already offers a similar API to detect gestures directly, instead of just raw touches.

Current raylib timming implementation is based on GLFW3 on desktop platforms and custom on other systems, UWP should use their own... despite that probably, it is fixed by default internally to 60 fps (same on Android).

Just found this useful reference, to see which Windows libraries are available on UWP.

Looking a bit further, noticed that QueryPerformanceCounter is available for UWP, so it can be used for timming, great!

About storage, yes, I mean file I/O, many platforms usually provide a Storage class to access file data in a controlled way, just found more info here.

With those points, I think mostly all raylib functionality would be available on UWP! :D
Hello! It looks like I need permission to push to the branch. I'm not super familiar with Git (always used Subversion) but I assume you can add me via my fancy new github here

Typically other developers create clone/fork of git repository in their own user. Do modifications there (where you can push it), and then create pull request. Pull request will be from your_user/your_branch to original_user/whatever_branch. Pull request gives ability for owner of original repository to review it before actual changes gets into original repository. Its safer that way. So you don't need to have permissions to push to original repo. Just create pull request from your fork.

Edited by Mārtiņš Možeiko on
Hi Sam! Mārtiņš is right, the typical procedure is:

1. Create a fork (copy) of raylib in your user SamNChiet
2. Add changes to SamNChiet/raylib project, use /testing_uwp branch or create your own
3. Send a Pull Request SamNChiet/your_branch to raysan5/testing_uwp
4. I review the changes and integrate into raylib project
5. Keep up with the good work! :D

Please, let me know if you have any problem. In any case, now that you have a GitHub account you can log into raylib gitter open chat and discuss the integration into a private chat.
keep in mind that if the branch from which you made the pull request is updated then the pull request will also be updated with the new code.

So if you want to make new unrelated changes without adding it to the pull request you need to make a new branch.