| 477 | } |
| 478 | |
| 479 | void 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 | |
| 517 | void CameraWndManager::shutdownModule() |
| 518 | { |
nothing calls this directly
no test coverage detected