| 7712 | } |
| 7713 | |
| 7714 | int16 cFodder::Sprite_Direction_Between_Points(sSprite* pSprite, int16& pData0, int16& pData4) { |
| 7715 | pData0 -= pSprite->field_0; |
| 7716 | pData4 -= pSprite->field_4; |
| 7717 | |
| 7718 | int16 Data10 = 0; |
| 7719 | if (pData0 < 0) |
| 7720 | Data10 = 1; |
| 7721 | Data10 = -Data10; |
| 7722 | |
| 7723 | if (pData0 < 0) |
| 7724 | pData0 = -pData0; |
| 7725 | |
| 7726 | int16 Data14 = 0; |
| 7727 | if (pData4 < 0) |
| 7728 | Data14 = 1; |
| 7729 | Data14 = -Data14; |
| 7730 | |
| 7731 | if (pData4 < 0) |
| 7732 | pData4 = -pData4; |
| 7733 | |
| 7734 | int16 Data8 = 0x1F; |
| 7735 | int16 DataC = 0; |
| 7736 | if (pData0 <= Data8) |
| 7737 | if (pData4 <= Data8) |
| 7738 | goto loc_2A2F5; |
| 7739 | |
| 7740 | //seg007:0755 |
| 7741 | ++DataC; |
| 7742 | Data8 <<= 1; |
| 7743 | ++Data8; |
| 7744 | |
| 7745 | //loc_2A283 |
| 7746 | for (;;) { |
| 7747 | if (pData0 <= Data8) |
| 7748 | if (pData4 <= Data8) |
| 7749 | break; |
| 7750 | ++DataC; |
| 7751 | Data8 <<= 1; |
| 7752 | ++Data8; |
| 7753 | if (pData0 <= Data8) |
| 7754 | if (pData4 <= Data8) |
| 7755 | break; |
| 7756 | |
| 7757 | ++DataC; |
| 7758 | Data8 <<= 1; |
| 7759 | ++Data8; |
| 7760 | if (pData0 <= Data8) |
| 7761 | if (pData4 <= Data8) |
| 7762 | break; |
| 7763 | |
| 7764 | ++DataC; |
| 7765 | Data8 <<= 1; |
| 7766 | ++Data8; |
| 7767 | } |
| 7768 | //loc_2A2E5 |
| 7769 | pData0 >>= DataC; |
| 7770 | pData4 >>= DataC; |
| 7771 |
nothing calls this directly
no outgoing calls
no test coverage detected