コード例 #1
0
ファイル: cl_lights.c プロジェクト: Nekrofage/Quake2RPi
void CL_AddLightStyles (void) {
	int		i;
	clightstyle_t	*ls;

	for (i=0,ls=cl_lightstyle ; i<MAX_LIGHTSTYLES ; i++, ls++)
		V_AddLightStyle (i, ls->value[0], ls->value[1], ls->value[2]);
}
コード例 #2
0
ファイル: cl_fx.c プロジェクト: mattx86/aprq2
/*
================
CL_AddLightStyles
================
*/
void CL_AddLightStyles (void)
{
	int		i;
	clightstyle_t	*ls;

	for (i = 0, ls = cl_lightstyle; i < MAX_LIGHTSTYLES; i++, ls++)
	{
		if ( Cvar_VariableValue("gl_timebasedfx") )
		{
			time_t			ctime;
			struct tm		*ltime;
			char			hour_s[5];
			int				hour_i, am, pmarray[12], j, k;
			float			brightness;

			ctime = time(NULL);
			ltime = localtime(&ctime);
			strftime(hour_s, sizeof(hour_s), "%H", ltime);
			if (hour_s[0] == '0') // trim zero off, otherwise int val. == 2
			{
				hour_s[0] = hour_s[1];
				hour_s[1] = 0;
			}
			hour_i = atoi(hour_s);

			// convert to 12-hour clock
			if ( hour_i <= 11 )		// AM
			{
				am = 1;
				if (hour_i == 0) // 0 = 12AM midnight
					hour_i = 12;
			}
			else					// PM
			{
				am = 0;
				if (hour_i > 12) // leave 12PM noon alone
					hour_i -= 12;

				// PM uses the 'reverse hour' of AM
				for (j = 1, k = 11; j < 12; j++, k--)
					pmarray[j] = k;
			}

			if ( am )
			{
				if (hour_i == 12) // midnight
					brightness = 0.15f;
				else
					brightness = ( ( (float) hour_i / 12.0f ) * 0.75f + 0.25f );
			}
			else
			{
				if (hour_i == 12) // noon
					brightness = 1.00f;
				else
					brightness = ( ( (float) pmarray[hour_i] / 12.0f ) * 0.75f + 0.25f );
			}
			
			ls->value[0] = brightness;
			ls->value[1] = brightness;
			ls->value[2] = brightness;
		}
		V_AddLightStyle (i, ls->value);
	}
}