Wing Commander
Reconstructed Win32 source (1996)
Loading...
Searching...
No Matches
wcdata.h File Reference

Game data enumerations and on-disk record layouts. More...

#include <stddef.h>

Go to the source code of this file.

Data Structures

struct  FixedVector
struct  NearHeapBlock
struct  FireworkState
struct  CampaignVictoryProjectile
struct  ObjectTypeData
struct  ShipWeaponSlot
struct  ShortPoint
struct  CockpitBarDefinition
struct  ShortVector
struct  ShortRect
struct  CockpitScannerGeometry
struct  CockpitLayout
struct  ScreenViewportGeometry
struct  ScreenViewportPacket
struct  DiskFileRecord
struct  BriefingPacketHeader
struct  PacketDecompressionWorkspace
struct  NavMapLabel
struct  NavMapObjectiveStyle
struct  TitleMenuRegion
struct  MissionHeaderDisk
struct  PacketResourceDescriptor
struct  HighScoreEntry
struct  PilotRecord
struct  CampaignDate
struct  ConversationSceneRecord
struct  BriefingCharacterLayout
struct  SceneAnimationObject
struct  ScrambleAnimationActor
struct  ScrambleShipDetail
struct  CampaignState
struct  SaveGameDiskCampaignState
struct  PacketSectionHandle
struct  SphericalVector
struct  HazardField
struct  ManeuverChoice
struct  TalkingHeadOrigin
struct  ConstellationStar
struct  ConstellationParticle
struct  ConstellationObjectDefinition
struct  MissionNavPoint
union  MissionShipBehaviour
struct  MissionShipRecord
struct  MissionObjectiveSource
struct  ObjectResourceSlot
struct  MissionObjective
struct  SaveGameDiskObjective
struct  SaveGameRecord
struct  SaveGameDiskRecord
struct  BarracksBunkState
struct  BarracksAnimationState

Macros

#define NAV_RECORD_BYTES   77
#define SHIP_RECORD_BYTES   42
#define MAP_RECORD_BYTES   64
#define SPACE_OBJECT_COUNT   64
#define SPACE_LAST_MOVING_OBJECT   60
#define EYE_OBJECT   61
#define DIRECTION_VIEW_COUNT   62
#define DIRECTION_SHAPE_TABLE_COUNT   3
#define MISSION_SHIP_STORAGE_COUNT   48
#define MISSION_SHIP_SCAN_LIMIT   64
#define ACTIVE_MISSION_SHIP_COUNT   32
#define MISSION_NAV_POINT_COUNT   20
#define ACTIVE_MISSION_NAV_POINT_COUNT   16
#define MISSION_OBJECTIVE_COUNT   16

Typedefs

