Bug / Crash Checklist
Table of Contents
- General Bug-Hunting Advice
- Types of Bugs (no crash caused)
- A unit built or placed via the Map Editor will not move / unit will not exit the yard
- Weaponry does not show up for a unit
- Research won't start being researched
- A unit does not show up as an icon in the construction vessel, yard, or refit it was supposed to build from
- Game goes Out of Sync (OOS) in multiplayer
- A replaceweapon fails to activate / the unit cannot fire or build anything
- A unit appears pure white1 or is a floating "error"2
- There is a spinning "error" around selected units.
- The Graphical User Interface (GUI) for a faction is missing
- In-Game Crashes
- A crash occurs during an explosion when a sound is played
- A crash happens when a unit starts construction
- A crash happens when a unit (vessel, station, or research) finishes construction
- A crash happens destroying a unit
- A crash happens when a unit levels up
- A crash happens when a subsystem breaks
- A crash happens when a unit fires a weapon
- A crash happens when selecting a unit/using a button
- A crash happens when moving to a menu of the Map Editor
- Load / Launch Errors
- A crash occurs as soon as you double click the Fleet Ops exe
- A crash occurs when you roll your cursor over a button in a menu
- A crash happens when hitting "Instant Action" or "Create Game"
- A crash happens after hitting “launch”, but before the load-screen appears
- A crash happens when going to the Admiral's Log (either in-game or automatically at end)
- The crash happens when trying to play a campaign mission
- A freeze happens when the load-screen progress bar has moved 10%
- A crash happens when the load-screen progress bar has moved 10%
- A crash happens when the load-screen progress bar has moved 50%
- A crash happens when the load-screen progress bar has moved 70-80%
- A crash happens when the load-screen progress bar has moved 90%
- A crash happens when the load-screen progress bar has moved 100%
- A crash with no log happens after the load-screen, but before the game appears
- "Out of Memory Error" anywhere along the load-screen progress bar
- A crash happens when trying to play a map
- A crash occurs when trying to load a saved game
General Bug-Hunting Advice
The number one cause of bugs (and first and foremost, crashes) is poor punctuation and spelling.
All ODFs should be checked for incorrectly spelled references, classlabels, and commands (especially if you manually type them in).
It is absolutely necessary to be sure that all quotation marks have been closed or are not missing in the first place, that commas and semicolons are present, that case sensitive entries are properly taken care of, equal signs and spaces are where they are supposed to be, and that commenting is properly indicated with a double slash (//) in the case of ODFs and the number sign (#) in the case of sprite entries and other relevant areas.
Note that this list is far from complete, and if you have encountered unique bugs / crashes (and preferably know how they came about!), please report them. Fleet Ops tends to access certain files and functions earlier than Stock Armada II, so some crashes may not be quite linked up with what they should seem to have been caused by.
Remember to document your changes and move ODFs one at a time, so that bugs are easier to find.
Types of Bugs (no crash caused)
A unit built or placed via the Map Editor will not move / unit will not exit the yard
Likely causes:
- The unit's physics file is not present or not referenced (or spelled incorrectly) in the unit's ODF.
Weaponry does not show up for a unit
Likely causes:
- The SOD file is missing (chances are you'll see the default one: either an error SOD or a white block)
- The texture is not coupled with the sprite file (see above).
- Hardpoints not properly allocated - check that each weapon has a hardpoint and that no entries have been missed.
- The events.dat file was recently modified, and the reference to a sprite "Table" is missing.
Research won't start being researched
LIkely causes:
- podHardpoint is not specified or is incorrect.
A unit does not show up as an icon in the construction vessel, yard, or refit it was supposed to build from
Likely causes:
- The proper techtree entry was not included.
- The buildbutton entry was not included (results in a blank space where the ship should be built / constructed / refitted).
- The ODF for the entry is missing.
- Sprite entry is present, but no texture, a white box will be shown as the icon.
Game goes Out of Sync (OOS) in multiplayer
Likely causes:
- Missing quotation marks.
- Changing goal evaluation parameters (unknown which ones in particular).
- A model (or parts of a model) has no hardpoints and no physical dimensions (as inferred by the geometry). So far this is known to happen with ordnance or research SODs.
- Unusual geometry with Teamcolor - it is unknown what causes this, but that an OOS can occur from this is known.
- In Stock Armada II, when the owner of a KlingonCommandoTeam is not a Craft (like an UtritiumBall).
A replaceweapon fails to activate / the unit cannot fire or build anything
Likely causes:
- The vessel lacks a weapon subsystem.
- Not enough special weapons energy is specified.
- The unit could be building something else.
- The hardpoint assigned to the weapon is invalid.
A unit appears pure white1 or is a floating "error"2
Likely causes:
- 1: The texture files of the unit are missing.
- 2: The SOD of the unit is missing or an emitter is used and not specified in the sprite files.
There is a spinning "error" around selected units.
Likely causes:
- A faction is missing its selection bubble SOD (select_{faction}.sod).
The Graphical User Interface (GUI) for a faction is missing
Likely causes:
- The GUI is spelled correctly and exists, but something is wrong in the actual GUI file.
- GUI files are not specified in the {faction}.odf files.
- The textures were not put in the Sprites folder.
In-Game Crashes
A crash occurs during an explosion when a sound is played
Likely causes:
- Too many characters in the name of the explosion sound file. The explosion sound files are limited to 16 charactors (including file extension!).
A crash happens when a unit starts construction
Likely causes:
- Too many characters entered into the "Tooltip" or "verboseTooltip" commands (within the ODF - not in the dynamic_localized_strings.h file).
- A character not supported by ASCII was entered into the tooltip commands.
A crash happens when a unit (vessel, station, or research) finishes construction
Likely causes:
- The unit has improperly referenced weapon or ordnance ODFs (missing quotation marks in an #include instruction or an invalid weaponX entry for instance).
- The unit's build items have improperly configured ODFs.
- The faction name entry of the unit is incorrectly referenced.
A crash happens destroying a unit
Likely causes:
- The exploding unit lacks a reference to the specific explosion being used.
- If the unit that did the destroying is supposed to level up, check that its ODF is properly configured.
A crash happens when a unit levels up
Likely causes:
- The hardpoints of the leveled unit are not properly set up. Remember that each weapon must have a separate hardpoint one higher than the last.
A crash happens when a subsystem breaks
Likely causes:
- Missing or improperly referenced sprite
A crash happens when a unit fires a weapon
Likely causes:
- Beam weaponry flare is missing. *cause crash?*
- Firing animation missing. *cause crash?*
- A missing or improperly configured weapon or ordnance ODF.
- Missing or improperly referenced sprite or SOD entry for the weapon or explosion on impact.
Likely causes:
- The faction of the unit in question has no sounds in the events.dat file.
- You have deleted the sound file that was supposed to play and have forgotten to delete the reference from the events.dat file.
Likely causes:
- A unit within the crashing menu has improperly designated #include command.
Load / Launch Errors
A crash occurs as soon as you double click the Fleet Ops exe
Likely causes:
- There is a missing quotation mark in the Dynamic_Localized_Strings.h file. A missing comma will not cause this.
- A configuration file (XXX_CFG.h) is improperly set up - references the wrong value or has incorrect punctuation.
Likely causes:
- You have deleted the sound file that was supposed to play and have forgotten to delete the reference from the events.dat file.
A crash happens when hitting "Instant Action" or "Create Game"
Likely causes:
- One of the {faction}.odf files is missing.
A crash happens after hitting “launch”, but before the load-screen appears
Likely causes:
- "InstantActionSlots" for each {faction}.odf should be checked - probably two factions use the same slot, a faction with a slot does not exist, or there is a gap in slots.
- "Name" for each {faction}.odf should be checked - probably two factions are referenced as the same name.
A crash happens when going to the Admiral's Log (either in-game or automatically at end)
Likely causes:
- A Craft that was destroyed during the course of the game has an invalid race ODF command string (or the race string is missing).
The crash happens when trying to play a campaign mission
Likely causes:
- Files that are referenced by the particular mission are missing or altered.
A freeze happens when the load-screen progress bar has moved 10%
Likely causes:
- Mostly likely related to a techtree file. The techtree file has an entry that has no space between the number and the preceding entry, entries are out of order, or there is a longer tech requirement list than stated in the number.
A crash happens when the load-screen progress bar has moved 10%
Likely causes:
- The #include instruction string in an ODF file is missing a quotation mark.
- A sprite file is improperly formatted: the "sprite_table" reference may be missing when required, or a comment does not begin with "#".
A crash happens when the load-screen progress bar has moved 50%
Likely causes:
- AIP error (note it doesn't have to be a faction that is in-play). Misspelled ODF reference in one of the AIP files, or MAX_ELEMENTS is set too low. Crash can occur at this point when the Map Editor is used to load a map.
A crash happens when the load-screen progress bar has moved 70-80%
Likely causes:
- Misspelled ODF or a reference to an ODF (such as in build items). Make sure a unit has a correctly spelled weapon ODF (or make sure the ODF exists).
- The #include instruction string in a GUI file is missing a quotation mark. Note that the AI does not use the GUI files, so this crash should only occur when you have selected the faction in question.
A crash happens when the load-screen progress bar has moved 90%
Likely causes:
- The GUI reference is spelled incorrectly in the {faction}.odf file. Note that the AI does not use the GUI files, so this crash should only occur when you have selected the faction in question.
- The GUI file is missing for the faction you selected. Note that the AI does not use the GUI files, so this crash should only occur when you have selected the faction in question.
- Spelling mistake or incorrect punctuation in the AIP files (note it doesn't have to be a faction that is in-play).
A crash happens when the load-screen progress bar has moved 100%
Likely causes:
- There is something wrong with a unit's ODF with the faction you are playing as. Usually a spelling mistake.
- The unitName GameObject string is longer that 112 characters.
- Extra or missing quotation mark in an ODF command string.
A crash with no log happens after the load-screen, but before the game appears
Likely causes:
- An entry in the input.map file is missing a curly bracket, " { or } ", or a comment does not begin with "#".
"Out of Memory Error" anywhere along the load-screen progress bar
Likely causes:
- A quotation mark was missed before or after something in an ODF.
A crash happens when trying to play a map
Likely causes:
- An object's ODF in the map was changed since creating the map.
A crash occurs when trying to load a saved game
Likely causes:
- The AIPs were modified since the game was saved.
- The map, map objects, or any other ODFs present in the game were changed since saving the game.