ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/kgsueme/lib/KGS/Constants.pm
Revision: 1.24
Committed: Fri Oct 28 14:59:36 2005 UTC (18 years, 7 months ago) by root
Branch: MAIN
CVS Tags: HEAD
Changes since 1.23: +7 -7 lines
Log Message:
*** empty log message ***

File Contents

# Content
1
2 # This is an automatically generated file.
3 # This is an automatically generated file.
4 # This is an automatically generated file.
5 # This is an automatically generated file.
6 # This is an automatically generated file.
7
8 # See doc/protocol.xml and doc/doc2constants_pm.xsl (and doc/Makefile)
9
10 package KGS::Constants;
11
12 use base Exporter;
13
14 BEGIN {
15 @EXPORT = qw(
16
17
18 GAMETYPE_DEMONSTRATION GAMETYPE_EDITING GAMETYPE_TEACHING GAMETYPE_SIMUL GAMETYPE_FREE GAMETYPE_RATED GAMETYPE_PRIVATE
19 GAMEFLAG_SCORED GAMEFLAG_ADJOURNED GAMEFLAG_UPLOADED
20 ROOMFLAG_ADMIN ROOMFLAG_DEFAULT ROOMFLAG_PRIVATE
21 GAMESTATUS_INPLAY
22 SCORE_TIMEOUT SCORE_RESIGN SCORE_FORFEIT SCORE_JIGO SCORE_NO_RESULT SCORE_ADJOURNED SCORE_UNKNOWN
23 RULESET_JAPANESE RULESET_CHINESE RULESET_AGA RULESET_NEW_ZEALAND
24 TIMESYS_NONE TIMESYS_ABSOLUTE TIMESYS_BYO_YOMI TIMESYS_CANADIAN
25 COLOUR_BLACK COLOUR_WHITE COLOUR_NONE
26
27
28 %ruleset %timesys %gametype %special_score %room_group
29
30 INTERVAL_GAMEUPDATES
31 );
32 }
33
34
35
36 sub GAMETYPE_DEMONSTRATION () { 0 }
37 sub GAMETYPE_EDITING () { 1 }
38 sub GAMETYPE_TEACHING () { 2 }
39 sub GAMETYPE_SIMUL () { 3 }
40 sub GAMETYPE_FREE () { 4 }
41 sub GAMETYPE_RATED () { 5 }
42 sub GAMETYPE_PRIVATE () { 128 }
43 sub GAMEFLAG_SCORED () { 1 }
44 sub GAMEFLAG_ADJOURNED () { 2 }
45 sub GAMEFLAG_UPLOADED () { 4 }
46 sub ROOMFLAG_ADMIN () { 0x01 }
47 sub ROOMFLAG_DEFAULT () { 0x04 }
48 sub ROOMFLAG_PRIVATE () { 0x10 }
49 sub GAMESTATUS_INPLAY () { 0x80 }
50 sub SCORE_TIMEOUT () { 16384 }
51 sub SCORE_RESIGN () { 16385 }
52 sub SCORE_FORFEIT () { 0 }
53 sub SCORE_JIGO () { 16386 }
54 sub SCORE_NO_RESULT () { 16386 }
55 sub SCORE_ADJOURNED () { 16387 }
56 sub SCORE_UNKNOWN () { 16389 }
57 sub RULESET_JAPANESE () { 0 }
58 sub RULESET_CHINESE () { 1 }
59 sub RULESET_AGA () { 2 }
60 sub RULESET_NEW_ZEALAND () { 3 }
61 sub TIMESYS_NONE () { 0 }
62 sub TIMESYS_ABSOLUTE () { 1 }
63 sub TIMESYS_BYO_YOMI () { 2 }
64 sub TIMESYS_CANADIAN () { 3 }
65 sub COLOUR_BLACK () { 0 }
66 sub COLOUR_WHITE () { 1 }
67 sub COLOUR_NONE () { 2 }
68
69
70
71
72 sub INTERVAL_GAMEUPDATES () { 60 } # request game list updates this often (seconds).
73
74 # gametype (% 5)
75
76 %gametype = (
77 &GAMETYPE_DEMONSTRATION => "demonstration",
78 &GAMETYPE_EDITING => "editing",
79 &GAMETYPE_TEACHING => "teaching",
80 &GAMETYPE_SIMUL => "simul",
81 &GAMETYPE_FREE => "free",
82 &GAMETYPE_RATED => "rated",
83 );
84
85 # special score values.
86 # positive == black won, negative == white one
87
88 # use the abs value
89 %special_score = (
90 &SCORE_TIMEOUT => "time",
91 &SCORE_RESIGN => "resign",
92 &SCORE_FORFEIT => "forfeit",
93
94 &SCORE_JIGO => "jigo",
95
96 &SCORE_NO_RESULT => "NR",
97 &SCORE_ADJOURNED => "(adj)",
98 &SCORE_UNKNOWN => "(unknown)",
99 );
100
101 # rule set
102
103 %ruleset = (
104 &RULESET_JAPANESE => "japanese",
105 &RULESET_CHINESE => "chinese",
106 &RULESET_AGA => "AGA",
107 &RULESET_NEW_ZEALAND => "new zealand",
108 );
109
110 # time system
111
112 %timesys = (
113 &TIMESYS_NONE => "none",
114 &TIMESYS_ABSOLUTE => "absolute",
115 &TIMESYS_BYO_YOMI => "byo-yomi",
116 &TIMESYS_CANADIAN => "canadian",
117 );
118
119 # stone/player etc. colours
120
121 %room_group = (
122 0 => "Main",
123 1 => "New Rooms",
124 2 => "Clubs",
125 3 => "Lessons",
126 4 => "Tournaments",
127 5 => "Social",
128 6 => "National",
129 );
130
131 # misplaced here...
132 sub findfile {
133 my @files = @_;
134 file:
135 for (@files) {
136 for my $prefix (@INC) {
137 if (-f "$prefix/$_") {
138 $_ = "$prefix/$_";
139 next file;
140 }
141 }
142 die "$_: file not found in \@INC\n";
143 }
144 wantarray ? @files : $files[0];
145 }
146
147 1;
148