UNION RECT
nLeft AS LONG
nTop AS LONG
nRight AS LONG
nBottom AS LONG
=
Left AS LONG
Top AS LONG
Right AS LONG
Bottom AS LONG
END UNION
TYPE RECT_old
nLeft AS LONG
nTop AS LONG
nRight AS LONG
nBottom AS LONG
END TYPE
TYPE RECT_new
Left AS LONG
Top AS LONG
Right AS LONG
Bottom AS LONG
END TYPE
UNION RECT
RECT_old
RECT_new
END UNION
TYPE RECT
LONG A
LONG B
* ' Save the offset
LONG C
LONG D
< ' Go back to saved offset
LONG E
LONG F
END TYPE
TYPE RECT
LONG A
LONG B
* 1 ' Save the offset 1
LONG C
LONG D
< 1 ' Go back to saved offset 1
LONG E
LONG F
* 2 ' Save the offset 2
LONG G
LONG H
< 2 ' Go back to saved offset 2
LONG I
LONG J
< 1 ' Go back to saved offset 1
END TYPE
type omni
int attrib 'offset 0
+
float fx,fy,fz 'offsets 4 8 12
=
double dx,dy,dz 'offsets 8 16 24
=
int ix,iy,iz 'offsets 4 8 12
+
int flags 'offset 32
end type
UNION UNION1
C AS QUAD ' Offset 8
D AS QUAD ' Offset 8
END UNION
UNION UNION2
E AS QUAD ' Offset 16
F AS QUAD ' Offset 16
END UNION
TYPE UDT1
A AS LONG ' Offset 0
B AS LONG ' offset 4
UNION1
UNION2
G AS LONG ' Offset 24
H AS LONG ' Offset 28
END TYPE
LOCAL U AS UDT1
TYPE UDT1
A AS LONG ' Offset 0
B AS LONG ' offset 4
+
C AS QUAD ' Offset 8
=
D AS QUAD ' Offset 8
+
E AS QUAD ' Offset 16
=
F AS QUAD ' Offset 16
+
G AS LONG ' Offset 24
H AS LONG ' Offset 28
END TYPE