Permalink
Browse files

Merge remote-tracking branch 'origin/new_level_refactor' into HEAD

  • Loading branch information...
raa-eruanna committed Feb 6, 2019
2 parents 0590de3 + 74d34f6 commit 4f0850b098d8bafae740482a89d74479bb04844c
Showing with 7 additions and 6 deletions.
  1. +3 −2 src/events.cpp
  2. +1 −1 src/events.h
  3. +1 −1 src/gamedata/info.cpp
  4. +1 −1 src/p_setup.cpp
  5. +1 −1 src/wi_stuff.cpp
@@ -217,14 +217,15 @@ void EventManager::InitHandler(PClass* type)
RegisterHandler(handler);
}

void EventManager::InitStaticHandlers(bool map)
void EventManager::InitStaticHandlers(FLevelLocals *l, bool map)
{
// don't initialize map handlers if restoring from savegame.
if (savegamerestore)
return;

// just make sure
Shutdown();
Level = l;

// initialize event handlers from gameinfo
for (const FString& typeName : gameinfo.EventHandlers)
@@ -241,7 +242,7 @@ void EventManager::InitStaticHandlers(bool map)
return;

// initialize event handlers from mapinfo
for (const FString& typeName : level.info->EventHandlers)
for (const FString& typeName : Level->info->EventHandlers)
{
PClass* type = GetHandlerClass(typeName);
if (IsStaticType(type))
@@ -249,7 +249,7 @@ struct EventManager
// check type
bool IsStaticType(PClass* type);
// init static handlers
void InitStaticHandlers(bool map);
void InitStaticHandlers(FLevelLocals *l, bool map);
// shutdown handlers
void Shutdown();

@@ -395,7 +395,7 @@ void PClassActor::StaticInit()
InitBotStuff();

// reinit GLOBAL static stuff from gameinfo, once classes are loaded.
staticEventManager.InitStaticHandlers(false);
staticEventManager.InitStaticHandlers(primaryLevel, false);
}

//==========================================================================
@@ -423,7 +423,7 @@ void P_SetupLevel(FLevelLocals *Level, int position, bool newGame)

// [ZZ] init per-map static handlers. we need to call this before everything is set up because otherwise scripts don't receive PlayerEntered event
// (which happens at god-knows-what stage in this function, but definitely not the last part, because otherwise it'd work to put E_InitStaticHandlers before the player spawning)
Level->localEventManager->InitStaticHandlers(true);
Level->localEventManager->InitStaticHandlers(Level, true);

// generate a checksum for the level, to be included and checked with savegames.
map->GetChecksum(Level->md5);
@@ -271,7 +271,7 @@ bool DInterBackground::LoadBackground(bool isenterpic)
texture.SetInvalid();

level_info_t * li = FindLevelInfo(wbs->current);
if (li != nullptr) exitpic = li->EnterPic;
if (li != nullptr) exitpic = li->ExitPic;
lumpname = exitpic;

if (isenterpic)

0 comments on commit 4f0850b

Please sign in to comment.