I spent the last week working on some of Athena's utilities. I started off creating a function that encrypts data, then I made another that compresses it. Finally, I made a utility that accesses a zip file, reads and writes to it. I figured I could use it as a nice little database file.
I ended up moving my utility class along with my XML and Database class to a DLL.
I painfully inched my way through my database manager coding to work out some bugs. So far I think I've cleared out most of them. It seems to be working fine now. I set it up so I can load a database either from a zip file or an XML file. I can load anywhere from a single column up to many databases. I did some serious streamlining, I removed lots of needless code.
One thing about working on this kind of stuff, its very tedious. I end up spending hours stairing at my computer screen before I finally figure out why something won't work... blah. Over the last few years I think I have re-coded my database code many times. I think the first one I played with was msi files. I then moved on to Microsoft Access. However, it didn't run as fast as I needed it to. I then made a database using plain textfiles. That proved to be ultra fast, but it wasn't very neat and tidy. I later built an xml parser from scratch. That was actually fun to do, it felt very rewarding when I finished it. Eventually, I made a database manager which will load both an XML database as well as a textfile based database zipped in a compressed zip file.
It seems that everytime I work on things like this I tend to slip away from reality and disregard human contact. Only this time I am determined not to slip away too far as to no longer keep you guys updated. I think it might be draining me of all humanity... nah, not this time
I have made various updates to my coding throughout the years. Now and then I need to go through all of it to bring everything up to speed.
Here are some areas I am working on. I am working on an avatar system, I need to update my conversation chain software, I need to make a new table type for Athena, I need to work on the NLP. I'm in the process of rebuilding the UI in C#. And I know there's a lot of details in all of that. You have already seen what I've done with the on-the-fly compiling. It only gets more complicated from here on out.
So far So good.