mirror of
https://github.com/FWGS/xash3d-fwgs.git
synced 2026-08-05 03:24:56 +08:00
public: add unaligned access handlers for new big endian port
This commit is contained in:
@@ -273,4 +273,11 @@ typedef int qboolean;
|
|||||||
#define HostFourCC( a, b, c, d ) LittleFourCC( a, b, c, d )
|
#define HostFourCC( a, b, c, d ) LittleFourCC( a, b, c, d )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static inline short UnalignedShort( short *x )
|
||||||
|
{
|
||||||
|
short y;
|
||||||
|
memcpy( &y, x, sizeof( y ) );
|
||||||
|
return y;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // XASH_TYPES_H
|
#endif // XASH_TYPES_H
|
||||||
|
|||||||
@@ -454,23 +454,23 @@ void R_StudioCalcBones( int frame, float s, const mstudiobone_t *pbone, const ms
|
|||||||
|
|
||||||
if( panimvalue->num.valid > j )
|
if( panimvalue->num.valid > j )
|
||||||
{
|
{
|
||||||
v1[i] = panimvalue[j + 1].value;
|
v1[i] = UnalignedShort( &( panimvalue[j + 1].value ) );
|
||||||
|
|
||||||
if( panimvalue->num.valid > j + 1 )
|
if( panimvalue->num.valid > j + 1 )
|
||||||
v2[i] = panimvalue[j + 2].value;
|
v2[i] = UnalignedShort( &( panimvalue[j + 2].value ) );
|
||||||
else if( panimvalue->num.total > j + 1 )
|
else if( panimvalue->num.total > j + 1 )
|
||||||
v2[i] = v1[i];
|
v2[i] = v1[i];
|
||||||
else
|
else
|
||||||
v2[i] = panimvalue[panimvalue->num.valid + 2].value;
|
v2[i] = UnalignedShort( &( panimvalue[panimvalue->num.valid + 2].value ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
v1[i] = panimvalue[panimvalue->num.valid].value;
|
v1[i] = UnalignedShort( &( panimvalue[panimvalue->num.valid].value ) );
|
||||||
|
|
||||||
if( panimvalue->num.total > j + 1 )
|
if( panimvalue->num.total > j + 1 )
|
||||||
v2[i] = v1[i];
|
v2[i] = v1[i];
|
||||||
else
|
else
|
||||||
v2[i] = panimvalue[panimvalue->num.valid + 2].value;
|
v2[i] = UnalignedShort( &( panimvalue[panimvalue->num.valid + 2].value ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
v1[i] = pbone->value[i] + v1[i] * pbone->scale[i] + fadj;
|
v1[i] = pbone->value[i] + v1[i] * pbone->scale[i] + fadj;
|
||||||
|
|||||||
Reference in New Issue
Block a user