aboutsummaryrefslogtreecommitdiff
path: root/engines/cge2/hero.cpp
diff options
context:
space:
mode:
authoruruk2014-06-02 13:43:28 +0200
committeruruk2014-06-02 13:43:28 +0200
commit219f4f6695af35d139b32a3daf5371e19d70c71c (patch)
tree4ee4d32d718e0b1b1f09bfb44f324c392117839e /engines/cge2/hero.cpp
parentff21b2d5c8f8510ea5cfc6e59385c272d9774af9 (diff)
downloadscummvm-rg350-219f4f6695af35d139b32a3daf5371e19d70c71c.tar.gz
scummvm-rg350-219f4f6695af35d139b32a3daf5371e19d70c71c.tar.bz2
scummvm-rg350-219f4f6695af35d139b32a3daf5371e19d70c71c.zip
CGE2: Implement Hero::setCurrent().
Diffstat (limited to 'engines/cge2/hero.cpp')
-rw-r--r--engines/cge2/hero.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/cge2/hero.cpp b/engines/cge2/hero.cpp
index 0c28d4c7f0..5a6e437824 100644
--- a/engines/cge2/hero.cpp
+++ b/engines/cge2/hero.cpp
@@ -209,7 +209,16 @@ Sprite *Hero::expand(void) { // It's very similar to Sprite's expand, but doesn'
}
void Hero::setCurrent(void) {
- warning("STUB: Hero::setCurrent()");
+ double m = _vm->_eye->_z / (_pos3D._z - _vm->_eye->_z);
+ int h = -(V2D::trunc(m * _siz.y));
+
+ int i = 0;
+ for (; i < kDimMax; i++) {
+ if (h >= (_hig[i] + _hig[i + 1]) / 2)
+ break;
+ }
+
+ _ext->_shpList = &_dim[_curDim = i];
}
void Hero::hStep(void) {