summaryrefslogtreecommitdiff
path: root/video/null_v.c
diff options
context:
space:
mode:
authortron <tron@openttd.org>2005-07-23 15:48:00 +0000
committertron <tron@openttd.org>2005-07-23 15:48:00 +0000
commit10fd03e222dfd78abd7e9c78a215d4b8bc36cf3b (patch)
tree265b5c47cc68bef828546de2508f0641f8563050 /video/null_v.c
parent54e02a620a6e71e30ac49c604ff225a44a3d623b (diff)
downloadopenttd-10fd03e222dfd78abd7e9c78a215d4b8bc36cf3b.tar.xz
(svn r2688) MSVC and Watcom can't handle identical file names in different directories, oh my...
Diffstat (limited to 'video/null_v.c')
-rw-r--r--video/null_v.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/video/null_v.c b/video/null_v.c
new file mode 100644
index 000000000..47dcb3c61
--- /dev/null
+++ b/video/null_v.c
@@ -0,0 +1,45 @@
+#include "stdafx.h"
+#include "openttd.h"
+#include "gfx.h"
+#include "variables.h"
+#include "video/null_v.h"
+#include "window.h"
+
+static void* _null_video_mem = NULL;
+
+static const char* NullVideoStart(const char* const* parm)
+{
+ _screen.width = _screen.pitch = _cur_resolution[0];
+ _screen.height = _cur_resolution[1];
+ _null_video_mem = malloc(_cur_resolution[0] * _cur_resolution[1]);
+ return NULL;
+}
+
+static void NullVideoStop(void) { free(_null_video_mem); }
+
+static void NullVideoMakeDirty(int left, int top, int width, int height) {}
+
+static int NullVideoMainLoop(void)
+{
+ uint i;
+
+ for (i = 0; i < 1000; i++) {
+ GameLoop();
+ _screen.dst_ptr = _null_video_mem;
+ UpdateWindows();
+ }
+
+ return ML_QUIT;
+}
+
+static bool NullVideoChangeRes(int w, int h) { return false; }
+static void NullVideoFullScreen(bool fs) {}
+
+const HalVideoDriver _null_video_driver = {
+ NullVideoStart,
+ NullVideoStop,
+ NullVideoMakeDirty,
+ NullVideoMainLoop,
+ NullVideoChangeRes,
+ NullVideoFullScreen,
+};