Skip to main content
gamedev.net
🔒 Locked

My SDL modification

Started by Spudder 6 replies 2.3k views
Original Post
Spudder
Spudder
I've combined SDL and SDL_image into a single library without the need for any third party libraries, some of the image formats have been dropped leaving PNG, PCX, TGA and BMP but since PNG is jus so awesome you don't really need much else, for more details then check the accompanying readme file. The source code is available as required under the LGPL so if you want to add in any extra image formats your more than welcome to. A note about the source package is that only the source code to build under Windows is in the package but all of the new files are located in their own folder so it shouldn't be hard to adjust the existing SDL build files. The binary package features debug and release builds for VS (.lib), if anyone builds this under Dev-C++ or Linux I'd love to add those to the download list. Here's the links: Source Binary
Drew_Benton
Drew_Benton
I'll take a look and see how it is [smile]. Good work.
jonahrowley
jonahrowley
I can understand building SDL_Image without a lot of the deps, but why combine them into one library? That seems a bit counter-productive to me, what benefit could you possibly get from this? If you want to provide an easy package for developers, why not package these two libs and all dependency libs (libpng, etc) into a single file people can download?
Drew_Benton
Drew_Benton
Quote:
Original post by jonahrowley
I can understand building SDL_Image without a lot of the deps, but why combine them into one library? That seems a bit counter-productive to me, what benefit could you possibly get from this? If you want to provide an easy package for developers, why not package these two libs and all dependency libs (libpng, etc) into a single file people can download?


Well the main thing is this - it is nice to have a 'one package with it all'. Now I can't say just doing SDL + SDL_Image is of that great use, but the ddesign issue sheds light to other things, such as all the SDL components in one library. Here are the basics of this:

1. I'd rather download one package that has the 6 main libs now rather than go and have to download 6 different libs.
2. Linking in 1 main package and distributing is a lot eaiser than 6.

The main goal of this is simplicity. Now I know this then brings up development issues, well how about maintating. The goal is not to make a library to constantly update with, but rather get some 'milestone' point in which you can put everything together and it works. There are alternative ways of doing this of course, but combining all into one does have it's benefits on the end users.

The main libraries are: SDL, SDL_Image, SDL_mixer, SDL_ttf, SDL_net, SDL_gfx, and there aer a few others. I'd personally like to see an all in one adapted as a side library as well as continue to have them all seperated. Since the components are already tested and released, adding them all into one would just be simplifying them. Just my opinions though.

- Drew
Spudder
Spudder
I did this as a personal thing, I only really use SDL + SDL_image so I combined the two to make my life easier to have everything together in a single library and distribute a single dll instead of 5 or 6. I only made it available in case it proved useful to anyone who felt the same.
clayasaurus
clayasaurus
what is so bad about distrubuting 5 or 6 dlls if their filesize is roughly equivilent to your one mega dll?

there is a reason the libs are all seperated out and not one huge lib, so SDL is not the kitchen sink like allegro. but if it works out for you then ... go you.
Spudder
Spudder
The filesize of the new SDL dll is 366kb, the combined size of the just the SDL_image dlls is 400+ kb without the SDL filesize added on so there is an advantage reduced sizes.

Not many people use the plain SDL library, many people use the add-on libraries like SDL_image, SDL_mixer etc for making games, most of these add-ons use third party libs themselves which only adds to the hassle of getting everything together.

With this lib they have the option of using a single dll instead of having five or six without any third-party dependencies which can only be easier.
Easca
Easca
I'd prefer the option of one "mega" dll being available alongside the individual packages.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.