more fixes as result of code analysis

This commit is contained in:
Walter Julius Hennecke 2011-12-05 11:56:52 +01:00
parent 18b101c4b6
commit f4b86b4576
4 changed files with 83 additions and 2 deletions

View file

@ -1957,6 +1957,7 @@ void CG_LoadIngameText(void)
CG_LoadObjectivesForMap CG_LoadObjectivesForMap
================= =================
*/ */
#ifdef QVM
void CG_LoadObjectivesForMap(void) void CG_LoadObjectivesForMap(void)
{ {
int len, objnum = 0; int len, objnum = 0;
@ -2022,6 +2023,82 @@ void CG_LoadObjectivesForMap(void)
} }
} }
} }
#else
void CG_LoadObjectivesForMap(void)
{
int len, objnum = 0;
char *token;
char *buf;
fileHandle_t f;
char fileName[MAX_QPATH];
char fullFileName[MAX_QPATH];
char *objtext;
objtext = (char *)malloc(sizeof(char)*MAX_OBJ_TEXT_LENGTH));
if(!objtext) {
CG_Printf("CG_LoadObjectivesForMap: couldn't allocate %u byte\n", sizeof(char)*MAX_OBJ_TEXT_LENGTH);
return;
}
COM_StripExtension( cgs.mapname, fileName );
CG_LanguageFilename( fileName, "efo", fullFileName);
len = trap_FS_FOpenFile( fullFileName, &f, FS_READ );
if ( len > MAX_OBJ_TEXT_LENGTH )
{
Com_Printf( S_COLOR_RED "CG_LoadObjectivesForMap : %s file bigger than %d!\n", fileName, MAX_OBJ_TEXT_LENGTH );
free(objtext);
return;
}
trap_FS_Read( objtext, len, f );
trap_FS_FCloseFile( f );
buf = objtext;
//Now parse out each objective
while ( 1 )
{
token = COM_ParseExt( &buf, qtrue );
if ( !token[0] ) {
break;
}
// Normal objective text
if ( !Q_strncmp( token, "obj", 3 ) )
{
objnum = atoi( &token[3] );
if ( objnum < 1 || objnum == MAX_OBJECTIVES ) {
Com_Printf( "Invalid objective number (%d), valid range is 1 to %d\n", objnum, MAX_OBJECTIVES );
break;
}
//Now read the objective text into the current objective
token = COM_ParseExt( &buf, qfalse );
Q_strncpyz( cgs.objectives[objnum-1].text, token, sizeof(cgs.objectives[objnum-1].text) );
}
else if ( !Q_strncmp( token, "abridged_obj", 12 ) )
{
objnum = atoi( &token[12] );
if ( objnum < 1 || objnum == MAX_OBJECTIVES )
{
Com_Printf( "Invalid objective number (%d), valid range is 1 to %d\n", objnum, MAX_OBJECTIVES );
break;
}
//Now read the objective text into the current objective
token = COM_ParseExt( &buf, qfalse );
Q_strncpyz( cgs.objectives[objnum-1].abridgedText, token, sizeof(cgs.objectives[objnum-1].abridgedText) );
}
}
free(objtext);
}
#endif
qboolean CG_LoadClasses( void ) qboolean CG_LoadClasses( void )
{ {

View file

@ -44,6 +44,8 @@ CG_FreeMarkPoly
================== ==================
*/ */
void CG_FreeMarkPoly( markPoly_t *le ) { void CG_FreeMarkPoly( markPoly_t *le ) {
if(!le) return;
if ( !le->prevMark ) { if ( !le->prevMark ) {
CG_Error( "CG_FreeLocalEntity: not active" ); CG_Error( "CG_FreeLocalEntity: not active" );
} }

View file

@ -3147,7 +3147,7 @@ static qboolean CG_RunLerpFrame( clientInfo_t *ci, lerpFrame_t *lf, int newAnima
// get the next frame based on the animation // get the next frame based on the animation
anim = lf->animation; anim = lf->animation;
if ( !anim->frameLerp ) { if ( !anim || !anim->frameLerp ) {
return qfalse; // shouldn't happen return qfalse; // shouldn't happen
} }
//RPG-X Check. Anims with lengths < 0 are emote stubs. //RPG-X Check. Anims with lengths < 0 are emote stubs.
@ -3220,6 +3220,8 @@ CG_ClearLerpFrame
//This function has been rpg-x'ed®! (by RedTechie) //This function has been rpg-x'ed®! (by RedTechie)
void CG_ClearLerpFrame( clientInfo_t *ci, lerpFrame_t *lf, int animationNumber ) { //RPG-X: RedTechie - Changed type from static void to void void CG_ClearLerpFrame( clientInfo_t *ci, lerpFrame_t *lf, int animationNumber ) { //RPG-X: RedTechie - Changed type from static void to void
if(!lf) return;
lf->frameTime = lf->oldFrameTime = cg.time; lf->frameTime = lf->oldFrameTime = cg.time;
lf->animation = 0; lf->animation = 0;
CG_SetLerpFrameAnimation( ci, lf, animationNumber ); CG_SetLerpFrameAnimation( ci, lf, animationNumber );
@ -4952,7 +4954,7 @@ void CG_AddBeamFX( centity_t *cent ) {
return; return;
} }
isDecoy = (cent->currentState.eFlags & EF_ITEMPLACEHOLDER ); isDecoy = (qboolean)(cent->currentState.eFlags & EF_ITEMPLACEHOLDER );
//Get origin to render effect //Get origin to render effect
//============================== //==============================

Binary file not shown.