diff options
author | uruk | 2014-05-10 11:12:30 +0200 |
---|---|---|
committer | uruk | 2014-05-10 11:12:30 +0200 |
commit | 724899fc1939e26b1805deb9f9c9c7fc19c9a5ee (patch) | |
tree | 4a31803d6af543801481c025683b51c32b4399fd /engines/cge2/hero.cpp | |
parent | c75c026df8897c3a7aa4721a4e8f204e92f08daf (diff) | |
download | scummvm-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.cpp | 7 |
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; |