You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
(46) |
Dec
(57) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(51) |
Feb
(10) |
Mar
|
Apr
|
May
(14) |
Jun
|
Jul
(13) |
Aug
(30) |
Sep
(83) |
Oct
(56) |
Nov
(148) |
Dec
(107) |
2010 |
Jan
(260) |
Feb
(164) |
Mar
(183) |
Apr
(99) |
May
(160) |
Jun
(40) |
Jul
(33) |
Aug
(48) |
Sep
(22) |
Oct
(24) |
Nov
(1) |
Dec
(12) |
2011 |
Jan
(6) |
Feb
(15) |
Mar
(13) |
Apr
(37) |
May
(27) |
Jun
(29) |
Jul
(33) |
Aug
(20) |
Sep
(17) |
Oct
(20) |
Nov
(33) |
Dec
(17) |
2012 |
Jan
(39) |
Feb
(38) |
Mar
(20) |
Apr
(21) |
May
(17) |
Jun
(22) |
Jul
(16) |
Aug
(3) |
Sep
(9) |
Oct
(10) |
Nov
|
Dec
|
From: Brett L. <wak...@us...> - 2010-01-20 05:45:47
|
Update of /cvsroot/rails/18xx/data/1870 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv14308/data/1870 Modified Files: TileSet.xml Game.xml Log Message: Apply Unlimited Trains patch from Freek Dijkstra <sf_...@ma...> Index: TileSet.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/1870/TileSet.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** TileSet.xml 10 Jan 2007 20:58:25 -0000 1.6 --- TileSet.xml 20 Jan 2010 05:45:38 -0000 1.7 *************** *** 17,132 **** <!-- Yellow --> ! <Tile id="1" quantity="1" /> ! <Tile id="2" quantity="1" /> ! <Tile id="3" quantity="3"> <Upgrade id="141,142,143"/> </Tile> ! <Tile id="4" quantity="6"> <Upgrade id="141,142"/> </Tile> ! <Tile id="5" quantity="2"> <Upgrade id="14,15" /> </Tile> ! <Tile id="6" quantity="2"> <Upgrade id="14,15" /> </Tile> ! <Tile id="7" quantity="9"> <Upgrade id="18,26,27,28,29" /> </Tile> ! <Tile id="8" quantity="22"> <Upgrade id="16,17,19,23,24,25,28,29" /> </Tile> ! <Tile id="9" quantity="23"> <Upgrade id="18,19,20,23,24,26,27" /> </Tile> ! <Tile id="55" quantity="1" /> ! <Tile id="56" quantity="1" /> ! <Tile id="57" quantity="5"> <Upgrade id="14,15" /> </Tile> ! <Tile id="58" quantity="4"> <Upgrade id="141,142,143"/> </Tile> - <Tile id="69" quantity="1" /> <!-- Green --> ! <Tile id="14" quantity="4"> <Upgrade id="63" /> <Upgrade id="170" label="P"/> </Tile> ! <Tile id="15" quantity="4"> <Upgrade id="63" /> <Upgrade id="170" label="P"/> </Tile> ! <Tile id="16" quantity="2"> <Upgrade id="43,70" /> </Tile> ! <Tile id="17" quantity="2"> <Upgrade id="47" /> </Tile> ! <Tile id="18" quantity="2"> <Upgrade id="43" /> </Tile> ! <Tile id="19" quantity="2"> <Upgrade id="45,46" /> </Tile> ! <Tile id="20" quantity="2"> <Upgrade id="44,47" /> </Tile> ! <Tile id="23" quantity="4"> <Upgrade id="41,43,45,47" /> </Tile> ! <Tile id="24" quantity="4"> <Upgrade id="42,43,46,47" /> </Tile> ! <Tile id="25" quantity="3"> <Upgrade id="40" /> </Tile> ! <Tile id="26" quantity="2"> <Upgrade id="42,44,45" /> </Tile> ! <Tile id="27" quantity="2"> <Upgrade id="41,44,46" /> </Tile> ! <Tile id="28" quantity="2"> <Upgrade id="39,43,46,70" /> </Tile> ! <Tile id="29" quantity="2"> <Upgrade id="39,43,45,70" /> </Tile> ! <Tile id="141" quantity="2"> </Tile> ! <Tile id="142" quantity="2"> <Upgrade id="145,146,147" /> </Tile> ! <Tile id="143" quantity="1"> <Upgrade id="146,147" /> </Tile> ! <Tile id="144" quantity="1"> <Upgrade id="147" /> </Tile> <!-- Brown--> ! <Tile id="39" quantity="1" /> ! <Tile id="40" quantity="2" /> ! <Tile id="41" quantity="3" /> ! <Tile id="42" quantity="3" /> ! <Tile id="43" quantity="2" /> ! <Tile id="44" quantity="1" /> ! <Tile id="45" quantity="2" /> ! <Tile id="46" quantity="2" /> ! <Tile id="47" quantity="2" /> ! <Tile id="63" quantity="5" /> ! <Tile id="70" quantity="2" /> ! <Tile id="145" quantity="2" /> ! <Tile id="146" quantity="2" /> ! <Tile id="147" quantity="2" /> ! <Tile id="170" quantity="4"> <Upgrade id="171" hex="B11"/> <Upgrade id="172" hex="C18"/> </Tile> <!-- Grey --> ! <Tile id="171" quantity="1" /> ! <Tile id="172" quantity="1" /> </TileManager> --- 17,447 ---- <!-- Yellow --> ! <Tile id="1"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="2"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="3"> <Upgrade id="141,142,143"/> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="3"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="4"> <Upgrade id="141,142"/> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="6"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="5"> <Upgrade id="14,15" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="6"> <Upgrade id="14,15" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="7"> <Upgrade id="18,26,27,28,29" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="9"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="8"> <Upgrade id="16,17,19,23,24,25,28,29" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="22"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="9"> <Upgrade id="18,19,20,23,24,26,27" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="23"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="55"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="56"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="57"> <Upgrade id="14,15" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="5"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="58"> <Upgrade id="141,142,143"/> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="4"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> + </Tile> + <Tile id="69"> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="1"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> <!-- Green --> ! <Tile id="14"> <Upgrade id="63" /> <Upgrade id="170" label="P"/> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="4"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="15"> <Upgrade id="63" /> <Upgrade id="170" label="P"/> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="4"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="16"> <Upgrade id="43,70" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="17"> <Upgrade id="47" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="18"> <Upgrade id="43" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="19"> <Upgrade id="45,46" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="20"> <Upgrade id="44,47" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="23"> <Upgrade id="41,43,45,47" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="4"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="24"> <Upgrade id="42,43,46,47" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="4"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="25"> <Upgrade id="40" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="3"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="26"> <Upgrade id="42,44,45" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="27"> <Upgrade id="41,44,46" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="28"> <Upgrade id="39,43,46,70" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="29"> <Upgrade id="39,43,45,70" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="141"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> </Tile> ! <Tile id="142"> <Upgrade id="145,146,147" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="143"> <Upgrade id="146,147" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="1"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="144"> <Upgrade id="147" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="1"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> <!-- Brown--> ! <Tile id="39"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="40"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="41"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="3"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="42"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="3"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="43"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="44"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="45"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="46"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="47"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="63"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="5"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="70"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="145"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="146"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="147"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="170"> <Upgrade id="171" hex="B11"/> <Upgrade id="172" hex="C18"/> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="4"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> <!-- Grey --> ! <Tile id="171"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="172"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> </TileManager> Index: Game.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/1870/Game.xml,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** Game.xml 17 Jan 2010 14:05:48 -0000 1.22 --- Game.xml 20 Jan 2010 05:45:39 -0000 1.23 *************** *** 3,6 **** --- 3,7 ---- <Component name="GameManager" class="rails.game.GameManager"> <Game name="1870"/> + <GameOption name="UnlimitedTiles" type="toggle" default="no"/> <GameOption name="LeaveAuctionOnPass" type="toggle" default="no"/> <GameParameters> |
From: Brett L. <wak...@us...> - 2010-01-20 05:45:47
|
Update of /cvsroot/rails/18xx/data/1835 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv14308/data/1835 Modified Files: Game.xml TileSet.xml Log Message: Apply Unlimited Trains patch from Freek Dijkstra <sf_...@ma...> Index: TileSet.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/1835/TileSet.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** TileSet.xml 14 Jan 2010 22:28:07 -0000 1.9 --- TileSet.xml 20 Jan 2010 05:45:38 -0000 1.10 *************** *** 44,51 **** <!-- yellow tiles --> ! <Tile id="1" quantity="1" /> ! <Tile id="2" quantity="1" /> ! <Tile id="3" quantity="2" /> ! <Tile id="4" quantity="3" /> <Tile id="5" quantity="3" > <Upgrade id="12,14,15,205,206" /> --- 44,79 ---- <!-- yellow tiles --> ! <Tile id="1"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="2"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="3"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="4"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="3"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> <Tile id="5" quantity="3" > <Upgrade id="12,14,15,205,206" /> *************** *** 54,169 **** <Upgrade id="12,13,14,15,205,206" /> </Tile> ! <Tile id="7" quantity="8"> <Upgrade id="18,26,27,28,29" /> </Tile> ! <Tile id="8" quantity="16"> <Upgrade id="16,19,23,24,25,28,29" /> </Tile> ! <Tile id="9" quantity="12"> <Upgrade id="18,19,20,23,24,26,27" /> </Tile> ! <Tile id="55" quantity="1" /> ! <Tile id="56" quantity="1" /> ! <Tile id="57" quantity="2"> <Upgrade id="14,15,205,206" /> </Tile> ! <Tile id="58" quantity="4" /> ! <Tile id="69" quantity="2" /> ! <Tile id="201" quantity="2"> <Upgrade id="207,208" /> </Tile> ! <Tile id="202" quantity="2"> <Upgrade id="207,208" /> </Tile> <!-- green tiles --> ! <Tile id="12" quantity="2"> <Upgrade id="63" /> </Tile> ! <Tile id="13" quantity="2"> <Upgrade id="63" /> </Tile> ! <Tile id="14" quantity="2"> <Upgrade id="63" /> </Tile> ! <Tile id="15" quantity="2"> <Upgrade id="63" /> </Tile> ! <Tile id="16" quantity="2"> <Upgrade id="43,70" /> </Tile> ! <Tile id="18" quantity="1"> <Upgrade id="43" /> </Tile> ! <Tile id="19" quantity="2"> <Upgrade id="45,46" /> </Tile> ! <Tile id="20" quantity="2"> <Upgrade id="44,47" /> </Tile> ! <Tile id="23" quantity="3"> <Upgrade id="41,43,45,47" /> </Tile> ! <Tile id="24" quantity="3"> <Upgrade id="42,43,46,47" /> </Tile> ! <Tile id="25" quantity="3"> <Upgrade id="40" /> </Tile> ! <Tile id="26" quantity="2"> <Upgrade id="42,44,45" /> </Tile> ! <Tile id="27" quantity="2"> <Upgrade id="41,44,46" /> </Tile> ! <Tile id="28" quantity="2"> <Upgrade id="39,43,46,70" /> </Tile> ! <Tile id="29" quantity="2"> <Upgrade id="39,43,45,70" /> </Tile> ! <Tile id="87" quantity="2" /> ! <Tile id="88" quantity="2" /> ! <Tile id="203" quantity="2" /> ! <Tile id="204" quantity="2" /> ! <Tile id="205" quantity="1"> <Upgrade id="63" /> </Tile> ! <Tile id="206" quantity="1"> <Upgrade id="63" /> </Tile> ! <Tile id="207" quantity="2"> <Upgrade id="216" /> </Tile> ! <Tile id="208" quantity="2"> <Upgrade id="216" /> </Tile> ! <Tile id="209" quantity="1"> <Upgrade id="220" /> </Tile> - <Tile id="210" quantity="1" /> - <Tile id="211" quantity="1" /> - <Tile id="212" quantity="1" /> - <Tile id="213" quantity="1" /> - <Tile id="214" quantity="1" /> - <Tile id="215" quantity="1" /> <!-- Brown tiles --> ! <Tile id="39" quantity="1" /> ! <Tile id="40" quantity="1" /> ! <Tile id="41" quantity="2" /> ! <Tile id="42" quantity="2" /> ! <Tile id="43" quantity="1" /> ! <Tile id="44" quantity="2" /> ! <Tile id="45" quantity="2" /> ! <Tile id="46" quantity="2" /> ! <Tile id="47" quantity="2" /> ! <Tile id="63" quantity="3" /> ! <Tile id="70" quantity="1" /> ! <Tile id="216" quantity="4" /> ! <Tile id="217" quantity="2" /> ! <Tile id="218" quantity="2" /> ! <Tile id="219" quantity="2" /> ! <Tile id="220" quantity="1" /> ! <Tile id="221" quantity="1" /> </TileManager> --- 82,570 ---- <Upgrade id="12,13,14,15,205,206" /> </Tile> ! <Tile id="7"> <Upgrade id="18,26,27,28,29" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="8"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="8"> <Upgrade id="16,19,23,24,25,28,29" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="16"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="9"> <Upgrade id="18,19,20,23,24,26,27" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="12"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="55"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="56"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="57"> <Upgrade id="14,15,205,206" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="58"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="4"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="69"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="201"> <Upgrade id="207,208" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="202"> <Upgrade id="207,208" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> <!-- green tiles --> ! <Tile id="12"> <Upgrade id="63" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="13"> <Upgrade id="63" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="14"> <Upgrade id="63" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="15"> <Upgrade id="63" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="16"> <Upgrade id="43,70" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="18"> <Upgrade id="43" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="1"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="19"> <Upgrade id="45,46" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="20"> <Upgrade id="44,47" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="23"> <Upgrade id="41,43,45,47" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="3"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="24"> <Upgrade id="42,43,46,47" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="3"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="25"> <Upgrade id="40" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="3"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="26"> <Upgrade id="42,44,45" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="27"> <Upgrade id="41,44,46" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="28"> <Upgrade id="39,43,46,70" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="29"> <Upgrade id="39,43,45,70" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="87"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="88"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="203"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="204"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="205"> <Upgrade id="63" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="1"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="206"> <Upgrade id="63" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="1"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="207"> <Upgrade id="216" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="208"> <Upgrade id="216" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="2"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> ! <Tile id="209"> <Upgrade id="220" /> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="1"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> + </Tile> + <Tile id="210"> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="1"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> + </Tile> + <Tile id="211"> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="1"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> + </Tile> + <Tile id="212"> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="1"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> + </Tile> + <Tile id="213"> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="1"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> + </Tile> + <Tile id="214"> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="1"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> + </Tile> + <Tile id="215"> + <IfOption name="UnlimitedTiles" value="no"> + <Attributes quantity="1"/> + </IfOption> + <IfOption name="UnlimitedTiles" value="yes"> + <Attributes quantity="-1"/> + </IfOption> </Tile> <!-- Brown tiles --> ! <Tile id="39"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="40"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="41"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="42"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="43"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="44"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="45"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="46"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="47"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="63"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="3"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="70"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="216"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="4"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="217"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="218"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="219"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="2"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="220"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> ! <Tile id="221"> ! <IfOption name="UnlimitedTiles" value="no"> ! <Attributes quantity="1"/> ! </IfOption> ! <IfOption name="UnlimitedTiles" value="yes"> ! <Attributes quantity="-1"/> ! </IfOption> ! </Tile> </TileManager> Index: Game.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/1835/Game.xml,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** Game.xml 17 Jan 2010 14:05:48 -0000 1.21 --- Game.xml 20 Jan 2010 05:45:38 -0000 1.22 *************** *** 4,7 **** --- 4,8 ---- <Game name="1835"/> <GameOption name="Variant" values="Standard,Clemens,Snake"/> + <GameOption name="UnlimitedTiles" type="toggle" default="no"/> <GameParameters> <PlayerShareLimit percentage="60"/> |
From: Erik V. <ev...@us...> - 2010-01-19 20:13:50
|
Update of /cvsroot/rails/18xx/rails/game/specific/_18EU In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23213/rails/game/specific/_18EU Modified Files: StockRound_18EU.java Log Message: Fixed: players were offered to buy >1 share from pool Index: StockRound_18EU.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/specific/_18EU/StockRound_18EU.java,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** StockRound_18EU.java 18 Jan 2010 18:49:30 -0000 1.32 --- StockRound_18EU.java 19 Jan 2010 20:13:38 -0000 1.33 *************** *** 164,168 **** certs = map.get(compName); if (certs == null || certs.isEmpty()) continue; - number = certs.size(); cert = certs.get(0); comp = cert.getCompany(); --- 164,167 ---- *************** *** 177,187 **** // Does the player have enough cash? ! while (number > 0 && playerCash < number * price) ! number--; ! if (number > 0) { ! possibleActions.add(new BuyCertificate(cert, from, price, ! number)); ! } } --- 176,182 ---- // Does the player have enough cash? ! while (playerCash < price) continue; ! possibleActions.add(new BuyCertificate(cert, from, price, 1)); } |
From: Erik V. <ev...@us...> - 2010-01-19 19:55:26
|
Update of /cvsroot/rails/18xx/rails/game/special In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20972/rails/game/special Modified Files: SpecialPropertyI.java SpecialProperty.java SpecialTileLay.java SpecialTokenLay.java Log Message: Added and improved Info messages. Index: SpecialTokenLay.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/special/SpecialTokenLay.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** SpecialTokenLay.java 31 Oct 2009 17:08:26 -0000 1.11 --- SpecialTokenLay.java 19 Jan 2010 19:54:47 -0000 1.12 *************** *** 5,10 **** import rails.game.*; ! import rails.util.Tag; ! import rails.util.Util; public class SpecialTokenLay extends SpecialProperty { --- 5,9 ---- import rails.game.*; ! import rails.util.*; public class SpecialTokenLay extends SpecialProperty { *************** *** 43,46 **** --- 42,49 ---- tokenLayTag.getAttributeAsString("class", "rails.game.BaseToken"); + + String tokenName = ""; + int tokenValue = 0; + try { tokenClass = Class.forName(tokenClassName).asSubclass(Token.class); *************** *** 50,53 **** --- 53,58 ---- bToken.configureFromXML(tokenLayTag); + tokenName = bToken.getName(); + tokenValue = bToken.getValue(); numberAvailable = tokenLayTag.getAttributeAsInteger("number", *************** *** 61,71 **** + tokenClassName, e); } } @Override ! public void finishConfiguration (GameManagerI gameManager) throws ConfigurationException { locations = gameManager.getMapManager().parseLocations(locationCodes); } --- 66,92 ---- + tokenClassName, e); } + + if (tokenClass == BaseToken.class) { + description = LocalText.getText("LayBaseTokenInfo", + locationCodes, + (extra ? LocalText.getText("extra"):LocalText.getText("notExtra")), + (free ? LocalText.getText("noCost") : LocalText.getText("normalCost"))); + } else if (tokenClass == BonusToken.class) { + description = LocalText.getText("LayBonusTokenInfo", + tokenName, + Bank.format(tokenValue), + locationCodes); + } } @Override ! public void finishConfiguration (GameManagerI gameManager) throws ConfigurationException { locations = gameManager.getMapManager().parseLocations(locationCodes); + + if (token instanceof BonusToken) { + ((BonusToken)token).prepareForRemoval(gameManager.getPhaseManager()); + } } *************** *** 113,115 **** --- 134,146 ---- + locationCodes + " extra=" + extra + " cost=" + free; } + + @Override + public String toMenu() { + return description; + } + + @Override + public String getInfo() { + return description; + } } Index: SpecialProperty.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/special/SpecialProperty.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** SpecialProperty.java 8 Jan 2010 21:30:53 -0000 1.20 --- SpecialProperty.java 19 Jan 2010 19:54:43 -0000 1.21 *************** *** 11,16 **** import rails.game.move.ObjectMove; import rails.game.state.BooleanState; ! import rails.util.Tag; ! import rails.util.Util; public abstract class SpecialProperty implements SpecialPropertyI { --- 11,15 ---- import rails.game.move.ObjectMove; import rails.game.state.BooleanState; ! import rails.util.*; public abstract class SpecialProperty implements SpecialPropertyI { *************** *** 29,32 **** --- 28,36 ---- protected boolean isSRProperty = false; + /** Optional descriptive text, for display in menus and info text. + * Subclasses may put real text in it. + */ + protected String description = ""; + protected int uniqueId; *************** *** 37,41 **** new HashMap<Integer, SpecialPropertyI>(); protected static int lastIndex = 0; ! protected static Logger log = Logger.getLogger(SpecialProperty.class.getPackage().getName()); --- 41,45 ---- new HashMap<Integer, SpecialPropertyI>(); protected static int lastIndex = 0; ! protected static Logger log = Logger.getLogger(SpecialProperty.class.getPackage().getName()); *************** *** 65,71 **** } ! public void finishConfiguration (GameManagerI gameManager) throws ConfigurationException { ! } --- 69,75 ---- } ! public void finishConfiguration (GameManagerI gameManager) throws ConfigurationException { ! } *************** *** 125,129 **** setExercised(true); } ! public void setExercised (boolean value) { exercised.set(value); --- 129,133 ---- setExercised(true); } ! public void setExercised (boolean value) { exercised.set(value); *************** *** 175,177 **** --- 179,192 ---- return toString(); } + + /** Default Info text. To be overridden where useful. */ + public String getInfo() { + return toString(); + } + + /** Default Help text: "You can " + the menu description */ + public String getHelp() { + return LocalText.getText ("YouCan", Util.lowerCaseFirst(toMenu())); + + } } Index: SpecialPropertyI.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/special/SpecialPropertyI.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** SpecialPropertyI.java 8 Jan 2010 21:30:54 -0000 1.7 --- SpecialPropertyI.java 19 Jan 2010 19:54:42 -0000 1.8 *************** *** 39,42 **** --- 39,44 ---- public String getName(); + public String getInfo(); + public void moveTo(MoveableHolder newHolder); Index: SpecialTileLay.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/special/SpecialTileLay.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** SpecialTileLay.java 30 Oct 2009 21:53:04 -0000 1.7 --- SpecialTileLay.java 19 Jan 2010 19:54:43 -0000 1.8 *************** *** 6,11 **** import rails.game.*; ! import rails.util.Tag; ! import rails.util.Util; public class SpecialTileLay extends SpecialProperty { --- 6,10 ---- import rails.game.*; ! import rails.util.*; public class SpecialTileLay extends SpecialProperty { *************** *** 40,48 **** closingValue = tileLayTag.getAttributeAsInteger("closingValue", closingValue); } ! ! public void finishConfiguration (GameManagerI gameManager) throws ConfigurationException { ! TileManager tmgr = gameManager.getTileManager(); MapManager mmgr = gameManager.getMapManager(); --- 39,63 ---- closingValue = tileLayTag.getAttributeAsInteger("closingValue", closingValue); + + if (tileNumber > 0) { + description = LocalText.getText("LayNamedTileInfo", + tileNumber, + name, + locationCodes, + (extra ? LocalText.getText("extra"):LocalText.getText("notExtra")), + (free ? LocalText.getText("noCost") : LocalText.getText("normalCost"))); + } else { + description = LocalText.getText("LayTileInfo", + locationCodes, + (extra ? LocalText.getText("extra"):LocalText.getText("notExtra")), + (free ? LocalText.getText("noCost") : LocalText.getText("normalCost"))); + } + } ! ! @Override ! public void finishConfiguration (GameManagerI gameManager) throws ConfigurationException { ! TileManager tmgr = gameManager.getTileManager(); MapManager mmgr = gameManager.getMapManager(); *************** *** 76,89 **** } - /** @deprecated */ - @Deprecated - public MapHex getLocation() { - if (locations != null) { - return locations.get(0); - } else { - return null; - } - } - public List<MapHex> getLocations() { return locations; --- 91,94 ---- *************** *** 112,114 **** --- 117,128 ---- } + @Override + public String toMenu() { + return description; + } + + @Override + public String getInfo() { + return description; + } } |
From: Erik V. <ev...@us...> - 2010-01-19 19:55:20
|
Update of /cvsroot/rails/18xx/rails/game/action In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20972/rails/game/action Modified Files: LayBonusToken.java PossibleAction.java Log Message: Added and improved Info messages. Index: PossibleAction.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/action/PossibleAction.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** PossibleAction.java 30 Oct 2009 21:53:04 -0000 1.14 --- PossibleAction.java 19 Jan 2010 19:54:42 -0000 1.15 *************** *** 83,86 **** --- 83,91 ---- } + /** Default version of an Menu item text. To be overridden where useful. */ + public String toMenu() { + return toString(); + } + private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { Index: LayBonusToken.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/action/LayBonusToken.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** LayBonusToken.java 30 Oct 2009 21:53:04 -0000 1.7 --- LayBonusToken.java 19 Jan 2010 19:54:38 -0000 1.8 *************** *** 35,38 **** --- 35,43 ---- } + public void finishConfiguration (GameManagerI gameManager) + throws ConfigurationException { + token.prepareForRemoval(gameManager.getPhaseManager()); + } + public BonusToken getToken() { return token; |
From: Erik V. <ev...@us...> - 2010-01-19 19:55:02
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20972/rails/game Modified Files: BonusToken.java Phase.java OperatingRound.java Bonus.java Log Message: Added and improved Info messages. Index: OperatingRound.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/OperatingRound.java,v retrieving revision 1.91 retrieving revision 1.92 diff -C2 -d -r1.91 -r1.92 *** OperatingRound.java 15 Jan 2010 20:21:28 -0000 1.91 --- OperatingRound.java 19 Jan 2010 19:54:50 -0000 1.92 *************** *** 108,112 **** operatingCompanyArray = super.getOperatingCompanies(); ! guiHints.setVisibilityHint(GuiDef.Panel.STOCK_MARKET, false); guiHints.setVisibilityHint(GuiDef.Panel.STATUS, true); guiHints.setActivePanel(GuiDef.Panel.MAP); --- 108,112 ---- operatingCompanyArray = super.getOperatingCompanies(); ! guiHints.setVisibilityHint(GuiDef.Panel.STOCK_MARKET, false); guiHints.setVisibilityHint(GuiDef.Panel.STATUS, true); guiHints.setActivePanel(GuiDef.Panel.MAP); Index: Bonus.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/Bonus.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Bonus.java 5 Jan 2010 20:53:17 -0000 1.5 --- Bonus.java 19 Jan 2010 19:54:53 -0000 1.6 *************** *** 110,112 **** --- 110,115 ---- } + public String getInfo() { + return toString(); + } } Index: Phase.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/Phase.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** Phase.java 18 Jan 2010 18:47:16 -0000 1.15 --- Phase.java 19 Jan 2010 19:54:47 -0000 1.16 *************** *** 219,225 **** public void addObjectToClose(Closeable object) { if (closedObjects == null) { ! closedObjects = new ArrayList<Closeable>(); } ! closedObjects.add(object); } --- 219,225 ---- public void addObjectToClose(Closeable object) { if (closedObjects == null) { ! closedObjects = new ArrayList<Closeable>(4); } ! if (!closedObjects.contains(object)) closedObjects.add(object); } *************** *** 246,250 **** } ! @Override public String toString() { return name; --- 246,254 ---- } ! public List<Closeable> getClosedObjects() { ! return closedObjects; ! } ! ! @Override public String toString() { return name; Index: BonusToken.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/BonusToken.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** BonusToken.java 4 Nov 2009 20:33:22 -0000 1.12 --- BonusToken.java 19 Jan 2010 19:54:47 -0000 1.13 *************** *** 20,24 **** * @author Erik Vos */ ! public class BonusToken extends Token implements Closeable { int value; --- 20,24 ---- * @author Erik Vos */ ! public class BonusToken extends Token implements Closeable, ConfigurableComponentI { int value; *************** *** 56,59 **** --- 56,63 ---- } + public void finishConfiguration(GameManagerI gameManager) { + prepareForRemoval (gameManager.getPhaseManager()); + } + /** * Remove the token. *************** *** 110,112 **** --- 114,120 ---- } + public String getInfo () { + return description; + } + } |
From: Erik V. <ev...@us...> - 2010-01-19 19:54:24
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20932/rails/game Modified Files: Closeable.java Log Message: Added getInfo() Index: Closeable.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/Closeable.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Closeable.java 4 Jun 2008 19:00:30 -0000 1.2 --- Closeable.java 19 Jan 2010 19:54:11 -0000 1.3 *************** *** 5,7 **** --- 5,9 ---- public void close(); + public String getInfo(); + } |
From: Erik V. <ev...@us...> - 2010-01-19 19:54:02
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20896/rails/game Modified Files: GameManager.java Log Message: Minor cleanups Index: GameManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/GameManager.java,v retrieving revision 1.78 retrieving revision 1.79 diff -C2 -d -r1.78 -r1.79 *** GameManager.java 17 Jan 2010 22:49:06 -0000 1.78 --- GameManager.java 19 Jan 2010 19:53:53 -0000 1.79 *************** *** 125,129 **** * in one thread. The key will be set in process(), which is where server * processing currently starts (in the future it will probably be moved ! * to the communication interface that will be added by then). * The key can be retrieved (via NDC.peek()) anywhere. * <p> --- 125,129 ---- * in one thread. The key will be set in process(), which is where server * processing currently starts (in the future it will probably be moved ! * to the communication interface that will be added by then). * The key can be retrieved (via NDC.peek()) anywhere. * <p> *************** *** 177,193 **** /* Some standard tags for conditional attributes */ public static final String VARIANT_KEY = "Variant"; - /* No longer used (temporarily?) - public static final String OPTION_TAG = "GameOption"; - public static final String IF_OPTION_TAG = "IfOption"; - public static final String ATTRIBUTES_TAG = "Attributes"; - */ protected static Logger log = Logger.getLogger(GameManager.class.getPackage().getName()); - /** - * Private constructor. - * - */ public GameManager() { gmName = GM_NAME; --- 177,184 ---- *************** *** 833,837 **** DisplayBuffer.clear(); guiHints.clearVisibilityHints(); ! return true; } --- 824,828 ---- DisplayBuffer.clear(); guiHints.clearVisibilityHints(); ! return true; } |
From: Erik V. <ev...@us...> - 2010-01-19 19:53:38
|
Update of /cvsroot/rails/18xx/rails/game/specific/_18AL In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20873/rails/game/specific/_18AL Modified Files: NameTrains.java Log Message: Removed description (now in superclass) Index: NameTrains.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/specific/_18AL/NameTrains.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** NameTrains.java 31 Oct 2009 17:08:27 -0000 1.4 --- NameTrains.java 19 Jan 2010 19:53:28 -0000 1.5 *************** *** 16,20 **** private List<NamedTrainToken> tokens = new ArrayList<NamedTrainToken>(2); private String name = "NameTrains"; - private String description; @Override --- 16,19 ---- *************** *** 66,72 **** } ! public void finishConfiguration (GameManagerI gameManager) throws ConfigurationException { ! for (NamedTrainToken token : tokens) { token.finishConfiguration(gameManager); --- 65,72 ---- } ! @Override ! public void finishConfiguration (GameManagerI gameManager) throws ConfigurationException { ! for (NamedTrainToken token : tokens) { token.finishConfiguration(gameManager); |
From: Erik V. <ev...@us...> - 2010-01-19 19:52:56
|
Update of /cvsroot/rails/18xx In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20805 Modified Files: LocalisedText.properties Log Message: Adde dmessages for Info Index: LocalisedText.properties =================================================================== RCS file: /cvsroot/rails/18xx/LocalisedText.properties,v retrieving revision 1.96 retrieving revision 1.97 diff -C2 -d -r1.96 -r1.97 *** LocalisedText.properties 18 Jan 2010 18:47:16 -0000 1.96 --- LocalisedText.properties 19 Jan 2010 19:52:44 -0000 1.97 *************** *** 1,2 **** --- 1,3 ---- + # Texts with lowercase keys are intended to be inserted into other messages ActionNotAllowed=Action {0} is not allowed ALL=All *************** *** 151,156 **** ExchangeTokensPrompt2=Select {0} through {1} cities where {2} will exchange a base token ExchangesTrain={0} exchanges a {1}-train for a {2}-train from {3} for {4} ExtraTile= You can lay an unconnected tile on {0}. ! ExtraToken= You can lay an unconnected token on {0}. Extra3Trains=Extra 3-trains Extra4Trains=Extra 4-trains --- 152,158 ---- ExchangeTokensPrompt2=Select {0} through {1} cities where {2} will exchange a base token ExchangesTrain={0} exchanges a {1}-train for a {2}-train from {3} for {4} + extra=extra ExtraTile= You can lay an unconnected tile on {0}. ! ExtraToken= You can lay an unconnected base token on {0}. Extra3Trains=Extra 3-trains Extra4Trains=Extra 4-trains *************** *** 219,225 **** LIMIT=Limit LOANS=Loans ! LayBonusToken=Lay {0} at {1} LaysBonusTokenOn={0} lays a {1} +{2} bonus token on {3} LayTile=Lay Tile LayToken=Lay Token LaysTileAt={0} lays tile #{1} at hex {2}/{3} --- 221,235 ---- LIMIT=Limit LOANS=Loans ! # LayBaseTokenInfo: {0}=hexes, {1}=extra or notExtra, {2}=atNormalCost or atNoCost ! LayBaseTokenInfo=Lay an unconnected base token at hex {0} ({1}, {2}) ! LayBonusToken=Lay {0} at {1} ! # LayBonusTokenInfo: {0}=token name, {1}=hexes ! LayBonusTokenInfo=Lay a {0} +{1} bonus token at one of hexes {2} (extra, no cost) LaysBonusTokenOn={0} lays a {1} +{2} bonus token on {3} LayTile=Lay Tile + # LayTileInfo: {0}=hexes, {1}=extra or notExtra, {2}=atNormalCost or atNoCost + LayTileInfo=Lay an unconnected tile at hex {0} ({1}, {2}) + # LayNamedTileInfo: {0}=tileId, {1}=name {2}=hexes, {3}=extra or notExtra, {4}=atNormalCost or atNoCost + LayNamedTileInfo=Lay tile #{0} "{1}" at one of hexes {2} ({3}, {4}) LayToken=Lay Token LaysTileAt={0} lays tile #{1} at hex {2}/{3} *************** *** 255,258 **** --- 265,269 ---- NewGame=New Game NoBaseTokenExchange={0} does not exchange the {1} base token on {2} + noCost=no cost NoDumping=Cannot dump presidency NoGameOptions=This game has no options *************** *** 261,264 **** --- 272,277 ---- None=None NoPriceToSet=No price to be set + # Texts with lowercase keys are intended to be inserted into other messages + normalCost=normal cost NoSellZero=Cannot sell less that one share NoShareOwned=Does not have the share(s) *************** *** 266,269 **** --- 279,283 ---- NoSharesAvailable=No {1} shares are available. NoSpecialProperty=No special property + notExtra=not extra NoTile=No Tile NoTiles=At the moment there is no valid tile or upgrade for this hex. Select another hex or press the No Tile button. *************** *** 305,310 **** --- 319,326 ---- PRIVATES=Privates PaysLoanInterest={0} pays {1} interest for outstanding loans + PhaseClosesAllPrivates=Close all privates PhaseNumberOfORs=Number of ORs: {0} PhaseOffBoardStep=Off-board revenue step: {0} + PhaseRemoves=Remove {0} Phases=Phases PhaseTileColours=Allowed tile colours: {0} *************** *** 477,481 **** WrongActionNoTrainBuyingCost=Wrong action, expected train buying cost WrongCompany=Wrong company: {0} (expected {1}) ! WrongNumberOfTokensExchanged: {0} must exchange {1} through {2} tokens but did {3} WrongPhase=Wrong phase {0} WrongPlayer=Wrong player {0} - {1} has the turn --- 493,497 ---- WrongActionNoTrainBuyingCost=Wrong action, expected train buying cost WrongCompany=Wrong company: {0} (expected {1}) ! WrongNumberOfTokensExchanged={0} must exchange {1} through {2} tokens but did {3} WrongPhase=Wrong phase {0} WrongPlayer=Wrong player {0} - {1} has the turn *************** *** 484,487 **** --- 500,505 ---- YOU_MUST_ADD_CASH=(you must add {0}) YouAreBankrupt=You must still raise {0}, but you can\\'t sell any more shares, so you are Bankrupt! + # Help text prefix YouCan, to include a 'menu' or 'info' text (first char. to be lowercased) + YouCan=You can {0}. YouCanRepayAllLoans={0} can repay all {1} loans of {2} and save it from merging into CGR YouCannotRepayAllLoans={0} can repay max. {1} out of {2} loans of {3}, but cannot save it from merging into CGR |
From: Erik V. <ev...@us...> - 2010-01-19 19:52:39
|
Update of /cvsroot/rails/18xx/rails/game/specific/_18EU In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20762/rails/game/specific/_18EU Modified Files: OperatingRound_18EU.java Log Message: Cleaned up unused import Index: OperatingRound_18EU.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/specific/_18EU/OperatingRound_18EU.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** OperatingRound_18EU.java 18 Jan 2010 22:51:47 -0000 1.11 --- OperatingRound_18EU.java 19 Jan 2010 19:52:30 -0000 1.12 *************** *** 7,11 **** import rails.game.action.BuyTrain; import rails.game.state.BooleanState; - import rails.game.state.State; /** --- 7,10 ---- |
From: Erik V. <ev...@us...> - 2010-01-19 19:52:08
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20733/rails/ui/swing Modified Files: ORPanel.java Log Message: Added some info items. Use getInfo() Index: ORPanel.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORPanel.java,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** ORPanel.java 18 Jan 2010 18:47:29 -0000 1.42 --- ORPanel.java 19 Jan 2010 19:51:57 -0000 1.43 *************** *** 496,500 **** } else { for (SpecialPropertyI sp : sps) { ! appendInfoText(b, sp.toString()); } } --- 496,500 ---- } else { for (SpecialPropertyI sp : sps) { ! appendInfoText(b, sp.getInfo()); } } *************** *** 553,556 **** --- 553,564 ---- appendInfoText(b, LocalText.getText("PhaseNumberOfORs", phase.getNumberOfOperatingRounds())); appendInfoText(b, LocalText.getText("PhaseOffBoardStep", phase.getOffBoardRevenueStep())); + if (phase.doPrivatesClose()) { + appendInfoText(b, LocalText.getText("PhaseClosesAllPrivates")); + } + if (phase.getClosedObjects() != null) { + for (Closeable object : phase.getClosedObjects()) { + appendInfoText(b, LocalText.getText("PhaseRemoves", Util.lowerCaseFirst(object.getInfo()))); + } + } item = new JMenu (LocalText.getText("PhaseX", phase.getName())); item.setEnabled(true); |
From: Erik V. <ev...@us...> - 2010-01-19 19:51:21
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20628/rails/ui/swing Modified Files: ORUIManager.java Log Message: Localized extra tile and token messages by calling new getInfo() methods Index: ORUIManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORUIManager.java,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** ORUIManager.java 14 Jan 2010 20:46:59 -0000 1.45 --- ORUIManager.java 19 Jan 2010 19:51:02 -0000 1.46 *************** *** 185,192 **** if (localStep == ORUIManager.SELECT_HEX_FOR_TILE) { /* Compose prompt for tile laying */ - int tileNumber; StringBuffer normalTileMessage = new StringBuffer(" "); - StringBuffer extraTileMessage = new StringBuffer(" "); - StringBuffer specialTiles = new StringBuffer("#"); List<LayTile> tileLays = possibleActions.getType(LayTile.class); --- 185,189 ---- *************** *** 207,231 **** if (sp != null && sp instanceof SpecialTileLay) { SpecialTileLay stl = (SpecialTileLay) sp; ! if (extraTileMessage.length() > 1) ! extraTileMessage.append(", "); ! extraTileMessage.append(stl.getLocationNameString()).append( ! " (").append(stl.isExtra() ? "" : "not ").append( ! "extra"); ! for (MapHex hex : stl.getLocations()) { ! if (hex.getTileCost() > 0) { ! extraTileMessage.append(", ").append( ! stl.isFree() ? "" : "not ").append(" free"); ! break; ! } ! } ! extraTileMessage.append(")"); ! if ((tileNumber = stl.getTileNumber()) > 0) { ! if (specialTiles.length() > 1) ! specialTiles.append(", "); ! specialTiles.append(tileNumber); ! if (Util.hasValue(stl.getName())) { ! specialTiles.insert(0, stl.getName() + " "); ! } ! } } else if ((tileColours = tileLay.getTileColours()) != null) { int number; --- 204,208 ---- if (sp != null && sp instanceof SpecialTileLay) { SpecialTileLay stl = (SpecialTileLay) sp; ! extraMessage += "<br>" + stl.getHelp(); } else if ((tileColours = tileLay.getTileColours()) != null) { int number; *************** *** 241,253 **** } } - if (specialTiles.length() > 1) { - extraMessage += - LocalText.getText("SpecialTile", - specialTiles.toString(), - extraTileMessage.toString() ); - } else if (extraTileMessage.length() > 1) { - extraMessage += - LocalText.getText("ExtraTile", extraTileMessage); - } if (normalTileMessage.length() > 1) { message += --- 218,221 ---- *************** *** 262,266 **** String locations; StringBuffer normalTokenMessage = new StringBuffer(" "); - StringBuffer extraTokenMessage = new StringBuffer(" "); List<LayBaseToken> tokenLays = --- 230,233 ---- *************** *** 272,293 **** log.debug("TokenLay object " + (++ii) + ": " + tokenLay); sp = tokenLay.getSpecialProperty(); - /* - * A LayToken object contais either: 1. a special property - * (specifying a location) 2. a location (perhaps a list of?) - * where a token of a specified company (the currently operating - * one) may be laid, or 3. null location and the currently - * operating company. The last option is only a stopgap as we - * can't yet determine connectivity. - */ if (sp != null && sp instanceof SpecialTokenLay) { ! if (extraTokenMessage.length() > 1) ! extraTokenMessage.append(", "); ! extraTokenMessage.append( ! ((SpecialTokenLay) sp).getLocationCodeString()).append( ! " (").append( ! ((SpecialTokenLay) sp).isExtra() ? "" : "not ").append( ! "extra, ").append( ! ((SpecialTokenLay) sp).isFree() ? "" : "not ").append( ! "free)"); } else if ((locations = tokenLay.getLocationNameString()) != null) { if (normalTokenMessage.length() > 1) { --- 239,244 ---- log.debug("TokenLay object " + (++ii) + ": " + tokenLay); sp = tokenLay.getSpecialProperty(); if (sp != null && sp instanceof SpecialTokenLay) { ! extraMessage += "<br>" + sp.getHelp(); } else if ((locations = tokenLay.getLocationNameString()) != null) { if (normalTokenMessage.length() > 1) { *************** *** 298,314 **** } } - if (extraTokenMessage.length() > 1) { - extraMessage += - LocalText.getText("ExtraToken", extraTokenMessage); - } if (normalTokenMessage.length() > 1) { ! message += ! " " ! + LocalText.getText("NormalToken", normalTokenMessage); } } if (extraMessage.length() > 0) { ! message += "<br><font color=\"red\">" + extraMessage + "</font>"; } --- 249,259 ---- } } if (normalTokenMessage.length() > 1) { ! message += " " + LocalText.getText("NormalToken", normalTokenMessage); } } if (extraMessage.length() > 0) { ! message += "<font color=\"red\">" + extraMessage + "</font>"; } *************** *** 1294,1303 **** for (LayBonusToken btAction : bonusTokenActions) { SpecialTokenLay stl = btAction.getSpecialProperty(); ! BonusToken token = (BonusToken) stl.getToken(); ! String text = ! LocalText.getText("LayBonusToken", ! token.toString(), ! stl.getLocationCodeString() ); ! orPanel.addSpecialAction(btAction, text); } } --- 1239,1248 ---- for (LayBonusToken btAction : bonusTokenActions) { SpecialTokenLay stl = btAction.getSpecialProperty(); ! //BonusToken token = (BonusToken) stl.getToken(); ! //String text = ! // LocalText.getText("LayBonusToken", ! // token.toString(), ! // stl.getLocationCodeString() ); ! orPanel.addSpecialAction(btAction, stl.toMenu()); } } |
From: Erik V. <ev...@us...> - 2010-01-19 19:50:11
|
Update of /cvsroot/rails/18xx/rails/util In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20474/rails/util Modified Files: Util.java Log Message: Added lowerCaseFirst() Index: Util.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/util/Util.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** Util.java 8 Jan 2010 21:26:14 -0000 1.18 --- Util.java 19 Jan 2010 19:50:03 -0000 1.19 *************** *** 144,146 **** --- 144,150 ---- } + + public static String lowerCaseFirst (String text) { + return text.substring(0, 1).toLowerCase() + text.substring(1); + } } |
From: Erik V. <ev...@us...> - 2010-01-19 19:49:47
|
Update of /cvsroot/rails/18xx/rails/ui/swing/elements In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20434/rails/ui/swing/elements Added Files: MessageDialog.java Log Message: For future use (follow-up doesn't work yet) --- NEW FILE: MessageDialog.java --- /* $Header: /cvsroot/rails/18xx/rails/ui/swing/elements/MessageDialog.java,v 1.1 2010/01/19 19:49:39 evos Exp $*/ package rails.ui.swing.elements; import java.awt.*; import java.awt.event.*; import javax.swing.*; import org.apache.log4j.Logger; import rails.util.LocalText; /** * A generic dialog for presenting choices by checkboxes. */ public class MessageDialog extends JDialog implements ActionListener { private static final long serialVersionUID = 1L; protected DialogOwner owner = null; GridBagConstraints gc; JPanel optionsPane, buttonPane; JButton okButton; Dimension size, optSize; String message; protected static Logger log = Logger.getLogger(MessageDialog.class.getPackage().getName()); public MessageDialog(DialogOwner owner, String title, String message) { super((Frame) null, title, false); // Non-modal this.owner = owner; this.message = message; initialize(); pack(); int x = 400; int y = 400; setLocation(x, y); setVisible(true); setAlwaysOnTop(true); } private void initialize() { gc = new GridBagConstraints(); optionsPane = new JPanel(); buttonPane = new JPanel(); okButton = new JButton(LocalText.getText("OK")); okButton.setMnemonic(KeyEvent.VK_O); okButton.addActionListener(this); buttonPane.add(okButton); getContentPane().setLayout(new GridBagLayout()); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); optionsPane.setLayout(new GridBagLayout()); optionsPane.add(new JLabel(message), constraints(0, 0, 10, 10, 10, 10)); getContentPane().add(optionsPane, constraints(0, 0, 0, 0, 0, 0)); getContentPane().add(buttonPane, constraints(0, 1, 0, 0, 0, 0)); } private GridBagConstraints constraints(int gridx, int gridy, int leftinset, int topinset, int rightinset, int bottominset) { if (gridx >= 0) gc.gridx = gridx; if (gridy >= 0) gc.gridy = gridy; gc.fill = GridBagConstraints.BOTH; gc.weightx = 0.5; gc.weighty = 0.5; if (leftinset >= 0) gc.insets.left = leftinset; if (topinset >= 0) gc.insets.top = topinset; if (rightinset >= 0) gc.insets.right = rightinset; if (bottominset >= 0) gc.insets.bottom = bottominset; return gc; } public void actionPerformed(ActionEvent arg0) { setVisible(false); dispose(); owner.dialogActionPerformed (); } } |
From: Erik V. <ev...@us...> - 2010-01-19 19:49:10
|
Update of /cvsroot/rails/18xx In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20358 Modified Files: my.properties Log Message: Added config setting to keep stockchart open. Fixed bug that on loading in a SR the stockchart didn't open Index: my.properties =================================================================== RCS file: /cvsroot/rails/18xx/my.properties,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** my.properties 18 Jan 2010 18:49:30 -0000 1.11 --- my.properties 19 Jan 2010 19:48:58 -0000 1.12 *************** *** 60,71 **** #report.filename.extension=log ! ### Report window ! # By default the report window is closed when starting or loading a game. ! # This property allows to open it automatically. ! # Valid values are yes and no (default). #report.window.open=yes ! # Specify if the report window is editable, so you can add your own comments. ! # Valid values are yes and no (default). #report.window.editable=yes ### Player info --- 60,77 ---- #report.filename.extension=log ! ### Windows ! ## Report window visibility ! # By default the report window is hidden when starting or loading a game. ! # This property allows to open it automatically. ! # Valid values are yes and no (default). #report.window.open=yes ! ## Report window editability ! # Specify if the report window is editable, so you can add your own comments. ! # Valid values are yes and no (default). #report.window.editable=yes + ## Stock Chart window visibility + # By default the stock chart hides at the end of an SR. + # By specifying "yes" here, the window will not be automatically hidden any more + #stockchart.window.open=yes ### Player info |
From: Erik V. <ev...@us...> - 2010-01-19 19:49:10
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20358/rails/ui/swing Modified Files: GameUIManager.java Log Message: Added config setting to keep stockchart open. Fixed bug that on loading in a SR the stockchart didn't open Index: GameUIManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/GameUIManager.java,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** GameUIManager.java 17 Jan 2010 18:32:46 -0000 1.34 --- GameUIManager.java 19 Jan 2010 19:48:58 -0000 1.35 *************** *** 61,64 **** --- 61,66 ---- protected File lastFile, lastDirectory; + protected boolean configuredStockChartVisibility = false; + protected boolean previousStockChartVisibilityHint; protected boolean previousStatusWindowVisibilityHint; *************** *** 101,104 **** --- 103,108 ---- } + configuredStockChartVisibility = "yes".equalsIgnoreCase(Config.get("stockchart.window.open")); + } *************** *** 260,269 **** switch (hint.getType()) { case STOCK_MARKET: ! boolean stockChartVisibilityHint = hint.getVisibility(); if (stockChartVisibilityHint != previousStockChartVisibilityHint) { stockChart.setVisible(stockChartVisibilityHint); previousStockChartVisibilityHint = stockChartVisibilityHint; } ! if (stockChartVisibilityHint) stockChart.toFront(); break; case STATUS: --- 264,274 ---- switch (hint.getType()) { case STOCK_MARKET: ! boolean stockChartVisibilityHint = hint.getVisibility() ! || configuredStockChartVisibility; if (stockChartVisibilityHint != previousStockChartVisibilityHint) { stockChart.setVisible(stockChartVisibilityHint); previousStockChartVisibilityHint = stockChartVisibilityHint; } ! if (hint.getVisibility()) stockChart.toFront(); break; case STATUS: *************** *** 300,303 **** --- 305,309 ---- log.debug("Entering Stock Round UI type"); activeWindow = statusWindow; + stockChart.setVisible(true); statusWindow.setVisible(true); statusWindow.toFront(); *************** *** 514,517 **** --- 520,525 ---- int selected = dialog.getSelectedOption(); action.setNumberTaken(action.getMinNumber() + selected); + } else if (currentDialog instanceof MessageDialog) { + // Nothing } else { return; *************** *** 519,523 **** } ! processOnServer(currentDialogAction); } --- 527,531 ---- } ! if (currentDialogAction != null) processOnServer(currentDialogAction); } |
From: Erik V. <ev...@us...> - 2010-01-19 19:47:36
|
Update of /cvsroot/rails/18xx/data/1830 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20173/data/1830 Modified Files: CompanyManager.xml Log Message: Added "free" to tile lay on B20 to prevent confusing "normal cost" info bit. Index: CompanyManager.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/1830/CompanyManager.xml,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** CompanyManager.xml 17 Jan 2010 14:05:48 -0000 1.29 --- CompanyManager.xml 19 Jan 2010 19:47:20 -0000 1.30 *************** *** 27,31 **** <SpecialProperties> <SpecialProperty condition="ifOwnedByCompany" when="tileLayingStep" class="rails.game.special.SpecialTileLay"> ! <SpecialTileLay location="B20" extra="yes"/> </SpecialProperty> </SpecialProperties> --- 27,31 ---- <SpecialProperties> <SpecialProperty condition="ifOwnedByCompany" when="tileLayingStep" class="rails.game.special.SpecialTileLay"> ! <SpecialTileLay location="B20" extra="yes" free="yes"/> </SpecialProperty> </SpecialProperties> |
From: Erik V. <ev...@us...> - 2010-01-18 22:51:59
|
Update of /cvsroot/rails/18xx/rails/game/specific/_18EU In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv22505/rails/game/specific/_18EU Modified Files: GameManager_18EU.java OperatingRound_18EU.java Log Message: Moved FMER start player from OR to GM object, as it must survive an OR change. Index: GameManager_18EU.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/specific/_18EU/GameManager_18EU.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** GameManager_18EU.java 23 Dec 2008 20:02:18 -0000 1.4 --- GameManager_18EU.java 18 Jan 2010 22:51:47 -0000 1.5 *************** *** 5,8 **** --- 5,9 ---- import rails.game.Player; import rails.game.RoundI; + import rails.game.state.State; /** *************** *** 12,27 **** public class GameManager_18EU extends GameManager { ! private Player playerToStartFMERound = null; @Override public void nextRound(RoundI round) { if (round instanceof OperatingRound_18EU) { ! if (((OperatingRound_18EU) round).getPlayerToStartExchangeRound() != null) { ! playerToStartFMERound = ((OperatingRound_18EU) round).getPlayerToStartExchangeRound(); ! } ! if (playerToStartFMERound != null && relativeORNumber.intValue() == numOfORs) { ! createRound (FinalMinorExchangeRound.class).start (playerToStartFMERound); ! playerToStartFMERound = null; } else { super.nextRound(round); --- 13,27 ---- public class GameManager_18EU extends GameManager { ! protected State playerToStartFMERound = ! new State("playerToStartFMERound", Player.class); @Override public void nextRound(RoundI round) { if (round instanceof OperatingRound_18EU) { ! if (playerToStartFMERound.getObject() != null && relativeORNumber.intValue() == numOfORs) { ! createRound (FinalMinorExchangeRound.class).start ! ((Player)playerToStartFMERound.getObject()); ! playerToStartFMERound.set(null); } else { super.nextRound(round); *************** *** 35,37 **** --- 35,47 ---- } + public void setPlayerToStartFMERound(Player playerToStartFMERound) { + this.playerToStartFMERound.set(playerToStartFMERound); + } + + public Player getPlayerToStartFMERound() { + return (Player) playerToStartFMERound.getObject(); + } + + + } Index: OperatingRound_18EU.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/specific/_18EU/OperatingRound_18EU.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** OperatingRound_18EU.java 14 Jan 2010 20:55:13 -0000 1.10 --- OperatingRound_18EU.java 18 Jan 2010 22:51:47 -0000 1.11 *************** *** 21,27 **** new BooleanState("ORCompanyHasPullmannAtStart", false); - protected State playerToStartExchangeRound = - new State("PlayerToStartExchangeRound", Player.class); - public OperatingRound_18EU (GameManagerI gameManager) { super (gameManager); --- 21,24 ---- *************** *** 181,186 **** if (result && gameManager.getPhaseManager().hasReachedPhase("5") && operatingCompanyArray[0].getTypeName().equals("Minor") ! && playerToStartExchangeRound.getObject() == null) { ! playerToStartExchangeRound.set(operatingCompany.getPresident()); } --- 178,183 ---- if (result && gameManager.getPhaseManager().hasReachedPhase("5") && operatingCompanyArray[0].getTypeName().equals("Minor") ! && ((GameManager_18EU)gameManager).getPlayerToStartFMERound() == null) { ! ((GameManager_18EU)gameManager).setPlayerToStartFMERound(operatingCompany.getPresident()); } *************** *** 228,234 **** } - public Player getPlayerToStartExchangeRound() { - return (Player) playerToStartExchangeRound.getObject(); - } - } --- 225,227 ---- |
From: Erik V. <ev...@us...> - 2010-01-18 21:58:08
|
Update of /cvsroot/rails/18xx/data/1870 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv17570/data/1870 Modified Files: Tiles.xml Log Message: Recreated (had somehow got mangled) Index: Tiles.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/1870/Tiles.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Tiles.xml 8 Jan 2010 20:47:06 -0000 1.7 --- Tiles.xml 18 Jan 2010 21:57:59 -0000 1.8 *************** *** 1,59 **** ! <?xml version="1.0" encoding="UTF-8"?><Tiles><Tile colour="white" id="0" name="empty"/><Tile colour="white" id="-1" name="1 village"> <Station id="city1" position="002" type="Town"/> </Tile><Tile colour="white" id="-2" name="2 villages"> <Station id="city1" position="102" type="Town"/> <Station id="city2" position="302" type="Town"/> - </Tile><Tile colour="fixed" id="-3" name="MF 3"> - <Station id="city1" position="252" type="Town" value="10"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side3"/> - </Tile><Tile colour="fixed" id="-5" name="MF 5"> - <Station id="city1" position="0" slots="1" type="City" value="20"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side1"/> - </Tile><Tile colour="fixed" id="-7" name="MF 7"> - <Track from="side2" gauge="normal" to="side1"/> </Tile><Tile colour="white" id="-10" name="1 city"> <Station id="city1" position="302" slots="1" type="City"/> - </Tile><Tile colour="yellow" id="-11" name="B"> - <Station id="city1" position="0" slots="1" type="City" value="30"/> - <Track from="city1" gauge="normal" to="side1"/> - <Track from="city1" gauge="normal" to="side3"/> - </Tile><Tile colour="yellow" id="-20" name="2 cities"> - <Station id="city1" position="002" slots="1" type="City"/> - <Station id="city2" position="302" slots="1" type="City"/> - </Tile><Tile colour="yellow" id="-21" name="NY"> - <Station id="city1" position="202" slots="1" type="City" value="40"/> - <Station id="city2" position="502" slots="1" type="City" value="40"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city2" gauge="normal" to="side5"/> - </Tile><Tile colour="fixed" id="-58" name="MF 58"> - <Station id="city1" position="301" type="Town" value="10"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side4"/> - </Tile><Tile colour="fixed" id="-101" name="Philadelphia"> - <Station id="city1" position="0" slots="1" type="City" value="10"/> - <Track from="city1" gauge="normal" to="side1"/> - <Track from="city1" gauge="normal" to="side4"/> - <Track from="side4" gauge="normal" to="side1"/> - </Tile><Tile colour="fixed" id="-102" name="-102"> - <Station id="city1" position="251" slots="1" type="City" value="20"/> - <Track from="city1" gauge="normal" to="side1"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side4"/> - </Tile><Tile colour="fixed" id="-103" name="MF 103"> - <Station id="city1" position="0" slots="1" type="City" value="40"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side3"/> - </Tile><Tile colour="fixed" id="-104" name="MF 104"> - <Station id="city1" position="0" slots="1" type="City" value="20"/> - <Track from="city1" gauge="normal" to="side2"/> - </Tile><Tile colour="fixed" id="-105" name="MF 105"> - <Station id="city1" position="0" slots="1" type="City" value="30"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side3"/> - </Tile><Tile colour="red" id="-901" name="OM 1 way"> - <Station id="city1" position="0" type="OffMapCity" value="-1"/> - <Track from="city1" gauge="normal" to="side2"/> </Tile><Tile colour="red" id="-902" name="OM 2 way"> <Station id="city1" position="0" type="OffMapCity" value="-1"/> --- 1,9 ---- ! <?xml version="1.0" encoding="UTF-8" standalone="no"?><Tiles><Tile colour="white" id="0" name="empty"/><Tile colour="white" id="-1" name="1 village"> <Station id="city1" position="002" type="Town"/> </Tile><Tile colour="white" id="-2" name="2 villages"> <Station id="city1" position="102" type="Town"/> <Station id="city2" position="302" type="Town"/> </Tile><Tile colour="white" id="-10" name="1 city"> <Station id="city1" position="302" slots="1" type="City"/> </Tile><Tile colour="red" id="-902" name="OM 2 way"> <Station id="city1" position="0" type="OffMapCity" value="-1"/> *************** *** 87,90 **** --- 37,48 ---- <Track from="city1" gauge="normal" to="side3"/> <Track from="city1" gauge="normal" to="side0"/> + </Tile><Tile colour="yellow" id="5" name="5"> + <Station id="city1" position="0" slots="1" type="City" value="20"/> + <Track from="city1" gauge="normal" to="side1"/> + <Track from="city1" gauge="normal" to="side2"/> + </Tile><Tile colour="yellow" id="6" name="6"> + <Station id="city1" position="0" slots="1" type="City" value="20"/> + <Track from="city1" gauge="normal" to="side0"/> + <Track from="city1" gauge="normal" to="side2"/> </Tile><Tile colour="yellow" id="7" name="7"> <Track from="side3" gauge="normal" to="side4"/> *************** *** 137,140 **** --- 95,101 ---- <Track from="side3" gauge="normal" to="side5"/> <Track from="side4" gauge="normal" to="side0"/> + </Tile><Tile colour="green" id="17" name="17"> + <Track from="side0" gauge="normal" to="side2"/> + <Track from="side3" gauge="normal" to="side5"/> </Tile><Tile colour="green" id="18" name="18"> <Track from="side3" gauge="normal" to="side0"/> *************** *** 167,187 **** <Track from="side3" gauge="normal" to="side4"/> <Track from="side3" gauge="normal" to="side5"/> ! </Tile><Tile colour="green" id="53" name="53"> ! <Station id="city1" position="0" slots="1" type="City" value="50"/> ! <Track from="city1" gauge="normal" to="side1"/> ! <Track from="city1" gauge="normal" to="side3"/> <Track from="city1" gauge="normal" to="side5"/> ! </Tile><Tile colour="green" id="54" name="54"> ! <Station id="city1" position="352" slots="1" type="City" value="60"/> ! <Station id="city2" position="552" slots="1" type="City" value="60"/> ! <Track from="city1" gauge="normal" to="side3"/> <Track from="city1" gauge="normal" to="side4"/> ! <Track from="city2" gauge="normal" to="side5"/> ! <Track from="city2" gauge="normal" to="side0"/> ! </Tile><Tile colour="green" id="59" name="59"> ! <Station id="city1" position="052" slots="1" type="City" value="40"/> ! <Station id="city2" position="352" slots="1" type="City" value="40"/> <Track from="city1" gauge="normal" to="side1"/> ! <Track from="city2" gauge="normal" to="side3"/> </Tile><Tile colour="brown" id="39" name="39"> <Track from="side3" gauge="normal" to="side4"/> --- 128,151 ---- <Track from="side3" gauge="normal" to="side4"/> <Track from="side3" gauge="normal" to="side5"/> ! </Tile><Tile colour="green" id="141" name="141"> ! <Station id="city1" position="0" type="Town" value="10"/> ! <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side2"/> <Track from="city1" gauge="normal" to="side5"/> ! </Tile><Tile colour="green" id="142" name="142"> ! <Station id="city1" position="0" type="Town" value="10"/> ! <Track from="city1" gauge="normal" to="side2"/> <Track from="city1" gauge="normal" to="side4"/> ! <Track from="city1" gauge="normal" to="side5"/> ! </Tile><Tile colour="green" id="143" name="143"> ! <Station id="city1" position="0" type="Town" value="10"/> ! <Track from="city1" gauge="normal" to="side0"/> <Track from="city1" gauge="normal" to="side1"/> ! <Track from="city1" gauge="normal" to="side2"/> ! </Tile><Tile colour="green" id="144" name="144"> ! <Station id="city1" position="0" type="Town" value="10"/> ! <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side2"/> ! <Track from="city1" gauge="normal" to="side4"/> </Tile><Tile colour="brown" id="39" name="39"> <Track from="side3" gauge="normal" to="side4"/> *************** *** 225,241 **** <Track from="side4" gauge="normal" to="side0"/> <Track from="side4" gauge="normal" to="side1"/> - </Tile><Tile colour="brown" id="61" name="61"> - <Station id="city1" position="0" slots="1" type="City" value="60"/> - <Track from="city1" gauge="normal" to="side1"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side5"/> - <Track from="city1" gauge="normal" to="side0"/> - </Tile><Tile colour="brown" id="62" name="62"> - <Station id="city1" position="302" slots="2" type="City" value="80"/> - <Station id="city2" position="002" slots="2" type="City" value="80"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side4"/> - <Track from="city2" gauge="normal" to="side5"/> - <Track from="city2" gauge="normal" to="side0"/> </Tile><Tile colour="brown" id="63" name="63"> <Station id="city1" position="0" slots="2" type="City" value="40"/> --- 189,192 ---- *************** *** 246,288 **** <Track from="city1" gauge="normal" to="side4"/> <Track from="city1" gauge="normal" to="side5"/> ! </Tile><Tile colour="brown" id="64" name="64"> ! <Station id="city1" position="401" slots="1" type="City" value="50"/> ! <Station id="city2" position="052" slots="1" type="City" value="50"/> <Track from="city1" gauge="normal" to="side3"/> <Track from="city1" gauge="normal" to="side5"/> ! <Track from="city2" gauge="normal" to="side1"/> ! <Track from="city2" gauge="normal" to="side0"/> ! </Tile><Tile colour="brown" id="65" name="65"> ! <Station id="city1" position="501" slots="1" type="City" value="50"/> ! <Station id="city2" position="252" slots="1" type="City" value="50"/> <Track from="city1" gauge="normal" to="side4"/> <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city2" gauge="normal" to="side2"/> ! <Track from="city2" gauge="normal" to="side3"/> ! </Tile><Tile colour="brown" id="66" name="66"> ! <Station id="city1" position="002" slots="1" type="City" value="50"/> ! <Station id="city2" position="452" slots="1" type="City" value="50"/> <Track from="city1" gauge="normal" to="side3"/> <Track from="city1" gauge="normal" to="side0"/> - <Track from="city2" gauge="normal" to="side4"/> - <Track from="city2" gauge="normal" to="side5"/> - </Tile><Tile colour="brown" id="67" name="67"> - <Station id="city1" position="307" slots="1" type="City" value="50"/> - <Station id="city2" position="502" slots="1" type="City" value="50"/> <Track from="city1" gauge="normal" to="side1"/> <Track from="city1" gauge="normal" to="side3"/> ! <Track from="city2" gauge="normal" to="side5"/> ! <Track from="city2" gauge="normal" to="side2"/> ! </Tile><Tile colour="brown" id="68" name="68"> ! <Station id="city1" position="302" slots="1" type="City" value="50"/> ! <Station id="city2" position="502" slots="1" type="City" value="50"/> ! <Track from="city1" gauge="normal" to="side3"/> ! <Track from="city2" gauge="normal" to="side2"/> ! <Track from="city2" gauge="normal" to="side5"/> <Track from="city1" gauge="normal" to="side0"/> ! </Tile><Tile colour="brown" id="70" name="70"> ! <Track from="side3" gauge="normal" to="side5"/> ! <Track from="side3" gauge="normal" to="side4"/> ! <Track from="side5" gauge="normal" to="side0"/> ! <Track from="side4" gauge="normal" to="side0"/> </Tile></Tiles> \ No newline at end of file --- 197,245 ---- <Track from="city1" gauge="normal" to="side4"/> <Track from="city1" gauge="normal" to="side5"/> ! </Tile><Tile colour="brown" id="70" name="70"> ! <Track from="side3" gauge="normal" to="side5"/> ! <Track from="side3" gauge="normal" to="side4"/> ! <Track from="side5" gauge="normal" to="side0"/> ! <Track from="side4" gauge="normal" to="side0"/> ! </Tile><Tile colour="brown" id="145" name="145"> ! <Station id="city1" position="0" type="Town" value="20"/> ! <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side2"/> <Track from="city1" gauge="normal" to="side3"/> <Track from="city1" gauge="normal" to="side5"/> ! </Tile><Tile colour="brown" id="146" name="146"> ! <Station id="city1" position="0" type="Town" value="20"/> ! <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side1"/> ! <Track from="city1" gauge="normal" to="side2"/> ! <Track from="city1" gauge="normal" to="side5"/> ! </Tile><Tile colour="brown" id="147" name="147"> ! <Station id="city1" position="0" type="Town" value="20"/> ! <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side2"/> <Track from="city1" gauge="normal" to="side4"/> + <Track from="city1" gauge="normal" to="side5"/> + </Tile><Tile colour="brown" id="170" name="170"> + <Station id="city1" position="0" slots="2" type="City" value="50"/> <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side2"/> <Track from="city1" gauge="normal" to="side3"/> + <Track from="city1" gauge="normal" to="side4"/> + <Track from="city1" gauge="normal" to="side5"/> + </Tile><Tile colour="gray" id="171" name="171"> + <Station id="city1" position="0" slots="3" type="City" value="60"/> <Track from="city1" gauge="normal" to="side0"/> <Track from="city1" gauge="normal" to="side1"/> + <Track from="city1" gauge="normal" to="side2"/> <Track from="city1" gauge="normal" to="side3"/> ! <Track from="city1" gauge="normal" to="side4"/> ! <Track from="city1" gauge="normal" to="side5"/> ! </Tile><Tile colour="gray" id="172" name="172"> ! <Station id="city1" position="0" slots="2" type="City" value="60"/> <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side1"/> ! <Track from="city1" gauge="normal" to="side2"/> ! <Track from="city1" gauge="normal" to="side3"/> ! <Track from="city1" gauge="normal" to="side4"/> ! <Track from="city1" gauge="normal" to="side5"/> </Tile></Tiles> \ No newline at end of file |
From: Erik V. <ev...@us...> - 2010-01-18 21:57:46
|
Update of /cvsroot/rails/18xx/data/1851 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv17428/data/1851 Modified Files: CompanyManager.xml Log Message: Fixed bug Index: CompanyManager.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/1851/CompanyManager.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CompanyManager.xml 17 Jan 2010 14:05:48 -0000 1.6 --- CompanyManager.xml 18 Jan 2010 21:57:29 -0000 1.7 *************** *** 60,69 **** <Item name="M&C" type="Private" basePrice="50"/> <Item name="ET&WNC" type="Private" basePrice="80"/> ! <IfOption name="numberOfPlayers" value="4"> <Item name="O&W" type="Private" basePrice="210"> <SubItem name="L&N" type="Public"/> </Item> </IfOption> ! <IfOption name="numberOfPlayers" value="5"> <Item name="O&W" type="Private" basePrice="210"> <SubItem name="L&N" type="Public"/> --- 60,69 ---- <Item name="M&C" type="Private" basePrice="50"/> <Item name="ET&WNC" type="Private" basePrice="80"/> ! <IfOption name="NumberOfPlayers" value="4"> <Item name="O&W" type="Private" basePrice="210"> <SubItem name="L&N" type="Public"/> </Item> </IfOption> ! <IfOption name="NumberOfPlayers" value="5"> <Item name="O&W" type="Private" basePrice="210"> <SubItem name="L&N" type="Public"/> |
From: Erik V. <ev...@us...> - 2010-01-18 18:50:09
|
Update of /cvsroot/rails/18xx/rails/game/action In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv21858/rails/game/action Modified Files: NullAction.java Added Files: RequestTurn.java Log Message: Initial implementation of Autopass and RequestTurn --- NEW FILE: RequestTurn.java --- package rails.game.action; import java.io.IOException; import java.io.ObjectInputStream; import rails.game.Player; public class RequestTurn extends PossibleAction { public static final long serialVersionUID = 1L; private String requestingPlayerName; public RequestTurn (Player player) { super(); // Override player set by superclass if (player != null) { requestingPlayerName = player.getName(); } } public String getRequestingPlayerName() { return requestingPlayerName; } @Override public boolean equals(PossibleAction pa) { return pa != null && pa instanceof RequestTurn && requestingPlayerName.equals(((RequestTurn)pa).requestingPlayerName); } private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); } @Override public String toString() { return requestingPlayerName+" requests turn"; } } Index: NullAction.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/action/NullAction.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** NullAction.java 4 Jun 2008 19:00:30 -0000 1.7 --- NullAction.java 18 Jan 2010 18:49:12 -0000 1.8 *************** *** 7,13 **** public static final int PASS = 1; public static final int SKIP = 2; ! public static final int MAX_MODE = 2; ! private String[] name = new String[] { "Done", "Pass", "Skip" }; protected int mode = -1; --- 7,14 ---- public static final int PASS = 1; public static final int SKIP = 2; ! public static final int AUTOPASS = 3; ! public static final int MAX_MODE = 3; ! private static String[] name = new String[] { "Done", "Pass", "Skip", "Autopass" }; protected int mode = -1; *************** *** 25,29 **** } ! public boolean equals(PossibleAction action) { if (!(action instanceof NullAction)) return false; NullAction a = (NullAction) action; --- 26,31 ---- } ! @Override ! public boolean equals(PossibleAction action) { if (!(action instanceof NullAction)) return false; NullAction a = (NullAction) action; *************** *** 31,35 **** } ! public String toString() { return name[mode]; } --- 33,38 ---- } ! @Override ! public String toString() { return name[mode]; } |
From: Erik V. <ev...@us...> - 2010-01-18 18:49:54
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv21858/rails/ui/swing Modified Files: StatusWindow.java Log Message: Initial implementation of Autopass and RequestTurn Index: StatusWindow.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/StatusWindow.java,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** StatusWindow.java 14 Jan 2010 20:50:08 -0000 1.34 --- StatusWindow.java 18 Jan 2010 18:49:05 -0000 1.35 *************** *** 51,54 **** --- 51,55 ---- protected static final String PASS_CMD = "Pass"; + protected static final String AUTOPASS_CMD = "Autopass"; protected JPanel buttonPanel; *************** *** 57,60 **** --- 58,62 ---- protected ActionButton passButton; + protected ActionButton autopassButton; protected GameUIManager gameUIManager; *************** *** 78,84 **** private ActionMenuItem undoItem, forcedUndoItem, redoItem, redoItem2; - private List<ActionMenuItem> specialActionItems = - new ArrayList<ActionMenuItem>(); - protected static Logger log = Logger.getLogger(StatusWindow.class.getPackage().getName()); --- 80,83 ---- *************** *** 229,241 **** passButton = new ActionButton(LocalText.getText("PASS")); - passButton.setMnemonic(KeyEvent.VK_P); - buttonPanel.add(passButton); - passButton.setActionCommand(DONE_CMD); - passButton.addActionListener(this); setSize(800, 300); setLocation(25, 450); --- 228,242 ---- passButton = new ActionButton(LocalText.getText("PASS")); passButton.setMnemonic(KeyEvent.VK_P); buttonPanel.add(passButton); passButton.setActionCommand(DONE_CMD); passButton.addActionListener(this); + autopassButton = new ActionButton(LocalText.getText("Autopass")); + autopassButton.setMnemonic(KeyEvent.VK_A); + buttonPanel.add(autopassButton); + autopassButton.setActionCommand(AUTOPASS_CMD); + autopassButton.addActionListener(this); + setSize(800, 300); setLocation(25, 450); *************** *** 385,388 **** --- 386,393 ---- // New special action handling + List<ActionMenuItem> specialActionItems = + new ArrayList<ActionMenuItem>(); + + // Special properties List<UseSpecialProperty> sps = possibleActions.getType(UseSpecialProperty.class); *************** *** 401,404 **** --- 406,424 ---- specialMenu.add(item); } + + // Request turn + if (possibleActions.contains(RequestTurn.class)) { + for (RequestTurn action : possibleActions.getType(RequestTurn.class)) { + ActionMenuItem item = new ActionMenuItem(action.toString()); + item.addActionListener(this); + item.setEnabled(false); + item.addPossibleAction(action); + item.setEnabled(true); + specialActionItems.add(item); + specialMenu.add(item); + } + } + + // Must Special menu be enabled? boolean enabled = specialActionItems.size() > 0; specialMenu.setOpaque(enabled); *************** *** 407,410 **** --- 427,431 ---- passButton.setEnabled(false); + autopassButton.setEnabled(false); List<NullAction> inactiveItems = *************** *** 428,431 **** --- 449,456 ---- passButton.setPossibleAction(na); break; + case NullAction.AUTOPASS: + autopassButton.setEnabled(true); + autopassButton.setPossibleAction(na); + break; } } *************** *** 481,485 **** } else if (command.equals(SELL_CMD)) { process(executedAction); ! } else if (command.equals(DONE_CMD) || command.equals(PASS_CMD)) { if (gameUIManager.isGameOver()) { System.exit(0); --- 506,511 ---- } else if (command.equals(SELL_CMD)) { process(executedAction); ! } else if (command.equals(DONE_CMD) || command.equals(PASS_CMD) ! || command.equals(AUTOPASS_CMD)) { if (gameUIManager.isGameOver()) { System.exit(0); *************** *** 487,491 **** process(executedAction); ! } else if (executedAction instanceof UseSpecialProperty) { process(executedAction); --- 513,518 ---- process(executedAction); ! } else if (executedAction instanceof UseSpecialProperty ! || executedAction instanceof RequestTurn) { process(executedAction); |
From: Erik V. <ev...@us...> - 2010-01-18 18:49:42
|
Update of /cvsroot/rails/18xx/rails/game/specific/_18EU In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv21858/rails/game/specific/_18EU Modified Files: StockRound_18EU.java FinalMinorExchangeRound.java Log Message: Initial implementation of Autopass and RequestTurn Index: StockRound_18EU.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/specific/_18EU/StockRound_18EU.java,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** StockRound_18EU.java 14 Jan 2010 20:54:23 -0000 1.31 --- StockRound_18EU.java 18 Jan 2010 18:49:30 -0000 1.32 *************** *** 668,672 **** if (!discardingTrains.booleanValue()) { ! super.setNextPlayer(); } else { PublicCompanyI comp = --- 668,672 ---- if (!discardingTrains.booleanValue()) { ! super.finishTurn(); } else { PublicCompanyI comp = Index: FinalMinorExchangeRound.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/specific/_18EU/FinalMinorExchangeRound.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** FinalMinorExchangeRound.java 14 Jan 2010 20:55:37 -0000 1.10 --- FinalMinorExchangeRound.java 18 Jan 2010 18:49:30 -0000 1.11 *************** *** 96,100 **** @Override ! public boolean done(String playerName) { moveStack.start(false); --- 96,101 ---- @Override ! // Autopassing does not apply here ! public boolean done(String playerName, boolean hasAutopassed) { moveStack.start(false); |
From: Erik V. <ev...@us...> - 2010-01-18 18:49:42
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv21858/rails/game Modified Files: Round.java StockRound.java TreasuryShareRound.java Log Message: Initial implementation of Autopass and RequestTurn Index: TreasuryShareRound.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/TreasuryShareRound.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** TreasuryShareRound.java 15 Jan 2010 19:55:59 -0000 1.17 --- TreasuryShareRound.java 18 Jan 2010 18:49:30 -0000 1.18 *************** *** 509,513 **** */ @Override ! public boolean done(String playerName) { currentPlayer = getCurrentPlayer(); --- 509,514 ---- */ @Override ! // Autopassing does not apply here ! public boolean done(String playerName, boolean hasAutopassed) { currentPlayer = getCurrentPlayer(); Index: Round.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/Round.java,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** Round.java 15 Jan 2010 19:55:59 -0000 1.35 --- Round.java 18 Jan 2010 18:49:20 -0000 1.36 *************** *** 12,17 **** import rails.common.GuiHints; import rails.game.action.*; ! import rails.game.move.CashMove; ! import rails.game.move.MoveStack; import rails.game.special.SpecialPropertyI; import rails.game.state.BooleanState; --- 12,16 ---- import rails.common.GuiHints; import rails.game.action.*; ! import rails.game.move.*; import rails.game.special.SpecialPropertyI; import rails.game.state.BooleanState; *************** *** 45,48 **** --- 44,53 ---- protected MoveStack moveStack = null; + + /** Autopasses */ + protected List<Player> autopasses = null; + protected List<Player> canRequestTurn = null; + protected List<Player> hasRequestedTurn = null; + /** * Constructor with the GameManager, will call setGameManager with the parameter to initialize *************** *** 425,427 **** --- 430,472 ---- } + public boolean requestTurn (Player player) { + if (canRequestTurn (player)) { + if (hasRequestedTurn == null) hasRequestedTurn = new ArrayList<Player>(2); + if (!hasRequestedTurn.contains(player)) hasRequestedTurn.add(player); + return true; + } + return false; + } + + public boolean canRequestTurn (Player player) { + return canRequestTurn != null && canRequestTurn.contains(player); + } + + public void setCanRequestTurn (Player player, boolean value) { + if (canRequestTurn == null) canRequestTurn = new ArrayList<Player>(4); + if (value && !canRequestTurn.contains(player)) { + new AddToList<Player>(canRequestTurn, player, "CanRequestTurn"); + } else if (!value && canRequestTurn.contains(player)) { + new RemoveFromList<Player>(canRequestTurn, player, "CanRequestTurn"); + } + } + + public void setAutopass (Player player, boolean value) { + if (autopasses == null) autopasses = new ArrayList<Player>(4); + if (value && !autopasses.contains(player)) { + new AddToList<Player>(autopasses, player, "Autopasses"); + } else if (!value && autopasses.contains(player)) { + new RemoveFromList<Player>(autopasses, player, "Autopasses"); + } + } + + public boolean hasAutopassed (Player player) { + return autopasses != null && autopasses.contains(player); + } + + public List<Player> getAutopasses() { + return autopasses; + } + + } Index: StockRound.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/StockRound.java,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -d -r1.55 -r1.56 *** StockRound.java 15 Jan 2010 19:55:59 -0000 1.55 --- StockRound.java 18 Jan 2010 18:49:20 -0000 1.56 *************** *** 5,10 **** import rails.common.GuiDef; import rails.game.action.*; ! import rails.game.move.CashMove; ! import rails.game.move.DoubleMapChange; import rails.game.special.*; import rails.game.state.*; --- 5,9 ---- import rails.common.GuiDef; import rails.game.action.*; ! import rails.game.move.*; import rails.game.special.*; import rails.game.state.*; *************** *** 41,45 **** protected HashMap<Player, HashMap<PublicCompanyI, Object>> playersThatSoldThisRound = new HashMap<Player, HashMap<PublicCompanyI, Object>>(); - /** HashMap per player */ /* Rule constants */ --- 40,43 ---- *************** *** 112,118 **** --- 110,123 ---- } else { possibleActions.add(new NullAction(NullAction.PASS)); + possibleActions.add(new NullAction(NullAction.AUTOPASS)); } } + if (getAutopasses() != null) { + for (Player player : getAutopasses()) { + possibleActions.add(new RequestTurn(player)); + } + } + return true; } *************** *** 394,399 **** case NullAction.PASS: case NullAction.DONE: ! result = done(playerName); break; } --- 399,407 ---- case NullAction.PASS: case NullAction.DONE: ! result = done(playerName, false); break; + case NullAction.AUTOPASS: + result = done(playerName, true); + break; } *************** *** 416,419 **** --- 424,431 ---- result = useSpecialProperty((UseSpecialProperty) action); + } else if (action instanceof RequestTurn) { + + result = requestTurn ((RequestTurn)action); + } else if (!!(result = processGameSpecificAction(action))) { *************** *** 1119,1125 **** * @return False if an error is found. */ ! public boolean done(String playerName) { ! currentPlayer = getCurrentPlayer(); if (!playerName.equals(currentPlayer.getName())) { --- 1131,1137 ---- * @return False if an error is found. */ ! public boolean done(String playerName, boolean hasAutopassed) { ! //currentPlayer = getCurrentPlayer(); if (!playerName.equals(currentPlayer.getName())) { *************** *** 1134,1139 **** } else { numPasses.add(1); ! ReportBuffer.add(LocalText.getText("PASSES", ! currentPlayer.getName())); } --- 1146,1160 ---- } else { numPasses.add(1); ! if (hasAutopassed) { ! if (!hasAutopassed(currentPlayer)) { ! setAutopass (currentPlayer, true); ! setCanRequestTurn (currentPlayer, true); ! } ! ReportBuffer.add(LocalText.getText("Autopasses", ! currentPlayer.getName())); ! } else { ! ReportBuffer.add(LocalText.getText("PASSES", ! currentPlayer.getName())); ! } } *************** *** 1176,1182 **** --- 1197,1229 ---- } + protected boolean requestTurn (RequestTurn action) { + + Player requestingPlayer = playerManager.getPlayerByName(action.getRequestingPlayerName()); + + boolean result = canRequestTurn(requestingPlayer); + + if (!result) { + DisplayBuffer.add(LocalText.getText("CannotRequestTurn", + requestingPlayer.getName())); + return false; + } + + moveStack.start(false); + if (hasAutopassed(requestingPlayer)) { + setAutopass(requestingPlayer, false); + } else { + new AddToList<Player>(hasRequestedTurn, requestingPlayer, "HasRequestedTurn"); + } + + return true; + } + protected void finishTurn() { setNextPlayer(); sellPrices.clear(); + if (hasAutopassed(currentPlayer)) { + // Process a pass for a player that has set Autopass + done (currentPlayer.getName(), true); + } } *************** *** 1287,1291 **** if (player.getPortfolio().getShare(company) + number * company.getShareUnit() - //> gameManager.getPlayerShareLimit() > getGameParameterAsInt(GameDef.Parm.PLAYER_SHARE_LIMIT) && !company.getCurrentSpace().isNoHoldLimit()) return false; --- 1334,1337 ---- *************** *** 1322,1333 **** - //public static void setNoSaleInFirstSR() { - // noSaleInFirstSR = true; - //} - - //public static void setNoSaleIfNotOperated() { - // noSaleIfNotOperated = true; - //} - protected boolean noSaleInFirstSR() { return (Boolean) gameManager.getGameParameter(GameDef.Parm.NO_SALE_IN_FIRST_SR); --- 1368,1371 ---- *************** *** 1352,1354 **** --- 1390,1393 ---- return toString(); } + } |