| 19622 | } |
| 19623 | |
| 19624 | void cFodder::Squad_Member_Target_Set() { |
| 19625 | sSprite** Data20 = 0; |
| 19626 | |
| 19627 | if (mSquad_CurrentVehicle) { |
| 19628 | Vehicle_Target_Set(); |
| 19629 | return; |
| 19630 | } |
| 19631 | |
| 19632 | mSprite_Player_CheckWeapon = -1; |
| 19633 | if (word_3A9B8 < 0) { |
| 19634 | word_3A9B8 = 0x30; |
| 19635 | |
| 19636 | if (mSquad_Leader) |
| 19637 | mSquad_Leader->field_4A = 0; |
| 19638 | } |
| 19639 | |
| 19640 | int16 TargetX = mMouseX + (mCameraX >> 16); |
| 19641 | int16 TargetY = mMouseY + (mCameraY >> 16); |
| 19642 | |
| 19643 | TargetX -= 0x10; |
| 19644 | if (!TargetX) |
| 19645 | TargetX = 1; |
| 19646 | |
| 19647 | TargetY -= 8; |
| 19648 | if (mSquad_Selected < 0) |
| 19649 | goto loc_30E05; |
| 19650 | |
| 19651 | if ((mSquads_TroopCount[mSquad_Selected] - 1) < 0) |
| 19652 | goto loc_30E05; |
| 19653 | |
| 19654 | Data20 = mSquads[mSquad_Selected]; |
| 19655 | |
| 19656 | for (;;) { |
| 19657 | if (*Data20 == INVALID_SPRITE_PTR || *Data20 == 0) |
| 19658 | break; |
| 19659 | |
| 19660 | sSprite* Data24 = *Data20++; |
| 19661 | |
| 19662 | Data24->field_2E = TargetX; |
| 19663 | Data24->field_30 = TargetY; |
| 19664 | } |
| 19665 | |
| 19666 | loc_30E05:; |
| 19667 | Squad_Member_Rotate_Can_Fire(); |
| 19668 | } |
| 19669 | |
| 19670 | int16 cFodder::Mouse_Button_Right_Toggled() { |
| 19671 |
nothing calls this directly
no outgoing calls
no test coverage detected