From 881f8d84075f33a1c469ba5bfc5bcf1a8e35ab16 Mon Sep 17 00:00:00 2001 From: James R Date: Wed, 29 Mar 2023 22:23:02 -0700 Subject: [PATCH] UDMF: add foflayer field to things TEXTMAP --- src/doomdata.h | 1 + src/p_setup.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/doomdata.h b/src/doomdata.h index f3342e0cd..c7395727f 100644 --- a/src/doomdata.h +++ b/src/doomdata.h @@ -251,6 +251,7 @@ struct mapthing_t INT16 special; INT32 args[NUMMAPTHINGARGS]; char *stringargs[NUMMAPTHINGSTRINGARGS]; + UINT8 layer; // FOF layer to spawn on, see P_GetMobjSpawnHeight mobj_t *mobj; }; diff --git a/src/p_setup.c b/src/p_setup.c index 97f9680df..78d72db83 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -1286,6 +1286,7 @@ static void P_LoadThings(UINT8 *data) memset(mt->stringargs, 0x00, NUMMAPTHINGSTRINGARGS*sizeof(*mt->stringargs)); mt->special = 0; mt->pitch = mt->roll = 0; + mt->layer = 0; mt->type &= 4095; @@ -1793,6 +1794,8 @@ static void ParseTextmapThingParameter(UINT32 i, const char *param, const char * else if (fastcmp(param, "special")) mapthings[i].special = atol(val); + else if (fastcmp(param, "foflayer")) + mapthings[i].layer = atol(val); else if (fastncmp(param, "stringarg", 9) && strlen(param) > 9) { size_t argnum = atol(param + 9); @@ -2766,6 +2769,7 @@ static void P_LoadTextmap(void) memset(mt->args, 0, NUMMAPTHINGARGS*sizeof(*mt->args)); memset(mt->stringargs, 0x00, NUMMAPTHINGSTRINGARGS*sizeof(*mt->stringargs)); mt->special = 0; + mt->layer = 0; mt->mobj = NULL; TextmapParse(mapthingsPos[i], i, ParseTextmapThingParameter);