* Updated to ZDoom r3383:

- Added writemidi console command. If the currently playing song is a MIDI variant, this will write it to disk.
- Fixed: XMISong::ProcessInitialMetaEvents() did not set the Division for tempo events. (Why does XMI modify the division based on the tempo?)
- Fixed: UDMFParser::AddUserKey() checked against the wrong token types when determining the values type. Also, GetUDMFInt() performed a float-to-fixed conversion on the value it returned.
- Fixed: The nodebuilder is highly likely to renumber vertices, so we need to remember how the original vertices map to the new ones until after vertex slopes are handled.
- Added custom flechettes patch, with ArtiPoisonBag4 renamed to ArtiPoisonBagGiver and ArtiPoisonBag5 renamed to ArtiPoisonBagShooter.
- Added thrupushups fix.
- Added HMI/XMI division fixes, and partially the XMI tempo fix (not currently used).
- Fix strife linetype 11 again.
- Added startup screen customization.
- Print named script's names for the scriptstat console command.
- Added ACS_NamedExecuteWithResult for DECORATE expressions. Since this is a pretty long name, you can also use CallACS, if you wish. The two are synonyms.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1287 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
gez 2012-02-23 00:48:50 +00:00
parent 17f87f870f
commit 40af0eae39
25 changed files with 354 additions and 48 deletions

View file

@ -73,7 +73,7 @@
#define MISSING_TEXTURE_WARN_LIMIT 20
void P_SpawnSlopeMakers (FMapThing *firstmt, FMapThing *lastmt);
void P_SpawnSlopeMakers (FMapThing *firstmt, FMapThing *lastmt, const int *oldvertextable);
void P_SetSlopes ();
void P_CopySlopes();
void BloodCrypt (void *data, int key, int len);
@ -3444,6 +3444,7 @@ void P_SetupLevel (char *lumpname, int position)
int numbuildthings;
int i;
bool buildmap;
const int *oldvertextable = NULL;
// This is motivated as follows:
@ -3758,7 +3759,7 @@ void P_SetupLevel (char *lumpname, int position)
bool BuildGLNodes;
if (ForceNodeBuild)
{
BuildGLNodes = Renderer->RequireGLNodes() || am_textured || multiplayer || demoplayback || demorecording || genglnodes;
BuildGLNodes = RequireGLNodes || multiplayer || demoplayback || demorecording || genglnodes;
startTime = I_FPSTime ();
TArray<FNodeBuilder::FPolyStart> polyspots, anchors;
@ -3782,6 +3783,7 @@ void P_SetupLevel (char *lumpname, int position)
vertexes, numvertexes);
endTime = I_FPSTime ();
DPrintf ("BSP generation took %.3f sec (%d segs)\n", (endTime - startTime) * 0.001, numsegs);
oldvertextable = builder.GetOldVertexTable();
reloop = true;
}
else
@ -3868,7 +3870,7 @@ void P_SetupLevel (char *lumpname, int position)
if (!buildmap)
{
// [RH] Spawn slope creating things first.
P_SpawnSlopeMakers (&MapThingsConverted[0], &MapThingsConverted[MapThingsConverted.Size()]);
P_SpawnSlopeMakers (&MapThingsConverted[0], &MapThingsConverted[MapThingsConverted.Size()], oldvertextable);
P_CopySlopes();
// Spawn 3d floors - must be done before spawning things so it can't be done in P_SpawnSpecials
@ -3898,6 +3900,10 @@ void P_SetupLevel (char *lumpname, int position)
delete[] buildthings;
}
delete map;
if (oldvertextable != NULL)
{
delete[] oldvertextable;
}
// set up world state
P_SpawnSpecials ();