HurricanGame / Hurrican

Freeware jump and shoot game created by Poke53280, based on the Turrican game series by Manfred Trenz
61 stars 22 forks source link

Move to SDL3 #79

Open drfiemost opened 3 months ago

drfiemost commented 3 months ago

The SDL3 release is getting near, maybe it's time to consider dropping SDL1 support and move to the new API.

drfiemost commented 2 months ago

Migration guide

Pickle commented 2 weeks ago

Id like to find out some details and goal of this repo. SDL1 was used cause my main target at the time was the openpandora. Is there a particular build everyone is using that contributed to this repo? I tried to support a number of handheld devices with the makefile. CMake is a nice addition, the makefile i used was just quicker to cross compile. My original approach was to try to keep dependencies to a minimum.

For example I just built a version for the TrimUI Smart Pro handheld based on my current repo. I did try to give this repo a try, but libexpoxy was not a quick cross compile. Im not sure this really helps as all the opengl and headers i used were pretty standard. Did this help in some way? (I hacked it out in my test) The next problem was the filesystem from C++17. I havent checked if there was older alternative way this was handled.

I wouldnt mind joining this project as it looks like some nice effort was put into improving the engine. It just some of the particulars i gave above that can make it a hassle to port to other devices. Is there opposition to making some of the new additions optional with alternative solutions that work for older compilers?

Anyone used the texture compression? This so far really helped for devices with limited memory. Did the gbm math routines improve anything over the cml matrix ops?

drfiemost commented 2 weeks ago

There have been efforts in modernizing and cleaning up the code base so I always assumed that was the direction of the project. I've tried to keep most of the options fot the other platforms in the cmake file but personally I'm mostly interested in the Linux desktop version. Anyway I think @thrimbor would be a more authoritative voice here.

Pickle commented 1 week ago

so i was able to get this version running with SDL2 on the trimui (cmake can be a pain sometimes). The main ports I would like to see maintained are rpi, pandora, and gcw. If the SDL2 builds work on these I dont think it would be strictly necessary to keep SDL1+EGL, but on the hand it works and is there if a port can use it. I want to work through each device with this branch and see how it goes.

a couple side note with the trimui the filesystem did work but under the experimental path. Id like to move the file ops into a dedicated file that can support these 2 variations plus be open to something before filesystem. second the SDL2_mixer on the trimui is not supporting mod playback. I think the libmodplug support is a good backup. Id like to add this back an optional compile option.

drfiemost commented 1 week ago

second the SDL2_mixer on the trimui is not supporting mod playback. I think the libmodplug support is a good backup. Id like to add this back an optional compile option.

SDL2_mixer should support both libmodplug and libxmp as backends. I assume libopenmpt is not a viable option

Pickle commented 1 week ago

Im trying to avoid recompiling the library and use the firmware's library. But I will mess around with it more and see what i can get working.