When you create a mod, it creates two folders: one at a location you specified, and one under the Steam application path. So, for my working copy, these folders are:
C:\virtual_patient
C:\Program Files\Steam\steamapps\SourceMods\virtualpatient
Let's talk about what's in each of these folders.
C:\virtual_patient
Here's a screenshot of its layout, partially expanded. (Yes, I misspelled "patient", haha.)

The folders are fairly well named. We don't really have to deal with most of them. The ones of interest are:
mapsrc: where uncompiled maps made using Hammer Level Editor should be stored
materialsrc: where textures and materials that we use for our game should be stored
modelsrc: where uncompiled models files should be stored (i.e., SMD format).
Of course, we are also concerned with the src folder, but only a small portion of it. Opening up that folder yields a bunch of subfolders holding source files, as well as two Visual Studio 2005 projects (don't worry, you can convert it to 2008 as well). We're not too concerned with the Everything_SDK-2005 solution. The Game-Episodic-2005 solution is the one that all our work will be done in. Opening that project will show that it's associated with a LOT of source files. This solution contains two projects: Client Episodic and Server Episodic. We'll only be working in Client Episodic.
If you open that project you'll see bunches of source files. Again, most of these will not be important for our purposes, since we're not shooting guns, fighting monsters, climbing ropes, or anything like that. What you're actually looking at is the full source code for whatever game you're modding. As you can imagine, our mod will probably end up deleting or not using the vast majority of these files. The ones that will be important to us are the more utilitarian ones, like the ones for physics, camera movement, level rendering, and human behaviors. However, this gives us some GREAT source code to work from. You can wade through a few files and try to make sense of them if you'd like.
C:\Program Files\Steam\steamapps\SourceMods\virtualpatient
All right, on to the second folder. In the root folder, there's gameinfo.txt, which holds important information about our game and might have to be modified eventually. The rest of the files you can kind of ignore in there, I believe. The folders here are well-named, too.
The cfg folder holds .cfg files for each "chapter" of our game (in our case, might end up being different nurse interview scenarios, for example), along iwth config.cfg, which looks pretty important, but I'm not sure if we'll have to modify that or not. Under Expressions you can see pictures of animations and phonemes for some characters; not sure why they're there at the moment, except that I opened them in FacePoser and perhaps it placed the images into my project. Under Maps are maps that you compile to run in your level using the Hammer Editor. In Scripts and its subfolders there are various animation scripts for vehicles, people actions, and effects. Of course, that will be very important for us in our project.
That's a brief overview of the structure of the mod that Steam sets up. More about the location of utility programs and files later!

No comments:
Post a Comment