mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-21 12:01:05 +00:00
Support gravity override flag in UDMF
This commit is contained in:
parent
5e6185abe2
commit
0ee81a1cc3
4 changed files with 18 additions and 1 deletions
|
@ -3918,6 +3918,16 @@ udmf
|
|||
2 = "Remove";
|
||||
}
|
||||
}
|
||||
arg3
|
||||
{
|
||||
title = "Override gravity?";
|
||||
type = 11;
|
||||
enum
|
||||
{
|
||||
0 = "No";
|
||||
1 = "Yes";
|
||||
}
|
||||
}
|
||||
stringarg0
|
||||
{
|
||||
title = "Gravity value";
|
||||
|
|
|
@ -1727,6 +1727,8 @@ static void ParseTextmapSectorParameter(UINT32 i, const char *param, const char
|
|||
sectors[i].specialflags |= SSF_ROPEHANG;
|
||||
else if (fastcmp(param, "jumpflip") && fastcmp("true", val))
|
||||
sectors[i].specialflags |= SSF_JUMPFLIP;
|
||||
else if (fastcmp(param, "gravityoverride") && fastcmp("true", val))
|
||||
sectors[i].specialflags |= SSF_GRAVITYOVERRIDE;
|
||||
else if (fastcmp(param, "friction"))
|
||||
sectors[i].friction = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "gravity"))
|
||||
|
@ -2582,6 +2584,8 @@ static void P_WriteTextmap(void)
|
|||
fprintf(f, "ropehang = true;\n");
|
||||
if (wsectors[i].specialflags & SSF_JUMPFLIP)
|
||||
fprintf(f, "jumpflip = true;\n");
|
||||
if (wsectors[i].specialflags & SSF_GRAVITYOVERRIDE)
|
||||
fprintf(f, "gravityoverride = true;\n");
|
||||
if (wsectors[i].friction != ORIG_FRICTION)
|
||||
fprintf(f, "friction = %f;\n", FIXED_TO_FLOAT(wsectors[i].friction));
|
||||
if (wsectors[i].gravity != FRACUNIT)
|
||||
|
|
|
@ -3826,6 +3826,9 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
|
|||
sectors[secnum].flags |= MSF_GRAVITYFLIP;
|
||||
else if (line->args[2] == TMF_REMOVE)
|
||||
sectors[secnum].flags &= ~MSF_GRAVITYFLIP;
|
||||
|
||||
if (line->args[3])
|
||||
sectors[secnum].specialflags |= SSF_GRAVITYOVERRIDE;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -315,7 +315,7 @@ typedef enum
|
|||
SSF_FINISHLINE = 1<<17,
|
||||
SSF_ROPEHANG = 1<<18,
|
||||
SSF_JUMPFLIP = 1<<19,
|
||||
SSF_GRAVITYOVERRIDE = 1<<20,
|
||||
SSF_GRAVITYOVERRIDE = 1<<20, // combine with MSF_GRAVITYFLIP
|
||||
} sectorspecialflags_t;
|
||||
|
||||
typedef enum
|
||||
|
|
Loading…
Reference in a new issue