/[james]/archive/snap/snap.cs
ViewVC logotype

Annotation of /archive/snap/snap.cs

Parent Directory Parent Directory | Revision Log Revision Log


Revision 19 - (hide annotations) (download)
Tue Feb 11 11:05:25 2003 UTC (21 years, 9 months ago) by james
File size: 19647 byte(s)
Initial import.

1 james 19 $snap_numberofkeys = 19;
2    
3     // finds the current settings and puts them in $snap_bindings
4     function snap_get_current_keys()
5     {
6     $snap_bindings[0] = snap_get_binding(prevWeapon);
7     $snap_bindings[1] = snap_get_binding(nextWeapon);
8     $snap_bindings[2] = snap_get_binding(placeMine);
9     $snap_bindings[3] = snap_get_binding(placeBeacon);
10     $snap_bindings[4] = snap_get_binding(useTargetingLaser);
11     $snap_bindings[5] = snap_get_binding(throwWeapon);
12     $snap_bindings[6] = snap_get_binding(throwPack);
13     $snap_bindings[7] = snap_get_binding(throwFlag);
14     $snap_bindings[8] = snap_get_binding(toggleZoom);
15     $snap_bindings[9] = snap_get_binding(toggleCommanderMap);
16    
17     $snap_bindings[10] = snap_get_binding(jump);
18     $snap_bindings[11] = snap_get_binding(setZoomFOV);
19     $snap_bindings[12] = snap_get_binding(throwGrenade);
20     $snap_bindings[13] = snap_get_binding(useBackPack);
21     $snap_bindings[14] = snap_get_binding(useRepairKit);
22    
23     $snap_bindings[15] = snap_get_binding(moveforward);
24     $snap_bindings[16] = snap_get_binding(movebackward);
25     $snap_bindings[17] = snap_get_binding(moveleft);
26     $snap_bindings[18] = snap_get_binding(moveright);
27    
28     $snap_mousespeed = mfloor(moveMap.getscale(mouse, xaxis) * 8 - 0.5);
29     if ($snap_mousespeed < 0) $snap_mousespeed = 0;
30     $snap_mouseinv = moveMap.isinverted(mouse, yaxis);
31     }
32    
33     // gets the key bound to %action
34     function snap_get_binding(%action)
35     {
36     return getfield(movemap.getbinding(%action), 1);
37     }
38    
39    
40    
41     // encode reads the bindings in $snap_bindings and returns a short string
42     function snap_encode()
43     {
44     %code["equals"] = "00000000";
45     %code["lbracket"] = "00000001";
46     %code["slash"] = "00000010";
47     %code["lessthan"] = "00000011";
48     %code["comma"] = "00000100";
49     %code["period"] = "00000101";
50     %code["semicolon"] = "00000110";
51     %code["apostrophe"] = "00000111";
52     %code["numpad9"] = "000010000";
53     %code["numpadmult"] = "000010001";
54     %code["numpad7"] = "000010010";
55     %code["numpad8"] = "000010011";
56     %code["numpadminus"] = "000010100";
57     %code["numpadadd"] = "0000101010";
58     %code["numpadsep"] = "0000101011";
59     %code["numpad5"] = "0000101100";
60     %code["numpad6"] = "0000101101";
61     %code["numpad3"] = "0000101110";
62     %code["numpad4"] = "0000101111";
63     %code["numpad1"] = "0000110";
64     %code["numpad2"] = "0000111";
65     %code["ctrl b"] = "00010000";
66     %code["ctrl c"] = "00010001";
67     %code["ctrl numpad5"] = "0001001000000";
68     %code["ctrl numpad6"] = "0001001000001";
69     %code["ctrl numpad3"] = "0001001000010";
70     %code["ctrl numpad4"] = "0001001000011";
71     %code["ctrl numpad9"] = "0001001000100";
72     %code["ctrl numpadmult"] = "0001001000101";
73     %code["ctrl numpad7"] = "0001001000110";
74     %code["ctrl numpad8"] = "0001001000111";
75     %code["ctrl numpadminus"] = "0001001001000";
76     %code["ctrl numpaddecimal"] = "0001001001001";
77     %code["ctrl numpadadd"] = "0001001001010";
78     %code["ctrl numpadsep"] = "0001001001011";
79     %code["ctrl numpad1"] = "0001001001100";
80     %code["ctrl numpad2"] = "0001001001101";
81     %code["ctrl *"] = "0001001001110";
82     %code["ctrl numpaddivide"] = "00010010011110";
83     %code["ctrl numpadenter"] = "00010010011111";
84     %code["ctrl a"] = "000100101";
85     %code["ctrl d"] = "000100110";
86     %code["ctrl e"] = "000100111";
87     %code["ctrl f"] = "000101";
88     %code["ctrl x"] = "00011000";
89     %code["ctrl y"] = "00011001";
90     %code["shift space"] = "000110100";
91     %code["shift o"] = "00011010100";
92     %code["shift p"] = "00011010101";
93     %code["shift y"] = "00011010110";
94     %code["shift z"] = "00011010111";
95     %code["shift u"] = "00011011000";
96     %code["shift v"] = "00011011001";
97     %code["shift q"] = "00011011010";
98     %code["shift r"] = "00011011011";
99     %code["shift s"] = "00011011100";
100     %code["shift t"] = "00011011101";
101     %code["shift b"] = "000110111100";
102     %code["shift c"] = "000110111101";
103     %code["shift *"] = "000110111110";
104     %code["shift a"] = "000110111111";
105     %code["ctrl q"] = "00011100";
106     %code["ctrl o"] = "000111010";
107     %code["ctrl p"] = "000111011";
108     %code["ctrl i"] = "000111100";
109     %code["ctrl j"] = "000111101";
110     %code["ctrl g"] = "000111110";
111     %code["ctrl h"] = "000111111";
112     %code["8"] = "0010000";
113     %code["9"] = "0010001";
114     %code["numpadenter"] = "00100100";
115     %code["*"] = "00100101";
116     %code["numpaddecimal"] = "00100110";
117     %code["numpaddivide"] = "00100111";
118     %code["lcontrol"] = "001010";
119     %code["rcontrol"] = "001011";
120     %code["button2"] = "001100";
121     %code["1"] = "001101";
122     %code["scrolllock"] = "001110000";
123     %code["delete"] = "0011100010";
124     %code["numlock"] = "0011100011";
125     %code["print"] = "001110010";
126     %code["insert"] = "001110011";
127     %code["lshift"] = "0011101";
128     %code["rshift"] = "001111";
129     %code["rbracket"] = "01000000";
130     %code["backslash"] = "01000001";
131     %code["tilde"] = "01000010";
132     %code["minus"] = "01000011";
133     %code["lalt"] = "0100010";
134     %code["ralt"] = "0100011";
135     %code["enter"] = "0100100";
136     %code["pause"] = "0100101";
137     %code["backspace"] = "01001100";
138     %code["tab"] = "01001101";
139     %code["return"] = "0100111";
140     %code["6"] = "0101000";
141     %code["7"] = "0101001";
142     %code["0"] = "0101010";
143     %code["numpad0"] = "0101011";
144     %code["y"] = "010110";
145     %code["z"] = "010111";
146     %code["o"] = "011000";
147     %code["p"] = "011001";
148     %code["m"] = "011010";
149     %code["n"] = "011011";
150     %code["u"] = "011100";
151     %code["v"] = "011101";
152     %code["q"] = "011110";
153     %code["r"] = "011111";
154     %code["g"] = "100000";
155     %code["h"] = "100001";
156     %code["e"] = "100010";
157     %code["f"] = "100011";
158     %code["k"] = "100100";
159     %code["l"] = "100101";
160     %code["i"] = "100110";
161     %code["j"] = "100111";
162     %code["home"] = "1010000";
163     %code["pageup"] = "10100010";
164     %code["end"] = "10100011";
165     %code["capslock"] = "1010010";
166     %code["pagedown"] = "1010011";
167     %code["ctrl z"] = "101010000";
168     %code["ctrl left"] = "101010001";
169     %code["shift f"] = "10101001000";
170     %code["shift g"] = "10101001001";
171     %code["shift m"] = "101010010100";
172     %code["shift n"] = "101010010101";
173     %code["shift k"] = "101010010110";
174     %code["shift l"] = "101010010111";
175     %code["shift e"] = "10101001100";
176     %code["shift d"] = "101010011010";
177     %code["shift numpad4"] = "1010100110110000";
178     %code["shift numpad5"] = "1010100110110001";
179     %code["shift numpad2"] = "1010100110110010";
180     %code["shift numpad3"] = "1010100110110011";
181     %code["shift numpad8"] = "1010100110110100";
182     %code["shift numpad9"] = "1010100110110101";
183     %code["shift numpad6"] = "1010100110110110";
184     %code["shift numpad7"] = "1010100110110111";
185     %code["shift numpadsep"] = "1010100110111000";
186     %code["shift numpadminus"] = "1010100110111001";
187     %code["shift numpadmult"] = "1010100110111010";
188     %code["shift numpadadd"] = "1010100110111011";
189     %code["shift numpad0"] = "1010100110111100";
190     %code["shift numpad1"] = "1010100110111101";
191     %code["shift numpadenter"] = "1010100110111110";
192     %code["shift numpaddecimal"] = "10101001101111110";
193     %code["shift numpaddivide"] = "10101001101111111";
194     %code["shift j"] = "101010011100";
195     %code["shift h"] = "1010100111010";
196     %code["shift i"] = "1010100111011";
197     %code["shift w"] = "101010011110";
198     %code["shift x"] = "101010011111";
199     %code["ctrl down"] = "1010101000";
200     %code["ctrl space"] = "1010101001";
201     %code["ctrl up"] = "1010101010";
202     %code["ctrl right"] = "1010101011";
203     %code["shift right"] = "1010101100";
204     %code["shift down"] = "1010101101";
205     %code["shift left"] = "1010101110";
206     %code["shift up"] = "1010101111";
207     %code["ctrl m"] = "101011000";
208     %code["ctrl n"] = "101011001";
209     %code["ctrl k"] = "101011010";
210     %code["ctrl l"] = "101011011";
211     %code["ctrl r"] = "1010111";
212     %code["right"] = "101100";
213     %code["down"] = "101101";
214     %code["left"] = "101110";
215     %code["up"] = "101111";
216     %code["c"] = "110000";
217     %code["d"] = "110001";
218     %code["a"] = "110010";
219     %code["b"] = "110011";
220     %code["w"] = "110100";
221     %code["x"] = "110101";
222     %code["s"] = "110110";
223     %code["t"] = "110111";
224     %code["right"] = "111000";
225     %code["down"] = "111001";
226     %code["left"] = "111010";
227     %code["up"] = "111011";
228     %code["4"] = "1111000";
229     %code["5"] = "1111001";
230     %code["2"] = "1111010";
231     %code["3"] = "1111011";
232     %code["space"] = "1111100";
233     %code["ctrl numpad0"] = "1111101";
234     %code["ctrl u"] = "111111000";
235     %code["ctrl v"] = "111111001";
236     %code["ctrl s"] = "111111010";
237     %code["ctrl t"] = "111111011";
238     %code["ctrl w"] = "1111111";
239    
240     %l = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-";
241    
242     //get bind settings into $snap_bindings
243     snap_get_current_keys();
244    
245     // build binary string
246     %z = "";
247     for (%i = 0; %i < $snap_numberofkeys; %i++)
248     %z = %z @ %code[$snap_bindings[%i]];
249    
250     %z = %z @ snap_int_to_binstr($snap_mousespeed, 4) @ $snap_mouseinv;
251    
252     // pad length to multiple of 6 chars
253     while (strlen(%z) % 6)
254     %z = %z @ "0";
255    
256     // encode
257     %j = "";
258     for (%i = 0; %i < strlen(%z); %i += 6)
259     {
260     %n = snap_binstr_to_int(getsubstr(%z, %i, 6));
261     %j = %j @ getsubstr(%l, %n, 1);
262     }
263    
264     return %j;
265     }
266    
267     function snapback( %code )
268     {
269     snap( $snap_back );
270     }
271    
272    
273    
274     // convert a snap kode to a set of bindings in $snap_bindings
275     function snap( %j )
276     {
277     $snap_back = snap_encode();
278    
279    
280     if (%j $= "")
281     {
282     echo("Your current Snap Code is " @ $snap_back); // echo current snap_code tm
283     return $snap_back;
284     }
285    
286     echo("The previous Snap Code is " @ $snap_back);
287    
288     %code["00000000"] = "equals";
289     %code["00000001"] = "lbracket";
290     %code["00000010"] = "slash";
291     %code["00000011"] = "lessthan";
292     %code["00000100"] = "comma";
293     %code["00000101"] = "period";
294     %code["00000110"] = "semicolon";
295     %code["00000111"] = "apostrophe";
296     %code["000010000"] = "numpad9";
297     %code["000010001"] = "numpadmult";
298     %code["000010010"] = "numpad7";
299     %code["000010011"] = "numpad8";
300     %code["000010100"] = "numpadminus";
301     %code["0000101010"] = "numpadadd";
302     %code["0000101011"] = "numpadsep";
303     %code["0000101100"] = "numpad5";
304     %code["0000101101"] = "numpad6";
305     %code["0000101110"] = "numpad3";
306     %code["0000101111"] = "numpad4";
307     %code["0000110"] = "numpad1";
308     %code["0000111"] = "numpad2";
309     %code["00010000"] = "ctrl b";
310     %code["00010001"] = "ctrl c";
311     %code["0001001000000"] = "ctrl numpad5";
312     %code["0001001000001"] = "ctrl numpad6";
313     %code["0001001000010"] = "ctrl numpad3";
314     %code["0001001000011"] = "ctrl numpad4";
315     %code["0001001000100"] = "ctrl numpad9";
316     %code["0001001000101"] = "ctrl numpadmult";
317     %code["0001001000110"] = "ctrl numpad7";
318     %code["0001001000111"] = "ctrl numpad8";
319     %code["0001001001000"] = "ctrl numpadminus";
320     %code["0001001001001"] = "ctrl numpaddecimal";
321     %code["0001001001010"] = "ctrl numpadadd";
322     %code["0001001001011"] = "ctrl numpadsep";
323     %code["0001001001100"] = "ctrl numpad1";
324     %code["0001001001101"] = "ctrl numpad2";
325     %code["0001001001110"] = "ctrl *";
326     %code["00010010011110"] = "ctrl numpaddivide";
327     %code["00010010011111"] = "ctrl numpadenter";
328     %code["000100101"] = "ctrl a";
329     %code["000100110"] = "ctrl d";
330     %code["000100111"] = "ctrl e";
331     %code["000101"] = "ctrl f";
332     %code["00011000"] = "ctrl x";
333     %code["00011001"] = "ctrl y";
334     %code["000110100"] = "shift space";
335     %code["00011010100"] = "shift o";
336     %code["00011010101"] = "shift p";
337     %code["00011010110"] = "shift y";
338     %code["00011010111"] = "shift z";
339     %code["00011011000"] = "shift u";
340     %code["00011011001"] = "shift v";
341     %code["00011011010"] = "shift q";
342     %code["00011011011"] = "shift r";
343     %code["00011011100"] = "shift s";
344     %code["00011011101"] = "shift t";
345     %code["000110111100"] = "shift b";
346     %code["000110111101"] = "shift c";
347     %code["000110111110"] = "shift *";
348     %code["000110111111"] = "shift a";
349     %code["00011100"] = "ctrl q";
350     %code["000111010"] = "ctrl o";
351     %code["000111011"] = "ctrl p";
352     %code["000111100"] = "ctrl i";
353     %code["000111101"] = "ctrl j";
354     %code["000111110"] = "ctrl g";
355     %code["000111111"] = "ctrl h";
356     %code["0010000"] = "8";
357     %code["0010001"] = "9";
358     %code["00100100"] = "numpadenter";
359     %code["00100101"] = "*";
360     %code["00100110"] = "numpaddecimal";
361     %code["00100111"] = "numpaddivide";
362     %code["001010"] = "lcontrol";
363     %code["001011"] = "rcontrol";
364     %code["001100"] = "button2";
365     %code["001101"] = "1";
366     %code["001110000"] = "scrolllock";
367     %code["0011100010"] = "delete";
368     %code["0011100011"] = "numlock";
369     %code["001110010"] = "print";
370     %code["001110011"] = "insert";
371     %code["0011101"] = "lshift";
372     %code["001111"] = "rshift";
373     %code["01000000"] = "rbracket";
374     %code["01000001"] = "backslash";
375     %code["01000010"] = "tilde";
376     %code["01000011"] = "minus";
377     %code["0100010"] = "lalt";
378     %code["0100011"] = "ralt";
379     %code["0100100"] = "enter";
380     %code["0100101"] = "pause";
381     %code["01001100"] = "backspace";
382     %code["01001101"] = "tab";
383     %code["0100111"] = "return";
384     %code["0101000"] = "6";
385     %code["0101001"] = "7";
386     %code["0101010"] = "0";
387     %code["0101011"] = "numpad0";
388     %code["010110"] = "y";
389     %code["010111"] = "z";
390     %code["011000"] = "o";
391     %code["011001"] = "p";
392     %code["011010"] = "m";
393     %code["011011"] = "n";
394     %code["011100"] = "u";
395     %code["011101"] = "v";
396     %code["011110"] = "q";
397     %code["011111"] = "r";
398     %code["100000"] = "g";
399     %code["100001"] = "h";
400     %code["100010"] = "e";
401     %code["100011"] = "f";
402     %code["100100"] = "k";
403     %code["100101"] = "l";
404     %code["100110"] = "i";
405     %code["100111"] = "j";
406     %code["1010000"] = "home";
407     %code["10100010"] = "pageup";
408     %code["10100011"] = "end";
409     %code["1010010"] = "capslock";
410     %code["1010011"] = "pagedown";
411     %code["101010000"] = "ctrl z";
412     %code["101010001"] = "ctrl left";
413     %code["10101001000"] = "shift f";
414     %code["10101001001"] = "shift g";
415     %code["101010010100"] = "shift m";
416     %code["101010010101"] = "shift n";
417     %code["101010010110"] = "shift k";
418     %code["101010010111"] = "shift l";
419     %code["10101001100"] = "shift e";
420     %code["101010011010"] = "shift d";
421     %code["1010100110110000"] = "shift numpad4";
422     %code["1010100110110001"] = "shift numpad5";
423     %code["1010100110110010"] = "shift numpad2";
424     %code["1010100110110011"] = "shift numpad3";
425     %code["1010100110110100"] = "shift numpad8";
426     %code["1010100110110101"] = "shift numpad9";
427     %code["1010100110110110"] = "shift numpad6";
428     %code["1010100110110111"] = "shift numpad7";
429     %code["1010100110111000"] = "shift numpadsep";
430     %code["1010100110111001"] = "shift numpadminus";
431     %code["1010100110111010"] = "shift numpadmult";
432     %code["1010100110111011"] = "shift numpadadd";
433     %code["1010100110111100"] = "shift numpad0";
434     %code["1010100110111101"] = "shift numpad1";
435     %code["1010100110111110"] = "shift numpadenter";
436     %code["10101001101111110"] = "shift numpaddecimal";
437     %code["10101001101111111"] = "shift numpaddivide";
438     %code["101010011100"] = "shift j";
439     %code["1010100111010"] = "shift h";
440     %code["1010100111011"] = "shift i";
441     %code["101010011110"] = "shift w";
442     %code["101010011111"] = "shift x";
443     %code["1010101000"] = "ctrl down";
444     %code["1010101001"] = "ctrl space";
445     %code["1010101010"] = "ctrl up";
446     %code["1010101011"] = "ctrl right";
447     %code["1010101100"] = "shift right";
448     %code["1010101101"] = "shift down";
449     %code["1010101110"] = "shift left";
450     %code["1010101111"] = "shift up";
451     %code["101011000"] = "ctrl m";
452     %code["101011001"] = "ctrl n";
453     %code["101011010"] = "ctrl k";
454     %code["101011011"] = "ctrl l";
455     %code["1010111"] = "ctrl r";
456     %code["101100"] = "right";
457     %code["101101"] = "down";
458     %code["101110"] = "left";
459     %code["101111"] = "up";
460     %code["110000"] = "c";
461     %code["110001"] = "d";
462     %code["110010"] = "a";
463     %code["110011"] = "b";
464     %code["110100"] = "w";
465     %code["110101"] = "x";
466     %code["110110"] = "s";
467     %code["110111"] = "t";
468     %code["111000"] = "right";
469     %code["111001"] = "down";
470     %code["111010"] = "left";
471     %code["111011"] = "up";
472     %code["1111000"] = "4";
473     %code["1111001"] = "5";
474     %code["1111010"] = "2";
475     %code["1111011"] = "3";
476     %code["1111100"] = "space";
477     %code["1111101"] = "ctrl numpad0";
478     %code["111111000"] = "ctrl u";
479     %code["111111001"] = "ctrl v";
480     %code["111111010"] = "ctrl s";
481     %code["111111011"] = "ctrl t";
482     %code["1111111"] = "ctrl w";
483    
484     %l = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-";
485    
486     %z = "";
487     for (%i = 0; %i < strlen(%j); %i++)
488     %z = %z @ snap_int_to_binstr(strpos(%l, getsubstr(%j, %i, 1)), 6);
489    
490     for (%i = 0; %i < $snap_numberofkeys; %i++)
491     {
492     %ll = 1;
493     while (%ll != 100 && %code[getsubstr(%z, 0, %ll)] $= "")
494     %ll++;
495     if (%ll == 100)
496     {
497     echo("Decode error");
498     return;
499     }
500    
501     $snap_bindings[%i] = %code[getsubstr(%z, 0, %ll)];
502     %z = getsubstr(%z, %ll, strlen(%z));
503     }
504    
505     $snap_mousespeed = snap_binstr_to_int(getsubstr(%z, 0, 4));
506     $snap_mouseinv = getsubstr(%z, 0, 1);
507    
508     snap_set_keys();
509    
510     echo("Bindings Snapped");
511     return $snap_back;
512     }
513    
514     // convert binary string to its value
515     function snap_binstr_to_int(%s)
516     {
517     %v = 0;
518     for (%i = 0; %i < strlen(%s); %i++)
519     %v = (%v << 1) + getsubstr(%s, %i, 1);
520     return %v;
521     }
522    
523     // convert an integer to fixed length binary string
524     function snap_int_to_binstr(%i, %l)
525     {
526     %s = "";
527     while (%i > 0)
528     {
529     %s = (%i % 2) @ %s;
530     %i >>= 1;
531     }
532    
533     while (strlen(%s) % %l || %s $= "")
534     %s = "0" @ %s;
535    
536     return %s;
537     }
538    
539     // convert an integer to 6 char binary string
540     function snap_int_to_binstr6(%i)
541     {
542     if (%i == 0) return "000000";
543    
544     %s = "";
545     while (%i > 0)
546     {
547     %s = (%i % 2) @ %s;
548     %i >>= 1;
549     }
550    
551     while (strlen(%s) % 6)
552     %s = "0" @ %s;
553    
554     return %s;
555     }
556    
557     // read bindings from $snap_bindings and apply them
558     function snap_set_keys( )
559     {
560     snap_bind($snap_bindings[0], prevWeapon);
561     snap_bind($snap_bindings[1], nextWeapon);
562     snap_bind($snap_bindings[2], placeMine);
563     snap_bind($snap_bindings[3], placeBeacon);
564     snap_bind($snap_bindings[4], useTargetingLaser);
565     snap_bind($snap_bindings[5], throwWeapon);
566     snap_bind($snap_bindings[6], throwPack);
567     snap_bind($snap_bindings[7], throwFlag);
568     snap_bind($snap_bindings[8], toggleZoom);
569     snap_bind($snap_bindings[9], toggleCommanderMap);
570    
571     snap_bind($snap_bindings[10], jump);
572     snap_bind($snap_bindings[11], setZoomFOV);
573     snap_bind($snap_bindings[12], throwGrenade);
574     snap_bind($snap_bindings[13], useBackPack);
575     snap_bind($snap_bindings[14], useRepairKit);
576    
577     snap_bind($snap_bindings[15], moveforward);
578     snap_bind($snap_bindings[16], movebackward);
579     snap_bind($snap_bindings[17], moveleft);
580     snap_bind($snap_bindings[18], moveright);
581    
582     %speed = ($snap_mousespeed + 0.5) / 8;
583     movemap.bind(mouse0, "xaxis", S, %speed, yaw);
584     movemap.bind(mouse0, "yaxis", $snap_mouseinv ? SI : S, %speed, pitch); // SI = inverted, S = uninverted
585     }
586    
587     function snap_bind(%key, %action)
588     {
589     if (strpos("button2", %key) != -1)
590     movemap.bind(mouse0, %key, %action);
591     else
592     movemap.bind(keyboard, %key, %action);
593     }
594    

  ViewVC Help
Powered by ViewVC 1.1.26