Advertisement
Pr0nogo

Untitled

Dec 24th, 2020
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. // 14
  2. void __userpurge sub_43DA20(aiCaptain *a1@<eax>, CUNIT *a2@<ebx>, int a3)
  3. {
  4. aiCaptain *v3; // esi
  5. CAIController *v4; // eax
  6. CUNIT *v5; // edx
  7. CAIController *v6; // ecx
  8. bool v7; // zf
  9. town *v8; // ecx
  10. char v9; // al
  11.  
  12. v3 = a1;
  13. if ( a1->captainType == 3 && !a3 )
  14. v3 = &AI_RegionCaptains[(unsigned __int8)a2->owner][SAI_GetRegionIdFromPxEx(
  15. a2->sprite->position.x,
  16. a2->sprite->position.y)];
  17. v5 = (CUNIT *)v3->field_2C;
  18. v4 = *(CAIController **)v5[59].loadedUnitIndex;
  19. if ( v4 )
  20. {
  21. v6 = v4->prev;
  22. v7 = v4->prev == 0;
  23. *(_DWORD *)v5[59].loadedUnitIndex = v4->prev;
  24. if ( !v7 )
  25. v6->next = 0;
  26. if ( v4 )
  27. {
  28. v4->next = 0;
  29. v4->prev = (CAIController *)v3->town;
  30. v8 = v3->town;
  31. if ( v8 )
  32. v8->next = (town *)v4;
  33. v3->town = (town *)v4;
  34. v4->controlType = 4;
  35. v4->unit = a2;
  36. v4->cptn = v3;
  37. if ( !(a2->statusFlags & 4) )
  38. ++*(_WORD *)&v3->field_A;
  39. a2->CAIControl = v4;
  40. AI_OrderToDestination(
  41. a2,
  42. a2->type != UNI_T_MEDIC ? 157 : 177,
  43. SAI_Paths->regions[(unsigned __int16)v3->region].rgnCenterX >> 8,
  44. SAI_Paths->regions[(unsigned __int16)v3->region].rgnCenterY >> 8);
  45. v9 = v3->captainType;
  46. if ( v9 == 8 || v9 == 9 || v9 == 1 || v9 == 2 )
  47. AssignCaptainToSlowestUnit(v3);
  48. }
  49. }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement