#pragma once #include "MW4.hpp" #include "AI_DebugRenderer.hpp" #include "MWDebugHelper.hpp" #include namespace MechWarrior4 { //########################################################################## //########################### MWVideoRenderer ######################## //########################################################################## class MWVideoRenderer: public Adept::VideoRenderer { public: static void InitializeClass(); static void TerminateClass(); static ClassData *DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Destruction, and Testing // public: ~MWVideoRenderer(); MWVideoRenderer(bool display_gui); void SetFadeLevel(Scalar level, const Stuff::RGBColor& color) { Verify(fadeLevel >= 0); Verify(fadeLevel <= 1); fadeLevel = level; fadeColor = color; }; void SetCinemaScopeWidthRatio(Scalar ratio) { Verify(ratio > 0); cinemaScopeRatio = ratio; }; void TurnOnCinemaScope(){drawCinemaScope = true;}; void TurnOffCinemaScope(){drawCinemaScope = false;}; void DrawCinemaScope(void); void DrawFade(void); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Interest Manager support // public: void EntityIsInteresting( Entity *entity, bool render_me ); protected: // 0 = nofade // 1 = fullfade Scalar fadeLevel; Stuff::RGBColor fadeColor; Scalar cinemaScopeRatio; bool drawCinemaScope; void ExecuteImplementation(Stuff::Time target_time); void SetCamera(CameraComponent *camera); public: static void SetDrawBlack(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // AI Debug Renderer // private: MechWarrior4::DebugHelper m_DebugHelper; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Test functions // public: void TestInstance() const; }; }