mirror of
https://github.com/ZDoom/acc.git
synced 2025-03-13 03:42:17 +00:00
- added new PCodes to handle action specials > 255.
- added some new specials and parameters from EE.
This commit is contained in:
parent
d5442ef4e6
commit
ab65e882d0
4 changed files with 41 additions and 17 deletions
20
parse.c
20
parse.c
|
@ -1624,7 +1624,21 @@ static void LeadingLineSpecial(boolean executewait)
|
||||||
}
|
}
|
||||||
TK_TokenMustBe(TK_RPAREN, ERR_MISSING_RPAREN);
|
TK_TokenMustBe(TK_RPAREN, ERR_MISSING_RPAREN);
|
||||||
TK_NextTokenMustBe(TK_SEMICOLON, ERR_MISSING_SEMICOLON);
|
TK_NextTokenMustBe(TK_SEMICOLON, ERR_MISSING_SEMICOLON);
|
||||||
if(direct == NO)
|
if (specialValue > 255)
|
||||||
|
{
|
||||||
|
for(; argCount < 5; ++argCount)
|
||||||
|
{
|
||||||
|
PC_AppendPushVal(0);
|
||||||
|
}
|
||||||
|
PC_AppendCmd(PCD_LSPEC5EX);
|
||||||
|
PC_AppendInt(specialValue);
|
||||||
|
if(executewait)
|
||||||
|
{
|
||||||
|
PC_AppendCmd(PCD_SCRIPTWAITDIRECT);
|
||||||
|
PC_AppendInt(argSave[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(direct == NO)
|
||||||
{
|
{
|
||||||
PC_AppendCmd(PCD_LSPEC1+(argCount-1));
|
PC_AppendCmd(PCD_LSPEC1+(argCount-1));
|
||||||
if(pc_NoShrink)
|
if(pc_NoShrink)
|
||||||
|
@ -3502,8 +3516,8 @@ static void ExprLineSpecial(void)
|
||||||
}
|
}
|
||||||
TK_TokenMustBe(TK_RPAREN, ERR_MISSING_RPAREN);
|
TK_TokenMustBe(TK_RPAREN, ERR_MISSING_RPAREN);
|
||||||
TK_NextToken();
|
TK_NextToken();
|
||||||
PC_AppendCmd(PCD_LSPEC5RESULT);
|
PC_AppendCmd(specialValue <= 255? PCD_LSPEC5RESULT : PCD_LSPEC5EXRESULT);
|
||||||
if(pc_NoShrink)
|
if(pc_NoShrink || specialValue > 255)
|
||||||
{
|
{
|
||||||
PC_AppendInt(specialValue);
|
PC_AppendInt(specialValue);
|
||||||
}
|
}
|
||||||
|
|
2
pcode.c
2
pcode.c
|
@ -499,6 +499,8 @@ static char *PCDNames[PCODE_COMMAND_COUNT] =
|
||||||
"PCD_PRINTSCRIPTCHARARRAY",
|
"PCD_PRINTSCRIPTCHARARRAY",
|
||||||
"PCD_PRINTSCRIPTCHRANGE",
|
"PCD_PRINTSCRIPTCHRANGE",
|
||||||
"PCD_STRCPYTOSCRIPTCHRANGE",
|
"PCD_STRCPYTOSCRIPTCHRANGE",
|
||||||
|
"PCD_LSPEC5EX",
|
||||||
|
"PCD_LSPEC5EXRESULT",
|
||||||
};
|
};
|
||||||
|
|
||||||
// CODE --------------------------------------------------------------------
|
// CODE --------------------------------------------------------------------
|
||||||
|
|
2
pcode.h
2
pcode.h
|
@ -444,6 +444,8 @@ typedef enum
|
||||||
PCD_PRINTSCRIPTCHARARRAY,
|
PCD_PRINTSCRIPTCHARARRAY,
|
||||||
PCD_PRINTSCRIPTCHRANGE,
|
PCD_PRINTSCRIPTCHRANGE,
|
||||||
PCD_STRCPYTOSCRIPTCHRANGE,
|
PCD_STRCPYTOSCRIPTCHRANGE,
|
||||||
|
PCD_LSPEC5EX,
|
||||||
|
PCD_LSPEC5EXRESULT,
|
||||||
|
|
||||||
PCODE_COMMAND_COUNT
|
PCODE_COMMAND_COUNT
|
||||||
} pcd_t;
|
} pcd_t;
|
||||||
|
|
34
zspecial.acs
34
zspecial.acs
|
@ -24,12 +24,12 @@ special
|
||||||
17:Thing_Raise(1),
|
17:Thing_Raise(1),
|
||||||
18:StartConversation(1,2),
|
18:StartConversation(1,2),
|
||||||
19:Thing_Stop(1),
|
19:Thing_Stop(1),
|
||||||
20:Floor_LowerByValue(3),
|
20:Floor_LowerByValue(3,4),
|
||||||
21:Floor_LowerToLowest(2),
|
21:Floor_LowerToLowest(2,3),
|
||||||
22:Floor_LowerToNearest(2),
|
22:Floor_LowerToNearest(2,3),
|
||||||
23:Floor_RaiseByValue(3),
|
23:Floor_RaiseByValue(3,5),
|
||||||
24:Floor_RaiseToHighest(2),
|
24:Floor_RaiseToHighest(2,5),
|
||||||
25:Floor_RaiseToNearest(2),
|
25:Floor_RaiseToNearest(2,4),
|
||||||
26:Stairs_BuildDown(5),
|
26:Stairs_BuildDown(5),
|
||||||
27:Stairs_BuildUp(5),
|
27:Stairs_BuildUp(5),
|
||||||
28:Floor_RaiseAndCrush(3,4),
|
28:Floor_RaiseAndCrush(3,4),
|
||||||
|
@ -39,9 +39,9 @@ special
|
||||||
32:Stairs_BuildUpSync(4),
|
32:Stairs_BuildUpSync(4),
|
||||||
33:ForceField(0),
|
33:ForceField(0),
|
||||||
34:ClearForceField(1),
|
34:ClearForceField(1),
|
||||||
35:Floor_RaiseByValueTimes8(3),
|
35:Floor_RaiseByValueTimes8(3,5),
|
||||||
36:Floor_LowerByValueTimes8(3),
|
36:Floor_LowerByValueTimes8(3,4),
|
||||||
37:Floor_MoveToValue(3,4),
|
37:Floor_MoveToValue(3,5),
|
||||||
38:Ceiling_Waggle(5),
|
38:Ceiling_Waggle(5),
|
||||||
39:Teleport_ZombieChanger(2),
|
39:Teleport_ZombieChanger(2),
|
||||||
40:Ceiling_LowerByValue(3),
|
40:Ceiling_LowerByValue(3),
|
||||||
|
@ -70,9 +70,9 @@ special
|
||||||
63:Plat_DownByValue(4),
|
63:Plat_DownByValue(4),
|
||||||
64:Plat_UpWaitDownStay(3),
|
64:Plat_UpWaitDownStay(3),
|
||||||
65:Plat_UpByValue(4),
|
65:Plat_UpByValue(4),
|
||||||
66:Floor_LowerInstant(3),
|
66:Floor_LowerInstant(3,4),
|
||||||
67:Floor_RaiseInstant(3),
|
67:Floor_RaiseInstant(3,5),
|
||||||
68:Floor_MoveToValueTimes8(4),
|
68:Floor_MoveToValueTimes8(4,5),
|
||||||
69:Ceiling_MoveToValueTimes8(4),
|
69:Ceiling_MoveToValueTimes8(4),
|
||||||
70:Teleport(1,3),
|
70:Teleport(1,3),
|
||||||
71:Teleport_NoFog(1,4),
|
71:Teleport_NoFog(1,4),
|
||||||
|
@ -109,6 +109,9 @@ special
|
||||||
// 102:Scroll_Texture_Up
|
// 102:Scroll_Texture_Up
|
||||||
// 103:Scroll_Texture_Down
|
// 103:Scroll_Texture_Down
|
||||||
104:Ceiling_CrushAndRaiseSilentDist(4,5),
|
104:Ceiling_CrushAndRaiseSilentDist(4,5),
|
||||||
|
105:Door_WaitRaise(4,5),
|
||||||
|
106:Door_WaitClose(3,4),
|
||||||
|
107:Floor_LowerToLowestCeiling(2,3),
|
||||||
|
|
||||||
109:Light_ForceLightning(1),
|
109:Light_ForceLightning(1),
|
||||||
110:Light_RaiseByValue(2),
|
110:Light_RaiseByValue(2),
|
||||||
|
@ -223,9 +226,9 @@ special
|
||||||
235:Floor_TransferTrigger(1),
|
235:Floor_TransferTrigger(1),
|
||||||
236:Floor_TransferNumeric(1),
|
236:Floor_TransferNumeric(1),
|
||||||
237:ChangeCamera(3),
|
237:ChangeCamera(3),
|
||||||
238:Floor_RaiseToLowestCeiling(2),
|
238:Floor_RaiseToLowestCeiling(2,4),
|
||||||
239:Floor_RaiseByValueTxTy(3),
|
239:Floor_RaiseByValueTxTy(3),
|
||||||
240:Floor_RaiseByTexture(2),
|
240:Floor_RaiseByTexture(2,4),
|
||||||
241:Floor_LowerToLowestTxTy(2),
|
241:Floor_LowerToLowestTxTy(2),
|
||||||
242:Floor_LowerToHighest(3,4),
|
242:Floor_LowerToHighest(3,4),
|
||||||
243:Exit_Normal(1),
|
243:Exit_Normal(1),
|
||||||
|
@ -241,6 +244,9 @@ special
|
||||||
253:Ceiling_LowerToLowest(2),
|
253:Ceiling_LowerToLowest(2),
|
||||||
254:Ceiling_LowerToFloor(2),
|
254:Ceiling_LowerToFloor(2),
|
||||||
255:Ceiling_CrushRaiseAndStaySilA(4,5),
|
255:Ceiling_CrushRaiseAndStaySilA(4,5),
|
||||||
|
|
||||||
|
256:Floor_LowerToHighestEE(2, 3),
|
||||||
|
257:Floor_RaiseToLowest(2, 3),
|
||||||
|
|
||||||
// internal functions have negative values
|
// internal functions have negative values
|
||||||
-1:GetLineUDMFInt(2),
|
-1:GetLineUDMFInt(2),
|
||||||
|
|
Loading…
Reference in a new issue