diff options
Diffstat (limited to 'video/null.c')
-rw-r--r-- | video/null.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/video/null.c b/video/null.c new file mode 100644 index 000000000..bbd839cc0 --- /dev/null +++ b/video/null.c @@ -0,0 +1,45 @@ +#include "stdafx.h" +#include "openttd.h" +#include "gfx.h" +#include "variables.h" +#include "video/null.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, +}; |