I've implemented my texturecache as a bidimensional linkedlist, where entries are linked by child/parent, and siblings represent animated textures, thus the Head objects are linked parent-child.
Furthermore, I've implemented an Aliasing system for labeling any LinkedObject, or simply providing some indirection.
I did that because I've also implemented (glee) the humble beginnings of a scripting language !!! (gasp !!)
It's based on a textfile.
Through the Script Parser, the script can effectively "call" any function.
I'm using the script to define and alias reference objects to be created in my caching system at the moment. It will be basically used as a set of loading instructions for my application's initialisation phase.

Attached is an example demonstrating the notion of a programmable program.
It uses the script provided to load aliased textures or sets of textures.
I'll be adding support for loading and transforming static meshes, creating custom Materials, defining particle systems, etc.
That's what got me into this scripting stuff - the ability to define particlesystems outside of the application, then I saw so many other uses...
Later we can modify the scriptengine to load a custom binary file format instead of parsing ascii as it does right now, but for the moment it's handy.

Also note the inclusion of an updated LinkedList includefile !!!
Added function : FindEntryByName
Description: Recursively search a hierarchy for a matching named object.
Nested search order is THIS]]
Posted on 2002-11-23 21:00:16 by Homer