Add anonymous union between separate coordinate variables and vec2/3_t in basic map structs

git-svn-id: https://svn.eduke32.com/eduke32@7693 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/buildtypes.h
This commit is contained in:
terminx 2019-06-25 11:28:04 +00:00 committed by Christoph Oelckers
parent 1a4afe09a8
commit bd80cec462
2 changed files with 42 additions and 17 deletions

View file

@ -71,7 +71,13 @@ typedef struct
//32 bytes
typedef struct
{
StructTracker(Wall, int32_t) x, y;
union {
struct
{
StructTracker(Wall, int32_t) x, y;
};
vec2_t p;
};
StructTracker(Wall, int16_t) point2, nextwall, nextsector;
StructTracker(Wall, uint16_t) cstat;
StructTracker(Wall, int16_t) picnum, overpicnum;
@ -157,7 +163,14 @@ enum
//44 bytes
typedef struct
{
StructTracker(Sprite, int32_t) x, y, z;
union {
struct
{
StructTracker(Sprite, int32_t) x, y, z;
};
vec3_t v;
vec2_t p;
};
StructTracker(Sprite, uint16_t) cstat;
StructTracker(Sprite, int16_t) picnum;
StructTracker(Sprite, int8_t) shade;
@ -167,15 +180,13 @@ typedef struct
StructTracker(Sprite, int16_t) sectnum, statnum;
StructTracker(Sprite, int16_t) ang, owner;
union {
StructTracker(Sprite, int16_t) xvel;
StructTracker(Sprite, int16_t) index;
struct
{
StructTracker(Sprite, int16_t) xvel /*index*/, yvel, zvel;
};
vec3_16_t vel;
};
StructTracker(Sprite, int16_t) yvel, zvel;
union {
StructTracker(Sprite, int16_t) lotag;
StructTracker(Sprite, int16_t) type;
};
StructTracker(Sprite, int16_t) hitag;
StructTracker(Sprite, int16_t) lotag /*type*/, hitag;
StructTracker(Sprite, int16_t) extra;
} StructName(spritetypev7);
@ -208,7 +219,13 @@ typedef struct
// 38 bytes
typedef struct
{
StructTracker(Wall, int32_t) x, y;
union {
struct
{
StructTracker(Wall, int32_t) x, y;
};
vec2_t const p;
};
StructTracker(Wall, int16_t) point2, nextwall, nextsector;
StructTracker(Wall, int16_t) upwall, dnwall;
StructTracker(Wall, uint16_t) cstat;

View file

@ -812,18 +812,16 @@ typedef struct MAY_ALIAS {
int32_t x, y;
} vec2_t;
typedef struct {
typedef struct MAY_ALIAS {
int16_t x, y;
} vec2s_t;
} vec2_16_t;
using vec2s_t = vec2_16_t;
typedef struct {
uint32_t x, y;
} vec2u_t;
typedef struct MAY_ALIAS {
int32_t x, y, z;
} vec3_t;
typedef struct {
float x, y;
} vec2f_t;
@ -832,6 +830,16 @@ typedef struct {
double x, y;
} vec2d_t;
typedef struct MAY_ALIAS {
int32_t x, y, z;
} vec3_t;
typedef struct MAY_ALIAS {
int16_t x, y, z;
} vec3_16_t;
using vec3s_t = vec3_16_t;
typedef struct {
union { float x; float d; };
union { float y; float u; };