diff --git a/src/lua_baselib.c b/src/lua_baselib.c index ccdc8baa065c607124b50a14198d64e67b2a6653..b5b6103394c8f995790d85f44144e21ca3acbe26 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -644,7 +644,7 @@ static int lib_pSpawnMobjFromMobj(lua_State *L) return LUA_ErrInvalid(L, "mobj_t"); if (type >= NUMMOBJTYPES) return luaL_error(L, "mobj type %d out of range (0 - %d)", type, NUMMOBJTYPES-1); - LUA_PushUserdata(L, P_SpawnMobjFromMobj(actor, x, y, z, type, NULL), META_MOBJ); + LUA_PushUserdata(L, P_SpawnMobjFromMobj(actor, x, y, z, type), META_MOBJ); return 1; } diff --git a/src/p_local.h b/src/p_local.h index eeee1ca3634eea41c09d3a9acb1a9519a10c26d5..8bdc89841fd28e60623ea00cdf575e48e3d87065 100644 --- a/src/p_local.h +++ b/src/p_local.h @@ -329,7 +329,7 @@ boolean P_CheckDeathPitCollide(mobj_t *mo); boolean P_CheckSolidLava(ffloor_t *rover); void P_AdjustMobjFloorZ_FFloors(mobj_t *mo, sector_t *sector, UINT8 motype); -mobj_t *P_SpawnMobjFromMobj(mobj_t *mobj, fixed_t xofs, fixed_t yofs, fixed_t zofs, mobjtype_t type, ...); +mobj_t *P_SpawnMobjFromMobj(mobj_t *mobj, fixed_t xofs, fixed_t yofs, fixed_t zofs, mobjtype_t type); mobj_t *P_SpawnMissile(mobj_t *source, mobj_t *dest, mobjtype_t type); mobj_t *P_SpawnXYZMissile(mobj_t *source, mobj_t *dest, mobjtype_t type, fixed_t x, fixed_t y, fixed_t z); diff --git a/src/p_mobj.c b/src/p_mobj.c index 55b3184069bfa3ec743b6638c53df6e1a2bf345c..aa5949c2f907904b5cb7c00a4fee77064bf7d166 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -14410,7 +14410,7 @@ void P_FlashPal(player_t *pl, UINT16 type, UINT16 duration) // Spawns an object with offsets relative to the position of another object. // Scale, gravity flip, etc. is taken into account automatically. // -mobj_t *P_SpawnMobjFromMobj(mobj_t *mobj, fixed_t xofs, fixed_t yofs, fixed_t zofs, mobjtype_t type, ...) +mobj_t *P_SpawnMobjFromMobj(mobj_t *mobj, fixed_t xofs, fixed_t yofs, fixed_t zofs, mobjtype_t type) { va_list args; mobj_t *newmobj; @@ -14419,19 +14419,7 @@ mobj_t *P_SpawnMobjFromMobj(mobj_t *mobj, fixed_t xofs, fixed_t yofs, fixed_t zo yofs = FixedMul(yofs, mobj->scale); zofs = FixedMul(zofs, mobj->scale); - if (type == MT_PLAYER) - { - player_t *player; - // MT_PLAYER requires an additional parameter for the player, so pass that forth. - va_start(args, type); - player = va_arg(args, player_t *); - va_end(args); - newmobj = P_SpawnMobj(mobj->x + xofs, mobj->y + yofs, mobj->z + zofs, type, player); - } - else - { - newmobj = P_SpawnMobj(mobj->x + xofs, mobj->y + yofs, mobj->z + zofs, type); - } + newmobj = P_SpawnMobj(mobj->x + xofs, mobj->y + yofs, mobj->z + zofs, type, NULL); if (!newmobj) return NULL;