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.

LoaderTR2.h 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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 loadRoomMesh(std::vector<IndexedRectangle>& rectangles,
  25. std::vector<IndexedRectangle>& triangles,
  26. uint16_t& numRectangles, uint16_t& numTriangles);
  27. virtual void loadRooms();
  28. virtual void loadFloorData();
  29. virtual void loadMeshes();
  30. virtual void loadMoveables();
  31. virtual void loadStaticMeshes();
  32. virtual void loadTextiles();
  33. virtual void loadSprites();
  34. virtual void loadCameras();
  35. virtual void loadSoundSources();
  36. virtual void loadBoxesOverlapsZones();
  37. virtual void loadAnimatedTextures();
  38. virtual void loadItems();
  39. virtual void loadCinematicFrames();
  40. virtual void loadDemoData();
  41. virtual void loadSoundMap();
  42. virtual void loadSoundDetails();
  43. virtual void loadSampleIndices();
  44. virtual void loadExternalSoundFile(std::string f);
  45. virtual int loadSoundFiles(BinaryReader& sfx, unsigned int count = 0);
  46. virtual int getPaletteIndex(uint16_t index);
  47. };
  48. #endif