summaryrefslogtreecommitdiff
path: root/doc/devel/queues
diff options
context:
space:
mode:
Diffstat (limited to 'doc/devel/queues')
-rw-r--r--doc/devel/queues62
1 files changed, 62 insertions, 0 deletions
diff --git a/doc/devel/queues b/doc/devel/queues
new file mode 100644
index 0000000..274828e
--- /dev/null
+++ b/doc/devel/queues
@@ -0,0 +1,62 @@
+The various ship queues used in the game:
+
+GlobData.Game_state.avail_race_q:
+ Contains fleet information, ship template and other info about the
+ alien races present in the game. All races are present that are
+ defined by the enum in races.h that defines NUM_AVAILABLE_RACES,
+ except for, technically, SAMATRA_SHIP. URQUAN_PROBE_SHIP is a
+ very incomplete 'race'.
+ Elements are of type FLEET_INFO.
+ Filled in InitGameStructures().
+ Partially included in savegames.
+
+GlobData.Game_state.built_ship_q:
+ The fleet accompanying the flagship (escorts).
+ Elements are of type SHIP_FRAGMENT.
+ which_side is always GOOD_GUY here.
+ Partially included in savegames.
+
+master_q:
+ List of templates for all the ships that are available in SuperMelee.
+ Elements are of type MASTER_SHIP_INFO.
+ Sorted on the (abbreviated) race name (see doc/devel/racestrings).
+ Filled in LoadMasterShipList().
+
+GlobData.Game_state.npc_built_ship_q:
+ The npc ships in an encounter, or list of ship groups when in IP;
+ empty otherwise.
+ Elements are of type SHIP_FRAGMENT. IP group list will most likely
+ change to contain GROUP_INFO instead.
+ For encounters with an infinite number of ships, the queue consists
+ of a single ship with ShipInfo.crew_level set to (BYTE)~0.
+ and the side that this ship is on.
+ Partially included in savegames.
+
+race_q[NUM_PLAYERS]:
+ Contains the ships participating in a battle for each player.
+ Elements are of type STARSHIP.
+ Filled in BuildBattle().
+ RaceDescPtr points to a loaded ship's descriptor once the ship data
+ is loaded in spawn_ship(); NULL otherwise.
+
+
+Other queues:
+
+GlobData.Game_state.GameClock.event_q:
+ Queue of game events.
+ Elements are of type EVENT.
+
+disp_q:
+ Display queue. This contains all visible elements; everything
+ that floats in TrueSpace, HyperSpace/QuasiSpace, battle.
+ Elements are of type ELEMENT.
+
+GlobData.Game_state.encounter_q:
+ Contains information regarding the black globes flying around
+ in HyperSpace.
+ Elements are of type ENCOUNTER.
+
+
+Initial version of this document created by Serge van den Boom, on 2006-03-08.
+
+