main.cpp 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. Logger::log("WalrusRPG Init");
  19. Graphics::init();
  20. Timing::init();
  21. Quirks::init(argv[0]);
  22. Text::init();
  23. Archive arc("data/wip_data.wrf");
  24. Texture tex(arc.get("ov.png"));
  25. WalrusRPG::PIAF::File f1 = arc.get("l1.bin");
  26. WalrusRPG::PIAF::File f2 = arc.get("l2.bin");
  27. const uint8_t *l1 = f1.get();
  28. const uint8_t *l2 = f2.get();
  29. // TODO better map reading.
  30. uint16_t *dungeonTest = new uint16_t[f1.file_size / 2 + 1];
  31. uint16_t *dungeonTest2 = new uint16_t[f1.file_size / 2 + 1];
  32. for (unsigned i = 0; i < f1.file_size / 2; i++)
  33. {
  34. dungeonTest[i] = read_big_endian_value<uint16_t>(&l1[i * 2]);
  35. dungeonTest2[i] = read_big_endian_value<uint16_t>(&l2[i * 2]);
  36. }
  37. Map map(20, 20, dungeonTest, dungeonTest2, tex);
  38. tinystl::vector<Frame> stripe21;
  39. tinystl::vector<Frame> stripe22;
  40. stripe21.push_back({21, 23});
  41. stripe21.push_back({22, 31});
  42. stripe22.push_back({22, 37});
  43. stripe22.push_back({21, 41});
  44. map.anim.add_animation(21, {stripe21, true, 0});
  45. map.anim.add_animation(22, {stripe22, true, 0});
  46. StateMachine::init();
  47. StateMachine::push(new States::StateMap(0, 0, map));
  48. StateMachine::run();
  49. Logger::log("WalrusRPG Deinit");
  50. StateMachine::deinit();
  51. Quirks::deinit();
  52. Timing::deinit();
  53. Graphics::deinit();
  54. delete[] dungeonTest;
  55. delete[] dungeonTest2;
  56. Logger::log("WalrusRPG Exit");
  57. return 0;
  58. }