Allow walltransfer to be enabled per sector
This commit is contained in:
parent
bc72c2284e
commit
8293f69fa8
10 changed files with 16 additions and 10 deletions
|
|
@ -17,7 +17,7 @@ extern "C" {
|
|||
#include "../doomstat.h"
|
||||
#include "../deh_soc.h"
|
||||
|
||||
boolean B_UseWallTransfer(void);
|
||||
boolean B_UseWallTransfer(mobj_t *mo);
|
||||
INT32 B_TrackComplexity(void);
|
||||
fixed_t K_TrackModifierMax(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -10,16 +10,19 @@
|
|||
#include "../b_soc.h"
|
||||
|
||||
// Map header toggle for wall transfering.
|
||||
boolean B_UseWallTransfer(void)
|
||||
boolean B_UseWallTransfer(mobj_t *mo)
|
||||
{
|
||||
const mapheader_t *mapheader = mapheaderinfo[gamemap - 1];
|
||||
boolean value = false;
|
||||
|
||||
if (mo && mo->subsector && (mo->subsector->sector->specialflags & SSF_WALLTRANSFER))
|
||||
return true;
|
||||
|
||||
if (mapnamespace == MNS_RINGRACERS)
|
||||
return true;
|
||||
|
||||
if (cv_kartwalltransfer.value)
|
||||
return true;
|
||||
//if (cv_kartwalltransfer.value)
|
||||
//return true;
|
||||
|
||||
if (mapheader->use_walltransfer == true)
|
||||
value = true;
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@
|
|||
#define ASSET_HASH_TEXTURES_KART 0xb4211b2f32b6a291
|
||||
#define ASSET_HASH_CHARS_KART 0x1e68a3e01aa5c68b
|
||||
#define ASSET_HASH_MAPS_KART 0x38558ed00da41ce9
|
||||
#define ASSET_HASH_MAIN_PK3 0x5c3c5f3a797479ff
|
||||
#define ASSET_HASH_MAIN_PK3 0xd9cf115699dc58c4
|
||||
#define ASSET_HASH_MAPPATCH_PK3 0xf1c7678ded3a2d1b
|
||||
#define ASSET_HASH_BONUSCHARS_KART 0x60e6f13d822a7461
|
||||
#ifdef USE_PATCH_FILE
|
||||
|
|
|
|||
|
|
@ -520,7 +520,7 @@ consvar_t cv_kartchainingoffroad = CVAR_INIT ("kartchaining_chainoffroad", "No",
|
|||
|
||||
consvar_t cv_kartitembreaker = CVAR_INIT ("kartitembreaker", "No", CV_NETVAR|CV_CALL|CV_NOINIT, CV_YesNo, KartItemBreaker_OnChange);
|
||||
|
||||
consvar_t cv_kartwalltransfer = CVAR_INIT ("BG_forcewalltransfer", "Off", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL);
|
||||
//consvar_t cv_kartwalltransfer = CVAR_INIT ("BG_forcewalltransfer", "Off", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL);
|
||||
|
||||
consvar_t cv_kartusepwrlv = CVAR_INIT ("kartusepwrlv", "Yes", CV_NETVAR, CV_YesNo, NULL);
|
||||
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ extern consvar_t cv_kartchaining;
|
|||
extern consvar_t cv_kartchainingoffroad;
|
||||
|
||||
extern consvar_t cv_kartitembreaker;
|
||||
extern consvar_t cv_kartwalltransfer;
|
||||
//extern consvar_t cv_kartwalltransfer;
|
||||
extern consvar_t cv_kartpurpledrift;
|
||||
extern consvar_t cv_kartbumpspark;
|
||||
extern consvar_t cv_kartbumpspring;
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ extern "C" {
|
|||
|
||||
// Special Hashing.
|
||||
//#define NOFILEHASH
|
||||
//#define NOVERIFYIWADS
|
||||
//==#define NOVERIFYIWADS
|
||||
|
||||
// Uncheck this to compile debugging code
|
||||
//#define RANGECHECK
|
||||
|
|
|
|||
|
|
@ -363,7 +363,7 @@ void K_RegisterKartStuff(void)
|
|||
|
||||
CV_RegisterVar(&cv_kartitembreaker);
|
||||
|
||||
CV_RegisterVar(&cv_kartwalltransfer);
|
||||
//CV_RegisterVar(&cv_kartwalltransfer);
|
||||
|
||||
CV_RegisterVar(&cv_kartpurpledrift);
|
||||
|
||||
|
|
|
|||
|
|
@ -1696,7 +1696,7 @@ void P_XYMovement(mobj_t *mo)
|
|||
else
|
||||
{
|
||||
boolean walltransfered = false;
|
||||
boolean walltransferok = B_UseWallTransfer();
|
||||
boolean walltransferok = B_UseWallTransfer(mo);
|
||||
//if (player || mo->flags & MF_SLIDEME|MF_PUSHABLE)
|
||||
if (walltransferok)
|
||||
{ // try to slide along it
|
||||
|
|
|
|||
|
|
@ -1904,6 +1904,8 @@ static void ParseTextmapSectorParameter(UINT32 i, const char *param, const char
|
|||
sectors[i].specialflags |= SSF_FINISHLINE;
|
||||
else if (fastcmp(param, "gravityoverride") && fastcmp("true", val))
|
||||
sectors[i].specialflags |= SSF_GRAVITYOVERRIDE;
|
||||
else if (fastcmp(param, "walltransfer") && fastcmp("true", val))
|
||||
sectors[i].specialflags |= SSF_WALLTRANSFER;
|
||||
else if (fastcmp(param, "nophysics_floor") && fastcmp("true", val))
|
||||
sectors[i].specialflags |= SSF_NOPHYSICSFLOOR;
|
||||
else if (fastcmp(param, "nophysics_ceiling") && fastcmp("true", val))
|
||||
|
|
|
|||
|
|
@ -390,6 +390,7 @@ typedef enum
|
|||
SSF_NOPHYSICSFLOOR = 1<<17,
|
||||
SSF_NOPHYSICSCEILING = 1<<18,
|
||||
SSF_GRAVITYOVERRIDE = 1<<19, // combine with MSF_GRAVITYFLIP
|
||||
SSF_WALLTRANSFER = 1<<20, // combine with MSF_GRAVITYFLIP
|
||||
} sectorspecialflags_t;
|
||||
|
||||
typedef enum
|
||||
|
|
|
|||
Loading…
Reference in a new issue