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();