git-svn-id: https://svn.eduke32.com/eduke32@869 1a8010ca-5511-0410-912e-c29ae57300e0

This commit is contained in:
terminx 2008-07-19 07:39:51 +00:00
parent f7b4de8e6d
commit fcf3f17e30
3 changed files with 50 additions and 38 deletions

View file

@ -119,7 +119,12 @@ const char *stripcolorcodes(const char *t)
t++; t++;
continue; continue;
} }
if (*t == '^' && (Btoupper(*(t+1)) == 'S'||Btoupper(*(t+1)) == 'O')) if (*t == '^' && (Btoupper(*(t+1)) == 'S'))
{
t += 3;
continue;
}
if (*t == '^' && (Btoupper(*(t+1)) == 'O'))
{ {
t += 2; t += 2;
continue; continue;

View file

@ -555,7 +555,7 @@ const memberlabel_t actorlabels[]=
{ "htbposx", ACTOR_HTBPOSX, 0, 0 }, { "htbposx", ACTOR_HTBPOSX, 0, 0 },
{ "htbposy", ACTOR_HTBPOSY, 0, 0 }, { "htbposy", ACTOR_HTBPOSY, 0, 0 },
{ "htbposz", ACTOR_HTBPOSZ, 0, 0 }, { "htbposz", ACTOR_HTBPOSZ, 0, 0 },
{ "htg_t", ACTOR_HTG_T, LABEL_HASPARM2, 8 }, { "htg_t", ACTOR_HTG_T, LABEL_HASPARM2, 9 },
// model flags // model flags
@ -598,8 +598,8 @@ const memberlabel_t playerlabels[]=
{ "zoom", PLAYER_ZOOM, 0, 0 }, { "zoom", PLAYER_ZOOM, 0, 0 },
{ "exitx", PLAYER_EXITX, 0, 0 }, { "exitx", PLAYER_EXITX, 0, 0 },
{ "exity", PLAYER_EXITY, 0, 0 }, { "exity", PLAYER_EXITY, 0, 0 },
{ "loogiex", PLAYER_LOOGIEX, LABEL_HASPARM2, 64 }, { "loogiex", PLAYER_LOOGIEX, LABEL_HASPARM2, 63 },
{ "loogiey", PLAYER_LOOGIEY, LABEL_HASPARM2, 64 }, { "loogiey", PLAYER_LOOGIEY, LABEL_HASPARM2, 63 },
{ "numloogs", PLAYER_NUMLOOGS, 0, 0 }, { "numloogs", PLAYER_NUMLOOGS, 0, 0 },
{ "loogcnt", PLAYER_LOOGCNT, 0, 0 }, { "loogcnt", PLAYER_LOOGCNT, 0, 0 },
{ "posx", PLAYER_POSX, 0, 0 }, { "posx", PLAYER_POSX, 0, 0 },
@ -725,7 +725,7 @@ const memberlabel_t playerlabels[]=
{ "hard_landing", PLAYER_HARD_LANDING, 0, 0 }, { "hard_landing", PLAYER_HARD_LANDING, 0, 0 },
{ "max_secret_rooms", PLAYER_MAX_SECRET_ROOMS, 0, 0 }, { "max_secret_rooms", PLAYER_MAX_SECRET_ROOMS, 0, 0 },
{ "secret_rooms", PLAYER_SECRET_ROOMS, 0, 0 }, { "secret_rooms", PLAYER_SECRET_ROOMS, 0, 0 },
{ "pals", PLAYER_PALS, LABEL_HASPARM2, 2 }, { "pals", PLAYER_PALS, LABEL_HASPARM2, 3 },
{ "max_actors_killed", PLAYER_MAX_ACTORS_KILLED, 0, 0 }, { "max_actors_killed", PLAYER_MAX_ACTORS_KILLED, 0, 0 },
{ "actors_killed", PLAYER_ACTORS_KILLED, 0, 0 }, { "actors_killed", PLAYER_ACTORS_KILLED, 0, 0 },
{ "return_to_center", PLAYER_RETURN_TO_CENTER, 0, 0 }, { "return_to_center", PLAYER_RETURN_TO_CENTER, 0, 0 },
@ -1839,7 +1839,7 @@ static int parsecommand(void)
// get the ID of the DEF // get the ID of the DEF
// if (tw == CON_SETTHISPROJECTILE) // if (tw == CON_SETTHISPROJECTILE)
// labelsonly = 1; labelsonly = 1;
transvar(); transvar();
labelsonly = 0; labelsonly = 0;
// now get name of .xxx // now get name of .xxx
@ -2735,7 +2735,7 @@ static int parsecommand(void)
textptr++; textptr++;
// get the ID of the DEF // get the ID of the DEF
// labelsonly = 1; labelsonly = 1;
transvar(); transvar();
labelsonly = 0; labelsonly = 0;
// now get name of .xxx // now get name of .xxx
@ -2866,7 +2866,7 @@ static int parsecommand(void)
textptr++; textptr++;
// get the ID of the DEF // get the ID of the DEF
// labelsonly = 1; labelsonly = 1;
transvar(); transvar();
labelsonly = 0; labelsonly = 0;
// now get name of .xxx // now get name of .xxx
@ -2929,7 +2929,7 @@ static int parsecommand(void)
textptr++; textptr++;
// get the ID of the DEF // get the ID of the DEF
// labelsonly = 1; labelsonly = 1;
transvar(); transvar();
labelsonly = 0; labelsonly = 0;
// now get name of .xxx // now get name of .xxx
@ -3006,7 +3006,7 @@ static int parsecommand(void)
textptr++; textptr++;
// get the ID of the DEF // get the ID of the DEF
// labelsonly = 1; labelsonly = 1;
transvar(); transvar();
labelsonly = 0; labelsonly = 0;
// now get name of .xxx // now get name of .xxx
@ -3119,7 +3119,7 @@ static int parsecommand(void)
textptr++; textptr++;
// get the ID of the DEF // get the ID of the DEF
// labelsonly = 1; labelsonly = 1;
transvar(); transvar();
labelsonly = 0; labelsonly = 0;
// now get name of .<varx> // now get name of .<varx>
@ -3254,7 +3254,7 @@ static int parsecommand(void)
textptr++; textptr++;
// get the ID of the DEF // get the ID of the DEF
// labelsonly = 1; labelsonly = 1;
transvar(); transvar();
labelsonly = 0; labelsonly = 0;
// now get name of .xxx // now get name of .xxx
@ -3335,7 +3335,7 @@ static int parsecommand(void)
textptr++; textptr++;
// get the ID of the DEF // get the ID of the DEF
// labelsonly = 1; labelsonly = 1;
transvar(); transvar();
labelsonly = 0; labelsonly = 0;
// now get name of .xxx // now get name of .xxx

View file

@ -1150,7 +1150,6 @@ static void DoThisProjectile(int iSet, int lVar1, int lLabelID, int lVar2)
static void DoPlayer(int iSet, int lVar1, int lLabelID, int lVar2, int lParm2) static void DoPlayer(int iSet, int lVar1, int lLabelID, int lVar2, int lParm2)
{ {
int lValue; int lValue;
int lTemp;
int iPlayer=g_p; int iPlayer=g_p;
if (lVar1 != g_iThisActorID) if (lVar1 != g_iThisActorID)
@ -1159,13 +1158,21 @@ static void DoPlayer(int iSet, int lVar1, int lLabelID, int lVar2, int lParm2)
if (iPlayer<0 || iPlayer >= ud.multimode) if (iPlayer<0 || iPlayer >= ud.multimode)
{ {
// OSD_Printf("DoPlayer(): invalid target player (%d) %d\n",iPlayer,g_i); // OSD_Printf("DoPlayer(): invalid target player (%d) %d\n",iPlayer,g_i);
OSD_Printf(OSDTEXT_DARKRED OSDTEXT_BRIGHT "DoPlayer(): tried to %s %s on invalid target player (%d) %d from %s\n", OSD_Printf(OSDTEXT_DARKRED OSDTEXT_BRIGHT "DoPlayer(): tried to %s %s on invalid target player (%d) from spr %d gv %s\n",
iSet?"set":"get",playerlabels[lLabelID].name,iPlayer,g_i, iSet?"set":"get",playerlabels[lLabelID].name,iPlayer,g_i,
(lVar1<MAXGAMEVARS)?aGameVars[lVar1].szLabel:"extended"); (lVar1<MAXGAMEVARS)?aGameVars[lVar1].szLabel:"extended");
insptr += (lVar2 == MAXGAMEVARS); insptr += (lVar2 == MAXGAMEVARS);
return; return;
} }
if (lParm2 < 0 || lParm2 > playerlabels[lLabelID].maxParm2)
{
OSD_Printf(OSDTEXT_DARKRED OSDTEXT_BRIGHT "DoPlayer(): tried to %s invalid %s position %d on player (%d) from spr %d\n",
iSet?"set":"get",playerlabels[lLabelID].name,lParm2,iPlayer,g_i);
insptr += (lVar2 == MAXGAMEVARS);
return;
}
if (iSet) if (iSet)
lValue=GetGameVarID(lVar2, g_i, g_p); lValue=GetGameVarID(lVar2, g_i, g_p);
@ -1199,23 +1206,21 @@ static void DoPlayer(int iSet, int lVar1, int lLabelID, int lVar2, int lParm2)
return; return;
case PLAYER_LOOGIEX: case PLAYER_LOOGIEX:
lTemp=lParm2;
if (iSet) if (iSet)
{ {
g_player[iPlayer].ps->loogiex[lTemp]=lValue; g_player[iPlayer].ps->loogiex[lParm2]=lValue;
return; return;
} }
SetGameVarID(lVar2, g_player[iPlayer].ps->loogiex[lTemp], g_i, g_p); SetGameVarID(lVar2, g_player[iPlayer].ps->loogiex[lParm2], g_i, g_p);
return; return;
case PLAYER_LOOGIEY: case PLAYER_LOOGIEY:
lTemp=lParm2;
if (iSet) if (iSet)
{ {
g_player[iPlayer].ps->loogiey[lTemp]=lValue; g_player[iPlayer].ps->loogiey[lParm2]=lValue;
return; return;
} }
SetGameVarID(lVar2, g_player[iPlayer].ps->loogiey[lTemp], g_i, g_p); SetGameVarID(lVar2, g_player[iPlayer].ps->loogiey[lParm2], g_i, g_p);
return; return;
case PLAYER_NUMLOOGS: case PLAYER_NUMLOOGS:
@ -1552,13 +1557,12 @@ static void DoPlayer(int iSet, int lVar1, int lLabelID, int lVar2, int lParm2)
return; return;
case PLAYER_AMMO_AMOUNT: case PLAYER_AMMO_AMOUNT:
lTemp=lParm2;
if (iSet) if (iSet)
{ {
g_player[iPlayer].ps->ammo_amount[lTemp]=lValue; g_player[iPlayer].ps->ammo_amount[lParm2]=lValue;
return; return;
} }
SetGameVarID(lVar2, g_player[iPlayer].ps->ammo_amount[lTemp], g_i, g_p); SetGameVarID(lVar2, g_player[iPlayer].ps->ammo_amount[lParm2], g_i, g_p);
return; return;
case PLAYER_WACKEDBYACTOR: case PLAYER_WACKEDBYACTOR:
@ -2261,13 +2265,12 @@ static void DoPlayer(int iSet, int lVar1, int lLabelID, int lVar2, int lParm2)
return; return;
case PLAYER_GOTWEAPON: case PLAYER_GOTWEAPON:
lTemp=lParm2;
if (iSet) if (iSet)
{ {
g_player[iPlayer].ps->gotweapon[lTemp]=lValue; g_player[iPlayer].ps->gotweapon[lParm2]=lValue;
return; return;
} }
SetGameVarID(lVar2, g_player[iPlayer].ps->gotweapon[lTemp], g_i, g_p); SetGameVarID(lVar2, g_player[iPlayer].ps->gotweapon[lParm2], g_i, g_p);
return; return;
case PLAYER_REFRESH_INVENTORY: case PLAYER_REFRESH_INVENTORY:
@ -2354,13 +2357,12 @@ static void DoPlayer(int iSet, int lVar1, int lLabelID, int lVar2, int lParm2)
return; return;
case PLAYER_PALS: case PLAYER_PALS:
lTemp=lParm2;
if (iSet) if (iSet)
{ {
g_player[iPlayer].ps->pals[lTemp]=lValue; g_player[iPlayer].ps->pals[lParm2]=lValue;
return; return;
} }
SetGameVarID(lVar2, g_player[iPlayer].ps->pals[lTemp], g_i, g_p); SetGameVarID(lVar2, g_player[iPlayer].ps->pals[lParm2], g_i, g_p);
return; return;
case PLAYER_MAX_ACTORS_KILLED: case PLAYER_MAX_ACTORS_KILLED:
@ -2481,13 +2483,12 @@ static void DoPlayer(int iSet, int lVar1, int lLabelID, int lVar2, int lParm2)
return; return;
case PLAYER_MAX_AMMO_AMOUNT: case PLAYER_MAX_AMMO_AMOUNT:
lTemp=lParm2;
if (iSet) if (iSet)
{ {
g_player[iPlayer].ps->max_ammo_amount[lTemp]=lValue; g_player[iPlayer].ps->max_ammo_amount[lParm2]=lValue;
return; return;
} }
SetGameVarID(lVar2, g_player[iPlayer].ps->max_ammo_amount[lTemp], g_i, g_p); SetGameVarID(lVar2, g_player[iPlayer].ps->max_ammo_amount[lParm2], g_i, g_p);
return; return;
default: default:
@ -2980,7 +2981,6 @@ static void DoSector(int iSet, int lVar1, int lLabelID, int lVar2)
static void DoActor(int iSet, int lVar1, int lLabelID, int lVar2, int lParm2) static void DoActor(int iSet, int lVar1, int lLabelID, int lVar2, int lParm2)
{ {
int lValue; int lValue;
int lTemp;
int iActor=g_i; int iActor=g_i;
if (lVar1 != g_iThisActorID) if (lVar1 != g_iThisActorID)
@ -2988,13 +2988,21 @@ static void DoActor(int iSet, int lVar1, int lLabelID, int lVar2, int lParm2)
if (iActor < 0 || iActor >= MAXSPRITES) if (iActor < 0 || iActor >= MAXSPRITES)
{ {
OSD_Printf(OSDTEXT_DARKRED OSDTEXT_BRIGHT "DoActor(): tried to %s %s on invalid target sprite (%d) %d %d from %s\n", OSD_Printf(OSDTEXT_DARKRED OSDTEXT_BRIGHT "DoActor(): tried to %s %s on invalid target sprite (%d) from spr %d pic %d gv %s\n",
iSet?"set":"get",actorlabels[lLabelID].name,iActor,g_i,g_sp->picnum, iSet?"set":"get",actorlabels[lLabelID].name,iActor,g_i,g_sp->picnum,
(lVar1<MAXGAMEVARS)?aGameVars[lVar1].szLabel:"extended"); (lVar1<MAXGAMEVARS)?aGameVars[lVar1].szLabel:"extended");
insptr += (lVar2 == MAXGAMEVARS); insptr += (lVar2 == MAXGAMEVARS);
return; return;
} }
if (lParm2 < 0 || lParm2 > actorlabels[lLabelID].maxParm2)
{
OSD_Printf(OSDTEXT_DARKRED OSDTEXT_BRIGHT "DoActor(): tried to %s invalid %s position %d on sprite (%d) from spr %d\n",
iSet?"set":"get",actorlabels[lLabelID].name,lParm2,iActor,g_i);
insptr += (lVar2 == MAXGAMEVARS);
return;
}
if (iSet) if (iSet)
lValue=GetGameVarID(lVar2, g_i, g_p); lValue=GetGameVarID(lVar2, g_i, g_p);
@ -3361,13 +3369,12 @@ static void DoActor(int iSet, int lVar1, int lLabelID, int lVar2, int lParm2)
return; return;
case ACTOR_HTG_T: case ACTOR_HTG_T:
lTemp=lParm2;
if (iSet) if (iSet)
{ {
hittype[iActor].temp_data[lTemp]=lValue; hittype[iActor].temp_data[lParm2]=lValue;
return; return;
} }
SetGameVarID(lVar2, hittype[iActor].temp_data[lTemp], g_i, g_p); SetGameVarID(lVar2, hittype[iActor].temp_data[lParm2], g_i, g_p);
return; return;
case ACTOR_ANGOFF: case ACTOR_ANGOFF: