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.7KB

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