My Project
ResourceEmbedded.h
1 #pragma once
2 #include "IO/FileUtils.h"
3 
5 #define LOAD_RESOURCE(RESOURCE) ([]() { \
6  extern const unsigned char _resource_##RESOURCE[]; extern const size_t _resource_##RESOURCE##_len; \
7  return ParaEngine::Resource((const char*)_resource_##RESOURCE,_resource_##RESOURCE##_len); \
8  })()
9 
11 #define ADD_RESOURCE(NAME, FILENAME) {Resource res = LOAD_RESOURCE(FILENAME); ParaEngine::CFileUtils::AddEmbeddedResource(NAME, res.data(), res.size());}
12 
13 
14 
15 namespace ParaEngine
16 {
17  class Resource {
18  public:
19  Resource(const char* start, const size_t len) : resource_data(start), data_len(len) {}
20 
21  const char * const &data() const { return resource_data; }
22  const size_t &size() const { return data_len; }
23 
24  const char *begin() const { return resource_data; }
25  const char *end() const { return resource_data + data_len; }
26 
27  std::string toString() { return std::string(data(), size()); }
28 
29  private:
30  const char* resource_data;
31  const size_t data_len;
32  };
33 
34 
35 }
37 {
38 public:
40  static CStaticInitRes& StaticInit();
41 };
different physics engine has different winding order.
Definition: EventBinding.h:32
Definition: ResourceEmbedded.h:17
Definition: ResourceEmbedded.h:36