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: Stefan F. <ste...@us...> - 2010-03-12 17:15:17
|
Update of /cvsroot/rails/18xx/data In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv12941/data Modified Files: GamesList.xml Log Message: Added NoMap option to 1851 and 18Kaas, removed from 1856 Index: GamesList.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/GamesList.xml,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** GamesList.xml 11 Mar 2010 23:20:26 -0000 1.29 --- GamesList.xml 12 Mar 2010 17:15:05 -0000 1.30 *************** *** 74,77 **** --- 74,78 ---- - No random assignment of private companies (players should do this off-line and enter the result) </Description> + <Option name="NoMapMode" type="toggle" default="no" /> <Option name="UnlimitedTiles" type="toggle" default="no"/> <Players minimum="3" maximum="5"/> *************** *** 86,90 **** - The restriction that shares cannot be sold in the same round that these are bought is not enforced. </Description> ! <Option name="NoMapMode" type="toggle" default="no" /> <Option name="UnlimitedBonusTokens" type="toggle" default="no"/> <Option name="UnlimitedTiles" type="toggle" default="no"/> --- 87,91 ---- - The restriction that shares cannot be sold in the same round that these are bought is not enforced. </Description> ! <!-- <Option name="NoMapMode" type="toggle" default="no" /> --> <Option name="UnlimitedBonusTokens" type="toggle" default="no"/> <Option name="UnlimitedTiles" type="toggle" default="no"/> *************** *** 160,163 **** --- 161,165 ---- Should work, but has not been extensively tested. Limitations as with 1830. </Description> + <Option name="NoMapMode" type="toggle" default="no" /> <Option name="WithOptional6Train" type="toggle" default="no"/> <Option name="UnlimitedTopTrains" parm="D" type="toggle" default="no"/> |
From: Stefan F. <ste...@us...> - 2010-03-12 07:30:38
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv18954/rails/game Modified Files: OperatingRound.java Log Message: Removed generation of free entry operating costs action (can be done by cash corrections now) Index: OperatingRound.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/OperatingRound.java,v retrieving revision 1.114 retrieving revision 1.115 diff -C2 -d -r1.114 -r1.115 *** OperatingRound.java 6 Mar 2010 18:28:41 -0000 1.114 --- OperatingRound.java 12 Mar 2010 07:30:24 -0000 1.115 *************** *** 2280,2290 **** // Default OperatingCost Actions ! possibleActions.add(new OperatingCost( ! OperatingCost.OCType.LAY_TILE, 0, true ! )); ! if (operatingCompany.getNumberOfFreeBaseTokens() != 0 ! && operatingCompany.getBaseTokenLayCost(null) != 0) { ! possibleActions.add(new OperatingCost(OperatingCost.OCType.LAY_BASE_TOKEN, 0, true)); ! } // Private Company Closure --- 2280,2290 ---- // Default OperatingCost Actions ! // possibleActions.add(new OperatingCost( ! // OperatingCost.OCType.LAY_TILE, 0, true ! // )); ! // if (operatingCompany.getNumberOfFreeBaseTokens() != 0 ! // && operatingCompany.getBaseTokenLayCost(null) != 0) { ! // possibleActions.add(new OperatingCost(OperatingCost.OCType.LAY_BASE_TOKEN, 0, true)); ! // } // Private Company Closure |
From: Stefan F. <ste...@us...> - 2010-03-12 07:29:22
|
Update of /cvsroot/rails/18xx/rails/common In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv18772/rails/common Modified Files: GuiHints.java Log Message: CurrentRoundType and activePanel changed to state-type variables to allow undo between different round types. Index: GuiHints.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/common/GuiHints.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** GuiHints.java 31 Jan 2010 22:22:27 -0000 1.2 --- GuiHints.java 12 Mar 2010 07:29:10 -0000 1.3 *************** *** 5,9 **** --- 5,13 ---- import java.util.List; + import rails.game.GameDef; import rails.game.RoundI; + import rails.game.move.StateChange; + import rails.game.state.EnumState; + import rails.game.state.GenericState; /** *************** *** 20,24 **** /** What round type is currently active in the engine? */ ! private Class<? extends RoundI> currentRoundType = null; /** Which windows should be visible? */ --- 24,28 ---- /** What round type is currently active in the engine? */ ! private GenericState<Class<? extends RoundI>> currentRoundType = null; /** Which windows should be visible? */ *************** *** 26,37 **** /** Which window type is active and should be on top? */ ! private GuiDef.Panel activePanel; public Class<? extends RoundI> getCurrentRoundType() { ! return currentRoundType; } public void setCurrentRoundType(Class<? extends RoundI> currentRoundType) { ! this.currentRoundType = currentRoundType; } --- 30,45 ---- /** Which window type is active and should be on top? */ ! private EnumState<GuiDef.Panel> activePanel = null; public Class<? extends RoundI> getCurrentRoundType() { ! return currentRoundType.getObject(); } public void setCurrentRoundType(Class<? extends RoundI> currentRoundType) { ! if (this.currentRoundType == null) ! this.currentRoundType = new GenericState<Class<? extends RoundI>> ! ("CurrentRoundType", currentRoundType); ! else ! new StateChange(this.currentRoundType, currentRoundType); } *************** *** 56,64 **** public GuiDef.Panel getActivePanel() { ! return activePanel; } public void setActivePanel(GuiDef.Panel activePanel) { ! this.activePanel = activePanel; } --- 64,75 ---- public GuiDef.Panel getActivePanel() { ! return (GuiDef.Panel)activePanel.getObject(); } public void setActivePanel(GuiDef.Panel activePanel) { ! if (this.activePanel == null) ! this.activePanel = new EnumState<GuiDef.Panel>("ActivePanel", activePanel); ! else ! new StateChange(this.activePanel, activePanel); } |
From: Erik V. <ev...@us...> - 2010-03-11 23:20:40
|
Update of /cvsroot/rails/18xx/data In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv29066/data Modified Files: GamesList.xml Log Message: 1825 Unit 1 (Phil Davies) Index: GamesList.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/GamesList.xml,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** GamesList.xml 23 Feb 2010 22:21:40 -0000 1.28 --- GamesList.xml 11 Mar 2010 23:20:26 -0000 1.29 *************** *** 1,7 **** <!-- Supported games --> <GamesList> ! <Game name="1830"> ! <Note>Fully playable</Note> ! <Description>1830 - The Game of Railroads and Robber Barons (c) 1986 The Avalon Hill Game Company Designed by Francis Tresham and Bruce Shelley --- 1,20 ---- + <?xml version="1.0" encoding="utf-8"?> <!-- Supported games --> <GamesList> ! <Game name="1825"> ! <Note>Experimental</Note> ! <Description>1825 Unit 1 ! (c) 1994 Hartland Trefoil Ltd. ! Designed by Francis Tresham ! ! Limitation: ! - No random assignment of private companies (players should do this off-line and enter the result) ! </Description> ! <Players minimum="3" maximum="5" /><Option name="UnlimitedTiles" type="toggle" default="no"> ! </Option> ! </Game> ! <Game name="1830"> ! <Note>Fully playable</Note> ! <Description>1830 - The Game of Railroads and Robber Barons (c) 1986 The Avalon Hill Game Company Designed by Francis Tresham and Bruce Shelley *************** *** 153,156 **** --- 166,170 ---- <Players minimum="3" maximum="6"/> </Game> + <Credits>Rails is a computer implementation of a number of railroad board games, that are collectively known as the "18xx" railway game system. |
From: Erik V. <ev...@us...> - 2010-03-11 23:20:34
|
Update of /cvsroot/rails/18xx/data/1825 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv29066/data/1825 Added Files: TileSet.xml Game.xml CompanyManager.xml Map.xml Tiles.xml StockMarket.xml Log Message: 1825 Unit 1 (Phil Davies) --- NEW FILE: CompanyManager.xml --- <?xml version="1.0"?> <CompanyManager> <CompanyType name="Private" class="rails.game.PrivateCompany"> </CompanyType> <CompanyType name="Public" class="rails.game.PublicCompany"> <PoolPaysOut/> <Float percentage="60"/> <ShareUnit percentage="10"/> <BaseTokens> <!-- HomeBase lay options: "whenStarted", "whenFloated", "firstOR" (default) --> ` <HomeBase lay="firstOR"/> <!-- LayCost methods: only "sequence" (1830 style) implemented so far (default) --> <LayCost method="sequence" cost="0,40,100"/> </BaseTokens> <Certificate type="President" shares="2"/> <Certificate shares="1" number="8"/> <Trains number="4,4,3,-1,-1"/> </CompanyType> <Company name="S&M" type="Private" basePrice="30" revenue="5" longname="Swansea and Mumbles"> </Company> <Company name="CHP" type="Private" basePrice="75" revenue="12" longname="Cromford and High Peak"> </Company> <Company name="C&W" type="Private" basePrice="130" revenue="20" longname="Canterbury and Whitstable"> </Company> <Company name="L&M" type="Private" basePrice="210" revenue="30" longname="Liverpool and Manchester"> </Company> <!-- Note two supported colour specification formats: RGB decimal with commas and RGB hexadecimal without commas --> <Company name="LNWR" type="Public" tokens="6" fgColour="FFFFFF" bgColour="000000" longname="London & North Western Railway"> <Home hex="T16" /> </Company> <Company name="GWR" type="Public" tokens="6" fgColour="FFFFFF" bgColour="006600" longname="Great Western Railway"> <Home hex="V14" /> </Company> <Company name="LSWR" type="Public" tokens="5" fgColour="000000" bgColour="99FF66" longname="London & South Western Railway"> <Home hex="V20" city="1"/> </Company> <Company name="GER" type="Public" tokens="5" fgColour="FFFFFF" bgColour="000066" longname="Great Eastern"> <Home hex="V20" city="5" /> </Company> <Company name="SECR" type="Public" tokens="5" fgColour="000000" bgColour="FFFF00" longname="South Eastern & Chatham Railway"> <Home hex="W23"></Home> </Company> <Company name="LBSC" type="Public" tokens="4" fgColour="000000" bgColour="FF9900" longname="London, Brighton & South Coast Railway"> <Home hex="X20"></Home> </Company> <StartPacket roundClass="rails.game.specific._1851.StartRound_1851"> <Item name="S&M" type="Private" basePrice="30"/> <Item name="CHP" type="Private" basePrice="75"/> <Item name="C&W" type="Private" basePrice="130"/> <Item name="L&M" type="Private" basePrice="210"/> <IfOption name="NumberOfPlayers" value="5"> <Item name="LNWR" type="Public" president="yes"></Item></IfOption></StartPacket> <StockRoundRules> <!-- Will probably move later to a GameManager XML--> <NoSaleInFirstSR/> </StockRoundRules> </CompanyManager> --- NEW FILE: TileSet.xml --- <TileManager tiles="Tiles.xml"> <!-- Preprinted tiles --> <Tile id="0"><!-- Empty space --> <Upgrade id="7,8,9"/> </Tile> <Tile id="-1"><!-- 1 town --> <Upgrade id="3,4"/> </Tile> <Tile id="-2"><!-- 2 towns --> <Upgrade id="1,2,55,56"/> </Tile> <Tile id="-10"><!-- 1 city --> <Upgrade id="5,6"/> </Tile> <Tile id="-20"><!-- 2 OO cities --> <Upgrade id="52" relayBaseTokens="yes"/> </Tile> <Tile id="-5"><!--Dover--></Tile> <Tile id="-7"><!--Preprinted tight bend--></Tile> <Tile id="-41"/> <Tile id="-104"><!--Harwich--></Tile> <Tile id="-25001"><!--London--><Upgrade id="32" relayBaseTokens="yes"></Upgrade></Tile> <Tile id="-25002"><!--Birmingham--><Upgrade id="34" relayBaseTokens="yes"></Upgrade></Tile> <Tile id="-25003"><!--Bristol--><Upgrade id="38" relayBaseTokens="yes"/></Tile> <Tile id="-25004"/> <Tile id="-25005"/> <Tile id="-25006"/> <Tile id="-25007"/> <!-- Yellow tiles --> <Tile id="1" quantity="1" > <Upgrade id="14"></Upgrade></Tile> <Tile id="2" quantity="1" > <Upgrade id="15"></Upgrade></Tile> <Tile id="3" quantity="1" > <Upgrade id="12,14,15,87,88"></Upgrade></Tile> <Tile id="4" quantity="3" > <Upgrade id="14,15,87,88"></Upgrade></Tile> <Tile id="5" quantity="2"> <Upgrade id="12,14,15"></Upgrade> </Tile> <Tile id="6" quantity="2"> <Upgrade id="12,13,14,15"></Upgrade> </Tile> <Tile id="7" quantity="2"> <Upgrade id="26,27,28,29"></Upgrade> </Tile> <Tile id="8" quantity="8" > <Upgrade id="16,19,23,24,25,28,29"></Upgrade></Tile> <Tile id="9" quantity="7" > <Upgrade id="19,23,24,25,28,29"></Upgrade></Tile> <Tile id="55" quantity="1"> <Upgrade id="14"></Upgrade> </Tile> <Tile id="56" quantity="1" > <Upgrade id="15"></Upgrade></Tile> <!-- Green tiles --> <Tile id="12" quantity="2"> <Upgrade id="38"></Upgrade> </Tile> <Tile id="13" quantity="1"> <Upgrade id="38"></Upgrade> </Tile> <Tile id="14" quantity="2"> </Tile> <Tile id="15" quantity="2"> </Tile> <Tile id="16" quantity="1"> </Tile> <Tile id="19" quantity="1"> <Upgrade id="45,46"></Upgrade> </Tile> <Tile id="20" quantity="1"> <Upgrade id="47"></Upgrade> </Tile> <Tile id="23" quantity="3"> <Upgrade id="41,45,47"></Upgrade> </Tile> <Tile id="24" quantity="3"> <Upgrade id="42,46,47"></Upgrade> </Tile> <Tile id="25" quantity="1"> <Upgrade id="45,46"></Upgrade> </Tile> <Tile id="26" quantity="1"> <Upgrade id="42,45"></Upgrade> </Tile> <Tile id="27" quantity="1"> <Upgrade id="41,46"></Upgrade> </Tile> <Tile id="28" quantity="1"> <Upgrade id="46"></Upgrade> </Tile> <Tile id="29" quantity="1"> <Upgrade id="45"></Upgrade> </Tile> <Tile id="52" quantity="2"> <Upgrade id="34"></Upgrade> </Tile> <Tile id="87" quantity="1"> </Tile> <Tile id="88" quantity="1"></Tile> <!-- Brown tiles --> <Tile id="32" quantity="1" /> <Tile id="34" quantity="1" /> <Tile id="38" quantity="2" /> <Tile id="41" quantity="1" /> <Tile id="42" quantity="1" /> <Tile id="45" quantity="1" /> <Tile id="46" quantity="1" /> <Tile id="47" quantity="1" /> <Tile id="64" quantity="1" /> <Tile id="65" quantity="1" /> <Tile id="66" quantity="1" /> <Tile id="67" quantity="1" /> <Tile id="68" quantity="1" ></Tile> </TileManager> --- NEW FILE: Tiles.xml --- <?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="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="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="fixed" id="-41" name="-41"> <Track from="side0" gauge="normal" to="side3"/> <Track from="side4" gauge="normal" to="side0"/> <Track from="side4" 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="green" id="-25001" name="London"> <Station id="city1" position="403" slots="1" type="City" value="50"/> <Station id="city2" position="503" slots="1" type="City" value="50"/> <Station id="city3" position="003" slots="1" type="City" value="50"/> <Station id="city4" position="103" slots="1" type="City" value="50"/> <Station id="city5" position="203" slots="1" type="City" value="50"/> <Station id="city6" position="303" slots="1" type="City" value="50"/> <Track from="side5" gauge="normal" to="city2"/> <Track from="side4" gauge="normal" to="city1"/> <Track from="side3" gauge="normal" to="city6"/> <Track from="side2" gauge="normal" to="city5"/> <Track from="side1" gauge="normal" to="city4"/> <Track from="side0" gauge="normal" to="city3"/> </Tile> <Tile colour="green" id="-25002" name="Birmingham"> <Station id="city1" position="402" slots="1" type="City" value="40"/> <Station id="city2" position="002" slots="1" type="City" value="40"/> <Station id="city3" position="202" slots="1" type="City" value="40"/> <Track from="city1" gauge="normal" to="side4"/> <Track from="city3" gauge="normal" to="side2"/> <Track from="side0" gauge="normal" to="city2"/> </Tile> <Tile colour="green" id="-25003" name="Bristol"> <Station id="city1" position="0" slots="1" type="City" value="30"/> <Track from="side3" gauge="normal" to="city1"/> <Track from="city1" gauge="normal" to="side1"/> </Tile> <Tile colour="fixed" id="-25004" name="Wolverton"> <Station id="city1" position="0" slots="1" type="City" value="10"/> <Track from="city1" gauge="normal" to="side4"/> <Track from="city1" gauge="normal" to="side5"/> <Track from="city1" gauge="normal" to="side0"/> <Track from="city1" gauge="normal" to="side2"/> </Tile> <Tile colour="fixed" id="-25005" name="Swindon"> <Station id="city1" position="0" slots="1" type="City" value="10"/> <Track from="side4" gauge="normal" to="city1"/> <Track from="side5" gauge="normal" to="city1"/> <Track from="city1" gauge="normal" to="side1"/> <Track from="city1" gauge="normal" to="side2"/> </Tile> <Tile colour="fixed" id="-25006" name="Southend"> <Station id="city1" position="102" slots="1" type="City" value="20"/> <Track from="side4" gauge="normal" to="side0"/> <Track from="side4" gauge="normal" to="city1"/> <Track from="side3" gauge="normal" to="side2"/> </Tile> <Tile colour="fixed" id="-25007" name="Bournemouth"> <Station id="city1" position="0" slots="1" type="City" value="20"/> <Station id="city2" position="0" slots="1" type="City" value="20"/> <Track from="side4" gauge="normal" to="city2"/> <Track from="side5" gauge="normal" to="city2"/> <Track from="side0" gauge="normal" to="city2"/> </Tile> <Tile colour="yellow" id="1" name="1"> <Station id="city1" position="408" type="Town" value="10"/> <Station id="city2" position="108" type="Town" value="10"/> <Track from="city1" gauge="normal" to="side0"/> <Track from="city1" gauge="normal" to="side4"/> <Track from="city2" gauge="normal" to="side1"/> <Track from="city2" gauge="normal" to="side3"/> </Tile> <Tile colour="yellow" id="2" name="2"> <Station id="city1" position="302" type="Town" value="10"/> <Station id="city2" position="109" type="Town" value="10"/> <Track from="city1" gauge="normal" to="side3"/> <Track from="city1" gauge="normal" to="side0"/> <Track from="city2" gauge="normal" to="side1"/> <Track from="city2" gauge="normal" to="side2"/> </Tile> <Tile colour="yellow" id="3" name="3"> <Station id="city1" position="352" type="Town" value="10"/> <Track from="city1" gauge="normal" to="side3"/> <Track from="city1" gauge="normal" to="side4"/> </Tile> <Tile colour="yellow" id="4" name="4"> <Station id="city1" position="0" type="Town" value="10"/> <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"/> </Tile> <Tile colour="yellow" id="8" name="8"> <Track from="side3" gauge="normal" to="side5"/> </Tile> <Tile colour="yellow" id="9" name="9"> <Track from="side3" gauge="normal" to="side0"/> </Tile> <Tile colour="yellow" id="55" name="55"> <Station id="city1" position="202" type="Town" value="10"/> <Station id="city2" position="302" type="Town" value="10"/> <Track from="city1" gauge="normal" to="side2"/> <Track from="city1" gauge="normal" to="side5"/> <Track from="city2" gauge="normal" to="side3"/> <Track from="city2" gauge="normal" to="side0"/> </Tile> <Tile colour="yellow" id="56" name="56"> <Station id="city1" position="407" type="Town" value="10"/> <Station id="city2" position="108" type="Town" value="10"/> <Track from="city2" gauge="normal" to="side1"/> <Track from="city2" gauge="normal" to="side3"/> <Track from="city1" gauge="normal" to="side4"/> <Track from="city1" gauge="normal" to="side2"/> </Tile> <Tile colour="green" id="12" name="12"> <Station id="city1" position="0" slots="1" type="City" value="30"/> <Track from="city1" gauge="normal" to="side1"/> <Track from="city1" gauge="normal" to="side2"/> <Track from="city1" gauge="normal" to="side3"/> </Tile> <Tile colour="green" id="13" name="13"> <Station id="city1" position="0" slots="1" type="City" value="30"/> <Track from="city1" gauge="normal" to="side0"/> <Track from="city1" gauge="normal" to="side2"/> <Track from="city1" gauge="normal" to="side4"/> </Tile> <Tile colour="green" id="14" name="14"> <Station id="city1" position="0" slots="2" type="City" value="30"/> <Track from="city1" gauge="normal" to="side1"/> <Track from="city1" gauge="normal" to="side3"/> <Track from="city1" gauge="normal" to="side4"/> <Track from="city1" gauge="normal" to="side0"/> </Tile> <Tile colour="green" id="15" name="15"> <Station id="city1" position="0" slots="2" type="City" value="30"/> <Track from="city1" gauge="normal" to="side3"/> <Track from="city1" gauge="normal" to="side4"/> <Track from="city1" gauge="normal" to="side5"/> <Track from="city1" gauge="normal" to="side0"/> </Tile> <Tile colour="green" id="16" name="16"> <Track from="side3" gauge="normal" to="side5"/> <Track from="side4" gauge="normal" to="side0"/> </Tile> <Tile colour="green" id="19" name="19"> <Track from="side5" gauge="normal" to="side1"/> <Track from="side0" gauge="normal" to="side3"/> </Tile> <Tile colour="green" id="20" name="20"> <Track from="side1" gauge="normal" to="side4"/> <Track from="side3" gauge="normal" to="side0"/> </Tile> <Tile colour="green" id="23" name="23"> <Track from="side4" gauge="normal" to="side0"/> <Track from="side0" gauge="normal" to="side3"/> </Tile> <Tile colour="green" id="24" name="24"> <Track from="side3" gauge="normal" to="side5"/> <Track from="side3" gauge="normal" to="side0"/> </Tile> <Tile colour="green" id="25" name="25"> <Track from="side1" gauge="normal" to="side3"/> <Track from="side3" gauge="normal" to="side5"/> </Tile> <Tile colour="green" id="26" name="26"> <Track from="side5" gauge="normal" to="side0"/> <Track from="side0" gauge="normal" to="side3"/> </Tile> <Tile colour="green" id="27" name="27"> <Track from="side3" gauge="normal" to="side4"/> <Track from="side3" gauge="normal" to="side0"/> </Tile> <Tile colour="green" id="28" name="28"> <Track from="side3" gauge="normal" to="side5"/> <Track from="side4" gauge="normal" to="side5"/> </Tile> <Tile colour="green" id="29" name="29"> <Track from="side3" gauge="normal" to="side4"/> <Track from="side3" gauge="normal" to="side5"/> </Tile> <Tile colour="green" id="52" name="52"> <Station id="city1" position="0" slots="2" type="City" value="30"/> <Track from="city1" gauge="normal" to="side5"/> <Track from="city1" gauge="normal" to="side0"/> <Track from="city1" gauge="normal" to="side2"/> <Track from="city1" gauge="normal" to="side4"/> </Tile> <Tile colour="green" id="87" name="87"> <Station id="city1" position="0" type="Town" value="10"/> <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="green" id="88" name="88"> <Station id="city1" position="0" type="Town" value="10"/> <Track from="city1" gauge="normal" to="side1"/> <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="32" name="32"> <Station id="city1" position="303" slots="1" type="City" value="70"/> <Station id="city2" position="403" slots="1" type="City" value="70"/> <Station id="city3" position="503" slots="1" type="City" value="70"/> <Station id="city4" position="003" slots="1" type="City" value="70"/> <Station id="city5" position="103" slots="1" type="City" value="70"/> <Station id="city6" position="203" slots="1" type="City" value="70"/> <Track from="city6" gauge="normal" to="side2"/> <Track from="city5" gauge="normal" to="side1"/> <Track from="city4" gauge="normal" to="side0"/> <Track from="city3" gauge="normal" to="side5"/> <Track from="city2" gauge="normal" to="side4"/> <Track from="city1" gauge="normal" to="side3"/> </Tile> <Tile colour="brown" id="34" name="34"> <Station id="city1" position="352" slots="1" type="City" value="50"/> <Station id="city2" position="052" slots="1" type="City" value="50"/> <Station id="city3" position="502" slots="1" type="City" value="50"/> <Track from="city2" gauge="normal" to="side0"/> <Track from="city1" gauge="normal" to="side4"/> <Track from="city3" gauge="normal" to="side2"/> <Track from="city3" gauge="normal" to="side5"/> </Tile> <Tile colour="brown" id="38" name="38"> <Station id="city1" position="0" slots="2" type="City" value="40"/> <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="41" name="41"> <Track from="side4" gauge="normal" to="side0"/> <Track from="side4" gauge="normal" to="side3"/> <Track from="side0" gauge="normal" to="side3"/> </Tile> <Tile colour="brown" id="42" name="42"> <Track from="side3" gauge="normal" to="side5"/> <Track from="side3" gauge="normal" to="side0"/> <Track from="side5" gauge="normal" to="side0"/> </Tile> <Tile colour="brown" id="45" name="45"> <Track from="side1" gauge="normal" to="side5"/> <Track from="side1" gauge="normal" to="side3"/> <Track from="side5" gauge="normal" to="side0"/> <Track from="side3" gauge="normal" to="side0"/> </Tile> <Tile colour="brown" id="46" name="46"> <Track from="side1" gauge="normal" to="side5"/> <Track from="side1" gauge="normal" to="side0"/> <Track from="side3" gauge="normal" to="side5"/> <Track from="side3" gauge="normal" to="side0"/> </Tile> <Tile colour="brown" id="47" name="47"> <Track from="side3" gauge="normal" to="side0"/> <Track from="side3" gauge="normal" to="side1"/> <Track from="side4" gauge="normal" to="side0"/> <Track from="side4" gauge="normal" to="side1"/> </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> </Tiles> --- NEW FILE: StockMarket.xml --- <StockMarket type="linear"> <!-- Note two supported colour specification formats: RGB decimal with commas and RGB hexadecimal without commas --> <StockSpace name="A1" price="0"/> <StockSpace name="B1" price="5"/> <StockSpace name="C1" price="10"/> <StockSpace name="D1" price="16"/> <StockSpace name="E1" price="24"></StockSpace> <StockSpace name="F1" price="34"/> <StockSpace name="G1" price="42"/> <StockSpace name="H1" price="49"/> <StockSpace name="I1" price="55" /> <StockSpace name="J1" price="61"></StockSpace> <StockSpace name="A2" price="67"> <StartSpace></StartSpace></StockSpace> <StockSpace name="B2" price="71"> <StartSpace></StartSpace></StockSpace> <StockSpace name="C2" price="76"> <StartSpace></StartSpace></StockSpace> <StockSpace name="D2" price="82"/> <StockSpace name="E2" price="90"> <StartSpace></StartSpace></StockSpace> <StockSpace name="F2" price="100"> <StartSpace></StartSpace></StockSpace> <StockSpace name="G2" price="112"/> <StockSpace name="H2" price="126" /> <StockSpace name="I2" price="142" /> <StockSpace name="A3" price="160"/> <StockSpace name="B3" price="180"/> <StockSpace name="C3" price="205"></StockSpace> <StockSpace name="D3" price="230"/> <StockSpace name="E3" price="255"/> <StockSpace name="F3" price="280"/> <StockSpace name="G3" price="300"/> <StockSpace name="H3" price="320"/> <StockSpace name="I3" price="340" /> </StockMarket> --- NEW FILE: Map.xml --- <Map mapClass="rails.ui.swing.hexmap.EWHexMap" tileOrientation="EW" letterOrientation="vertical" even="R"> <Hex name="R8" tile="0"/> <Hex name="R10" tile="-1" city="Shrewsbury" orientation="3" /> <Hex name="R12" tile="-20" orientation="1" city="Wolverhampton, Walsall"/> <Hex name="R14" tile="0"/> <Hex name="R16" tile="-10" city="Leicester" /> <Hex name="R18" tile="0"/> <Hex name="R20" tile="-1" city="Peterborough" orientation="3" /> <Hex name="R22" tile="0"/> <Hex name="R24" tile="-10" city="Norwich" orientation="4" /> <Hex name="R26" tile="-1" city="Great Yarmouth" orientation="1" /> <Hex name="S9" tile="0"/> <Hex name="S11" tile="0"/> <Hex name="S13" tile="-25002" city="Birmingham" /> <Hex name="S15" tile="-1" city="Northampton" orientation="2" /> <Hex name="S17" tile="0"/> <Hex name="S19" tile="0"/> <Hex name="S21" tile="0"/> <Hex name="S23" tile="0"/> <Hex name="S25" tile="0"/> <Hex name="T8" tile="0" cost="100"></Hex> <Hex name="T10" tile="0"/> <Hex name="T12" tile="0"/> <Hex name="T14" tile="0"/> <Hex name="T16" tile="-25004" city="Wolverton"/> <Hex name="T18" tile="0"/> <Hex name="T20" tile="-1" city="Cambridge" /> <Hex name="T22" tile="0"/> <Hex name="T24" tile="-1" city="Ipswich" orientation="1" /> <Hex name="U9" tile="0"/> <Hex name="U11" tile="-1" cost="40" city="Gloucester" orientation="1" ></Hex> <Hex name="U13" tile="0"/> <Hex name="U15" tile="0"/> <Hex name="U17" tile="0"/> <Hex name="U19" tile="0"/> <Hex name="U21" tile="0"/> <Hex name="U23" tile="-1" city="Colchester" /> <Hex name="U25" tile="-104" orientation="2" city="Harwich"/> <Hex name="V8" tile="-20" city="Cardiff, Newport" /> <Hex name="V10" tile="-25003" city="Bristol"/> <Hex name="V12" tile="0"/> <Hex name="V14" tile="-25005" city="Swindon"/> <Hex name="V16" tile="-1" city="Reading" orientation="1"/> <Hex name="V18" tile="0"/> <Hex name="V20" tile="-25001" city="London"/> <Hex name="V22" tile="-25006" value="20" city="Southend"/> <Hex name="W9" tile="-41" orientation="3" /> <Hex name="W11" tile="-2" city="Bath,Trowbridge" orientation="4" /> <Hex name="W13" tile="0"/> <Hex name="W15" tile="0"/> <Hex name="W17" tile="0"/> <Hex name="W19" tile="-2" city="Kingston on Thames, Reigate" orientation="4" /> <Hex name="W21" tile="0"/> <Hex name="W23" tile="-10" city="Ashford" orientation="5" /> <Hex name="W25" tile="-5" orientation="2" city="Dover"/> <Hex name="X8" tile="0"/> <Hex name="X10" tile="0"/> <Hex name="X12" tile="0"/> <Hex name="X14" tile="-10" city="Southampton" orientation="5" /> <Hex name="X16" tile="-20" city="Gosport, Portsmouth" orientation="1" /> <Hex name="X18" tile="0"/> <Hex name="X20" tile="-10" city="Brighton" orientation="5" /> <Hex name="X22" tile="-1" city="Hastings" orientation="2" /> <Hex name="X24" tile="0"/> <Hex name="Y9" tile="0"/> <Hex name="Y11" tile="-1" city="Weymouth" orientation="3" /> <Hex name="Y13" tile="-25007" city="Bournemouth"/> <Hex name="Y17" tile="-7" orientation="4" /> <Hex name="Y19" tile="-7" orientation="4" /> </Map> --- NEW FILE: Game.xml --- <?xml version="1.0"?> <ComponentManager> <Component name="GameManager" class="rails.game.GameManager"> <Game name="1825"/> <!-- GAME OPTIONS must have: - a name, which must also exist as an entry in LocalText.properties, - optionally 'type="toggle"', which has the effect that the selection uses a checkbox instead of a dropdown list. In this case, 'values' must be absent (the allowed values are fixed to "yes,no"). - optionally, 'values="a,b,c"' i,e, a list of allowed values. - optionally, a default value (only affects a toggle; in a dropdown the first item is always the default). --> <PlayerShareLimit percentage="100"/> <BankPoolLimit percentage="100"></BankPoolLimit> <EndOfGame> <Bankruptcy/> <BankBreaks limit="0" finish="setOfORs"/> <!-- "Runs out"; when "broken", -1 is the limit --> </EndOfGame> </Component> <Component name="PlayerManager" class="rails.game.PlayerManager"> <Players number="3" cash="800" certLimit="20"/> <Players number="4" cash="630" certLimit="16"/> <Players number="5" cash="504" certLimit="13"/> </Component> <Component name="Bank" class="rails.game.Bank"> <Bank amount="12000"/> <Money format="£@"></Money> </Component> <Component name="TileManager" class="rails.game.TileManager" file="TileSet.xml"/> <Component name="Map" class="rails.game.MapManager" file="Map.xml"/> <Component name="CompanyManager" class="rails.game.CompanyManager" file="CompanyManager.xml"/> <Component name="StockMarket" class="rails.game.StockMarket" file="StockMarket.xml"/> <Component name="TrainManager" class="rails.game.TrainManager"> <Defaults> <Reach base="stops" countTowns="yes"/> <!-- Alternative values: base="hexes" for H-trains as in 1826, 1849 etc. countTowns="no" for all trains in 1841, 18EU, etc., where towns score but do not count against the train length. Otherwise, towns are counted as minor or major stops, depending on the presence or absence of a "minorStops" value. --> <Score towns="yes"/> <!-- Alternative values: towns="no" for trains that ignore towns (e.g. 1826 TGV). cities="double" if city-revenue is doubled (e.g. 1826 TGV). --> </Defaults> <Train name="2" majorStops="2" cost="180" amount="6"/> <Train name="3" majorStops="3" cost="300" amount="4" startPhase="2"/> <Train name="4" majorStops="4" cost="430" amount="3"/> <Train name="5" majorStops="5" cost="550" amount="4" startPhase="3" rustedTrain="2" /> </Component> <Component name="PhaseManager" class="rails.game.PhaseManager"> <!-- Note: released and rusted trains are now specified per Train but could as well be moved here. To be sorted out when we do 18US. --> <!-- Each Phase's defaults are the previous one's values --> <Phase name="1" > <Tiles colour="yellow"/> <Privates sellingAllowed="no"/> <OperatingRounds number="1"/> <Trains tradingAllowed="yes"/> </Phase> <Phase name="2"> <Tiles colour="yellow,green"/> <OperatingRounds number="2"/> </Phase> <Phase name="3"> <Tiles colour="yellow,green,brown"/><OperatingRounds number="3"> </OperatingRounds> </Phase> <Phase name="4"> <Tiles colour="yellow,green,brown,grey"/> </Phase> <Phase name="5"> </Phase> </Component> </ComponentManager> |
From: Erik V. <ev...@us...> - 2010-03-11 23:20:29
|
Update of /cvsroot/rails/18xx/data/1825 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv29046/data/1825 Log Message: Directory /cvsroot/rails/18xx/data/1825 added to the repository |
Update of /cvsroot/rails/18xx/tiles/svg In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv26974/tiles/svg Added Files: tile-25003.svg tile-25006.svg tile-25001.svg tile-25007.svg tile-25005.svg tile-25002.svg tile-25004.svg Log Message: New preprinted tiles for 1825 unit 1 --- NEW FILE: tile-25006.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#C0C0C0" stroke="#C0C0C0" stroke-width="1" stroke-linejoin="round"/><circle cx="269" cy="128" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 49,255 A 294,294 0 0,0 196,0" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 49,255 L 269,128" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 343,255 A 98,98 0 0,0 196,340" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 49,255 A 294,294 0 0,0 196,0" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 49,255 L 269,128" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 343,255 A 98,98 0 0,0 196,340" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><circle cx="269" cy="128" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="123" cy="43" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="123" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">20</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile-25003.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#38AC00" stroke="#38AC00" stroke-width="1" stroke-linejoin="round"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 196,340 L 196,170" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,340 L 196,170" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="306" cy="233" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="306" y="233" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">30</text><text x="147" y="85" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Bristol</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile-25005.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#C0C0C0" stroke="#C0C0C0" stroke-width="1" stroke-linejoin="round"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 49,255 L 196,170" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 49,85 L 196,170" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 49,255 L 196,170" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 49,85 L 196,170" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="123" cy="43" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="123" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">10</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile-25007.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#C0C0C0" stroke="#C0C0C0" stroke-width="1" stroke-linejoin="round"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 49,255 L 196,170" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 49,85 L 196,170" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,0 L 196,170" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 49,255 L 196,170" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 49,85 L 196,170" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,0 L 196,170" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="123" cy="43" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="123" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">20</text><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="123" cy="43" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="123" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">20</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile-25002.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#38AC00" stroke="#38AC00" stroke-width="1" stroke-linejoin="round"/><circle cx="123" cy="212" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="196" cy="85" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="269" cy="212" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 123,212 L 49,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 269,212 L 343,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,0 L 196,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 123,212 L 49,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 269,212 L 343,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,0 L 196,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><circle cx="123" cy="212" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="306" cy="107" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="306" y="107" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">40</text><circle cx="196" cy="85" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="306" cy="107" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="306" y="107" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">40</text><circle cx="269" cy="212" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="306" cy="107" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="306" y="107" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">40</text><text x="157" y="147" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Birmingham</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile-25004.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#C0C0C0" stroke="#C0C0C0" stroke-width="1" stroke-linejoin="round"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 196,170 L 49,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,0" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,0" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="123" cy="43" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="123" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">10</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile-25001.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#38AC00" stroke="#38AC00" stroke-width="1" stroke-linejoin="round"/><circle cx="86" cy="233" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="86" cy="107" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="196" cy="43" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="306" cy="107" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="306" cy="233" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="196" cy="297" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 49,85 L 86,107" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 49,255 L 86,233" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,340 L 196,297" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 343,255 L 306,233" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 343,85 L 306,107" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,0 L 196,43" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 49,85 L 86,107" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 49,255 L 86,233" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,340 L 196,297" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 343,255 L 306,233" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 343,85 L 306,107" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,0 L 196,43" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><circle cx="86" cy="233" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="196" cy="170" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="196" y="170" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">50</text><circle cx="86" cy="107" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="196" cy="170" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="196" y="170" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">50</text><circle cx="196" cy="43" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="196" cy="170" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="196" y="170" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">50</text><circle cx="306" cy="107" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="196" cy="170" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="196" y="170" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">50</text><circle cx="306" cy="233" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="196" cy="170" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="196" y="170" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">50</text><circle cx="196" cy="297" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="196" cy="170" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="196" y="170" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">50</text><text x="196" y="124" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">London</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> |
From: Stefan F. <ste...@us...> - 2010-03-11 22:12:54
|
Update of /cvsroot/rails/18xx In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv507 Modified Files: LocalisedText.properties Log Message: Fixed quotation in NextPlayerMessage Index: LocalisedText.properties =================================================================== RCS file: /cvsroot/rails/18xx/LocalisedText.properties,v retrieving revision 1.118 retrieving revision 1.119 diff -C2 -d -r1.118 -r1.119 *** LocalisedText.properties 10 Mar 2010 21:02:20 -0000 1.118 --- LocalisedText.properties 11 Mar 2010 21:28:30 -0000 1.119 *************** *** 286,290 **** NEW=New NewGame=New Game ! NextPlayerMessage=Message(s) from previous player's ({0}) turn: No=No NoBaseTokenExchange={0} does not exchange the {1} base token on {2} --- 286,290 ---- NEW=New NewGame=New Game ! NextPlayerMessage=Message(s) from previous player''s ({0}) turn: No=No NoBaseTokenExchange={0} does not exchange the {1} base token on {2} |
From: Erik V. <ev...@us...> - 2010-03-11 20:39:04
|
Update of /cvsroot/rails/18xx/rails/ui/swing/hexmap In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20300/rails/ui/swing/hexmap Modified Files: HexMap.java EWHexMap.java NSHexMap.java Log Message: Restrict map display area to hexes actually occurring in Map.xml. Index: NSHexMap.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/hexmap/NSHexMap.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** NSHexMap.java 31 Jan 2010 22:22:36 -0000 1.12 --- NSHexMap.java 11 Mar 2010 20:38:19 -0000 1.13 *************** *** 28,42 **** hexArray = mapManager.getHexes(); MapHex mh; h = new GUIHex[hexArray.length][hexArray[0].length]; ! for (int i = 0; i < hexArray.length; i++) { ! for (int j = 0; j < hexArray[0].length; j++) { mh = hexArray[i][j]; if (mh != null) { GUIHex hex = ! new GUIHex(this, Math.round(cx + 3 * i * scale), ! (int) Math.round(cy + (2 * j + (i & 1)) * GUIHex.SQRT3 * scale), ! scale, i, j); hex.setHexModel(mh); --- 28,46 ---- hexArray = mapManager.getHexes(); MapHex mh; + int ii, jj; + h = new GUIHex[hexArray.length][hexArray[0].length]; ! for (int i = minX; i < hexArray.length; i++) { ! ii = i - minX + 1; ! for (int j = minY; j < hexArray[0].length; j++) { ! jj = j - minY + 1; mh = hexArray[i][j]; if (mh != null) { GUIHex hex = ! new GUIHex(this, Math.round(cx + 3 * ii * scale), ! (int) Math.round(cy + (2 * jj + (ii & 1)) * GUIHex.SQRT3 * scale), ! scale, ii, jj); hex.setHexModel(mh); *************** *** 65,74 **** hexArray = mapManager.getHexes(); GUIHex hex; for (int i = 0; i < hexArray.length; i++) { for (int j = 0; j < hexArray[0].length; j++) { hex = h[i][j]; if (hex != null) { ! hex.scaleHex(cx + 3 * i * scale, ! cy + (2 * j + (i & 1)) * GUIHex.SQRT3 * scale, scale, zoomFactor); } --- 69,82 ---- hexArray = mapManager.getHexes(); GUIHex hex; + int ii, jj; + for (int i = 0; i < hexArray.length; i++) { + ii = i = minX + 1; for (int j = 0; j < hexArray[0].length; j++) { + jj = j - minY + 1; hex = h[i][j]; if (hex != null) { ! hex.scaleHex(cx + 3 * ii * scale, ! cy + (2 * jj + (ii & 1)) * GUIHex.SQRT3 * scale, scale, zoomFactor); } *************** *** 84,87 **** --- 92,96 ---- Graphics2D g2 = (Graphics2D) g; String label; + int ii, jj; boolean lettersGoHorizontal = mapManager.lettersGoHorizontal(); *************** *** 93,108 **** for (int i = 1; i < hexArray.length; i++) { label = lettersGoHorizontal ? String.valueOf((char)('@'+i)) : String.valueOf(i); g2.drawString(label, ! (cx - 30 -3*label.length() + 3 * scale * (i + xOffset)), yTop); g2.drawString(label, ! (cx - 30 -3*label.length() + 3 * scale * (i + xOffset)), yBottom); } for (int j = 1; j < 2 * hexArray[0].length; j++) { label = lettersGoHorizontal ? String.valueOf(j) --- 102,119 ---- for (int i = 1; i < hexArray.length; i++) { + ii = i - minX + 1; label = lettersGoHorizontal ? String.valueOf((char)('@'+i)) : String.valueOf(i); g2.drawString(label, ! (cx - 30 -3*label.length() + 3 * scale * (ii + xOffset)), yTop); g2.drawString(label, ! (cx - 30 -3*label.length() + 3 * scale * (ii + xOffset)), yBottom); } for (int j = 1; j < 2 * hexArray[0].length; j++) { + jj = j - minY + 1; label = lettersGoHorizontal ? String.valueOf(j) *************** *** 110,117 **** g2.drawString(label, xLeft, ! (int)(cy + 56 + j * GUIHex.SQRT3 * scale)); g2.drawString(label, xRight, ! (int)(cy + 56 + j * GUIHex.SQRT3 * scale)); } } --- 121,128 ---- g2.drawString(label, xLeft, ! (int)(cy + 56 + jj * GUIHex.SQRT3 * scale)); g2.drawString(label, xRight, ! (int)(cy + 56 + jj * GUIHex.SQRT3 * scale)); } } Index: EWHexMap.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/hexmap/EWHexMap.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** EWHexMap.java 31 Jan 2010 22:22:36 -0000 1.13 --- EWHexMap.java 11 Mar 2010 20:38:19 -0000 1.14 *************** *** 17,22 **** public EWHexMap() { scale = defaultScale = 2 * Scale.get(); ! cx = scale / 2; ! cy = 0; } --- 17,23 ---- public EWHexMap() { scale = defaultScale = 2 * Scale.get(); ! //cx = scale / 2; ! cx = -scale/2; ! cy = scale/2; } *************** *** 28,34 **** hexArray = mapManager.getHexes(); MapHex mh; h = new GUIHex[hexArray.length][hexArray[0].length]; ! for (int i = 0; i < hexArray.length; i++) { ! for (int j = 0; j < hexArray[0].length; j++) { mh = hexArray[i][j]; if (mh != null) { --- 29,39 ---- hexArray = mapManager.getHexes(); MapHex mh; + int ii, jj; + h = new GUIHex[hexArray.length][hexArray[0].length]; ! for (int i = minX; i < hexArray.length; i++) { ! ii = i - minX + 1; ! for (int j = minY; j < hexArray[0].length; j++) { ! jj = j - minY + 1; mh = hexArray[i][j]; if (mh != null) { *************** *** 37,42 **** this, (cx + scale ! * ((GUIHex.SQRT3 * i) + (GUIHex.SQRT3 / 2 * (j & 1)))), ! (cy + j * 1.5 * scale), scale, i, j); hex.setHexModel(mh); --- 42,47 ---- this, (cx + scale ! * ((GUIHex.SQRT3 * ii) + (GUIHex.SQRT3 / 2 * (j & 1)))), ! (cy + jj * 1.5 * scale), scale, ii, jj); hex.setHexModel(mh); *************** *** 55,61 **** preferredSize = new Dimension( ! (int) Math.round((hexArray.length + 1) * GUIHex.SQRT3 * scale * zoomFactor), ! (int) Math.round((hexArray[0].length + 1) * 1.5 * scale * zoomFactor)); } --- 60,66 ---- preferredSize = new Dimension( ! (int) Math.round((maxX-minX + 3) * GUIHex.SQRT3 * scale * zoomFactor), ! (int) Math.round((maxY-minY + 3) * 1.5 * scale * zoomFactor)); } *************** *** 66,75 **** hexArray = mapManager.getHexes(); GUIHex hex; ! for (int i = 0; i < hexArray.length; i++) { ! for (int j = 0; j < hexArray[0].length; j++) { hex = h[i][j]; if (hex != null) { ! hex.scaleHex(cx + scale * ((GUIHex.SQRT3 * i) + (GUIHex.SQRT3 / 2 * (j & 1))), ! cy + j * 1.5 * scale, scale, zoomFactor); --- 71,83 ---- hexArray = mapManager.getHexes(); GUIHex hex; ! int ii, jj; ! for (int i = minX; i < hexArray.length; i++) { ! ii = i - minX + 1; ! for (int j = minY; j < hexArray[0].length; j++) { ! jj = j - minY + 1; hex = h[i][j]; if (hex != null) { ! hex.scaleHex(cx + scale * ((GUIHex.SQRT3 * ii) + (GUIHex.SQRT3 / 2 * (jj & 1))), ! cy + jj * 1.5 * scale, scale, zoomFactor); *************** *** 87,111 **** Graphics2D g2 = (Graphics2D) g; String label; boolean lettersGoHorizontal = mapManager.lettersGoHorizontal(); ! int xOffset = mapManager.letterAHasEvenNumbers() ? 1 : 0; ! int xLeft = cx + 10; ! int xRight = (int)(cx + 5 + scale * (GUIHex.SQRT3/2 * 2*hexArray.length)); ! int yTop = cy + 10; ! int yBottom = (int)(cy - 10 + hexArray[0].length * 1.5 * scale); ! for (int i = 1; i < 2*hexArray.length; i++) { label = lettersGoHorizontal ? String.valueOf((char)('@'+i)) : String.valueOf(i); g2.drawString(label, ! (int) (cx + (26-3*label.length()) + scale * (GUIHex.SQRT3/2 * (i + xOffset))), yTop); g2.drawString(label, ! (int) (cx + (26-3*label.length()) + scale * (GUIHex.SQRT3/2 * (i + xOffset))), yBottom); } ! for (int j = 1; j < hexArray[0].length; j++) { label = lettersGoHorizontal ? String.valueOf(j) --- 95,122 ---- Graphics2D g2 = (Graphics2D) g; String label; + int ii, jj; boolean lettersGoHorizontal = mapManager.lettersGoHorizontal(); ! int xOffset = (mapManager.letterAHasEvenNumbers() ? 0 : 1) + (minCol % 2); ! int xLeft = cx + scale; ! int xRight = (int)(cx + scale * (3 + GUIHex.SQRT3/2 * (maxCol-minCol+1))); ! int yTop = cy; ! int yBottom = (int)(cy + scale + (maxRow-minRow+1) * 1.5 * scale); ! for (int i = minCol; i <= maxCol; i++) { ! ii = i - minCol + 1; label = lettersGoHorizontal ? String.valueOf((char)('@'+i)) : String.valueOf(i); g2.drawString(label, ! (int) (cx + (26-3*label.length()) + scale * (GUIHex.SQRT3/2 * (ii + xOffset))), yTop); g2.drawString(label, ! (int) (cx + (26-3*label.length()) + scale * (GUIHex.SQRT3/2 * (ii + xOffset))), yBottom); } ! for (int j = minRow; j <= maxRow; j++) { ! jj = j - minRow + 1; label = lettersGoHorizontal ? String.valueOf(j) *************** *** 113,120 **** g2.drawString(label, xLeft, ! (int)(cy - 10 + j * 1.5 * scale)); g2.drawString(label, xRight, ! (int)(cy - 10 + j * 1.5 * scale)); } --- 124,131 ---- g2.drawString(label, xLeft, ! (int)(cy - 10 + jj * 1.5 * scale)); g2.drawString(label, xRight, ! (int)(cy - 10 + jj * 1.5 * scale)); } Index: HexMap.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/hexmap/HexMap.java,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** HexMap.java 3 Feb 2010 20:16:40 -0000 1.22 --- HexMap.java 11 Mar 2010 20:38:00 -0000 1.23 *************** *** 47,50 **** --- 47,52 ---- protected GUIHex selectedHex = null; protected Dimension preferredSize; + protected int minX, minY, maxX, maxY; + protected int minCol, maxCol, minRow, maxRow; /** A list of all allowed tile lays */ *************** *** 67,70 **** --- 69,80 ---- this.orUIManager = orUIManager; this.mapManager = mapManager; + minX = mapManager.getMinX(); + minY = mapManager.getMinY(); + maxX = mapManager.getMaxX(); + maxY = mapManager.getMaxY(); + minRow = mapManager.getMinRow(); + minCol = mapManager.getMinCol(); + maxRow = mapManager.getMaxRow(); + maxCol = mapManager.getMaxCol(); setupHexes(); } *************** *** 162,173 **** } @Override public Dimension getMinimumSize() { Dimension dim = new Dimension(); Rectangle r = (h[h.length][h[0].length]).getBounds(); ! dim.height = r.height + 40; ! dim.width = r.width + 100; return dim; } @Override --- 172,185 ---- } + /* @Override public Dimension getMinimumSize() { Dimension dim = new Dimension(); Rectangle r = (h[h.length][h[0].length]).getBounds(); ! dim.height = (maxRow-minRow) + 40; ! dim.width = (maxCol-minCol) + 100; return dim; } + */ @Override |
From: Erik V. <ev...@us...> - 2010-03-11 20:38:39
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20300/rails/game Modified Files: MapManager.java Log Message: Restrict map display area to hexes actually occurring in Map.xml. Index: MapManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/MapManager.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** MapManager.java 5 Mar 2010 20:17:30 -0000 1.20 --- MapManager.java 11 Mar 2010 20:38:20 -0000 1.21 *************** *** 23,27 **** protected MapHex[][] hexes; protected Map<String, MapHex> mHexes = new HashMap<String, MapHex>(); ! protected int maxX, maxY; // upgrade costs on the map for noMapMode --- 23,28 ---- protected MapHex[][] hexes; protected Map<String, MapHex> mHexes = new HashMap<String, MapHex>(); ! protected int minX, minY, maxX, maxY; ! protected int minCol, maxCol, minRow, maxRow; // upgrade costs on the map for noMapMode *************** *** 81,86 **** List<Tag> hexTags = tag.getChildren("Hex"); MapHex hex; ! maxX = 0; ! maxY = 0; possibleTileCosts = new TreeSet<Integer>(); for (Tag hexTag : hexTags) { --- 82,87 ---- List<Tag> hexTags = tag.getChildren("Hex"); MapHex hex; ! minX = minY = minCol = minRow = 9999; ! maxX = maxY = maxCol = maxRow = -9999; possibleTileCosts = new TreeSet<Integer>(); for (Tag hexTag : hexTags) { *************** *** 88,93 **** --- 89,100 ---- hex.configureFromXML(hexTag); mHexes.put(hex.getName(), hex); + minX = Math.min(minX, hex.getX()); + minY = Math.min(minY, hex.getY()); maxX = Math.max(maxX, hex.getX()); maxY = Math.max(maxY, hex.getY()); + minCol = Math.min(minCol, hex.getColumn()); + minRow = Math.min(minRow, hex.getRow()); + maxCol = Math.max(maxCol, hex.getColumn()); + maxRow = Math.max(maxRow, hex.getRow()); int[] tileCosts = hex.getTileCostAsArray(); for (int i=0; i<tileCosts.length; i++){ *************** *** 117,122 **** // Initialise the neighbours ! for (i = 0; i <= maxX; i++) { ! for (j = 0; j <= maxY; j++) { if ((hex = hexes[i][j]) == null) continue; --- 124,129 ---- // Initialise the neighbours ! for (i = minX; i <= maxX; i++) { ! for (j = minY; j <= maxY; j++) { if ((hex = hexes[i][j]) == null) continue; *************** *** 129,133 **** dy = (i % 2 == 0 ? yXEvenDeltaNS[k] : yXOddDeltaNS[k]); } ! if (i + dx >= 0 && i + dx <= maxX && j + dy >= 0 && j + dy <= maxY && (nb = hexes[i + dx][j + dy]) != null) { --- 136,140 ---- dy = (i % 2 == 0 ? yXEvenDeltaNS[k] : yXOddDeltaNS[k]); } ! if (i + dx >= minX && i + dx <= maxX && j + dy >= minY && j + dy <= maxY && (nb = hexes[i + dx][j + dy]) != null) { *************** *** 185,188 **** --- 192,227 ---- } + public int getMinX() { + return minX; + } + + public int getMinY() { + return minY; + } + + public int getMaxX() { + return maxX; + } + + public int getMaxY() { + return maxY; + } + + public int getMaxCol() { + return maxCol; + } + + public int getMaxRow() { + return maxRow; + } + + public int getMinCol() { + return minCol; + } + + public int getMinRow() { + return minRow; + } + /** * @return Returns the mapUIClassName. |
From: Stefan F. <ste...@us...> - 2010-03-10 21:02:58
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25304/rails/game Modified Files: GameManager.java Log Message: Added nextPlayerMessages and fixed reload bug of cashcorrection action. Index: GameManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/GameManager.java,v retrieving revision 1.87 retrieving revision 1.88 diff -C2 -d -r1.87 -r1.88 *** GameManager.java 8 Mar 2010 20:33:27 -0000 1.87 --- GameManager.java 10 Mar 2010 21:02:13 -0000 1.88 *************** *** 155,159 **** */ protected DisplayBuffer displayBuffer; ! /** * The ReportBuffer collectes messages to be shown in the Game Report. --- 155,163 ---- */ protected DisplayBuffer displayBuffer; ! /** ! * nextPlayerMessages collects all messages to be displayed to the next player ! */ ! protected List<String> nextPlayerMessages = new ArrayList<String>(); ! /** * The ReportBuffer collectes messages to be shown in the Game Report. *************** *** 921,925 **** } ! DisplayBuffer.clear(); guiHints.clearVisibilityHints(); --- 925,930 ---- } ! // DisplayBuffer.clear(); ! // previous line removed to allow display of nextPlayerMessages guiHints.clearVisibilityHints(); *************** *** 1062,1066 **** public void setCurrentPlayerIndex(int currentPlayerIndex) { currentPlayerIndex = currentPlayerIndex % numberOfPlayers; ! currentPlayer.set(players.get(currentPlayerIndex)); } --- 1067,1073 ---- public void setCurrentPlayerIndex(int currentPlayerIndex) { currentPlayerIndex = currentPlayerIndex % numberOfPlayers; ! // currentPlayer.set(players.get(currentPlayerIndex)); ! // changed to activate nextPlayerMessages ! setCurrentPlayer(players.get(currentPlayerIndex)); } *************** *** 1069,1072 **** --- 1076,1087 ---- */ public void setCurrentPlayer(Player player) { + // transfer messages for the next player to the display buffer + if ((Player)currentPlayer.getObject() != player && !nextPlayerMessages.isEmpty()) { + DisplayBuffer.add( + LocalText.getText("NextPlayerMessage", getCurrentPlayer().getName())); + for (String s:nextPlayerMessages) + DisplayBuffer.add(s); + nextPlayerMessages.clear(); + } currentPlayer.set(player); } *************** *** 1393,1401 **** return displayBuffer; } public ReportBuffer getReportBuffer() { return reportBuffer; } ! public GuiHints getUIHints() { return guiHints; --- 1408,1423 ---- return displayBuffer; } + + public void addToNextPlayerMessages(String s, boolean undoable) { + if (undoable) + new AddToList<String>(nextPlayerMessages, s, "nextPlayerMessages"); + else + nextPlayerMessages.add(s); + } public ReportBuffer getReportBuffer() { return reportBuffer; } ! public GuiHints getUIHints() { return guiHints; |
From: Stefan F. <ste...@us...> - 2010-03-10 21:02:30
|
Update of /cvsroot/rails/18xx/rails/game/correct In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25304/rails/game/correct Modified Files: CorrectionAction.java CashCorrectionManager.java Log Message: Added nextPlayerMessages and fixed reload bug of cashcorrection action. Index: CorrectionAction.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/correct/CorrectionAction.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** CorrectionAction.java 8 Mar 2010 20:33:21 -0000 1.5 --- CorrectionAction.java 10 Mar 2010 21:02:22 -0000 1.6 *************** *** 11,17 **** --- 11,20 ---- public abstract class CorrectionAction extends PossibleAction { + transient protected CorrectionType correctionType; protected String correctionName; + public static final long serialVersionUID = 3L; + public CorrectionType getCorrectionType() { return correctionType; *************** *** 24,27 **** --- 27,31 ---- public void setCorrectionType(CorrectionType correctionType) { this.correctionType = correctionType; + this.correctionName = correctionType.name(); } } Index: CashCorrectionManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/correct/CashCorrectionManager.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CashCorrectionManager.java 8 Mar 2010 20:33:21 -0000 1.2 --- CashCorrectionManager.java 10 Mar 2010 21:02:22 -0000 1.3 *************** *** 113,129 **** Bank bank = gameManager.getBank(); if (amount < 0) { // negative amounts: remove cash from cashholder new CashMove(ch, bank , -amount); ! ReportBuffer.add(LocalText.getText("CorrectCashSubstractMoney", ch.getName(), ! Bank.format(-amount) )); ! } else if (amount > 0) { // positive amounts: add cash to cashholder new CashMove(bank, ch, amount); ! ReportBuffer.add(LocalText.getText("CorrectCashAddMoney", ch.getName(), ! Bank.format(amount) )); } result = true; } --- 113,133 ---- Bank bank = gameManager.getBank(); + String msg; if (amount < 0) { // negative amounts: remove cash from cashholder new CashMove(ch, bank , -amount); ! ! msg = LocalText.getText("CorrectCashSubstractMoney", ch.getName(), ! Bank.format(-amount) ); ! } else { // positive amounts: add cash to cashholder new CashMove(bank, ch, amount); ! msg = LocalText.getText("CorrectCashAddMoney", ch.getName(), ! Bank.format(amount)); } + ReportBuffer.add(msg); + gameManager.addToNextPlayerMessages(msg, true); result = true; } |
From: Stefan F. <ste...@us...> - 2010-03-10 21:02:30
|
Update of /cvsroot/rails/18xx In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25304 Modified Files: LocalisedText.properties Log Message: Added nextPlayerMessages and fixed reload bug of cashcorrection action. Index: LocalisedText.properties =================================================================== RCS file: /cvsroot/rails/18xx/LocalisedText.properties,v retrieving revision 1.117 retrieving revision 1.118 diff -C2 -d -r1.117 -r1.118 *** LocalisedText.properties 8 Mar 2010 20:33:37 -0000 1.117 --- LocalisedText.properties 10 Mar 2010 21:02:20 -0000 1.118 *************** *** 286,289 **** --- 286,290 ---- NEW=New NewGame=New Game + NextPlayerMessage=Message(s) from previous player's ({0}) turn: No=No NoBaseTokenExchange={0} does not exchange the {1} base token on {2} |
From: Stefan F. <ste...@us...> - 2010-03-10 17:26:59
|
Update of /cvsroot/rails/18xx/rails/game/move In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24093/rails/game/move Modified Files: PriceTokenMove.java Log Message: Fix of undo problem: Stack position of token was not recovered correctly Index: PriceTokenMove.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/move/PriceTokenMove.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** PriceTokenMove.java 31 Jan 2010 22:22:30 -0000 1.6 --- PriceTokenMove.java 10 Mar 2010 17:26:49 -0000 1.7 *************** *** 15,18 **** --- 15,19 ---- private PublicCompanyI company; private StockSpaceI from, to; + private int fromStackPosition; private StockMarketI stockMarket = null; *************** *** 22,25 **** --- 23,30 ---- this.from = from; this.to = to; + if (from != null) + fromStackPosition = from.getStackPosition(company); + else + fromStackPosition = 0; this.stockMarket = stockMarket; *************** *** 35,39 **** @Override public boolean undo() { ! stockMarket.processMove(company, to, from); return true; } --- 40,44 ---- @Override public boolean undo() { ! stockMarket.processMoveToStackPosition(company, to, from, fromStackPosition); return true; } *************** *** 41,46 **** @Override public String toString() { ! return "PriceTokenMove: " + company.getName() + " from " + from ! + " to " + to; } --- 46,51 ---- @Override public String toString() { ! return "PriceTokenMove: " + company.getName() + " from " + from + " (at stack " ! + fromStackPosition + ") to " + to; } |
From: Stefan F. <ste...@us...> - 2010-03-10 17:26:57
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24093/rails/game Modified Files: StockMarket.java StockMarketI.java StockSpace.java StockSpaceI.java Log Message: Fix of undo problem: Stack position of token was not recovered correctly Index: StockMarket.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/StockMarket.java,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** StockMarket.java 2 Feb 2010 20:00:20 -0000 1.26 --- StockMarket.java 10 Mar 2010 17:26:45 -0000 1.27 *************** *** 331,334 **** --- 331,341 ---- } + public void processMoveToStackPosition(PublicCompanyI company, StockSpaceI from, + StockSpaceI to, int toStackPosition) { + if (from != null) from.removeToken(company); + if (to != null) to.addTokenAtStackPosition(company, toStackPosition); + company.updatePlayersWorth(); + } + /** * @return Index: StockSpace.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/StockSpace.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** StockSpace.java 31 Jan 2010 22:22:28 -0000 1.10 --- StockSpace.java 10 Mar 2010 17:26:49 -0000 1.11 *************** *** 66,69 **** --- 66,76 ---- } + public boolean addTokenAtStackPosition(PublicCompanyI company, int stackPosition) { + log.debug(company.getName() + " price token added to " + name + " at stack position "+stackPosition); + tokens.add(stackPosition, company); + update(); + return true; + } + /** * Remove a token from the pile. Index: StockMarketI.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/StockMarketI.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** StockMarketI.java 9 Oct 2009 20:20:34 -0000 1.9 --- StockMarketI.java 10 Mar 2010 17:26:49 -0000 1.10 *************** *** 47,49 **** --- 47,51 ---- StockSpaceI to); + public void processMoveToStackPosition(PublicCompanyI company, StockSpaceI from, + StockSpaceI to, int toStackPosition); } Index: StockSpaceI.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/StockSpaceI.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** StockSpaceI.java 13 Dec 2009 16:39:49 -0000 1.5 --- StockSpaceI.java 10 Mar 2010 17:26:49 -0000 1.6 *************** *** 148,151 **** --- 148,153 ---- public boolean addToken(PublicCompanyI company); + public boolean addTokenAtStackPosition(PublicCompanyI company, int stackPosition); + public boolean removeToken(PublicCompanyI company); |
From: Erik V. <ev...@us...> - 2010-03-09 21:18:32
|
Update of /cvsroot/rails/18xx/data/1856 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv608/data/1856 Modified Files: CompanyManager.xml Log Message: Fixed port token removal phase (5, was 6) Index: CompanyManager.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/1856/CompanyManager.xml,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** CompanyManager.xml 20 Feb 2010 23:06:38 -0000 1.35 --- CompanyManager.xml 9 Mar 2010 21:18:03 -0000 1.36 *************** *** 62,66 **** <SpecialTokenLay class="rails.game.BonusToken" location="C14,D19,E18,F9,F17,H5,H7,H17,J5,J17,K2,M18,O18" connected="yes" extra="yes"> ! <BonusToken name="Port" value="20" removed="Phase:6"/> </SpecialTokenLay> </SpecialProperty> --- 62,66 ---- <SpecialTokenLay class="rails.game.BonusToken" location="C14,D19,E18,F9,F17,H5,H7,H17,J5,J17,K2,M18,O18" connected="yes" extra="yes"> ! <BonusToken name="Port" value="20" removed="Phase:5"/> </SpecialTokenLay> </SpecialProperty> |
Update of /cvsroot/rails/18xx/rails/game/correct In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv2993/rails/game/correct Modified Files: CorrectionModeAction.java CorrectionAction.java CashCorrectionManager.java CashCorrectionAction.java CorrectionManager.java Log Message: Improved GUI support for cash corrections and some refactoring of the corrections package. Index: CorrectionAction.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/correct/CorrectionAction.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CorrectionAction.java 3 Mar 2010 00:44:28 -0000 1.4 --- CorrectionAction.java 8 Mar 2010 20:33:21 -0000 1.5 *************** *** 11,19 **** public abstract class CorrectionAction extends PossibleAction { ! private CorrectionType correctionType; public CorrectionType getCorrectionType() { return correctionType; } public void setCorrectionType(CorrectionType correctionType) { this.correctionType = correctionType; --- 11,25 ---- public abstract class CorrectionAction extends PossibleAction { ! transient protected CorrectionType correctionType; ! protected String correctionName; public CorrectionType getCorrectionType() { return correctionType; } + + public String getCorrectionName() { + return correctionName; + } + public void setCorrectionType(CorrectionType correctionType) { this.correctionType = correctionType; Index: CashCorrectionAction.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/correct/CashCorrectionAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CashCorrectionAction.java 3 Mar 2010 00:44:28 -0000 1.1 --- CashCorrectionAction.java 8 Mar 2010 20:33:21 -0000 1.2 *************** *** 110,113 **** --- 110,117 ---- ClassNotFoundException { in.defaultReadObject(); + + if (Util.hasValue(correctionName)) + correctionType = CorrectionType.valueOf(correctionName); + if (Util.hasValue(cashHolderType) && Util.hasValue(cashHolderName)) { if (cashHolderType.equals("Player")) Index: CashCorrectionManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/correct/CashCorrectionManager.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CashCorrectionManager.java 3 Mar 2010 00:44:32 -0000 1.1 --- CashCorrectionManager.java 8 Mar 2010 20:33:21 -0000 1.2 *************** *** 3,6 **** --- 3,8 ---- import rails.game.*; import rails.game.move.CashMove; + import rails.game.move.StateChange; + import rails.game.state.BooleanState; import rails.util.*; import java.util.*; *************** *** 8,36 **** public final class CashCorrectionManager implements CorrectionManager { private GameManager gameManager; ! private CashCorrectionManager() { } public static CorrectionManager getInstance(GameManager gm) { ! CashCorrectionManager manager = new CashCorrectionManager(); ! manager.gameManager = gm; ! return manager; } public List<CorrectionAction> createCorrections() { List<CorrectionAction> actions = new ArrayList<CorrectionAction>(); ! List<Player> players = gameManager.getPlayers(); ! for(Player pl:players){ ! actions.add(new CashCorrectionAction(pl)); ! } ! List<PublicCompanyI> publicCompanies = gameManager.getAllPublicCompanies(); ! for(PublicCompanyI pc:publicCompanies){ ! if (pc.hasFloated()) ! actions.add(new CashCorrectionAction(pc)); } ! return actions; } --- 10,53 ---- public final class CashCorrectionManager implements CorrectionManager { + private static CashCorrectionManager ccm; + private GameManager gameManager; ! ! private BooleanState active; ! private CashCorrectionManager() { } public static CorrectionManager getInstance(GameManager gm) { ! if (ccm == null) { ! ccm = new CashCorrectionManager(); ! ccm.gameManager = gm; ! ccm.active = new BooleanState("CASH_CORRECT", false); ! } ! return ccm; } + public boolean isActive(){ + return active.booleanValue(); + } + + public List<CorrectionAction> createCorrections() { List<CorrectionAction> actions = new ArrayList<CorrectionAction>(); ! if (isActive()) { ! List<Player> players = gameManager.getPlayers(); ! for(Player pl:players){ ! actions.add(new CashCorrectionAction(pl)); ! } ! List<PublicCompanyI> publicCompanies = gameManager.getAllPublicCompanies(); ! for(PublicCompanyI pc:publicCompanies){ ! if (pc.hasFloated() && !pc.isClosed()) ! actions.add(new CashCorrectionAction(pc)); ! } } ! actions.add(new CorrectionModeAction(CorrectionType.CORRECT_CASH, isActive())); ! return actions; } *************** *** 40,44 **** boolean result = false; ! if (action instanceof CashCorrectionAction) { CashCorrectionAction cashAction=(CashCorrectionAction)action; --- 57,80 ---- boolean result = false; ! if (action instanceof CorrectionModeAction) { ! gameManager.getMoveStack().start(false); ! if (!isActive()) { ! String text = LocalText.getText("CorrectionModeActivate", ! gameManager.getCurrentPlayer().getName(), ! LocalText.getText("CORRECT_CASH") ! ); ! ReportBuffer.add(text); ! DisplayBuffer.add(text); ! } ! else { ! ReportBuffer.add(LocalText.getText("CorrectionModeDeactivate", ! gameManager.getCurrentPlayer().getName(), ! LocalText.getText("CORRECT_CASH")) ! ); ! } ! new StateChange(active, !isActive()); ! ! result = true; ! } else if (action instanceof CashCorrectionAction) { CashCorrectionAction cashAction=(CashCorrectionAction)action; *************** *** 48,51 **** --- 84,93 ---- String errMsg = null; + while (true) { + if (amount == 0 ) { + errMsg = + LocalText.getText("CorrectCashZero"); + break; + } if ((amount + ch.getCash()) < 0) { errMsg = *************** *** 55,58 **** --- 97,103 ---- Bank.format(-amount) ); + break; + } + break; } Index: CorrectionModeAction.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/correct/CorrectionModeAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CorrectionModeAction.java 3 Mar 2010 00:44:28 -0000 1.1 --- CorrectionModeAction.java 8 Mar 2010 20:33:17 -0000 1.2 *************** *** 14,25 **** */ ! public class CorrectionModeAction extends PossibleAction { public static final long serialVersionUID = 1L; ! // pre-conditions: type and state ! transient protected CorrectionType correction; ! protected String correctionName; ! protected boolean active; --- 14,22 ---- */ ! public class CorrectionModeAction extends CorrectionAction { public static final long serialVersionUID = 1L; ! // pre-conditions: state protected boolean active; *************** *** 30,45 **** */ public CorrectionModeAction(CorrectionType correction, boolean active) { ! this.correction = correction; correctionName = correction.name(); this.active = active; } - - public CorrectionType getCorrection() { - return correction; - } - - public String getCorrectionName() { - return correctionName; - } public boolean isActive() { --- 27,34 ---- */ public CorrectionModeAction(CorrectionType correction, boolean active) { ! this.correctionType = correction; correctionName = correction.name(); this.active = active; } public boolean isActive() { *************** *** 55,59 **** if (!(action instanceof CorrectionModeAction)) return false; CorrectionModeAction a = (CorrectionModeAction) action; ! return (a.correction == this.correction && a.active == this.active); } --- 44,48 ---- if (!(action instanceof CorrectionModeAction)) return false; CorrectionModeAction a = (CorrectionModeAction) action; ! return (a.correctionType == this.correctionType && a.active == this.active); } *************** *** 63,73 **** if (!acted) { b.append(" (not acted)"); ! if (correction != null) ! b.append(", correction="+correction); b.append(", current state="+active); } else { b.append(" (acted)"); ! if (correction != null) ! b.append(", correction="+correction); b.append(", previous state="+active); } --- 52,62 ---- if (!acted) { b.append(" (not acted)"); ! if (correctionType != null) ! b.append(", correctionType="+correctionType); b.append(", current state="+active); } else { b.append(" (acted)"); ! if (correctionType != null) ! b.append(", correctionType="+correctionType); b.append(", previous state="+active); } *************** *** 80,84 **** in.defaultReadObject(); if (Util.hasValue(correctionName)) ! correction = CorrectionType.valueOf(correctionName); } --- 69,73 ---- in.defaultReadObject(); if (Util.hasValue(correctionName)) ! correctionType = CorrectionType.valueOf(correctionName); } Index: CorrectionManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/correct/CorrectionManager.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CorrectionManager.java 3 Mar 2010 00:44:28 -0000 1.1 --- CorrectionManager.java 8 Mar 2010 20:33:21 -0000 1.2 *************** *** 13,16 **** --- 13,18 ---- public interface CorrectionManager { + public boolean isActive(); + public List<CorrectionAction> createCorrections(); |
From: Stefan F. <ste...@us...> - 2010-03-08 20:34:23
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv2993/rails/game Modified Files: GameManager.java Log Message: Improved GUI support for cash corrections and some refactoring of the corrections package. Index: GameManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/GameManager.java,v retrieving revision 1.86 retrieving revision 1.87 diff -C2 -d -r1.86 -r1.87 *** GameManager.java 6 Mar 2010 18:28:41 -0000 1.86 --- GameManager.java 8 Mar 2010 20:33:27 -0000 1.87 *************** *** 81,86 **** = new EnumMap<GameDef.Parm, Object>(GameDef.Parm.class); ! protected EnumSet<CorrectionType> activeCorrections ! = EnumSet.noneOf(CorrectionType.class); /** --- 81,86 ---- = new EnumMap<GameDef.Parm, Object>(GameDef.Parm.class); ! // protected EnumSet<CorrectionType> activeCorrections ! // = EnumSet.noneOf(CorrectionType.class); /** *************** *** 817,836 **** // If any Correction is active ! if (!activeCorrections.isEmpty()) { ! // remove all other actions ! possibleActions.clear(); ! // and set GuiHints for corrections - removed } // CorrectionMode Actions ! EnumSet<CorrectionType> possibleCorrections = EnumSet.allOf(CorrectionType.class); ! for (CorrectionType ct:possibleCorrections) ! possibleActions.add( ! new CorrectionModeAction(ct, activeCorrections.contains(ct))); // Correction Actions ! for (CorrectionType ct:activeCorrections) { ! CorrectionManager cm = ct.getManager(this); ! possibleActions.addAll(cm.createCorrections()); } } --- 817,843 ---- // If any Correction is active ! for (CorrectionType ct:EnumSet.allOf(CorrectionType.class)) { ! CorrectionManager cm = ct.getManager(this); ! if (cm.isActive()) { ! possibleActions.clear(); ! } ! } + // if (!activeCorrections.isEmpty()) { + // // remove all other actions + // possibleActions.clear(); + // // and set GuiHints for corrections - removed + // } // CorrectionMode Actions ! // EnumSet<CorrectionType> possibleCorrections = EnumSet.allOf(CorrectionType.class); ! // for (CorrectionType ct:possibleCorrections) ! // possibleActions.add( ! // new CorrectionModeAction(ct, activeCorrections.contains(ct))); // Correction Actions ! for (CorrectionType ct:EnumSet.allOf(CorrectionType.class)) { ! CorrectionManager cm = ct.getManager(this); ! possibleActions.addAll(cm.createCorrections()); } } *************** *** 840,865 **** boolean result = false; ! if (a instanceof CorrectionModeAction) { ! CorrectionModeAction cma = (CorrectionModeAction)a; ! CorrectionType ct = cma.getCorrection(); ! moveStack.start(false); ! new SetChange<CorrectionType> ! (activeCorrections, ct, !cma.isActive()); ! if (!cma.isActive()) { ! String text = LocalText.getText("CorrectionModeActivate", ! getCurrentPlayer().getName(), ! LocalText.getText(ct.name()) ! ); ! ReportBuffer.add(text); ! DisplayBuffer.add(text); ! } ! else { ! ReportBuffer.add(LocalText.getText("CorrectionModeDeactivate", ! getCurrentPlayer().getName(), ! LocalText.getText(ct.name()) ! )); ! } ! result = true; ! } if (a instanceof CorrectionAction) { --- 847,872 ---- boolean result = false; ! // if (a instanceof CorrectionModeAction) { ! // CorrectionModeAction cma = (CorrectionModeAction)a; ! // CorrectionType ct = cma.getCorrection(); ! // moveStack.start(false); ! // new SetChange<CorrectionType> ! // (activeCorrections, ct, !cma.isActive()); ! // if (!cma.isActive()) { ! // String text = LocalText.getText("CorrectionModeActivate", ! // getCurrentPlayer().getName(), ! // LocalText.getText(ct.name()) ! // ); ! // ReportBuffer.add(text); ! // DisplayBuffer.add(text); ! // } ! // else { ! // ReportBuffer.add(LocalText.getText("CorrectionModeDeactivate", ! // getCurrentPlayer().getName(), ! // LocalText.getText(ct.name()) ! // )); ! // } ! // result = true; ! // } if (a instanceof CorrectionAction) { |
From: Stefan F. <ste...@us...> - 2010-03-08 20:34:06
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv2993/rails/ui/swing Modified Files: GameStatus.java StatusWindow.java GameUIManager.java Log Message: Improved GUI support for cash corrections and some refactoring of the corrections package. Index: StatusWindow.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/StatusWindow.java,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** StatusWindow.java 3 Mar 2010 00:44:38 -0000 1.38 --- StatusWindow.java 8 Mar 2010 20:33:27 -0000 1.39 *************** *** 344,348 **** } ! public void setupFor(RoundI round) { currentRound = round; --- 344,348 ---- } ! public boolean setupFor(RoundI round) { currentRound = round; *************** *** 358,370 **** disableCheckBoxMenuItem(MARKET_CMD); } - } - public void updateStatus() { - // correction actions always possible ! gameStatus.initCashCorrectionActions(); ! if (!(currentRound instanceof StockRound)) { ! return; } --- 358,370 ---- disableCheckBoxMenuItem(MARKET_CMD); } // correction actions always possible ! return gameStatus.initCashCorrectionActions(); ! } ! ! public void updateStatus() { ! ! if (!(currentRound instanceof StockRound)) { return; } Index: GameStatus.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/GameStatus.java,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** GameStatus.java 5 Mar 2010 20:50:35 -0000 1.42 --- GameStatus.java 8 Mar 2010 20:33:21 -0000 1.43 *************** *** 826,830 **** * Initializes the CashCorrectionActions */ ! public void initCashCorrectionActions() { // Clear all buttons --- 826,830 ---- * Initializes the CashCorrectionActions */ ! public boolean initCashCorrectionActions() { // Clear all buttons *************** *** 855,858 **** --- 855,860 ---- } + return (actions != null && !actions.isEmpty()); + } Index: GameUIManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/GameUIManager.java,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** GameUIManager.java 3 Mar 2010 00:44:50 -0000 1.41 --- GameUIManager.java 8 Mar 2010 20:33:27 -0000 1.42 *************** *** 333,336 **** --- 333,342 ---- } + boolean correctionOverride = statusWindow.setupFor(currentRound); + + if (correctionOverride) { + log.debug("Correction overrides active window: status window active"); + } + // Active window settings are handled last. // Side effects: the active window is made visible and put on top. *************** *** 341,345 **** startRoundWindow.toFront(); ! } else if (uiHints.getActivePanel() == GuiDef.Panel.STATUS) { log.debug("Entering Stock Round UI type"); --- 347,351 ---- startRoundWindow.toFront(); ! } else if (uiHints.getActivePanel() == GuiDef.Panel.STATUS || correctionOverride) { log.debug("Entering Stock Round UI type"); *************** *** 349,353 **** statusWindow.toFront(); ! } else if (uiHints.getActivePanel() == GuiDef.Panel.MAP) { log.debug("Entering Operating Round UI type "); --- 355,359 ---- statusWindow.toFront(); ! } else if (uiHints.getActivePanel() == GuiDef.Panel.MAP && !correctionOverride) { log.debug("Entering Operating Round UI type "); *************** *** 356,364 **** orWindow.toFront(); } ! ! ! ! statusWindow.setupFor(currentRound); ! // Update the currently visible round window // "Switchable" rounds will be handled from subclasses of this class. --- 362,367 ---- orWindow.toFront(); } ! ! // Update the currently visible round window // "Switchable" rounds will be handled from subclasses of this class. *************** *** 370,373 **** --- 373,377 ---- } else if (StatusWindow.class.isAssignableFrom(activeWindow.getClass())) { + // } else { log.debug("Updating Stock (status) round window"); |
From: Stefan F. <ste...@us...> - 2010-03-08 20:34:03
|
Update of /cvsroot/rails/18xx In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv2993 Modified Files: LocalisedText.properties Log Message: Improved GUI support for cash corrections and some refactoring of the corrections package. Index: LocalisedText.properties =================================================================== RCS file: /cvsroot/rails/18xx/LocalisedText.properties,v retrieving revision 1.116 retrieving revision 1.117 diff -C2 -d -r1.116 -r1.117 *** LocalisedText.properties 4 Mar 2010 22:08:48 -0000 1.116 --- LocalisedText.properties 8 Mar 2010 20:33:37 -0000 1.117 *************** *** 134,137 **** --- 134,138 ---- CorrectCashError=Cash correction not possible for {0}: {1} CorrectCashToolTip=Click here to adjust cash position + CorrectCashZero=Impossible for zero amount CorrectionMainMenu=Correction CorrectionModeActivate={1} activated by {0} |
From: Stefan F. <ste...@us...> - 2010-03-08 20:31:27
|
Update of /cvsroot/rails/18xx/data/18Kaas In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv2851/data/18Kaas Modified Files: Game.xml Log Message: Added support for game option additional 6 train to 18Kaas. Index: Game.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/18Kaas/Game.xml,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Game.xml 4 Feb 2010 22:22:59 -0000 1.12 --- Game.xml 8 Mar 2010 20:31:01 -0000 1.13 *************** *** 3,6 **** --- 3,7 ---- <Component name="GameManager" class="rails.game.GameManager"> <Game name="18Kaas"/> + <GameOption name="WithOptional6Train" type="toggle" default="no"/> <GameOption name="UnlimitedTiles" type="toggle" default="no"/> <GameOption name="LeaveAuctionOnPass" type="toggle" default="no"/> *************** *** 56,61 **** rustedTrain="2"/> <Train name="5" majorStops="5" cost="450" amount="3" startPhase="5"/> ! <Train name="6" majorStops="6" cost="630" amount="2" startPhase="6" ! rustedTrain="3" releasedTrain="D"/> <Train name="D" majorStops="99" cost="1100" amount="6" startPhase="D" rustedTrain="4"> --- 57,69 ---- rustedTrain="2"/> <Train name="5" majorStops="5" cost="450" amount="3" startPhase="5"/> ! <Train name="6" majorStops="6" cost="630" startPhase="6" ! rustedTrain="3" releasedTrain="D"> ! <IfOption name="WithOptional6Train" value="yes"> ! <Attributes amount="3"/> ! </IfOption> ! <IfOption name="WithOptional6Train" value="no"> ! <Attributes amount="2"/> ! </IfOption> ! </Train> <Train name="D" majorStops="99" cost="1100" amount="6" startPhase="D" rustedTrain="4"> |
From: Erik V. <ev...@us...> - 2010-03-06 18:30:07
|
Update of /cvsroot/rails/18xx/data/1835 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv920/data/1835 Modified Files: CompanyManager.xml Log Message: Companies will lay home base when floated Index: CompanyManager.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/1835/CompanyManager.xml,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** CompanyManager.xml 5 Mar 2010 20:22:48 -0000 1.30 --- CompanyManager.xml 6 Mar 2010 18:29:56 -0000 1.31 *************** *** 7,10 **** --- 7,13 ---- <Certificate type="President" shares="1"/> <StockPrice market="no"/> + <BaseTokens> + <HomeBase lay="whenFloated"/> + </BaseTokens> <Payout split="always"/> <Trains number="2,2,1" mandatory="no"/> *************** *** 23,27 **** <BaseTokens> <LayCost method="distance" cost="20"/> ! </BaseTokens> <Capitalisation type="incremental"/> <Trains number="4,4,3,2"/> --- 26,31 ---- <BaseTokens> <LayCost method="distance" cost="20"/> ! <HomeBase lay="whenFloated"/> ! </BaseTokens> <Capitalisation type="incremental"/> <Trains number="4,4,3,2"/> |
From: Erik V. <ev...@us...> - 2010-03-06 18:28:50
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv837/rails/game Modified Files: OperatingRound.java GameManager.java Log Message: OR start changed: all floated companies will run, even if the start package has not been sold yet (as can happen in 1835). Index: OperatingRound.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/OperatingRound.java,v retrieving revision 1.113 retrieving revision 1.114 diff -C2 -d -r1.113 -r1.114 *** OperatingRound.java 5 Mar 2010 20:49:41 -0000 1.113 --- OperatingRound.java 6 Mar 2010 18:28:41 -0000 1.114 *************** *** 12,16 **** import rails.game.state.EnumState; import rails.game.state.IntegerState; - //import rails.game.state.GenericState; import rails.util.LocalText; --- 12,15 ---- *************** *** 104,108 **** } ! public void start(boolean operate) { thisOrNumber = gameManager.getORId(); --- 103,107 ---- } ! public void start() { thisOrNumber = gameManager.getORId(); *************** *** 127,131 **** } ! if (operate) { StringBuilder msg = new StringBuilder(); --- 126,130 ---- } ! if (operatingCompanyArray.length > 0) { StringBuilder msg = new StringBuilder(); *************** *** 141,152 **** } ! if (operatingCompanyArray.length > 0) { ! ! if (setNextOperatingCompany(true)){ ! setStep(GameDef.OrStep.INITIAL); ! return; ! } } ! } --- 140,147 ---- } ! if (setNextOperatingCompany(true)){ ! setStep(GameDef.OrStep.INITIAL); } ! return; } Index: GameManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/GameManager.java,v retrieving revision 1.85 retrieving revision 1.86 diff -C2 -d -r1.85 -r1.86 *** GameManager.java 3 Mar 2010 00:45:06 -0000 1.85 --- GameManager.java 6 Mar 2010 18:28:41 -0000 1.86 *************** *** 606,610 **** OperatingRound or = createRound(operatingRoundClass); if (operate) absoluteORNumber.add(1); ! or.start(operate); } --- 606,610 ---- OperatingRound or = createRound(operatingRoundClass); if (operate) absoluteORNumber.add(1); ! or.start(); } |
From: Erik V. <ev...@us...> - 2010-03-05 22:38:39
|
Update of /cvsroot/rails/18xx/rails/game/specific/_1835 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24719/rails/game/specific/_1835 Modified Files: PrussianFormationRound.java Log Message: More aspects of Prussian formation Index: PrussianFormationRound.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/specific/_1835/PrussianFormationRound.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** PrussianFormationRound.java 4 Mar 2010 22:08:24 -0000 1.4 --- PrussianFormationRound.java 5 Mar 2010 22:38:31 -0000 1.5 *************** *** 2,11 **** --- 2,17 ---- import java.util.ArrayList; + import java.util.HashMap; import java.util.List; + import java.util.Map; + import java.util.TreeSet; import rails.common.GuiDef; import rails.game.*; + import rails.game.action.ExchangeableToken; import rails.game.action.PossibleAction; + import rails.game.move.CashMove; import rails.game.special.ExchangeForShare; + import rails.game.special.SellBonusToken; import rails.game.special.SpecialPropertyI; import rails.util.LocalText; *************** *** 171,175 **** // Execute prussian.start(); - prussian.setFloated(); ((GameManager_1835)gameManager).setPrussianFormationStartingPlayer(currentPlayer); String message = LocalText.getText("START_MERGED_COMPANY", --- 177,180 ---- *************** *** 180,183 **** --- 185,189 ---- executeExchange (action.getFoldedCompanies(), true); + prussian.setFloated(); return true; *************** *** 219,223 **** president); cert.moveTo(currentPlayer.getPortfolio()); ! company.setClosed(); ReportBuffer.add(LocalText.getText("MERGE_MINOR_LOG", currentPlayer.getName(), --- 225,229 ---- president); cert.moveTo(currentPlayer.getPortfolio()); ! //company.setClosed(); ReportBuffer.add(LocalText.getText("MERGE_MINOR_LOG", currentPlayer.getName(), *************** *** 234,240 **** --- 240,301 ---- ipo.getName(), company.getName() )); + + + if (company instanceof PublicCompanyI) { + + PublicCompanyI minor = (PublicCompanyI) company; + + // Replace the home token + BaseToken token = (BaseToken) minor.getTokens().get(0); + City city = (City) token.getHolder(); + MapHex hex = city.getHolder(); + token.moveTo(minor); + if (!hex.hasTokenOfCompany(prussian) && hex.layBaseToken(prussian, city.getNumber())) { + /* TODO: the false return value must be impossible. */ + ReportBuffer.add(LocalText.getText("ExchangesBaseToken", + PR_ID, minor.getName(), + city.getName())); + + prussian.layBaseToken(hex, 0); + } + + // Move any cash + if (minor.getCash() > 0) { + new CashMove (minor, prussian, minor.getCash()); + } + + // Move any trains + List<TrainI> trains = new ArrayList<TrainI> (minor.getPortfolio().getTrainList()); + for (TrainI train : trains) { + train.moveTo(prussian.getPortfolio()); + } + } + + // Close the merged companies + company.setClosed(); + } + + // Check the trains, autodiscard any excess non-permanent trains + int trainLimit = prussian.getTrainLimit(gameManager.getCurrentPlayerIndex()); + List<TrainI> trains = prussian.getPortfolio().getTrainList(); + if (prussian.getNumberOfTrains() > trainLimit) { + ReportBuffer.add(""); + int numberToDiscard = prussian.getNumberOfTrains() - trainLimit; + List<TrainI> trainsToDiscard = new ArrayList<TrainI>(4); + for (TrainI train : trains) { + if (!train.getType().isPermanent()) { + trainsToDiscard.add(train); + if (--numberToDiscard == 0) break; + } + } + for (TrainI train : trainsToDiscard) { + train.moveTo(pool); + ReportBuffer.add(LocalText.getText("CompanyDiscardsTrain", + PR_ID, train.getName())); + } } } + public static boolean prussianIsComplete(GameManagerI gameManager) { List<PublicCertificateI> unissued |
From: Erik V. <ev...@us...> - 2010-03-05 20:51:24
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv3172/rails/ui/swing Modified Files: ORUIManager.java Log Message: Method name changes related to limiting forced train buy message Index: ORUIManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORUIManager.java,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** ORUIManager.java 2 Mar 2010 21:14:04 -0000 1.60 --- ORUIManager.java 5 Mar 2010 20:51:15 -0000 1.61 *************** *** 1269,1273 **** // TEMPORARY extra message about having no route for (BuyTrain bTrain : possibleActions.getType(BuyTrain.class)) { ! if (bTrain.hasNoTrains()) { b.append("<br><font color=\"red\">"); b.append(LocalText.getText("MustBuyTrainIfNoRoute")); --- 1269,1273 ---- // TEMPORARY extra message about having no route for (BuyTrain bTrain : possibleActions.getType(BuyTrain.class)) { ! if (bTrain.isForcedBuyIfNoRoute()) { b.append("<br><font color=\"red\">"); b.append(LocalText.getText("MustBuyTrainIfNoRoute")); |