Merge branch 'blankart-dev' into itemstuff
This commit is contained in:
commit
ab33e6b89f
7 changed files with 36 additions and 1 deletions
|
|
@ -536,6 +536,9 @@ consvar_t cv_kartbumpspark = CVAR_INIT("kartbumpspark",
|
|||
|
||||
consvar_t cv_kartbumpspring = CVAR_INIT ("kartbumpspring", "Yes", CV_NETVAR, CV_YesNo, NULL);
|
||||
|
||||
consvar_t cv_kartexplosion_limitlifetime = CVAR_INIT ("kartexplosion_limitlifetime", "Off", CV_NETVAR, CV_OnOff, NULL);
|
||||
consvar_t cv_kartexplosion_limitlifetime_cap = CVAR_INIT ("kartexplosion_limitlifetime_cap", "12", CV_NETVAR, CV_Natural, NULL);
|
||||
|
||||
consvar_t cv_kartslipdash = CVAR_INIT ("kartslipdash", "No", CV_NETVAR|CV_CALL|CV_NOINIT|CV_GUARD, CV_YesNo, KartSlipdash_OnChange);
|
||||
|
||||
consvar_t cv_kartslopeboost = CVAR_INIT ("kartslopeboost", "No", CV_NETVAR|CV_CALL|CV_NOINIT, CV_YesNo, KartSlopeBoost_OnChange);
|
||||
|
|
|
|||
|
|
@ -171,6 +171,8 @@ extern consvar_t cv_kartitembreaker;
|
|||
extern consvar_t cv_kartpurpledrift;
|
||||
extern consvar_t cv_kartbumpspark;
|
||||
extern consvar_t cv_kartbumpspring;
|
||||
extern consvar_t cv_kartexplosion_limitlifetime;
|
||||
extern consvar_t cv_kartexplosion_limitlifetime_cap;
|
||||
extern consvar_t cv_kartslipdash;
|
||||
extern consvar_t cv_kartslopeboost;
|
||||
extern consvar_t cv_kartinvindist;
|
||||
|
|
|
|||
|
|
@ -415,6 +415,9 @@ void K_RegisterKartStuff(void)
|
|||
|
||||
CV_RegisterVar(&cv_naturalcamera);
|
||||
CV_RegisterVar(&cv_gptest);
|
||||
|
||||
CV_RegisterVar(&cv_kartexplosion_limitlifetime);
|
||||
CV_RegisterVar(&cv_kartexplosion_limitlifetime_cap);
|
||||
}
|
||||
|
||||
//}
|
||||
|
|
|
|||
|
|
@ -93,8 +93,10 @@ enum mobj_e {
|
|||
mobj_scalespeed,
|
||||
mobj_extravalue1,
|
||||
mobj_extravalue2,
|
||||
mobj_extravalue3,
|
||||
mobj_cusval,
|
||||
mobj_cvmem,
|
||||
mobj_mobjlifetime,
|
||||
mobj_standingslope,
|
||||
mobj_colorized,
|
||||
mobj_mirrored,
|
||||
|
|
@ -188,8 +190,10 @@ static const char *const mobj_opt[] = {
|
|||
"scalespeed",
|
||||
"extravalue1",
|
||||
"extravalue2",
|
||||
"extravalue3",
|
||||
"cusval",
|
||||
"cvmem",
|
||||
"mobjlifetime",
|
||||
"standingslope",
|
||||
"colorized",
|
||||
"mirrored",
|
||||
|
|
@ -531,12 +535,18 @@ static int mobj_get(lua_State *L)
|
|||
case mobj_extravalue2:
|
||||
lua_pushinteger(L, mo->extravalue2);
|
||||
break;
|
||||
case mobj_extravalue3:
|
||||
lua_pushinteger(L, mo->extravalue3);
|
||||
break;
|
||||
case mobj_cusval:
|
||||
lua_pushinteger(L, mo->cusval);
|
||||
break;
|
||||
case mobj_cvmem:
|
||||
lua_pushinteger(L, mo->cvmem);
|
||||
break;
|
||||
case mobj_mobjlifetime:
|
||||
lua_pushinteger(L, mo->mobjlifetime);
|
||||
break;
|
||||
case mobj_standingslope:
|
||||
LUA_PushUserdata(L, mo->standingslope, META_SLOPE);
|
||||
break;
|
||||
|
|
@ -1025,12 +1035,18 @@ static int mobj_set(lua_State *L)
|
|||
case mobj_extravalue2:
|
||||
mo->extravalue2 = luaL_checkinteger(L, 3);
|
||||
break;
|
||||
case mobj_extravalue3:
|
||||
mo->extravalue3 = luaL_checkinteger(L, 3);
|
||||
break;
|
||||
case mobj_cusval:
|
||||
mo->cusval = luaL_checkinteger(L, 3);
|
||||
break;
|
||||
case mobj_cvmem:
|
||||
mo->cvmem = luaL_checkinteger(L, 3);
|
||||
break;
|
||||
case mobj_mobjlifetime:
|
||||
mo->mobjlifetime = luaL_checkinteger(L, 3);
|
||||
break;
|
||||
case mobj_standingslope:
|
||||
return NOSET;
|
||||
case mobj_colorized:
|
||||
|
|
|
|||
|
|
@ -8783,7 +8783,9 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
|||
mobj->health--;
|
||||
break;
|
||||
case MT_MINEEXPLOSION:
|
||||
if ((mobj->z < mobj->floorz - mobj->height) || (mobj->z > mobj->ceilingz + mobj->height))
|
||||
if ((mobj->z < mobj->floorz - mobj->height)
|
||||
|| (mobj->z > mobj->ceilingz + mobj->height)
|
||||
|| (cv_kartexplosion_limitlifetime.value && mobj->mobjlifetime > cv_kartexplosion_limitlifetime_cap.value))
|
||||
{
|
||||
P_KillMobj(mobj, NULL, NULL, DMG_NORMAL);
|
||||
break;
|
||||
|
|
@ -10384,6 +10386,9 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
if (mobj->itnext && P_MobjWasRemoved(mobj->itnext))
|
||||
P_SetTarget(&mobj->itnext, NULL);
|
||||
|
||||
// Tick lifetime of mobj
|
||||
mobj->mobjlifetime++;
|
||||
|
||||
if (mobj->flags & MF_NOTHINK)
|
||||
return;
|
||||
|
||||
|
|
|
|||
|
|
@ -414,6 +414,9 @@ struct mobj_t
|
|||
INT32 cusval;
|
||||
INT32 cvmem;
|
||||
|
||||
// Time Mobj has been alive for, useful for stats or gameplay tracking purposes.
|
||||
UINT16 mobjlifetime;
|
||||
|
||||
pslope_t *standingslope; // The slope that the object is standing on (shouldn't need synced in savegames, right?)
|
||||
|
||||
boolean resetinterp; // if true, some fields should not be interpolated (see R_InterpolateMobjState implementation)
|
||||
|
|
|
|||
|
|
@ -1837,6 +1837,7 @@ enum mobj_diff_t
|
|||
MD3_MISCCAP,
|
||||
MD3_BAKEDOFFSET,
|
||||
MD3_EXTVAL3,
|
||||
MD3_LIFETIME,
|
||||
|
||||
MD__MAX
|
||||
};
|
||||
|
|
@ -1998,6 +1999,7 @@ static void DiffMobj(const mobj_t *mobj, UINT32 diff[])
|
|||
DIFF(mobj == misccap, MD3_MISCCAP);
|
||||
DIFF(mobj->bakexoff || mobj->bakeyoff || mobj->bakezoff || mobj->bakexpiv || mobj->bakeypiv || mobj->bakezpiv, MD3_BAKEDOFFSET);
|
||||
DIFF(mobj->extravalue3, MD3_EXTVAL3);
|
||||
DIFF(mobj->mobjlifetime, MD3_LIFETIME);
|
||||
}
|
||||
|
||||
static thinker_t *SyncMobjThinker(savebuffer_t *save, actionf_p1 thinker, thinker_t *th, UINT8 type)
|
||||
|
|
@ -2321,6 +2323,7 @@ static thinker_t *SyncMobjThinker(savebuffer_t *save, actionf_p1 thinker, thinke
|
|||
SYNCF(MD3_BAKEDOFFSET, mobj->bakeypiv);
|
||||
SYNCF(MD3_BAKEDOFFSET, mobj->bakezpiv);
|
||||
SYNCF(MD3_EXTVAL3, mobj->extravalue3);
|
||||
SYNCF(MD3_LIFETIME, mobj->mobjlifetime);
|
||||
|
||||
if (!save->write)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue