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

This commit is contained in:
terminx 2009-01-16 07:24:15 +00:00
parent 7e54f9a756
commit 7b9448d868
3 changed files with 53 additions and 36 deletions

View file

@ -1644,7 +1644,7 @@ static void C_GetNextVarType(int32_t type)
textptr++; textptr++;
/// now pointing at 'xxx' /// now pointing at 'xxx'
C_GetNextLabelName(); C_GetNextLabelName();
initprintf("found xxx label of '%s'\n", label+(g_numLabels<<6)); /*initprintf("found xxx label of '%s'\n", label+(g_numLabels<<6));*/
if (i == g_iSpriteVarID) if (i == g_iSpriteVarID)
lLabelID=C_GetLabelNameOffset(&actorH,strtolower(label+(g_numLabels<<6),Bstrlen(label+(g_numLabels<<6)))); lLabelID=C_GetLabelNameOffset(&actorH,strtolower(label+(g_numLabels<<6),Bstrlen(label+(g_numLabels<<6))));

View file

@ -3909,62 +3909,78 @@ static int32_t X_DoExecute(void)
case CON_IFVARVARAND: case CON_IFVARVARAND:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) & Gv_GetVarX(*(insptr))); l=Gv_GetVarX(*insptr++);
insptr--;
X_DoConditional(j & l);
break; break;
case CON_IFVARVAROR: case CON_IFVARVAROR:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) | Gv_GetVarX(*(insptr))); l=Gv_GetVarX(*insptr++);
insptr--;
X_DoConditional(j | l);
break; break;
case CON_IFVARVARXOR: case CON_IFVARVARXOR:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) ^ Gv_GetVarX(*(insptr))); l=Gv_GetVarX(*insptr++);
insptr--;
X_DoConditional(j ^ l);
break; break;
case CON_IFVARVAREITHER: case CON_IFVARVAREITHER:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) || Gv_GetVarX(*(insptr))); l=Gv_GetVarX(*insptr++);
insptr--;
X_DoConditional(j || l);
break; break;
case CON_IFVARVARN: case CON_IFVARVARN:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) != Gv_GetVarX(*(insptr))); l=Gv_GetVarX(*insptr++);
insptr--;
X_DoConditional(j != l);
break; break;
case CON_IFVARVARE: case CON_IFVARVARE:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) == Gv_GetVarX(*(insptr))); l=Gv_GetVarX(*insptr++);
insptr--;
X_DoConditional(j == l);
break; break;
case CON_IFVARVARG: case CON_IFVARVARG:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) > Gv_GetVarX(*(insptr))); l=Gv_GetVarX(*insptr++);
insptr--;
X_DoConditional(j > l);
break; break;
case CON_IFVARVARL: case CON_IFVARVARL:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) < Gv_GetVarX(*(insptr))); l=Gv_GetVarX(*insptr++);
insptr--;
X_DoConditional(j < l);
break; break;
case CON_IFVARE: case CON_IFVARE:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) == *insptr); X_DoConditional(j == *insptr);
break; break;
case CON_IFVARN: case CON_IFVARN:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) != *insptr); X_DoConditional(j != *insptr);
break; break;
case CON_WHILEVARN: case CON_WHILEVARN:
@ -3988,7 +4004,8 @@ static int32_t X_DoExecute(void)
{ {
insptr=savedinsptr; insptr=savedinsptr;
i = Gv_GetVarX(*(insptr-1)); i = Gv_GetVarX(*(insptr-1));
j = (i != Gv_GetVarX(*insptr)); j = (i != Gv_GetVarX(*insptr++));
insptr--;
X_DoConditional(j); X_DoConditional(j);
} }
while (j); while (j);
@ -3997,38 +4014,38 @@ static int32_t X_DoExecute(void)
case CON_IFVARAND: case CON_IFVARAND:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) & *insptr); X_DoConditional(j & *insptr);
break; break;
case CON_IFVAROR: case CON_IFVAROR:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) | *insptr); X_DoConditional(j | *insptr);
break; break;
case CON_IFVARXOR: case CON_IFVARXOR:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) ^ *insptr); X_DoConditional(j ^ *insptr);
break; break;
case CON_IFVAREITHER: case CON_IFVAREITHER:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) || *insptr); X_DoConditional(j || *insptr);
break; break;
case CON_IFVARG: case CON_IFVARG:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) > *insptr); X_DoConditional(j > *insptr);
break; break;
case CON_IFVARL: case CON_IFVARL:
insptr++; insptr++;
j=*insptr++; j=Gv_GetVarX(*insptr++);
X_DoConditional(Gv_GetVarX(j) < *insptr); X_DoConditional(j < *insptr);
break; break;
case CON_IFPHEALTHL: case CON_IFPHEALTHL:

View file

@ -576,7 +576,7 @@ int32_t __fastcall Gv_GetVar(int32_t id, int32_t iActor, int32_t iPlayer)
{ {
int32_t parm2 = 0; int32_t parm2 = 0;
OSD_Printf("%d %d %d\n",__LINE__,index,label); /*OSD_Printf("%d %d %d\n",__LINE__,index,label);*/
if (ActorLabels[label].flags & LABEL_HASPARM2) if (ActorLabels[label].flags & LABEL_HASPARM2)
parm2 = Gv_GetVar(*insptr++, iActor, iPlayer); parm2 = Gv_GetVar(*insptr++, iActor, iPlayer);
@ -784,7 +784,7 @@ int32_t __fastcall Gv_GetVarX(int32_t id)
{ {
int32_t parm2 = 0; int32_t parm2 = 0;
OSD_Printf("%d %d %d\n",__LINE__,index,label); /*OSD_Printf("%d %d %d\n",__LINE__,index,label);*/
if (ActorLabels[label].flags & LABEL_HASPARM2) if (ActorLabels[label].flags & LABEL_HASPARM2)
parm2 = Gv_GetVarX(*insptr++); parm2 = Gv_GetVarX(*insptr++);
if (index >= MAXSPRITES || index < 0) if (index >= MAXSPRITES || index < 0)