I've been preparing to add more stuff to the SVN repository, and thought I'd reorganize it a little so stuff can still be found in it afterwards. Level and level related APIs have moved into a LevelsAndMods folder. This is meant to contain anything that needs to be built against the SDK (mainly levels). I'd like to maintain a folder structure along the lines of:
LevelsAndMods/
API/
Templates/
Blank/
Blank-WithComments/
Hooville/
Levels/
... (Put your projects here, one folder deep)
SomeProject/ (Example)
Main.cpp
LevelMain.cpp
OP2Sript.dsp
OP2Script.dsw
Mods/
NetFix/ (Eventually?)
Note: I still need to fix the location of some "trunk" and "tag" folders to get the level structure right. Since the levels must build against the version of API they were designed with, I plan to move the trunk and tag folders to about the LevelsAndMods folder level. Currently, they're still in the level specific project folders (e.g. Hooville). By moving them, the API folder will be tagged along with the level, making it easier to build old versions. It will also ensure a correct folder depth, which means relative paths can be used to the API folder from the level projects.
This reorganization may affect checked out working copies, so I thought I'd leave a note about how to "fix" things, should you run into trouble because of this.
First, try an SVN update. It may just update smoothly, but if not....
The simplest method, if you have no local changes, is simply to delete your old working copy, and checkout another copy. You could also just checkout a new copy to a separate folder without deleting the old copy. This might be an easy way to copy any locally changed files from the old working copy into the new location in the new working copy. This method will solve pretty much any SVN working copy issue (conflicts, tree conflicts, other weird error messages). You can also do this on subfolders, if only a few subfolders present problems (which can save redownload time).
If you want to avoid a possibly large download or long wait checking out the repository, you could also try using svn switch (or Tortoise SVN relocate). That will let you enter a new updated repository path for the file, so it can sync with the server again, without having to redownload it all. This method should help solve problems from moving files within a repository, or moving files between repositories.
I've added a number of level building tutorial-like projects to the SVN.
You can find them at svn://68.146.111.58/outpost2/LevelsAndMods/trunk/LevelTutorials/ (http://svn://68.146.111.58/outpost2/LevelsAndMods/trunk/LevelTutorials/) using an SVN client (such as Tortoise SVN (http://tortoisesvn.tigris.org/)).
The tutorials include:
01-DescBlock
02-CreateUnit
03-Bases/Population/Resources
04-Beacons and MiningGroups
I've got a few more planned as well. I've got some stuff done on Victory/Failure conditions, but I think I might want to write a basic Trigger tutorial first. I'd also like to add something concerning Random Disasters, GetSaveRegions and the scriptGlobal method of dealing with those issues, Multiplayer Pre-Game Settings (day/night, morale, disasters, initial units), and DescBlockEx for Multiplayer AIs.
If there's a topic you'd like covered, post it. I'm mainly looking for basic tutorials at the moment. Writing a complete AI is not going to happen. Demonstrating a specific part might, but I'd like to cover core non-AI related functionality first, and stay mainly focused on Outpost2DLL stuff. Using OP2Helper stuff might come after that.
Also, if you have a preferred order for the tutorials, please post the order you think would be best.