Scene: Add ::supported() method and implement it for scenes that need it.
diff --git a/src/scene.h b/src/scene.h
index c52239a..ebd8e82 100644
--- a/src/scene.h
+++ b/src/scene.h
@@ -74,6 +74,15 @@
     };
 
     /**
+     * Checks whether this scene (in its current configuration) is supported.
+     *
+     * @param show_errors whether to log errors about unsupported features
+     *
+     * @return whether the scene is supported
+     */
+    virtual bool supported(bool show_errors);
+
+    /**
      * Performs option-independent resource loading and configuration.
      *
      * It should be safe to call ::load() (and the corresponding ::unload())
@@ -473,6 +482,7 @@
 {
 public:
     SceneBuffer(Canvas &canvas);
+    bool supported(bool show_errors);
     bool load();
     void unload();
     void setup();
@@ -513,6 +523,7 @@
 {
 public:
     SceneTerrain(Canvas &pCanvas);
+    bool supported(bool show_errors);
     bool load();
     void unload();
     void setup();