Code documentation
Allegiance Code Documentation
Overview
The key components of Allegiance are:
The client - Allegiance.exe the server - AllSrv.exe and the UI tool AllSrvUI.exe the lobby - AllLobby.exe
In a typical configuration, there are many servers and clients which connect to a single lobby. A server can host many games at once and a client can join only one server and one game at a time. The lobby is the central communication place where servers announce themselves (and the games they're hosting) and where clients can find, join or create games on a choosen server.
These keys components share many lines of code thru the use of common libraries. The most notable ones are the messsaging API library which is built on Microsoft DirectPlay and the IGC library which handles the game logic.
Stub This article is incomplete This is an article about a topic that should be covered in more detail by the FreeAllegiance Wiki, but is lacking in content.
You can help by improving it!
ZLib and Utility libraries
IGC library
IGC stands for Internet Game Core. It's the game logic libray (API) and it's shared between clients and servers.
IGC is accessed with of a set of hierarchical abstract classes (interfaces) that hold all the game objects (ships, stations, sectors,...) and their current properties (position, speed, ...).The top class is ImissionIGC which represents a game. With the 'Update' member method, called every ticks on the server, the various objects are updated and their states changed according to the game logic. Consumers of the IGC library must implement the IsiteIGC interface in order to called upon game state change. For instance, the game client will be called upon destruction of a ship in order to display the explosion where as the server will only propagate this event to all clients in that sectors. TBC
Stub This article is incomplete This is an article about a topic that should be covered in more detail by the FreeAllegiance Wiki, but is lacking in content.
You can help by improving it!
WinTrek - Allegiance Client
clintlib
graphic engine
effect engine
sound engine
FedSvr - Allegiance Game Server
The AGC Library
Lobby - Allegiance Lobby Server
Tools
XMunge
Pigs
mdlc
For how to use see mdlc.