typedef struct FixedVector FixedVector
typedef struct NearHeapBlock NearHeapBlock
typedef struct FireworkState FireworkState
typedef char FireworkState_size_must_be_0x0c[sizeof(FireworkState)==0x0c ? 1 :-1]
typedef struct CampaignVictoryProjectile CampaignVictoryProjectile
typedef char CampaignVictoryProjectile_size_must_be_0x16[sizeof(CampaignVictoryProjectile)==0x16 ? 1 :-1]
typedef struct ObjectTypeData ObjectTypeData
typedef char ObjectTypeData_size_must_be_0x87[sizeof(ObjectTypeData)==0x87 ? 1 :-1]
typedef char ObjectTypeData_objectClass_must_be_at_0x04[offsetof(ObjectTypeData, objectClass)==0x04 ? 1 :-1]
typedef char ObjectTypeData_weaponLoadout_must_be_at_0x2c[offsetof(ObjectTypeData, weaponLoadout)==0x2c ? 1 :-1]
typedef struct ShipWeaponSlot ShipWeaponSlot
typedef struct ShortPoint ShortPoint
typedef struct CockpitBarDefinition CockpitBarDefinition
typedef struct ShortVector ShortVector
typedef struct ShortRect ShortRect
typedef struct CockpitScannerGeometry CockpitScannerGeometry
typedef struct CockpitLayout CockpitLayout
typedef struct ScreenViewportGeometry ScreenViewportGeometry
typedef struct ScreenViewportPacket ScreenViewportPacket
typedef struct DiskFileRecord DiskFileRecord
typedef struct BriefingPacketHeader BriefingPacketHeader
typedef struct PacketDecompressionWorkspace PacketDecompressionWorkspace
typedef char CockpitLayout_size_must_be_0x118[sizeof(CockpitLayout)==0x118 ? 1 :-1]
typedef char ScreenViewportGeometry_size_must_be_0x10[sizeof(ScreenViewportGeometry)==0x10 ? 1 :-1]
typedef char DiskFileRecord_size_must_be_0x10[sizeof(DiskFileRecord)==0x10 ? 1 :-1]
typedef char BriefingPacketHeader_size_must_be_0x28[sizeof(BriefingPacketHeader)==0x28 ? 1 :-1]
typedef struct NavMapLabel NavMapLabel
typedef char NavMapLabel_size_must_be_0x0a[sizeof(NavMapLabel)==0x0a ? 1 :-1]
typedef struct NavMapObjectiveStyle NavMapObjectiveStyle
typedef char NavMapObjectiveStyle_size_must_be_0x10[sizeof(NavMapObjectiveStyle)==0x10 ? 1 :-1]
typedef struct TitleMenuRegion TitleMenuRegion
typedef struct MissionHeaderDisk MissionHeaderDisk
typedef char MissionHeaderDisk_size_must_be_0x18[sizeof(MissionHeaderDisk)==0x18 ? 1 :-1]
typedef struct PacketResourceDescriptor PacketResourceDescriptor
typedef struct HighScoreEntry HighScoreEntry
typedef struct PilotRecord PilotRecord
typedef struct CampaignDate CampaignDate
typedef struct ConversationSceneRecord ConversationSceneRecord
typedef struct BriefingCharacterLayout BriefingCharacterLayout
typedef struct SceneAnimationObject SceneAnimationObject
typedef struct ScrambleAnimationActor ScrambleAnimationActor
typedef struct ScrambleShipDetail ScrambleShipDetail
typedef struct CampaignState CampaignState
typedef struct SaveGameDiskCampaignState SaveGameDiskCampaignState
typedef struct PacketSectionHandle PacketSectionHandle
typedef char PilotRecord_size_must_be_0x26[sizeof(PilotRecord)==0x26 ? 1 :-1]
typedef char CampaignState_size_must_be_0x58[sizeof(CampaignState)==0x58 ? 1 :-1]
typedef char SaveGameDiskCampaignState_size_must_be_0x44[sizeof(SaveGameDiskCampaignState)==0x44 ? 1 :-1]
typedef char ConversationSceneRecord_size_must_be_0x0d[sizeof(ConversationSceneRecord)==0x0d ? 1 :-1]
typedef char BriefingCharacterLayout_size_must_be_0x12[sizeof(BriefingCharacterLayout)==0x12 ? 1 :-1]
typedef char SceneAnimationObject_size_must_be_0x36[sizeof(SceneAnimationObject)==0x36 ? 1 :-1]
typedef char ScrambleAnimationActor_size_must_be_0x18[sizeof(ScrambleAnimationActor)==0x18 ? 1 :-1]
typedef char ScrambleShipDetail_size_must_be_0x05[sizeof(ScrambleShipDetail)==0x05 ? 1 :-1]
typedef char PacketSectionHandle_size_must_be_0x14[sizeof(PacketSectionHandle)==0x14 ? 1 :-1]
typedef struct SphericalVector SphericalVector
typedef struct HazardField HazardField
typedef struct ManeuverChoice ManeuverChoice
typedef struct TalkingHeadOrigin TalkingHeadOrigin
typedef struct ConstellationStar ConstellationStar
typedef struct ConstellationParticle ConstellationParticle
typedef struct ConstellationObjectDefinition ConstellationObjectDefinition
typedef char TalkingHeadOrigin_size_must_be_0x08[sizeof(TalkingHeadOrigin)==0x08 ? 1 :-1]
typedef char ConstellationStar_size_must_be_0x06[sizeof(ConstellationStar)==0x06 ? 1 :-1]
typedef char ConstellationParticle_size_must_be_0x08[sizeof(ConstellationParticle)==0x08 ? 1 :-1]
typedef char ConstellationObjectDefinition_size_must_be_0x08[sizeof(ConstellationObjectDefinition)==0x08 ? 1 :-1]
typedef struct MissionNavPoint MissionNavPoint
typedef union MissionShipBehaviour MissionShipBehaviour
typedef struct MissionShipRecord MissionShipRecord
typedef struct MissionObjectiveSource MissionObjectiveSource
typedef struct ObjectResourceSlot ObjectResourceSlot
typedef struct MissionObjective MissionObjective
typedef struct SaveGameDiskObjective SaveGameDiskObjective
typedef struct SaveGameRecord SaveGameRecord
typedef struct SaveGameDiskRecord SaveGameDiskRecord
typedef struct BarracksBunkState BarracksBunkState
typedef struct BarracksAnimationState BarracksAnimationState
typedef char MissionNavPoint_size_must_be_0x51[sizeof(MissionNavPoint)==0x51 ? 1 :-1]
typedef char MissionShipRecord_size_must_be_0x36[sizeof(MissionShipRecord)==0x36 ? 1 :-1]
typedef char MissionObjectiveSource_size_must_be_0x42[sizeof(MissionObjectiveSource)==0x42 ? 1 :-1]
typedef char MissionObjective_size_must_be_0x1f[sizeof(MissionObjective)==0x1f ? 1 :-1]
typedef char SaveGameDiskObjective_size_must_be_0x19[sizeof(SaveGameDiskObjective)==0x19 ? 1 :-1]
typedef char SaveGameRecord_size_must_be_0x3b0[sizeof(SaveGameRecord)==0x3b0 ? 1 :-1]
typedef char SaveGameDiskRecord_size_must_be_0x33c[sizeof(SaveGameDiskRecord)==0x33c ? 1 :-1]
typedef char BarracksBunkState_size_must_be_0x0a[sizeof(BarracksBunkState)==0x0a ? 1 :-1]
typedef char BarracksAnimationState_size_must_be_0x68[sizeof(BarracksAnimationState)==0x68 ? 1 :-1]

Enumerations

enum  ObjectClass {
  OBJECT_CLASS_NULL = 0 , OBJECT_CLASS_FUTURION = 1 , OBJECT_CLASS_STAR = 2 , OBJECT_CLASS_PLANET = 3 ,
  OBJECT_CLASS_DUST = 4 , OBJECT_CLASS_EXPLOSION = 5 , OBJECT_CLASS_DEBRIS = 6 , OBJECT_CLASS_FIXED_OBJECT = 7 ,
  OBJECT_CLASS_PROJECTILE = 8 , OBJECT_CLASS_ASTEROID = 9 , OBJECT_CLASS_MINE = 10 , OBJECT_CLASS_MISSILE = 11 ,
  OBJECT_CLASS_SHIP = 12 , OBJECT_CLASS_CAPITAL_SHIP = 13
}
enum  ObjectType {
  OBJECT_TYPE_HORNET = 0 , OBJECT_TYPE_RAPIER = 1 , OBJECT_TYPE_SCIMITAR = 2 , OBJECT_TYPE_RAPTOR = 3 ,
  OBJECT_TYPE_VENTURE = 4 , OBJECT_TYPE_DILLIGENT = 5 , OBJECT_TYPE_DRAYMAN = 6 , OBJECT_TYPE_EXETER = 7 ,
  OBJECT_TYPE_TIGERS_CLAW = 8 , OBJECT_TYPE_SALTHI = 9 , OBJECT_TYPE_DRALTHI = 10 , OBJECT_TYPE_KRANT = 11 ,
  OBJECT_TYPE_GRATHA = 12 , OBJECT_TYPE_JALTHI = 13 , OBJECT_TYPE_SPIKERI = 14 , OBJECT_TYPE_DORKIR = 15 ,
  OBJECT_TYPE_LUMBARI = 16 , OBJECT_TYPE_RALARI = 17 , OBJECT_TYPE_FRALTHI = 18 , OBJECT_TYPE_SNAKEIR = 19 ,
  OBJECT_TYPE_SIVAR = 20 , OBJECT_TYPE_KILRATHI_BASE = 21 , OBJECT_TYPE_ASTEROID_FIELD = 22 , OBJECT_TYPE_MINE_FIELD = 23 ,
  OBJECT_TYPE_LASER_CANNON = 24 , OBJECT_TYPE_NEUTRON_PARTICLE_GUN = 25 , OBJECT_TYPE_MASS_DRIVER_CANNON = 26 , OBJECT_TYPE_TURRET = 27 ,
  OBJECT_TYPE_DUMB_FIRE_MISSILE = 28 , OBJECT_TYPE_HEAT_SEEKING_MISSILE = 29 , OBJECT_TYPE_FF_MISSILE = 30 , OBJECT_TYPE_IMAGE_RECOGNITION_MISSILE = 31 ,
  OBJECT_TYPE_TORPEDO = 32 , OBJECT_TYPE_SPACE_MINE = 33 , OBJECT_TYPE_ASTEROID1 = 34 , OBJECT_TYPE_ASTEROID2 = 35 ,
  OBJECT_TYPE_ASTEROID3 = 36 , OBJECT_TYPE_ASTEROID4 = 37 , OBJECT_TYPE_ASTEROID5 = 38 , OBJECT_TYPE_ASTEROID6 = 39 ,
  OBJECT_TYPE_ROCK_CHUNK = 40 , OBJECT_TYPE_DEBRIS_SHIP_GIRDER_CHUNK = 41 , OBJECT_TYPE_DEBRIS_SHIP_TUBING = 42 , OBJECT_TYPE_DEBRIS_METAL_SHEET = 43 ,
  OBJECT_TYPE_DEBRIS_WING = 44 , OBJECT_TYPE_DEBRIS_GLASS = 45 , OBJECT_TYPE_DEBRIS_O_RING = 46 , OBJECT_TYPE_DEBRIS_PIPE = 47 ,
  OBJECT_TYPE_EXPLOSION0 = 48 , OBJECT_TYPE_EXPLOSION1 = 49 , OBJECT_TYPE_EXPLOSION2 = 50 , OBJECT_TYPE_LASER_SPARK = 51 ,
  OBJECT_TYPE_RED_SPARK = 52 , OBJECT_TYPE_BLUE_SPARK = 53 , OBJECT_TYPE_SPARK_TRAIL = 54 , OBJECT_TYPE_THRUSTERS = 55 ,
  OBJECT_TYPE_EJECTED_PILOT = 56 , OBJECT_TYPE_HYPERSPACE_JUMP_FLASH = 57 , OBJECT_TYPE_TYPES = 58 , OBJECT_TYPE_COUNT = OBJECT_TYPE_TYPES ,
  OBJECT_TYPE_SPACE_DUST = 59 , OBJECT_TYPE_DEBRIS_DUST = 60
}
enum  ShipMissionType {
  MISSION_TYPE_NONE = -1 , MISSION_TYPE_PATROL = 0 , MISSION_TYPE_ESCORT = 1 , MISSION_TYPE_STRIKE = 2 ,
  MISSION_TYPE_DEFEND = 3 , MISSION_TYPE_WINGMAN = 4 , MISSION_TYPE_ROUT = 5 , MISSION_TYPE_GOTO_WARP = 6 ,
  MISSION_TYPE_WARP_ARRIVE = 7 , MISSION_TYPE_CANNED_SEQUENCE = 8 , MISSION_TYPE_RENDEZVOUS = 9 , MISSION_TYPE_COME_HOME = 10 ,
  MISSION_TYPE_BOGUS_AVOID_CRASH = 11
}
enum  ShipObjective {
  OBJECTIVE_NONE = -1 , OBJECTIVE_NAV_POINT = 0 , OBJECTIVE_HOME_BASE = 1 , OBJECTIVE_GUARD = 2 ,
  OBJECTIVE_REACH_SHIP = 3 , OBJECTIVE_DESTROY_SHIP = 4 , OBJECTIVE_WANDER = 5 , OBJECTIVE_ENGAGE_ENEMY = 6 ,
  OBJECTIVE_EVADE_ENEMY = 7 , OBJECTIVE_HOLD_FORMATION = 8 , OBJECTIVE_BREAK_FORMATION = 9
}
enum  ShipTactic {
  TACTIC_NONE = -1 , TACTIC_CRUISE = 0 , TACTIC_SIT_STILL = 1 , TACTIC_SCOUT_AHEAD = 2 ,
  TACTIC_LAG_BEHIND = 3 , TACTIC_RAM = 4 , TACTIC_AVOID_OBJECT = 5 , TACTIC_WARP_OUT = 6 ,
  TACTIC_WARP_IN = 7 , TACTIC_HEAD_HOME = 8 , TACTIC_CHASE = 9 , TACTIC_LOOK_OUT = 10 ,
  TACTIC_APPROACH_TARGET = 11 , TACTIC_TARGETTING = 12 , TACTIC_SHAKE_ENEMY = 13 , TACTIC_ZIP_AWAY = 14 ,
  TACTIC_RETREAT = 15 , TACTIC_SELF_DEFENSE = 16 , TACTIC_PICK_ATTACK = 17
}
enum  Side { SIDE_IMPERIAL = 0 , SIDE_KILRATHI = 1 , SIDE_NEUTRAL = 2 }
enum  Rating {
  RATING_PROVINCIAL = 0 , RATING_LINE = 1 , RATING_CRACK = 2 , RATING_ELITE = 3 ,
  RATING_FANATICAL = 4 , RATING_ACE_SPIRIT = 5 , RATING_ACE_HUNTER = 6 , RATING_ACE_BOSSMAN = 7 ,
  RATING_ACE_ICEMAN = 8 , RATING_ACE_ANGEL = 9 , RATING_ACE_PALADIN = 10 , RATING_ACE_MANIAC = 11 ,
  RATING_ACE_KNIGHT = 12 , RATING_ACE_PLAYER = 13 , RATING_ACE_HEWEY = 14 , RATING_ACE_LEWEY = 15 ,
  RATING_ACE_DEWEY = 16 , RATING_ACE_DAFFY = 17
}
enum  ShipManeuver {
  MANEUVER_NONE = -1 , MANEUVER_WARPING_IN = 0 , MANEUVER_WARPING_OUT = 1 , MANEUVER_VEER_AWAY = 2 ,
  MANEUVER_DRIFT = 3 , MANEUVER_FULL_AHEAD = 4 , MANEUVER_THINKING = 5 , MANEUVER_RAM_MISSILE = 6 ,
  MANEUVER_KICK_STOP = 7 , MANEUVER_TIGHT_LOOP = 8 , MANEUVER_HARD_BRAKE = 9 , MANEUVER_SIT_N_SPIN = 10 ,
  MANEUVER_TURN_N_SPIN = 11 , MANEUVER_BURNOUT = 12 , MANEUVER_WABBLE = 13 , MANEUVER_ROLL_OVER = 14 ,
  MANEUVER_HARD_TURN = 15 , MANEUVER_FISH_HOOK = 16 , MANEUVER_SPLIT_LEFT = 17 , MANEUVER_SIT_N_FIRE = 18 ,
  MANEUVER_KICKIT = 19 , MANEUVER_TURN_N_KICK = 20 , MANEUVER_OUTA_HERE = 21 , MANEUVER_DROP_A_MINE = 22 ,
  MANEUVER_SPLIT_RIGHT = 23 , MANEUVER_ZIG_ZAG = 24 , MANEUVER_GLOAT = 25 , MANEUVER_TAIL_FIRE = 26 ,
  MANEUVER_TARGET_LASER = 27 , MANEUVER_TARGET_MISSILE = 28 , MANEUVER_STRAFE_ENEMY = 29 , MANEUVER_STRAFE_N_ROLL = 30 ,
  MANEUVER_KILL_MISSILE = 31 , MANEUVER_SUICIDE_RUN = 32 , MANEUVER_ZIG_ZAG_PITCH = 33 , MANEUVER_SAFE_BRAKE = 34 ,
  MANEUVER_TURN_N_FIRE = 35 , MANEUVER_GET_DISTANCE = 36 , MANEUVER_CORKSCREW = 37 , MANEUVER_INTERCEPT = 38 ,
  MANEUVER_TRY2TAIL = 39 , MANEUVER_ZIP_PAST = 40 , MANEUVER_BUZZ_DEBRIS = 41 , MANEUVER_LINE_UP_DROP = 42 ,
  MANEUVER_CHILL = 43 , MANEUVER_UNKNOWN_44 = 44 , MANEUVER_UNKNOWN_45 = 45 , MANEUVER_UNKNOWN_46 = 46
}
enum  SpecialManeuver {
  SPECIAL_MANEUVER_NONE = -1 , SPECIAL_MANEUVER_NORMAL = 0 , SPECIAL_MANEUVER_AFTERBURNER = 1 , SPECIAL_MANEUVER_BOGUS_LOOP = 2 ,
  SPECIAL_MANEUVER_SUPER_BRAKE = 3 , SPECIAL_MANEUVER_BOGUS_PUSH = 4 , SPECIAL_MANEUVER_KILL_ENGINES = 5 , SPECIAL_MANEUVER_STOP_DRIFT = 6 ,
  SPECIAL_MANEUVER_LOST_CONTROL = 7 , SPECIAL_MANEUVER_BLOWING_UP = 8 , SPECIAL_MANEUVER_UNKNOWN_9 = 9
}
enum  CommMenuEntry {
  COMM_NEVER_MIND = 0 , COMM_ATTACK_TARGET = 1 , COMM_HELP_ME_OUT = 2 , COMM_RETURN_TO_BASE = 3 ,
  COMM_DIE_FURBALL = 4 , COMM_SLAG_OFF = 5
}
enum  CampaignBadgeIndex {
  CAMPAIGN_BADGE_FIRST_MISSION = 2 , CAMPAIGN_BADGE_SHIP_TYPE_BASE = 3 , CAMPAIGN_BADGE_FIVE_KILLS = 7 , CAMPAIGN_BADGE_TWENTY_FIVE_KILLS = 8 ,
  CAMPAIGN_BADGE_FIVE_MISSIONS = 9 , CAMPAIGN_BADGE_TEN_MISSIONS = 10 , CAMPAIGN_BADGE_FIFTEEN_MISSIONS = 11
}

Detailed Description

Game data enumerations and on-disk record layouts.

Sources, in descending order of trust:

  1. THIS BINARY. Anything marked "verified" was read out of WC1.EXE itself, usually from an ordered string table. Where the community documentation and the binary disagree, the binary wins and the difference is noted.
  2. WCMissionTools, a MODULE/CAMP/BRIEFING parser built from the data files. It names the fields the game loads; it does not know what the code calls them.
  3. WingCommanderArduinoBridge, which reads the DOS build's memory live. Its offsets are DOS-segment relative and do NOT apply here, but the field ORDER within the pilot record does, because both builds compile the same struct.

The MODULE record layouts below are the ON-DISK format. The in-memory tables are different sizes (the per-object table at 0x0046C97A has a 0x36-byte stride against the 42-byte disk ship record, and the nav table a 0x1F-byte stride against the 77-byte disk nav record), so a disk field offset is a hint about what exists, never about where it lives at runtime.

Definition in file wcdata.h.

Macro Definition Documentation

◆ ACTIVE_MISSION_NAV_POINT_COUNT

#define ACTIVE_MISSION_NAV_POINT_COUNT   16

Definition at line 1013 of file wcdata.h.

Referenced by find_ships_sphere(), FindNearestNavPoint(), and LoadMissionData().

◆ ACTIVE_MISSION_SHIP_COUNT

#define ACTIVE_MISSION_SHIP_COUNT   32

Definition at line 1011 of file wcdata.h.

Referenced by init_personalities().

◆ DIRECTION_SHAPE_TABLE_COUNT

#define DIRECTION_SHAPE_TABLE_COUNT   3

Definition at line 1008 of file wcdata.h.

◆ DIRECTION_VIEW_COUNT

#define DIRECTION_VIEW_COUNT   62

Definition at line 1007 of file wcdata.h.

Referenced by get_right_shape().

◆ EYE_OBJECT

◆ MAP_RECORD_BYTES

#define MAP_RECORD_BYTES   64

Definition at line 319 of file wcdata.h.

◆ MISSION_NAV_POINT_COUNT

#define MISSION_NAV_POINT_COUNT   20

Definition at line 1012 of file wcdata.h.

◆ MISSION_OBJECTIVE_COUNT

