Domination 1914 No Man's Land - Official Thread


  • Moderators

    @redrum said in Domination 1914 No Man's Land - Official Thread:

    @Schulz @epinikion I should be able to fix 2-4. For #1, that is really an engine not map bug and I'm not sure how easy it will be to fix. I think the best solution for now is to make it so gas isn't transportable as this is pretty rarely done anyways. Thoughts?

    Not a player of this map, but, since gas doesn't move around on its own feet, the very high movement it has can only mean that it has so little encumbrance that can be transported around fast, at virtually no cost. Thus it would be inconsistent if you, instead, cannot load it in ships, that were by far the most cost efficient type of transportation. I would rather actually say that it would make the most sense gas having transport cost 0 (you can transport infinite gas units per ship, with any other units), if the high land movement it has is representing that it can be transported at virtually no cost, with the transportation system implied existing over your own territories (otherwise, if gas would have a sea transport cost, gas should have also a fuel cost, to represent the cost of transporting it over land, or you should have units that transport it over land, and are not sacrificed with the gas).

    A related note, when I tested it in the past, if you load land units that are able to take part in air battles, they do the air battle also when being cargo.

    And there is that problem that if submarines have loaded cargo, you cannot ignore them (v3+ rules).

    So, in general, I think the engine should be fixed to assure the cargo always being completely ignored, for combat or movement purposes, no matter what. There are actually a series of bug where the cargo is not counted as such on all regards.


  • Admin

    @KurtGodel7
    Its not that we want to stop transport of gaz. But it should not fire in ship attacks (as all other transported units)...


  • Moderators Admin

    @redrum Another simple solution could be to simply add one terrain to the map for all SZ that has a -4 attack modifier to gas.

    Yet another simple solution would be to give the transport a unit support ability that gives a -4 to gas.

    But it really is a strange bug... the gas rolls for its suicide attack even though it is cargo... but then is not removed after its roll. Very curious behavior.



  • What do you think about Russian colour from Great War?

    image.png


  • Moderators

    According to this bug report:
    https://github.com/triplea-game/triplea/issues/5834

    It is a bug that you need to send 1 non infrastructure (usually, infantry) unit in attack, to have the gas attack/suicide. You should be able to send gas only, instead, as capturing happens after any fire.

    panther2 created this issue in triplea-game/triplea

    open AAA/Paratrooper issue in v3 #5834


  • Admin

    @Cernel That is similar but different as gas is not an AA unit. Its a firstStrike suicide unit and capture would happen before that.


  • Moderators

    @redrum said in Domination 1914 No Man's Land - Official Thread:

    @Cernel That is similar but different as gas is not an AA unit. Its a firstStrike suicide unit and capture would happen before that.

    Not sure if here you are talking from a program or from a rules standpoint, but from a "intended rules" standpoint, capture of infrastructures happen at the same time as territory capture, that is after all AA, first strike and regular attack and defence fire alike. So, if in that issue the AAA would just normally defend, like infantries and such, they would be still able to roll their defensive dice before being captured.

    Meaning that if capture happens between AA fire and first strike, that would be a bug too.

    @Panther for confirmation.


  • Moderators

    @Cernel Of course, for the standard games, infrastructure capture happening at any point after AA fire is good enough, and where the point is would change nothing, in practice, since all infrastructures are only able to AA fire (and the only 1 case of combat-able infrastructure is the AA gun before v5).

    However, moving from the practice to the theory, the reason why, for example, when you move 1 infantry into a territory with only 1 AA gun (before v5), you capture the territory and the AA gun without the infantry actually attacking is not that this capture happens between AA fire and regular attacks, but it is due to the fact that the infantry skips attacking, having no targets, and go directly to the, still subsequent, step, where it captures the AA gun and the territory. Program wise, you can let them fire, as that is just pointless.

    If we would make a mod of any games from v2 to v4 (in Classic, there is the matter of capturing infrastructures by blitzing), in which all is the same except the fact that AA gun defend normally, then they would fire before being captured, if alone, and would not be captured if killing all attackers.

    @Panther for confirmation.

    All this is not for going off topic, but just for clarifying that, for the bug report at hand, it is totally irrelevant the fact that the gas attack is AA or first strike or normal.


  • Admin

    @Cernel No, I'm just pointing out that the situations are related but slightly different. Point being that if that bug is fixed to allow only AA to fire before allowing capture that wouldn't change gas behavior as you point out the capture would need to happen after the entire first round of battle. I think this discussion is better in the github issue or the existing forum thread: https://forums.triplea-game.org/topic/1698/can-air-transport-be-removed-from-land-combat-other-paratrooper-qs

    I believe gas has always been the way it is in NML though most players I think would prefer being allowed to attack with just gas (and that may have been the original intention of the map creator but I'm not sure).


  • Moderators

    @redrum Yes, gas has always been the way it is, as well as the engine behaviour, at least after the very early development stage of the map.


  • Moderators

    An issue with the map may be that it is hard to tell apart Americans from Italians (I don't think it is because they are both green, as it is easy enough to tell apart the ownership colours, as well as those units that follow a clear colour scheme, for example the infantries and the transports):
    20200202.png


  • Admin

    @Cernel Yes, some of the units are not colored well and its confusing between US and Italy. I changed the territory colors so that they are fairly unique but I don't have the image skills to recolor the unit images. If you want to take a pass on making the unit image colors more consistent then I'd gladly update the map with them. I think the Italian artillery in particular are really bad and appear to be some weird image hack as their outline is messed up looking as well.


  • Moderators

    @redrum Since one would just make a mass recolorization, in this case, it would be good having a list of all units (hopefully few) that are badly in need of other fixes, like Italy field_gun, as just recolorizing that one is probably going to get worse.

    Or is it the Italy field_gun the only case, so one could just fix that one, then recolourize all safely?


  • Moderators

    Anyways, I've mass-recolorized the images, but now the map doesn't load, and I get this error:

    feb 02, 2020 11:08:45 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:45 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:45 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:45 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:45 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:45 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:45 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:45 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    
    feb 02, 2020 11:08:46 PM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    

    Repeated so many times I could not post, so I cut down a bunch of the errors.
    Any idea what that is about?


  • Moderators

    @Cernel In any case, if the mass recolourization creates images that somehow TripleA cannot read, I don't think I want to recolourize each image singularly, so I'd be out of this. I've no idea why it is not working, so I'm stuck.


  • Moderators

    I've just verified that each time I "Colorize" an image with GIMP 2.10, that image becomes unreadable by TripleA, causing serious display issues, and receiving this error (so, doing it in batch or singularly doesn't matter):

    feb 03, 2020 12:02:22 AM games.strategy.engine.framework.GameRunner lambda$start$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.awt.image.ReplicateScaleFilter.<init>(Unknown Source)
    	at java.awt.image.AreaAveragingScaleFilter.<init>(Unknown Source)
    	at java.awt.Image.getScaledInstance(Unknown Source)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:131)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:112)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:106)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:71)
    	at games.strategy.triplea.ui.MapPanel.lambda$paint$7(MapPanel.java:625)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    

    So, I cannot do any colorization at all, until I sort this out, sadly, which may not happen in a long time. I could try to update GIMP, but I see it is still at version 2.10.

    It seems the problem is only with the "Colorize" function, not anything else I've tried.

    Sorry.

    EDIT: I tried to mass-recolourize the Italians of "world_at_war" too, with GIMP 2.10, and it failed the exact same way, except only for "Artillery", "Mech.Inf" and "HeavyTank", that display correctly (no idea why). So, I'm really clueless. Someone else will have to do the recolourizations or whatever, until I sort this out. I've also verified that it is not only for "Colorize", as only flipping an image horizontally caused this problem too.


  • Moderators Admin

    @Cernel Maybe post the images here.


  • Moderators

    @Hepps Here it is an example, this is the original infantry for Italy:
    infantry_original.png
    If I colourize it this way with GIMP 2.10 (nothing else done):
    infantry.png
    Then the game fails to draw the map, and I get this error:

    feb 03, 2020 3:27:38 AM org.triplea.game.client.HeadedGameRunner lambda$main$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.desktop/java.awt.image.ReplicateScaleFilter.<init>(ReplicateScaleFilter.java:102)
    	at java.desktop/java.awt.image.AreaAveragingScaleFilter.<init>(AreaAveragingScaleFilter.java:77)
    	at java.desktop/java.awt.Image.getScaledInstance(Image.java:172)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:134)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:118)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:95)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:64)
    	at games.strategy.triplea.ui.panels.map.MapPanel.lambda$paint$7(MapPanel.java:758)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    	at java.base/java.lang.Thread.run(Thread.java:834)
    
    feb 03, 2020 3:27:38 AM org.triplea.game.client.HeadedGameRunner lambda$main$0
    GRAVE: Width (0) and height (0) must be non-zero
    java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
    	at java.desktop/java.awt.image.ReplicateScaleFilter.<init>(ReplicateScaleFilter.java:102)
    	at java.desktop/java.awt.image.AreaAveragingScaleFilter.<init>(AreaAveragingScaleFilter.java:77)
    	at java.desktop/java.awt.Image.getScaledInstance(Image.java:172)
    	at games.strategy.triplea.image.UnitImageFactory.getImage(UnitImageFactory.java:134)
    	at games.strategy.triplea.ui.screen.UnitsDrawer.draw(UnitsDrawer.java:118)
    	at games.strategy.triplea.ui.screen.Tile.draw(Tile.java:95)
    	at games.strategy.triplea.ui.screen.Tile.getImage(Tile.java:64)
    	at games.strategy.triplea.ui.panels.map.MapPanel.drawTiles(MapPanel.java:824)
    	at games.strategy.triplea.ui.panels.map.MapPanel.paint(MapPanel.java:701)
    	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
    	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
    	at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5255)
    	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1654)
    	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1629)
    	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1566)
    	at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1333)
    	at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5203)
    	at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5013)
    	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:868)
    	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:851)
    	at java.base/java.security.AccessController.doPrivileged(Native Method)
    	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:851)
    	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:826)
    	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:775)
    	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1901)
    	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
    	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
    	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    	at java.base/java.security.AccessController.doPrivileged(Native Method)
    	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
    	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
    

    The map is currently unzipped in single folder, so the path is:
    downloadedMaps/domination_1914_no_mans_land/units/Italy

    And the image, as you can see, load without problems here in forum, or anywhere else I can tell, but not in TripleA, both for the latest prerelease 2.0.17884 and for the current release 1.9.0.0.13066, albeit not alike.


  • Moderators Admin

    @Cernel I was curious to see how the image was formatted when saved with Gimp.

    Appears to be a png image. That was my main thought... was whether the images were saved properly.


  • Moderators

    @Hepps The other thing I realized is that when I tried (and failed, the same way) with the WAW Italians, the only 3 images that worked fine were the "Artillery", "Mech.Inf" and "HeavyTank", as said, and those are exactly the only 3 ones I made, for the Italians.


Log in to reply