diff --git a/common/config-file.cpp b/common/config-file.cpp
index 58e4fe3fcde..5f636175610 100644
--- a/common/config-file.cpp
+++ b/common/config-file.cpp
@@ -29,7 +29,7 @@
#include "common/util.h"
#include "common/debug.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#define MAXLINELEN 256
diff --git a/common/debug.cpp b/common/debug.cpp
index 046310dd7de..67d65141841 100644
--- a/common/debug.cpp
+++ b/common/debug.cpp
@@ -27,7 +27,7 @@
#include "common/debug.h"
#include "common/str.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
Common::String tag2string(uint32 tag) {
char str[5];
diff --git a/common/fs.cpp b/common/fs.cpp
index e36c0c4073f..fcc12a3e89a 100644
--- a/common/fs.cpp
+++ b/common/fs.cpp
@@ -23,7 +23,7 @@
*/
#include "common/util.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include "engine/backend/fs/abstract-fs.h"
#include "engine/backend/fs/fs-factory.h"
diff --git a/common/mutex.cpp b/common/mutex.cpp
index b87252a628f..e8dfeed87cf 100644
--- a/common/mutex.cpp
+++ b/common/mutex.cpp
@@ -26,7 +26,7 @@
#include "common/mutex.h"
#include "common/debug.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
namespace Common {
diff --git a/dists/msvc7/residual.vcproj b/dists/msvc7/residual.vcproj
index 08a813cc9f1..bc26804debf 100644
--- a/dists/msvc7/residual.vcproj
+++ b/dists/msvc7/residual.vcproj
@@ -683,35 +683,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ Name="timer">
+
+
+
+
+
+
@@ -761,6 +745,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ Name="timer">
+
+
+
+
+
+
@@ -775,6 +759,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include
diff --git a/engine/backend/platform/driver.h b/engine/backend/platform/driver.h
index 9d84ec989e3..02c0d5966ba 100644
--- a/engine/backend/platform/driver.h
+++ b/engine/backend/platform/driver.h
@@ -37,7 +37,7 @@
#include "engine/font.h"
#include "engine/primitives.h"
#include "engine/actor.h"
-#include "engine/backend/default-timer.h"
+#include "engine/backend/timer/default/default-timer.h"
class Material;
class Bitmap;
diff --git a/engine/backend/platform/sdl/driver_gl.cpp b/engine/backend/platform/sdl/driver_gl.cpp
index ac8327e873b..19abee2a4cb 100644
--- a/engine/backend/platform/sdl/driver_gl.cpp
+++ b/engine/backend/platform/sdl/driver_gl.cpp
@@ -29,7 +29,7 @@
#include "engine/colormap.h"
#include "engine/material.h"
-#include "engine/backend/sdl/driver_gl.h"
+#include "engine/backend/platform/sdl/driver_gl.h"
// Constructor. Should create the driver and open screens, etc.
DriverGL::DriverGL(int screenW, int screenH, int screenBPP, bool fullscreen) {
diff --git a/engine/backend/platform/sdl/driver_gl.h b/engine/backend/platform/sdl/driver_gl.h
index 1855d2f4f02..6ad1533f409 100644
--- a/engine/backend/platform/sdl/driver_gl.h
+++ b/engine/backend/platform/sdl/driver_gl.h
@@ -34,8 +34,8 @@
#include "engine/colormap.h"
#include "engine/bitmap.h"
-#include "engine/backend/driver.h"
-#include "engine/backend/sdl/driver_sdl.h"
+#include "engine/backend/platform/driver.h"
+#include "engine/backend/platform/sdl/driver_sdl.h"
#include
#include
diff --git a/engine/backend/platform/sdl/driver_sdl.cpp b/engine/backend/platform/sdl/driver_sdl.cpp
index be4d820ff71..db5a2632a56 100644
--- a/engine/backend/platform/sdl/driver_sdl.cpp
+++ b/engine/backend/platform/sdl/driver_sdl.cpp
@@ -27,8 +27,8 @@
#include "mixer/mixer_intern.h"
-#include "engine/backend/sdl/driver_sdl.h"
-#include "engine/backend/default-timer.h"
+#include "engine/backend/platform/sdl/driver_sdl.h"
+#include "engine/backend/timer/default/default-timer.h"
#include "engine/backend/saves/default/default-saves.h"
#ifdef _WIN32
diff --git a/engine/backend/platform/sdl/driver_sdl.h b/engine/backend/platform/sdl/driver_sdl.h
index e40f5b52773..5c5f1142959 100644
--- a/engine/backend/platform/sdl/driver_sdl.h
+++ b/engine/backend/platform/sdl/driver_sdl.h
@@ -33,7 +33,7 @@
#include "engine/model.h"
#include "engine/colormap.h"
#include "engine/bitmap.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include
diff --git a/engine/backend/platform/sdl/driver_tinygl.cpp b/engine/backend/platform/sdl/driver_tinygl.cpp
index 580636dc821..d3a84705249 100644
--- a/engine/backend/platform/sdl/driver_tinygl.cpp
+++ b/engine/backend/platform/sdl/driver_tinygl.cpp
@@ -31,7 +31,7 @@
#include "engine/colormap.h"
#include "engine/material.h"
#include "engine/font.h"
-#include "engine/backend/sdl/driver_tinygl.h"
+#include "engine/backend/platform/sdl/driver_tinygl.h"
#include "engine/tinygl/gl.h"
#include "engine/tinygl/zgl.h"
diff --git a/engine/backend/platform/sdl/driver_tinygl.h b/engine/backend/platform/sdl/driver_tinygl.h
index da3f785c822..c2bf84d13d2 100644
--- a/engine/backend/platform/sdl/driver_tinygl.h
+++ b/engine/backend/platform/sdl/driver_tinygl.h
@@ -33,8 +33,8 @@
#include "engine/model.h"
#include "engine/colormap.h"
#include "engine/bitmap.h"
-#include "engine/backend/driver.h"
-#include "engine/backend/sdl/driver_sdl.h"
+#include "engine/backend/platform/driver.h"
+#include "engine/backend/platform/sdl/driver_sdl.h"
#include "engine/tinygl/gl.h"
#include "engine/tinygl/zgl.h"
diff --git a/engine/backend/timer/default/default-timer.cpp b/engine/backend/timer/default/default-timer.cpp
index 4f7f504a3d8..3b6eccdf4b6 100644
--- a/engine/backend/timer/default/default-timer.cpp
+++ b/engine/backend/timer/default/default-timer.cpp
@@ -25,8 +25,8 @@
#include "common/sys.h"
-#include "engine/backend/driver.h"
-#include "engine/backend/default-timer.h"
+#include "engine/backend/platform/driver.h"
+#include "engine/backend/timer/default/default-timer.h"
struct TimerSlot {
Common::TimerManager::TimerProc callback;
diff --git a/engine/bitmap.cpp b/engine/bitmap.cpp
index c62c92b624b..7aa97070d26 100644
--- a/engine/bitmap.cpp
+++ b/engine/bitmap.cpp
@@ -29,7 +29,7 @@
#include "engine/bitmap.h"
#include "engine/smush/smush.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include
#include
diff --git a/engine/engine.cpp b/engine/engine.cpp
index 3e81a60db37..4bb8a4a0989 100644
--- a/engine/engine.cpp
+++ b/engine/engine.cpp
@@ -33,7 +33,7 @@
#include "engine/actor.h"
#include "engine/textobject.h"
#include "engine/smush/smush.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include "engine/savegame.h"
#include "engine/lipsynch.h"
diff --git a/engine/font.cpp b/engine/font.cpp
index 67ee2b75eed..bbc7c08ae62 100644
--- a/engine/font.cpp
+++ b/engine/font.cpp
@@ -28,7 +28,7 @@
#include "common/debug.h"
#include "engine/font.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include
diff --git a/engine/imuse/imuse_script.cpp b/engine/imuse/imuse_script.cpp
index 2c83931d046..5fe8f739e91 100644
--- a/engine/imuse/imuse_script.cpp
+++ b/engine/imuse/imuse_script.cpp
@@ -28,7 +28,7 @@
#include "common/timer.h"
#include "common/mutex.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include "mixer/mixer.h"
#include "mixer/audiostream.h"
diff --git a/engine/imuse/imuse_track.cpp b/engine/imuse/imuse_track.cpp
index 4d0c492f663..9f2c6351665 100644
--- a/engine/imuse/imuse_track.cpp
+++ b/engine/imuse/imuse_track.cpp
@@ -27,7 +27,7 @@
#include "common/debug.h"
#include "common/mutex.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include "mixer/mixer.h"
#include "mixer/audiostream.h"
diff --git a/engine/lua/liolib.cpp b/engine/lua/liolib.cpp
index 9a61f005526..3d35487ce3c 100644
--- a/engine/lua/liolib.cpp
+++ b/engine/lua/liolib.cpp
@@ -11,7 +11,7 @@
#include "engine/lua/lualib.h"
#include "engine/resource.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include
diff --git a/engine/main.cpp b/engine/main.cpp
index 56b92aebaa9..22a478d1487 100644
--- a/engine/main.cpp
+++ b/engine/main.cpp
@@ -36,8 +36,8 @@
#include "engine/version.h"
#include "engine/smush/smush.h"
-#include "engine/backend/sdl/driver_gl.h"
-#include "engine/backend/sdl/driver_tinygl.h"
+#include "engine/backend/platform/sdl/driver_gl.h"
+#include "engine/backend/platform/sdl/driver_tinygl.h"
#include "mixer/mixer.h"
diff --git a/engine/material.cpp b/engine/material.cpp
index 5cc1f9cfca7..002f2ab879b 100644
--- a/engine/material.cpp
+++ b/engine/material.cpp
@@ -29,7 +29,7 @@
#include "engine/material.h"
#include "engine/colormap.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
Material::Material(const char *filename, const char *data, int len, const CMap &cmap) :
Resource(filename), _cmap((CMap *) &cmap) {
diff --git a/engine/model.cpp b/engine/model.cpp
index 1697efecb74..f5521e65868 100644
--- a/engine/model.cpp
+++ b/engine/model.cpp
@@ -31,7 +31,7 @@
#include "engine/resource.h"
#include "engine/material.h"
#include "engine/textsplit.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include
diff --git a/engine/primitives.cpp b/engine/primitives.cpp
index e543c45ac09..e3cf5db2e08 100644
--- a/engine/primitives.cpp
+++ b/engine/primitives.cpp
@@ -28,7 +28,7 @@
#include "engine/font.h"
#include "engine/color.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include "engine/primitives.h"
#include
diff --git a/engine/primitives.h b/engine/primitives.h
index 9ec046d525c..b60e79c73c2 100644
--- a/engine/primitives.h
+++ b/engine/primitives.h
@@ -31,7 +31,7 @@
#include "engine/font.h"
#include "engine/color.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include
diff --git a/engine/scene.cpp b/engine/scene.cpp
index 5c5e202da08..2bb5e9e6d06 100644
--- a/engine/scene.cpp
+++ b/engine/scene.cpp
@@ -32,7 +32,7 @@
#include "engine/resource.h"
#include "engine/bitmap.h"
#include "engine/colormap.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include "engine/engine.h"
#include "engine/imuse/imuse.h"
diff --git a/engine/smush/smush.cpp b/engine/smush/smush.cpp
index 4a1edd9809b..95a64b0b91c 100644
--- a/engine/smush/smush.cpp
+++ b/engine/smush/smush.cpp
@@ -32,7 +32,7 @@
#include "engine/smush/smush.h"
#include "engine/resource.h"
#include "engine/engine.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include "engine/imuse/imuse_track.h"
#include "mixer/mixer.h"
diff --git a/engine/textobject.cpp b/engine/textobject.cpp
index f16b57934be..fe88e8e10df 100644
--- a/engine/textobject.cpp
+++ b/engine/textobject.cpp
@@ -29,7 +29,7 @@
#include "engine/textobject.h"
#include "engine/engine.h"
#include "engine/localize.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
std::string parseMsgText(const char *msg, char *msgId);
diff --git a/engine/textobject.h b/engine/textobject.h
index 389a6560f0d..0e97e599208 100644
--- a/engine/textobject.h
+++ b/engine/textobject.h
@@ -30,7 +30,7 @@
#include "engine/font.h"
#include "engine/color.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include
diff --git a/mixer/audiostream.cpp b/mixer/audiostream.cpp
index c01cc8ac6c5..3ae212ff866 100644
--- a/mixer/audiostream.cpp
+++ b/mixer/audiostream.cpp
@@ -28,7 +28,7 @@
#include "common/list.h"
#include "common/util.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
#include "mixer/audiostream.h"
#include "mixer/mixer.h"
diff --git a/mixer/mixer.cpp b/mixer/mixer.cpp
index b718d3af17b..59bfc88e805 100644
--- a/mixer/mixer.cpp
+++ b/mixer/mixer.cpp
@@ -30,7 +30,7 @@
#include "mixer/rate.h"
#include "mixer/audiostream.h"
-#include "engine/backend/driver.h"
+#include "engine/backend/platform/driver.h"
namespace Audio {