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 )
|
||||
#endif
|
||||
|
||||
static inline short UnalignedShort( short *x )
|
||||
{
|
||||
short y;
|
||||
memcpy( &y, x, sizeof( y ) );
|
||||
return y;
|
||||
}
|
||||
|
||||
#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 )
|
||||
{
|
||||
v1[i] = panimvalue[j + 1].value;
|
||||
v1[i] = UnalignedShort( &( panimvalue[j + 1].value ) );
|
||||
|
||||
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 )
|
||||
v2[i] = v1[i];
|
||||
else
|
||||
v2[i] = panimvalue[panimvalue->num.valid + 2].value;
|
||||
v2[i] = UnalignedShort( &( panimvalue[panimvalue->num.valid + 2].value ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
v1[i] = panimvalue[panimvalue->num.valid].value;
|
||||
v1[i] = UnalignedShort( &( panimvalue[panimvalue->num.valid].value ) );
|
||||
|
||||
if( panimvalue->num.total > j + 1 )
|
||||
v2[i] = v1[i];
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user