]> icculus.org git repositories - divverent/nexuiz.git/blob - data/menuqc/custom/player/color.qc
now supporting shirt colors
[divverent/nexuiz.git] / data / menuqc / custom / player / color.qc
1 // Property of Alientrap/AK
2 // custom/player/color.qc
3
4
5 /*
6 ===================
7 Item_Data_Nex_Color
8 ===================
9 */
10
11 void() _IDNC_Sync =
12 {
13         local float lPants;
14
15
16         // color = shirt * 16 + pants
17         lPants = cvar( "_cl_color" ) & 15;
18         bprint("Pants: ", ftos(lPants), "\n");
19
20         String_EntitySet( self, value, ftos( lPants ) );
21         String_EntitySet( self, _syncValue, self.value );
22 };
23
24 void() _IDNC_Send =
25 {
26         local float lShirt;
27         lShirt = (cvar( "_cl_color" ) / 16) & 15;       
28         cmd( strcat( "color ", ftos( lShirt), " ", self.value, "\n" ) );
29         String_EntitySet( self, _syncValue, self.value );
30 };
31
32 void() _IDNC_Test_Start =
33 {
34         cmd( strcat( "color \"", self.value, "\"\n" ) );
35 };
36
37 void() _IDNC_Test_End =
38 {
39         String_EntitySet( self, value, self._syncValue );
40         cmd( strcat( "color \"", self.value, "\"\n" ) );
41 };
42
43 void() _IDNC_Reset =
44 {
45         String_EntitySet( self, value, self.defValue );
46         _IDNN_Send();
47 };
48
49 void( float pEvent ) Item_Data_Nex_Color_DataEvent =
50 {
51         switch( pEvent ) {
52         case ITEM_DATA_SYNC:
53                 _IDNC_Sync();
54                 break;
55         case ITEM_DATA_SEND:
56                 _IDNC_Send();
57                 break;
58         case ITEM_DATA_RESET:
59                 _IDNC_Reset();
60                 break;
61         case ITEM_DATA_TEST_START:
62                 _IDNC_Test_Start();
63                 break;
64         case ITEM_DATA_TEST_END:
65                 _IDNC_Test_End();
66                 break;
67         }
68 };
69
70 void() Item_Data_Nex_Color_Spawn =
71 {
72         Item_Data_Init();
73
74         self._reinit = _IDNC_Sync;
75         self._dataEvent = Item_Data_Nex_Color_DataEvent;
76 };
77
78
79 /*
80 ===================
81 Item_Data_Nex_ColorShirt
82 ===================
83 */
84
85 void() _IDNCS_Sync =
86 {
87         local float lShirt;
88
89         // color = shirt * 16 + pants
90         lShirt = (cvar( "_cl_color" ) / 16) & 15;
91         
92         bprint("Shirt: ", ftos(lShirt), "\n");
93
94         String_EntitySet( self, value, ftos( lShirt ) );
95         String_EntitySet( self, _syncValue, self.value );
96 };
97
98 void() _IDNCS_Send =
99 {
100         local float lPants;
101         lPants = cvar( "_cl_color" ) & 15;
102         cmd( strcat( "color ", self.value , " ", ftos( lPants ) , "\n" ) );
103         String_EntitySet( self, _syncValue, self.value );
104 };
105
106
107 void() _IDNCS_Test_Start =
108 {
109         //cmd( strcat( "color \"", self.value, "\"\n" ) );
110 };
111
112 void() _IDNCS_Test_End =
113 {
114         String_EntitySet( self, value, self._syncValue );
115         //cmd( strcat( "color \"", self.value, "\"\n" ) );
116 };
117
118
119 void() _IDNCS_Reset =
120 {
121         String_EntitySet( self, value, self.defValue );
122         _IDNN_Send();
123 };
124
125 void( float pEvent ) Item_Data_Nex_ColorShirt_DataEvent =
126 {
127         switch( pEvent ) {
128         case ITEM_DATA_SYNC:
129                 _IDNCS_Sync();
130                 break;
131         case ITEM_DATA_SEND:
132                 _IDNCS_Send();
133                 break;
134         case ITEM_DATA_RESET:
135                 _IDNCS_Reset();
136                 break;
137         case ITEM_DATA_TEST_START:
138                 _IDNCS_Test_Start();
139                 break;
140         case ITEM_DATA_TEST_END:
141                 _IDNCS_Test_End();
142                 break;
143         }
144 };
145
146 void() Item_Data_Nex_ColorShirt_Spawn =
147 {
148         Item_Data_Init();
149
150         self._reinit = _IDNCS_Sync;
151         self._dataEvent = Item_Data_Nex_ColorShirt_DataEvent;
152 };