MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / Recruit_Position_Troops

Method Recruit_Position_Troops

Source/Recruits.cpp:1919–2028  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1917}
1918
1919void cFodder::Recruit_Position_Troops() {
1920 const int16* Recruit_Next_Shirt = mRecruit_Shirt_Colors;
1921
1922 uint64 Data8 = mGame_Data.mHeroes.size();
1923 int16 Recruits, Data4;
1924
1925 // Calculate number of dead troops
1926 Data8 &= 0xF;
1927
1928 if (mRecruit_Mission_Restarting)
1929 Recruits = mGame_Data.mRecruits_Available_Count;
1930 else {
1931 Recruits = mGame_Data.mMission_Recruits_AliveCount;
1932 if (!Recruits)
1933 goto loc_179B2;
1934 }
1935
1936 // loc_1795E
1937 --Recruits;
1938 Data4 = 0x110;
1939
1940 // Set the recruit position frames
1941 for (; Recruits >= 0; --Recruits) {
1942
1943 if (Data4 >= 0) {
1944 if (mRecruit_Screen_Positions[Data4].mFrame)
1945 --Data4;
1946
1947 mRecruit_Screen_Positions[Data4].mFrame = mRecruit_Shirt_Colors[Data8];
1948 }
1949
1950 Data8 += 1;
1951 Data8 &= 0xF;
1952 Data4 -= 4;
1953 }
1954
1955loc_179B2:;
1956 // If the mission is restarting, troops are already over the hill
1957 if (mRecruit_Mission_Restarting)
1958 return;
1959
1960 mRecruit_Truck_Reached = 0;
1961 int16 Data0 = mRecruit_Hill_Positions_Use[0];
1962 Data8 = 5;
1963
1964 for (; ; Data0++) {
1965
1966 Data4 = mRecruit_Screen_Positions[Data0].mFrame;
1967 if (Data4) {
1968 if (Data4 > 3) {
1969 mRecruit_Truck_Reached = -1;
1970 break;
1971 }
1972 else
1973 continue;
1974
1975 }
1976 else {

Callers

nothing calls this directly

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected