aboutsummaryrefslogtreecommitdiff
path: root/engines/cge2/hero.cpp
diff options
context:
space:
mode:
authoruruk2014-05-10 11:12:30 +0200
committeruruk2014-05-10 11:12:30 +0200
commit724899fc1939e26b1805deb9f9c9c7fc19c9a5ee (patch)
tree4a31803d6af543801481c025683b51c32b4399fd /engines/cge2/hero.cpp
parentc75c026df8897c3a7aa4721a4e8f204e92f08daf (diff)
downloadscummvm-rg350-724899fc1939e26b1805deb9f9c9c7fc19c9a5ee.tar.gz
scummvm-rg350-724899fc1939e26b1805deb9f9c9c7fc19c9a5ee.tar.bz2
scummvm-rg350-724899fc1939e26b1805deb9f9c9c7fc19c9a5ee.zip
CGE2: Rework Sprite a bit, make _eye an engine variable.
Also move screenToGround() during the process.
Diffstat (limited to 'engines/cge2/hero.cpp')
-rw-r--r--engines/cge2/hero.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/cge2/hero.cpp b/engines/cge2/hero.cpp
index 44ff85040d..3a6d1d2920 100644
--- a/engines/cge2/hero.cpp
+++ b/engines/cge2/hero.cpp
@@ -117,6 +117,13 @@ void Hero::walkTo(Sprite *spr) {
warning("STUB: Hero::walkTo()");
}
+V3D Hero::screenToGround(V2D pos) {
+ double z = _vm->_eye->_z + (_vm->_eye->_y * _vm->_eye->_z) / (double(pos.y) - _vm->_eye->_y);
+ double x = _vm->_eye->_x - ((double(pos.x) - _vm->_eye->_x) * (z - _vm->_eye->_z)) / _vm->_eye->_z;
+ return V3D(V2D::round(x), 0, V2D::round(z));
+}
+
+
int Hero::cross(const V2D &a, const V2D &b) {
warning("STUB: Hero::cross()");
return 0;