| 9945 | } |
| 9946 | |
| 9947 | int16 cFodder::Service_Promotion_Prepare_Draw() { |
| 9948 | mService_Draw_List.clear(); |
| 9949 | |
| 9950 | mVideo_Draw_PosY = 0xE8; |
| 9951 | Service_Mission_Text_Prepare(); |
| 9952 | mVideo_Draw_PosY += 0x40; |
| 9953 | size_t Drawn = mService_Draw_List.size(); |
| 9954 | |
| 9955 | for (auto& Troop : mGame_Data.mSoldiers_Allocated) { |
| 9956 | |
| 9957 | if (Troop.mSprite != INVALID_SPRITE_PTR) { |
| 9958 | int16 ax = Troop.mRecruitID; |
| 9959 | int8 bl = Troop.mRank; |
| 9960 | |
| 9961 | bl &= 0xFF; |
| 9962 | |
| 9963 | Service_Draw_Troop_And_Rank(ax, bl); |
| 9964 | |
| 9965 | mVideo_Draw_PosY += 0x40; |
| 9966 | } |
| 9967 | } |
| 9968 | |
| 9969 | // No names drawn? |
| 9970 | if (Drawn == mService_Draw_List.size()) |
| 9971 | return -1; |
| 9972 | |
| 9973 | return 0; |
| 9974 | } |
| 9975 | |
| 9976 | void cFodder::Service_Draw_String(const std::string& pText, const bool pLarge, const size_t pY) { |
| 9977 | |