unit uDefines;

interface

const
  MAX_SIDE_NAMES = 4;
  NULLSIDE = -1;
  BLUESIDE = 0;
  REDSIDE = 1;
  GREENSIDE = 2;
  UNKNOWNSIDE = 3;
  ANYSIDE = 4;

  // * BATTLESET Resource numbers ============================================*/
  RES1_TEXT = 0;
  RES1_SIN = 1;
  RES1_TAN = 2;
  RES1_SEC = 3;
  RES1_MAIN_MAP = 4;
  RES1_A1 = 5;
  RES1_A2 = 6;
  RES1_B1 = 7;
  RES1_C1 = 8;
  RES1_D1 = 9;
  RES1_E1 = 10;
  RES1_F1 = 11;
  RES1_G1 = 12;
  RES1_G2 = 13;
  RES1_I1 = 14;
  RES1_J1 = 15;
  RES1_M1 = 16;
  RES1_P1 = 17;
  RES1_Y1 = 18;
  RES1_Z1 = 19;
  RES1_Z2 = 20;
  RES1_MAG_RECS = 21;
  RES1_BS_STRINGS = 22;
  RES1_TEXT_INDEX = 23;
  RES1_SHIP_TYPE_INDEX = 24;
  RES1_CLASS_NAME_INDEX = 25;
  RES1_SCENARIO_INDEX = 26;
  RES1_SCENARIO_TEXT = 27;
  RES1_MORE_MAP = 28; // not in mac version
  RES1_BS_SHIP_NAMES = 29;
  RES1_SCENARIOS = 30; // through 50 contain scenarios 0 - 21?
  RES1_VICTORY_SONG = 51; // through 58? with 4 blue and 4 red??
  RES1_NAVAL_SONG = 59; // through 67, but what about 63?
  RES1_BS_DATA2 = 63;
  RES1_STRATEGIC = 64; // ID Reclaimed for HC2003
  RES1_DATABASE_VERSION = 65; // ID Reclaimed for HC2003
  RES1_DEATH_SONG = 67;
  RES1_SHIP_POINTS = 72;
  RES1_VIC_MSG = 73;
  RES1_VIC_INDX = 74;
  RES1_VIC_TYPES = 75;
  RES1_WEATHER = 76;
  RES1_SHIPFORMS = 77;

  // * More annex related defines
  NUM_ANNEXES = 16;
  ANNEX_RESOURCE_OFFSET = RES1_A1;
  NUM_SPARE_BYTES = 16;
  //CLASS_NAME_LEN = 48;

  // see typedefs.h #define MOUNTS_PER_MULTI    4
  ARMOR_SECTORS = 6;
  PLANE_SPEED_LEVELS = 10;
  TORPEDO_SPEEDS = 2;
  DAMAGED_SHIP_SPEEDS = 4;

  // The definitions for  CLASS_NAME_LEN, MAX_UNIT_MOUNTS and MAX_UNIT_SENSORS
  // can be found in typedefs.h.  The MAX_ definitions may need to be changed if
  // one of the values below is increased (they do need to be the max...)
  MAX_SHIP_MOUNTS = 32;
  MAX_SHIP_SENSORS = 16;
  MAX_SUB_MOUNTS = 16;
  MAX_SUB_SENSORS = 8;
  MAX_PLANE_LOADOUTS = 32;
  MAX_PLANE_SENSORS = 8;
  MAX_BASE_MOUNTS = 16;
  MAX_BASE_SENSORS = 8;
  MAX_LOADOUT_WEAPONS = 8; // must match MOUNTS_PER_MULTI in typedefs.h

  // Length of database flavor text description, i.e. HCDB-070414
  DATABASE_FLAVOR_LEN = 32;

  // Annex stuff
  SHIP_FLAG = 0; // A1
  SUB_FLAG = 1; // A2
  PLANE_FLAG = 2; // B1
  GUN_FLAG = 3; // C1
  MISSILE_FLAG = 4; // D1
  ASW_FLAG = 5; // E1
  TORP_FLAG = 6; // F1
  ATOG_FLAG = 7; // G1
  ECM_FLAG = 8; // G2
  NUKE_FLAG = 9; // I1
  RADAR_FLAG = 10; // J1
  SONAR_FLAG = 11; // M1
  BASE_FLAG = 12; // P1
  LOADOUT_FLAG = 13; // Y1
  MOUNT_FLAG = 14; // Z1
  MULTI_FLAG = 15; // Z2

  // ALE 20130816 HarpoonEvent related
{
  CommandMask = $3F; // bits 0-5 */
  TimeMask = $C0; // bits 6-7 */
  TimeNow = $00; // execute event now */
  TimeDelta = $80; // Delta time to event */
  TimeAbs = $40; // Absolute time to event */
  NoUnit = $FF; // this event is not unit specific */

  ATTACK_EVENT = $00;
  ALT_SPEED_EVENT = $01;
  READY_EVENT = $02;
  LAUNCH_EVENT = $03;
  SPLIT_EVENT = $04;
  JOIN_EVENT = $05;
  SENSOR_EVENT = $06;
  FORMATION_EVENT = $07;
  REPAIR_EVENT = $08;
  RELOAD_EVENT = $09;
  SINK_EVENT = $0A;
  BREAKDOWN_EVENT = $0B;
  SPECIAL_FORCES_EVENT = $0C;
  INTELLIGENCE_EVENT = $0D;
  MESSAGE_EVENT = $0E;
  NUKE_FREE_EVENT = $0F;
  FALSE_CONTACT_EVENT = $10;
  WEATHER_EVENT = $11;
  SNORKEL_EVENT = $12;
  LANDING_EVENT = $13;
  ALT_PATH_EVENT = $14;
  ENEMY_AI_EVENT = $15;
  DAMAGE_EVENT = $16;
  INTERMITTENT_EVENT = $17;
  AIR_ATTACK_EVENT = $18;
  UNBEND_TAILS_EVENT = $19;
  UNUSED_EVENT = $1A; // ALE 20130801 sink sonobuoy
  AIR_PATROL_EVENT = $1B;
  INTERCEPT_EVENT = $1C;
  REPEAT_AIR_EVENT = $1D;
  ORDER_ATTACK_EVENT = $1E;
  LAUNCHLAND_EVENT = $1F;
  VARIABLE_START_EVENT = $20;
  MISSILE_AVOID_EVENT = $21;
  ALT_COURSE_EVENT = $22;
  AIR_REFUEL_EVENT = $3E;
  LAST_EVENT = $3F; // have to change system if you want more */
 }
implementation

end.
