User Tools

Site Tools

“Excessive use of spikes detected. Self destructing hack in 3..2..1..”

fusion:data_disassemblies:structures

Fusion Data Structs

These are the structures of various objects in fusion. Displayed as C typedefs.

typedef struct __attribute__((packed)) __attribute__((aligned(1)))
{
  unsigned short CurEnemy_orientation;
  unsigned short CurEnemy_Y_position;
  unsigned short CurEnemy_X_position;
  unsigned short CurEnemy_Y_position_spawn;
  unsigned short CurEnemy_X_position_spawn;
  unsigned short CurEnemy_top_boundary_offset;
  unsigned short CurEnemy_bottom_boundary_offset;
  unsigned short CurEnemy_left_boundary_offset;
  unsigned short CurEnemy_right_boundary_offset;
  unsigned short anonymous_0;
  unsigned short CurEnemy_health;
  unsigned short CurEnemy_animation;
  unsigned long CurEnemy_graphic_pointer;
  char CurEnemy_animation_counter;
  char CurEnemy_id;
  char CurEnemy_spriteset_slot;
  char CurEnemy_spriteset_gfx_slot;
  char CurEnemy_palette;
  unsigned char unknownByte1;
  unsigned char unknownByte2;
  char CurEnemy_slot;
  char CurEnemy_pose;
  char InteractionType;//{1=Can damage when touched, 5 = bounces samus}
  char CurEnemy_timer_for_something;
  char anonymous_4;
  char anonymous_5;
  char anonymous_6;
  char anonymous_7;
  char anonymous_8;
  char CurEnemy_invincibility_timer;
  char SomeCounter;
  char Enemy_respawn_timer;
  char Enemy_attached_enemy_slot;
  unsigned char AnimCounter;
  unsigned char AnimCounter2;
  unsigned short Enemy_freeze_timer;
  char Enemy_collision_properties;
  unsigned short GFXSlotModifier;
} EnemyData;
typedef struct __attribute__((packed)) __attribute__((aligned(1)))
{    
  unsigned char EnemySlot;
  unsigned char SomeFlipFlag;
  unsigned char SawTarget;
  unsigned char unkD;
  unsigned char FacingSamusDirection ;
  unsigned char StopAndFlipFlop;
} AIThoughts;

/* 31 */
typedef struct
{
  unsigned long Pointer; 
  unsigned long Time; 
} Frame;
typedef struct 
{
  unsigned short Orientation;
  unsigned short Y;
  unsigned short X;
  unsigned short anonymous_2;
  unsigned char gap8[2];
  unsigned short Top;
  unsigned short Bottom;
  unsigned short Left;
  unsigned short Right;
  __attribute__((aligned(4)))  unsigned short enemyHealth;
  unsigned char gap16[7];
  char spriteID;
  char SpriteSetSlot;
  char spriteset_gfx_slot;
  char anonymous_11;
  char anonymous_12;
  char anonymous_13;
  char Slot;
  char CopyOfPose;
  __attribute__((aligned(2))) char DontKill;
  unsigned char gap27[3];
  char SomeKindofDirection;
  __attribute__((aligned(2))) char anonymous_18;
  char anonymous_19;
  unsigned char gap2E[1];
  char anonymous_20;
  unsigned char gap30[2];
  char anonymous_21;
  char anonymous_22;
  char SpawnType;
  unsigned char anonymous_24;
  unsigned char anonymous_25;
  char field_37;
} EnemyDataMem;
typedef struct FusionObjectStat_Primary
{
  unsigned short Health;
  unsigned short Damage;
  unsigned char filler2;
  unsigned char Reduction;
  unsigned char filler;
  unsigned char Vulnerability;
  unsigned short HealthX;
  unsigned short MissileX;
  unsigned short redX;
} FusionObjectStat_Primary;
fusion/data_disassemblies/structures.txt · Last modified: 2016/09/06 11:47 by mon732