Merge branch 'master' into grand-pricks

This commit is contained in:
Sally Coolatta 2020-05-14 18:48:34 -04:00
commit 8744df641f
6 changed files with 17 additions and 3 deletions

View file

@ -1164,6 +1164,8 @@ static void readlevelheader(MYFILE *f, INT32 num)
}*/
else if (fastcmp(word, "MOBJSCALE"))
mapheaderinfo[num-1]->mobj_scale = get_number(word2);
else if (fastcmp(word, "DEFAULTWAYPOINTRADIUS"))
mapheaderinfo[num-1]->default_waypoint_radius = get_number(word2);
// Individual triggers for level flags, for ease of use (and 2.0 compatibility)
else if (fastcmp(word, "SCRIPTISFILE"))

View file

@ -290,6 +290,7 @@ typedef struct
// SRB2kart
//boolean automap; ///< Displays a level's white map outline in modified games
fixed_t mobj_scale; ///< Replacement for TOL_ERZ3
fixed_t default_waypoint_radius; ///< 0 is a special value for DEFAULT_WAYPOINT_RADIUS, but scaled with mobjscale
// Music stuff.
UINT32 musinterfadeout; ///< Fade out level music on intermission screen in milliseconds

View file

@ -1967,8 +1967,7 @@ void K_AdjustWaypointsParameters (void)
waypointmobj;
waypointmobj = waypointmobj->tracer
){
if (K_AnchorWaypointRadius(waypointmobj, anchor))
break;
K_AnchorWaypointRadius(waypointmobj, anchor);
}
}
}

View file

@ -18,6 +18,8 @@
#include "p_mobj.h"
#include "k_pathfind.h"
#define DEFAULT_WAYPOINT_RADIUS (384)
typedef struct waypoint_s
{
mobj_t *mobj;

View file

@ -12665,9 +12665,17 @@ ML_NOCLIMB : Direction not controllable
break;
case MT_WAYPOINT:
{
const fixed_t mobjscale =
mapheaderinfo[gamemap-1]->default_waypoint_radius;
// Just like MT_SPINMACEPOINT, this now works here too!
INT32 line = P_FindSpecialLineFromTag(2000, mthing->angle, -1);
mobj->radius = 384 * mapobjectscale;
if (mobjscale == 0)
mobj->radius = DEFAULT_WAYPOINT_RADIUS * mapobjectscale;
else
mobj->radius = mobjscale;
// Set the radius, mobj z, and mthing z to match what the parameters want
if (line != -1)
{

View file

@ -260,6 +260,8 @@ static void P_ClearSingleMapHeaderInfo(INT16 i)
//mapheaderinfo[num]->automap = false;
DEH_WriteUndoline("MOBJSCALE", va("%d", mapheaderinfo[num]->mobj_scale), UNDO_NONE);
mapheaderinfo[num]->mobj_scale = FRACUNIT;
DEH_WriteUndoline("DEFAULTWAYPOINTRADIUS", va("%d", mapheaderinfo[num]->default_waypoint_radius), UNDO_NONE);
mapheaderinfo[num]->default_waypoint_radius = 0;
// an even further impossibility, delfile custom opts support
mapheaderinfo[num]->customopts = NULL;
mapheaderinfo[num]->numCustomOptions = 0;