#define MISSION_OBJECTIVE_COUNT   16

Definition at line 1014 of file wcdata.h.

Referenced by LoadMissionData().

◆ MISSION_SHIP_SCAN_LIMIT

#define MISSION_SHIP_SCAN_LIMIT   64

Definition at line 1010 of file wcdata.h.

Referenced by prepare_mission().

◆ MISSION_SHIP_STORAGE_COUNT

#define MISSION_SHIP_STORAGE_COUNT   48

Definition at line 1009 of file wcdata.h.

◆ NAV_RECORD_BYTES

#define NAV_RECORD_BYTES   77

Definition at line 317 of file wcdata.h.

◆ SHIP_RECORD_BYTES

#define SHIP_RECORD_BYTES   42

Definition at line 318 of file wcdata.h.

◆ SPACE_LAST_MOVING_OBJECT

◆ SPACE_OBJECT_COUNT

#define SPACE_OBJECT_COUNT   64

Typedef Documentation

◆ BarracksAnimationState

typedef struct BarracksAnimationState BarracksAnimationState

◆ BarracksAnimationState_size_must_be_0x68

typedef char BarracksAnimationState_size_must_be_0x68[ sizeof(BarracksAnimationState)==0x68 ? 1 :-1]

Definition at line 1001 of file wcdata.h.

◆ BarracksBunkState

typedef struct BarracksBunkState BarracksBunkState

◆ BarracksBunkState_size_must_be_0x0a

typedef char BarracksBunkState_size_must_be_0x0a[ sizeof(BarracksBunkState)==0x0a ? 1 :-1]

Definition at line 999 of file wcdata.h.

◆ BriefingCharacterLayout

typedef struct BriefingCharacterLayout BriefingCharacterLayout

◆ BriefingCharacterLayout_size_must_be_0x12

typedef char BriefingCharacterLayout_size_must_be_0x12[ sizeof(BriefingCharacterLayout)==0x12 ? 1 :-1]

Definition at line 771 of file wcdata.h.

◆ BriefingPacketHeader

typedef struct BriefingPacketHeader BriefingPacketHeader

◆ BriefingPacketHeader_size_must_be_0x28

typedef char BriefingPacketHeader_size_must_be_0x28[ sizeof(BriefingPacketHeader)==0x28 ? 1 :-1]

Definition at line 523 of file wcdata.h.

◆ CampaignDate

typedef struct CampaignDate CampaignDate

◆ CampaignState

typedef struct CampaignState CampaignState

◆ CampaignState_size_must_be_0x58

typedef char CampaignState_size_must_be_0x58[ sizeof(CampaignState)==0x58 ? 1 :-1]

Definition at line 765 of file wcdata.h.

◆ CampaignVictoryProjectile

typedef struct CampaignVictoryProjectile CampaignVictoryProjectile

◆ CampaignVictoryProjectile_size_must_be_0x16

typedef char CampaignVictoryProjectile_size_must_be_0x16[ sizeof(CampaignVictoryProjectile)==0x16 ? 1 :-1]

Definition at line 361 of file wcdata.h.

◆ CockpitBarDefinition

typedef struct CockpitBarDefinition CockpitBarDefinition

◆ CockpitLayout

typedef struct CockpitLayout CockpitLayout

◆ CockpitLayout_size_must_be_0x118

typedef char CockpitLayout_size_must_be_0x118[ sizeof(CockpitLayout)==0x118 ? 1 :-1]

Definition at line 517 of file wcdata.h.

◆ CockpitScannerGeometry

typedef struct CockpitScannerGeometry CockpitScannerGeometry

◆ ConstellationObjectDefinition

typedef struct ConstellationObjectDefinition ConstellationObjectDefinition

◆ ConstellationObjectDefinition_size_must_be_0x08

typedef char ConstellationObjectDefinition_size_must_be_0x08[ sizeof(ConstellationObjectDefinition)==0x08 ? 1 :-1]

Definition at line 849 of file wcdata.h.

◆ ConstellationParticle

typedef struct ConstellationParticle ConstellationParticle

◆ ConstellationParticle_size_must_be_0x08

typedef char ConstellationParticle_size_must_be_0x08[ sizeof(ConstellationParticle)==0x08 ? 1 :-1]

Definition at line 847 of file wcdata.h.

◆ ConstellationStar

typedef struct ConstellationStar ConstellationStar

◆ ConstellationStar_size_must_be_0x06

typedef char ConstellationStar_size_must_be_0x06[ sizeof(ConstellationStar)==0x06 ? 1 :-1]

Definition at line 845 of file wcdata.h.

◆ ConversationSceneRecord

typedef struct ConversationSceneRecord ConversationSceneRecord

◆ ConversationSceneRecord_size_must_be_0x0d

typedef char ConversationSceneRecord_size_must_be_0x0d[ sizeof(ConversationSceneRecord)==0x0d ? 1 :-1]

Definition at line 769 of file wcdata.h.

◆ DiskFileRecord

typedef struct DiskFileRecord DiskFileRecord

◆ DiskFileRecord_size_must_be_0x10

typedef char DiskFileRecord_size_must_be_0x10[ sizeof(DiskFileRecord)==0x10 ? 1 :-1]

Definition at line 521 of file wcdata.h.

◆ FireworkState

typedef struct FireworkState FireworkState

◆ FireworkState_size_must_be_0x0c

typedef char FireworkState_size_must_be_0x0c[ sizeof(FireworkState)==0x0c ? 1 :-1]

Definition at line 345 of file wcdata.h.

◆ FixedVector

typedef struct FixedVector FixedVector

◆ HazardField

typedef struct HazardField HazardField

◆ HighScoreEntry

typedef struct HighScoreEntry HighScoreEntry

◆ ManeuverChoice

typedef struct ManeuverChoice ManeuverChoice

◆ MissionHeaderDisk

typedef struct MissionHeaderDisk MissionHeaderDisk

◆ MissionHeaderDisk_size_must_be_0x18

typedef char MissionHeaderDisk_size_must_be_0x18[ sizeof(MissionHeaderDisk)==0x18 ? 1 :-1]

Definition at line 571 of file wcdata.h.

◆ MissionNavPoint

typedef struct MissionNavPoint MissionNavPoint

◆ MissionNavPoint_size_must_be_0x51

typedef char MissionNavPoint_size_must_be_0x51[ sizeof(MissionNavPoint)==0x51 ? 1 :-1]

Definition at line 985 of file wcdata.h.

◆ MissionObjective

typedef struct MissionObjective MissionObjective

◆ MissionObjective_size_must_be_0x1f

typedef char MissionObjective_size_must_be_0x1f[ sizeof(MissionObjective)==0x1f ? 1 :-1]

Definition at line 991 of file wcdata.h.

◆ MissionObjectiveSource

typedef struct MissionObjectiveSource MissionObjectiveSource

◆ MissionObjectiveSource_size_must_be_0x42

typedef char MissionObjectiveSource_size_must_be_0x42[ sizeof(MissionObjectiveSource)==0x42 ? 1 :-1]

Definition at line 989 of file wcdata.h.

◆ MissionShipBehaviour

typedef union MissionShipBehaviour MissionShipBehaviour

◆ MissionShipRecord

typedef struct MissionShipRecord MissionShipRecord

◆ MissionShipRecord_size_must_be_0x36

typedef char MissionShipRecord_size_must_be_0x36[ sizeof(MissionShipRecord)==0x36 ? 1 :-1]

Definition at line 987 of file wcdata.h.

◆ NavMapLabel

typedef struct NavMapLabel NavMapLabel

◆ NavMapLabel_size_must_be_0x0a

typedef char NavMapLabel_size_must_be_0x0a[ sizeof(NavMapLabel)==0x0a ? 1 :-1]

Definition at line 534 of file wcdata.h.

◆ NavMapObjectiveStyle

typedef struct NavMapObjectiveStyle NavMapObjectiveStyle

◆ NavMapObjectiveStyle_size_must_be_0x10

typedef char NavMapObjectiveStyle_size_must_be_0x10[ sizeof(NavMapObjectiveStyle)==0x10 ? 1 :-1]

Definition at line 546 of file wcdata.h.

◆ NearHeapBlock

typedef struct NearHeapBlock NearHeapBlock

◆ ObjectResourceSlot

typedef struct ObjectResourceSlot ObjectResourceSlot

◆ ObjectTypeData

typedef struct ObjectTypeData ObjectTypeData

◆ ObjectTypeData_objectClass_must_be_at_0x04

typedef char ObjectTypeData_objectClass_must_be_at_0x04[ offsetof(ObjectTypeData, objectClass)==0x04 ? 1 :-1]

Definition at line 400 of file wcdata.h.

◆ ObjectTypeData_size_must_be_0x87

typedef char ObjectTypeData_size_must_be_0x87[ sizeof(ObjectTypeData)==0x87 ? 1 :-1]

Definition at line 398 of file wcdata.h.

◆ ObjectTypeData_weaponLoadout_must_be_at_0x2c

typedef char ObjectTypeData_weaponLoadout_must_be_at_0x2c[ offsetof(ObjectTypeData, weaponLoadout)==0x2c ? 1 :-1]

Definition at line 402 of file wcdata.h.

◆ PacketDecompressionWorkspace

typedef struct PacketDecompressionWorkspace PacketDecompressionWorkspace

◆ PacketResourceDescriptor

typedef struct PacketResourceDescriptor PacketResourceDescriptor

◆ PacketSectionHandle

typedef struct PacketSectionHandle PacketSectionHandle

◆ PacketSectionHandle_size_must_be_0x14

typedef char PacketSectionHandle_size_must_be_0x14[ sizeof(PacketSectionHandle)==0x14 ? 1 :-1]

Definition at line 779 of file wcdata.h.

◆ PilotRecord

typedef struct PilotRecord PilotRecord

◆ PilotRecord_size_must_be_0x26

typedef char PilotRecord_size_must_be_0x26[ sizeof(PilotRecord)==0x26 ? 1 :-1]

Definition at line 763 of file wcdata.h.

◆ SaveGameDiskCampaignState

typedef struct SaveGameDiskCampaignState SaveGameDiskCampaignState

◆ SaveGameDiskCampaignState_size_must_be_0x44

typedef char SaveGameDiskCampaignState_size_must_be_0x44[ sizeof(SaveGameDiskCampaignState)==0x44 ? 1 :-1]

Definition at line 767 of file wcdata.h.

◆ SaveGameDiskObjective

typedef struct SaveGameDiskObjective SaveGameDiskObjective

◆ SaveGameDiskObjective_size_must_be_0x19

typedef char SaveGameDiskObjective_size_must_be_0x19[ sizeof(SaveGameDiskObjective)==0x19 ? 1 :-1]

Definition at line 993 of file wcdata.h.

◆ SaveGameDiskRecord

typedef struct SaveGameDiskRecord SaveGameDiskRecord

◆ SaveGameDiskRecord_size_must_be_0x33c

typedef char SaveGameDiskRecord_size_must_be_0x33c[ sizeof(SaveGameDiskRecord)==0x33c ? 1 :-1]

Definition at line 997 of file wcdata.h.

◆ SaveGameRecord

typedef struct SaveGameRecord SaveGameRecord

◆ SaveGameRecord_size_must_be_0x3b0

typedef char SaveGameRecord_size_must_be_0x3b0[ sizeof(SaveGameRecord)==0x3b0 ? 1 :-1]

Definition at line 995 of file wcdata.h.

◆ SceneAnimationObject

typedef struct SceneAnimationObject SceneAnimationObject

◆ SceneAnimationObject_size_must_be_0x36

typedef char SceneAnimationObject_size_must_be_0x36[ sizeof(SceneAnimationObject)==0x36 ? 1 :-1]

Definition at line 773 of file wcdata.h.

◆ ScrambleAnimationActor

typedef struct ScrambleAnimationActor ScrambleAnimationActor

◆ ScrambleAnimationActor_size_must_be_0x18

typedef char ScrambleAnimationActor_size_must_be_0x18[ sizeof(ScrambleAnimationActor)==0x18 ? 1 :-1]

Definition at line 775 of file wcdata.h.

◆ ScrambleShipDetail

typedef struct ScrambleShipDetail ScrambleShipDetail

◆ ScrambleShipDetail_size_must_be_0x05

