More EDUKE32_PREDICT_FALSE, mostly in OSD_Printf(OSD_ERROR...) cases

git-svn-id: https://svn.eduke32.com/eduke32@4699 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2014-10-29 17:05:46 +00:00
parent 6f5726e015
commit 183b34f48e
4 changed files with 35 additions and 69 deletions

View file

@ -590,7 +590,7 @@ void G_Polymer_UnInit(void)
// deletesprite() game wrapper // deletesprite() game wrapper
void A_DeleteSprite(int32_t s) void A_DeleteSprite(int32_t s)
{ {
if (block_deletesprite) if (EDUKE32_PREDICT_FALSE(block_deletesprite))
{ {
OSD_Printf(OSD_ERROR "A_DeleteSprite(): tried to remove sprite %d in EVENT_EGS\n",s); OSD_Printf(OSD_ERROR "A_DeleteSprite(): tried to remove sprite %d in EVENT_EGS\n",s);
return; return;
@ -1525,11 +1525,11 @@ ACTOR_STATIC void G_MoveFallers(void)
A_SetSprite(i,CLIPMASK0); A_SetSprite(i,CLIPMASK0);
} }
if (G_CheckForSpaceFloor(s->sectnum)) if (EDUKE32_PREDICT_FALSE(G_CheckForSpaceFloor(s->sectnum)))
x = 0; x = 0;
else else
{ {
if (G_CheckForSpaceCeiling(s->sectnum)) if (EDUKE32_PREDICT_FALSE(G_CheckForSpaceCeiling(s->sectnum)))
x = g_spriteGravity/6; x = g_spriteGravity/6;
else else
x = g_spriteGravity; x = g_spriteGravity;
@ -2978,43 +2978,6 @@ ACTOR_STATIC void G_MoveWeapons(void)
case RADIUSEXPLOSION__STATIC: case RADIUSEXPLOSION__STATIC:
case KNEE__STATIC: case KNEE__STATIC:
KILLIT(i); KILLIT(i);
/*
case TONGUE__STATIC:
T1 = sintable[(T2)&2047]>>9;
T2 += 32;
if (T2 > 2047)
KILLIT(i);
if (sprite[s->owner].statnum == MAXSTATUS)
if (A_CheckEnemySprite(&sprite[s->owner]) == 0)
KILLIT(i);
s->ang = sprite[s->owner].ang;
s->x = sprite[s->owner].x;
s->y = sprite[s->owner].y;
if (sprite[s->owner].picnum == APLAYER)
s->z = sprite[s->owner].z-(34<<8);
for (k=0; k<T1; k++)
{
q = A_InsertSprite(s->sectnum,
s->x+((k*sintable[(s->ang+512)&2047])>>9),
s->y+((k*sintable[s->ang&2047])>>9),
s->z+((k*ksgn(s->zvel))*klabs(s->zvel/12)),TONGUE,-40+(k<<1),
8,8,0,0,0,i,5);
sprite[q].cstat = 128;
sprite[q].pal = 8;
}
q = A_InsertSprite(s->sectnum,
s->x+((k*sintable[(s->ang+512)&2047])>>9),
s->y+((k*sintable[s->ang&2047])>>9),
s->z+((k*ksgn(s->zvel))*klabs(s->zvel/12)),INNERJAW,-40,
32,32,0,0,0,i,5);
sprite[q].cstat = 128;
if (T2 > 512 && T2 < (1024))
sprite[q].picnum = INNERJAW+1;
goto BOLT;
*/
case FREEZEBLAST__STATIC: case FREEZEBLAST__STATIC:
if (s->yvel < 1 || s->extra < 2 || (s->xvel|s->zvel) == 0) if (s->yvel < 1 || s->extra < 2 || (s->xvel|s->zvel) == 0)

View file

@ -2665,7 +2665,7 @@ void G_PrintGameQuotes(int32_t snum)
if (ps->fta <= 1) if (ps->fta <= 1)
return; return;
if (ScriptQuotes[ps->ftq] == NULL) if (EDUKE32_PREDICT_FALSE(ScriptQuotes[ps->ftq] == NULL))
{ {
OSD_Printf(OSD_ERROR "%s %d null quote %d\n",__FILE__,__LINE__,ps->ftq); OSD_Printf(OSD_ERROR "%s %d null quote %d\n",__FILE__,__LINE__,ps->ftq);
return; return;
@ -2739,7 +2739,7 @@ void P_DoQuote(int32_t q, DukePlayer_t *p)
q &= ~MAXQUOTES; q &= ~MAXQUOTES;
} }
if (ScriptQuotes[q] == NULL) if (EDUKE32_PREDICT_FALSE(ScriptQuotes[q] == NULL))
{ {
OSD_Printf(OSD_ERROR "%s %d null quote %d\n",__FILE__,__LINE__,q); OSD_Printf(OSD_ERROR "%s %d null quote %d\n",__FILE__,__LINE__,q);
return; return;
@ -4683,7 +4683,7 @@ void G_DrawRooms(int32_t snum, int32_t smoothratio)
if (dont_draw != 1) // event return values other than 0 and 1 are reserved if (dont_draw != 1) // event return values other than 0 and 1 are reserved
{ {
if (dont_draw != 0) if (EDUKE32_PREDICT_FALSE(dont_draw != 0))
OSD_Printf(OSD_ERROR "ERROR: EVENT_DISPLAYROOMS return value must be 0 or 1, " OSD_Printf(OSD_ERROR "ERROR: EVENT_DISPLAYROOMS return value must be 0 or 1, "
"other values are reserved.\n"); "other values are reserved.\n");
@ -6005,7 +6005,7 @@ int32_t A_Spawn(int32_t j, int32_t pn)
break; break;
} }
case WATERBUBBLEMAKER__STATIC: case WATERBUBBLEMAKER__STATIC:
if (sp->hitag && sp->picnum == WATERBUBBLEMAKER) if (EDUKE32_PREDICT_FALSE(sp->hitag && sp->picnum == WATERBUBBLEMAKER))
{ {
// JBF 20030913: Pisses off X_Move(), eg. in bobsp2 // JBF 20030913: Pisses off X_Move(), eg. in bobsp2
OSD_Printf_nowarn(OSD_ERROR "WARNING: WATERBUBBLEMAKER %d @ %d,%d with hitag!=0. Applying fixup.\n", OSD_Printf_nowarn(OSD_ERROR "WARNING: WATERBUBBLEMAKER %d @ %d,%d with hitag!=0. Applying fixup.\n",
@ -6586,10 +6586,9 @@ int32_t A_Spawn(int32_t j, int32_t pn)
T3 = sector[sect].floorz; //Stopping loc T3 = sector[sect].floorz; //Stopping loc
j = nextsectorneighborz(sect,sector[sect].floorz,-1,-1); j = nextsectorneighborz(sect,sector[sect].floorz,-1,-1);
if (j >= 0)
{ if (EDUKE32_PREDICT_TRUE(j >= 0))
T4 = sector[j].ceilingz; T4 = sector[j].ceilingz;
}
else else
{ {
// use elevator sector's ceiling as heuristic // use elevator sector's ceiling as heuristic
@ -6600,7 +6599,8 @@ int32_t A_Spawn(int32_t j, int32_t pn)
} }
j = nextsectorneighborz(sect,sector[sect].ceilingz,1,1); j = nextsectorneighborz(sect,sector[sect].ceilingz,1,1);
if (j >= 0)
if (EDUKE32_PREDICT_TRUE(j >= 0))
T5 = sector[j].floorz; T5 = sector[j].floorz;
else else
{ {
@ -6806,7 +6806,7 @@ int32_t A_Spawn(int32_t j, int32_t pn)
break; break;
} }
} }
if (j == -1) if (EDUKE32_PREDICT_FALSE(j == -1))
{ {
OSD_Printf_nowarn(OSD_ERROR "Found lonely Sector Effector (lotag 0) at (%d,%d)\n", OSD_Printf_nowarn(OSD_ERROR "Found lonely Sector Effector (lotag 0) at (%d,%d)\n",
TrackerCast(sp->x),TrackerCast(sp->y)); TrackerCast(sp->x),TrackerCast(sp->y));
@ -6825,7 +6825,7 @@ int32_t A_Spawn(int32_t j, int32_t pn)
msx[tempwallptr] = wall[s].x-sp->x; msx[tempwallptr] = wall[s].x-sp->x;
msy[tempwallptr] = wall[s].y-sp->y; msy[tempwallptr] = wall[s].y-sp->y;
tempwallptr++; tempwallptr++;
if (tempwallptr > 2047) if (EDUKE32_PREDICT_FALSE(tempwallptr > 2047))
{ {
Bsprintf_nowarn(tempbuf, "Too many moving sectors at (%d,%d).\n", Bsprintf_nowarn(tempbuf, "Too many moving sectors at (%d,%d).\n",
TrackerCast(wall[s].x),TrackerCast(wall[s].y)); TrackerCast(wall[s].x),TrackerCast(wall[s].y));

View file

@ -67,8 +67,14 @@ GAMEEXEC_STATIC void VM_Execute(int32_t loop);
# include "gamestructures.c" # include "gamestructures.c"
#endif #endif
#define VM_CONDITIONAL(xxx) { if ((xxx) || ((insptr = (intptr_t *)*(insptr+1)) && (((*insptr) & 0xfff) == CON_ELSE))) \ #define VM_CONDITIONAL(xxx) \
{ insptr += 2; VM_Execute(0); } } { \
if ((xxx) || ((insptr = (intptr_t *)*(insptr + 1)) && (((*insptr) & 0xfff) == CON_ELSE))) \
{ \
insptr += 2; \
VM_Execute(0); \
} \
}
void VM_ScriptInfo(void) void VM_ScriptInfo(void)
{ {
@ -782,7 +788,7 @@ dead:
static void P_AddWeaponMaybeSwitch(DukePlayer_t *ps, int32_t weap) static void P_AddWeaponMaybeSwitch(DukePlayer_t *ps, int32_t weap)
{ {
if ((ps->weaponswitch & 1) && (ps->weaponswitch & 4)) if ((ps->weaponswitch & (1|4)) == (1|4))
{ {
const int32_t snum = P_Get(ps->i); const int32_t snum = P_Get(ps->i);
int32_t i, new_wchoice = -1, curr_wchoice = -1; int32_t i, new_wchoice = -1, curr_wchoice = -1;
@ -825,7 +831,7 @@ static void P_AddWeaponAmmoCommon(DukePlayer_t *ps, int32_t weap, int32_t amount
static int32_t VM_AddWeapon(int32_t weap, int32_t amount, DukePlayer_t *ps) static int32_t VM_AddWeapon(int32_t weap, int32_t amount, DukePlayer_t *ps)
{ {
if ((unsigned)weap >= MAX_WEAPONS) if (EDUKE32_PREDICT_FALSE((unsigned)weap >= MAX_WEAPONS))
{ {
CON_ERRPRINTF("Invalid weapon ID %d\n", weap); CON_ERRPRINTF("Invalid weapon ID %d\n", weap);
return 1; return 1;
@ -1425,10 +1431,6 @@ skip_check:
P_DropWeapon(P_GetP(vm.g_sp)); P_DropWeapon(P_GetP(vm.g_sp));
continue; continue;
case CON_NULLOP:
insptr++;
continue;
case CON_MIKESND: case CON_MIKESND:
insptr++; insptr++;
if (EDUKE32_PREDICT_FALSE(((unsigned)vm.g_sp->yvel >= MAXSOUNDS))) if (EDUKE32_PREDICT_FALSE(((unsigned)vm.g_sp->yvel >= MAXSOUNDS)))
@ -1607,8 +1609,9 @@ skip_check:
return; return;
case CON_RIGHTBRACE: case CON_RIGHTBRACE:
loop--; loop--;
case CON_NULLOP:
insptr++; insptr++;
continue;; continue;
case CON_ADDAMMO: case CON_ADDAMMO:
insptr++; insptr++;

View file

@ -256,7 +256,7 @@ int32_t S_PlayMusic(const char *fn, const int32_t sel)
} }
while (0); while (0);
if (fp < 0) if (EDUKE32_PREDICT_FALSE(fp < 0))
{ {
OSD_Printf(OSD_ERROR "S_PlayMusic(): error: can't open \"%s\" for playback!\n",fn); OSD_Printf(OSD_ERROR "S_PlayMusic(): error: can't open \"%s\" for playback!\n",fn);
return 0; return 0;
@ -266,7 +266,7 @@ int32_t S_PlayMusic(const char *fn, const int32_t sel)
MusicLen = kfilelength(fp); MusicLen = kfilelength(fp);
if (MusicLen < 4) if (EDUKE32_PREDICT_FALSE(MusicLen < 4))
{ {
OSD_Printf(OSD_ERROR "S_PlayMusic(): error: empty music file \"%s\"\n", fn); OSD_Printf(OSD_ERROR "S_PlayMusic(): error: empty music file \"%s\"\n", fn);
kclose(fp); kclose(fp);
@ -277,7 +277,7 @@ int32_t S_PlayMusic(const char *fn, const int32_t sel)
MusicPtr = (char *)Xmalloc(MusicLen); MusicPtr = (char *)Xmalloc(MusicLen);
g_musicSize = kread(fp, (char *)MusicPtr, MusicLen); g_musicSize = kread(fp, (char *)MusicPtr, MusicLen);
if (g_musicSize != MusicLen) if (EDUKE32_PREDICT_FALSE(g_musicSize != MusicLen))
{ {
OSD_Printf(OSD_ERROR "S_PlayMusic(): error: read %d bytes from \"%s\", expected %d\n", OSD_Printf(OSD_ERROR "S_PlayMusic(): error: read %d bytes from \"%s\", expected %d\n",
g_musicSize, fn, MusicLen); g_musicSize, fn, MusicLen);
@ -371,7 +371,7 @@ void S_Cleanup(void)
i = g_sounds[num].SoundOwner[j].ow; i = g_sounds[num].SoundOwner[j].ow;
if (g_sounds[num].num > MAXSOUNDINSTANCES) if (EDUKE32_PREDICT_FALSE(g_sounds[num].num > MAXSOUNDINSTANCES))
OSD_Printf(OSD_ERROR "S_Cleanup(): num exceeds MAXSOUNDINSTANCES! g_sounds[%d].num %d wtf?\n", num, g_sounds[num].num); OSD_Printf(OSD_ERROR "S_Cleanup(): num exceeds MAXSOUNDINSTANCES! g_sounds[%d].num %d wtf?\n", num, g_sounds[num].num);
if (g_sounds[num].num > 0) if (g_sounds[num].num > 0)
@ -399,7 +399,7 @@ int32_t S_LoadSound(uint32_t num)
if (num > (unsigned)g_maxSoundPos || ud.config.SoundToggle == 0 || ud.config.FXDevice < 0) return 0; if (num > (unsigned)g_maxSoundPos || ud.config.SoundToggle == 0 || ud.config.FXDevice < 0) return 0;
if (g_sounds[num].filename == NULL && g_sounds[num].filename1 == NULL) if (EDUKE32_PREDICT_FALSE(g_sounds[num].filename == NULL && g_sounds[num].filename1 == NULL))
{ {
OSD_Printf(OSD_ERROR "Sound (#%d) not defined!\n",num); OSD_Printf(OSD_ERROR "Sound (#%d) not defined!\n",num);
return 0; return 0;
@ -412,7 +412,7 @@ int32_t S_LoadSound(uint32_t num)
{ {
fp = kopen4loadfrommod(g_sounds[num].filename,g_loadFromGroupOnly); fp = kopen4loadfrommod(g_sounds[num].filename,g_loadFromGroupOnly);
if (fp == -1) if (EDUKE32_PREDICT_FALSE(fp == -1))
{ {
OSD_Printf(OSDTEXT_RED "Sound %s(#%d) not found!\n",g_sounds[num].filename,num); OSD_Printf(OSDTEXT_RED "Sound %s(#%d) not found!\n",g_sounds[num].filename,num);
return 0; return 0;
@ -607,7 +607,7 @@ int32_t S_PlaySound3D(int32_t num, int32_t i, const vec3_t *pos)
while (j < MAXSOUNDINSTANCES && g_sounds[num].SoundOwner[j].voice != voice) while (j < MAXSOUNDINSTANCES && g_sounds[num].SoundOwner[j].voice != voice)
j++; j++;
if (j >= MAXSOUNDINSTANCES) if (EDUKE32_PREDICT_FALSE(j >= MAXSOUNDINSTANCES))
{ {
OSD_Printf(OSD_ERROR "%s %d: WTF?\n", __FILE__, __LINE__); OSD_Printf(OSD_ERROR "%s %d: WTF?\n", __FILE__, __LINE__);
return -1; return -1;
@ -818,7 +818,7 @@ void S_StopEnvSound(int32_t num, int32_t i)
do do
{ {
if (iter++ > MAXSOUNDINSTANCES<<1) if (EDUKE32_PREDICT_FALSE(iter++ > MAXSOUNDINSTANCES<<1))
{ {
initprintf(OSD_ERROR "S_StopEnvSound(): too many iterations! The following IDs are still active for sound %d:\n", num); initprintf(OSD_ERROR "S_StopEnvSound(): too many iterations! The following IDs are still active for sound %d:\n", num);
for (j=MAXSOUNDINSTANCES-1; j>=0; j--) for (j=MAXSOUNDINSTANCES-1; j>=0; j--)
@ -831,7 +831,7 @@ void S_StopEnvSound(int32_t num, int32_t i)
{ {
if ((i == -1 && g_sounds[num].SoundOwner[j].voice > FX_Ok) || (i != -1 && g_sounds[num].SoundOwner[j].ow == i)) if ((i == -1 && g_sounds[num].SoundOwner[j].voice > FX_Ok) || (i != -1 && g_sounds[num].SoundOwner[j].ow == i))
{ {
if (i >= 0 && g_sounds[num].SoundOwner[j].voice <= FX_Ok) if (EDUKE32_PREDICT_FALSE(i >= 0 && g_sounds[num].SoundOwner[j].voice <= FX_Ok))
initprintf(OSD_ERROR "S_StopEnvSound(): bad voice %d for sound ID %d index %d!\n", g_sounds[num].SoundOwner[j].voice, num, j); initprintf(OSD_ERROR "S_StopEnvSound(): bad voice %d for sound ID %d index %d!\n", g_sounds[num].SoundOwner[j].voice, num, j);
else if (g_sounds[num].SoundOwner[j].voice > FX_Ok) else if (g_sounds[num].SoundOwner[j].voice > FX_Ok)
{ {
@ -857,7 +857,7 @@ void S_ChangeSoundPitch(int32_t num, int32_t i, int32_t pitchoffset)
if ((i == -1 && voice > FX_Ok) || (i != -1 && g_sounds[num].SoundOwner[j].ow == i)) if ((i == -1 && voice > FX_Ok) || (i != -1 && g_sounds[num].SoundOwner[j].ow == i))
{ {
if (i >= 0 && voice <= FX_Ok) if (EDUKE32_PREDICT_FALSE(i >= 0 && voice <= FX_Ok))
initprintf(OSD_ERROR "S_ChangeSoundPitch(): bad voice %d for sound ID %d index %d!\n", voice, num, j); initprintf(OSD_ERROR "S_ChangeSoundPitch(): bad voice %d for sound ID %d index %d!\n", voice, num, j);
else if (voice > FX_Ok && FX_SoundActive(voice)) else if (voice > FX_Ok && FX_SoundActive(voice))
FX_SetPitch(voice, pitchoffset); FX_SetPitch(voice, pitchoffset);