mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-24 10:40:46 +00:00
git-svn-id: https://svn.eduke32.com/eduke32@1035 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
f0032888fe
commit
f814485606
1 changed files with 44 additions and 52 deletions
|
@ -486,66 +486,58 @@ int AddGameVar(const char *pszLabel, int lValue, unsigned int dwFlags)
|
|||
if (i == -1)
|
||||
i = iGameVarCount;
|
||||
|
||||
if (i < MAXGAMEVARS)
|
||||
if (i >= MAXGAMEVARS)
|
||||
{
|
||||
// Set values
|
||||
if (aGameVars[i].dwFlags & GAMEVAR_FLAG_SYSTEM)
|
||||
{
|
||||
//if(b)
|
||||
//{
|
||||
//Bsprintf(g_szBuf,"CP:%s %d",__FILE__,__LINE__);
|
||||
//AddLog(g_szBuf);
|
||||
//}
|
||||
// if existing is system, they only get to change default value....
|
||||
aGameVars[i].lValue=lValue;
|
||||
aGameVars[i].lDefault=lValue;
|
||||
aGameVars[i].bReset=0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (aGameVars[i].szLabel == NULL)
|
||||
aGameVars[i].szLabel=Bcalloc(MAXVARLABEL,sizeof(char));
|
||||
if (aGameVars[i].szLabel != pszLabel)
|
||||
Bstrcpy(aGameVars[i].szLabel,pszLabel);
|
||||
aGameVars[i].dwFlags=dwFlags;
|
||||
aGameVars[i].lValue=lValue;
|
||||
aGameVars[i].lDefault=lValue;
|
||||
aGameVars[i].bReset=0;
|
||||
}
|
||||
error++;
|
||||
ReportError(-1);
|
||||
initprintf("%s:%d: error: too many gamevars!\n",compilefile,line_number);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (i==iGameVarCount)
|
||||
{
|
||||
// we're adding a new one.
|
||||
HASH_replace(&gamevarH,aGameVars[i].szLabel,i);
|
||||
iGameVarCount++;
|
||||
}
|
||||
if (aGameVars[i].plValues && !(aGameVars[i].dwFlags & GAMEVAR_FLAG_SYSTEM))
|
||||
// Set values
|
||||
if ((aGameVars[i].dwFlags & GAMEVAR_FLAG_SYSTEM) == 0)
|
||||
{
|
||||
if (aGameVars[i].szLabel == NULL)
|
||||
aGameVars[i].szLabel=Bcalloc(MAXVARLABEL,sizeof(char));
|
||||
if (aGameVars[i].szLabel != pszLabel)
|
||||
Bstrcpy(aGameVars[i].szLabel,pszLabel);
|
||||
aGameVars[i].dwFlags=dwFlags;
|
||||
|
||||
if (aGameVars[i].plValues)
|
||||
{
|
||||
// only free if not system
|
||||
Bfree(aGameVars[i].plValues);
|
||||
aGameVars[i].plValues=NULL;
|
||||
}
|
||||
if (aGameVars[i].dwFlags & GAMEVAR_FLAG_PERPLAYER)
|
||||
{
|
||||
if (!aGameVars[i].plValues)
|
||||
aGameVars[i].plValues=Bcalloc(MAXPLAYERS,sizeof(intptr_t));
|
||||
for (j=0;j<MAXPLAYERS;j++)
|
||||
aGameVars[i].plValues[j]=lValue;
|
||||
}
|
||||
else if (aGameVars[i].dwFlags & GAMEVAR_FLAG_PERACTOR)
|
||||
{
|
||||
if (!aGameVars[i].plValues)
|
||||
aGameVars[i].plValues=Bcalloc(MAXSPRITES,sizeof(intptr_t));
|
||||
for (j=0;j<MAXSPRITES;j++)
|
||||
aGameVars[i].plValues[j]=lValue;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
|
||||
// if existing is system, they only get to change default value....
|
||||
aGameVars[i].lValue=lValue;
|
||||
aGameVars[i].lDefault=lValue;
|
||||
aGameVars[i].bReset=0;
|
||||
|
||||
if (i==iGameVarCount)
|
||||
{
|
||||
// no room to add...
|
||||
return 0;
|
||||
// we're adding a new one.
|
||||
HASH_replace(&gamevarH,aGameVars[i].szLabel,i);
|
||||
iGameVarCount++;
|
||||
}
|
||||
|
||||
if (aGameVars[i].dwFlags & GAMEVAR_FLAG_PERPLAYER)
|
||||
{
|
||||
if (!aGameVars[i].plValues)
|
||||
aGameVars[i].plValues=Bcalloc(MAXPLAYERS,sizeof(intptr_t));
|
||||
for (j=MAXPLAYERS-1;j>=0;j--)
|
||||
aGameVars[i].plValues[j]=lValue;
|
||||
}
|
||||
else if (aGameVars[i].dwFlags & GAMEVAR_FLAG_PERACTOR)
|
||||
{
|
||||
if (!aGameVars[i].plValues)
|
||||
aGameVars[i].plValues=Bcalloc(MAXSPRITES,sizeof(intptr_t));
|
||||
for (j=MAXSPRITES-1;j>=0;j--)
|
||||
aGameVars[i].plValues[j]=lValue;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
void ResetActorGameVars(int iActor)
|
||||
|
@ -746,9 +738,9 @@ void ResetSystemDefaults(void)
|
|||
|
||||
//AddLog("ResetWeaponDefaults");
|
||||
|
||||
for (j=0;j<MAXPLAYERS;j++)
|
||||
for (j=MAXPLAYERS-1;j>=0;j--)
|
||||
{
|
||||
for (i=0;i<MAX_WEAPONS;i++)
|
||||
for (i=MAX_WEAPONS-1;i>=0;i--)
|
||||
{
|
||||
Bsprintf(aszBuf,"WEAPON%d_CLIP",i);
|
||||
aplWeaponClip[i][j]=GetGameVar(aszBuf,0, -1, j);
|
||||
|
|
Loading…
Reference in a new issue