typedef char ScrambleShipDetail_size_must_be_0x05[ sizeof(ScrambleShipDetail)==0x05 ? 1 :-1]

Definition at line 777 of file wcdata.h.

◆ ScreenViewportGeometry

typedef struct ScreenViewportGeometry ScreenViewportGeometry

◆ ScreenViewportGeometry_size_must_be_0x10

typedef char ScreenViewportGeometry_size_must_be_0x10[ sizeof(ScreenViewportGeometry)==0x10 ? 1 :-1]

Definition at line 519 of file wcdata.h.

◆ ScreenViewportPacket

typedef struct ScreenViewportPacket ScreenViewportPacket

◆ ShipWeaponSlot

typedef struct ShipWeaponSlot ShipWeaponSlot

◆ ShortPoint

typedef struct ShortPoint ShortPoint

◆ ShortRect

typedef struct ShortRect ShortRect

◆ ShortVector

typedef struct ShortVector ShortVector

◆ SphericalVector

typedef struct SphericalVector SphericalVector

◆ TalkingHeadOrigin

typedef struct TalkingHeadOrigin TalkingHeadOrigin

◆ TalkingHeadOrigin_size_must_be_0x08

typedef char TalkingHeadOrigin_size_must_be_0x08[ sizeof(TalkingHeadOrigin)==0x08 ? 1 :-1]

Definition at line 843 of file wcdata.h.

◆ TitleMenuRegion

typedef struct TitleMenuRegion TitleMenuRegion

Enumeration Type Documentation

◆ CampaignBadgeIndex

Enumerator
CAMPAIGN_BADGE_FIRST_MISSION 
CAMPAIGN_BADGE_SHIP_TYPE_BASE 
CAMPAIGN_BADGE_FIVE_KILLS 
CAMPAIGN_BADGE_TWENTY_FIVE_KILLS 
CAMPAIGN_BADGE_FIVE_MISSIONS 
CAMPAIGN_BADGE_TEN_MISSIONS 
CAMPAIGN_BADGE_FIFTEEN_MISSIONS 

Definition at line 695 of file wcdata.h.

◆ CommMenuEntry

Enumerator
COMM_NEVER_MIND 
COMM_ATTACK_TARGET 
COMM_HELP_ME_OUT 
COMM_RETURN_TO_BASE 
COMM_DIE_FURBALL 
COMM_SLAG_OFF 

Definition at line 275 of file wcdata.h.

◆ ObjectClass

Enumerator
OBJECT_CLASS_NULL 
OBJECT_CLASS_FUTURION 
OBJECT_CLASS_STAR 
OBJECT_CLASS_PLANET 
OBJECT_CLASS_DUST 
OBJECT_CLASS_EXPLOSION 
OBJECT_CLASS_DEBRIS 
OBJECT_CLASS_FIXED_OBJECT 
OBJECT_CLASS_PROJECTILE 
OBJECT_CLASS_ASTEROID 
OBJECT_CLASS_MINE 
OBJECT_CLASS_MISSILE 
OBJECT_CLASS_SHIP 
OBJECT_CLASS_CAPITAL_SHIP 

Definition at line 37 of file wcdata.h.

◆ ObjectType

enum ObjectType
Enumerator
OBJECT_TYPE_HORNET 
OBJECT_TYPE_RAPIER 
OBJECT_TYPE_SCIMITAR 
OBJECT_TYPE_RAPTOR 
OBJECT_TYPE_VENTURE 
OBJECT_TYPE_DILLIGENT 
OBJECT_TYPE_DRAYMAN 
OBJECT_TYPE_EXETER 
OBJECT_TYPE_TIGERS_CLAW 
OBJECT_TYPE_SALTHI 
OBJECT_TYPE_DRALTHI 
OBJECT_TYPE_KRANT 
OBJECT_TYPE_GRATHA 
OBJECT_TYPE_JALTHI 
OBJECT_TYPE_SPIKERI 
OBJECT_TYPE_DORKIR 
OBJECT_TYPE_LUMBARI 
OBJECT_TYPE_RALARI 
OBJECT_TYPE_FRALTHI 
OBJECT_TYPE_SNAKEIR 
OBJECT_TYPE_SIVAR 
OBJECT_TYPE_KILRATHI_BASE 
OBJECT_TYPE_ASTEROID_FIELD 
OBJECT_TYPE_MINE_FIELD 
OBJECT_TYPE_LASER_CANNON 
OBJECT_TYPE_NEUTRON_PARTICLE_GUN 
OBJECT_TYPE_MASS_DRIVER_CANNON 
OBJECT_TYPE_TURRET 
OBJECT_TYPE_DUMB_FIRE_MISSILE 
OBJECT_TYPE_HEAT_SEEKING_MISSILE 
OBJECT_TYPE_FF_MISSILE 
OBJECT_TYPE_IMAGE_RECOGNITION_MISSILE 
OBJECT_TYPE_TORPEDO 
OBJECT_TYPE_SPACE_MINE 
OBJECT_TYPE_ASTEROID1 
OBJECT_TYPE_ASTEROID2 
OBJECT_TYPE_ASTEROID3 
OBJECT_TYPE_ASTEROID4 
OBJECT_TYPE_ASTEROID5 
OBJECT_TYPE_ASTEROID6 
OBJECT_TYPE_ROCK_CHUNK 
OBJECT_TYPE_DEBRIS_SHIP_GIRDER_CHUNK 
OBJECT_TYPE_DEBRIS_SHIP_TUBING 
OBJECT_TYPE_DEBRIS_METAL_SHEET 
OBJECT_TYPE_DEBRIS_WING 
OBJECT_TYPE_DEBRIS_GLASS 
OBJECT_TYPE_DEBRIS_O_RING 
OBJECT_TYPE_DEBRIS_PIPE 
OBJECT_TYPE_EXPLOSION0 
OBJECT_TYPE_EXPLOSION1 
OBJECT_TYPE_EXPLOSION2 
OBJECT_TYPE_LASER_SPARK 
OBJECT_TYPE_RED_SPARK 
OBJECT_TYPE_BLUE_SPARK 
OBJECT_TYPE_SPARK_TRAIL 
OBJECT_TYPE_THRUSTERS 
OBJECT_TYPE_EJECTED_PILOT 
OBJECT_TYPE_HYPERSPACE_JUMP_FLASH 
OBJECT_TYPE_TYPES 
OBJECT_TYPE_COUNT 
OBJECT_TYPE_SPACE_DUST 
OBJECT_TYPE_DEBRIS_DUST 

Definition at line 54 of file wcdata.h.

◆ Rating

enum Rating
Enumerator
RATING_PROVINCIAL 
RATING_LINE 
RATING_CRACK 
RATING_ELITE 
RATING_FANATICAL 
RATING_ACE_SPIRIT 
RATING_ACE_HUNTER 
RATING_ACE_BOSSMAN 
RATING_ACE_ICEMAN 
RATING_ACE_ANGEL 
RATING_ACE_PALADIN 
RATING_ACE_MANIAC 
RATING_ACE_KNIGHT 
RATING_ACE_PLAYER 
RATING_ACE_HEWEY 
RATING_ACE_LEWEY 
RATING_ACE_DEWEY 
RATING_ACE_DAFFY 

Definition at line 182 of file wcdata.h.

◆ ShipManeuver

Enumerator
MANEUVER_NONE 
MANEUVER_WARPING_IN 
MANEUVER_WARPING_OUT 
MANEUVER_VEER_AWAY 
MANEUVER_DRIFT 
MANEUVER_FULL_AHEAD 
MANEUVER_THINKING 
MANEUVER_RAM_MISSILE 
MANEUVER_KICK_STOP 
MANEUVER_TIGHT_LOOP 
MANEUVER_HARD_BRAKE 
MANEUVER_SIT_N_SPIN 
MANEUVER_TURN_N_SPIN 
MANEUVER_BURNOUT 
MANEUVER_WABBLE 
MANEUVER_ROLL_OVER 
MANEUVER_HARD_TURN 
MANEUVER_FISH_HOOK 
MANEUVER_SPLIT_LEFT 
MANEUVER_SIT_N_FIRE 
MANEUVER_KICKIT 
MANEUVER_TURN_N_KICK 
MANEUVER_OUTA_HERE 
MANEUVER_DROP_A_MINE 
MANEUVER_SPLIT_RIGHT 
MANEUVER_ZIG_ZAG 
MANEUVER_GLOAT 
MANEUVER_TAIL_FIRE 
MANEUVER_TARGET_LASER 
MANEUVER_TARGET_MISSILE 
MANEUVER_STRAFE_ENEMY 
MANEUVER_STRAFE_N_ROLL 
MANEUVER_KILL_MISSILE 
MANEUVER_SUICIDE_RUN 
MANEUVER_ZIG_ZAG_PITCH 
MANEUVER_SAFE_BRAKE 
MANEUVER_TURN_N_FIRE 
MANEUVER_GET_DISTANCE 
MANEUVER_CORKSCREW 
MANEUVER_INTERCEPT 
MANEUVER_TRY2TAIL 
MANEUVER_ZIP_PAST 
MANEUVER_BUZZ_DEBRIS 
MANEUVER_LINE_UP_DROP 
MANEUVER_CHILL 
MANEUVER_UNKNOWN_44 
MANEUVER_UNKNOWN_45 
MANEUVER_UNKNOWN_46 

Definition at line 206 of file wcdata.h.

◆ ShipMissionType

Enumerator
MISSION_TYPE_NONE 
MISSION_TYPE_PATROL 
MISSION_TYPE_ESCORT 
MISSION_TYPE_STRIKE 
MISSION_TYPE_DEFEND 
MISSION_TYPE_WINGMAN 
MISSION_TYPE_ROUT 
MISSION_TYPE_GOTO_WARP 
MISSION_TYPE_WARP_ARRIVE 
MISSION_TYPE_CANNED_SEQUENCE 
MISSION_TYPE_RENDEZVOUS 
MISSION_TYPE_COME_HOME 
MISSION_TYPE_BOGUS_AVOID_CRASH 

Definition at line 120 of file wcdata.h.

◆ ShipObjective

Enumerator
OBJECTIVE_NONE 
OBJECTIVE_NAV_POINT 
OBJECTIVE_HOME_BASE 
OBJECTIVE_GUARD 
OBJECTIVE_REACH_SHIP 
OBJECTIVE_DESTROY_SHIP 
OBJECTIVE_WANDER 
OBJECTIVE_ENGAGE_ENEMY 
OBJECTIVE_EVADE_ENEMY 
OBJECTIVE_HOLD_FORMATION 
OBJECTIVE_BREAK_FORMATION 

Definition at line 136 of file wcdata.h.

◆ ShipTactic

enum ShipTactic
Enumerator
TACTIC_NONE 
TACTIC_CRUISE 
TACTIC_SIT_STILL 
TACTIC_SCOUT_AHEAD 
TACTIC_LAG_BEHIND 
TACTIC_RAM 
TACTIC_AVOID_OBJECT 
TACTIC_WARP_OUT 
TACTIC_WARP_IN 
TACTIC_HEAD_HOME 
TACTIC_CHASE 
TACTIC_LOOK_OUT 
TACTIC_APPROACH_TARGET 
TACTIC_TARGETTING 
TACTIC_SHAKE_ENEMY 
TACTIC_ZIP_AWAY 
TACTIC_RETREAT 
TACTIC_SELF_DEFENSE 
TACTIC_PICK_ATTACK 

Definition at line 150 of file wcdata.h.

◆ Side

enum Side
Enumerator
SIDE_IMPERIAL 
SIDE_KILRATHI 
SIDE_NEUTRAL 

Definition at line 173 of file wcdata.h.

◆ SpecialManeuver

Enumerator
SPECIAL_MANEUVER_NONE 
SPECIAL_MANEUVER_NORMAL 
SPECIAL_MANEUVER_AFTERBURNER 
SPECIAL_MANEUVER_BOGUS_LOOP 
SPECIAL_MANEUVER_SUPER_BRAKE 
SPECIAL_MANEUVER_BOGUS_PUSH 
SPECIAL_MANEUVER_KILL_ENGINES 
SPECIAL_MANEUVER_STOP_DRIFT 
SPECIAL_MANEUVER_LOST_CONTROL 
SPECIAL_MANEUVER_BLOWING_UP 
SPECIAL_MANEUVER_UNKNOWN_9 

Definition at line 257 of file wcdata.h.