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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*!
  2. * \file include/loader/LoaderTR2.h
  3. * \brief TR2 level file loader
  4. *
  5. * \author xythobuz
  6. */
  7. #ifndef _LOADER_LOADER_TR2_H_
  8. #define _LOADER_LOADER_TR2_H_
  9. #include <array>
  10. #include <cstdint>
  11. #include "RoomData.h"
  12. #include "RoomMesh.h"
  13. #include "loader/Loader.h"
  14. class LoaderTR2 : public Loader {
  15. public:
  16. virtual int load(std::string f);
  17. protected:
  18. virtual void loadPalette();
  19. virtual void loadTextures();
  20. virtual void loadRoomLights();
  21. virtual void loadRoomStaticMeshes(std::vector<StaticModel*>& staticModels);
  22. virtual void loadRoomDataEnd(int16_t& alternateRoom, unsigned int& roomFlags);
  23. virtual void loadRoomVertex(RoomVertexTR2& vert);
  24. virtual void loadRooms();
  25. virtual void loadFloorData();
  26. virtual void loadMeshes();
  27. virtual void loadMoveables();
  28. virtual void loadStaticMeshes();
  29. virtual void loadTextiles();
  30. virtual void loadSprites();
  31. virtual void loadCameras();
  32. virtual void loadSoundSources();
  33. virtual void loadBoxesOverlapsZones();
  34. virtual void loadAnimatedTextures();
  35. virtual void loadItems();
  36. virtual void loadCinematicFrames();
  37. virtual void loadDemoData();
  38. virtual void loadSoundMap();
  39. virtual void loadSoundDetails();
  40. virtual void loadSampleIndices();
  41. virtual void loadExternalSoundFile(std::string f);
  42. virtual int loadSoundFiles(BinaryReader& sfx, unsigned int count = 0);
  43. virtual int getPaletteIndex(uint16_t index);
  44. };
  45. #endif