void CNewStatusBar::Reset() { m_stHealth.value = 100; m_stArmor.value = 0; m_stAmmo.value = 0; m_stAltAmmo.value = 0; m_nOldHealth = -1; m_nOldArmor = -1; m_nOldAmmo = -1; m_nOldAltAmmo = -1; m_nInvLevel = 0; m_nWeapLevel = 0; m_nObjLevel = 0; m_nObjIcon = 0; m_nPowerBar = 0; for(int i = 0; i < 10; i++) UpdateWeap(0, 0, i); UpdateInv(DFALSE, 0, 0, 0, 0, 0, 0, 0, 0); DisplayFlag(MULTIFLAG_NONE); }
static void MissionDrawDoorEnabled( UIObject *o, GraphicsDevice *g, struct vec2i pos, void *data) { UNUSED(o); UNUSED(g); CampaignOptions *co = data; if (!CampaignGetCurrentMission(co)) return; DisplayFlag( svec2i_add(pos, o->Pos), "Doors", CampaignGetCurrentMission(co)->u.Cave.DoorsEnabled, UIObjectIsHighlighted(o)); }
static void MissionDrawRoomsOverlap( UIObject *o, GraphicsDevice *g, struct vec2i pos, void *data) { UNUSED(o); UNUSED(g); UNUSED(pos); CampaignOptions *co = data; if (!CampaignGetCurrentMission(co)) return; DisplayFlag( svec2i_add(pos, o->Pos), "Room overlap", CampaignGetCurrentMission(co)->u.Cave.Rooms.Overlap, UIObjectIsHighlighted(o)); }
void cSkeleton<_DataType>::ConnectingFlaggedVoxels() { int i, j, k, loc[3], NextPos_i[3], NumContinuousVoxels; unsigned char VoxelFlag_uc; printf ("Connecting Flagged Voxels ... \n"); fflush(stdout); #ifdef DEBUG_CONNECTING // int MaxNumContinuousVoxels = 0; #endif for (k=1; k<Depth_mi-1; k++) { for (j=1; j<Height_mi-1; j++) { for (i=1; i<Width_mi-1; i++) { loc[0] = Index(i, j, k); if (VoxelFlags_muc[loc[0]]==FLAG_NONUNIFORM) { #ifdef DEBUG_CONNECTING printf ("Start (%d %d %d)\n", i, j, k); #endif NextPos_i[0] = i; NextPos_i[1] = j; NextPos_i[2] = k; NumContinuousVoxels = 0; do { NextPos_i[0] = (int)((float)NextPos_i[0] + GVFDistance_mf[loc[0]*3 + 0] + 0.5); NextPos_i[1] = (int)((float)NextPos_i[1] + GVFDistance_mf[loc[0]*3 + 1] + 0.5); NextPos_i[2] = (int)((float)NextPos_i[2] + GVFDistance_mf[loc[0]*3 + 2] + 0.5); loc[0] = Index (NextPos_i[0], NextPos_i[1], NextPos_i[2]); NumContinuousVoxels++; #ifdef DEBUG_CONNECTING printf ("(%d %d %d)", NextPos_i[0], NextPos_i[1], NextPos_i[2]); DisplayFlag(VoxelFlags_muc[loc[0]]); printf (", "); #endif VoxelFlag_uc = VoxelFlags_muc[loc[0]]; if (VoxelFlag_uc == FLAG_CONNECTED || VoxelFlag_uc == FLAG_NONUNIFORM || VoxelFlag_uc == FLAG_EMPTY) break; VoxelFlags_muc[loc[0]] = FLAG_CONNECTED; } while (VoxelFlag_uc != FLAG_NONUNIFORM); } } } } for (i=0; i<WHD_mi; i++) { if (VoxelFlags_muc[i]==FLAG_NONUNIFORM) VoxelFlags_muc[i] = FLAG_CONNECTED; } int NumConnectedVoxels = 0; for (i=0; i<WHD_mi; i++) { if (VoxelFlags_muc[i]==FLAG_CONNECTED) NumConnectedVoxels++; } printf ("Num. Connected Voxels = %d\n", NumConnectedVoxels); printf ("Num. Connected / NumSegmented = %f %%\n", (float)NumConnectedVoxels/NumSegmentedVoxels_mi*100.0); printf ("Num. Connected / Total Num. Voxels = %f %%\n", (double)NumConnectedVoxels/WHD_mi*100.0); fflush (stdout); }
static void Display(TCampaignSetting * setting, int index, int xc, int yc) { int x, y = 10; char s[50]; const TBadGuy *b; int i; memset(GetDstScreen(), 74, SCREEN_MEMSIZE); sprintf(s, "%d/%d", setting->characterCount, MAX_CHARACTERS); TextStringAt(10, 190, s); if (index >= 0 && index < setting->characterCount) { b = &setting->characters[index]; DisplayText(30, y, "Face", yc == YC_APPEARANCE && xc == XC_FACE); DisplayText(60, y, "Skin", yc == YC_APPEARANCE && xc == XC_SKIN); DisplayText(90, y, "Hair", yc == YC_APPEARANCE && xc == XC_HAIR); DisplayText(120, y, "Body", yc == YC_APPEARANCE && xc == XC_BODY); DisplayText(150, y, "Arms", yc == YC_APPEARANCE && xc == XC_ARMS); DisplayText(180, y, "Legs", yc == YC_APPEARANCE && xc == XC_LEGS); y += TextHeight(); sprintf(s, "Speed: %d%%", (100 * b->speed) / 256); DisplayText(20, y, s, yc == YC_ATTRIBUTES && xc == XC_SPEED); sprintf(s, "Hp: %d", b->health); DisplayText(70, y, s, yc == YC_ATTRIBUTES && xc == XC_HEALTH); sprintf(s, "Move: %d%%", b->probabilityToMove); DisplayText(120, y, s, yc == YC_ATTRIBUTES && xc == XC_MOVE); sprintf(s, "Track: %d%%", b->probabilityToTrack); DisplayText(170, y, s, yc == YC_ATTRIBUTES && xc == XC_TRACK); sprintf(s, "Shoot: %d%%", b->probabilityToShoot); DisplayText(220, y, s, yc == YC_ATTRIBUTES && xc == XC_SHOOT); sprintf(s, "Delay: %d", b->actionDelay); DisplayText(270, y, s, yc == YC_ATTRIBUTES && xc == XC_DELAY); y += TextHeight(); DisplayFlag(5, y, "Asbestos", (b->flags & FLAGS_ASBESTOS) != 0, yc == YC_FLAGS && xc == XC_ASBESTOS); DisplayFlag(50, y, "Immunity", (b->flags & FLAGS_IMMUNITY) != 0, yc == YC_FLAGS && xc == XC_IMMUNITY); DisplayFlag(95, y, "C-thru", (b->flags & FLAGS_SEETHROUGH) != 0, yc == YC_FLAGS && xc == XC_SEETHROUGH); DisplayFlag(140, y, "Run-away", (b->flags & FLAGS_RUNS_AWAY) != 0, yc == YC_FLAGS && xc == XC_RUNS_AWAY); DisplayFlag(185, y, "Sneaky", (b->flags & FLAGS_SNEAKY) != 0, yc == YC_FLAGS && xc == XC_SNEAKY); DisplayFlag(230, y, "Good guy", (b->flags & FLAGS_GOOD_GUY) != 0, yc == YC_FLAGS && xc == XC_GOOD_GUY); DisplayFlag(275, y, "Asleep", (b->flags & FLAGS_SLEEPALWAYS) != 0, yc == YC_FLAGS && xc == XC_SLEEPING); y += TextHeight(); DisplayFlag(5, y, "Prisoner", (b->flags & FLAGS_PRISONER) != 0, yc == YC_FLAGS2 && xc == XC_PRISONER); DisplayFlag(50, y, "Invuln.", (b->flags & FLAGS_INVULNERABLE) != 0, yc == YC_FLAGS2 && xc == XC_INVULNERABLE); DisplayFlag(95, y, "Follower", (b->flags & FLAGS_FOLLOWER) != 0, yc == YC_FLAGS2 && xc == XC_FOLLOWER); DisplayFlag(140, y, "Penalty", (b->flags & FLAGS_PENALTY) != 0, yc == YC_FLAGS2 && xc == XC_PENALTY); DisplayFlag(185, y, "Victim", (b->flags & FLAGS_VICTIM) != 0, yc == YC_FLAGS2 && xc == XC_VICTIM); DisplayFlag(230, y, "Awake", (b->flags & FLAGS_AWAKEALWAYS) != 0, yc == YC_FLAGS2 && xc == XC_AWAKE); y += TextHeight(); DisplayText(50, y, gunDesc[b->gun].gunName, yc == YC_WEAPON); y += TextHeight() + 5; x = 10; for (i = 0; i < setting->characterCount; i++) { DisplayCharacter(x, y + 20, &setting->characters[i], index == i); x += 20; if (x > SCREEN_WIDTH) { x = 10; y += 30; } } } CopyToScreen(); }
static void ShowWeaponStatus(int x, int y, int weapon, int xc) { DisplayFlag(x, y, gunDesc[weapon].gunName, (currentMission->weaponSelection & (1 << weapon)) != 0, xc == weapon); }
static void Display(CampaignSettingNew *setting, int idx, int xc, int yc) { int x, y = 10; char s[50]; const Character *b; int i; int tag; for (i = 0; i < GraphicsGetScreenSize(&gGraphicsDevice.cachedConfig); i++) { gGraphicsDevice.buf[i] = LookupPalette(74); } sprintf(s, "%d", setting->characters.otherCount); CDogsTextStringAt(10, 190, s); if (idx >= 0 && idx < setting->characters.otherCount) { b = &setting->characters.others[idx]; DisplayCDogsText(30, y, "Face", yc == YC_APPEARANCE && xc == XC_FACE); DisplayCDogsText(60, y, "Skin", yc == YC_APPEARANCE && xc == XC_SKIN); DisplayCDogsText(90, y, "Hair", yc == YC_APPEARANCE && xc == XC_HAIR); DisplayCDogsText(120, y, "Body", yc == YC_APPEARANCE && xc == XC_BODY); DisplayCDogsText(150, y, "Arms", yc == YC_APPEARANCE && xc == XC_ARMS); DisplayCDogsText(180, y, "Legs", yc == YC_APPEARANCE && xc == XC_LEGS); y += CDogsTextHeight(); sprintf(s, "Speed: %d%%", (100 * b->speed) / 256); DisplayCDogsText(20, y, s, yc == YC_ATTRIBUTES && xc == XC_SPEED); sprintf(s, "Hp: %d", b->maxHealth); DisplayCDogsText(70, y, s, yc == YC_ATTRIBUTES && xc == XC_HEALTH); sprintf(s, "Move: %d%%", b->bot.probabilityToMove); DisplayCDogsText(120, y, s, yc == YC_ATTRIBUTES && xc == XC_MOVE); sprintf(s, "Track: %d%%", b->bot.probabilityToTrack); DisplayCDogsText(170, y, s, yc == YC_ATTRIBUTES && xc == XC_TRACK); sprintf(s, "Shoot: %d%%", b->bot.probabilityToShoot); DisplayCDogsText(220, y, s, yc == YC_ATTRIBUTES && xc == XC_SHOOT); sprintf(s, "Delay: %d", b->bot.actionDelay); DisplayCDogsText(270, y, s, yc == YC_ATTRIBUTES && xc == XC_DELAY); y += CDogsTextHeight(); DisplayFlag(5, y, "Asbestos", (b->flags & FLAGS_ASBESTOS) != 0, yc == YC_FLAGS && xc == XC_ASBESTOS); DisplayFlag(50, y, "Immunity", (b->flags & FLAGS_IMMUNITY) != 0, yc == YC_FLAGS && xc == XC_IMMUNITY); DisplayFlag(95, y, "C-thru", (b->flags & FLAGS_SEETHROUGH) != 0, yc == YC_FLAGS && xc == XC_SEETHROUGH); DisplayFlag(140, y, "Run-away", (b->flags & FLAGS_RUNS_AWAY) != 0, yc == YC_FLAGS && xc == XC_RUNS_AWAY); DisplayFlag(185, y, "Sneaky", (b->flags & FLAGS_SNEAKY) != 0, yc == YC_FLAGS && xc == XC_SNEAKY); DisplayFlag(230, y, "Good guy", (b->flags & FLAGS_GOOD_GUY) != 0, yc == YC_FLAGS && xc == XC_GOOD_GUY); DisplayFlag(275, y, "Asleep", (b->flags & FLAGS_SLEEPALWAYS) != 0, yc == YC_FLAGS && xc == XC_SLEEPING); y += CDogsTextHeight(); DisplayFlag(5, y, "Prisoner", (b->flags & FLAGS_PRISONER) != 0, yc == YC_FLAGS2 && xc == XC_PRISONER); DisplayFlag(50, y, "Invuln.", (b->flags & FLAGS_INVULNERABLE) != 0, yc == YC_FLAGS2 && xc == XC_INVULNERABLE); DisplayFlag(95, y, "Follower", (b->flags & FLAGS_FOLLOWER) != 0, yc == YC_FLAGS2 && xc == XC_FOLLOWER); DisplayFlag(140, y, "Penalty", (b->flags & FLAGS_PENALTY) != 0, yc == YC_FLAGS2 && xc == XC_PENALTY); DisplayFlag(185, y, "Victim", (b->flags & FLAGS_VICTIM) != 0, yc == YC_FLAGS2 && xc == XC_VICTIM); DisplayFlag(230, y, "Awake", (b->flags & FLAGS_AWAKEALWAYS) != 0, yc == YC_FLAGS2 && xc == XC_AWAKE); y += CDogsTextHeight(); DisplayCDogsText(50, y, GunGetName(b->gun), yc == YC_WEAPON); y += CDogsTextHeight() + 5; x = 10; for (i = 0; i < setting->characters.otherCount; i++) { DisplayCharacter( x, y + 20, &setting->characters.others[i], idx == i, 0); x += 20; if (x > gGraphicsDevice.cachedConfig.ResolutionWidth) { x = 10; y += 30; } } } if (MouseTryGetRectTag(&gInputDevices.mouse, &tag)) { int mouseYc = tag & 0xFF; int mouseXc = (tag & 0xFF00) >> 8; Vec2i tooltipPos = Vec2iAdd( gInputDevices.mouse.currentPos, Vec2iNew(10, 10)); DrawTooltips(&gGraphicsDevice, tooltipPos, yc, xc, mouseYc, mouseXc); }