PSP Port initial

This commit is contained in:
Sergey Galushko
2022-03-30 00:39:04 +03:00
parent e6b9b67825
commit 64020b2902
91 changed files with 26988 additions and 177 deletions

View File

@@ -295,6 +295,17 @@ static const delta_field_t ent_fields[] =
{ NULL },
};
#if XASH_OPT /* Direct access */
#define D_event_t 0
#define D_movevars_t 1
#define D_usercmd_t 2
#define D_clientdata_t 3
#define D_weapon_data_t 4
#define D_entity_state_t 5
#define D_entity_state_player_t 6
#define D_custom_entity_state_t 7
#endif
static delta_info_t dt_info[] =
{
{ "event_t", ev_fields, NUM_FIELDS( ev_fields ) },
@@ -799,9 +810,11 @@ void Delta_Init( void )
Delta_InitFields (); // initialize fields
delta_init = true;
#if XASH_OPT
dt = &dt_info[D_movevars_t];
#else
dt = Delta_FindStruct( "movevars_t" );
#endif
Assert( dt != NULL );
if( dt->bInitialized ) return; // "movevars_t" already specified by user
@@ -894,7 +907,11 @@ Delta_ClampIntegerField
prevent data to out of range
=====================
*/
#if XASH_OPT
_inline int Delta_ClampIntegerField( delta_t *pField, int iValue, qboolean bSigned, int numbits )
#else
int Delta_ClampIntegerField( delta_t *pField, int iValue, qboolean bSigned, int numbits )
#endif
{
#ifdef _DEBUG
if( numbits < 32 && abs( iValue ) >= (uint)BIT( numbits ))
@@ -989,7 +1006,6 @@ qboolean Delta_CompareField( delta_t *pField, void *from, void *to, float timeba
#if defined __GNUC__ && __GNUC_MAJOR < 9 && !defined __clang__
#pragma GCC diagnostic pop
#endif
fromF = Delta_ClampIntegerField( pField, fromF, bSigned, pField->bits );
toF = Delta_ClampIntegerField( pField, toF, bSigned, pField->bits );
if( pField->multiplier != 1.0f ) fromF *= pField->multiplier;
@@ -1065,13 +1081,20 @@ int Delta_TestBaseline( entity_state_t *from, entity_state_t *to, qboolean playe
if( from == NULL ) return 0;
return countBits;
}
#if XASH_OPT
dt = &dt_info[D_weapon_data_t];
if( FBitSet( to->entityType, ENTITY_BEAM ))
dt = &dt_info[D_custom_entity_state_t];
else if( player )
dt = &dt_info[D_entity_state_player_t];
else dt = &dt_info[D_entity_state_t];
#else
if( FBitSet( to->entityType, ENTITY_BEAM ))
dt = Delta_FindStruct( "custom_entity_state_t" );
else if( player )
dt = Delta_FindStruct( "entity_state_player_t" );
else dt = Delta_FindStruct( "entity_state_t" );
#endif
Assert( dt && dt->bInitialized );
countBits++; // entityType flag
@@ -1109,7 +1132,11 @@ write fields by offsets
assume from and to is valid
=====================
*/
#if XASH_OPT
_inline qboolean Delta_WriteField( sizebuf_t *msg, delta_t *pField, void *from, void *to, float timebase )
#else
qboolean Delta_WriteField( sizebuf_t *msg, delta_t *pField, void *from, void *to, float timebase )
#endif
{
qboolean bSigned = ( pField->flags & DT_SIGNED ) ? true : false;
float flValue, flAngle, flTime;
@@ -1332,8 +1359,11 @@ void MSG_WriteDeltaUsercmd( sizebuf_t *msg, usercmd_t *from, usercmd_t *to )
delta_t *pField;
delta_info_t *dt;
int i;
#if XASH_OPT
dt = &dt_info[D_usercmd_t];
#else
dt = Delta_FindStruct( "usercmd_t" );
#endif
Assert( dt && dt->bInitialized );
pField = dt->pFields;
@@ -1359,8 +1389,11 @@ void MSG_ReadDeltaUsercmd( sizebuf_t *msg, usercmd_t *from, usercmd_t *to )
delta_t *pField;
delta_info_t *dt;
int i;
#if XASH_OPT
dt = &dt_info[D_usercmd_t];
#else
dt = Delta_FindStruct( "usercmd_t" );
#endif
Assert( dt && dt->bInitialized );
pField = dt->pFields;
@@ -1394,8 +1427,11 @@ void MSG_WriteDeltaEvent( sizebuf_t *msg, event_args_t *from, event_args_t *to )
delta_t *pField;
delta_info_t *dt;
int i;
#if XASH_OPT
dt = &dt_info[D_event_t];
#else
dt = Delta_FindStruct( "event_t" );
#endif
Assert( dt && dt->bInitialized );
pField = dt->pFields;
@@ -1421,8 +1457,11 @@ void MSG_ReadDeltaEvent( sizebuf_t *msg, event_args_t *from, event_args_t *to )
delta_t *pField;
delta_info_t *dt;
int i;
#if XASH_OPT
dt = &dt_info[D_event_t];
#else
dt = Delta_FindStruct( "event_t" );
#endif
Assert( dt && dt->bInitialized );
pField = dt->pFields;
@@ -1450,8 +1489,11 @@ qboolean MSG_WriteDeltaMovevars( sizebuf_t *msg, movevars_t *from, movevars_t *t
delta_info_t *dt;
int i, startBit;
int numChanges = 0;
#if XASH_OPT
dt = &dt_info[D_movevars_t];
#else
dt = Delta_FindStruct( "movevars_t" );
#endif
Assert( dt && dt->bInitialized );
pField = dt->pFields;
@@ -1485,8 +1527,11 @@ void MSG_ReadDeltaMovevars( sizebuf_t *msg, movevars_t *from, movevars_t *to )
delta_t *pField;
delta_info_t *dt;
int i;
#if XASH_OPT
dt = &dt_info[D_movevars_t];
#else
dt = Delta_FindStruct( "movevars_t" );
#endif
Assert( dt && dt->bInitialized );
pField = dt->pFields;
@@ -1522,8 +1567,11 @@ void MSG_WriteClientData( sizebuf_t *msg, clientdata_t *from, clientdata_t *to,
delta_info_t *dt;
int i, startBit;
int numChanges = 0;
#if XASH_OPT
dt = &dt_info[D_clientdata_t];
#else
dt = Delta_FindStruct( "clientdata_t" );
#endif
Assert( dt && dt->bInitialized );
pField = dt->pFields;
@@ -1562,8 +1610,11 @@ void MSG_ReadClientData( sizebuf_t *msg, clientdata_t *from, clientdata_t *to, f
delta_t *pField;
delta_info_t *dt;
int i;
#if XASH_OPT
dt = &dt_info[D_clientdata_t];
#else
dt = Delta_FindStruct( "clientdata_t" );
#endif
Assert( dt && dt->bInitialized );
pField = dt->pFields;
@@ -1603,8 +1654,11 @@ void MSG_WriteWeaponData( sizebuf_t *msg, weapon_data_t *from, weapon_data_t *to
delta_info_t *dt;
int i, startBit;
int numChanges = 0;
#if XASH_OPT
dt = &dt_info[D_weapon_data_t];
#else
dt = Delta_FindStruct( "weapon_data_t" );
#endif
Assert( dt && dt->bInitialized );
pField = dt->pFields;
@@ -1641,8 +1695,11 @@ void MSG_ReadWeaponData( sizebuf_t *msg, weapon_data_t *from, weapon_data_t *to,
delta_t *pField;
delta_info_t *dt;
int i;
#if XASH_OPT
dt = &dt_info[D_weapon_data_t];
#else
dt = Delta_FindStruct( "weapon_data_t" );
#endif
Assert( dt && dt->bInitialized );
pField = dt->pFields;
@@ -1724,7 +1781,20 @@ void MSG_WriteDeltaEntity( entity_state_t *from, entity_state_t *to, sizebuf_t *
numChanges++;
}
else MSG_WriteOneBit( msg, 0 );
#if XASH_OPT
if( FBitSet( to->entityType, ENTITY_BEAM ))
{
dt = &dt_info[D_custom_entity_state_t];
}
else if( delta_type == DELTA_PLAYER )
{
dt = &dt_info[D_entity_state_player_t];
}
else
{
dt = &dt_info[D_entity_state_t];
}
#else
if( FBitSet( to->entityType, ENTITY_BEAM ))
{
dt = Delta_FindStruct( "custom_entity_state_t" );
@@ -1737,7 +1807,7 @@ void MSG_WriteDeltaEntity( entity_state_t *from, entity_state_t *to, sizebuf_t *
{
dt = Delta_FindStruct( "entity_state_t" );
}
#endif
Assert( dt && dt->bInitialized );
pField = dt->pFields;
@@ -1843,6 +1913,20 @@ qboolean MSG_ReadDeltaEntity( sizebuf_t *msg, entity_state_t *from, entity_state
to->entityType = MSG_ReadUBitLong( msg, 2 );
to->number = number;
#if XASH_OPT
if( cls.legacymode ? ( to->entityType == ENTITY_BEAM ) : FBitSet( to->entityType, ENTITY_BEAM ))
{
dt = &dt_info[D_custom_entity_state_t];
}
else if( delta_type == DELTA_PLAYER )
{
dt = &dt_info[D_entity_state_player_t];
}
else
{
dt = &dt_info[D_entity_state_t];
}
#else
if( cls.legacymode ? ( to->entityType == ENTITY_BEAM ) : FBitSet( to->entityType, ENTITY_BEAM ))
{
dt = Delta_FindStruct( "custom_entity_state_t" );
@@ -1855,7 +1939,7 @@ qboolean MSG_ReadDeltaEntity( sizebuf_t *msg, entity_state_t *from, entity_state
{
dt = Delta_FindStruct( "entity_state_t" );
}
#endif
Assert( dt && dt->bInitialized );
pField = dt->pFields;