From f4e45cb8976243b4ab56234e72e73d0e2e02a254 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Wed, 14 Dec 2011 09:27:49 +0100 Subject: [PATCH] option: -sRGBcolor (unused yet) --- tools/quake3/q3map2/bsp.c | 11 +++++++++++ tools/quake3/q3map2/game__null.h | 1 + tools/quake3/q3map2/game_darkplaces.h | 1 + tools/quake3/q3map2/game_dq.h | 1 + tools/quake3/q3map2/game_ef.h | 1 + tools/quake3/q3map2/game_etut.h | 1 + tools/quake3/q3map2/game_ja.h | 1 + tools/quake3/q3map2/game_jk2.h | 1 + tools/quake3/q3map2/game_nexuiz.h | 1 + tools/quake3/q3map2/game_prophecy.h | 1 + tools/quake3/q3map2/game_qfusion.h | 1 + tools/quake3/q3map2/game_quake3.h | 1 + tools/quake3/q3map2/game_quakelive.h | 1 + tools/quake3/q3map2/game_reaction.h | 1 + tools/quake3/q3map2/game_sof2.h | 1 + tools/quake3/q3map2/game_tenebrae.h | 1 + tools/quake3/q3map2/game_tremulous.h | 1 + tools/quake3/q3map2/game_wolf.h | 1 + tools/quake3/q3map2/game_wolfet.h | 1 + tools/quake3/q3map2/game_xonotic.h | 1 + tools/quake3/q3map2/light.c | 18 ++++++++++++++++++ tools/quake3/q3map2/q3map2.h | 2 ++ 22 files changed, 50 insertions(+) diff --git a/tools/quake3/q3map2/bsp.c b/tools/quake3/q3map2/bsp.c index e1b1e2f..8fe5966 100644 --- a/tools/quake3/q3map2/bsp.c +++ b/tools/quake3/q3map2/bsp.c @@ -684,6 +684,7 @@ int BSPMain( int argc, char **argv ) maxSurfaceIndexes = game->maxSurfaceIndexes; emitFlares = game->emitFlares; texturesRGB = game->texturesRGB; + colorsRGB = game->colorsRGB; /* process arguments */ for( i = 1; i < (argc - 1); i++ ) @@ -934,6 +935,16 @@ int BSPMain( int argc, char **argv ) texturesRGB = qfalse; Sys_Printf( "Textures are linear\n" ); } + else if( !strcmp( argv[ i ], "-sRGBcolor" ) ) + { + colorsRGB = qtrue; + Sys_Printf( "Colors are in sRGB\n" ); + } + else if( !strcmp( argv[ i ], "-nosRGBcolor" ) ) + { + colorsRGB = qfalse; + Sys_Printf( "Colors are linear\n" ); + } else if( !strcmp( argv[ i ], "-altsplit" ) ) { Sys_Printf( "Alternate BSP splitting (by 27) enabled\n" ); diff --git a/tools/quake3/q3map2/game__null.h b/tools/quake3/q3map2/game__null.h index 5ff6aba..0f1a2a7 100644 --- a/tools/quake3/q3map2/game__null.h +++ b/tools/quake3/q3map2/game__null.h @@ -65,6 +65,7 @@ game_t struct 0, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 0, /* lightmap exposure */ 0, /* lightmap compensate */ 0, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_darkplaces.h b/tools/quake3/q3map2/game_darkplaces.h index ab73baa..1e09440 100644 --- a/tools/quake3/q3map2/game_darkplaces.h +++ b/tools/quake3/q3map2/game_darkplaces.h @@ -56,6 +56,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 200.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 0.3f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_dq.h b/tools/quake3/q3map2/game_dq.h index 6507aec..92b4014 100644 --- a/tools/quake3/q3map2/game_dq.h +++ b/tools/quake3/q3map2/game_dq.h @@ -56,6 +56,7 @@ game_t struct 1.2f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 200.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 0.3f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_ef.h b/tools/quake3/q3map2/game_ef.h index 1113664..7800f2b 100644 --- a/tools/quake3/q3map2/game_ef.h +++ b/tools/quake3/q3map2/game_ef.h @@ -115,6 +115,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_etut.h b/tools/quake3/q3map2/game_etut.h index 38bc083..ebc0b92 100644 --- a/tools/quake3/q3map2/game_etut.h +++ b/tools/quake3/q3map2/game_etut.h @@ -150,6 +150,7 @@ game_t struct 1.0f, /* lightmap gamma */ qtrue, /* lightmap sRGB */ qfalse, /* texture sRGB (yes, this is incorrect, but we better match ET:UT) */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_ja.h b/tools/quake3/q3map2/game_ja.h index 3a1a4d4..daf1f80 100644 --- a/tools/quake3/q3map2/game_ja.h +++ b/tools/quake3/q3map2/game_ja.h @@ -69,6 +69,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_jk2.h b/tools/quake3/q3map2/game_jk2.h index 4dd4d84..b56e6e1 100644 --- a/tools/quake3/q3map2/game_jk2.h +++ b/tools/quake3/q3map2/game_jk2.h @@ -66,6 +66,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_nexuiz.h b/tools/quake3/q3map2/game_nexuiz.h index 386cfd0..dcfc0a2 100644 --- a/tools/quake3/q3map2/game_nexuiz.h +++ b/tools/quake3/q3map2/game_nexuiz.h @@ -65,6 +65,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_prophecy.h b/tools/quake3/q3map2/game_prophecy.h index 6d8b0a2..9de1114 100644 --- a/tools/quake3/q3map2/game_prophecy.h +++ b/tools/quake3/q3map2/game_prophecy.h @@ -56,6 +56,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 200.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 0.4f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_qfusion.h b/tools/quake3/q3map2/game_qfusion.h index 681f75d..1a2c926 100644 --- a/tools/quake3/q3map2/game_qfusion.h +++ b/tools/quake3/q3map2/game_qfusion.h @@ -117,6 +117,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_quake3.h b/tools/quake3/q3map2/game_quake3.h index 76b3ff3..90a066e 100644 --- a/tools/quake3/q3map2/game_quake3.h +++ b/tools/quake3/q3map2/game_quake3.h @@ -114,6 +114,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_quakelive.h b/tools/quake3/q3map2/game_quakelive.h index ba781cd..e6703fc 100644 --- a/tools/quake3/q3map2/game_quakelive.h +++ b/tools/quake3/q3map2/game_quakelive.h @@ -66,6 +66,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_reaction.h b/tools/quake3/q3map2/game_reaction.h index ea59e35..55b19c3 100644 --- a/tools/quake3/q3map2/game_reaction.h +++ b/tools/quake3/q3map2/game_reaction.h @@ -86,6 +86,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_sof2.h b/tools/quake3/q3map2/game_sof2.h index 98081da..adce6b6 100644 --- a/tools/quake3/q3map2/game_sof2.h +++ b/tools/quake3/q3map2/game_sof2.h @@ -141,6 +141,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_tenebrae.h b/tools/quake3/q3map2/game_tenebrae.h index 9e0658f..081c9c4 100644 --- a/tools/quake3/q3map2/game_tenebrae.h +++ b/tools/quake3/q3map2/game_tenebrae.h @@ -114,6 +114,7 @@ game_t struct 2.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_tremulous.h b/tools/quake3/q3map2/game_tremulous.h index 08027fe..a74c539 100644 --- a/tools/quake3/q3map2/game_tremulous.h +++ b/tools/quake3/q3map2/game_tremulous.h @@ -72,6 +72,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_wolf.h b/tools/quake3/q3map2/game_wolf.h index 94339e6..d16e2db 100644 --- a/tools/quake3/q3map2/game_wolf.h +++ b/tools/quake3/q3map2/game_wolf.h @@ -131,6 +131,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_wolfet.h b/tools/quake3/q3map2/game_wolfet.h index bcb3098..f6c69d1 100644 --- a/tools/quake3/q3map2/game_wolfet.h +++ b/tools/quake3/q3map2/game_wolfet.h @@ -68,6 +68,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/game_xonotic.h b/tools/quake3/q3map2/game_xonotic.h index 2512193..3e13204 100644 --- a/tools/quake3/q3map2/game_xonotic.h +++ b/tools/quake3/q3map2/game_xonotic.h @@ -65,6 +65,7 @@ game_t struct 1.0f, /* lightmap gamma */ qfalse, /* lightmap sRGB */ qfalse, /* texture sRGB */ + qfalse, /* color sRGB */ 1.0f, /* lightmap exposure */ 1.0f, /* lightmap compensate */ 1.0f, /* lightgrid scale */ diff --git a/tools/quake3/q3map2/light.c b/tools/quake3/q3map2/light.c index f4a735c..67c0b4c 100644 --- a/tools/quake3/q3map2/light.c +++ b/tools/quake3/q3map2/light.c @@ -2083,6 +2083,12 @@ int LightMain( int argc, char **argv ) else Sys_Printf( " texture colorspace: linear\n" ); + colorsRGB = game->colorsRGB; + if(colorsRGB) + Sys_Printf( " _color colorspace: sRGB\n" ); + else + Sys_Printf( " _color colorspace: linear\n" ); + lightmapCompensate = game->lightmapCompensate; Sys_Printf( " lightning compensation: %f\n", lightmapCompensate ); @@ -2259,6 +2265,18 @@ int LightMain( int argc, char **argv ) Sys_Printf( "Textures are linear\n" ); } + else if( !strcmp( argv[ i ], "-sRGBcolor" ) ) + { + colorsRGB = qtrue; + Sys_Printf( "Colors are in sRGB\n" ); + } + + else if( !strcmp( argv[ i ], "-nosRGBcolor" ) ) + { + colorsRGB = qfalse; + Sys_Printf( "Colors are linear\n" ); + } + else if( !strcmp( argv[ i ], "-exposure" ) ) { f = atof( argv[ i + 1 ] ); diff --git a/tools/quake3/q3map2/q3map2.h b/tools/quake3/q3map2/q3map2.h index 720d63b..58a6d2f 100644 --- a/tools/quake3/q3map2/q3map2.h +++ b/tools/quake3/q3map2/q3map2.h @@ -567,6 +567,7 @@ typedef struct game_s float lightmapGamma; /* default lightmap gamma */ qboolean lightmapsRGB; /* default lightmap sRGB mode */ qboolean texturesRGB; /* default texture sRGB mode */ + qboolean colorsRGB; /* default color sRGB mode */ float lightmapExposure; /* default lightmap exposure */ float lightmapCompensate; /* default lightmap compensate value */ float gridScale; /* vortex: default lightgrid scale (affects both directional and ambient spectres) */ @@ -2302,6 +2303,7 @@ Q_EXTERN qboolean inGrid Q_ASSIGN(0); Q_EXTERN float lightmapGamma Q_ASSIGN( 1.0f ); Q_EXTERN float lightmapsRGB Q_ASSIGN( qfalse ); Q_EXTERN float texturesRGB Q_ASSIGN( qfalse ); +Q_EXTERN float colorsRGB Q_ASSIGN( qfalse ); Q_EXTERN float lightmapExposure Q_ASSIGN( 1.0f ); Q_EXTERN float lightmapCompensate Q_ASSIGN( 1.0f ); -- 2.39.2