aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/fog.h
diff options
context:
space:
mode:
authorPeter Kohaut2019-01-24 22:56:10 +0100
committerPeter Kohaut2019-01-24 22:59:49 +0100
commit2fd29c5193a0b9e6d3920f0512ce3ca37b00bf7e (patch)
tree77563b1fab1720e4ea892d2202ca4dd7416c260b /engines/bladerunner/fog.h
parent5475bca1e1996977a45c598d61e186f10c407155 (diff)
downloadscummvm-rg350-2fd29c5193a0b9e6d3920f0512ce3ca37b00bf7e.tar.gz
scummvm-rg350-2fd29c5193a0b9e6d3920f0512ce3ca37b00bf7e.tar.bz2
scummvm-rg350-2fd29c5193a0b9e6d3920f0512ce3ca37b00bf7e.zip
BLADERUNNER: Fixed fog rendering
Fogs were not animated. Clean up of the fog calculation routines.
Diffstat (limited to 'engines/bladerunner/fog.h')
-rw-r--r--engines/bladerunner/fog.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/engines/bladerunner/fog.h b/engines/bladerunner/fog.h
index e952d24165..d9e32f6e6a 100644
--- a/engines/bladerunner/fog.h
+++ b/engines/bladerunner/fog.h
@@ -36,6 +36,7 @@ class SetEffects;
class Fog {
friend class SetEffects;
+ friend class Debugger;
protected:
Common::String _name;
@@ -60,10 +61,6 @@ protected:
float *_m33ptr;
float *_m34ptr;
- float _parameter1;
- float _parameter2;
- float _parameter3;
-
Fog *_next;
public:
@@ -82,17 +79,29 @@ protected:
};
-class FogCone : public Fog {
+class FogSphere : public Fog {
+private:
+ float _radius = 0.0f;
+
+public:
void read(Common::ReadStream *stream, int frameCount);
void calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient);
};
-class FogSphere : public Fog {
+class FogCone : public Fog {
+private:
+ float _coneAngle = 0.0f;
+
+public:
void read(Common::ReadStream *stream, int frameCount);
void calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient);
};
class FogBox : public Fog {
+private:
+ Vector3 _size;
+
+public:
void read(Common::ReadStream *stream, int frameCount);
void calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient);
};