ad a new sea zone to an existing map
-
This thread should discuss how to change a xml file and the map to make this idea work.
the base is the 1941 anniversary game, world_war_ii_v3
I tried to extend the map by a new sea zone
that sea zone will be nr. 66, it will be located south of Italy and contain the islands Sicily and Malta.
so far my xml was extend by me with the following code lines:
<territory name="Sicily"/>
<territory name="Malta"/>
<territoryOwner territory="Sicily" owner="Italians"/>
<attachment name="territoryAttachment" attachTo="Sicily" javaClass="games.strategy.triplea.attachments.TerritoryAttachment" type="territory">
<option name="production" value="1"/>
</attachment>
<resourceGiven player="Italians" resource="PUs" quantity="11"/>
<unitPlacement unitType="infantry" territory="Sicily" quantity="1" owner="Italians"/>
<attachment name="territoryAttachment" attachTo="Malta" javaClass="games.strategy.triplea.attachments.TerritoryAttachment" type="territory">
<option name="production" value="0"/>
</attachment
<territoryOwner territory="Malta" owner="British"/>
<connection t1="66 Sea Zone" t2="Sicily"/>
<connection t1="66 Sea Zone" t2="Malta"/>
<connection t1="66 Sea Zone" t2="14 Sea Zone"/>
<connection t1="66 Sea Zone" t2="13 Sea Zone"/>
<connection t1="Sicily" t2="66 Sea Zone"/>
<connection t1="Malta" t2="66 Sea Zone"/>hope this was so far fine, now the important questions:
what has to be done to see this on the map, which files have to be manipulated?
so far I added to the world_war_ii_v4\map\misc
a Malta.pgn
a Sicily.pgn
a b66.pgnbut I did not do anything in the baseTiles or reliefTiles folders. I need some help with this.
-
You'll have to reconstruct the base and relief maps with the map utilities, then add the zone, then modify the centers, polygons, and place files, then break the maps back into base and relief tiles. It sounds like a lot of work, and it kinda is, but once you get the hang of the tools its not too bad. Here is a link to get you started: map maker stuff
-
Hi @Numetalfan, I hope you had time to read the information @Michael-Hoover was so kind to point out to you. It is very informative but can feel very dauting. But in reality, its not that hard when you have defined what you want. You want to break up 14 Sea Zone into 2 pieces.
First look into you map directory and you should fine a base_image.png. This is the base image used, so the baseTiles do not have to be reconstructed. So lets reconstruct the reliefTiles. Run TripleA and select "Run the Map Creator". Next select the button "Select Map Folder", setting this make things a lot easer, and select the "map" folder under "world_war_ii_v4"
Next select "Other: Optional Things" and "Run the Tile Image Reconstructor". Select the "reliefTiles" directory, and you can save as the default 'map.png'.
Now to edit these images. I use paint.net. Load in the base_image, zoom in on the area around Italy, and drew in a 1 px line over Sicily from 13 Sea Zone to Italy. Save this and then reduced the image size to 248x120 and saved that as smallMap.jpeg. Then repeated the process with map.png. I also add the shading over and under the border. With both images edited, the can be broken down into their proper directories. So back to TripleA and select "Run the Tile Image Breaker", saving base_image.png to baseTiles and map.png to reliefTiles.
After that select "Run the Center Picker" using base_image and yes to the polygons file. Under 'File' I loaded the centers.txt. Located 14 Sea Zone, deleted it and replaced it with 66 Sea Zone. The new territory I named 14 Sea Zone. Save and exit.
Select "Run the Polygon Grabber" and yes to the centers file, the loaded the polygons file under 'File'. Selected 66 Sea Zone, then 14 Sea Zone. Then under 'Edit' selected "Island Mode". Selected Italy and holding ctrl, select the four islands around Italy, including Sicily and Malta,
Save and exit. Now the "Run the Placement Picker". We are only going to do sea zones 14 and 66, so you don't want to run the Automatic Picker. 1 for scale, 48 for height and width, and yes for polygons file. Load the place.txt file. Select 14 Sea Zone and delete all the places, and place new one, ctrl right click to save. The select 16 Sea Zone, place new squares, ctrl right click to save. And Save and exit.
Now on the left select "Step 3: Game XML" and "Run the Connection Finder". There are only 7 new connection and one territory:
<territory name="66 Sea Zone" water="true"/> <connection t1="13 Sea Zone" t2="66 Sea Zone"/> <connection t1="14 Sea Zone" t2="66 Sea Zone"/> <connection t1="15 Sea Zone" t2="66 Sea Zone"/> <connection t1="16 Sea Zone" t2="66 Sea Zone"/> <connection t1="66 Sea Zone" t2="Balkans"/> <connection t1="66 Sea Zone" t2="Italy"/> <connection t1="66 Sea Zone" t2="Libya"/>
Now test you map and see what happens.
Cheers...
-
Thanks for the advice.
I am on holidays right now but I started that.
I will report when any problems occur. -
Jul 12, 2020 10:05:04 PM games.strategy.engine.framework.GameRunner lambda$start$0
SCHWERWIEGEND: String index out of range: -1
java.lang.StringIndexOutOfBoundsException: String index out of range: -1this happend last step, when I wanted to load the place.txt within the placement picker
what could this mean? -
my map looks a little different:
there is on the western side of Italy a SZ 67 and a SZ 66
SZ 66 contains Sicily and Malta.Those islands have to be treated independently from Italy.
-
@Numetalfan I do not know what could have caused this error. I'm assuming that everything else went ok. Also that you are modifying 14 Sea Zone, the one around Italy. If this is true, then you could load place.txt into an editor, like Notepad++, locate the 14 Sea Zone line and remove the whole line. Then try to load place.txt into the map editor.
Just trying.
Cheers...
-
hi,
that was true, after that manipulation I could start the placement picker.
However something is wrong.In neither place.txt not name_place.txt nor polygons.txt a sea zone 66 appears !
Just in the centers.txt I find:
Sicily (1098,780)
67 Sea Zone (1048,700)
14 Sea Zone (1197,775)
69 Sea Zone (1277,234)
68 Sea Zone (1449,620)
66 Sea Zone (1094,803)
Malta (1126,808)yet - nothing else in the centers.txt
The other sea zone are also new one created by me. so far ok with that.what went wrong??
Should I copy those coordinates from centers.txt to the other files via notepad or run some map creating tools to do so? -
Hi @Numetalfan
You created more Sea Zone's then I described. After completing the map modifications, the 'Center Picker' will need to be run. Load the old centers.txt file and remove all the centers (it looks like there are to many centers in the new sea zone, remove old and remark) that were modified, and select centers for the both new and old territories/sea zones.
Then run the 'Polygon Grabber'. Load the old polygons.txt file. You have to select all the old and new territories/sea zones one at a time and insure that the area selected is what you want. Remember Sicily and Malta were part of Italy.
Last would be the 'Placement Picker', although I think Malta would be to small for a placement, one square will cover the whole island.
One step at a time. Slow and easy. You catch on soon!
Cheers...
-
How are the new territories? This is what I came up with:
The labels don't look right. Its art...And with a couple of units:
Keep askin'. Keep tryin'. Keep Moding!
Cheers...
-
I feel I am close to the solution, but last step, placement picker, doesn't work:
this happens when I want to load the place.txt.
for a check I added all relevant files as attachments polygons.txt place.txt centers.txt
what might the error be?
-
In the place.txt file both '14 Sea Zone' and 'Gibraltar' have bad entries, and need to be deleted from the file before it will load. You can use any text editor to do this.
In polygons.txt there is no entry for '68 Sea Zone' or '69 Sea zone'. When you run the Polygon Grabber Sea Zones 5 and 16 will need to be redone to make room for these territories.
Always trying to help!
Cheers...
-
Hi,
I am back and started that mod making again.
This time my new sea zone 68 makes some trouble.
in the centers.txt it's fine: 68 Sea Zone (1436,613)
as well in the polygons.txt:
68 Sea Zone < (1445,580) (1445,580) (1446,581) (1452,581) (1455,584) (1456,584) (1457,585) (1466,585) (1467,586) (1469,586) (1470,587) (1472,587) (1473,588) (1474,588) (1476,590) (1477,590) (1478,591) (1479,591) (1480,592) (1482,592) (1484,594) (1485,594) (1486,595) (1487,595) (1488,596) (1489,596) (1490,597) (1493,597) (1498,602) (1499,602) (1500,603) (1502,603) (1503,604) (1514,604) (1515,605) (1517,605) (1518,606) (1520,606) (1521,607) (1522,607) (1533,618) (1533,619) (1534,620) (1534,625) (1533,626) (1533,630) (1534,631) (1534,633) (1531,636) (1530,636) (1529,637) (1529,638) (1527,640) (1525,640) (1523,642) (1523,643) (1522,644) (1521,644) (1519,646) (1518,646) (1516,648) (1516,649) (1515,650) (1512,650) (1511,651) (1505,651) (1500,656) (1495,656) (1494,657) (1493,657) (1491,659) (1485,659) (1484,658) (1471,658) (1470,657) (1465,657) (1464,658) (1462,658) (1461,659) (1458,659) (1457,658) (1456,658) (1455,657) (1455,656) (1454,655) (1453,655) (1452,654) (1443,654) (1442,653) (1441,653) (1440,652) (1440,651) (1439,650) (1438,650) (1437,649) (1430,649) (1427,652) (1421,652) (1420,653) (1419,653) (1418,654) (1417,654) (1415,656) (1408,656) (1407,657) (1405,657) (1404,656) (1404,605) (1405,604) (1406,604) (1407,603) (1407,602) (1408,601) (1408,600) (1413,595) (1414,595) (1416,593) (1416,592) (1417,591) (1417,589) (1418,588) (1420,588) (1424,584) (1429,584) (1430,583) (1432,583) (1434,581) (1434,580) (1435,579) (1435,578) (1436,577) (1439,577) (1440,576) (1440,573) (1439,572) (1433,572) (1432,573) (1431,573) (1429,575) (1429,576) (1428,577) (1426,577) (1424,579) (1418,579) (1416,577) (1415,577) (1414,576) (1414,575) (1413,574) (1413,573) (1410,570) (1409,570) (1408,569) (1407,569) (1406,568) (1399,568) (1398,567) (1398,565) (1399,564) (1409,564) (1410,563) (1411,563) (1412,562) (1412,560) (1413,559) (1414,559) (1415,558) (1416,558) (1421,553) (1422,553) (1423,552) (1427,552) (1428,551) (1429,551) (1432,548) (1437,548) (1439,546) (1439,543) (1442,540) (1443,540) (1445,538) (1449,538) (1454,533) (1454,532) (1457,529) (1462,529) (1463,530) (1463,532) (1459,536) (1459,538) (1458,539) (1458,540) (1457,541) (1454,541) (1450,545) (1450,548) (1451,549) (1453,549) (1455,551) (1459,551) (1460,552) (1460,553) (1458,555) (1456,555) (1455,556) (1455,561) (1454,562) (1453,562) (1452,563) (1452,564) (1451,565) (1451,571) (1449,573) (1444,573) (1443,574) (1443,578) >
when I finally start the placement picker , however, it looks like that:
which means the place.txt is wrong.Why? In the polygons grabber everything is fine:
what do I miss? What has to be done?
-
The 'Placement Picker' was able to run, so you are making headway. Don't worry its all a learn process!! As to your current problem, when you ran the 'Polygon Grabber' for '68 Sea Zone' did you also reselect '16 Sea Zone' to resize it to its new size. It looks like it '16 Sea Zone' is still all of the "Black Sea" while '68 Sea Zone' is the western half.
Helping hands.
Cheers...
-
Hi,
I found that, you were right, bu now everything worked well with the placement picker.
all my files seem well, I checked all my territories in the place, centers and polygons files. however, there is a final error message:ul 23, 2020 6:44:01 PM games.strategy.engine.framework.GameRunner lambda$start$0
SCHWERWIEGEND: String index out of range: -1
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at games.strategy.util.PointFileReaderWriter.readMultiple(PointFileReaderWriter.java:244)
at games.strategy.util.PointFileReaderWriter.lambda$readOneToManyPlacements$6(PointFileReaderWriter.java:199)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEachOrdered(Unknown Source)
at games.strategy.util.PointFileReaderWriter.readStream(PointFileReaderWriter.java:263)
at games.strategy.util.PointFileReaderWriter.readOneToManyPlacements(PointFileReaderWriter.java:197)
at tools.map.making.PlacementPicker$PlacementPickerFrame.loadPlacements(PlacementPicker.java:534)
at tools.map.making.PlacementPicker$PlacementPickerFrame.lambda$new$0(PlacementPicker.java:356)
at games.strategy.ui.SwingAction$1.actionPerformed(SwingAction.java:65)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)Jul 23, 2020 8:18:11 PM games.strategy.triplea.ui.mapdata.MapData <init>
SCHWERWIEGEND: Error reading map.properties
java.io.FileNotFoundException: map.properties
at games.strategy.triplea.ui.mapdata.MapData.lambda$requiredResource$2(MapData.java:194)
at java.util.Optional.orElseThrow(Unknown Source)
at games.strategy.triplea.ui.mapdata.MapData.lambda$requiredResource$3(MapData.java:194)
at games.strategy.triplea.ui.mapdata.MapData.<init>(MapData.java:175)
at games.strategy.triplea.ui.HeadedUiContext.internalSetMapDir(HeadedUiContext.java:79)
at games.strategy.triplea.ui.AbstractUiContext.setDefaultMapDir(AbstractUiContext.java:107)
at games.strategy.triplea.ui.TripleAFrame.create(TripleAFrame.java:232)
at games.strategy.triplea.TripleA.startGame(TripleA.java:105)
at games.strategy.engine.framework.startup.launcher.LocalLauncher.loadGame(LocalLauncher.java:60)
at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInNewThread(LocalLauncher.java:39)
at games.strategy.engine.framework.startup.launcher.AbstractLauncher.lambda$launch$0(AbstractLauncher.java:51)
at java.lang.Thread.run(Unknown Source)Jul 23, 2020 8:18:11 PM games.strategy.engine.framework.startup.launcher.LocalLauncher loadGame
SCHWERWIEGEND: Failed to start game
java.lang.IllegalStateException: No data of type place for territory: Sicily
No data of type place for territory: Malta
No data of type place for territory: 16 Sea Zone
No data of type place for territory: 66 Sea Zone
No data of type place for territory: 67 Sea Zone
No data of type place for territory: 68 Sea Zone
No data of type place for territory: 69 Sea Zoneat games.strategy.triplea.ui.mapdata.MapData.verifyKeys(MapData.java:584) at games.strategy.triplea.ui.mapdata.MapData.verify(MapData.java:561) at games.strategy.triplea.ui.TripleAFrame.create(TripleAFrame.java:233) at games.strategy.triplea.TripleA.startGame(TripleA.java:105) at games.strategy.engine.framework.startup.launcher.LocalLauncher.loadGame(LocalLauncher.java:60) at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInNewThread(LocalLauncher.java:39) at games.strategy.engine.framework.startup.launcher.AbstractLauncher.lambda$launch$0(AbstractLauncher.java:51) at java.lang.Thread.run(Unknown Source)
Jul 23, 2020 8:50:50 PM games.strategy.triplea.ui.mapdata.MapData <init>
SCHWERWIEGEND: Error reading map.properties
java.io.FileNotFoundException: map.properties
at games.strategy.triplea.ui.mapdata.MapData.lambda$requiredResource$2(MapData.java:194)
at java.util.Optional.orElseThrow(Unknown Source)
at games.strategy.triplea.ui.mapdata.MapData.lambda$requiredResource$3(MapData.java:194)
at games.strategy.triplea.ui.mapdata.MapData.<init>(MapData.java:175)
at games.strategy.triplea.ui.HeadedUiContext.internalSetMapDir(HeadedUiContext.java:79)
at games.strategy.triplea.ui.AbstractUiContext.setDefaultMapDir(AbstractUiContext.java:107)
at games.strategy.triplea.ui.TripleAFrame.create(TripleAFrame.java:232)
at games.strategy.triplea.TripleA.startGame(TripleA.java:105)
at games.strategy.engine.framework.startup.launcher.LocalLauncher.loadGame(LocalLauncher.java:60)
at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInNewThread(LocalLauncher.java:39)
at games.strategy.engine.framework.startup.launcher.AbstractLauncher.lambda$launch$0(AbstractLauncher.java:51)
at java.lang.Thread.run(Unknown Source)Jul 23, 2020 8:50:50 PM games.strategy.engine.framework.startup.launcher.LocalLauncher loadGame
SCHWERWIEGEND: Failed to start game
java.lang.IllegalStateException: Missing map.width or map.height in map.properties
at games.strategy.triplea.ui.mapdata.MapData.getMapDimensions(MapData.java:688)
at games.strategy.triplea.ui.TripleAFrame.<init>(TripleAFrame.java:280)
at games.strategy.triplea.ui.TripleAFrame.lambda$create$0(TripleAFrame.java:237)
at games.strategy.ui.SwingAction.lambda$invokeAndWaitResult$1(SwingAction.java:114)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)Jul 23, 2020 8:56:18 PM games.strategy.triplea.ui.mapdata.MapData <init>
SCHWERWIEGEND: Error reading map.properties
java.io.FileNotFoundException: map.properties
at games.strategy.triplea.ui.mapdata.MapData.lambda$requiredResource$2(MapData.java:194)
at java.util.Optional.orElseThrow(Unknown Source)
at games.strategy.triplea.ui.mapdata.MapData.lambda$requiredResource$3(MapData.java:194)
at games.strategy.triplea.ui.mapdata.MapData.<init>(MapData.java:175)
at games.strategy.triplea.ui.HeadedUiContext.internalSetMapDir(HeadedUiContext.java:79)
at games.strategy.triplea.ui.AbstractUiContext.setDefaultMapDir(AbstractUiContext.java:107)
at games.strategy.triplea.ui.TripleAFrame.create(TripleAFrame.java:232)
at games.strategy.triplea.TripleA.startGame(TripleA.java:105)
at games.strategy.engine.framework.startup.launcher.LocalLauncher.loadGame(LocalLauncher.java:60)
at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInNewThread(LocalLauncher.java:39)
at games.strategy.engine.framework.startup.launcher.AbstractLauncher.lambda$launch$0(AbstractLauncher.java:51)
at java.lang.Thread.run(Unknown Source)Jul 23, 2020 8:56:18 PM games.strategy.engine.framework.startup.launcher.LocalLauncher loadGame
SCHWERWIEGEND: Failed to start game
java.lang.IllegalStateException: Missing map.width or map.height in map.properties
at games.strategy.triplea.ui.mapdata.MapData.getMapDimensions(MapData.java:688)
at games.strategy.triplea.ui.TripleAFrame.<init>(TripleAFrame.java:280)
at games.strategy.triplea.ui.TripleAFrame.lambda$create$0(TripleAFrame.java:237)
at games.strategy.ui.SwingAction.lambda$invokeAndWaitResult$1(SwingAction.java:114)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)Jul 23, 2020 9:08:02 PM games.strategy.triplea.ui.mapdata.MapData <init>
SCHWERWIEGEND: Error reading map.properties
java.io.FileNotFoundException: map.properties
at games.strategy.triplea.ui.mapdata.MapData.lambda$requiredResource$2(MapData.java:194)
at java.util.Optional.orElseThrow(Unknown Source)
at games.strategy.triplea.ui.mapdata.MapData.lambda$requiredResource$3(MapData.java:194)
at games.strategy.triplea.ui.mapdata.MapData.<init>(MapData.java:175)
at games.strategy.triplea.ui.HeadedUiContext.internalSetMapDir(HeadedUiContext.java:79)
at games.strategy.triplea.ui.AbstractUiContext.setDefaultMapDir(AbstractUiContext.java:107)
at games.strategy.triplea.ui.TripleAFrame.create(TripleAFrame.java:232)
at games.strategy.triplea.TripleA.startGame(TripleA.java:105)
at games.strategy.engine.framework.startup.launcher.LocalLauncher.loadGame(LocalLauncher.java:60)
at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInNewThread(LocalLauncher.java:39)
at games.strategy.engine.framework.startup.launcher.AbstractLauncher.lambda$launch$0(AbstractLauncher.java:51)
at java.lang.Thread.run(Unknown Source)Jul 23, 2020 9:08:02 PM games.strategy.engine.framework.startup.launcher.LocalLauncher loadGame
SCHWERWIEGEND: Failed to start game
java.lang.IllegalStateException: Missing map.width or map.height in map.properties
at games.strategy.triplea.ui.mapdata.MapData.getMapDimensions(MapData.java:688)
at games.strategy.triplea.ui.TripleAFrame.<init>(TripleAFrame.java:280)
at games.strategy.triplea.ui.TripleAFrame.lambda$create$0(TripleAFrame.java:237)
at games.strategy.ui.SwingAction.lambda$invokeAndWaitResult$1(SwingAction.java:114)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)what is that error tell me?
map.properties?
SCHWERWIEGEND: Error reading map.properties
java.io.FileNotFoundException: map.propertiestype place for territory:
Jul 23, 2020 8:18:11 PM games.strategy.engine.framework.startup.launcher.LocalLauncher loadGame
SCHWERWIEGEND: Failed to start game
java.lang.IllegalStateException: No data of type place for territory: Sicily
No data of type place for territory: Malta
No data of type place for territory: 16 Sea Zone
No data of type place for territory: 66 Sea Zone
No data of type place for territory: 67 Sea Zone
No data of type place for territory: 68 Sea Zone
No data of type place for territory: 69 Sea ZoneRegards
-
Sound like the new territories are not listed in the xml. Make sure that there is a listing for each territory and that the 'Sea Zone's are marked water="true".
Also Sicily and Malta will need their separate territoryAttachment.
You should be able to test the map without have the connections fixed, but don't forget to do them.
Cheers...
-
true, I found several connection mistakes in the xml, all of them are now fine
another error occured:
Jul 24, 2020 8:19:14 PM games.strategy.triplea.ui.mapdata.MapData <init>
SCHWERWIEGEND: Error reading map.properties
java.io.FileNotFoundException: map.properties
at games.strategy.triplea.ui.mapdata.MapData.lambda$requiredResource$2(MapData.java:194)
at java.util.Optional.orElseThrow(Unknown Source)
at games.strategy.triplea.ui.mapdata.MapData.lambda$requiredResource$3(MapData.java:194)
at games.strategy.triplea.ui.mapdata.MapData.<init>(MapData.java:175)
at games.strategy.triplea.ui.HeadedUiContext.internalSetMapDir(HeadedUiContext.java:79)
at games.strategy.triplea.ui.AbstractUiContext.setDefaultMapDir(AbstractUiContext.java:107)
at games.strategy.triplea.ui.TripleAFrame.create(TripleAFrame.java:232)
at games.strategy.triplea.TripleA.startGame(TripleA.java:105)
at games.strategy.engine.framework.startup.launcher.LocalLauncher.loadGame(LocalLauncher.java:60)
at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInNewThread(LocalLauncher.java:39)
at games.strategy.engine.framework.startup.launcher.AbstractLauncher.lambda$launch$0(AbstractLauncher.java:51)
at java.lang.Thread.run(Unknown Source)Jul 24, 2020 8:19:14 PM games.strategy.engine.framework.startup.launcher.LocalLauncher loadGame
SCHWERWIEGEND: Failed to start game
java.lang.IllegalStateException: Missing map.width or map.height in map.properties
at games.strategy.triplea.ui.mapdata.MapData.getMapDimensions(MapData.java:688)
at games.strategy.triplea.ui.TripleAFrame.<init>(TripleAFrame.java:280)
at games.strategy.triplea.ui.TripleAFrame.lambda$create$0(TripleAFrame.java:237)
at games.strategy.ui.SwingAction.lambda$invokeAndWaitResult$1(SwingAction.java:114)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)what ist the problem with the width and height - where do I check the current state and how to change it to the needed values?
-
This is talking about the map.properties file. This is another file that can be created by the 'Map Creator' utility, and is located in the 'map' directory.
There should have been no reason to change this file, so I am unsure what may have happened to it. Even though the 'Map Creator' can create this file, you can not 'Load' it for editing, so any text editor can be used.
But I'm worried that if 'map.width=3773' and 'map.height=1830' have been messed up, that there might be other problems. So the easiest solution would be to take a copy of the file from 'world_war_ii_v3', and replace the one in your directory.
Cheers...
-
YES, everything works now, no more errors.
yet, I missed some details:
as you can see the new sea zones 66,67 und 68 do exist, but they have no numbers graphically.
sea zone 16 now belongs to the western part of Black Sea, but it has no number too. even worse the "16" is located where now the SZ 68 should bethere is another problem - the whole map ist white, the territories do not have the colors of the countries, e.g. blue for Italy.
How to fix those problems?
-
@Numetalfan check the map properties. That's where the colors are. Idk about the SZ numbers