I get this:
java.io.EOFException
at com.google.common.io.LittleEndianDataInputStream.readAndCheckByte(LittleEndianDataInputStream.java:234)
at com.google.common.io.LittleEndianDataInputStream.readInt(LittleEndianDataInputStream.java:117)
at com.etheller.warsmash.parsers.w3x.w3i.RandomItem.load(RandomItem.java:15)
at com.etheller.warsmash.parsers.w3x.w3i.RandomItemSet.load(RandomItemSet.java:18)
at com.etheller.warsmash.parsers.w3x.w3i.RandomItemTable.load(RandomItemTable.java:24)
at com.etheller.warsmash.parsers.w3x.w3i.War3MapW3i.load(War3MapW3i.java:182)
at com.etheller.warsmash.parsers.w3x.w3i.War3MapW3i.<init>(War3MapW3i.java:61)
at com.etheller.warsmash.parsers.w3x.War3Map.readMapInformation(War3Map.java:100)
at com.etheller.warsmash.viewer5.handlers.w3x.ui.MenuUI.loadAndCacheMapConfigs(MenuUI.java:1761)
at com.etheller.warsmash.viewer5.handlers.w3x.ui.MenuUI.startMap(MenuUI.java:1722)
at com.etheller.warsmash.WarsmashGdxMenuScreen.startMap(WarsmashGdxMenuScreen.java:925)
at com.etheller.warsmash.desktop.DesktopLauncher$1.run(DesktopLauncher.java:124)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.executeRunnables(LwjglApplication.java:309)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:236)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:138)
Exception in thread "LWJGL Application" java.lang.NullPointerException: Cannot invoke "com.etheller.warsmash.viewer5.handlers.w3x.simulation.config.War3MapConfig.getPlayer(int)" because "this.currentMapConfig" is null
at com.etheller.warsmash.viewer5.handlers.w3x.ui.MenuUI.startMap(MenuUI.java:1744)
at com.etheller.warsmash.WarsmashGdxMenuScreen.startMap(WarsmashGdxMenuScreen.java:925)
at com.etheller.warsmash.desktop.DesktopLauncher$1.run(DesktopLauncher.java:124)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.executeRunnables(LwjglApplication.java:309)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:236)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:138)
Not sure if this.currentMapConfig is null because of that.
I guess you need to support the latest formats of Reforged. My map is: https://github.com/tdauth/wowr/releases/download/4.6/wowr4.6.w3x
My warsmash.ini contains:
[DataSources]
Count=5
Type00=CASC
Path00="/home/tdauth/snap/steam/common/.local/share/Steam/steamapps/compatdata/2243394608/pfx/drive_c/Program Files (x86)/Warcraft III"
Prefixes00=war3.w3mod,war3.w3mod\_deprecated.w3mod,war3.w3mod\_locales\enus.w3mod
Type01=MPQ
Path01="/home/tdauth/Dokumente/Warcraft III/War3x.mpq"
Type02=MPQ
Path02="/home/tdauth/Dokumente/Warcraft III/War3xlocal.mpq"
Type03=MPQ
Path03="/home/tdauth/Dokumente/Warcraft III/War3Patch.mpq"
Type04=Folder
Path04="/home/tdauth/Dokumente/Projekte/WarsmashModEngine/resources"
[Emulator]
// Player settings: use 28 for the "24 player" patches,
// and use 16 for the "12 player" patches, because
// this constant includes Neutrals
MaxPlayers=28
// Game version:
// 0: RoC (not well supported)
// 1: TFT (very supported)
// 2: some code comment says this could be used for mods, but don't for now
GameVersion=1
I needed to add the MPQs since otherwise Warsmash will crash missing some WorldEditStrings.txt stuff which actually should be in the CASC of Reforged.
I get this:
Not sure if this.currentMapConfig is null because of that.
I guess you need to support the latest formats of Reforged. My map is: https://github.com/tdauth/wowr/releases/download/4.6/wowr4.6.w3x
My warsmash.ini contains:
I needed to add the MPQs since otherwise Warsmash will crash missing some WorldEditStrings.txt stuff which actually should be in the CASC of Reforged.