Advertisement
Guest User

Untitled

a guest
Nov 25th, 2019
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.86 KB | None | 0 0
  1. #include "q_color.h"
  2.  
  3. vec4_t      colorBlack  = {0, 0, 0, 1};
  4. vec4_t      colorRed    = {1, 0, 0, 1};
  5. vec4_t      colorBrown  = {0.5, 0, 0, 1};
  6. vec4_t      colorGreen  = {0, 1, 0, 1};
  7. vec4_t      colorBlue   = {0, 0, 1, 1};
  8. vec4_t      colorYellow = {1, 1, 0, 1};
  9. vec4_t      colorOrange = {1, 0.5, 0, 1};
  10. vec4_t      colorMagenta= {1, 0, 1, 1};
  11. vec4_t      colorCyan   = {0, 1, 1, 1};
  12. vec4_t      colorWhite  = {1, 1, 1, 1};
  13. vec4_t      colorLtGrey = {0.75, 0.75, 0.75, 1};
  14. vec4_t      colorMdGrey = {0.5, 0.5, 0.5, 1};
  15. vec4_t      colorDkGrey = {0.25, 0.25, 0.25, 1};
  16.  
  17. vec4_t      colorLtBlue = {0.367f, 0.261f, 0.722f, 1};
  18. vec4_t      colorDkBlue = {0.199f, 0.0f,   0.398f, 1};
  19.  
  20. vec4_t g_color_table[Q_COLOR_BITS+1] = {
  21.     { 0.0, 0.0, 0.0, 1.0 }, // black
  22.     { 1.0, 0.0, 0.0, 1.0 }, // red
  23.     { 0.5, 0.0, 0.0, 1.0 }, //my brown
  24.     { 0.0, 1.0, 0.0, 1.0 }, // green
  25.     { 1.0, 1.0, 0.0, 1.0 }, // yellow
  26.     { 0.0, 0.0, 1.0, 1.0 }, // blue
  27.     { 0.0, 1.0, 1.0, 1.0 }, // cyan
  28.     { 1.0, 0.0, 1.0, 1.0 }, // magenta
  29.     { 1.0, 1.0, 1.0, 1.0 }, // white
  30.     { 1.0, 0.5, 0.0, 1.0 }, // orange
  31.     { 0.5, 0.5, 0.5, 1.0 }, // md.grey
  32. };
  33.  
  34. vec4_t colorTable[CT_MAX] =
  35. {
  36.     {0, 0, 0, 0},           // CT_NONE
  37.     {0, 0, 0, 1},           // CT_BLACK
  38.     {1, 0, 0, 1},           // CT_RED
  39.     {0.50f, 0.00f, 0.00f, 1}, //CT_BROWN (my)
  40.     {0, 1, 0, 1},           // CT_GREEN
  41.     {0, 0, 1, 1},           // CT_BLUE
  42.     {1, 1, 0, 1},           // CT_YELLOW
  43.     {1, 0, 1, 1},           // CT_MAGENTA
  44.     {0, 1, 1, 1},           // CT_CYAN
  45.     {1, 1, 1, 1},           // CT_WHITE
  46.     {0.75f, 0.75f, 0.75f, 1},   // CT_LTGREY
  47.     {0.50f, 0.50f, 0.50f, 1},   // CT_MDGREY
  48.     {0.25f, 0.25f, 0.25f, 1},   // CT_DKGREY
  49.     {0.15f, 0.15f, 0.15f, 1},   // CT_DKGREY2
  50.  
  51.     {0.992f, 0.652f, 0.0f,  1}, // CT_VLTORANGE -- needs values
  52.     {0.810f, 0.530f, 0.0f,  1}, // CT_LTORANGE
  53.     {0.610f, 0.330f, 0.0f,  1}, // CT_DKORANGE
  54.     {0.402f, 0.265f, 0.0f,  1}, // CT_VDKORANGE
  55.  
  56.     {0.503f, 0.375f, 0.996f, 1},    // CT_VLTBLUE1
  57.     {0.367f, 0.261f, 0.722f, 1},    // CT_LTBLUE1
  58.     {0.199f, 0.0f,   0.398f, 1},    // CT_DKBLUE1
  59.     {0.160f, 0.117f, 0.324f, 1},    // CT_VDKBLUE1
  60.  
  61.     {0.300f, 0.628f, 0.816f, 1},    // CT_VLTBLUE2 -- needs values
  62.     {0.300f, 0.628f, 0.816f, 1},    // CT_LTBLUE2
  63.     {0.191f, 0.289f, 0.457f, 1},    // CT_DKBLUE2
  64.     {0.125f, 0.250f, 0.324f, 1},    // CT_VDKBLUE2
  65.  
  66.     {0.796f, 0.398f, 0.199f, 1},    // CT_VLTBROWN1 -- needs values
  67.     {0.796f, 0.398f, 0.199f, 1},    // CT_LTBROWN1
  68.     {0.558f, 0.207f, 0.027f, 1},    // CT_DKBROWN1
  69.     {0.328f, 0.125f, 0.035f, 1},    // CT_VDKBROWN1
  70.  
  71.     {0.996f, 0.796f, 0.398f, 1},    // CT_VLTGOLD1 -- needs values
  72.     {0.996f, 0.796f, 0.398f, 1},    // CT_LTGOLD1
  73.     {0.605f, 0.441f, 0.113f, 1},    // CT_DKGOLD1
  74.     {0.386f, 0.308f, 0.148f, 1},    // CT_VDKGOLD1
  75.  
  76.     {0.648f, 0.562f, 0.784f, 1},    // CT_VLTPURPLE1 -- needs values
  77.     {0.648f, 0.562f, 0.784f, 1},    // CT_LTPURPLE1
  78.     {0.437f, 0.335f, 0.597f, 1},    // CT_DKPURPLE1
  79.     {0.308f, 0.269f, 0.375f, 1},    // CT_VDKPURPLE1
  80.  
  81.     {0.816f, 0.531f, 0.710f, 1},    // CT_VLTPURPLE2 -- needs values
  82.     {0.816f, 0.531f, 0.710f, 1},    // CT_LTPURPLE2
  83.     {0.566f, 0.269f, 0.457f, 1},    // CT_DKPURPLE2
  84.     {0.343f, 0.226f, 0.316f, 1},    // CT_VDKPURPLE2
  85.  
  86.     {0.929f, 0.597f, 0.929f, 1},    // CT_VLTPURPLE3
  87.     {0.570f, 0.371f, 0.570f, 1},    // CT_LTPURPLE3
  88.     {0.355f, 0.199f, 0.355f, 1},    // CT_DKPURPLE3
  89.     {0.285f, 0.136f, 0.230f, 1},    // CT_VDKPURPLE3
  90.  
  91.     {0.953f, 0.378f, 0.250f, 1},    // CT_VLTRED1
  92.     {0.953f, 0.378f, 0.250f, 1},    // CT_LTRED1
  93.     {0.593f, 0.121f, 0.109f, 1},    // CT_DKRED1
  94.     {0.429f, 0.171f, 0.113f, 1},    // CT_VDKRED1
  95.     {.25f, 0, 0, 1},                // CT_VDKRED
  96.     {.70f, 0, 0, 1},                // CT_DKRED
  97.  
  98.     {0.717f, 0.902f, 1.0f,   1},    // CT_VLTAQUA
  99.     {0.574f, 0.722f, 0.804f, 1},    // CT_LTAQUA
  100.     {0.287f, 0.361f, 0.402f, 1},    // CT_DKAQUA
  101.     {0.143f, 0.180f, 0.201f, 1},    // CT_VDKAQUA
  102.  
  103.     {0.871f, 0.386f, 0.375f, 1},    // CT_LTPINK
  104.     {0.435f, 0.193f, 0.187f, 1},    // CT_DKPINK
  105.     {     0,    .5f,    .5f, 1},    // CT_LTCYAN
  106.     {     0,   .25f,   .25f, 1},    // CT_DKCYAN
  107.     {   .179f, .51f,   .92f, 1},    // CT_LTBLUE3
  108.     {   .199f, .71f,   .92f, 1},    // CT_LTBLUE3
  109.     {   .5f,   .05f,    .4f, 1},    // CT_DKBLUE3
  110.  
  111.     {   0.0f,   .613f,  .097f, 1},  // CT_HUD_GREEN
  112.     {   0.835f, .015f,  .015f, 1},  // CT_HUD_RED
  113.     {   .567f,  .685f,  1.0f,   .75f},  // CT_ICON_BLUE
  114.     {   .515f,  .406f,  .507f,  1}, // CT_NO_AMMO_RED
  115.  
  116.     {   1.0f,   .658f,  .062f, 1},  // CT_HUD_ORANGE
  117.     {   0.549f, .854f,  1.0f,  1.0f},   //  CT_TITLE
  118. };
  119.  
  120. unsigned ColorBytes3 (float r, float g, float b) {
  121.     unsigned i;
  122.  
  123.     ( (byte *)&i )[0] = (byte)(r * 255);
  124.     ( (byte *)&i )[1] = (byte)(g * 255);
  125.     ( (byte *)&i )[2] = (byte)(b * 255);
  126.  
  127.     return i;
  128. }
  129.  
  130. unsigned ColorBytes4 (float r, float g, float b, float a) {
  131.     unsigned i;
  132.  
  133.     ( (byte *)&i )[0] = (byte)(r * 255);
  134.     ( (byte *)&i )[1] = (byte)(g * 255);
  135.     ( (byte *)&i )[2] = (byte)(b * 255);
  136.     ( (byte *)&i )[3] = (byte)(a * 255);
  137.  
  138.     return i;
  139. }
  140.  
  141. float NormalizeColor( const vec3_t in, vec3_t out ) {
  142.     float   max;
  143.  
  144.     max = in[0];
  145.     if ( in[1] > max ) {
  146.         max = in[1];
  147.     }
  148.     if ( in[2] > max ) {
  149.         max = in[2];
  150.     }
  151.  
  152.     if ( !max ) {
  153.         VectorClear( out );
  154.     } else {
  155.         out[0] = in[0] / max;
  156.         out[1] = in[1] / max;
  157.         out[2] = in[2] / max;
  158.     }
  159.     return max;
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement