Open Source Tomb Raider Engine
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

CommandRender.cpp 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*!
  2. * \file src/commands/CommandRender.cpp
  3. * \brief Renderer commands
  4. *
  5. * \author xythobuz
  6. */
  7. #include "global.h"
  8. #include "Log.h"
  9. #include "Render.h"
  10. #include "commands/CommandRender.h"
  11. std::string CommandMode::name() {
  12. return "mode";
  13. }
  14. std::string CommandMode::brief() {
  15. return "MODE - Render mode";
  16. }
  17. void CommandMode::printHelp() {
  18. Log::get(LOG_USER) << "mode-Command Usage:" << Log::endl;
  19. Log::get(LOG_USER) << " mode MODE" << Log::endl;
  20. Log::get(LOG_USER) << "Where MODE is one of the following:" << Log::endl;
  21. Log::get(LOG_USER) << " wireframe" << Log::endl;
  22. Log::get(LOG_USER) << " solid" << Log::endl;
  23. Log::get(LOG_USER) << " texture" << Log::endl;
  24. Log::get(LOG_USER) << " titlescreen" << Log::endl;
  25. }
  26. int CommandMode::execute(std::istream& args) {
  27. std::string s;
  28. args >> s;
  29. if (s == "wireframe") {
  30. Render::setMode(RenderMode::Wireframe);
  31. Log::get(LOG_USER) << "Wireframe mode" << Log::endl;
  32. } else if (s == "solid") {
  33. Render::setMode(RenderMode::Solid);
  34. Log::get(LOG_USER) << "Solid mode" << Log::endl;
  35. } else if (s == "texture") {
  36. Render::setMode(RenderMode::Texture);
  37. Log::get(LOG_USER) << "Texture Mode" << Log::endl;
  38. } else if (s == "titlescreen") {
  39. Render::setMode(RenderMode::LoadScreen);
  40. Log::get(LOG_USER) << "Titlescreen mode" << Log::endl;
  41. } else {
  42. Log::get(LOG_USER) << "Invalid use of mode command (" << s << ")!" << Log::endl;
  43. return -2;
  44. }
  45. return 0;
  46. }