예제 #1
0
void StatusIcons::DisableHUD() {
	if (Interfaces::GetClientMode() && Interfaces::GetClientMode()->GetViewport()) {
		vgui::VPANEL viewport = Interfaces::GetClientMode()->GetViewport()->GetVPanel();

		for (int i = 0; i < g_pVGuiPanel->GetChildCount(viewport); i++) {
			vgui::VPANEL specgui = g_pVGuiPanel->GetChild(viewport, i);

			if (strcmp(g_pVGuiPanel->GetName(specgui), "specgui") == 0) {
				for (int i = 0; i < g_pVGuiPanel->GetChildCount(specgui); i++) {
					vgui::VPANEL playerPanel = g_pVGuiPanel->GetChild(specgui, i);

					if (strcmp(g_pVGuiPanel->GetClassName(playerPanel), "CTFPlayerPanel") == 0) {
						for (int i = 0; i < g_pVGuiPanel->GetChildCount(playerPanel); i++) {
							vgui::VPANEL statusIconsVPanel = g_pVGuiPanel->GetChild(playerPanel, i);

							if (strcmp(g_pVGuiPanel->GetName(statusIconsVPanel), "StatusIcons") == 0) {
								ClearIcons(statusIconsVPanel);

								break;
							}
						}
					}
				}

				break;
			}
		}
	}
}
예제 #2
0
void CVFD::setMode(const MODES m, const char * const title)
{
	//j00zekDBG(DEBUG_DEBUG,"j00zek>%s:%s >>>\n", "CVFD::", __func__);

	// Clear colon in display if it is still there

	if(strlen(title))
		ShowText(title);
	mode = m;
	setlcdparameter();

	switch (m) {
	case MODE_TVRADIO:
		if (StandbyIconID >=0) SetIcon(StandbyIconID, false);
		if (PowerOnIconID >=0) SetIcon(PowerOnIconID, true);
		if (g_settings.lcd_setting[SNeutrinoSettings::LCD_SHOW_VOLUME] == 1) {
			showVolume(volume, false);
			break;
		}
		showServicename(servicename);
		showclock = true;
		if(g_settings.lcd_info_line)
			TIMING_INFOBAR_counter = g_settings.timing[SNeutrinoSettings::TIMING_INFOBAR] + 10;
		break;
	case MODE_AUDIO:
	{
		showAudioPlayMode(AUDIO_MODE_STOP);
		showVolume(volume, false);
		showclock = true;
		//showTime();      /* "showclock = true;" implies that "showTime();" does a "displayUpdate();" */
		break;
	}
	case MODE_SCART:
		showVolume(volume, false);
		showclock = true;
		//showTime();      /* "showclock = true;" implies that "showTime();" does a "displayUpdate();" */
		break;
	case MODE_MENU_UTF8:
		showclock = false;
		//fonts.menutitle->RenderString(0,28, 140, title, CLCDDisplay::PIXEL_ON);
		break;
	case MODE_SHUTDOWN:
		showclock = false;
		Clear();
		break;
	case MODE_STANDBY:
		ClearIcons();
		if (StandbyIconID >=0 && g_settings.lcd_vfd_led_in_standby == 1) SetIcon(StandbyIconID, true);
		showclock = true;
		showTime(true);      /* "showclock = true;" implies that "showTime();" does a "displayUpdate();" */
		                 /* "showTime()" clears the whole lcd in MODE_STANDBY                         */
		break;
	}
	wake_up();
}
예제 #3
0
void CVFD::Clear()
{
	j00zekDBG(DEBUG_DEBUG,"j00zek>CVFD::Clear()\n");
	if (g_settings.lcd_vfd_size == 16)
		ShowText("                ");
	else if (g_settings.lcd_vfd_size == 8)
		ShowText("        ");
	else if (g_settings.lcd_vfd_size == 4)
		ShowText("    ");
	else if (g_settings.lcd_vfd_size >= 1)
		ShowText(" ");
	ClearIcons();
}
예제 #4
0
파일: clc.cpp 프로젝트: 0xmono/miranda-ng
int ClcShutdown(WPARAM, LPARAM)
{
	DeleteObject(cfg::dat.hPen3DBright);
	DeleteObject(cfg::dat.hPen3DDark);
	DeleteObject(cfg::dat.hBrushColorKey);
	DeleteObject(cfg::dat.hBrushCLCBk);
	DeleteObject(cfg::dat.hBrushAvatarBorder);
	DestroyMenu(cfg::dat.hMenuNotify);
	ClearIcons(1);

	CSH_Destroy();
	IMG_DeleteItems();
	for (int i=0; i < arStatusItems.getCount(); i++)
		mir_free(arStatusItems[i]);
	return 0;
}
예제 #5
0
void StatusIcons::DisplayIcons(vgui::VPANEL playerPanel) {
	if (strcmp(g_pVGuiPanel->GetClassName(playerPanel), "CTFPlayerPanel") == 0) {
		vgui::EditablePanel *panel = dynamic_cast<vgui::EditablePanel *>(g_pVGuiPanel->GetPanel(playerPanel, "ClientDLL"));

		if (panel) {
			KeyValues *dialogVariables = panel->GetDialogVariables();

			if (dialogVariables) {
				const char *name = dialogVariables->GetString("playername");

				for (auto iterator = Player::begin(); iterator != Player::end(); ++iterator) {
					Player player = *iterator;

					if (player.GetName().compare(name) == 0) {
						for (int i = 0; i < g_pVGuiPanel->GetChildCount(playerPanel); i++) {
							vgui::VPANEL statusIconsVPanel = g_pVGuiPanel->GetChild(playerPanel, i);

							if (strcmp(g_pVGuiPanel->GetName(statusIconsVPanel), "StatusIcons") == 0) {
								ClearIcons(statusIconsVPanel);

								vgui::EditablePanel *statusIcons = dynamic_cast<vgui::EditablePanel *>(g_pVGuiPanel->GetPanel(statusIconsVPanel, "ClientDLL"));

								if (statusIcons) {
									TFTeam team = player.GetTeam();

									if (player.CheckCondition(TFCond_Ubercharged)) {
										DisplayIcon(statusIcons, TEXTURE_UBERCHARGE);
									}

									if (player.CheckCondition(TFCond_Kritzkrieged)) {
										DisplayIcon(statusIcons, TEXTURE_CRITBOOST);
									}

									if (player.CheckCondition(TFCond_MegaHeal)) {
										if (team == TFTeam_Red) {
											DisplayIcon(statusIcons, TEXTURE_MEGAHEALRED);
										}
										else if (team == TFTeam_Blue) {
											DisplayIcon(statusIcons, TEXTURE_MEGAHEALBLU);
										}
									}

									if (player.CheckCondition(TFCond_UberBulletResist)) {
										if (team == TFTeam_Red) {
											DisplayIcon(statusIcons, TEXTURE_RESISTSHIELDRED);
											DisplayIcon(statusIcons, TEXTURE_BULLETRESISTRED);
										}
										else if (team == TFTeam_Blue) {
											DisplayIcon(statusIcons, TEXTURE_RESISTSHIELDBLU);
											DisplayIcon(statusIcons, TEXTURE_BULLETRESISTBLU);
										}
									}
									else if (player.CheckCondition(TFCond_SmallBulletResist)) {
										if (team == TFTeam_Red) {
											DisplayIcon(statusIcons, TEXTURE_BULLETRESISTRED);
										}
										else if (team == TFTeam_Blue) {
											DisplayIcon(statusIcons, TEXTURE_BULLETRESISTBLU);
										}
									}

									if (player.CheckCondition(TFCond_UberBlastResist)) {
										if (team == TFTeam_Red) {
											DisplayIcon(statusIcons, TEXTURE_RESISTSHIELDRED);
											DisplayIcon(statusIcons, TEXTURE_BLASTRESISTRED);
										}
										else if (team == TFTeam_Blue) {
											DisplayIcon(statusIcons, TEXTURE_RESISTSHIELDBLU);
											DisplayIcon(statusIcons, TEXTURE_BLASTRESISTBLU);
										}
									}
									else if (player.CheckCondition(TFCond_SmallBlastResist)) {
										if (team == TFTeam_Red) {
											DisplayIcon(statusIcons, TEXTURE_BLASTRESISTRED);
										}
										else if (team == TFTeam_Blue) {
											DisplayIcon(statusIcons, TEXTURE_BLASTRESISTBLU);
										}
									}

									if (player.CheckCondition(TFCond_UberFireResist)) {
										if (team == TFTeam_Red) {
											DisplayIcon(statusIcons, TEXTURE_RESISTSHIELDRED);
											DisplayIcon(statusIcons, TEXTURE_FIRERESISTRED);
										}
										else if (team == TFTeam_Blue) {
											DisplayIcon(statusIcons, TEXTURE_RESISTSHIELDBLU);
											DisplayIcon(statusIcons, TEXTURE_FIRERESISTBLU);
										}
									}
									else if (player.CheckCondition(TFCond_SmallFireResist)) {
										if (team == TFTeam_Red) {
											DisplayIcon(statusIcons, TEXTURE_FIRERESISTRED);
										}
										else if (team == TFTeam_Blue) {
											DisplayIcon(statusIcons, TEXTURE_FIRERESISTBLU);
										}
									}

									if (player.CheckCondition(TFCond_Buffed)) {
										if (team == TFTeam_Red) {
											DisplayIcon(statusIcons, TEXTURE_BUFFBANNERRED);
										}
										else if (team == TFTeam_Blue) {
											DisplayIcon(statusIcons, TEXTURE_BUFFBANNERBLU);
										}
									}

									if (player.CheckCondition(TFCond_DefenseBuffed)) {
										if (team == TFTeam_Red) {
											DisplayIcon(statusIcons, TEXTURE_BATTALIONSBACKUPRED);
										}
										else if (team == TFTeam_Blue) {
											DisplayIcon(statusIcons, TEXTURE_BATTALIONSBACKUPBLU);
										}
									}

									if (player.CheckCondition(TFCond_RegenBuffed)) {
										if (team == TFTeam_Red) {
											DisplayIcon(statusIcons, TEXTURE_CONCHERORRED);
										}
										else if (team == TFTeam_Blue) {
											DisplayIcon(statusIcons, TEXTURE_CONCHERORBLU);
										}
									}

									if (player.CheckCondition(TFCond_Jarated)) {
										DisplayIcon(statusIcons, TEXTURE_JARATE);
									}

									if (player.CheckCondition(TFCond_Milked)) {
										DisplayIcon(statusIcons, TEXTURE_MADMILK);
									}

									if (player.CheckCondition(TFCond_MarkedForDeath) || player.CheckCondition(TFCond_MarkedForDeathSilent)) {
										DisplayIcon(statusIcons, TEXTURE_MARKFORDEATH);
									}

									if (player.CheckCondition(TFCond_Bleeding)) {
										DisplayIcon(statusIcons, TEXTURE_BLEEDING);
									}

									if (player.CheckCondition(TFCond_OnFire)) {
										DisplayIcon(statusIcons, TEXTURE_FIRE);
									}
								}

								break;
							}
						}

						break;
					}
				}
			}
		}
	}
}
예제 #6
0
void CVFD::setMode(const MODES m, const char * const title)
{
	if(fd < 0) return;

	// Clear colon in display if it is still there
#ifdef BOXMODEL_APOLLO
	if (support_numbers && has_led_segment)
		ioctl(fd, IOC_FP_SET_COLON, 0x00);
#endif

	if(mode == MODE_AUDIO)
		ShowIcon(FP_ICON_MP3, false);
#if 0
	else if(mode == MODE_STANDBY) {
		ShowIcon(FP_ICON_COL1, false);
		ShowIcon(FP_ICON_COL2, false);
	}
#endif

	if(strlen(title))
		ShowText(title);
	mode = m;
	setlcdparameter();

	switch (m) {
	case MODE_TVRADIO:
		switch (g_settings.lcd_setting[SNeutrinoSettings::LCD_SHOW_VOLUME])
		{
		case 0:
			showPercentOver(percentOver, false);
			break;
		case 1:
			showVolume(volume, false);
			break;
#if 0
		case 2:
			showVolume(volume, false);
			showPercentOver(percentOver, false);
			break;
#endif
		}
		showServicename(servicename);
		showclock = true;
		if(g_settings.lcd_info_line)
			switch_name_time_cnt = g_settings.timing[SNeutrinoSettings::TIMING_INFOBAR] + 10;
		break;
	case MODE_AUDIO:
	{
		ShowIcon(FP_ICON_MP3, true);
		showAudioPlayMode(AUDIO_MODE_STOP);
		showVolume(volume, false);
		showclock = true;
		//showTime();      /* "showclock = true;" implies that "showTime();" does a "displayUpdate();" */
		break;
	}
	case MODE_SCART:
		showVolume(volume, false);
		showclock = true;
		//showTime();      /* "showclock = true;" implies that "showTime();" does a "displayUpdate();" */
		break;
	case MODE_MENU_UTF8:
		showclock = false;
		//fonts.menutitle->RenderString(0,28, 140, title, CLCDDisplay::PIXEL_ON);
		break;
	case MODE_SHUTDOWN:
		showclock = false;
		Clear();
		break;
	case MODE_STANDBY:
#if 0
		ShowIcon(FP_ICON_COL1, true);
		ShowIcon(FP_ICON_COL2, true);
#endif
		ClearIcons();
		ShowIcon(FP_ICON_USB, false);
		ShowIcon(FP_ICON_HDD, false);
		showclock = true;
		showTime(true);      /* "showclock = true;" implies that "showTime();" does a "displayUpdate();" */
		                 /* "showTime()" clears the whole lcd in MODE_STANDBY                         */
		break;
#ifdef VFD_UPDATE
        case MODE_FILEBROWSER:
                showclock = true;
                display.draw_fill_rect(-1, -1, 120, 64, CLCDDisplay::PIXEL_OFF); // clear lcd
                showFilelist();
                break;
        case MODE_PROGRESSBAR:
                showclock = false;
                display.load_screen(&(background[BACKGROUND_SETUP]));
                showProgressBar();
                break;
        case MODE_PROGRESSBAR2:
                showclock = false;
                display.load_screen(&(background[BACKGROUND_SETUP]));
                showProgressBar2();
                break;
        case MODE_INFOBOX:
                showclock = false;
                showInfoBox();
                break;
#endif // VFD_UPDATE
	}
	wake_up();
#if !HAVE_DUCKBOX_HARDWARE
	setled();
#endif
}