main.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #include "StateMachine.h"
  2. #include "Timing.h"
  3. #include "Logger.h"
  4. #include "render/Text.h"
  5. #include "Graphics.h"
  6. #include "Quirks.h"
  7. #include "map/Map.h"
  8. #include "map/StateMap.h"
  9. #include "piaf/Archive.h"
  10. #include "utility/misc.h"
  11. using namespace WalrusRPG;
  12. using WalrusRPG::PIAF::Archive;
  13. using WalrusRPG::Graphics::Texture;
  14. using namespace WalrusRPG::Graphics;
  15. int main(int argc, char *argv[])
  16. {
  17. UNUSED(argc);
  18. Graphics::init();
  19. Logger::init();
  20. Logger::log("WalrusRPG Init");
  21. Timing::init();
  22. Quirks::init(argv[0]);
  23. Logger::debug("Before Text");
  24. Text::init();
  25. Logger::debug("Text done");
  26. Logger::debug("Before Archive");
  27. Archive arc("data/wip_data.wrf");
  28. Texture tex(arc.get("ov.png"));
  29. WalrusRPG::PIAF::File f1 = arc.get("l1.bin");
  30. WalrusRPG::PIAF::File f2 = arc.get("l2.bin");
  31. Logger::debug("Files ready");
  32. const uint8_t *l1 = f1.get();
  33. const uint8_t *l2 = f2.get();
  34. // TODO better map reading.
  35. uint16_t *dungeonTest = new uint16_t[f1.file_size / 2 + 1];
  36. uint16_t *dungeonTest2 = new uint16_t[f1.file_size / 2 + 1];
  37. for (unsigned i = 0; i < f1.file_size / 2; i++)
  38. {
  39. dungeonTest[i] = read_big_endian_value<uint16_t>(&l1[i * 2]);
  40. dungeonTest2[i] = read_big_endian_value<uint16_t>(&l2[i * 2]);
  41. }
  42. Map map(20, 20, dungeonTest, dungeonTest2, tex);
  43. tinystl::vector<Frame> stripe21;
  44. tinystl::vector<Frame> stripe22;
  45. stripe21.push_back({21, 23});
  46. stripe21.push_back({22, 31});
  47. stripe22.push_back({22, 37});
  48. stripe22.push_back({21, 41});
  49. map.anim.add_animation(21, {stripe21, true, 0});
  50. map.anim.add_animation(22, {stripe22, true, 0});
  51. StateMachine::init();
  52. StateMachine::push(new States::StateMap(0, 0, map));
  53. StateMachine::run();
  54. Logger::log("WalrusRPG Deinit");
  55. StateMachine::deinit();
  56. Text::deinit();
  57. Quirks::deinit();
  58. Timing::deinit();
  59. // delete[] dungeonTest;
  60. // delete[] dungeonTest2;
  61. Logger::log("WalrusRPG Exit");
  62. Graphics::deinit();
  63. return 0;
  64. }