diff options
author | Martin Kiewitz | 2010-09-05 13:51:47 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-09-05 13:51:47 +0000 |
commit | 4766cc5bb5c872e7ba7e787ec512bc16388e3b24 (patch) | |
tree | 5fb9524553dadee519497a8468ed2ea82cd8e957 /engines/sci/engine/kmovement.cpp | |
parent | d5d5dde56be6d7ff6c0b180f9f49df9bb95724e7 (diff) | |
download | scummvm-rg350-4766cc5bb5c872e7ba7e787ec512bc16388e3b24.tar.gz scummvm-rg350-4766cc5bb5c872e7ba7e787ec512bc16388e3b24.tar.bz2 scummvm-rg350-4766cc5bb5c872e7ba7e787ec512bc16388e3b24.zip |
SCI: reuse kGetAngle from kDoAvoider
svn-id: r52560
Diffstat (limited to 'engines/sci/engine/kmovement.cpp')
-rw-r--r-- | engines/sci/engine/kmovement.cpp | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/engines/sci/engine/kmovement.cpp b/engines/sci/engine/kmovement.cpp index fe8b4e4da3..db54705694 100644 --- a/engines/sci/engine/kmovement.cpp +++ b/engines/sci/engine/kmovement.cpp @@ -387,26 +387,7 @@ reg_t kDoBresen(EngineState *s, int argc, reg_t *argv) { } extern void kDirLoopWorker(reg_t obj, uint16 angle, EngineState *s, int argc, reg_t *argv); - -int getAngle(int xrel, int yrel) { - if ((xrel == 0) && (yrel == 0)) - return 0; - else { - int val = (int)(180.0 / PI * atan2((double)xrel, (double) - yrel)); - if (val < 0) - val += 360; - - // Take care of OB1 differences between SSCI and - // FSCI. SCI games sometimes check for equality with - // "round" angles - if (val % 45 == 44) - val++; - else if (val % 45 == 1) - val--; - - return val; - } -} +extern uint16 kGetAngleWorker(int16 x1, int16 y1, int16 x2, int16 y2); reg_t kDoAvoider(EngineState *s, int argc, reg_t *argv) { SegManager *segMan = s->_segMan; @@ -446,8 +427,7 @@ reg_t kDoAvoider(EngineState *s, int argc, reg_t *argv) { return SIGNAL_REG; avoiderHeading = -1; - // TODO: reverse this - uint16 angle = getAngle(moverX - clientX, moverY - clientY); + uint16 angle = kGetAngleWorker(clientX, clientY, moverX, moverY); reg_t clientLooper = readSelector(segMan, client, SELECTOR(looper)); if (clientLooper.isNull()) { |