mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
FINISH removing the shadows...
This commit is contained in:
parent
c17f4dcf15
commit
30d391b6b2
6 changed files with 1 additions and 197 deletions
|
|
@ -7849,8 +7849,6 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
|
|||
"MT_LAMPPOST",
|
||||
"MT_MOSSYTREE",
|
||||
|
||||
"MT_SHADOW",
|
||||
|
||||
"MT_BUMP",
|
||||
|
||||
"MT_FLINGENERGY",
|
||||
|
|
|
|||
33
src/info.c
33
src/info.c
|
|
@ -60,7 +60,7 @@ char sprnames[NUMSPRITES + 1][5] =
|
|||
"WIPD","DRIF","BDRF","DUST","RSHE","FITM","BANA","ORBN","JAWZ","SSMN",
|
||||
"KRBM","BHOG","BHBM","SPBM","THNS","SINK","SITR","KBLN","DEZL","POKE",
|
||||
"AUDI","DECO","DOOD","SNES","GBAS","SPRS","BUZB","CHOM","SACO","CRAB",
|
||||
"SHAD","BRNG","BUMP","FLEN","CLAS","PSHW","ISTA","ISTB","ARRO","ITEM",
|
||||
"BRNG","BUMP","FLEN","CLAS","PSHW","ISTA","ISTB","ARRO","ITEM",
|
||||
"ITMO","ITMI","ITMN","WANT","PBOM","HIT1","HIT2","HIT3","RETI","AIDU",
|
||||
"KSPK","LZI1","LZI2","KLIT","FZSM","FZBM","FPRT","SBUS","MARB","FUFO",
|
||||
"RUST","BLON","VAPE","HTZA","HTZB","SGVA","SGVB","SGVC","PGTR","PGF1",
|
||||
|
|
@ -2988,10 +2988,6 @@ state_t states[NUMSTATES] =
|
|||
{SPR_CRAB, 10, -1, {NULL}, 0, 0, S_NULL}, // S_LAMPPOST
|
||||
{SPR_CRAB, 11, -1, {NULL}, 0, 0, S_NULL}, // S_MOSSYTREE
|
||||
|
||||
// Fake Shadow
|
||||
{SPR_SHAD, FF_TRANS50, -1, {NULL}, 0, 0, S_NULL}, // S_SHADOW
|
||||
{SPR_SHAD, FF_FULLBRIGHT|FF_TRANS50|1, -1, {NULL}, 0, 0, S_NULL}, // S_WHITESHADOW
|
||||
|
||||
{SPR_BUMP, FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_BUMP2}, // S_BUMP1
|
||||
{SPR_BUMP, FF_FULLBRIGHT|1, 3, {NULL}, 0, 0, S_BUMP3}, // S_BUMP2
|
||||
{SPR_BUMP, FF_FULLBRIGHT|2, 3, {NULL}, 0, 0, S_NULL}, // S_BUMP3
|
||||
|
|
@ -17251,33 +17247,6 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_SHADOW
|
||||
-1, // doomednum
|
||||
S_SHADOW, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
8, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_NULL, // painstate
|
||||
0, // painchance
|
||||
sfx_None, // painsound
|
||||
S_NULL, // meleestate
|
||||
S_NULL, // missilestate
|
||||
S_NULL, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_None, // deathsound
|
||||
60*FRACUNIT, // speed
|
||||
50*FRACUNIT, // radius
|
||||
1*FRACUNIT, // height
|
||||
-1, // display offset
|
||||
100, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_BUMP
|
||||
-1, // doomednum
|
||||
S_BUMP1, // spawnstate
|
||||
|
|
|
|||
|
|
@ -639,7 +639,6 @@ typedef enum sprite
|
|||
SPR_CHOM, // Sapphire Coast Chomper
|
||||
SPR_SACO, // Sapphire Coast Fauna
|
||||
SPR_CRAB, // Crystal Abyss mobs
|
||||
SPR_SHAD, // TD shadows
|
||||
SPR_BRNG, // Chaotix Big Ring
|
||||
|
||||
SPR_BUMP, // Player/shell bump
|
||||
|
|
@ -3668,9 +3667,6 @@ typedef enum state
|
|||
S_LAMPPOST,
|
||||
S_MOSSYTREE,
|
||||
|
||||
S_SHADOW,
|
||||
S_WHITESHADOW,
|
||||
|
||||
S_BUMP1,
|
||||
S_BUMP2,
|
||||
S_BUMP3,
|
||||
|
|
|
|||
|
|
@ -639,16 +639,6 @@ static int lib_pCheckSolidLava(lua_State *L)
|
|||
return 1;
|
||||
}
|
||||
|
||||
static int lib_pSpawnShadowMobj(lua_State *L)
|
||||
{
|
||||
mobj_t *caster = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
NOHUD
|
||||
if (!caster)
|
||||
return LUA_ErrInvalid(L, "mobj_t");
|
||||
P_SpawnShadowMobj(caster);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// P_USER
|
||||
////////////
|
||||
|
||||
|
|
@ -2672,7 +2662,6 @@ static luaL_Reg lib[] = {
|
|||
{"P_InsideANonSolidFFloor",lib_pInsideANonSolidFFloor},
|
||||
{"P_CheckDeathPitCollide",lib_pCheckDeathPitCollide},
|
||||
{"P_CheckSolidLava",lib_pCheckSolidLava},
|
||||
{"P_SpawnShadowMobj",lib_pSpawnShadowMobj},
|
||||
|
||||
// p_user
|
||||
{"P_GetPlayerHeight",lib_pGetPlayerHeight},
|
||||
|
|
|
|||
|
|
@ -216,8 +216,6 @@ void P_RespawnSpecials(void);
|
|||
|
||||
mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type);
|
||||
|
||||
mobj_t *P_SpawnShadowMobj(mobj_t * caster);
|
||||
|
||||
void P_RecalcPrecipInSector(sector_t *sector);
|
||||
void P_PrecipitationEffects(void);
|
||||
|
||||
|
|
|
|||
146
src/p_mobj.c
146
src/p_mobj.c
|
|
@ -6610,15 +6610,6 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
|
||||
P_AddOverlay(mobj);
|
||||
break;
|
||||
case MT_SHADOW:
|
||||
if (!mobj->target)
|
||||
{
|
||||
P_RemoveMobj(mobj);
|
||||
return;
|
||||
}
|
||||
|
||||
P_AddShadow(mobj);
|
||||
break;
|
||||
/*case MT_BLACKORB:
|
||||
case MT_WHITEORB:
|
||||
case MT_GREENORB:
|
||||
|
|
@ -10298,29 +10289,6 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
|
|||
break;
|
||||
}
|
||||
|
||||
switch (mobj->type)
|
||||
{
|
||||
case MT_PLAYER:
|
||||
case MT_SMALLMACE: case MT_BIGMACE:
|
||||
case MT_PUMA: case MT_BIGPUMA:
|
||||
case MT_FALLINGROCK:
|
||||
case MT_SMK_MOLE: case MT_SMK_THWOMP:
|
||||
//case MT_RANDOMITEM:
|
||||
case MT_FLOATINGITEM:
|
||||
case MT_BATTLEBUMPER:
|
||||
case MT_BANANA: case MT_BANANA_SHIELD:
|
||||
//case MT_EGGMANITEM: case MT_EGGMANITEM_SHIELD:
|
||||
case MT_ORBINAUT: case MT_ORBINAUT_SHIELD:
|
||||
case MT_JAWZ: case MT_JAWZ_DUD: case MT_JAWZ_SHIELD:
|
||||
case MT_SSMINE: case MT_SSMINE_SHIELD:
|
||||
case MT_BALLHOG: case MT_SINK:
|
||||
case MT_THUNDERSHIELD: case MT_ROCKETSNEAKER:
|
||||
case MT_SPB:
|
||||
P_SpawnShadowMobj(mobj);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (!(mobj->flags & MF_NOTHINK))
|
||||
P_AddThinker(&mobj->thinker);
|
||||
|
||||
|
|
@ -10356,120 +10324,6 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
|
|||
return mobj;
|
||||
}
|
||||
|
||||
//
|
||||
// P_SpawnShadowMobj
|
||||
// warning: Do not send a shadow mobj as a caster into here, or try to spawn spawn shadows for shadows in P_SpawnMobj, we do not want recursive shadows
|
||||
//
|
||||
mobj_t *P_SpawnShadowMobj(mobj_t * caster)
|
||||
{
|
||||
const mobjinfo_t *info = &mobjinfo[MT_SHADOW];
|
||||
state_t *st;
|
||||
mobj_t *mobj = Z_Calloc(sizeof (*mobj), PU_LEVEL, NULL);
|
||||
|
||||
// this is officially a mobj, declared as soon as possible.
|
||||
mobj->thinker.function.acp1 = (actionf_p1)P_MobjThinker;
|
||||
mobj->type = MT_SHADOW;
|
||||
mobj->info = info;
|
||||
|
||||
mobj->x = caster->x;
|
||||
mobj->y = caster->y;
|
||||
|
||||
mobj->radius = info->radius;
|
||||
mobj->height = info->height;
|
||||
mobj->flags = info->flags;
|
||||
|
||||
mobj->health = info->spawnhealth;
|
||||
|
||||
mobj->reactiontime = info->reactiontime;
|
||||
|
||||
mobj->lastlook = -1; // stuff moved in P_enemy.P_LookForPlayer
|
||||
|
||||
// do not set the state with P_SetMobjState,
|
||||
// because action routines can not be called yet
|
||||
if (caster->frame & FF_FULLBRIGHT)
|
||||
st = &states[S_WHITESHADOW];
|
||||
else
|
||||
st = &states[info->spawnstate];
|
||||
|
||||
mobj->state = st;
|
||||
mobj->tics = st->tics;
|
||||
mobj->sprite = st->sprite;
|
||||
mobj->frame = st->frame; // FF_FRAMEMASK for frame, and other bits..
|
||||
P_SetupStateAnimation(mobj, st);
|
||||
|
||||
mobj->friction = ORIG_FRICTION;
|
||||
|
||||
mobj->movefactor = ORIG_FRICTION_FACTOR;
|
||||
|
||||
// All mobjs are created at 100% scale.
|
||||
mobj->scale = FRACUNIT;
|
||||
mobj->destscale = mobj->scale;
|
||||
mobj->scalespeed = FRACUNIT/12;
|
||||
|
||||
if (mapobjectscale != FRACUNIT) //&& !(mobj->type == MT_BLACKEGGMAN)
|
||||
{
|
||||
mobj->destscale = mapobjectscale;
|
||||
mobj->scalespeed = mapobjectscale/12;
|
||||
}
|
||||
|
||||
P_SetScale(mobj, mobj->destscale);
|
||||
|
||||
// set subsector and/or block links
|
||||
P_SetThingPosition(mobj);
|
||||
I_Assert(mobj->subsector != NULL);
|
||||
|
||||
// Make sure scale matches destscale immediately when spawned
|
||||
P_SetScale(mobj, mobj->destscale);
|
||||
|
||||
mobj->floorz = mobj->subsector->sector->floorheight;
|
||||
mobj->ceilingz = mobj->subsector->sector->ceilingheight;
|
||||
|
||||
// Tells MobjCheckWater that the water height was not set.
|
||||
mobj->watertop = INT32_MAX;
|
||||
|
||||
mobj->z = mobj->floorz;
|
||||
|
||||
// defaults onground
|
||||
if (mobj->z == mobj->floorz)
|
||||
mobj->eflags |= MFE_ONGROUND;
|
||||
|
||||
if (!(mobj->flags & MF_NOTHINK))
|
||||
P_AddThinker(&mobj->thinker);
|
||||
|
||||
// Call action functions when the state is set
|
||||
if (st->action.acp1 && (mobj->flags & MF_RUNSPAWNFUNC))
|
||||
{
|
||||
if (levelloading)
|
||||
{
|
||||
// Cache actions in a linked list
|
||||
// with function pointer, and
|
||||
// var1 & var2, which will be executed
|
||||
// when the level finishes loading.
|
||||
P_AddCachedAction(mobj, mobj->info->spawnstate);
|
||||
}
|
||||
else
|
||||
{
|
||||
var1 = st->var1;
|
||||
var2 = st->var2;
|
||||
#ifdef HAVE_BLUA
|
||||
astate = st;
|
||||
#endif
|
||||
st->action.acp1(mobj);
|
||||
// DANGER! This is the ONLY way for P_SpawnMobj to return NULL!
|
||||
// Avoid using MF_RUNSPAWNFUNC on mobjs whose spawn state expects target or tracer to already be set!
|
||||
if (P_MobjWasRemoved(mobj))
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (CheckForReverseGravity && !(mobj->flags & MF_NOBLOCKMAP))
|
||||
P_CheckGravity(mobj, false);
|
||||
|
||||
P_SetTarget(&mobj->target, caster); // set the shadow's caster as the target
|
||||
|
||||
return mobj;
|
||||
}
|
||||
|
||||
static precipmobj_t *P_SpawnPrecipMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
|
||||
{
|
||||
state_t *st;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue