From bf1f719d52924d5b5ed4c96064d13130f64e09ad Mon Sep 17 00:00:00 2001 From: MajorCooke Date: Thu, 3 Sep 2015 16:04:11 -0500 Subject: [PATCH 01/25] Updated QuakeEx for falloff parameter. --- zspecial.acs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zspecial.acs b/zspecial.acs index fe1b155..e6d08d2 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -334,7 +334,7 @@ special -88:SetActorRoll(2), -89:ChangeActorRoll(2,3), -90:GetActorRoll(1), - -91:QuakeEx(8,12), + -91:QuakeEx(8,13), -92:Warp(6,9), // Zandronum's From 6735fd46f12aae717ffe92d5ec3d43cad4a4364f Mon Sep 17 00:00:00 2001 From: MajorCooke Date: Mon, 5 Oct 2015 22:21:29 -0500 Subject: [PATCH 02/25] HighPoint update --- zspecial.acs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zspecial.acs b/zspecial.acs index e6d08d2..6f9e966 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -334,7 +334,7 @@ special -88:SetActorRoll(2), -89:ChangeActorRoll(2,3), -90:GetActorRoll(1), - -91:QuakeEx(8,13), + -91:QuakeEx(8,14), -92:Warp(6,9), // Zandronum's From ab65e882d08a78208e04913806af4ed89b8f8a83 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Mon, 25 Jan 2016 13:06:36 +0100 Subject: [PATCH 03/25] - added new PCodes to handle action specials > 255. - added some new specials and parameters from EE. --- parse.c | 20 +++++++++++++++++--- pcode.c | 2 ++ pcode.h | 2 ++ zspecial.acs | 34 ++++++++++++++++++++-------------- 4 files changed, 41 insertions(+), 17 deletions(-) diff --git a/parse.c b/parse.c index b05e0d2..abee8d6 100644 --- a/parse.c +++ b/parse.c @@ -1624,7 +1624,21 @@ static void LeadingLineSpecial(boolean executewait) } TK_TokenMustBe(TK_RPAREN, ERR_MISSING_RPAREN); 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)); if(pc_NoShrink) @@ -3502,8 +3516,8 @@ static void ExprLineSpecial(void) } TK_TokenMustBe(TK_RPAREN, ERR_MISSING_RPAREN); TK_NextToken(); - PC_AppendCmd(PCD_LSPEC5RESULT); - if(pc_NoShrink) + PC_AppendCmd(specialValue <= 255? PCD_LSPEC5RESULT : PCD_LSPEC5EXRESULT); + if(pc_NoShrink || specialValue > 255) { PC_AppendInt(specialValue); } diff --git a/pcode.c b/pcode.c index 29edf17..d9169c6 100644 --- a/pcode.c +++ b/pcode.c @@ -499,6 +499,8 @@ static char *PCDNames[PCODE_COMMAND_COUNT] = "PCD_PRINTSCRIPTCHARARRAY", "PCD_PRINTSCRIPTCHRANGE", "PCD_STRCPYTOSCRIPTCHRANGE", + "PCD_LSPEC5EX", + "PCD_LSPEC5EXRESULT", }; // CODE -------------------------------------------------------------------- diff --git a/pcode.h b/pcode.h index 3f17c35..0ecd1ed 100644 --- a/pcode.h +++ b/pcode.h @@ -444,6 +444,8 @@ typedef enum PCD_PRINTSCRIPTCHARARRAY, PCD_PRINTSCRIPTCHRANGE, PCD_STRCPYTOSCRIPTCHRANGE, + PCD_LSPEC5EX, + PCD_LSPEC5EXRESULT, PCODE_COMMAND_COUNT } pcd_t; diff --git a/zspecial.acs b/zspecial.acs index aff1e1e..8152540 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -24,12 +24,12 @@ special 17:Thing_Raise(1), 18:StartConversation(1,2), 19:Thing_Stop(1), - 20:Floor_LowerByValue(3), - 21:Floor_LowerToLowest(2), - 22:Floor_LowerToNearest(2), - 23:Floor_RaiseByValue(3), - 24:Floor_RaiseToHighest(2), - 25:Floor_RaiseToNearest(2), + 20:Floor_LowerByValue(3,4), + 21:Floor_LowerToLowest(2,3), + 22:Floor_LowerToNearest(2,3), + 23:Floor_RaiseByValue(3,5), + 24:Floor_RaiseToHighest(2,5), + 25:Floor_RaiseToNearest(2,4), 26:Stairs_BuildDown(5), 27:Stairs_BuildUp(5), 28:Floor_RaiseAndCrush(3,4), @@ -39,9 +39,9 @@ special 32:Stairs_BuildUpSync(4), 33:ForceField(0), 34:ClearForceField(1), - 35:Floor_RaiseByValueTimes8(3), - 36:Floor_LowerByValueTimes8(3), - 37:Floor_MoveToValue(3,4), + 35:Floor_RaiseByValueTimes8(3,5), + 36:Floor_LowerByValueTimes8(3,4), + 37:Floor_MoveToValue(3,5), 38:Ceiling_Waggle(5), 39:Teleport_ZombieChanger(2), 40:Ceiling_LowerByValue(3), @@ -70,9 +70,9 @@ special 63:Plat_DownByValue(4), 64:Plat_UpWaitDownStay(3), 65:Plat_UpByValue(4), - 66:Floor_LowerInstant(3), - 67:Floor_RaiseInstant(3), - 68:Floor_MoveToValueTimes8(4), + 66:Floor_LowerInstant(3,4), + 67:Floor_RaiseInstant(3,5), + 68:Floor_MoveToValueTimes8(4,5), 69:Ceiling_MoveToValueTimes8(4), 70:Teleport(1,3), 71:Teleport_NoFog(1,4), @@ -109,6 +109,9 @@ special // 102:Scroll_Texture_Up // 103:Scroll_Texture_Down 104:Ceiling_CrushAndRaiseSilentDist(4,5), + 105:Door_WaitRaise(4,5), + 106:Door_WaitClose(3,4), + 107:Floor_LowerToLowestCeiling(2,3), 109:Light_ForceLightning(1), 110:Light_RaiseByValue(2), @@ -223,9 +226,9 @@ special 235:Floor_TransferTrigger(1), 236:Floor_TransferNumeric(1), 237:ChangeCamera(3), - 238:Floor_RaiseToLowestCeiling(2), + 238:Floor_RaiseToLowestCeiling(2,4), 239:Floor_RaiseByValueTxTy(3), - 240:Floor_RaiseByTexture(2), + 240:Floor_RaiseByTexture(2,4), 241:Floor_LowerToLowestTxTy(2), 242:Floor_LowerToHighest(3,4), 243:Exit_Normal(1), @@ -241,6 +244,9 @@ special 253:Ceiling_LowerToLowest(2), 254:Ceiling_LowerToFloor(2), 255:Ceiling_CrushRaiseAndStaySilA(4,5), + + 256:Floor_LowerToHighestEE(2, 3), + 257:Floor_RaiseToLowest(2, 3), // internal functions have negative values -1:GetLineUDMFInt(2), From 9649b1fa55d46758234ec838b1e033edc83175a7 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Fri, 29 Jan 2016 09:21:57 +0100 Subject: [PATCH 04/25] - new specials. --- zspecial.acs | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/zspecial.acs b/zspecial.acs index 8152540..712dc72 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -44,14 +44,14 @@ special 37:Floor_MoveToValue(3,5), 38:Ceiling_Waggle(5), 39:Teleport_ZombieChanger(2), - 40:Ceiling_LowerByValue(3), - 41:Ceiling_RaiseByValue(3), + 40:Ceiling_LowerByValue(3,4), + 41:Ceiling_RaiseByValue(3,4), 42:Ceiling_CrushAndRaise(3,4), 43:Ceiling_LowerAndCrush(3,4), 44:Ceiling_CrushStop(1), 45:Ceiling_CrushRaiseAndStay(3,4), 46:Floor_CrushStop(1), - 47:Ceiling_MoveToValue(3,4), + 47:Ceiling_MoveToValue(3,5), // 48:Sector_Attach3dMidtex 49:GlassBreak(0,1), // 50:ExtraFloor_LightOnly @@ -73,7 +73,7 @@ special 66:Floor_LowerInstant(3,4), 67:Floor_RaiseInstant(3,5), 68:Floor_MoveToValueTimes8(4,5), - 69:Ceiling_MoveToValueTimes8(4), + 69:Ceiling_MoveToValueTimes8(4,5), 70:Teleport(1,3), 71:Teleport_NoFog(1,4), 72:ThrustThing(2,4), @@ -111,7 +111,6 @@ special 104:Ceiling_CrushAndRaiseSilentDist(4,5), 105:Door_WaitRaise(4,5), 106:Door_WaitClose(3,4), - 107:Floor_LowerToLowestCeiling(2,3), 109:Light_ForceLightning(1), 110:Light_RaiseByValue(2), @@ -180,14 +179,14 @@ special 188:Sector_SetCeilingScale(5), 189:Sector_SetFloorScale(5), 191:SetPlayerProperty(3), - 192:Ceiling_LowerToHighestFloor(2), - 193:Ceiling_LowerInstant(3), - 194:Ceiling_RaiseInstant(3), + 192:Ceiling_LowerToHighestFloor(2,4), + 193:Ceiling_LowerInstant(3,5), + 194:Ceiling_RaiseInstant(3,4), 195:Ceiling_CrushRaiseAndStayA(4,5), 196:Ceiling_CrushAndRaiseA(4,5), 197:Ceiling_CrushAndRaiseSilentA(4,5), - 198:Ceiling_RaiseByValueTimes8(3), - 199:Ceiling_LowerByValueTimes8(3), + 198:Ceiling_RaiseByValueTimes8(3,4), + 199:Ceiling_LowerByValueTimes8(3,4), 200:Generic_Floor(5), 201:Generic_Ceiling(5), 202:Generic_Door(5), @@ -240,13 +239,31 @@ special 249:Door_CloseWaitOpen(3, 4), 250:Floor_Donut(3), 251:FloorAndCeiling_LowerRaise(3,4), - 252:Ceiling_RaiseToNearest(2), - 253:Ceiling_LowerToLowest(2), - 254:Ceiling_LowerToFloor(2), + 252:Ceiling_RaiseToNearest(2,3), + 253:Ceiling_LowerToLowest(2,4), + 254:Ceiling_LowerToFloor(2,4), 255:Ceiling_CrushRaiseAndStaySilA(4,5), + // These are specialized versions of the Generic_* specials which are defined for EE Extradata. 256:Floor_LowerToHighestEE(2, 3), 257:Floor_RaiseToLowest(2, 3), + 258:Floor_LowerToLowestCeiling(2,3), + 259:Floor_RaiseToCeiling(2, 4), + 260:Floor_ToCeilingInstant(1, 3), + 261:Floor_LowerByTexture(2, 3), + 262:Ceiling_RaiseToHighest(2, 3), + 263:Ceiling_ToHighestInstant(1, 3), + 264:Ceiling_LowerToNearest(2, 4), + 265:Ceiling_RaiseToLowest(2, 3), + 266:Ceiling_RaiseToHighestFloor(2, 3), + 267:Ceiling_ToFloorInstant(1, 3), + 268:Ceiling_RaiseByTexture(2, 3), + 269:Ceiling_LowerByTexture(2, 4), + 270:Stairs_BuildDownDoom(5), + 271:Stairs_BuildUpDoomSync(4), + 272:Stairs_BuildDownDoomSync(4), + + // internal functions have negative values -1:GetLineUDMFInt(2), From 61db6c3fd2f8c1c5bfcf9da1627fc12d4ff33e95 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 7 Feb 2016 00:35:03 +0100 Subject: [PATCH 05/25] - added Line_SetPortalTarget. --- zspecial.acs | 1 + 1 file changed, 1 insertion(+) diff --git a/zspecial.acs b/zspecial.acs index 180c50b..e9eaed5 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -111,6 +111,7 @@ special 104:Ceiling_CrushAndRaiseSilentDist(4,5), 105:Door_WaitRaise(4,5), 106:Door_WaitClose(3,4), + 107:Line_SetPortalTarget(2), 109:Light_ForceLightning(1), 110:Light_RaiseByValue(2), From b59cc47e5345a3dad7a7901150f26e209754084f Mon Sep 17 00:00:00 2001 From: MaxED Date: Mon, 15 Feb 2016 15:56:25 +0300 Subject: [PATCH 06/25] Fixed: #region blocks should not increase outertokencount (otherwise #library inside a #region will generate the ERR_LIBRARY_NOT_FIRST error). --- parse.c | 1 + 1 file changed, 1 insertion(+) diff --git a/parse.c b/parse.c index 1b62b2e..459079b 100644 --- a/parse.c +++ b/parse.c @@ -522,6 +522,7 @@ static void Outside(void) break; case TK_REGION: // [mxd] case TK_ENDREGION: + outertokencount--; // #region markers should not count as "real" tokens TK_SkipLine(); break; default: From e6543300c751139a72f93a5c7c5bd1cf494e1025 Mon Sep 17 00:00:00 2001 From: m-x-d Date: Mon, 28 Mar 2016 23:57:43 +0300 Subject: [PATCH 07/25] Fixed: TK_SkipLine() got stuck in an infinite loop when previous token was at the end of the file. --- token.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/token.c b/token.c index 518c896..8edaa82 100644 --- a/token.c +++ b/token.c @@ -1573,5 +1573,5 @@ void TK_SkipLine(void) { char *sourcenow = tk_SourceName; int linenow = tk_Line; - do TK_NextToken(); while (tk_Line == linenow && tk_SourceName == sourcenow); + do TK_NextToken(); while (tk_Line == linenow && tk_SourceName == sourcenow && tk_Token != TK_EOF); } From 033555632136e412ac594b178ce4cbd87bb7bd9f Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Thu, 7 Apr 2016 13:39:25 +0200 Subject: [PATCH 08/25] - added APROP_MaxStepHeight + APROP_MaxDropOffHeight. --- zdefs.acs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/zdefs.acs b/zdefs.acs index 72f55df..40341b9 100644 --- a/zdefs.acs +++ b/zdefs.acs @@ -291,6 +291,8 @@ #define APROP_StencilColor 41 #define APROP_Friction 42 #define APROP_DamageMultiplier 43 +#define APROP_MaxStepHeight 44 +#define APROP_MaxDropOffHeight 45 // Render Styles ------------------------------------------------------------ From c698192c2d2a91ec540173fb152c7a0c9ae94782 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 17 Apr 2016 10:55:24 +0200 Subject: [PATCH 09/25] SetMusicVolume function. --- zspecial.acs | 1 + 1 file changed, 1 insertion(+) diff --git a/zspecial.acs b/zspecial.acs index 2e0f1fa..8f2fe1a 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -364,6 +364,7 @@ special -94:SetSectorDamage(2,5), -95:SetSectorTerrain(3), -96:SpawnParticle(1,15), + -97:SetMusicVolume(1), // Zandronum's -100:ResetMap(0), From 8579c97b59ef65332ae313e14bfa4d16b48dfebb Mon Sep 17 00:00:00 2001 From: MajorCooke Date: Mon, 25 Apr 2016 10:09:04 -0500 Subject: [PATCH 10/25] QuakeEx Roll Inclusion --- zspecial.acs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zspecial.acs b/zspecial.acs index 8f2fe1a..c892eeb 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -358,7 +358,7 @@ special -88:SetActorRoll(2), -89:ChangeActorRoll(2,3), -90:GetActorRoll(1), - -91:QuakeEx(8,14), + -91:QuakeEx(8,16), -92:Warp(6,11), -93:GetMaxInventory(2), -94:SetSectorDamage(2,5), From bef4622839411bf214d1d2820bf7d406853e20d2 Mon Sep 17 00:00:00 2001 From: Benjamin Moir Date: Tue, 10 May 2016 15:16:00 +1000 Subject: [PATCH 11/25] CheckProximity ACC changes --- zdefs.acs | 14 ++++++++++++++ zspecial.acs | 1 + 2 files changed, 15 insertions(+) diff --git a/zdefs.acs b/zdefs.acs index 40341b9..ecff36e 100644 --- a/zdefs.acs +++ b/zdefs.acs @@ -1088,3 +1088,17 @@ #define WARPF_USEPTR 0x2000 #define WARPF_COPYVELOCITY 0x4000 #define WARPF_COPYPITCH 0x8000 + +#define CPXF_ANCESTOR (1 << 0) +#define CPXF_LESSOREQUAL (1 << 1) +#define CPXF_NOZ (1 << 2) +#define CPXF_COUNTDEAD (1 << 3) +#define CPXF_DEADONLY (1 << 4) +#define CPXF_EXACT (1 << 5) +#define CPXF_SETTARGET (1 << 6) +#define CPXF_SETMASTER (1 << 7) +#define CPXF_SETTRACER (1 << 8) +#define CPXF_FARTHEST (1 << 9) +#define CPXF_CLOSEST (1 << 10) +#define CPXF_SETONPTR (1 << 11) +#define CPXF_CHECKSIGHT (1 << 12) diff --git a/zspecial.acs b/zspecial.acs index 8f2fe1a..6e9b8ab 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -365,6 +365,7 @@ special -95:SetSectorTerrain(3), -96:SpawnParticle(1,15), -97:SetMusicVolume(1), + -98:CheckProximity(3, 6), // Zandronum's -100:ResetMap(0), From 5a55620a1ac851adb9806ce0b11b82f0edc277bc Mon Sep 17 00:00:00 2001 From: MajorCooke Date: Fri, 10 Jun 2016 22:11:50 -0500 Subject: [PATCH 12/25] Adds support for particle parameter expansion. --- zspecial.acs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zspecial.acs b/zspecial.acs index 6e9b8ab..1c92c85 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -363,7 +363,7 @@ special -93:GetMaxInventory(2), -94:SetSectorDamage(2,5), -95:SetSectorTerrain(3), - -96:SpawnParticle(1,15), + -96:SpawnParticle(1,16), -97:SetMusicVolume(1), -98:CheckProximity(3, 6), From 49f91e214e2860acad723c9e1f14b27fb0fc46c2 Mon Sep 17 00:00:00 2001 From: Edoardo Prezioso Date: Mon, 20 Jun 2016 01:39:15 +0200 Subject: [PATCH 13/25] - Renamed PlayerOnTeam with IsNetworkGame. --- pcode.c | 2 +- pcode.h | 2 +- symbol.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pcode.c b/pcode.c index d9169c6..4d31569 100644 --- a/pcode.c +++ b/pcode.c @@ -231,7 +231,7 @@ static char *PCDNames[PCODE_COMMAND_COUNT] = "PCD_PLAYERGOLDSKULL", "PCD_PLAYERBLACKCARD", "PCD_PLAYERSILVERCARD", - "PCD_PLAYERONTEAM", + "PCD_ISNETWORKGAME", "PCD_PLAYERTEAM", "PCD_PLAYERHEALTH", "PCD_PLAYERARMORPOINTS", diff --git a/pcode.h b/pcode.h index 0ecd1ed..e0b9af9 100644 --- a/pcode.h +++ b/pcode.h @@ -176,7 +176,7 @@ typedef enum PCD_PLAYERGOLDSKULL, PCD_PLAYERBLACKCARD, PCD_PLAYERSILVERCARD, - PCD_PLAYERONTEAM, + PCD_ISNETWORKGAME, PCD_PLAYERTEAM, PCD_PLAYERHEALTH, PCD_PLAYERARMORPOINTS, diff --git a/symbol.c b/symbol.c index e5dbf46..3b09188 100644 --- a/symbol.c +++ b/symbol.c @@ -90,7 +90,7 @@ static internFuncDef_t InternalFunctions[] = { "playerbluecard", PCD_NOP, PCD_PLAYERBLUECARD, 0, 0, 0, YES, NO }, { "playerredcard", PCD_NOP, PCD_PLAYERREDCARD, 0, 0, 0, YES, NO }, { "playeryellowcard", PCD_NOP, PCD_PLAYERYELLOWCARD, 0, 0, 0, YES, NO }, - { "playeronteam", PCD_NOP, PCD_PLAYERONTEAM, 0, 0, 0, YES, NO }, + { "isnetworkgame", PCD_NOP, PCD_ISNETWORKGAME, 0, 0, 0, YES, NO }, { "playerteam", PCD_NOP, PCD_PLAYERTEAM, 0, 0, 0, YES, NO }, { "playerfrags", PCD_NOP, PCD_PLAYERFRAGS, 0, 0, 0, YES, NO }, { "playerhealth", PCD_NOP, PCD_PLAYERHEALTH, 0, 0, 0, YES, NO }, From c94968d6bec6e95b79f0b750ed85249e9a2833dc Mon Sep 17 00:00:00 2001 From: Blue-Shadow Date: Tue, 19 Jul 2016 03:19:49 +0300 Subject: [PATCH 14/25] Added DamageType ACS actor property --- zdefs.acs | 1 + 1 file changed, 1 insertion(+) diff --git a/zdefs.acs b/zdefs.acs index ecff36e..1f08f02 100644 --- a/zdefs.acs +++ b/zdefs.acs @@ -293,6 +293,7 @@ #define APROP_DamageMultiplier 43 #define APROP_MaxStepHeight 44 #define APROP_MaxDropOffHeight 45 +#define APROP_DamageType 46 // Render Styles ------------------------------------------------------------ From 002b8b39723f2da4495daec18126961ffa33d854 Mon Sep 17 00:00:00 2001 From: Blue-Shadow Date: Fri, 22 Jul 2016 16:21:49 +0300 Subject: [PATCH 15/25] Added TRANSFERTRANSLATION morph flag --- zdefs.acs | 1 + 1 file changed, 1 insertion(+) diff --git a/zdefs.acs b/zdefs.acs index 1f08f02..5f31116 100644 --- a/zdefs.acs +++ b/zdefs.acs @@ -369,6 +369,7 @@ #define MRF_UNDOBYDEATH 0x00000200 #define MRF_UNDOBYDEATHFORCED 0x00000400 #define MRF_UNDOBYDEATHSAVES 0x00000800 +#define MRF_TRANSFERTRANSLATION 0x00002000 // Shared spawnable things from Hexen. You can spawn these in the other ----- // games if you provide sprites for them, otherwise they'll be invisible. --- From 45dea212fdd0343a843b2db2994e10b447a21b60 Mon Sep 17 00:00:00 2001 From: Blue-Shadow Date: Mon, 25 Jul 2016 05:43:06 +0300 Subject: [PATCH 16/25] The MRF_UNDOALWAYS morph flag's constant was missing from zdefs.acs --- zdefs.acs | 1 + 1 file changed, 1 insertion(+) diff --git a/zdefs.acs b/zdefs.acs index 5f31116..4cef9bf 100644 --- a/zdefs.acs +++ b/zdefs.acs @@ -369,6 +369,7 @@ #define MRF_UNDOBYDEATH 0x00000200 #define MRF_UNDOBYDEATHFORCED 0x00000400 #define MRF_UNDOBYDEATHSAVES 0x00000800 +#define MRF_UNDOALWAYS 0x00001000 #define MRF_TRANSFERTRANSLATION 0x00002000 // Shared spawnable things from Hexen. You can spawn these in the other ----- From afbec00f3659ae1651ba92feb801e3fa9964a09a Mon Sep 17 00:00:00 2001 From: Jordon Moss Date: Sat, 23 Jul 2016 05:16:49 -0300 Subject: [PATCH 17/25] Added KILL script type Added /*.o to .gitignore as well. We don't want people accidentally committing object files from their compiles, now do we? --- .gitignore | 1 + parse.c | 6 ++++++ pcode.h | 1 + token.c | 1 + token.h | 1 + 5 files changed, 10 insertions(+) diff --git a/.gitignore b/.gitignore index eb09f9c..0cf7987 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /log /t /zdefs.acs.orig +/*.o diff --git a/parse.c b/parse.c index 459079b..1d0f8a4 100644 --- a/parse.c +++ b/parse.c @@ -341,6 +341,7 @@ static struct ScriptTypes ScriptCounts[] = { "unloading", UNLOADING_SCRIPTS_BASE, 0 }, { "return", RETURN_SCRIPTS_BASE, 0 }, { "event", EVENT_SCRIPTS_BASE, 0 }, + { "kill", KILL_SCRIPTS_BASE, 0 }, { NULL, -1, 0 } }; @@ -670,6 +671,7 @@ static void OuterScript(void) case TK_LIGHTNING: case TK_UNLOADING: case TK_RETURN: + case TK_KILL: ERR_Error(ERR_UNCLOSED_WITH_ARGS, YES); break; @@ -743,6 +745,10 @@ static void OuterScript(void) scriptType = EVENT_SCRIPTS_BASE; ERR_Error (ERR_EVENT_NEEDS_3_ARG, YES); break; + + case TK_KILL: // [JM] + scriptType = KILL_SCRIPTS_BASE; + break; default: ERR_Error(ERR_BAD_SCRIPT_DECL, YES); diff --git a/pcode.h b/pcode.h index e0b9af9..0063082 100644 --- a/pcode.h +++ b/pcode.h @@ -31,6 +31,7 @@ enum DISCONNECT_SCRIPTS_BASE = 14, RETURN_SCRIPTS_BASE = 15, EVENT_SCRIPTS_BASE = 16, // [BB] + KILL_SCRIPTS_BASE = 17, // [JM] }; // Values to indicate script flags (requires new-style .o) diff --git a/token.c b/token.c index 8edaa82..f727c8a 100644 --- a/token.c +++ b/token.c @@ -199,6 +199,7 @@ static struct keyword_s { "strcpy", TK_STRCPY }, // [FDARI] { "region", TK_REGION }, // [mxd] { "endregion", TK_ENDREGION }, // [mxd] + { "kill", TK_KILL }, // [JM] }; #define NUM_KEYWORDS (sizeof(Keywords)/sizeof(Keywords[0])) diff --git a/token.h b/token.h index 975983f..1b05e95 100644 --- a/token.h +++ b/token.h @@ -134,6 +134,7 @@ typedef enum TK_STRCPY, // 'strcpy' TK_REGION, // 'region' [mxd] TK_ENDREGION, // 'endregion' [mxd] + TK_KILL, // 'kill' [JM] } tokenType_t; // PUBLIC FUNCTION PROTOTYPES ---------------------------------------------- From 020573c9a03aea5aa73223dc2c85140566907fe5 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 3 Aug 2016 12:55:48 +0200 Subject: [PATCH 18/25] - consider Eternity's 'gap' parameter to several specials. --- zspecial.acs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/zspecial.acs b/zspecial.acs index 6061f01..d6cdfd0 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -180,7 +180,7 @@ special 188:Sector_SetCeilingScale(5), 189:Sector_SetFloorScale(5), 191:SetPlayerProperty(3), - 192:Ceiling_LowerToHighestFloor(2,4), + 192:Ceiling_LowerToHighestFloor(2,5), 193:Ceiling_LowerInstant(3,5), 194:Ceiling_RaiseInstant(3,4), 195:Ceiling_CrushRaiseAndStayA(4,5), @@ -226,7 +226,7 @@ special 235:Floor_TransferTrigger(1), 236:Floor_TransferNumeric(1), 237:ChangeCamera(3), - 238:Floor_RaiseToLowestCeiling(2,4), + 238:Floor_RaiseToLowestCeiling(2,5), 239:Floor_RaiseByValueTxTy(3), 240:Floor_RaiseByTexture(2,4), 241:Floor_LowerToLowestTxTy(2), @@ -242,22 +242,22 @@ special 251:FloorAndCeiling_LowerRaise(3,4), 252:Ceiling_RaiseToNearest(2,3), 253:Ceiling_LowerToLowest(2,4), - 254:Ceiling_LowerToFloor(2,4), + 254:Ceiling_LowerToFloor(2,5), 255:Ceiling_CrushRaiseAndStaySilA(4,5), // These are specialized versions of the Generic_* specials which are defined for EE Extradata. 256:Floor_LowerToHighestEE(2, 3), 257:Floor_RaiseToLowest(2, 3), 258:Floor_LowerToLowestCeiling(2,3), - 259:Floor_RaiseToCeiling(2, 4), - 260:Floor_ToCeilingInstant(1, 3), + 259:Floor_RaiseToCeiling(2, 5), + 260:Floor_ToCeilingInstant(1, 4), 261:Floor_LowerByTexture(2, 3), 262:Ceiling_RaiseToHighest(2, 3), 263:Ceiling_ToHighestInstant(1, 3), 264:Ceiling_LowerToNearest(2, 4), 265:Ceiling_RaiseToLowest(2, 3), 266:Ceiling_RaiseToHighestFloor(2, 3), - 267:Ceiling_ToFloorInstant(1, 3), + 267:Ceiling_ToFloorInstant(1, 4), 268:Ceiling_RaiseByTexture(2, 3), 269:Ceiling_LowerByTexture(2, 4), 270:Stairs_BuildDownDoom(5), From d458065899454c72148ad0bac39ad4b0238a2506 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Tue, 9 Aug 2016 16:08:58 +0200 Subject: [PATCH 19/25] - new parameters from Eternity for 2 specials. --- zspecial.acs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zspecial.acs b/zspecial.acs index d6cdfd0..5bcb77a 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -48,7 +48,7 @@ special 41:Ceiling_RaiseByValue(3,4), 42:Ceiling_CrushAndRaise(3,4), 43:Ceiling_LowerAndCrush(3,4), - 44:Ceiling_CrushStop(1), + 44:Ceiling_CrushStop(1,2), 45:Ceiling_CrushRaiseAndStay(3,4), 46:Floor_CrushStop(1), 47:Ceiling_MoveToValue(3,5), @@ -65,7 +65,7 @@ special // 58: Sector_CopyScroller 59:Polyobj_OR_MoveToSpot(3), 60:Plat_PerpetualRaise(3), - 61:Plat_Stop(1), + 61:Plat_Stop(1,2), 62:Plat_DownWaitUpStay(3), 63:Plat_DownByValue(4), 64:Plat_UpWaitDownStay(3), From 4c6e8d2f990d6dce2cc3644ab5cab129e2d09a06 Mon Sep 17 00:00:00 2001 From: yqco Date: Mon, 22 Aug 2016 01:23:54 -0600 Subject: [PATCH 20/25] Add CheckActorState bool CheckActorState(int tid, str statename, bool exact = false); - Same parameter order as SetActorState - Returns true if actor has the state; else returns false --- zspecial.acs | 1 + 1 file changed, 1 insertion(+) diff --git a/zspecial.acs b/zspecial.acs index 5bcb77a..39ea921 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -366,6 +366,7 @@ special -96:SpawnParticle(1,16), -97:SetMusicVolume(1), -98:CheckProximity(3, 6), + -99:CheckActorState(2,3), // Zandronum's -100:ResetMap(0), From 2c3a499c677cb425790a4d6d12e72ace6cb65872 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 28 Aug 2016 16:13:13 +0200 Subject: [PATCH 21/25] - added CheckClass definition. --- zspecial.acs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/zspecial.acs b/zspecial.acs index 39ea921..3f7ba0e 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -396,6 +396,9 @@ special -124:EndDBTransaction(0), -125:GetDBEntries(1), + // -1xx are reserved for Zandronum + -200:CheckClass(1), + // ZDaemon's -19620:GetTeamScore(1), -19621:SetTeamScore(2), From ccdeaa2b49252028ce843de018a67a9ed4020141 Mon Sep 17 00:00:00 2001 From: yqco Date: Wed, 24 Aug 2016 04:25:10 -0600 Subject: [PATCH 22/25] Add SetActorFlag int SetActorFlag(int tid, str flagname, bool value); - Mimics DECORATE's A_ChangeFlag - Returns number of actors affected (number of things with the flag) - Affects activator if TID is 0 --- zspecial.acs | 1 + 1 file changed, 1 insertion(+) diff --git a/zspecial.acs b/zspecial.acs index 3f7ba0e..b25d28a 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -398,6 +398,7 @@ special // -1xx are reserved for Zandronum -200:CheckClass(1), + -201:SetActorFlag(3), // ZDaemon's -19620:GetTeamScore(1), From 7d78c58a0afd06dbe8e0315fb6beed41d7738caa Mon Sep 17 00:00:00 2001 From: nashmuhandes Date: Mon, 29 Aug 2016 23:07:26 +0800 Subject: [PATCH 23/25] Added REOPEN script --- parse.c | 6 ++++++ pcode.h | 1 + token.c | 1 + token.h | 1 + 4 files changed, 9 insertions(+) diff --git a/parse.c b/parse.c index 1d0f8a4..e59304e 100644 --- a/parse.c +++ b/parse.c @@ -342,6 +342,7 @@ static struct ScriptTypes ScriptCounts[] = { "return", RETURN_SCRIPTS_BASE, 0 }, { "event", EVENT_SCRIPTS_BASE, 0 }, { "kill", KILL_SCRIPTS_BASE, 0 }, + { "reopen", REOPEN_SCRIPTS_BASE, 0 }, { NULL, -1, 0 } }; @@ -672,6 +673,7 @@ static void OuterScript(void) case TK_UNLOADING: case TK_RETURN: case TK_KILL: + case TK_REOPEN: ERR_Error(ERR_UNCLOSED_WITH_ARGS, YES); break; @@ -750,6 +752,10 @@ static void OuterScript(void) scriptType = KILL_SCRIPTS_BASE; break; + case TK_REOPEN: // [Nash] + scriptType = REOPEN_SCRIPTS_BASE; + break; + default: ERR_Error(ERR_BAD_SCRIPT_DECL, YES); SkipBraceBlock(0); diff --git a/pcode.h b/pcode.h index 0063082..5cceb6c 100644 --- a/pcode.h +++ b/pcode.h @@ -32,6 +32,7 @@ enum RETURN_SCRIPTS_BASE = 15, EVENT_SCRIPTS_BASE = 16, // [BB] KILL_SCRIPTS_BASE = 17, // [JM] + REOPEN_SCRIPTS_BASE = 18, // [Nash] }; // Values to indicate script flags (requires new-style .o) diff --git a/token.c b/token.c index f727c8a..0e5cd1e 100644 --- a/token.c +++ b/token.c @@ -200,6 +200,7 @@ static struct keyword_s { "region", TK_REGION }, // [mxd] { "endregion", TK_ENDREGION }, // [mxd] { "kill", TK_KILL }, // [JM] + { "reopen", TK_REOPEN }, // [Nash] }; #define NUM_KEYWORDS (sizeof(Keywords)/sizeof(Keywords[0])) diff --git a/token.h b/token.h index 1b05e95..617e066 100644 --- a/token.h +++ b/token.h @@ -135,6 +135,7 @@ typedef enum TK_REGION, // 'region' [mxd] TK_ENDREGION, // 'endregion' [mxd] TK_KILL, // 'kill' [JM] + TK_REOPEN, // 'reopen' [Nash] } tokenType_t; // PUBLIC FUNCTION PROTOTYPES ---------------------------------------------- From 5d10e85605b1f1513004a11ffa9e35b9df433339 Mon Sep 17 00:00:00 2001 From: arookas Date: Wed, 31 Aug 2016 21:58:34 -0400 Subject: [PATCH 24/25] Added Thing_Damage3 function --- zspecial.acs | 1 + 1 file changed, 1 insertion(+) diff --git a/zspecial.acs b/zspecial.acs index 3f7ba0e..dfa82df 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -398,6 +398,7 @@ special // -1xx are reserved for Zandronum -200:CheckClass(1), + -201:Thing_Damage3(6), // [arookas] // ZDaemon's -19620:GetTeamScore(1), From 70575393e443566966f346d7f7c94e8d9220f365 Mon Sep 17 00:00:00 2001 From: arookas Date: Fri, 2 Sep 2016 23:03:45 -0400 Subject: [PATCH 25/25] Renamed Thing_Damage3 to DamageActor --- zspecial.acs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zspecial.acs b/zspecial.acs index dfa82df..25f121c 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -398,7 +398,7 @@ special // -1xx are reserved for Zandronum -200:CheckClass(1), - -201:Thing_Damage3(6), // [arookas] + -201:DamageActor(6), // [arookas] // ZDaemon's -19620:GetTeamScore(1),