Difference between revisions of "UNITREF DAT HSL"

From UFOpaedia
Jump to navigation Jump to search
m (Moved UNITREFDAT.HSL to its own page)
 
(Updated some unknowns with current data from UNITREF.DAT page)
Line 12: Line 12:
 
   UBYTE Unit_Type ;
 
   UBYTE Unit_Type ;
 
   UBYTE Paper_Doll ;
 
   UBYTE Paper_Doll ;
   UBYTE Unknown ;
+
   UBYTE Unit_PCK_Addr_1 ;
   UBYTE Unknown ;
+
   UBYTE Unit_PCK_Addr_2 ;
   UBYTE Unknown ;
+
   UBYTE Unit_PCK_Addr_3 ;
   UBYTE Unknown ;
+
   UBYTE Unit_PCK_Addr_4 ;
   UBYTE Unknown ;
+
   UBYTE Unit_PCK_Tab_Addr_1 ;
   UBYTE Unknown ;
+
   UBYTE Unit_PCK_Tab_Addr_2 ;
   UBYTE Unknown ;
+
   UBYTE Unit_PCK_Tab_Addr_3 ;
   UBYTE Unknown ;
+
   UBYTE Unit_PCK_Tab_Addr_4 ;
 
   UBYTE Facing ;
 
   UBYTE Facing ;
   UBYTE Unknown ;
+
   UBYTE MovementType ;
 
   UBYTE TUs_Current ;
 
   UBYTE TUs_Current ;
 
   UBYTE HPs_Current ;
 
   UBYTE HPs_Current ;
Line 51: Line 51:
 
   UBYTE VPs ;
 
   UBYTE VPs ;
 
   UBYTE soldier_index ;
 
   UBYTE soldier_index ;
   UBYTE Unknown ;
+
   UBYTE Animation_Frame_Counter ;
 
   UBYTE Rank ;
 
   UBYTE Rank ;
 
   UBYTE Unknown ;
 
   UBYTE Unknown ;
Line 57: Line 57:
 
   UBYTE EU_Usage ;
 
   UBYTE EU_Usage ;
 
   UBYTE HWP_Turret ;
 
   UBYTE HWP_Turret ;
   UBYTE Unknown ;
+
   UBYTE Map_Tile_Level ;
   UBYTE Unknown ;
+
   UBYTE LOF_Template_Offset ;
 
   UBYTE Stand_Height ;
 
   UBYTE Stand_Height ;
 
   UBYTE Crouch_Height ;
 
   UBYTE Crouch_Height ;
   UBYTE Unknown ;
+
   UBYTE Floating_Height ;
   UBYTE Unknown ;
+
   UBYTE LOF_Template_Offset_Copy ;
 
   UBYTE L_Hand_Item ;
 
   UBYTE L_Hand_Item ;
 
   UBYTE R_Hand_Item ;
 
   UBYTE R_Hand_Item ;
   UBYTE Unknown ;
+
   UBYTE Damage Modifier_Category ;
 
   UBYTE Close_Acc ;
 
   UBYTE Close_Acc ;
 
   UBYTE Psi_Strength ;
 
   UBYTE Psi_Strength ;
 
   UBYTE Morale ;
 
   UBYTE Morale ;
 
   UBYTE Bravery ;
 
   UBYTE Bravery ;
   UBYTE Unknown ;
+
   UBYTE Panic_Mode ;
   UBYTE Unknown ;
+
   UBYTE Scanner_Blip_Move_Inc ;
 
   UBYTE Scanner_Blip ;
 
   UBYTE Scanner_Blip ;
 
   UBYTE Head_Fatal ;
 
   UBYTE Head_Fatal ;
Line 79: Line 79:
 
   UBYTE R_Leg_Fatal ;
 
   UBYTE R_Leg_Fatal ;
 
   UBYTE L_Leg_Fatal ;
 
   UBYTE L_Leg_Fatal ;
 +
  UBYTE Route_Index_Start ;
 +
  UBYTE Route_Index_End ;
 
   UBYTE Unknown ;
 
   UBYTE Unknown ;
   UBYTE Unknown ;
+
   UBYTE Morale_From_Medkit ;
  UBYTE Unknown ;
 
  UBYTE Unknown ;
 
 
   UBYTE Intelligence ;
 
   UBYTE Intelligence ;
 
   UBYTE Unknown ;
 
   UBYTE Unknown ;
 
   UBYTE Unknown ;
 
   UBYTE Unknown ;
   UBYTE Mission_Count ;
+
   USHORT Mission_Count ;
  UBYTE Unknown ;
 
 
   USHORT Kills ;
 
   USHORT Kills ;
 
   UBYTE React_Count ;
 
   UBYTE React_Count ;
Line 95: Line 94:
 
   UBYTE Psi_Count ;
 
   UBYTE Psi_Count ;
 
   UBYTE Panic_Count ;
 
   UBYTE Panic_Count ;
   CHAR Name[26] ;
