summaryrefslogtreecommitdiff
path: root/src/platform
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-07-28 00:30:33 +0800
committerchai <chaifix@163.com>2020-07-28 00:30:33 +0800
commit5dfdb6b58b2dc7bbd3348004c1fcd17e23fea48b (patch)
treea03f1a01382595ed50cc4780a728b22013f6d5a0 /src/platform
parent690f20cdbe8dad3fce7a547934a5a8322303342d (diff)
*embed resource in exeHEADmaster
Diffstat (limited to 'src/platform')
-rw-r--r--src/platform/win.c20
-rw-r--r--src/platform/win.h6
2 files changed, 26 insertions, 0 deletions
diff --git a/src/platform/win.c b/src/platform/win.c
new file mode 100644
index 0000000..da864b2
--- /dev/null
+++ b/src/platform/win.c
@@ -0,0 +1,20 @@
+#include "win.h"
+#include "../util/assert.h"
+#include <windows.h>
+
+void* resource_get(const char* name, int* out_size) {
+ HRSRC handle = FindResource(0, name, "RESOURCE");
+ assert(handle);
+
+ HGLOBAL data = LoadResource(0, handle);
+ assert(data);
+
+ void *ptr = LockResource(data);
+ assert(ptr);
+
+ DWORD t_size = SizeofResource(0, handle);
+ assert(t_size);
+
+ *out_size = t_size;
+ return ptr;
+}
diff --git a/src/platform/win.h b/src/platform/win.h
new file mode 100644
index 0000000..bc2a10c
--- /dev/null
+++ b/src/platform/win.h
@@ -0,0 +1,6 @@
+#ifndef RESOURCE_H_
+#define RESOURCE_H_
+
+void* resource_get(const char* name, int* out_size);
+
+#endif \ No newline at end of file