- SDL opens up in a properly titled window now, both on Mac OS X and Windows.
- SDL events can be passed properly on to the rest of my library. Currently only the quit and resize messages are passed on, but I'll add the rest when I write the functionality.
- SDL windows can be resized.
- The basic structure of the graphics resource management system is done. Sprite sheets are currently defined by both SVG and PNG files (eventually I'd like to render SVG directly). The system will find pairs of SVG and PNG files within the file system, extract out the location and names of the sprites from within these files and store them in an internal data structure.
- The basic structure of the sprite system is also done, although not all the sprite manipulation functions. Externally the sprite class interface only offers accessor methods and an opaque pointer to a mysterious data structure, but internally the sprite class is tightly coupled with the graphics module. This means the game specific code only needs to deal with sprites and their methods; the graphics module and internal representation can be changed significantly later on when I play around with optimisations and acceleration.
- libpng is (partly) integrated into the library to load PNG files. Previously I was using SDL_image, but I wasn't very happy linking to a large library purely to get PNG read capabilities. Given I need zlib for the PhysicsFS support I decided I might as well link through libpng directly; it's got a zlib-like license as well so it's easy to play around with the internals. The code is confusing and I don't think I've got everything right yet, so this is only partly completed; it compiles and does something but I'm not sure about the results
Currently I have a sprite display test compiling but it isn't showing anything, so something in that chain is broken. It could be that I've forgotten something obvious in the graphics set up stage or I've done something stupid with the display code. Or it's more than likely I've screwed something up in the resource management and PNG loading code. A lot of this funcitonality was ported over from my old game library so it's very possible I missed or wrecked something in the cross over.
Soon though I expect to have my basic sprite test working, and I can move on to input and the basic physics system for my first milestone test.