Attached is a copy of the OllyDbg comment file. It might help other people analysing the code in case they're looking at a common area. I may upload updates from time to time. (I have no idea how to merge updates if other people decide to add their own comments though).
Just copy "Outpost2.udd" to the OllyDbg folder. You might also need to adjust OllyDbg settings under:
Options -> Debugging Options -> Security
.ignore path and extension
.ignore CRC of code section
If differeces are detected then OllyDbg might decide to overwrite the copy of the file in the OllyDbg folder and start over. Just check those boxes, (recopy any overwritten files), and (re)open.
The steps to ignore the checksum are important, as Outpost2.exe has had several patched applied. The checksum no longer matches what it originally was when the .udd file was first created. (Probably based off of a clean install, with a few custom and minimal patches).
Internal Data folder
This is basically the memory layout of all the interesting classes and structs I've found, plus a collection of other interesting tidbits of info. All in .txt format. It sort of goes well with the OllyDbg file. It helps to be able to see the memory layout of the classes you're working on the code for.
[2007-03-25] Note: The most recent updates to the file include a lot of commenting concerning the network code. It might be very useful for writing patches to help people with NAT routers.
[2007-08-04] Note: Added lots of labels for the internal StreamIO classes, ScStub classes, and some additional commenting of the saved game loading/saving code. Other misc edits and updates as well.
[2007-09-25] Note: Added lots of stuff for the window classes (IWnd derived classes). This should make a lot of the user interface code much more readable. This includes things like the user/network setup interface which has received some more commenting. It may also be a little easier to see how the user's keyboard and mouse commands relate to the internal in game commands, although this area still needs more work. The overall program structure is definately a bit more clear.
[2007-12-2] Note: Added lots of comments around the graphics drawing code, including the special hand assembled stuff in the DSEG segment. Also lots of labels for user interface classes/functions. In particular: CommandPaneView, UIElement (UIElement:Button, etc.), UICommand (UICommand:Move, UICommand:Stop, UICommand:OpenBuildList, etc.). Additional commenting on IWnd derived classes. (Such as IWnd:Pane:Command, IWnd:Pane:Detail, IWnd:Pane:MiniMap, and IWnd:TFrame:Dans_RULE_UIFrame). More info on GFXSurface derived classes as well. Should be most of what you need to do custom drawing, or maybe even change build lists at factories.
[2008-01-11] Note: "Internal Data" folder included in the same zip as the Outpost2.udd file. Lots of additions for UIElements, and some for UICommands. Alos lots more on Filters and CommandPaneViews. Misc additions to IWnd:Pane derived classes.