(self, file, index)
| 16 | self.alias = alias |
| 17 | |
| 18 | def write(self, file, index): |
| 19 | |
| 20 | f = open(self.path, "rb") |
| 21 | raw_data = f.read() |
| 22 | f.close() |
| 23 | |
| 24 | data = zlib.compress(raw_data) |
| 25 | compressed = "true" |
| 26 | |
| 27 | cb = "{" |
| 28 | bc = "}" |
| 29 | cls = "Resource" + str(index) |
| 30 | file.write(f"\n// Resource file {self.path} as {self.alias}\n") |
| 31 | file.write( "namespace {\n") |
| 32 | file.write( "\n") |
| 33 | file.write(f" struct {cls}\n") |
| 34 | file.write( " {\n") |
| 35 | file.write(f" {cls}() {cb}\n") |
| 36 | file.write(f" static bool compressed = {compressed};\n") |
| 37 | file.write(f" static const char *name = \"{self.alias}\";\n") |
| 38 | file.write( " static const unsigned char data[] = {") |
| 39 | n = 0 |
| 40 | for b in data: |
| 41 | if n == 0: |
| 42 | file.write("\n ") |
| 43 | file.write("0x%02x," % b) |
| 44 | n += 1 |
| 45 | if n == 16: |
| 46 | n = 0 |
| 47 | file.write( "\n") |
| 48 | file.write( " };\n") |
| 49 | file.write( " m_id = tl::register_resource(name, compressed, data, sizeof(data) / sizeof(data[0]));\n") |
| 50 | file.write( " }\n") |
| 51 | file.write(f" ~{cls}() {cb}\n") |
| 52 | file.write( " tl::unregister_resource(m_id);\n") |
| 53 | file.write( " }\n") |
| 54 | file.write( " tl::resource_id_type m_id;\n") |
| 55 | file.write(f" {bc} resource_instance{index};\n") |
| 56 | file.write( "\n") |
| 57 | file.write( "}\n") |
| 58 | |
| 59 | |
| 60 | class RCGenerator(object): |
no test coverage detected