engine: add buffer size argument to RefAPI's Mod_ProcessRenderData, bump RefAPI version

This commit is contained in:
Alibek Omarov
2025-10-31 15:58:05 +05:00
parent b3dc772cd2
commit a14cc82d46
6 changed files with 9 additions and 8 deletions

View File

@@ -1282,7 +1282,7 @@ static qboolean CL_LoadHudSprite( const char *szSpriteName, model_t *m_pSprite,
else
{
Mod_LoadSpriteModel( m_pSprite, buf, size, &loaded );
ref.dllFuncs.Mod_ProcessRenderData( m_pSprite, true, buf );
ref.dllFuncs.Mod_ProcessRenderData( m_pSprite, true, buf, size );
}
Mem_Free( buf );

View File

@@ -87,7 +87,7 @@ static void Mod_FreeUserData( model_t *mod )
#if !XASH_DEDICATED
else
{
ref.dllFuncs.Mod_ProcessRenderData( mod, false, NULL );
ref.dllFuncs.Mod_ProcessRenderData( mod, false, NULL, 0 );
}
#endif
}
@@ -334,7 +334,7 @@ model_t *Mod_LoadModel( model_t *mod, qboolean crash )
#if !XASH_DEDICATED
else
{
loaded2 = ref.dllFuncs.Mod_ProcessRenderData( mod, true, buf );
loaded2 = ref.dllFuncs.Mod_ProcessRenderData( mod, true, buf, length );
}
#endif
}

View File

@@ -58,7 +58,8 @@ GNU General Public License for more details.
// Removed R_DrawTileClear and Mod_LoadMapSprite, as they're implemented on engine side
// Removed FillRGBABlend. Now FillRGBA accepts rendermode parameter.
// 10. Added R_GetWindowHandle to retrieve platform-specific window object.
#define REF_API_VERSION 10
// 11. Added size argument to Mod_ProcessRenderData
#define REF_API_VERSION 11
#define TF_SKY (TF_SKYSIDE|TF_NOMIPMAP|TF_ALLOW_NEAREST)
#define TF_FONT (TF_NOMIPMAP|TF_CLAMP|TF_ALLOW_NEAREST)
@@ -565,7 +566,7 @@ typedef struct ref_interface_s
// model management
// flags ignored for everything except spritemodels
qboolean (*Mod_ProcessRenderData)( model_t *mod, qboolean create, const byte *buffer );
qboolean (*Mod_ProcessRenderData)( model_t *mod, qboolean create, const byte *buffer, size_t buffersize );
void (*Mod_StudioLoadTextures)( model_t *mod, void *data );
// efx implementation

View File

@@ -140,7 +140,7 @@ static void Mod_UnloadTextures( model_t *mod )
}
}
static qboolean Mod_ProcessRenderData( model_t *mod, qboolean create, const byte *buf )
static qboolean Mod_ProcessRenderData( model_t *mod, qboolean create, const byte *buf, size_t buffersize )
{
qboolean loaded = false;

View File

@@ -194,7 +194,7 @@ static int R_GetSpriteTexture( const model_t *m_pSpriteModel, int frame )
return 0;
}
static qboolean Mod_ProcessRenderData( model_t *mod, qboolean create, const byte *buffer )
static qboolean Mod_ProcessRenderData( model_t *mod, qboolean create, const byte *buffer, size_t buffersize )
{
return true;
}

View File

@@ -64,7 +64,7 @@ static void GAME_EXPORT CL_FillRGBA( int rendermode, float _x, float _y, float _
void Mod_UnloadTextures( model_t *mod );
static qboolean GAME_EXPORT Mod_ProcessRenderData( model_t *mod, qboolean create, const byte *buf )
static qboolean GAME_EXPORT Mod_ProcessRenderData( model_t *mod, qboolean create, const byte *buf, size_t buffersize )
{
qboolean loaded = false;