FALCON 4.0 SC Documentation

AUTHOR/EDITOR Thomas "SACEUR" Schuetze
 

PRODUCED For F4 In Real Life & The VSHAPE Virtual Library Group & F4SuperPackTeam

HtmlPages Copyleft (c) 2000  BY SACEUR .

SC Copyright (c) 2000 Microprose/HASBRO

SC Copyright (C) 2001 INFOGRAMES

Disclaimer: Access is  after profreading the NDA by Eric Snako G2i (tm) herafter only granted to members of the F4Superpack Group of Falcon Developers. Else this documentation is made available to the Director of the Central Intelligence Section of my pilot organisation VSHAPE, with respect to incorporation of real lfe data on entities. This document should not be made available to the general public.

This documentation is under continously development.

This document only reflects the state of the simulator before modifications where applied!
 

The Legend Used Most of the following walkthroug can as easily be done by use of the VC++ debugger and ClassInspector. As an optional target fro webReferencing it is nevertheless very valuable and also for the socalled database fixers it might be of use as we also intend to show the format of file formats used. The color codeing of the selected header files enables a different visualisation technique than traditional source code color coding tries to achieve in editors.

Most valuable are the VISIO diagrams that are under constant refinement. These are only delivered on request direct to the author. Although

Currently we cover the following topics:

                                    
 
 

The Source File Tree These links only work as intended when the HTML-SC-DOC-TREE resides together with the source file tree.

We can't supply you with the SC files!

Those accessing the information through my internal server will find full functional links. The only way you achieve this for your self is with a copy of the "sc-doc-tree". Until I can grant access to my internal server, you can request this file by mail.


GlobalMemory  One important part in the search for fixes & enhancements is among the global variabels. These are accessible from everywhere but since the program is heavy threaded and even takes the number of CPU's into considderation, the applicability is "from anywhere in the same thread".
 We are far from covering all variables yet! This will grow with the rest of the walk trough.
The Brains  Here and in the taskmanagers resides a good deal of the game play AI.
The Theater-terrain construct  The proliferation of the theater construction groups and individuals is sheer breathtakeing. If all goes well every part of the planet soon wil be covered:)
 Well there are a couple of really annoying holes of knowledge that have to be filled in before the most evolved will deliver a new scenario for their terrain.
 There is stil alot to do and it will later be completed.
The Entity-campaign-simulation-construct  The jewel in Crown!
The Classtrees involved  Well it's done in C++ which means Classes Object Methodes inheritance & abstraction. They made no use of the more advanced features like templates neither is the
 MFC by M$oft beeing used. There are is made some use of static members and one thing thats strikes is the frequent use of inline funktions and virtual inline functions.
Even some inline constructors
The Cockpit Organisation This area is under current excavation
SEPTEMBER 2000. Lately I also have started to look at the Win32 Integrative Issues. Since my idea of a portableversion of Falcon had been concieved. I've been mainly interessted in the Win32 dependent issues.

There are other obstacles to porting the code that have to do with binary only available libraries for the Win32 environment. These can for stated reasons not be used in a portable version. Here som new developments are required

 start up sequences  
 win32 message-handlers  

 
 
INTENDED DOCUMENTED IN FUTURE  RELEASES
The Application Programming interfaces to external libs is not covered. There are several parts of the programm which can't be analized by means of sources. These statically and dynamically linked libraries are  beyond the scope of this document - already the following section has been totally redefined to support DX7/8. This is the singlemost dareing and succesfull mod that resulted in eFalcon.

mpr- THE MICROPROSE RENDERER
DX6.1a

( REPLACED IN ERAZOR PATCH - SC NOT AVAILABLE! )
 dx7.0a REPLACEMENT OF MPR

tw80- sTREAMTALK - H&L
( a heavy nut to crack in future releases! MAKES PORTING (mac;linux;bsd&beos.)difficult)

Although a part of these externally controlled systems the Microsoft Direct Play and Input Systems with respect to Multiplayer stability deserves some serious analysis and considderations.

 

comms - WINDOWS SOCKETS and DIRECT PLAY
(principially portable by full replacement!)

The functions in this  lower level of the Event and Messaging transport (layer) interface to various parts of the underlying OS. (98/XP/W2K).

in capi.h

this explicit statments lists what is required to make the integration into the underlying Microsoft Architecture work!

#define LOAD_DLLS

W2_32.dll, DPLAYX.dll and OLE32.dll

So you dont have to use statically bound W2_32.LIB DPLAYX.LIB and OLE32.LIB!