GRIM: Reset the lights when setting a new scene. Fix #193

This commit is contained in:
Giulio Camuffo
2011-05-31 19:27:01 +02:00
parent ec9dd78b46
commit 4fb9bfc866
3 changed files with 6 additions and 0 deletions
+1
View File
@@ -1480,6 +1480,7 @@ void GrimEngine::setScene(Scene *scene) {
Scene *lastScene = _currScene;
_currScene = scene;
_currScene->setSoundParameters(20, 127);
_currScene->setLightsDirty();
// should delete the old scene after setting the new one
if (lastScene && !lastScene->_locked) {
removeScene(lastScene);
+4
View File
@@ -571,6 +571,10 @@ ObjectState *Scene::findState(const char *filename) {
return NULL;
}
void Scene::setLightsDirty() {
_lightsConfigured = false;
}
void Scene::setLightIntensity(const char *light, float intensity) {
for (int i = 0; i < _numLights; ++i) {
Light &l = _lights[i];
+1
View File
@@ -71,6 +71,7 @@ public:
_enableLights = state;
_lightsConfigured = false;
}
void setLightsDirty();
void setLightIntensity(const char *light, float intensity);
void setLightIntensity(int light, float intensity);
void setLightPosition(const char *light, const Graphics::Vector3d &pos);