I just finished the key values class and its rolling pretty well. Lots of the same features as the one I wrote in C++ but this one I had the honor of designing, and design I did. The class in c# is has dynamic data structures, an array list, sorted list, writing this class over in C++ has been great because I got the chance to put some thought into an old data structure I hadn’t touched in a while.
the last couple days I have been working on a C++ class that is quite interesting, and inspired by Half Life 2. HL2 is highly dependant on key value paired files, everything from the weapons to the GUI to the keys are all handled with the same system of keys and values. I recently released an application, the mod manager, which is written in C# and handles the key value files fine. I’m now moving my GUI application to C++ since I want the application to be free of dependency to .net, and I have to work my C++ magic to get the files read properly.
Ill add the file to a repository here when its done.
Keep an eye out.
I am turning a lab in tonight that handles two very shady topics that have been only lightly touched upon in my previous classes: Bit manipulation and inline functions. Each deserves its own article because they are both complicated in their own right.
Bit manipulation is the process of manipulating bits. For those of you who are not IT inclined as of yet, a bit is a switch and every data type is made up of them. There are only bits in your computer, no such thing as an int, or char pointer, everything is a bit. The emphasis here is that everything is a bit and I cannot stress that more.
Being sick is definitely influencing my programming. I have been ill for the last couple days fighting back the urges to rip my nose out and give it some running shoes, and at the same time trying to piece together my HL2 Mod Manager. So here is the scoop, expect more at a later time.
I have been working on an app over the last month that will make the basic file modification of HL2 into a process that will take seconds where before it used to take minutes and multiple files.
I know what you are thinking, “Wow thats cool, but I”m too old school to use it.” Well this is where the fun begins. This app removes the need to ever go into those directories and edit things again. Create new weapons, fix weapon bucket collisions, expand your localization and add another mod, this one your own project that is just your test place before you merge it into the full build you have on your SVN. I just put some of the finishing touches on the drag and drop collision resolution stuff which was more fun than it was worth so i recoded it better just for added fun.
The app is not stand alone at its current state but will be if there is a calling for it, currently its written in C# (ergo .net Dependant).
Planned Feature List:
- Automatically update your files with small changes without having to remember which file held what value.
- Add & update values for your gameinfo, weapons, localization, keyboard etc.
- Drag & Drop weapon bucket collision resolution
- VGUI2 Graphical designer.
If you are interested in getting involved in my projects and or would like to help me test this application please email me at the usual spot (check my profile) or hit me up on AIM, I”m available as often as life permits, so please don’t be irate if i don’t hit you back quick enough. ill get around to you all.
and last but not least, I give you my mod manager: