Once start working on Linux port he'll regret about that. Every developer that start with own platform-specific code end up using SDL2 anyway. Don't do that mistake.
Once start working on Linux port he'll regret about that. Every developer that start with own platform-specific code end up using SDL2 anyway. Don't do that mistake.
As result these people usually don't even consider any alternatives as all of them even worse from their standpoint.
I would use SDL in Linux ports of things because it is the closest to a reasonable native API on Linux (which says more about Linux than SDL actually). But even having done so I would then use native APIs in Windows, OSX, etc.
If your standard of quality is high enough, it won't really be possible to reach it using a blanket API like SDL everywhere.
Though when it's relatively new game with own engine and small team maintenance cost for own cross platform code going to be high. Even on Windows there is tons of small problems that already solved within SDL. It's really not fun to debug problems of XP, Vista and some not updated systems.
PS: Also as far as I aware SDL2 currently used by all Valve games on all platforms. I pretty sure they wouldn't be using it if it's wasn't working well.
- On Windows, DPI scaling is broken (ask for a 1280x720 window, get 1600x900)
- On Mac, mouse locking is broken
- On Linux, my Xbox gamepads don't work at all
- Required several hacks before it could be used as a CMake submodule
This stuff is under active development, which is shocking for such an established and widespread library. I'm glad it exists, but it doesn't "just work".
Can't really blame it though, it has a very boring and nearly impossible task.
Really? I use Linux full time at home and I've never had problems with 360 controllers either when developing with SDL2 or playing games built with it. Are you talking about original Xbox and/or Xbox One controllers?
PS: What OS X version you had problem with?
It's probably because I'm on a random Git commit rather than a stable release, but I had to do that due to another issue. It's surprising how many things are in flux, given how long it's been around.
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware>
</windowsSettings>
</application>There's code in SDL specifically for high DPI, but it's confusing and practically undocumented.
It's just something I'll have to mess around with a while, and then remember not to breathe on anything once it's working. :)
Besides, there is more than rendering for a decent engine. Managing controls in an agnostic way is nice to. I am actually working on adding better control-events so it can wrap Windows, Windows phone, Apple TV and External controllers easier.
That would make sense, last time I touched it was back in 2012.
> "Besides, there is more than rendering for a decent engine."
For sure, but Cocos2d-x is a complete software framework and SDL is meant to be a library. Although I would grant that it would make sense if the author would choose to use a game engine for his game.
>That would make sense, last time I touched it was back in >2012.
Cocos2d-x has never used SDL for anything.
for v4 the renderer is vastly different. Going from v2 to v3 there were major changes here as well.