New scenefile designpublished on 4/27/2008 3:33 PM
Another weekend I had to spend on real work and thus put off work on Plane9 for another week. This time it's a skillgame integration that is taking a bit longer than planed. This consist of among other things testing the 40 games so they work correctly. Yep, 40 games and yes I do play games during work hours :).
As far as Plane9 goes I have made some progress. I also managed to get a very bad idea. A rather pointless redesign of the scene file format. Well 4 hours later I realized just how silly and pointless it was and reverted it all back since it turned our to be a lot more difficult than planed. The scene files and project files did get a redesign anyway so the new configuration window has an easier time to work with them.
Now scene files will only contain any number of scenes while project file will only contain references to those scenes. A scene file can also now in theory be placed anywhere on the disk even though the primary locations are in the program directory (For the scenes that comes with the program) and the user directory. For all scene files the user has created and changed. This way any updates will only update the untouched scene files in the program directory. This should safeguard against the risk of anyone loosing any changed scenes they have made or change the default scenes in a multi user installation. The editor will also thus only work with a single scene file at a time so it doesn't have to even bother about what a project file is. This should end up making everything easier to understand when it comes to the different files the program uses.
The project file to use will be set on a per program basis. So you will select one that the winamp plugin uses and another for what the screensaver should use and so forth.
During the week I got curious of just how large this screensaver currently is. There doesn't seem to be any line counter that supports Visual Studio 2008 yet so I made a standalone myself. Took only like 15-20 minutes to do so it was time well spent to still my curiosity. Anyway the end count for the screensaver/visualizer is 79407 lines of code. It's a nice mix of C#, C++ and some pragma assembly just for kicks. Well that and speed on SSE machines.