void TTower::GetUnitInfo() { char cbuf[30]; int clr; TObject::GetUnitInfo(); CopyBmpNZ(UInfoBuf, UINFO_SX, 77, 1, LevelBmps[Level], 29, 16); PutStr(UInfoBuf, UINFO_SX, 2, 2, GetName(), NormalFont, clrLightBlue, clrBlack); PutStr(UInfoBuf, UINFO_SX, 2, 26, SigText[TXT_STATE], NormalFont, clrWhite, clrBlack); PutStr(UInfoBuf, UINFO_SX, 2, 42, SigText[TXT_TIME], NormalFont, clrWhite, clrBlack); sprintf(cbuf, "%i %%", 100 * HitPoints / MaxHitPoints); clr = (100 * HitPoints < 20 * MaxHitPoints) ? clrRed : clrLightBlue2; PercentBar(UInfoBuf, UINFO_SX, 54, 28, 52, 13, clr, clrSeaBlue, (double)HitPoints / MaxHitPoints, cbuf); sprintf(cbuf, "%i/%i", TimeUnits, MaxTimeUnits); PercentBar(UInfoBuf, UINFO_SX, 54, 44, 52, 13, clrLightBlue2, clrSeaBlue, (double)TimeUnits / MaxTimeUnits, cbuf); // zbrane: for (int i = 0; i < WeaponsCnt; i++) { CopyBmp(UInfoBuf, UINFO_SX, 3, 83 + i * 26, ((i == CurWpn) && (WeaponsCnt != 1)) ? WpnInfoBkg[1] : WpnInfoBkg[0], 102, 23); PutStr(UInfoBuf, UINFO_SX, 5, 86 + i * 26, Weapons[i]->Name, NormalFont, clrWhite, clrBlack); sprintf(cbuf, "%i/%i", Weapons[i]->Ammo, Weapons[i]->MaxAmmo); PercentBar(UInfoBuf, UINFO_SX, 60, 88 + i * 26, 41, 13, clrLightBlue2, clrSeaBlue, (double)Weapons[i]->Ammo / Weapons[i]->MaxAmmo, cbuf); } if (CurWpn != -1) { CopyBmpNZ(UInfoBuf, UINFO_SX, 2, 188, BmpAmmoIcons[Weapons[CurWpn]->GetType()], 30, 13); sprintf(cbuf, "%i", Weapons[CurWpn]->TimeLost); PutStr(UInfoBuf, UINFO_SX, 35, 188, cbuf, NormalFont, clrWhite, clrBlack); } }
void TThor::GetUnitInfo() { char cbuf[40]; TTower::GetUnitInfo(); PutStr(UInfoBuf, UINFO_SX, 2, 58, SigText[TXT_ROCKETS_LEFT], NormalFont, clrWhite, clrBlack); sprintf(cbuf, "%i / 100", TotalRockets); PercentBar(UInfoBuf, UINFO_SX, 54, 60, 52, 13, clrLightBlue2, clrSeaBlue, (double)TotalRockets / 100, cbuf); if (IsOverground) CopyBmp(UInfoBuf, UINFO_SX, 2, 147, IconThorIn->IconPic[0], 59, 59); else CopyBmp(UInfoBuf, UINFO_SX, 2, 147, IconThorOut->IconPic[0], 59, 59); CopyBmpNZ(UInfoBuf, UINFO_SX, 2, 129, BmpAmmoIcons[Weapons[CurWpn]->GetType()], 30, 13); sprintf(cbuf, "%i", Weapons[CurWpn]->TimeLost); PutStr(UInfoBuf, UINFO_SX, 35, 129, cbuf, NormalFont, clrWhite, clrBlack); }
void TTransBox::DrawUnits() { int i, ux, uy, clr; for (i = 0; i < Cnt; i++) { ux = 8 + 57 * (i % (w / 57)); uy = 8 + 57 * (i / (w / 57)); CopyBmp(Buf, w, ux, uy, UnitsTransIcons[Units[lunits[i]]->Type], 56, 56); if (Units[lunits[i]]->HitPoints < 0.3 * Units[lunits[i]]->MaxHitPoints) clr = 10; /*red*/ else clr = 59; /*light green*/ PercentBar(Buf, w, ux+1, uy+51, 54, 4, clr, 72, ((double)Units[lunits[i]]->HitPoints)/Units[lunits[i]]->MaxHitPoints, ""); } Draw(0); }