From 3e82145e2c6e1c267db58d705392686895e55746 Mon Sep 17 00:00:00 2001 From: terminx Date: Thu, 21 Jan 2016 19:35:34 +0000 Subject: [PATCH] CON_MOVESECTOR. Triggers built-in sector movement routines... not really appropriate to use outside of EVENT_MOVEEFFECTORS. git-svn-id: https://svn.eduke32.com/eduke32@5581 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/eduke32/source/actors.c | 2 +- polymer/eduke32/source/actors.h | 1 + polymer/eduke32/source/gamedef.c | 2 ++ polymer/eduke32/source/gamedef.h | 1 + polymer/eduke32/source/gameexec.c | 5 +++++ 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/polymer/eduke32/source/actors.c b/polymer/eduke32/source/actors.c index c2dda4c62..a538f3f5d 100644 --- a/polymer/eduke32/source/actors.c +++ b/polymer/eduke32/source/actors.c @@ -745,7 +745,7 @@ static int32_t move_rotfixed_sprite(int32_t j, int32_t pivotspr, int32_t daang) return 1; } -static void A_MoveSector(int i) +void A_MoveSector(int i) { // T1,T2 and T3 are used for all the sector moving stuff!!! diff --git a/polymer/eduke32/source/actors.h b/polymer/eduke32/source/actors.h index 12e6d07fe..9c54b5da7 100644 --- a/polymer/eduke32/source/actors.h +++ b/polymer/eduke32/source/actors.h @@ -307,6 +307,7 @@ void A_DoGutsDir(int32_t sp,int32_t gtype,int32_t n); int32_t A_IncurDamage(int32_t sn); void A_MoveCyclers(void); void A_MoveDummyPlayers(void); +void A_MoveSector(int i); void A_PlayAlertSound(int32_t i); void A_RadiusDamage(int32_t i,int32_t r,int32_t hp1,int32_t hp2,int32_t hp3,int32_t hp4); void A_SpawnMultiple(int32_t sp,int32_t pic,int32_t n); diff --git a/polymer/eduke32/source/gamedef.c b/polymer/eduke32/source/gamedef.c index ee2bf0af7..1a0b9edf7 100644 --- a/polymer/eduke32/source/gamedef.c +++ b/polymer/eduke32/source/gamedef.c @@ -574,6 +574,7 @@ const char *keyw[] = "ifvarle", // 392 "ifvarge", // 393 "ifvarboth", // 394 + "movesector", // 395 "" }; #endif @@ -4012,6 +4013,7 @@ DO_DEFSTATE: case CON_SETMUSICPOSITION: case CON_STARTCUTSCENE: case CON_RESETPLAYERFLAGS: + case CON_MOVESECTOR: C_GetNextVar(); continue; diff --git a/polymer/eduke32/source/gamedef.h b/polymer/eduke32/source/gamedef.h index 23dc8cde8..f17b3d942 100644 --- a/polymer/eduke32/source/gamedef.h +++ b/polymer/eduke32/source/gamedef.h @@ -1069,6 +1069,7 @@ enum ScriptKeywords_t CON_IFVARLE, // 392 CON_IFVARGE, // 393 CON_IFVARBOTH, // 394 + CON_MOVESECTOR, // 395 CON_END }; // KEEPINSYNC with the keyword list in lunatic/con_lang.lua diff --git a/polymer/eduke32/source/gameexec.c b/polymer/eduke32/source/gameexec.c index abb675e41..269f557d9 100644 --- a/polymer/eduke32/source/gameexec.c +++ b/polymer/eduke32/source/gameexec.c @@ -2554,6 +2554,11 @@ nullquote: G_InitTimer(Gv_GetVarX(*insptr++)); continue; + case CON_MOVESECTOR: + insptr++; + A_MoveSector(Gv_GetVarX(*insptr++)); + continue; + case CON_TIME: insptr += 2; continue;