SIEGE version 0.7.0 is out! The following features have been added or changed:
- evDraw is now called between evTick and evTickEnd — this allows the user to do things after the drawing has already been completed, in preparation for the next tick.
- SGBank has been added for resource management. This is a conveniency wrapper which allows the programmer to load resources on-demand. For example:
// try data/sprites/<name>.png and data/sprites/<name>.jpg in sequence SGBank* sprites = sgBankCreate("data/sprites/%s.png|data/sprites/%s.jpg", loadSprite, unloadSprite); // data/sprites/player.png or data/sprites/player.jpg // NULL is an opaque data pointer, passed in to loadSprite SGSprite* player1 = sgBankLoad(sprites, "player", NULL); // ... // "player" has already been loaded, so we return that sprite instead of loading again SGSprite* player2 = sgBankLoad(sprites, "player", NULL); // automatically calls unloadSprite for each loaded image sgBankDestroy(sprites);
- SGEntity now has an (optional) name, so that entities can be looked up by name.
sgEntitySetName(tanks[0], "tank"); sgEntitySetName(tanks[1], "tank"); // ... SGList* tanks = sgEntityFind("tank");
- sgDrawSetAlphaTest and sgDrawSetAlphaFunc have been added, which enable the use of some interesting effects such as metaballs
- Timers for easier handling of timed things (examples being animations, gun reload times, timed doors, elevators, …)
- Texture atlases (they are not yet used within SIEGE, so they are mostly useless, but they will eventually be used for sprites and fonts)
- Other minor changes and fixes