# This is an automatically generated file. # This is an automatically generated file. # This is an automatically generated file. # This is an automatically generated file. # This is an automatically generated file. # See doc/protocol.xml and doc/doc2constants_pm.xsl (and doc/Makefile) package KGS::Constants; use base Exporter; BEGIN { @EXPORT = qw( GAMETYPE_DEMONSTRATION GAMETYPE_EDITING GAMETYPE_TEACHING GAMETYPE_SIMUL GAMETYPE_FREE GAMETYPE_RATED GAMETYPE_PRIVATE GAMEFLAG_SCORED GAMEFLAG_ADJOURNED GAMEFLAG_UPLOADED ROOMFLAG_ADMIN ROOMFLAG_DEFAULT ROOMFLAG_PRIVATE GAMESTATUS_INPLAY SCORE_TIMEOUT SCORE_RESIGN SCORE_FORFEIT SCORE_JIGO SCORE_NO_RESULT SCORE_ADJOURNED SCORE_UNKNOWN RULESET_JAPANESE RULESET_CHINESE RULESET_AGA RULESET_NEW_ZEALAND TIMESYS_NONE TIMESYS_ABSOLUTE TIMESYS_BYO_YOMI TIMESYS_CANADIAN COLOUR_BLACK COLOUR_WHITE COLOUR_NONE %ruleset %timesys %gametype %special_score %room_group INTERVAL_GAMEUPDATES ); } sub GAMETYPE_DEMONSTRATION () { 0 } sub GAMETYPE_EDITING () { 1 } sub GAMETYPE_TEACHING () { 2 } sub GAMETYPE_SIMUL () { 3 } sub GAMETYPE_FREE () { 4 } sub GAMETYPE_RATED () { 5 } sub GAMETYPE_PRIVATE () { 128 } sub GAMEFLAG_SCORED () { 1 } sub GAMEFLAG_ADJOURNED () { 2 } sub GAMEFLAG_UPLOADED () { 4 } sub ROOMFLAG_ADMIN () { 0x01 } sub ROOMFLAG_DEFAULT () { 0x04 } sub ROOMFLAG_PRIVATE () { 0x10 } sub GAMESTATUS_INPLAY () { 0x80 } sub SCORE_TIMEOUT () { 16384 } sub SCORE_RESIGN () { 16385 } sub SCORE_FORFEIT () { 0 } sub SCORE_JIGO () { 16386 } sub SCORE_NO_RESULT () { 16386 } sub SCORE_ADJOURNED () { 16387 } sub SCORE_UNKNOWN () { 16389 } sub RULESET_JAPANESE () { 0 } sub RULESET_CHINESE () { 1 } sub RULESET_AGA () { 2 } sub RULESET_NEW_ZEALAND () { 3 } sub TIMESYS_NONE () { 0 } sub TIMESYS_ABSOLUTE () { 1 } sub TIMESYS_BYO_YOMI () { 2 } sub TIMESYS_CANADIAN () { 3 } sub COLOUR_BLACK () { 0 } sub COLOUR_WHITE () { 1 } sub COLOUR_NONE () { 2 } sub INTERVAL_GAMEUPDATES () { 60 } # request game list updates this often (seconds). # gametype (% 5) %gametype = ( &GAMETYPE_DEMONSTRATION => "demonstration", &GAMETYPE_EDITING => "editing", &GAMETYPE_TEACHING => "teaching", &GAMETYPE_SIMUL => "simul", &GAMETYPE_FREE => "free", &GAMETYPE_RATED => "rated", ); # special score values. # positive == black won, negative == white one # use the abs value %special_score = ( &SCORE_TIMEOUT => "time", &SCORE_RESIGN => "resign", &SCORE_FORFEIT => "forfeit", &SCORE_JIGO => "jigo", &SCORE_NO_RESULT => "NR", &SCORE_ADJOURNED => "(adj)", &SCORE_UNKNOWN => "(unknown)", ); # rule set %ruleset = ( &RULESET_JAPANESE => "japanese", &RULESET_CHINESE => "chinese", &RULESET_AGA => "AGA", &RULESET_NEW_ZEALAND => "new zealand", ); # time system %timesys = ( &TIMESYS_NONE => "none", &TIMESYS_ABSOLUTE => "absolute", &TIMESYS_BYO_YOMI => "byo-yomi", &TIMESYS_CANADIAN => "canadian", ); # stone/player etc. colours %room_group = ( 0 => "Main", 1 => "New Rooms", 2 => "Clubs", 3 => "Lessons", 4 => "Tournaments", 5 => "Social", 6 => "National", ); # misplaced here... sub findfile { my @files = @_; file: for (@files) { for my $prefix (@INC) { if (-f "$prefix/$_") { $_ = "$prefix/$_"; next file; } } die "$_: file not found in \@INC\n"; } wantarray ? @files : $files[0]; } 1;