[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

2D sprite control

Quoting Johnny Taporg (taporg@yahoo.com):
> > 2d sprite control,
> Yes!  If you saw my other email, I listed some sprite
> libraries that I needed.  And I have yet to hear of
> one that does exist...

Well, ClanLib has a easy way of handling sprites (or surfaces as we tend to
call them). You simply write a surface provider thats loads the image(s)
from disk (or datafile or network) - the rest is handled by ClanLib. The
reference page to our surface providers can be seen at this url:


> > a basic GUI system,
> This, I'm questioning.  GUI seems very specific to the
> game.  It seems like in order to be useful for games,
> it would have to be incredibly themeable.  
> Perhaps it would be more useful to simply port GTK to
> GGI?

It is overkill to port Gtk (which isn't platform independent). I think PPlay
wants to make a very simplified customizable version of gtk.

> Maybe it would be a good idea to simply create 
> individual, special purpose libraries as the demand
> arises (I've got needs for some!  See my other email).
> Then, you can distribute the individual (finished!)
> libraries under the PenguinPlay name.  That way, you
> don't need to worry about questions like "when will
> PPlay be done?". :-)

Maybe. Some thing are however so basical, that what is really needed is a
standard for doing things (such as loading surfaces). This is one of the
things ClanLib is trying to obtain. If there's a common way of doing
streamed sound for instance, you can use my wavefile player - and I can use
your mp3 player without problems.

In ClanLib, we eg. have the following plugins available:

  Surface provider's
    + CL_FLIProvider
    + CL_PCXProvider
    + CL_PNGProvider
    + CL_TargaProvider

  Static sample providers: (loaded at once)
    + CL_Sample (.wav files)
    + CL_Sample_RawData

  Streamed sample providers: (loaded slowly)
    + CL_StreamedSample (.wav files)

    + CL_NetPort_SMS
    + CL_NetPort_GameObject
    + CL_NetPort_Resource

  Data I/O
    + CL_InputSourceProvider_File
    + CL_InputSourceProvider_Datafile
    + CL_OutputSourceProvider_Datafile (only used by our datafile compiler)

  User input/output
    + CL_InputDevice_Network (remote control)
    + Input converters:
        grouping of buttons/axes/hats
        buttons->axis, axis->buttons
        etc etc.

Magnus Norddahl