Merge commit '6e45c565a0' into scripting
Conflicts: src/p_mobj.cpp (This stops right before moving the conversation IDs into MAPINFO because that feature is quite conflict-heavy and will have to merged by itself.)
This commit is contained in:
commit
ddced06be2
28 changed files with 1672 additions and 1457 deletions
|
|
@ -469,11 +469,6 @@ void AActor::Serialize (FArchive &arc)
|
|||
}
|
||||
}
|
||||
|
||||
void FMapThing::Serialize (FArchive &arc)
|
||||
{
|
||||
arc << thingid << x << y << z << angle << type << flags << special
|
||||
<< args[0] << args[1] << args[2] << args[3] << args[4];
|
||||
}
|
||||
|
||||
AActor::AActor () throw()
|
||||
{
|
||||
|
|
@ -4705,17 +4700,17 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
|
|||
AActor *mobj;
|
||||
fixed_t x, y, z;
|
||||
|
||||
if (mthing->type == 0 || mthing->type == -1)
|
||||
if (mthing->EdNum == 0 || mthing->EdNum == -1)
|
||||
return NULL;
|
||||
|
||||
// find which type to spawn
|
||||
FDoomEdEntry *mentry = DoomEdMap.CheckKey(mthing->type);
|
||||
FDoomEdEntry *mentry = mthing->info;
|
||||
|
||||
if (mentry == NULL)
|
||||
{
|
||||
// [RH] Don't die if the map tries to spawn an unknown thing
|
||||
Printf ("Unknown type %i at (%i, %i)\n",
|
||||
mthing->type,
|
||||
mthing->EdNum,
|
||||
mthing->x>>FRACBITS, mthing->y>>FRACBITS);
|
||||
mentry = DoomEdMap.CheckKey(0);
|
||||
if (mentry == NULL) // we need a valid entry for the rest of this function so if we can't find a default, let's exit right away.
|
||||
|
|
@ -4742,7 +4737,7 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
|
|||
|
||||
switch (mentry->Special)
|
||||
{
|
||||
case SMT_DEATHMATCHSTART:
|
||||
case SMT_DeathmatchStart:
|
||||
{
|
||||
// count deathmatch start positions
|
||||
FPlayerStart start(mthing, 0);
|
||||
|
|
@ -4750,10 +4745,10 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
case SMT_POLYANCHOR:
|
||||
case SMT_POLYSPAWN:
|
||||
case SMT_POLYSPAWNCRUSH:
|
||||
case SMT_POLYSPAWNHURT:
|
||||
case SMT_PolyAnchor:
|
||||
case SMT_PolySpawn:
|
||||
case SMT_PolySpawnCrush:
|
||||
case SMT_PolySpawnHurt:
|
||||
{
|
||||
polyspawns_t *polyspawn = new polyspawns_t;
|
||||
polyspawn->next = polyspawns;
|
||||
|
|
@ -4762,20 +4757,20 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
|
|||
polyspawn->angle = mthing->angle;
|
||||
polyspawn->type = mentry->Special;
|
||||
polyspawns = polyspawn;
|
||||
if (mentry->Special != SMT_POLYANCHOR)
|
||||
if (mentry->Special != SMT_PolyAnchor)
|
||||
po_NumPolyobjs++;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
case SMT_PLAYER1START:
|
||||
case SMT_PLAYER2START:
|
||||
case SMT_PLAYER3START:
|
||||
case SMT_PLAYER4START:
|
||||
case SMT_PLAYER5START:
|
||||
case SMT_PLAYER6START:
|
||||
case SMT_PLAYER7START:
|
||||
case SMT_PLAYER8START:
|
||||
pnum = mentry->Special - SMT_PLAYER1START;
|
||||
case SMT_Player1Start:
|
||||
case SMT_Player2Start:
|
||||
case SMT_Player3Start:
|
||||
case SMT_Player4Start:
|
||||
case SMT_Player5Start:
|
||||
case SMT_Player6Start:
|
||||
case SMT_Player7Start:
|
||||
case SMT_Player8Start:
|
||||
pnum = mentry->Special - SMT_Player1Start;
|
||||
break;
|
||||
|
||||
// Sound sequence override will be handled later
|
||||
|
|
@ -4860,7 +4855,7 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
|
|||
}
|
||||
|
||||
// [RH] sound sequence overriders
|
||||
if (mentry->Type == NULL && mentry->Special == SMT_SSEQOVERRIDE)
|
||||
if (mentry->Type == NULL && mentry->Special == SMT_SSeqOverride)
|
||||
{
|
||||
int type = mentry->Args[0];
|
||||
if (type == 255) type = -1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue