Minor Update
I'm going to Japan tomorrow for nearly 2 weeks, so a little update before I go (I doubt you would notice given my post rate, but who knows ;)).
- Statik and his team are building a very interesting demo using Jade 1.1 codenamed "DM", you can watch some screenshots here:
http://www.jadengine.com/index.php?title=Projects:DM
- I have rewritten the VFS again but this time it seems that everything is in the right place. I have been struggling with the VFS design for a long time and it has given me lots of headaches, but I have been able to put it up with several things that were bugging me:
- Multi-threading support: now sources understand about threads and are safe to be used in multi-threaded environments.
- Culture: the sources are also now aware to culture settings. Jade 1.1 for example had some problems in turkish Windows XP (strange problem but well, life is full of those :p). Now the VFS should understand culture and work well in other culture settings different to english, spanish and dutch (our main languages).
- Code reuse: I was repeating lot of code in the different sources implementations. I have separated a lot functionality so now sources only translate global filenames to source-specific filenames and create/destroy the streams. The rest of the code comes from an abstract implemmentation and it's commont to all sources. Implementing hard disk sources and memory sources was a blast with the new architecture in place :)
The bad part is that I have a mistake somewhere when files are closed (locks aren't released so the engine deadlocks). I haven't found it yet so it'll have to wait till I return from my trip (no programming in Japan ;)).
- I have started brainstorming about the AI library for Jade. I'm going to start with pathfinding and movement and more specifically with graphs. I have been reading the Boost Graph Library implementation and Quickgraph (a .NET port of the BGL) and I have got some nice ideas (although I think they are an overkill for Jade). When I get back I'll be finishing the VFS and implementing the graphs and some algorithms on them (DFS, BFS, A*). Comments on what you would expect as users from Jade graph library would be nice (or if you would live happier without knowing about graphs and how movement works on low level ;)).