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

SDL 2 port #169

Closed
cxong opened this issue Nov 7, 2013 · 8 comments
Closed

SDL 2 port #169

cxong opened this issue Nov 7, 2013 · 8 comments

Comments

@cxong
Copy link
Owner

cxong commented Nov 7, 2013

Seems like a big task, need to investigate: http://wiki.libsdl.org/MigrationGuide

Why port?

  • SDL 2.x has gone stable
  • SDL 1.2.x will gradually see worse support
  • There are some features we may benefit from:
    • Multiple windows/displays - maybe one day we can have 8 or 16 split screen local multiplayer! 😆
    • Android/iOS support - we already have an Android port so it's not a big issue, but iOS is a big one. SDL 2.x is under zlib license so iOS ports will be legal 😈
    • Better fullscreen support - not sure what that entails, but sounds nice
    • Basic Drag'n'Drop support - can use in the classic editor for opening .cpn files by dragging them into the window
    • Support joysticks being plugged in/out - always nice

And now the bad news:

  • No/poor/unknown support for Haiku, BSD etc. No more toaster ports 😦
@cxong
Copy link
Owner Author

cxong commented Nov 7, 2013

Getting a bit ahead of myself; C-Dogs itself is GPL licensed so releasing in app store is impossible anyway.

@cxong cxong mentioned this issue Nov 8, 2013
@cxong
Copy link
Owner Author

cxong commented Nov 8, 2013

@ghost
Copy link

ghost commented Nov 8, 2013

A suggestion: Since SDL 2 is still in it's initial phase and the documentation, even the website isn't totally fleshed out, why not wait, until C-Dogs SDL has all the major problems - like non-free graphics - solved?
Until then, I guess there will be SDL2 ports for Haiku and BSD; well, or at least I hope so...

@cxong
Copy link
Owner Author

cxong commented Feb 10, 2014

Actually, an important benefit of using SDL2 is that it allows hardware graphics (without going full openGL). The graphics code will still need a lot of rework, but this will make it feasible to do HD graphics at a nice framerate. Pushing millions of pixels between the CPU/GPU every frame is just way too painful otherwise.

@ghost
Copy link

ghost commented Mar 21, 2014

About iOS: Isn't C-Dogs itself GPL'd by Ronny Wester?

@cxong cxong mentioned this issue Aug 21, 2014
6 tasks
@cxong
Copy link
Owner Author

cxong commented Apr 8, 2015

Yet another reason for SDL2: we can use this: https://github.com/gabomdq/SDL_GameControllerDB with the function SDL_GameControllerAddMappingsFromFile which will give good button names for controllers.

@ghost
Copy link

ghost commented Apr 8, 2015

@cxong 👍

Also, SDL2 seems pretty stable now, unlike in 2013.

@carstene1ns
Copy link
Contributor

Well, an actual port with the current features is possible by using the current rendering (doing pixel manipulation, blit to screen) as SDL2 supports it (to be backward compatible). However, as already mentioned, to make use of all the new features (hardware accelerated textures and such) a major re-factoring would be necessary. I would like to keep compatibility for SDL1.2 until that re-factoring happens.
With a bit of cmake-magic and some `#ifdef' stuff, this should be do-able in a day or two.

@cxong cxong mentioned this issue Jun 13, 2015
@cxong cxong modified the milestones: LAN Multiplayer, Wishlist Oct 18, 2015
cxong added a commit that referenced this issue Oct 23, 2015
Remove hqx
Remove scaling
cxong added a commit that referenced this issue Oct 23, 2015
cxong added a commit that referenced this issue Oct 23, 2015
cxong added a commit that referenced this issue Oct 23, 2015
Run cmake with -DCMAKE_INSTALL_PREFIX
to avoid installing to /usr/local
cxong added a commit that referenced this issue Oct 23, 2015
cxong added a commit that referenced this issue Oct 23, 2015
cxong added a commit that referenced this issue Oct 23, 2015
cxong added a commit that referenced this issue Oct 23, 2015
cxong added a commit that referenced this issue Oct 23, 2015
cxong added a commit that referenced this issue Oct 24, 2015
cxong added a commit that referenced this issue Oct 24, 2015
cxong added a commit that referenced this issue Oct 24, 2015
cxong added a commit that referenced this issue Oct 24, 2015
cxong added a commit that referenced this issue Oct 24, 2015
cxong added a commit that referenced this issue Oct 24, 2015
cxong added a commit that referenced this issue Oct 24, 2015
cxong added a commit that referenced this issue Oct 24, 2015
Match those returned by pkg-config
cxong added a commit that referenced this issue Oct 24, 2015
Fix changing map key not updating in menu
cxong added a commit that referenced this issue Oct 24, 2015
cxong added a commit that referenced this issue Oct 24, 2015
cxong added a commit that referenced this issue Oct 24, 2015
cxong added a commit that referenced this issue Oct 24, 2015
cxong added a commit that referenced this issue Oct 24, 2015
@cxong cxong closed this as completed in 20eeb2b Oct 24, 2015
cxong added a commit that referenced this issue Oct 25, 2015
cxong added a commit that referenced this issue Oct 25, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants