Feedback?

I’d like some feedback on the splitting of the demos from the source archive.
Is it a good layout? Nice demos? Is it clear how to make them?

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

Thus far, they look really good. Aliens runs a little fast, but I did
run it on a P233. I really like how it plays music and the sound
effects at the same time. That’s exactly what I’m looking for in my
games.

The only problem I’ve had is that anything that uses wave::save() from
Mac_Wave.cc gives errors durring compile.

Mac_Wave.cc: in method ‘int Wave::Save(char *)’:
Mac_Wave.cc:564: void value not ignored as it ought to be
Mac_Wave.cc:564: in argument to unary !
Mac_Wave.cc:568: void value not ignored as it ought to be
Mac_Wave.cc:568: in argument to unary !

Aparently, SDL_WriteLE32 from 0.7 returns void, but the SDL_WriteLE32
from CVS doesn’t. Is the CVS code stable enough for me to install it
and use that over 0.7? (I’m kinda nervous about installing anything
from CVS after the near-death experience I had with GNOME and KDE.)

GIF loading is something I’ve been hoping for. BMP files are HUGE, and
I’d rather have an industry standard filetype like GIF or JPEG (For
high-color graphics).

Also, is there any way to (or any plans to) load SDL
graphics/sounds/music/etc. from one single file (similar to wad files
for DOOM).

Finally, I have to say, Sam, that you’re doing a fantastic job with
SDL. I have to say to everyone involved “good job”…On 30 Jul, Sam Lantinga wrote:

I’d like some feedback on the splitting of the demos from the source archive.
Is it a good layout? Nice demos? Is it clear how to make them?


| |/ | | | _ | | | mailto:@Knight_Walker |
| / | / / | | http://www.aros.net/~kwalker |
| \ | ___ | | |
| |\ | | / \ | | The Kobran Imperium (801)265-1299 |
|| || || || _____________________________________/

Thus far, they look really good. Aliens runs a little fast, but I did
run it on a P233. I really like how it plays music and the sound
effects at the same time. That’s exactly what I’m looking for in my
games.
Good synchronization makes for better effect.
The old Amiga demos were well timed.

The only problem I’ve had is that anything that uses wave::save() from
Mac_Wave.cc gives errors durring compile.

Mac_Wave.cc: in method ‘int Wave::Save(char *)’:
Mac_Wave.cc:564: void value not ignored as it ought to be
Mac_Wave.cc:564: in argument to unary !
Mac_Wave.cc:568: void value not ignored as it ought to be
Mac_Wave.cc:568: in argument to unary !

Hrm…sounds like the definition is overriding the prototype.

from CVS after the near-death experience I had with GNOME and KDE.)
Oooh. Someone who actually got GNOME experience. That abad, eh?

GIF loading is something I’ve been hoping for. BMP files are HUGE, and
I’d rather have an industry standard filetype like GIF or JPEG (For
high-color graphics).

GIF has been kinda killed in some circles because of prorietary issues
and legalities. Its unfortunate that most PC programmers use bitmaps
because they are inefficient and klunky…but amongst them it is
standard. JPEGS require a bit of overhead…it depends on your
app. There is also the PNG file format which people are trying to
use as a replacement, but I’ve seen no real practical instances
thus far on them that prove better professor.

Also, is there any way to (or any plans to) load SDL
graphics/sounds/music/etc. from one single file (similar to wad files
for DOOM).
Good idea.

Finally, I have to say, Sam, that you’re doing a fantastic job with
SDL. I have to say to everyone involved “good job”…

I wish I could be of more help, but I’ve been insanely busy…if I
have a few hours this weekend I might try to krank out a demo
for inclusion.

Best Regards,
David Sowsy

kwalker at aros.net writes:

I’d like some feedback on the splitting of the demos from the source archive.
Is it a good layout? Nice demos? Is it clear how to make them?

I like it from what I can see (watching the cvs update)

GIF loading is something I’ve been hoping for. BMP files are HUGE, and
I’d rather have an industry standard filetype like GIF or JPEG (For
high-color graphics).

are you opposed to us giving you patches for updates? stuff like
loading of XPM’s, PNG’s, etc? I have lots of code like that lying
around that would integrate nicely

Also, is there any way to (or any plans to) load SDL
graphics/sounds/music/etc. from one single file (similar to wad files
for DOOM).

this would be ideal and not horribly tough to do, also one other thing
that would make me horribly happy is an integration of Zombie into SDL
(networking API for gaming)… :slight_smile:

j> On 30 Jul, Sam Lantinga wrote:


/* ------------------------------------------------ *
Always remember you’re unique, just like everyone else
* ------------------------------------------------ */

GIF loading is something I’ve been hoping for. BMP files are HUGE, and
I’d rather have an industry standard filetype like GIF or JPEG (For
high-color graphics).

GIF has been kinda killed in some circles because of prorietary issues
and legalities. Its unfortunate that most PC programmers use bitmaps
because they are inefficient and klunky…but amongst them it is
standard. JPEGS require a bit of overhead…it depends on your
app. There is also the PNG file format which people are trying to
use as a replacement, but I’ve seen no real practical instances
thus far on them that prove better professor.

What about RLE compressed BMPs? About 20% of windows graphics programs
I’ve used support them. :wink:

But seriously, we might consider an SDL-specific graphics format, so that
all SDL apps are standardized, and you can convert ANY graphics type to an
SDL pixel map. (That’s annoying, because you can’t load these files in
your favorite graphics program, without using file-converters.) But
that’s the technique I’m using for the program I’m developing now, and it
works fairly well. Just develop all your graphics using the
aforementioned favorite editor, save BMPs, and convert them to the
custom format for the program. (And they’re nice & compact and shoved
into a convenient resource file…)

The nice thing about having a custom graphics format is you can guarantee
it has all the features you want. Color modes supported? 16-bit RGB565,
32-bit RGBA8888, palettized 8-bit, palettized 4-bit. 1-bit. You could do
anything.

I have a Huffman/RLE-style compression I’ve developed and would be willing
to donate to such a cause. It works pretty well, and has a FAST
decompression time. But then again figuring out how to use gzip
would work much better, anyway. (Is there a gzip in library form we could
use? Store some sort of gzipped data on disk, and uncompress to RAM on
load?)

I wish I could be of more help, but I’ve been insanely busy…

Same here… only I probably won’t have any free time until November :slight_smile:
(literally… please pity me…)

Good luck,
-Chuck

Thus far, they look really good. Aliens runs a little fast, but I did
run it on a P233.

That’s just the timing of the game itself. You can adjust that by using
the #define’s in aliens.c

Aparently, SDL_WriteLE32 from 0.7 returns void, but the SDL_WriteLE32
from CVS doesn’t. Is the CVS code stable enough for me to install it
and use that over 0.7?

That’s correct. You can use the CVS code. I usually don’t put out CVS
snapshots on my webpage until something that I’ve been working on is stable
and tested on at least one of the supported platforms (Usually Linux)
So, if you check back to develop.html and either grab the new archive
or perform a CVS update whenever that snapshot date changes, you should
be alright. If anything major changes, I’ll announce it on the list.

(I’m kinda nervous about installing anything
from CVS after the near-death experience I had with GNOME and KDE.)

No worries, SDL isn’t nearly as octopussian a project. :slight_smile:
(Is that a word? :slight_smile:

GIF loading is something I’ve been hoping for. BMP files are HUGE, and
I’d rather have an industry standard filetype like GIF or JPEG (For
high-color graphics).

Yep. Just as long as you follow the copyrights associated with the
files, you can use any of the example code in your own projects.
The code I write is under GPL, and the code from other people that
I’ve included has either been freeware or GPL as well.

Also, is there any way to (or any plans to) load SDL
graphics/sounds/music/etc. from one single file (similar to wad files
for DOOM).

It looks like PenguinPlay, a Linux game library project, may start
using SDL as one of the low-level targets it suppors. They are doing
quite a bit of work on file loading and wad-type archive support.
As far as I can tell from the mailing list, the project is big and
slowly developing.

I have no problem including a general archive loader and general
image/sound/music loading library with the SDL demo code, in fact,
I think it’s a really good idea. I have too many other things
going on to write it however, so it would be up to you folks. :slight_smile:

Finally, I have to say, Sam, that you’re doing a fantastic job with
SDL. I have to say to everyone involved “good job”…

Thank you very much. You guys have really made this worthwhile for
me… it’s been a nice big pleasure working on the SDL project with
you all. :slight_smile:

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

Good synchronization makes for better effect.
The old Amiga demos were well timed.

Hmm. There are hooks in the MikMod library for looking at the MOD
timing – it’s just a matter of exposing them and using them.
If you want, show us how it’s done.
Mix_Music is a structure containing a pointer to the MikMod UNIMOD
structure, which contains information about the playing song. You
just have to include the “mikmod.h” file to access it.

GIF has been kinda killed in some circles because of prorietary issues
and legalities.

I read the official word from Compuserv, and it looks like decoders can
use GIF royalty free, without any registering process.

I wish I could be of more help, but I’ve been insanely busy…if I
have a few hours this weekend I might try to krank out a demo
for inclusion.

Good luck. :slight_smile:

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

are you opposed to us giving you patches for updates? stuff like
loading of XPM’s, PNG’s, etc? I have lots of code like that lying
around that would integrate nicely

Absolutely not. I’m going to be very conservative about what I include
in the SDL core library – i.e. no more file formats, etc, but I am
very happy to add to the growing collection of demo libraries and programs.
I am willing to give CVS write access to anyone actively working on a
demo or library. All I ask is that it’s coded with extensibility
and ease of use in mind. Discussing it here on the list is a good way
to get feedback. (Also, for the lazy minded out there like me, do a
good web search to see if what you are trying to do has already been
done and released for free.)

this would be ideal and not horribly tough to do, also one other thing
that would make me horribly happy is an integration of Zombie into SDL
(networking API for gaming)… :slight_smile:

I don’t see a need for integration – just use them both in your game. :slight_smile:

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

What about RLE compressed BMPs? About 20% of windows graphics programs
I’ve used support them. :wink:

I’m willing to add decode support to SDL for them. I need some sample
images. The problem with them is they use, in addition to RLE encoding,
position shifting via vectors which blows the BMP loading code I have now.
I’d have to have to write a completely new decoding routine to handle them.

But seriously, we might consider an SDL-specific graphics format

Image loading format is higher level than the SDL library is designed.
However, a helpful library that is included with SDL demos, freely available,
would achieve the same thing.

The nice thing about having a custom graphics format is you can guarantee
it has all the features you want. Color modes supported? 16-bit RGB565,
32-bit RGBA8888, palettized 8-bit, palettized 4-bit. 1-bit. You could do
anything.

Yup. :slight_smile:

(Is there a gzip in library form we could use?

Yup, check out zlib – it is a gzip compression library and builds
"minigzip" as one of the example programs.

Same here… only I probably won’t have any free time until November :slight_smile:
(literally… please pity me…)

Why are you so busy?

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

But seriously, we might consider an SDL-specific graphics format

Image loading format is higher level than the SDL library is designed.
However, a helpful library that is included with SDL demos, freely available,
would achieve the same thing.

Good point. Hehe… I was the one warning about making SDL grow out of
its scope.

(Is there a gzip in library form we could use?

Yup, check out zlib – it is a gzip compression library and builds
"minigzip" as one of the example programs.

Kewl. That should help those concerned about how big BMPs are. Although
I’m still holding my breath for a compressed filesystem for Linux. Then I
won’t care about any filesizes any more…

Same here… only I probably won’t have any free time until November :slight_smile:
(literally… please pity me…)

Why are you so busy?

http://www.vvisions.com/terminus

That’s my creation. It’s way bigger than I wanted it to be. I’ll be
coding until the Y2K bug destroys the universe…

-Chuck

Why are you so busy?

http://www.vvisions.com/terminus

That’s my creation. It’s way bigger than I wanted it to be. I’ll be
coding until the Y2K bug destroys the universe…

Cool. :slight_smile:
So when do we get a beta copy? :slight_smile:

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

Why are you so busy?

http://www.vvisions.com/terminus

That’s my creation. It’s way bigger than I wanted it to be. I’ll be
coding until the Y2K bug destroys the universe…

Cool. :slight_smile:
So when do we get a beta copy? :slight_smile:

Because of the complexity of the game, beta is going to be very very hard
work. We’re talking going through the plot dozens of times, doing
different things every time, and making sure whatever happens makes sense.
It takes almost 20 hours to play through the game once, so a beta would
definitely be a grueling task.

But if anyone is still interested, just email me and I’ll make sure your
name goes to the right place. :slight_smile:

-Chuck

Why are you so busy?

http://www.vvisions.com/terminus

-Chuck

You forgot to mention on your web-page that you are supporting Linux. :slight_smile:

On another note,

Sam, SDL is really cool, I actually think I can write something worthwhile 

using it. I have never written anything substantial, just lots of little
programs. Anyway, I have a bunch of my programming buddies together, united
on a single game idea, but I have a concern. I realize that SDL is under
development, so I suppose this is to be expected, but when .7 came out a while
back, I compiled the old demos against the new library. It didn’t work. Did
I do something wrong, or is this expected? I don’t have the error right now,
but I could generate it again if you would like.
Josef_
Program (pro’gram), n. A magical spell cast over a computer that turns
one’s input into error messages. v. To engage in an activity similar to
banging one’s head into a wall, but with less opportunity for reward.

Wise words from Josef Wells .aka. Scrub .aka. MadMan, for more, write
jwells at ece.utexas.edu

http://www.vvisions.com/terminus

You forgot to mention on your web-page that you are supporting Linux. :slight_smile:

Not officially, but one of the other coders and I are planning on at least
porting the multiplayer server to Linux, just so that people can keep some
Internet games running for more than a day or so :wink:

However, Terminus uses some craftily abstracted I/O routines for
mouse/keyboard/joystick as well as 3D rendering, so if someone wants to
make an SDL-compatible set of “Terminus drivers” I’m sure I could persuade
management to allow that… (I’d just have to make sure the non-platform
code builds under Linux, too.) Right now, since it’s a 'blows95 game, we
only have input routines for DirectInput, but we have output drivers for
the windows versions of Glide, OpenGL, D3D, and DirectDraw. (I think a
port to Linux Glide should be quite nice, tho…)

If only I could ever get the tentacles of <windows.h> out of most of the
modules… heheh…

-Chuck

Anyway, I have a bunch of my programming buddies together, united
on a single game idea, but I have a concern. I realize that SDL is under
development, so I suppose this is to be expected, but when .7 came out a while
back, I compiled the old demos against the new library. It didn’t work.

That’s right. The SDL API changed dramatically between 0.5 and 0.7,
because of some improvements in video surface acceleration and the
way events were handled. I don’t expect the API to change so dramatically
in future versions, though the sound API may slightly change, and the
Macintosh port (did I say Mac?) may need some light changes.

When the API changes, I make a note of it in the WhatsNew file, so you
can modify your programs appropriately. Usually this just means changing
the parameters to a function or using an improved function.

This is a really good point.
The video and event API should be stable.
The audio API may change, or be extended.

If the API changes, the example programs will be updated and you can see
the differences in action. As you’ll see, there are enough programs that
I’ll be more hesitant to make major API changes. :slight_smile:
I’m lazy. :slight_smile:

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

However, Terminus uses some craftily abstracted I/O routines for
mouse/keyboard/joystick as well as 3D rendering, so if someone wants to
make an SDL-compatible set of “Terminus drivers” I’m sure I could persuade
management to allow that…

Cool. :slight_smile:

(I’d just have to make sure the non-platform
code builds under Linux, too.) Right now, since it’s a 'blows95 game, we
only have input routines for DirectInput, but we have output drivers for
the windows versions of Glide, OpenGL, D3D, and DirectDraw.

If you have a DirectDraw driver (software renderer), it should be easy
(and much simpler) to put an SDL driver in. I feel sorry for the people
who did the DirectInput work. It’s quite a mess, IMHO> :slight_smile:

(I think a port to Linux Glide should be quite nice, tho…)

Yeah!

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

If you have a DirectDraw driver (software renderer), it should be easy
(and much simpler) to put an SDL driver in.

…if you don’t mind reams of Intel assembly. Not so bad for me, but my
friends with PPC’s won’t be to pleased… Then again, they can use the
glide version. :slight_smile:

I feel sorry for the people
who did the DirectInput work. It’s quite a mess, IMHO> :slight_smile:

Umm… that was me. But I buried it pretty deep. Didn’t even use
DirectInput for the keyboard (just captured WM_CHAR messages and the
such.) Mouse wasn’t so bad, all I had to do was make a function called
GetMousePos(), and make it do all the dirty work. For joystick, we made a
control config that gives ultimate control to the user to configure
setups. (Basically, you choose a game function, then press the button or
wiggle the axis for whatever you want to use.) We’ve managed to use every
old joystick, a Sidewinder, Thrustmaster, and a Panther XL with no custom
support at all. (We’ll be shipping with control configurations for many
many sticks.)

Now force feedback… That SUCKS.

-Chuck

GIF has been kinda killed in some circles because of prorietary issues
and legalities. Its unfortunate that most PC programmers use bitmaps
because they are inefficient and klunky…but amongst them it is
standard. JPEGS require a bit of overhead…it depends on your
app. There is also the PNG file format which people are trying to
use as a replacement, but I’ve seen no real practical instances
thus far on them that prove better professor.

PNG is good as it a) compresses as well(sometime better) as GIF, b) it is
GPLd c) it is supported by most browsers and d) GIMP can talk to it.

It is quite fast to decode (although I personally would decompress it
before use!).

njh

GIF loading is something I’ve been hoping for. BMP files are HUGE, and
I’d rather have an industry standard filetype like GIF or JPEG (For
high-color graphics).

are you opposed to us giving you patches for updates? stuff like
loading of XPM’s, PNG’s, etc? I have lots of code like that lying
around that would integrate nicely

I’m surprised that Sam hasn’t just used imlib - that would be the elegant
way to do things?

njh

I’m surprised that Sam hasn’t just used imlib - that would be the elegant
way to do things?

Imlib is very closely tied to the X11 and GTK interfaces. In fact, there
are two separate versions, one that uses X11 as an interface, and one that
uses GTK as an interface, and each version has completely different functions.

I would essentially have to make SDL a new target for imlib, complete with
new functions… it was too much work to seriously consider, and people with
existing imlib applications would need to port it to the new interface.

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/