summaryrefslogtreecommitdiff
path: root/library/PlugLoad-windows.cpp
diff options
context:
space:
mode:
authorPetr Mrázek2012-02-28 03:37:56 +0100
committerPetr Mrázek2012-02-28 03:37:56 +0100
commit731472a4781f091ae313bd39d512207e920db10c (patch)
tree25242218ca8f641ef4b36c6d6f46b4ad6cfb1f62 /library/PlugLoad-windows.cpp
parentf8721c88b57b22842a2d0ecf60f58b31d151b600 (diff)
downloaddfhack-731472a4781f091ae313bd39d512207e920db10c.tar.gz
dfhack-731472a4781f091ae313bd39d512207e920db10c.tar.bz2
dfhack-731472a4781f091ae313bd39d512207e920db10c.tar.xz
Add eggy hooks (linux only for now)
Diffstat (limited to 'library/PlugLoad-windows.cpp')
-rw-r--r--library/PlugLoad-windows.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/library/PlugLoad-windows.cpp b/library/PlugLoad-windows.cpp
new file mode 100644
index 00000000..eadc9343
--- /dev/null
+++ b/library/PlugLoad-windows.cpp
@@ -0,0 +1,55 @@
+/*
+https://github.com/peterix/dfhack
+Copyright (c) 2009-2011 Petr Mrázek (peterix@gmail.com)
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any
+damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any
+purpose, including commercial applications, and to alter it and
+redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must
+not claim that you wrote the original software. If you use this
+software in a product, an acknowledgment in the product documentation
+would be appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and
+must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source
+distribution.
+*/
+
+#define DFhackCExport extern "C" __declspec(dllexport)
+
+#include <windows.h>
+#include <stdint.h>
+#include <vector>
+#include <string>
+#include "Core.h"
+#include "Hooks.h"
+#include <stdio.h>
+
+#include "tinythread.h"
+#include "modules/Graphic.h"
+
+/*
+ * Plugin loading functions
+ */
+namespace DFHack
+{
+ DFLibrary * OpenPlugin (const char * filename)
+ {
+ return (DFLibrary *) LoadLibrary(filename);
+ }
+ void * LookupPlugin (DFLibrary * plugin ,const char * function)
+ {
+ return (void *) GetProcAddress((HMODULE)plugin, function);
+ }
+ void ClosePlugin (DFLibrary * plugin)
+ {
+ FreeLibrary((HMODULE) plugin);
+ }
+} \ No newline at end of file