MCPcopy Create free account
hub / github.com/GlobedGD/globed2 / onJoinLevel

Method onJoinLevel

src/modules/two-player/TwoPlayerModule.cpp:42–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40}
41
42void TwoPlayerModule::onJoinLevel(GlobedGJBGL* gjbgl, GJGameLevel* level, bool editor) {
43 // if 2p mode is disabled, disable the module for this level
44 if (!RoomManager::get().getSettings().twoPlayerMode) {
45 (void) this->disable();
46 } else {
47 // safe mode is forced in 2 player mode
48 log::info("2p mode - enabling safe mode for the level");
49 gjbgl->setPermanentSafeMode();
50
51 // enable low latency interpolator
52 auto& lerper = gjbgl->m_fields->m_interpolator;
53 gjbgl->toggleCullingEnabled(false);
54 gjbgl->toggleExtendedData(true);
55 lerper.setLowLatencyMode(true);
56
57 if (mh::isHackEnabled(mh::MH_FRAME_EXTRAPOLATION)) {
58 mh::setHackEnabled(mh::MH_FRAME_EXTRAPOLATION, false);
59 PopupManager::get().alert(
60 "Globed Warning",
61 "<cy>Frame Extrapolation</c> in <cy>Mega Hack</c> is not compatible with this mode, so it has been disabled."
62 ).showQueue();
63 }
64 }
65}
66
67void TwoPlayerModule::onPlayerDeath(GlobedGJBGL* gjbgl, RemotePlayer* player, const PlayerDeath& death) {
68 auto& mod = TwoPlayerModule::get();

Callers

nothing calls this directly

Calls 10

isHackEnabledFunction · 0.85
setHackEnabledFunction · 0.85
disableMethod · 0.80
setPermanentSafeModeMethod · 0.80
toggleCullingEnabledMethod · 0.80
toggleExtendedDataMethod · 0.80
setLowLatencyModeMethod · 0.80
showQueueMethod · 0.80
alertMethod · 0.80
getFunction · 0.50

Tested by

no test coverage detected