chore: disable type alignment on x64 for x86 games

This commit is contained in:
Jan Laupetin 2025-04-26 18:59:18 +02:00
parent 3b00c1d45b
commit a6107e24a2
No known key found for this signature in database
GPG Key ID: 44B581F78FF5C57C
6 changed files with 204 additions and 188 deletions

View File

@ -135,7 +135,7 @@ namespace IW3
typedef float vec2_t[2]; typedef float vec2_t[2];
typedef float vec3_t[3]; typedef float vec3_t[3];
typedef float vec4_t[4]; typedef float vec4_t[4];
typedef tdef_align(128) unsigned int raw_uint128; typedef tdef_align32(128) unsigned int raw_uint128;
struct XModelPiece struct XModelPiece
{ {
@ -179,7 +179,7 @@ namespace IW3
}; };
typedef unsigned char ByteVec[3]; typedef unsigned char ByteVec[3];
typedef tdef_align(4) unsigned short UShortVec[3]; typedef tdef_align32(4) unsigned short UShortVec[3];
union XAnimDynamicIndicesTrans union XAnimDynamicIndicesTrans
{ {
@ -214,7 +214,7 @@ namespace IW3
XAnimPartTransData u; XAnimPartTransData u;
}; };
typedef tdef_align(4) short XQuat[2]; typedef tdef_align32(4) short XQuat[2];
union XAnimDynamicIndicesQuat union XAnimDynamicIndicesQuat
{ {
@ -296,7 +296,7 @@ namespace IW3
uint16_t maxs[3]; uint16_t maxs[3];
}; };
struct type_align(16) XSurfaceCollisionNode struct type_align32(16) XSurfaceCollisionNode
{ {
XSurfaceCollisionAabb aabb; XSurfaceCollisionAabb aabb;
uint16_t childBeginIndex; uint16_t childBeginIndex;
@ -344,7 +344,7 @@ namespace IW3
char array[4]; char array[4];
}; };
struct type_align(16) GfxPackedVertex struct type_align32(16) GfxPackedVertex
{ {
float xyz[3]; float xyz[3];
float binormalSign; float binormalSign;
@ -360,7 +360,7 @@ namespace IW3
uint16_t* vertsBlend; uint16_t* vertsBlend;
}; };
typedef tdef_align(16) uint16_t r_index16_t; typedef tdef_align32(16) uint16_t r_index16_t;
struct XSurface struct XSurface
{ {
@ -633,7 +633,7 @@ namespace IW3
unsigned int loadBits[2]; unsigned int loadBits[2];
}; };
struct type_align(16) MaterialConstantDef struct type_align32(16) MaterialConstantDef
{ {
unsigned int nameHash; unsigned int nameHash;
char name[12]; char name[12];
@ -709,7 +709,7 @@ namespace IW3
MaterialTextureDefInfo u; MaterialTextureDefInfo u;
}; };
struct gcc_align(8) GfxDrawSurfFields struct gcc_align32(8) GfxDrawSurfFields
{ {
uint64_t objectId : 16; uint64_t objectId : 16;
uint64_t reflectionProbeIndex : 8; uint64_t reflectionProbeIndex : 8;
@ -724,8 +724,8 @@ namespace IW3
union GfxDrawSurf union GfxDrawSurf
{ {
gcc_align(8) GfxDrawSurfFields fields; gcc_align32(8) GfxDrawSurfFields fields;
gcc_align(8) uint64_t packed; gcc_align32(8) uint64_t packed;
}; };
enum materialSurfType_t enum materialSurfType_t
@ -1605,7 +1605,7 @@ namespace IW3
cLeaf_t leaf; cLeaf_t leaf;
}; };
struct type_align(16) cbrush_t struct type_align32(16) cbrush_t
{ {
float mins[3]; float mins[3];
int contents; int contents;
@ -1671,7 +1671,7 @@ namespace IW3
typedef unsigned short LeafBrush; typedef unsigned short LeafBrush;
typedef tdef_align(16) cbrush_t cbrush_array_t; typedef tdef_align32(16) cbrush_t cbrush_array_t;
struct clipMap_t struct clipMap_t
{ {
@ -1775,7 +1775,7 @@ namespace IW3
pathnode_tree_info_t u; pathnode_tree_info_t u;
}; };
struct type_align(16) pathbasenode_t struct type_align32(16) pathbasenode_t
{ {
float vOrigin[3]; float vOrigin[3];
unsigned int type; unsigned int type;
@ -2044,14 +2044,14 @@ namespace IW3
GfxImage* secondary; GfxImage* secondary;
}; };
struct type_align(4) GfxLightGridEntry struct type_align32(4) GfxLightGridEntry
{ {
uint16_t colorsIndex; uint16_t colorsIndex;
char primaryLightIndex; char primaryLightIndex;
char needsTrace; char needsTrace;
}; };
struct type_align(4) GfxLightGridColors struct type_align32(4) GfxLightGridColors
{ {
char rgb[56][3]; char rgb[56][3];
}; };
@ -2137,7 +2137,7 @@ namespace IW3
uint16_t surfId; uint16_t surfId;
}; };
struct type_align(4) GfxSceneDynBrush struct type_align32(4) GfxSceneDynBrush
{ {
BModelDrawInfo info; BModelDrawInfo info;
uint16_t dynEntId; uint16_t dynEntId;
@ -2265,7 +2265,7 @@ namespace IW3
char pad; char pad;
}; };
typedef tdef_align(4) GfxSceneDynModel GfxSceneDynModel4; typedef tdef_align32(4) GfxSceneDynModel GfxSceneDynModel4;
struct GfxWorld struct GfxWorld
{ {

View File

@ -155,10 +155,10 @@ namespace IW4
void* data; void* data;
}; };
typedef tdef_align(16) char raw_byte16; typedef tdef_align32(16) char raw_byte16;
typedef tdef_align(16) float raw_float16; typedef tdef_align32(16) float raw_float16;
typedef unsigned int raw_uint; typedef unsigned int raw_uint;
typedef tdef_align(128) unsigned int raw_uint128; typedef tdef_align32(128) unsigned int raw_uint128;
typedef unsigned char cbrushedge_t; typedef unsigned char cbrushedge_t;
typedef unsigned short r_index_t; typedef unsigned short r_index_t;
typedef float vec2_t[2]; typedef float vec2_t[2];
@ -289,7 +289,7 @@ namespace IW4
}; };
typedef unsigned char ByteVec[3]; typedef unsigned char ByteVec[3];
typedef tdef_align(4) unsigned short UShortVec[3]; typedef tdef_align32(4) unsigned short UShortVec[3];
union XAnimDynamicFrames union XAnimDynamicFrames
{ {
@ -303,7 +303,7 @@ namespace IW4
uint16_t _2[1]; uint16_t _2[1];
}; };
struct type_align(4) XAnimPartTransFrames struct type_align32(4) XAnimPartTransFrames
{ {
float mins[3]; float mins[3];
float size[3]; float size[3];
@ -330,9 +330,9 @@ namespace IW4
uint16_t _2[1]; uint16_t _2[1];
}; };
typedef tdef_align(4) short XQuat2[2]; typedef tdef_align32(4) short XQuat2[2];
struct type_align(4) XAnimDeltaPartQuatDataFrames2 struct type_align32(4) XAnimDeltaPartQuatDataFrames2
{ {
XQuat2* frames; XQuat2* frames;
XAnimDynamicIndicesQuat2 indices; XAnimDynamicIndicesQuat2 indices;
@ -356,7 +356,7 @@ namespace IW4
uint16_t _2[1]; uint16_t _2[1];
}; };
typedef tdef_align(4) short XQuat[4]; typedef tdef_align32(4) short XQuat[4];
struct XAnimDeltaPartQuatDataFrames struct XAnimDeltaPartQuatDataFrames
{ {
@ -442,7 +442,7 @@ namespace IW4
char array[4]; char array[4];
}; };
struct type_align(16) GfxPackedVertex struct type_align32(16) GfxPackedVertex
{ {
float xyz[3]; float xyz[3];
float binormalSign; float binormalSign;
@ -458,7 +458,7 @@ namespace IW4
uint16_t maxs[3]; uint16_t maxs[3];
}; };
struct type_align(16) XSurfaceCollisionNode struct type_align32(16) XSurfaceCollisionNode
{ {
XSurfaceCollisionAabb aabb; XSurfaceCollisionAabb aabb;
uint16_t childBeginIndex; uint16_t childBeginIndex;
@ -489,7 +489,7 @@ namespace IW4
XSurfaceCollisionTree* collisionTree; XSurfaceCollisionTree* collisionTree;
}; };
typedef tdef_align(16) uint16_t r_index16_t; typedef tdef_align32(16) uint16_t r_index16_t;
struct XSurface struct XSurface
{ {
@ -673,7 +673,7 @@ namespace IW4
MaterialTextureDefInfo u; MaterialTextureDefInfo u;
}; };
struct type_align(16) MaterialConstantDef struct type_align32(16) MaterialConstantDef
{ {
unsigned int nameHash; unsigned int nameHash;
char name[12]; char name[12];
@ -843,7 +843,7 @@ namespace IW4
unsigned int toolFlags; unsigned int toolFlags;
}; };
struct gcc_align(8) GfxDrawSurfFields struct gcc_align32(8) GfxDrawSurfFields
{ {
uint64_t objectId : 16; uint64_t objectId : 16;
uint64_t reflectionProbeIndex : 8; uint64_t reflectionProbeIndex : 8;
@ -860,8 +860,8 @@ namespace IW4
union GfxDrawSurf union GfxDrawSurf
{ {
gcc_align(8) GfxDrawSurfFields fields; gcc_align32(8) GfxDrawSurfFields fields;
gcc_align(8) uint64_t packed; gcc_align32(8) uint64_t packed;
}; };
// The sort key is translated to a numeric value inside the material templates // The sort key is translated to a numeric value inside the material templates
@ -993,7 +993,7 @@ namespace IW4
GfxStateBits* stateBitsTable; GfxStateBits* stateBitsTable;
}; };
struct type_align(4) GfxImageLoadDef struct type_align32(4) GfxImageLoadDef
{ {
char levelCount; char levelCount;
char pad[3]; char pad[3];
@ -2824,7 +2824,7 @@ namespace IW4
int partitionIndex; int partitionIndex;
}; };
struct type_align(16) CollisionAabbTree struct type_align32(16) CollisionAabbTree
{ {
float midPoint[3]; float midPoint[3];
uint16_t materialIndex; uint16_t materialIndex;
@ -2918,8 +2918,8 @@ namespace IW4
float linkMaxs[2]; float linkMaxs[2];
}; };
typedef tdef_align(128) cbrush_t cbrush_array_t; typedef tdef_align32(128) cbrush_t cbrush_array_t;
typedef tdef_align(128) Bounds BoundsArray; typedef tdef_align32(128) Bounds BoundsArray;
struct clipMap_t struct clipMap_t
{ {
@ -3116,7 +3116,7 @@ namespace IW4
pathnode_transient_t transient; pathnode_transient_t transient;
}; };
struct type_align(16) pathbasenode_t struct type_align32(16) pathbasenode_t
{ {
float vOrigin[3]; float vOrigin[3];
unsigned int type; unsigned int type;
@ -3313,7 +3313,7 @@ namespace IW4
char endVertIndex; char endVertIndex;
}; };
union type_align(4) FxGlassGeometryData union type_align32(4) FxGlassGeometryData
{ {
FxGlassVertex vert; FxGlassVertex vert;
FxGlassHoleHeader hole; FxGlassHoleHeader hole;
@ -3505,14 +3505,14 @@ namespace IW4
r_index_t* indices; r_index_t* indices;
}; };
struct type_align(4) GfxLightGridEntry struct type_align32(4) GfxLightGridEntry
{ {
uint16_t colorsIndex; uint16_t colorsIndex;
char primaryLightIndex; char primaryLightIndex;
char needsTrace; char needsTrace;
}; };
struct type_align(4) GfxLightGridColors struct type_align32(4) GfxLightGridColors
{ {
char rgb[56][3]; char rgb[56][3];
}; };
@ -3539,7 +3539,7 @@ namespace IW4
Bounds bounds; Bounds bounds;
}; };
struct type_align(4) GfxBrushModel struct type_align32(4) GfxBrushModel
{ {
GfxBrushModelWritable writable; GfxBrushModelWritable writable;
Bounds bounds; Bounds bounds;
@ -3599,7 +3599,7 @@ namespace IW4
uint16_t surfId; uint16_t surfId;
}; };
struct type_align(4) GfxSceneDynBrush struct type_align32(4) GfxSceneDynBrush
{ {
BModelDrawInfo info; BModelDrawInfo info;
uint16_t dynEntId; uint16_t dynEntId;
@ -3744,8 +3744,8 @@ namespace IW4
int exponent; int exponent;
}; };
typedef tdef_align(128) GfxCellTree GfxCellTree128; typedef tdef_align32(128) GfxCellTree GfxCellTree128;
typedef tdef_align(4) GfxSceneDynModel GfxSceneDynModel4; typedef tdef_align32(4) GfxSceneDynModel GfxSceneDynModel4;
struct GfxWorld struct GfxWorld
{ {

View File

@ -221,9 +221,9 @@ namespace IW5
}; };
}; };
typedef tdef_align(16) char raw_byte16; typedef tdef_align32(16) char raw_byte16;
typedef tdef_align(16) float raw_float16; typedef tdef_align32(16) float raw_float16;
typedef tdef_align(128) unsigned int raw_uint128; typedef tdef_align32(128) unsigned int raw_uint128;
typedef unsigned char raw_byte; typedef unsigned char raw_byte;
typedef unsigned int raw_uint; typedef unsigned int raw_uint;
typedef unsigned short r_index_t; typedef unsigned short r_index_t;
@ -338,7 +338,7 @@ namespace IW5
}; };
typedef unsigned char ByteVec[3]; typedef unsigned char ByteVec[3];
typedef tdef_align(4) unsigned short UShortVec[3]; typedef tdef_align32(4) unsigned short UShortVec[3];
union XAnimDynamicFrames union XAnimDynamicFrames
{ {
@ -352,7 +352,7 @@ namespace IW5
uint16_t _2[1]; uint16_t _2[1];
}; };
struct type_align(4) XAnimPartTransFrames struct type_align32(4) XAnimPartTransFrames
{ {
float mins[3]; float mins[3];
float size[3]; float size[3];
@ -379,9 +379,9 @@ namespace IW5
uint16_t _2[1]; uint16_t _2[1];
}; };
typedef tdef_align(4) short XQuat2[2]; typedef tdef_align32(4) short XQuat2[2];
struct type_align(4) XAnimDeltaPartQuatDataFrames2 struct type_align32(4) XAnimDeltaPartQuatDataFrames2
{ {
XQuat2* frames; XQuat2* frames;
XAnimDynamicIndicesQuat2 indices; XAnimDynamicIndicesQuat2 indices;
@ -405,7 +405,7 @@ namespace IW5
uint16_t _2[1]; uint16_t _2[1];
}; };
typedef tdef_align(4) short XQuat[4]; typedef tdef_align32(4) short XQuat[4];
struct XAnimDeltaPartQuatDataFrames struct XAnimDeltaPartQuatDataFrames
{ {
@ -491,7 +491,7 @@ namespace IW5
unsigned char array[4]; unsigned char array[4];
}; };
struct type_align(16) GfxPackedVertex struct type_align32(16) GfxPackedVertex
{ {
vec3_t xyz; vec3_t xyz;
float binormalSign; float binormalSign;
@ -507,7 +507,7 @@ namespace IW5
unsigned short maxs[3]; unsigned short maxs[3];
}; };
struct type_align(16) XSurfaceCollisionNode struct type_align32(16) XSurfaceCollisionNode
{ {
XSurfaceCollisionAabb aabb; XSurfaceCollisionAabb aabb;
unsigned short childBeginIndex; unsigned short childBeginIndex;
@ -543,7 +543,7 @@ namespace IW5
uint16_t i[3]; uint16_t i[3];
}; };
typedef tdef_align(16) XSurfaceTri XSurfaceTri16; typedef tdef_align32(16) XSurfaceTri XSurfaceTri16;
struct XSurface struct XSurface
{ {
@ -653,7 +653,7 @@ namespace IW5
float quantization; float quantization;
}; };
struct gcc_align(8) GfxDrawSurfFields struct gcc_align32(8) GfxDrawSurfFields
{ {
uint64_t unused : 1; uint64_t unused : 1;
uint64_t primarySortKey : 6; uint64_t primarySortKey : 6;
@ -671,8 +671,8 @@ namespace IW5
union GfxDrawSurf union GfxDrawSurf
{ {
gcc_align(8) GfxDrawSurfFields fields; gcc_align32(8) GfxDrawSurfFields fields;
gcc_align(8) uint64_t packed; gcc_align32(8) uint64_t packed;
}; };
enum MaterialGameFlags enum MaterialGameFlags
@ -822,7 +822,7 @@ namespace IW5
MaterialTextureDefInfo u; MaterialTextureDefInfo u;
}; };
struct type_align(16) MaterialConstantDef struct type_align32(16) MaterialConstantDef
{ {
unsigned int nameHash; unsigned int nameHash;
char name[12]; char name[12];
@ -1127,7 +1127,7 @@ namespace IW5
MaterialTechnique* techniques[54]; MaterialTechnique* techniques[54];
}; };
struct type_align(4) GfxImageLoadDef struct type_align32(4) GfxImageLoadDef
{ {
char levelCount; char levelCount;
char pad[3]; char pad[3];
@ -1339,8 +1339,8 @@ namespace IW5
unsigned char edgeCount[2][3]; unsigned char edgeCount[2][3];
}; };
typedef tdef_align(128) cbrush_t cbrush_array_t; typedef tdef_align32(128) cbrush_t cbrush_array_t;
typedef tdef_align(128) Bounds BoundsArray; typedef tdef_align32(128) Bounds BoundsArray;
struct ClipInfo struct ClipInfo
{ {
@ -1410,7 +1410,7 @@ namespace IW5
int partitionIndex; int partitionIndex;
}; };
struct type_align(16) CollisionAabbTree struct type_align32(16) CollisionAabbTree
{ {
float midPoint[3]; float midPoint[3];
unsigned short materialIndex; unsigned short materialIndex;
@ -1761,7 +1761,7 @@ namespace IW5
pathnode_transient_t transient; pathnode_transient_t transient;
}; };
struct type_align(16) pathbasenode_t struct type_align32(16) pathbasenode_t
{ {
float vOrigin[3]; float vOrigin[3];
unsigned int type; unsigned int type;
@ -1948,7 +1948,7 @@ namespace IW5
unsigned char endVertIndex; unsigned char endVertIndex;
}; };
union type_align(4) FxGlassGeometryData union type_align32(4) FxGlassGeometryData
{ {
FxGlassVertex vert; FxGlassVertex vert;
FxGlassHoleHeader hole; FxGlassHoleHeader hole;
@ -2155,14 +2155,14 @@ namespace IW5
r_index_t* indices; r_index_t* indices;
}; };
struct type_align(4) GfxLightGridEntry struct type_align32(4) GfxLightGridEntry
{ {
unsigned short colorsIndex; unsigned short colorsIndex;
unsigned char primaryLightIndex; unsigned char primaryLightIndex;
unsigned char needsTrace; unsigned char needsTrace;
}; };
struct type_align(4) GfxLightGridColors struct type_align32(4) GfxLightGridColors
{ {
unsigned char rgb[56][3]; unsigned char rgb[56][3];
}; };
@ -2190,7 +2190,7 @@ namespace IW5
Bounds bounds; Bounds bounds;
}; };
struct type_align(4) GfxBrushModel struct type_align32(4) GfxBrushModel
{ {
GfxBrushModelWritable writable; GfxBrushModelWritable writable;
Bounds bounds; Bounds bounds;
@ -2250,7 +2250,7 @@ namespace IW5
unsigned short surfId; unsigned short surfId;
}; };
struct type_align(4) GfxSceneDynBrush struct type_align32(4) GfxSceneDynBrush
{ {
BModelDrawInfo info; BModelDrawInfo info;
unsigned short dynEntId; unsigned short dynEntId;
@ -2396,7 +2396,7 @@ namespace IW5
int exponent; int exponent;
}; };
typedef tdef_align(128) GfxCellTree GfxCellTree128; typedef tdef_align32(128) GfxCellTree GfxCellTree128;
struct GfxWorld struct GfxWorld
{ {
@ -3446,7 +3446,7 @@ namespace IW5
SndAliasCustom projIgnitionSound; SndAliasCustom projIgnitionSound;
}; };
typedef tdef_align(4) AttSight AttSight4; typedef tdef_align32(4) AttSight AttSight4;
struct WeaponAttachment struct WeaponAttachment
{ {

View File

@ -193,20 +193,20 @@ namespace T5
void* data; void* data;
}; };
typedef tdef_align(16) char char16; typedef tdef_align32(16) char char16;
typedef tdef_align(32) char byte32; typedef tdef_align32(32) char byte32;
typedef tdef_align(128) char byte128; typedef tdef_align32(128) char byte128;
typedef tdef_align(4) char char_align4; typedef tdef_align32(4) char char_align4;
typedef tdef_align(128) char char_align128; typedef tdef_align32(128) char char_align128;
typedef tdef_align(16) char raw_byte16; typedef tdef_align32(16) char raw_byte16;
typedef tdef_align(128) char raw_byte128; typedef tdef_align32(128) char raw_byte128;
typedef tdef_align(128) float float_align128; typedef tdef_align32(128) float float_align128;
typedef char cbrushedge_t; typedef char cbrushedge_t;
typedef tdef_align(128) unsigned int raw_uint128; typedef tdef_align32(128) unsigned int raw_uint128;
typedef uint16_t ScriptString; typedef uint16_t ScriptString;
@ -350,7 +350,7 @@ namespace T5
}; };
typedef unsigned char ByteVec[3]; typedef unsigned char ByteVec[3];
typedef tdef_align(4) unsigned short UShortVec[3]; typedef tdef_align32(4) unsigned short UShortVec[3];
union XAnimDynamicFrames union XAnimDynamicFrames
{ {
@ -385,7 +385,7 @@ namespace T5
XAnimPartTransData u; XAnimPartTransData u;
}; };
typedef tdef_align(4) short XQuat[2]; typedef tdef_align32(4) short XQuat[2];
union XAnimDynamicIndicesQuat union XAnimDynamicIndicesQuat
{ {
@ -490,7 +490,7 @@ namespace T5
char array[4]; char array[4];
}; };
struct type_align(16) GfxPackedVertex struct type_align32(16) GfxPackedVertex
{ {
vec3_t xyz; vec3_t xyz;
float binormalSign; float binormalSign;
@ -511,7 +511,7 @@ namespace T5
uint16_t maxs[3]; uint16_t maxs[3];
}; };
struct type_align(16) XSurfaceCollisionNode struct type_align32(16) XSurfaceCollisionNode
{ {
XSurfaceCollisionAabb aabb; XSurfaceCollisionAabb aabb;
uint16_t childBeginIndex; uint16_t childBeginIndex;
@ -542,7 +542,7 @@ namespace T5
uint16_t i[3]; uint16_t i[3];
}; };
typedef tdef_align(16) XSurfaceTri XSurfaceTri16; typedef tdef_align32(16) XSurfaceTri XSurfaceTri16;
struct XSurface struct XSurface
{ {
@ -627,7 +627,7 @@ namespace T5
int sflags; int sflags;
}; };
struct type_align(16) BrushWrapper struct type_align32(16) BrushWrapper
{ {
vec3_t mins; vec3_t mins;
int contents; int contents;
@ -650,7 +650,7 @@ namespace T5
vec3_t halfLengths; vec3_t halfLengths;
}; };
typedef tdef_align(16) PhysGeomInfo PhysGeomInfo16; typedef tdef_align32(16) PhysGeomInfo PhysGeomInfo16;
struct PhysGeomList struct PhysGeomList
{ {
@ -713,7 +713,7 @@ namespace T5
PhysConstraints* physConstraints; PhysConstraints* physConstraints;
}; };
struct gcc_align(8) GfxDrawSurfFields struct gcc_align32(8) GfxDrawSurfFields
{ {
uint64_t objectId : 16; uint64_t objectId : 16;
uint64_t fade : 4; uint64_t fade : 4;
@ -732,8 +732,8 @@ namespace T5
union GfxDrawSurf union GfxDrawSurf
{ {
gcc_align(8) GfxDrawSurfFields fields; gcc_align32(8) GfxDrawSurfFields fields;
gcc_align(8) uint64_t packed; gcc_align32(8) uint64_t packed;
}; };
struct MaterialInfo struct MaterialInfo
@ -796,7 +796,7 @@ namespace T5
MaterialTextureDefInfo u; MaterialTextureDefInfo u;
}; };
struct type_align(16) MaterialConstantDef struct type_align32(16) MaterialConstantDef
{ {
unsigned int nameHash; unsigned int nameHash;
char name[12]; char name[12];
@ -1138,7 +1138,7 @@ namespace T5
SND_ASSET_FLAG_PAD_LOOP_BUFFER = 0x2, SND_ASSET_FLAG_PAD_LOOP_BUFFER = 0x2,
}; };
typedef tdef_align(2048) char snd_align_char; typedef tdef_align32(2048) char snd_align_char;
struct snd_asset struct snd_asset
{ {
@ -1164,7 +1164,7 @@ namespace T5
snd_asset sound; snd_asset sound;
}; };
typedef tdef_align(2048) char char_align_2048; typedef tdef_align32(2048) char char_align_2048;
struct PrimedSound struct PrimedSound
{ {
@ -1254,7 +1254,7 @@ namespace T5
int sequence; int sequence;
}; };
struct type_align(4) SndIndexEntry struct type_align32(4) SndIndexEntry
{ {
uint16_t value; uint16_t value;
uint16_t next; uint16_t next;
@ -1409,7 +1409,7 @@ namespace T5
int partitionIndex; int partitionIndex;
}; };
struct type_align(16) CollisionAabbTree struct type_align32(16) CollisionAabbTree
{ {
float origin[3]; float origin[3];
uint16_t materialIndex; uint16_t materialIndex;
@ -1426,7 +1426,7 @@ namespace T5
cLeaf_s leaf; cLeaf_s leaf;
}; };
struct type_align(16) cbrush_t struct type_align32(16) cbrush_t
{ {
float mins[3]; float mins[3];
int contents; int contents;
@ -1687,7 +1687,7 @@ namespace T5
int maxy; int maxy;
}; };
struct type_align(4) ComWaterCell struct type_align32(4) ComWaterCell
{ {
int16_t waterheight; int16_t waterheight;
char flooroffset; char flooroffset;
@ -1826,7 +1826,7 @@ namespace T5
pathnode_transient_t transient; pathnode_transient_t transient;
}; };
struct type_align(16) pathbasenode_t struct type_align32(16) pathbasenode_t
{ {
float vOrigin[3]; float vOrigin[3];
unsigned int type; unsigned int type;
@ -1926,7 +1926,7 @@ namespace T5
GfxWorldSunColor sunSettings[1]; GfxWorldSunColor sunSettings[1];
}; };
struct type_align(16) float44 struct type_align32(16) float44
{ {
union union
{ {
@ -1935,7 +1935,7 @@ namespace T5
}; };
}; };
struct type_align(16) GfxLight struct type_align32(16) GfxLight
{ {
char type; char type;
char canUseShadowMap; char canUseShadowMap;
@ -2130,19 +2130,19 @@ namespace T5
uint16_t* indices; uint16_t* indices;
}; };
struct type_align(4) GfxLightGridEntry struct type_align32(4) GfxLightGridEntry
{ {
uint16_t colorsIndex; uint16_t colorsIndex;
char primaryLightIndex; char primaryLightIndex;
char needsTrace; char needsTrace;
}; };
struct type_align(4) GfxCompressedLightGridColors struct type_align32(4) GfxCompressedLightGridColors
{ {
char rgb[56][3]; char rgb[56][3];
}; };
typedef tdef_align(4) char aligned_byte_pointer; typedef tdef_align32(4) char aligned_byte_pointer;
struct GfxLightGrid struct GfxLightGrid
{ {
@ -2220,14 +2220,14 @@ namespace T5
uint16_t dynEntId; uint16_t dynEntId;
}; };
typedef tdef_align(4) GfxSceneDynModel GfxSceneDynModel4; typedef tdef_align32(4) GfxSceneDynModel GfxSceneDynModel4;
struct BModelDrawInfo struct BModelDrawInfo
{ {
uint16_t surfId; uint16_t surfId;
}; };
struct type_align(4) GfxSceneDynBrush struct type_align32(4) GfxSceneDynBrush
{ {
BModelDrawInfo info; BModelDrawInfo info;
uint16_t dynEntId; uint16_t dynEntId;
@ -2283,7 +2283,7 @@ namespace T5
int stream2ByteOffset; int stream2ByteOffset;
}; };
struct type_align(16) GfxSurface struct type_align32(16) GfxSurface
{ {
srfTriangles_t tris; srfTriangles_t tris;
Material* material; Material* material;
@ -2935,7 +2935,7 @@ namespace T5
ITEM_TYPE_MENUMODEL = 0x27 ITEM_TYPE_MENUMODEL = 0x27
}; };
struct type_align(8) itemDef_s struct type_align32(8) itemDef_s
{ {
windowDef_t window; windowDef_t window;
int type; int type;
@ -2949,15 +2949,15 @@ namespace T5
menuDef_t* parent; menuDef_t* parent;
rectData_s* rectExpData; rectData_s* rectExpData;
ExpressionStatement visibleExp; ExpressionStatement visibleExp;
gcc_align(8) uint64_t showBits; gcc_align32(8) uint64_t showBits;
gcc_align(8) uint64_t hideBits; gcc_align32(8) uint64_t hideBits;
ExpressionStatement forecolorAExp; ExpressionStatement forecolorAExp;
int ui3dWindowId; int ui3dWindowId;
GenericEventHandler* onEvent; GenericEventHandler* onEvent;
UIAnimInfo* animInfo; UIAnimInfo* animInfo;
}; };
struct type_align(8) menuDef_t struct type_align32(8) menuDef_t
{ {
windowDef_t window; windowDef_t window;
const char* font; const char* font;
@ -2984,8 +2984,8 @@ namespace T5
GenericEventHandler* onEvent; GenericEventHandler* onEvent;
ItemKeyHandler* onKey; ItemKeyHandler* onKey;
ExpressionStatement visibleExp; ExpressionStatement visibleExp;
gcc_align(8) uint64_t showBits; gcc_align32(8) uint64_t showBits;
gcc_align(8) uint64_t hideBits; gcc_align32(8) uint64_t hideBits;
const char* allowedBinding; const char* allowedBinding;
const char* soundName; const char* soundName;
int imageTrack; int imageTrack;

View File

@ -10,17 +10,17 @@ namespace T6
{ {
#endif #endif
typedef tdef_align(16) char char16; typedef tdef_align32(16) char char16;
typedef tdef_align(32) char byte32; typedef tdef_align32(32) char byte32;
typedef tdef_align(128) char byte128; typedef tdef_align32(128) char byte128;
typedef tdef_align(4) char char_align4; typedef tdef_align32(4) char char_align4;
typedef tdef_align(128) char char_align128; typedef tdef_align32(128) char char_align128;
typedef tdef_align(16) char raw_byte16; typedef tdef_align32(16) char raw_byte16;
typedef tdef_align(128) char raw_byte128; typedef tdef_align32(128) char raw_byte128;
typedef tdef_align(128) float float_align128; typedef tdef_align32(128) float float_align128;
typedef uint16_t ScriptString; typedef uint16_t ScriptString;
@ -643,7 +643,7 @@ namespace T6
float lightingOriginRange; float lightingOriginRange;
}; };
struct gcc_align(8) GfxDrawSurfFields struct gcc_align32(8) GfxDrawSurfFields
{ {
uint64_t objectId : 16; uint64_t objectId : 16;
uint64_t customIndex : 9; uint64_t customIndex : 9;
@ -658,8 +658,8 @@ namespace T6
union GfxDrawSurf union GfxDrawSurf
{ {
gcc_align(8) GfxDrawSurfFields fields; gcc_align32(8) GfxDrawSurfFields fields;
gcc_align(8) uint64_t packed; gcc_align32(8) uint64_t packed;
}; };
// The sort key is translated to a numeric value inside the material templates // The sort key is translated to a numeric value inside the material templates
@ -702,7 +702,7 @@ namespace T6
MTL_GAMEFLAG_1000 = 0x1000, MTL_GAMEFLAG_1000 = 0x1000,
}; };
struct type_align(8) MaterialInfo struct type_align32(8) MaterialInfo
{ {
const char* name; const char* name;
unsigned int gameFlags; unsigned int gameFlags;
@ -735,7 +735,7 @@ namespace T6
CAMERA_REGION_NONE = CAMERA_REGION_COUNT, CAMERA_REGION_NONE = CAMERA_REGION_COUNT,
}; };
typedef tdef_align(8) GfxStateBits GfxStateBitsTable; typedef tdef_align32(8) GfxStateBits GfxStateBitsTable;
struct Material struct Material
{ {
@ -960,9 +960,9 @@ namespace T6
unsigned int entryCount; unsigned int entryCount;
unsigned int dependencyCount; unsigned int dependencyCount;
unsigned int pad32; unsigned int pad32;
gcc_align(8) int64_t fileSize; gcc_align32(8) int64_t fileSize;
gcc_align(8) int64_t entryOffset; gcc_align32(8) int64_t entryOffset;
gcc_align(8) int64_t checksumOffset; gcc_align32(8) int64_t checksumOffset;
char checksumChecksum[16]; char checksumChecksum[16];
char dependencies[512]; char dependencies[512];
char padding[1464]; char padding[1464];
@ -970,7 +970,7 @@ namespace T6
#pragma pack(push, 1) #pragma pack(push, 1)
struct type_align(2) SndRuntimeAssetBank struct type_align32(2) SndRuntimeAssetBank
{ {
const char* zone; const char* zone;
const char* language; const char* language;
@ -985,7 +985,7 @@ namespace T6
#pragma pack(pop) #pragma pack(pop)
typedef tdef_align(2048) char SndChar2048; typedef tdef_align32(2048) char SndChar2048;
struct SndLoadedAssets struct SndLoadedAssets
{ {
@ -1041,8 +1041,8 @@ namespace T6
}; };
typedef unsigned short LeafBrush; typedef unsigned short LeafBrush;
typedef tdef_align(128) cbrush_t cbrush_array_t; typedef tdef_align32(128) cbrush_t cbrush_array_t;
typedef tdef_align(128) Bounds BoundsArray; typedef tdef_align32(128) Bounds BoundsArray;
struct ClipInfo struct ClipInfo
{ {
@ -1066,7 +1066,7 @@ namespace T6
int* brushContents; int* brushContents;
}; };
struct type_align(4) cLeaf_s struct type_align32(4) cLeaf_s
{ {
uint16_t firstCollAabbIndex; uint16_t firstCollAabbIndex;
uint16_t collAabbCount; uint16_t collAabbCount;
@ -1273,8 +1273,8 @@ namespace T6
void /*ID3D11Buffer*/* indexBuffer; void /*ID3D11Buffer*/* indexBuffer;
}; };
typedef tdef_align(4) char aligned_byte_pointer; typedef tdef_align32(4) char aligned_byte_pointer;
typedef tdef_align(4) GfxCompressedLightGridCoeffs GfxCompressedLightGridCoeffs_align4; typedef tdef_align32(4) GfxCompressedLightGridCoeffs GfxCompressedLightGridCoeffs_align4;
struct GfxLightGrid struct GfxLightGrid
{ {
@ -1323,7 +1323,7 @@ namespace T6
vec3_t sunFxPosition; vec3_t sunFxPosition;
}; };
typedef tdef_align(4) GfxDrawSurf GfxDrawSurf_align4; typedef tdef_align32(4) GfxDrawSurf GfxDrawSurf_align4;
struct GfxWorldDpvsStatic struct GfxWorldDpvsStatic
{ {
@ -1449,7 +1449,7 @@ namespace T6
int lightingQuality; int lightingQuality;
}; };
struct type_align(4) GfxLightImage struct type_align32(4) GfxLightImage
{ {
GfxImage* image; GfxImage* image;
char samplerState; char samplerState;
@ -1535,7 +1535,7 @@ namespace T6
expressionRpn* rpn; expressionRpn* rpn;
}; };
struct type_align(8) menuDef_t struct type_align32(8) menuDef_t
{ {
windowDef_t window; windowDef_t window;
const char* font; const char* font;
@ -1562,8 +1562,8 @@ namespace T6
GenericEventHandler* onEvent; GenericEventHandler* onEvent;
ItemKeyHandler* onKey; ItemKeyHandler* onKey;
ExpressionStatement visibleExp; ExpressionStatement visibleExp;
gcc_align(8) uint64_t showBits; gcc_align32(8) uint64_t showBits;
gcc_align(8) uint64_t hideBits; gcc_align32(8) uint64_t hideBits;
const char* allowedBinding; const char* allowedBinding;
const char* soundName; const char* soundName;
int imageTrack; int imageTrack;
@ -2753,9 +2753,9 @@ namespace T6
uint16_t i[3]; uint16_t i[3];
}; };
typedef tdef_align(16) XSurfaceTri XSurfaceTri16; typedef tdef_align32(16) XSurfaceTri XSurfaceTri16;
struct type_align(16) XSurface struct type_align32(16) XSurface
{ {
char tileMode; char tileMode;
unsigned char vertListCount; unsigned char vertListCount;
@ -2783,7 +2783,7 @@ namespace T6
int surfFlags; int surfFlags;
}; };
struct type_align(4) XBoneInfo struct type_align32(4) XBoneInfo
{ {
vec3_t bounds[2]; vec3_t bounds[2];
vec3_t offset; vec3_t offset;
@ -2883,7 +2883,7 @@ namespace T6
GfxImage* image; GfxImage* image;
}; };
struct type_align(16) MaterialConstantDef struct type_align32(16) MaterialConstantDef
{ {
unsigned int nameHash; unsigned int nameHash;
char name[12]; char name[12];
@ -3058,7 +3058,7 @@ namespace T6
{ {
};*/ };*/
struct type_align(4) GfxImageLoadDef struct type_align32(4) GfxImageLoadDef
{ {
char levelCount; char levelCount;
char flags; char flags;
@ -3076,7 +3076,7 @@ namespace T6
int sequence; int sequence;
}; };
struct type_align(4) SndIndexEntry struct type_align32(4) SndIndexEntry
{ {
uint16_t value; uint16_t value;
uint16_t next; uint16_t next;
@ -3104,7 +3104,7 @@ namespace T6
float returnHighpass; float returnHighpass;
}; };
typedef tdef_align(16) float SndFloatAlign16; typedef tdef_align32(16) float SndFloatAlign16;
struct SndDuck struct SndDuck
{ {
@ -3206,7 +3206,7 @@ namespace T6
cLeafBrushNodeData_t data; cLeafBrushNodeData_t data;
}; };
struct type_align(16) cbrush_t struct type_align32(16) cbrush_t
{ {
vec3_t mins; vec3_t mins;
int contents; int contents;
@ -3261,7 +3261,7 @@ namespace T6
int partitionIndex; int partitionIndex;
}; };
struct type_align(16) CollisionAabbTree struct type_align32(16) CollisionAabbTree
{ {
vec3_t origin; vec3_t origin;
uint16_t materialIndex; uint16_t materialIndex;
@ -3352,7 +3352,7 @@ namespace T6
ROPE_CENTITY_CONSTRAINT = 0x3, ROPE_CENTITY_CONSTRAINT = 0x3,
}; };
struct type_align(4) constraint_t struct type_align32(4) constraint_t
{ {
vec3_t p; vec3_t p;
rope_constraint_e type; rope_constraint_e type;
@ -3374,7 +3374,7 @@ namespace T6
unsigned int frame_index; unsigned int frame_index;
}; };
struct type_align(4) rope_t struct type_align32(4) rope_t
{ {
par_t m_particles[25]; par_t m_particles[25];
constraint_t m_constraints[30]; constraint_t m_constraints[30];
@ -3489,7 +3489,7 @@ namespace T6
uint16_t infoIndex; uint16_t infoIndex;
}; };
struct type_align(4) pathnode_dynamic_t struct type_align32(4) pathnode_dynamic_t
{ {
SentientHandle pOwner; SentientHandle pOwner;
int iFreeTime; int iFreeTime;
@ -3526,7 +3526,7 @@ namespace T6
pathnode_transient_t transient; pathnode_transient_t transient;
}; };
struct type_align(16) pathbasenode_t struct type_align32(16) pathbasenode_t
{ {
vec3_t vOrigin; vec3_t vOrigin;
unsigned int type; unsigned int type;
@ -3573,7 +3573,7 @@ namespace T6
float halfSize; float halfSize;
}; };
struct type_align(16) GfxStreamingAabbTree struct type_align32(16) GfxStreamingAabbTree
{ {
vec4_t mins; vec4_t mins;
vec4_t maxs; vec4_t maxs;
@ -3586,7 +3586,7 @@ namespace T6
uint16_t surfaceCount; uint16_t surfaceCount;
}; };
struct type_align(16) float44 struct type_align32(16) float44
{ {
union union
{ {
@ -3595,7 +3595,7 @@ namespace T6
}; };
}; };
struct type_align(16) GfxLight struct type_align32(16) GfxLight
{ {
char type; char type;
char canUseShadowMap; char canUseShadowMap;
@ -3734,14 +3734,14 @@ namespace T6
{ {
};*/ };*/
struct type_align(4) GfxLightGridEntry struct type_align32(4) GfxLightGridEntry
{ {
uint16_t colorsIndex; uint16_t colorsIndex;
char primaryLightIndex; char primaryLightIndex;
char visibility; char visibility;
}; };
struct type_align(4) GfxCompressedLightGridColors struct type_align32(4) GfxCompressedLightGridColors
{ {
char rgb[56][3]; char rgb[56][3];
}; };
@ -3769,7 +3769,7 @@ namespace T6
float padding2; float padding2;
}; };
struct type_align(16) GfxBrushModel struct type_align32(16) GfxBrushModel
{ {
GfxBrushModelWritable writable; GfxBrushModelWritable writable;
vec3_t bounds[2]; vec3_t bounds[2];
@ -3808,14 +3808,14 @@ namespace T6
uint16_t surfId; uint16_t surfId;
}; };
struct type_align(4) GfxSceneDynBrush struct type_align32(4) GfxSceneDynBrush
{ {
BModelDrawInfo info; BModelDrawInfo info;
uint16_t dynEntId; uint16_t dynEntId;
}; };
// Usually __m128, but that is not portable // Usually __m128, but that is not portable
union gcc_align(8) custom_m128 union gcc_align32(8) custom_m128
{ {
float m128_f32[4]; float m128_f32[4];
uint64_t m128_u64[2]; uint64_t m128_u64[2];
@ -3836,7 +3836,7 @@ namespace T6
custom_m128 w; custom_m128 w;
}; };
struct type_align(16) SSkinInstance struct type_align32(16) SSkinInstance
{ {
union union
{ {
@ -3888,7 +3888,7 @@ namespace T6
int baseIndex; int baseIndex;
}; };
struct type_align(16) GfxSurface struct type_align32(16) GfxSurface
{ {
srfTriangles_t tris; srfTriangles_t tris;
Material* material; Material* material;
@ -3913,7 +3913,7 @@ namespace T6
uint16_t V2[4]; uint16_t V2[4];
}; };
struct type_align(4) GfxStaticModelLmapVertexInfo struct type_align32(4) GfxStaticModelLmapVertexInfo
{ {
unsigned int* lmapVertexColors; unsigned int* lmapVertexColors;
void /*ID3D11Buffer*/* lmapVertexColorsVB; void /*ID3D11Buffer*/* lmapVertexColorsVB;
@ -4113,7 +4113,7 @@ namespace T6
void* data; void* data;
}; };
struct type_align(8) itemDef_s struct type_align32(8) itemDef_s
{ {
windowDef_t window; windowDef_t window;
int type; int type;
@ -5587,7 +5587,7 @@ namespace T6
LOCAL_CLIENT_COUNT = 0x1, LOCAL_CLIENT_COUNT = 0x1,
}; };
struct type_align(4) DevGraph struct type_align32(4) DevGraph
{ {
vec2_t* knots; vec2_t* knots;
int* knotCount; int* knotCount;
@ -5609,7 +5609,7 @@ namespace T6
}; };
typedef char ByteVec[3]; typedef char ByteVec[3];
typedef tdef_align(4) uint16_t UShortVec[3]; typedef tdef_align32(4) uint16_t UShortVec[3];
union XAnimDynamicFrames union XAnimDynamicFrames
{ {
@ -5623,7 +5623,7 @@ namespace T6
uint16_t _2[1]; uint16_t _2[1];
}; };
struct type_align(4) XAnimPartTransFrames struct type_align32(4) XAnimPartTransFrames
{ {
vec3_t mins; vec3_t mins;
vec3_t size; vec3_t size;
@ -5650,9 +5650,9 @@ namespace T6
uint16_t _2[1]; uint16_t _2[1];
}; };
typedef tdef_align(4) int16_t XQuat2[2]; typedef tdef_align32(4) int16_t XQuat2[2];
struct type_align(4) XAnimDeltaPartQuatDataFrames2 struct type_align32(4) XAnimDeltaPartQuatDataFrames2
{ {
XQuat2* frames; XQuat2* frames;
XAnimDynamicIndicesDeltaQuat2 indices; XAnimDynamicIndicesDeltaQuat2 indices;
@ -5676,9 +5676,9 @@ namespace T6
uint16_t _2[1]; uint16_t _2[1];
}; };
typedef tdef_align(4) int16_t XQuat[4]; typedef tdef_align32(4) int16_t XQuat[4];
struct type_align(4) XAnimDeltaPartQuatDataFrames struct type_align32(4) XAnimDeltaPartQuatDataFrames
{ {
XQuat* frames; XQuat* frames;
XAnimDynamicIndicesDeltaQuat indices; XAnimDynamicIndicesDeltaQuat indices;
@ -5712,7 +5712,7 @@ namespace T6
unsigned int packed; unsigned int packed;
}; };
struct type_align(16) GfxPackedVertex struct type_align32(16) GfxPackedVertex
{ {
vec3_t xyz; vec3_t xyz;
float binormalSign; float binormalSign;
@ -5738,7 +5738,7 @@ namespace T6
vec4_t tvec; vec4_t tvec;
}; };
typedef tdef_align(16) PhysGeomInfo PhysGeomInfo16; typedef tdef_align32(16) PhysGeomInfo PhysGeomInfo16;
struct PhysGeomList struct PhysGeomList
{ {
@ -6295,7 +6295,7 @@ namespace T6
static_assert(sizeof(SndAliasFlags) == 8); static_assert(sizeof(SndAliasFlags) == 8);
#endif #endif
struct type_align(4) pathlink_s struct type_align32(4) pathlink_s
{ {
float fDist; float fDist;
uint16_t nodeNum; uint16_t nodeNum;
@ -6404,7 +6404,7 @@ namespace T6
unsigned int v; unsigned int v;
}; };
struct type_align(4) SSkinVert struct type_align32(4) SSkinVert
{ {
half4 pos_bone; half4 pos_bone;
PackedUnitVec normal; PackedUnitVec normal;
@ -6495,7 +6495,7 @@ namespace T6
} vector; } vector;
}; };
struct type_align(8) dvar_t struct type_align32(8) dvar_t
{ {
const char* name; const char* name;
const char* description; const char* description;
@ -6994,7 +6994,7 @@ namespace T6
uint16_t maxs[3]; uint16_t maxs[3];
}; };
struct type_align(16) XSurfaceCollisionNode struct type_align32(16) XSurfaceCollisionNode
{ {
XSurfaceCollisionAabb aabb; XSurfaceCollisionAabb aabb;
uint16_t childBeginIndex; uint16_t childBeginIndex;
@ -7006,7 +7006,7 @@ namespace T6
uint16_t triangleBeginIndex; uint16_t triangleBeginIndex;
}; };
struct type_align(16) BrushWrapper struct type_align32(16) BrushWrapper
{ {
vec3_t mins; vec3_t mins;
int contents; int contents;

View File

@ -7,9 +7,6 @@
#ifdef tdef_align #ifdef tdef_align
#undef tdef_align #undef tdef_align
#endif #endif
#ifdef memb_align
#undef memb_align
#endif
#ifdef gcc_align #ifdef gcc_align
#undef gcc_align #undef gcc_align
#endif #endif
@ -17,25 +14,44 @@
#ifdef __zonecodegenerator #ifdef __zonecodegenerator
#define type_align(x) alignas(x) #define type_align(x) alignas(x)
#define tdef_align(x) alignas(x) #define tdef_align(x) alignas(x)
#define memb_align(x) alignas(x)
#define gcc_align(x) #define gcc_align(x)
#else #else
#ifdef __ida #ifdef __ida
#define type_align(x) __declspec(align(x)) #define type_align(x) __declspec(align(x))
#define tdef_align(x) __declspec(align(x)) #define tdef_align(x) __declspec(align(x))
#define memb_align(x) __declspec(align(x))
#define gcc_align(x) #define gcc_align(x)
#else #else
#ifdef _MSVC_LANG #ifdef _MSVC_LANG
#define type_align(x) /* __declspec(align(x)) */ #define type_align(x) __declspec(align(x))
#define tdef_align(x) /* __declspec(align(x)) */ #define tdef_align(x) __declspec(align(x))
#define memb_align(x) /* __declspec(align(x)) */
#define gcc_align(x) #define gcc_align(x)
#else #else
#define type_align(x) __attribute__((__aligned__(x))) #define type_align(x) __attribute__((__aligned__(x)))
#define tdef_align(x) #define tdef_align(x)
#define memb_align(x) __attribute__((__aligned__(x)))
#define gcc_align(x) __attribute__((__aligned__(x))) #define gcc_align(x) __attribute__((__aligned__(x)))
#endif #endif
#endif #endif
#endif #endif
#if defined(__zonecodegenerator) || defined(__ida)
#define type_align32(x) type_align(x)
#define tdef_align32(x) tdef_align(x)
#define gcc_align32(x) gcc_align(x)
#define type_align64(x) type_align(x)
#define tdef_align64(x) tdef_align(x)
#define gcc_align64(x) gcc_align(x)
#elif defined(ARCH_x86)
#define type_align32(x) type_align(x)
#define tdef_align32(x) tdef_align(x)
#define gcc_align32(x) gcc_align(x)
#define type_align64(x)
#define tdef_align64(x)
#define gcc_align64(x)
#elif defined(ARCH_x64)
#define type_align32(x)
#define tdef_align32(x)
#define gcc_align32(x)
#define type_align64(x) type_align(x)
#define tdef_align64(x) tdef_align(x)
#define gcc_align64(x) gcc_align(x)
#endif