Simulant  21.12-574
A portable game engine for Windows, OSX, Linux, Dreamcast, and PSP
ms3d_loader.h
1 #pragma once
2 
3 #include "../loader.h"
4 
5 namespace smlt {
6 namespace loaders {
7 
8 class MS3DLoader : public Loader {
9 public:
10  MS3DLoader(const Path& filename, std::shared_ptr<std::istream> data);
11 
12  void into(Loadable& resource, const LoaderOptions& options = LoaderOptions());
13 };
14 
15 void parse_face(const std::string& input, int32_t& vertex_index, int32_t& tex_index, int32_t& normal_index);
16 
17 class MS3DLoaderType : public LoaderType {
18 public:
19  MS3DLoaderType() {
20 
21  }
22 
23  virtual ~MS3DLoaderType() {}
24 
25  const char* name() override { return "MS3D"; }
26  bool supports(const Path& filename) const override {
27  return filename.ext() == ".ms3d";
28  }
29 
30  Loader::ptr loader_for(const Path& filename, std::shared_ptr<std::istream> data) const override {
31  return Loader::ptr(new MS3DLoader(filename, data));
32  }
33 };
34 
35 }
36 }
smlt::loaders::MS3DLoaderType
Definition: ms3d_loader.h:17
smlt
Definition: animation.cpp:25
smlt::LoaderType
Definition: loader.h:111
smlt::Loader
Definition: loader.h:66
smlt::Path
Definition: path.h:7
smlt::Loadable
Definition: loadable.h:26
smlt::loaders::MS3DLoader
Definition: ms3d_loader.h:8