While returning to the airport, I would see occasional burned-out cars parked in the side of the road. Apparently, the French celebrate the fact that they've elected a new president by going out and torching random vehicles. I'm not sure I think that's really all that charming...
I haven't written in a while, but that's because I've made some progress! I have a just-in-time Lua debugger which shows up when compiling a Lua script fails. It allegedly lets you change the code right there, and try re-loading it. I've implemented it by suspending the main thread, and spawning a new thread that creates the debugger window and runs its own message loop. When the window is done, I release an event that the main thread is waiting on, and the main thread goes on. Unfortunately, there seems to be some interaction between the main window (which doesn't get messages while suspended) and the debugger window, so depending on when the breakpoint is hit, the debugger window doesn't respond to mouse messages. Annoying! I don't really dare put the message loop in the main thread, because Ogre probably doesn't take kindly to being re-entered.
I'm also getting closer to a usable UI for the editing functions. I'm soon at the point where I need some geometry to actually edit a level. You can see a screen shot here:
I'm running into all kinds of warts, though, that I don't understand, and that aren't in the specs. So much for my "no source is better" philosophy...
- Ogre additive texture shadows don't clamp correctly at the edges (leading to streaking in the distance).
- The mesh I use for locating the selection has really weird specular lighting, even though the material only calls out a little bit of it.
- The weird window problem, which I believe to be message loop interaction, I talked about above.
- oFusion CE, which I use to export geometry for Ogre, doesn't split-and-duplicate two-sided triangles, so proper lighting can't be done in that case.
- oFusion CE also has a bug (fixed in the Pro version, which I can't really justify right now) where it doesn't display skinned characters. This makes creating animated characters, such as players, a challenge.
The first three I can probably debug if I break down and get the Ogre source download.
The fourth I can probably work around by writing it myself and doing a post-process on the meshes in question, although I am loath to do that, because it totally messes with the art path. It's bad enough that oFusion doesn't export version 1.4 meshes yet, and thus the mesh converter tool pass is really needed for best results.