Open Source Tomb Raider Engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CommandRender.cpp 1.4KB

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. getLog() << "mode-Command Usage:" << Log::endl;
  19. getLog() << " mode MODE" << Log::endl;
  20. getLog() << "Where MODE is one of the following:" << Log::endl;
  21. getLog() << " wireframe" << Log::endl;
  22. getLog() << " solid" << Log::endl;
  23. getLog() << " texture" << Log::endl;
  24. getLog() << " 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. getLog() << "Wireframe mode" << Log::endl;
  32. } else if (s == "solid") {
  33. Render::setMode(RenderMode::Solid);
  34. getLog() << "Solid mode" << Log::endl;
  35. } else if (s == "texture") {
  36. Render::setMode(RenderMode::Texture);
  37. getLog() << "Texture Mode" << Log::endl;
  38. } else if (s == "titlescreen") {
  39. Render::setMode(RenderMode::LoadScreen);
  40. getLog() << "Titlescreen mode" << Log::endl;
  41. } else {
  42. getLog() << "Invalid use of mode command (" << s << ")!" << Log::endl;
  43. return -2;
  44. }
  45. return 0;
  46. }