MCPcopy Create free account
hub / github.com/codereader/DarkRadiant / initialiseModule

Method initialiseModule

radiant/camera/CameraWndManager.cpp:479–515  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

477}
478
479void CameraWndManager::initialiseModule(const IApplicationContext& ctx)
480{
481 // greebo: If at startup time the render mode is set to LIGHTING, fall back
482 // to textured. During startup the openGL contexts are not realised yet and the
483 // openGL module is tricked into believing there are no GLSL shader programs supported.
484 // Later on, when switching back to TEXTURED the rendersystem will attempt to destroy
485 // program objects it never created.
486 if (registry::getValue<int>(RKEY_DRAWMODE) == RENDER_MODE_LIGHTING)
487 {
488 registry::setValue(RKEY_DRAWMODE, RENDER_MODE_TEXTURED);
489 }
490
491 registerCommands();
492 loadCameraStrafeDefinitions();
493
494 CamWnd::captureStates();
495
496 IMouseToolGroup& toolGroup = GlobalMouseToolManager().getGroup(IMouseToolGroup::Type::CameraView);
497
498 toolGroup.registerMouseTool(std::make_shared<FreeMoveTool>());
499 toolGroup.registerMouseTool(std::make_shared<PanViewTool>());
500 toolGroup.registerMouseTool(std::make_shared<PickShaderTool>());
501 toolGroup.registerMouseTool(std::make_shared<PasteShaderProjectedTool>());
502 toolGroup.registerMouseTool(std::make_shared<PasteShaderNaturalTool>());
503 toolGroup.registerMouseTool(std::make_shared<PasteShaderCoordsTool>());
504 toolGroup.registerMouseTool(std::make_shared<PasteShaderToBrushTool>());
505 toolGroup.registerMouseTool(std::make_shared<PasteShaderNameTool>());
506 toolGroup.registerMouseTool(std::make_shared<JumpToObjectTool>());
507
508 GlobalUserInterface().registerControl(std::make_shared<CameraControl>(*this));
509
510 GlobalMainFrame().signal_MainFrameConstructed().connect([&]()
511 {
512 // When creating new camera views, use a floating window
513 GlobalMainFrame().addControl(UserControl::Camera, { IMainFrame::Location::FloatingWindow, false });
514 });
515}
516
517void CameraWndManager::shutdownModule()
518{

Callers

nothing calls this directly

Calls 6

setValueFunction · 0.85
registerMouseToolMethod · 0.80
registerCommandsFunction · 0.50
registerControlMethod · 0.45
connectMethod · 0.45
addControlMethod · 0.45

Tested by

no test coverage detected