+
   CHAR Name[25] ;
 +
  UBYTE Two_Handed_Is_Firing ;
 
   UBYTE Unknown ;
 
   UBYTE Unknown ;
 
   UBYTE Inventory_Access ;
 
   UBYTE Inventory_Access ;

Revision as of 04:42, 12 June 2011

Hex Workshop Structure Library (HSL) for UNITREF.DAT

The following can be used to make an XCOMUFO.hsl file that will work with Hex Workshop (v4.23) available from www.BPSoft.com. This allows one to overlay a structure while viewing/editing UNITREF.DAT and work in a more organized fashion. For additional info, see HackerTools.

Tip: Set the data view window to 62 bytes wide, and each UNITREF record will take exactly two display lines. (It won't let you set it to higher than 64, unfortunately.)

#include "standard-types.hsl"

// UNITREF.DAT
struct UNITREF_DAT
{
  UBYTE Unit_Type ;
  UBYTE Paper_Doll ;
  UBYTE Unit_PCK_Addr_1 ;
  UBYTE Unit_PCK_Addr_2 ;
  UBYTE Unit_PCK_Addr_3 ;
  UBYTE Unit_PCK_Addr_4 ;
  UBYTE Unit_PCK_Tab_Addr_1 ;
  UBYTE Unit_PCK_Tab_Addr_2 ;
  UBYTE Unit_PCK_Tab_Addr_3 ;
  UBYTE Unit_PCK_Tab_Addr_4 ;
  UBYTE Facing ;
  UBYTE MovementType ;
  UBYTE TUs_Current ;
  UBYTE HPs_Current ;
  UBYTE Stun ;
  UBYTE EUs_Current ;
  UBYTE React_Current ;
  UBYTE Strength ;
  UBYTE F_Armor_Current ;
  UBYTE L_Armor_Current ;
  UBYTE R_Armor_Current ;
  UBYTE B_Armor_Current ;
  UBYTE U_Armor_Current ;
  UBYTE Firing_Acc ;
  UBYTE Throw_Acc ;
  UBYTE TUs_Max ;
  UBYTE HPs_Max ;
  UBYTE EUs_Max ;
  UBYTE React_Max ;
  UBYTE F_Armor_Max ;
  UBYTE L_Armor_Max ;
  UBYTE R_Armor_Max ;
  UBYTE B_Armor_Max ;
  UBYTE U_Armor_Max ;
  UBYTE Unknown ;
  UBYTE EU_Recharge ;
  UBYTE Unknown ;
  UBYTE Psi_Skill ;
  UBYTE obdata_index ;
  UBYTE VPs ;
  UBYTE soldier_index ;
  UBYTE Animation_Frame_Counter ;
  UBYTE Rank ;
  UBYTE Unknown ;
  UBYTE Aggression ;
  UBYTE EU_Usage ;
  UBYTE HWP_Turret ;
  UBYTE Map_Tile_Level ;
  UBYTE LOF_Template_Offset ;
  UBYTE Stand_Height ;
  UBYTE Crouch_Height ;
  UBYTE Floating_Height ;
  UBYTE LOF_Template_Offset_Copy ;
  UBYTE L_Hand_Item ;
  UBYTE R_Hand_Item ;
  UBYTE Damage Modifier_Category ;
  UBYTE Close_Acc ;
  UBYTE Psi_Strength ;
  UBYTE Morale ;
  UBYTE Bravery ;
  UBYTE Panic_Mode ;
  UBYTE Scanner_Blip_Move_Inc ;
  UBYTE Scanner_Blip ;
  UBYTE Head_Fatal ;
  UBYTE Torso_Fatal ;
  UBYTE R_Arm_Fatal ;
  UBYTE L_Arm_Fatal ;
  UBYTE R_Leg_Fatal ;
  UBYTE L_Leg_Fatal ;
  UBYTE Route_Index_Start ;
  UBYTE Route_Index_End ;
  UBYTE Unknown ;
  UBYTE Morale_From_Medkit ;
  UBYTE Intelligence ;
  UBYTE Unknown ;
  UBYTE Unknown ;
  USHORT Mission_Count ;
  USHORT Kills ;
  UBYTE React_Count ;
  UBYTE Shot_Count ;
  UBYTE Rod_Count ;
  UBYTE Throw_Count ;
  UBYTE Psi_Count ;
  UBYTE Panic_Count ;
  CHAR Name[25] ;
  UBYTE Two_Handed_Is_Firing ;
  UBYTE Unknown ;
  UBYTE Inventory_Access ;
  UBYTE On_Fire ;
  UBYTE Gender ;
  UBYTE Race ;
  UBYTE Turret_Weapon ;
  UBYTE Turret_Ammo ;
  UBYTE Unknown ;
  UBYTE Bitflags ;
  UBYTE Unknown ;
  UBYTE Unknown ;
  UBYTE Unknown ;
} ;