Prototype icon indicating copy to clipboard operation
Prototype copied to clipboard

"System.ApplicationException: Media path not found: Art/Terrain/marsh.pcx" error when staring application

Open mahaju opened this issue 10 months ago • 5 comments

I have original Civilization 3 base game installed in Windows 10 (v1.07f)

I downloaded C7 Carthage v0.2 (https://c7-game.github.io/#downloads) and after some tinkering around managed to get the game into loading screen (I had to create my own CIV3_HOME variable)

But I get an error when clicking new game (the error message is in game screen itself in game fonts, not a windows error alert box)

The contents of log.txt is given below, I think it also contains the exact error message from that screen. How do I get this game started?

[INF] 01:52:28 MainMenu: start game button pressed 
[INF] 01:52:28 C7GameData.GameData: Random seed is 711463314 
[INF] 01:52:28 C7Engine.TurnHandling: 
*** Beginning turn 0 *** 
[INF] 01:52:28 C7Engine.TurnHandling: Turn time took 0 milliseconds 
[ERR] 01:52:29 Game: Unexpected error in Game.cs _Ready 
System.ApplicationException: Media path not found: Art/Terrain/marsh.pcx
   at Util.Civ3MediaPath(String mediaPath) in /__w/Prototype/Prototype/C7/Util.cs:line 171
   at Util.LoadPCX(String relPath) in /__w/Prototype/Prototype/C7/Util.cs:line 239
   at Util.LoadTextureFromPCX(String relPath, Int32 leftStart, Int32 topStart, Int32 width, Int32 height, Boolean shadows) in /__w/Prototype/Prototype/C7/Util.cs:line 224
   at MarshLayer..ctor() in /__w/Prototype/Prototype/C7/MapView.cs:line 382
   at MapView..ctor(Game game, Int32 mapWidth, Int32 mapHeight, Boolean wrapHorizontally, Boolean wrapVertically) in /__w/Prototype/Prototype/C7/MapView.cs:line 623
   at Game._Ready() in /__w/Prototype/Prototype/C7/Game.cs:line 92
[INF] 01:52:29 Game: Starting player turn 
[INF] 01:52:43 MainMenu: start game button pressed 
[INF] 01:52:43 C7GameData.GameData: Random seed is 519383588 
[INF] 01:52:43 C7Engine.TurnHandling: 
*** Beginning turn 0 *** 
[INF] 01:52:43 C7Engine.TurnHandling: Turn time took 0 milliseconds 
[ERR] 01:52:43 Game: Unexpected error in Game.cs _Ready 
System.ApplicationException: Media path not found: Art/Terrain/marsh.pcx
   at Util.Civ3MediaPath(String mediaPath) in /__w/Prototype/Prototype/C7/Util.cs:line 171
   at Util.LoadPCX(String relPath) in /__w/Prototype/Prototype/C7/Util.cs:line 239
   at Util.LoadTextureFromPCX(String relPath, Int32 leftStart, Int32 topStart, Int32 width, Int32 height, Boolean shadows) in /__w/Prototype/Prototype/C7/Util.cs:line 224
   at MarshLayer..ctor() in /__w/Prototype/Prototype/C7/MapView.cs:line 382
   at MapView..ctor(Game game, Int32 mapWidth, Int32 mapHeight, Boolean wrapHorizontally, Boolean wrapVertically) in /__w/Prototype/Prototype/C7/MapView.cs:line 623
   at Game._Ready() in /__w/Prototype/Prototype/C7/Game.cs:line 92
[INF] 01:52:43 Game: Starting player turn 
[INF] 01:52:54 MainMenu: start game button pressed 
[INF] 01:52:54 C7GameData.GameData: Random seed is 768913390 
[INF] 01:52:54 C7Engine.TurnHandling: 
*** Beginning turn 0 *** 
[INF] 01:52:54 C7Engine.TurnHandling: Turn time took 0 milliseconds 
[ERR] 01:52:54 Game: Unexpected error in Game.cs _Ready 
System.ApplicationException: Media path not found: Art/Terrain/marsh.pcx
   at Util.Civ3MediaPath(String mediaPath) in /__w/Prototype/Prototype/C7/Util.cs:line 171
   at Util.LoadPCX(String relPath) in /__w/Prototype/Prototype/C7/Util.cs:line 239
   at Util.LoadTextureFromPCX(String relPath, Int32 leftStart, Int32 topStart, Int32 width, Int32 height, Boolean shadows) in /__w/Prototype/Prototype/C7/Util.cs:line 222
   at MarshLayer..ctor() in /__w/Prototype/Prototype/C7/MapView.cs:line 382
   at MapView..ctor(Game game, Int32 mapWidth, Int32 mapHeight, Boolean wrapHorizontally, Boolean wrapVertically) in /__w/Prototype/Prototype/C7/MapView.cs:line 623
   at Game._Ready() in /__w/Prototype/Prototype/C7/Game.cs:line 92
[INF] 01:52:54 Game: Starting player turn 
[INF] 01:53:00 MainMenu: credits button pressed 
[INF] 01:53:00 Credits: Now rolling the credits! 
[INF] 01:53:02 Credits: Returning to main menu 
[INF] 01:53:16 MainMenu: start game button pressed 
[INF] 01:53:16 C7GameData.GameData: Random seed is 1780873782 
[INF] 01:53:17 C7Engine.TurnHandling: 
*** Beginning turn 0 *** 
[INF] 01:53:17 C7Engine.TurnHandling: Turn time took 0 milliseconds 
[ERR] 01:53:17 Game: Unexpected error in Game.cs _Ready 
System.ApplicationException: Media path not found: Art/Terrain/marsh.pcx
   at Util.Civ3MediaPath(String mediaPath) in /__w/Prototype/Prototype/C7/Util.cs:line 171
   at Util.LoadPCX(String relPath) in /__w/Prototype/Prototype/C7/Util.cs:line 239
   at Util.LoadTextureFromPCX(String relPath, Int32 leftStart, Int32 topStart, Int32 width, Int32 height, Boolean shadows) in /__w/Prototype/Prototype/C7/Util.cs:line 224
   at MarshLayer..ctor() in /__w/Prototype/Prototype/C7/MapView.cs:line 382
   at MapView..ctor(Game game, Int32 mapWidth, Int32 mapHeight, Boolean wrapHorizontally, Boolean wrapVertically) in /__w/Prototype/Prototype/C7/MapView.cs:line 623
   at Game._Ready() in /__w/Prototype/Prototype/C7/Game.cs:line 92
[INF] 01:53:17 Game: Starting player turn 
[INF] 01:54:27 MainMenu: start game button pressed 
[INF] 01:54:28 C7GameData.GameData: Random seed is 1521523197 
[INF] 01:54:28 C7Engine.TurnHandling: 
*** Beginning turn 0 *** 
[INF] 01:54:28 C7Engine.TurnHandling: Turn time took 0 milliseconds 
[ERR] 01:54:28 Game: Unexpected error in Game.cs _Ready 
System.ApplicationException: Media path not found: Art/Terrain/marsh.pcx
   at Util.Civ3MediaPath(String mediaPath) in /__w/Prototype/Prototype/C7/Util.cs:line 171
   at Util.LoadPCX(String relPath) in /__w/Prototype/Prototype/C7/Util.cs:line 239
   at Util.LoadTextureFromPCX(String relPath, Int32 leftStart, Int32 topStart, Int32 width, Int32 height, Boolean shadows) in /__w/Prototype/Prototype/C7/Util.cs:line 224
   at MarshLayer..ctor() in /__w/Prototype/Prototype/C7/MapView.cs:line 382
   at MapView..ctor(Game game, Int32 mapWidth, Int32 mapHeight, Boolean wrapHorizontally, Boolean wrapVertically) in /__w/Prototype/Prototype/C7/MapView.cs:line 623
   at Game._Ready() in /__w/Prototype/Prototype/C7/Game.cs:line 92
[INF] 01:54:28 Game: Starting player turn 
[INF] 01:54:45 MainMenu: load game button pressed 
[INF] 01:54:50 MainMenu: load scenario button pressed 

mahaju avatar Feb 27 '25 07:02 mahaju

When you say "original Civilization 3 base game", which version of the game is it? Vanilla, Play the World, or Conquests?

My marsh.pxc file is in <steam path>/Sid Meier's Civilization III Complete/Conquests/Art/Terrain, but it doesn't exist in <steam path>/Sid Meier's Civilization III Complete/Art/Terrain (no Conquests).

TomWerner avatar Feb 27 '25 15:02 TomWerner

1.07f is the vanilla version from the original CD release. We require the files from Conquests, as that's where Marsh and Volcano terrains were added. The actual action item here is to update the docs to specify that CIV3_HOME must be an installation of Complete or Conquests.

WildWeazel avatar Feb 27 '25 21:02 WildWeazel

@TomWerner @WildWeazel Hi yes its the original vanilla one. I went to the forum later and realized I needed the complete or conquests version. Sorry about that. Is there any way I can get this to work with the vanilla version (for example, make my own marsh.pcx graphics and copy the file to the appropriate location) or would this be too much work?

I also managed to find an installer for the complete version (comes with conquest), but its not from an official site. It seems to be the full installation but it doesn't work (I double click Civilization3.exe and nothing happens, same with conquest, although the editor works). I cannot tell whether its because the installation itself is fake or if its some kind of incompatibility with my PC. I installed the 1.29f patch and NO CD patch from the forums, and after this Civilization3.exe at least starts up, but crashes when trying to start a new game.

In either case I would prefer to play the open source one. With my current setup described above, when I open C7.exe the menu screen comes up and I can hear music. But clicking on new game doesn't do anything. Clicking on credits shows the credit screen though.

Is there any way to play C7 with the setup I have now? Does C7 only use Civilization3 for graphics and other assets, or do I need to have a working Civ3 installation for this to work? The 1.07f version, though still a bit buggy, used to work previously.

mahaju avatar Feb 28 '25 01:02 mahaju

Hmm, I bet if you downloaded a full terrain modpack, like this one then the terrains would properly load.

Another option would be to start a game of vanilla civ3, play one turn, save the game, and then load it in C7. Since the vanilla civ3 save wouldn't have any unknown terrains, it should work properly.

If you want to actually play C7, you might want to use this download (which has all the latest improvements, including some improvements to the AI that haven't been merged in yet).

TomWerner avatar Feb 28 '25 02:02 TomWerner

Yes I expect that if you install a full terrain set for Conquests then C7 will work. At worst you might need to create the directory Conquests/Art/Terrain and put the files there. Nothing in Civ3 needs to run, we only need the media files.

WildWeazel avatar Feb 28 '25 04:02 WildWeazel