BGforgeNet / Fallout2_Restoration_Project

Fallout 2 Restoration Project, updated
https://forums.bgforge.net/viewforum.php?f=39
589 stars 39 forks source link

Mod refuses to install in Wine, but reports no errors #88

Closed 36PopTarts closed 3 years ago

36PopTarts commented 3 years ago

I have been completely unable to get the Restoration Project part of this mod, or any of the other content-changing mods, to work correctly. The hi-res patch works fine and I'm able to change resolutions when I get into Fallout 2. When I run the executable installer through Wine, I get an error towards the end that says "Unable to execute file: C:\BlackIsle\Fallout2\rpu-install.bat, CreateProcess failed, code 487: Invalid address." The "manual" installer seems to work. I have tried several installs.

  1. The first install had the mod version appearing in the lower-right hand corner of the main menu correctly. This led me to erroneously playing about 3/4ths of the main story thinking it was modded, when it wasn't (I've never played this mod and didn't want to spoil anything for myself. Needless to say I was suspicious when I saw ancient bugs appearing, like the trunk bug and Gecko ghouls turning hostile).
  2. Subsequent installs have resulted in the version reporting either "1.02" or "1.02D." I have no idea why it seems to change occasionally.
  3. I have tried both the original CD install and the GOG edition of Fallout 2.
  4. I have tried some of Killap's old Wine suggestions found here, although the game executes fine with no overrides in the prefix I have currently. I have doubts that it is a Wine-related issue.
  5. I have just tried installing Killap's 2016 version of the mod and it seems to work fine. I can see the version number in the corner and I see the rock in-game. I suspect that my first install had something to do with me mistakenly installing Killap's version of the mod first, then installing this mod on top of it (which seems to be OK according to the documentation).

OS: Linux Mint 20 (based on Ubuntu of the same version) Wine version: Wine 6.0 RC1, distributed by and ran through Lutris GPU: Nvidia Geforce GTX 1080, driver version 450.102.04

burner1024 commented 3 years ago

OK, so

  1. Did the manual install work fine regarding version reporting, both on main screen and on the rock in the starting area?
  2. You shouldn't run the game without overrides, however it's installed. It will cause bugs without question.
  3. What's your wine version and could you try a different one in another prefix? I think 5.0 has a bug with certain bat files crashing.
36PopTarts commented 3 years ago

Check point 5 which I added in the OP, I'm pretty sure there was some kind of mangled install that led to the version being reported in the menu. I have to use overrides if I use Killap's version, otherwise it doesn't work (just for ddraw), but I had none enabled for most of the RPU installations I tried. I have already tried in 2 separate prefixes, one which is clean. I will try reinstalling it with different Wine versions.

burner1024 commented 3 years ago

Note that killap's last version and RPU need different overrides.

36PopTarts commented 3 years ago

Right... I mentioned that in my last post.

Just tried installing using the installer with Wine 4.21. There were no errors, but when I ran the game I got the exact same results as before: menu version 1.02, no rock in the starting area, and the resolution options work just fine.

burner1024 commented 3 years ago

another thing, please try innosetup's /LOG="filename" as described here, and attach the resulting file.

36PopTarts commented 3 years ago

log.txt

Here's the resulting log.

burner1024 commented 3 years ago

Looks good until bat invocation. What about backup/rpu/log.txt? Actually, you can attach the whole backup dir, if GH allows.

36PopTarts commented 3 years ago

log.txt This log was the only file in the directory. Looks like it crashes while checking to see if the patch000.dat exists. No idea why there wasn't an error this time as opposed to the last. Is there a reason why the manual install using shell script wouldn't have worked? I've already tried that and it seemed to be the same script as the batch file, and it never threw any errors.

burner1024 commented 3 years ago

Yes, it's definitely a wine thing (no matter how is a bat written, wine shouldn't crash.). I think this one, which is only fixed in 5.8. And shell script, yes, it's the same, just bash is more robust I guess. If you want, you can have a go at the bat file, try rearranging it so that it doesn't fail. Pulls are welcome. Other than that, I don't see what else to be done.

36PopTarts commented 3 years ago

I installed Wine 4.0 since someone mentioned that the erroring script works in that version, and sure enough when I enter wineconsole and run the .bat file manually it works. However I still get the same result when I run the game. I guess I can try reinstalling using the executable again.

EDIT: Yeah, still the same result. Something other than the batch script is at play here.

burner1024 commented 3 years ago

What's the full cmd with which you run the game from bash?

36PopTarts commented 3 years ago

Luckily Lutris recently added a command line option to generate a bash script to run the game manually (I've been wanting that for ages...). I had to rename it to .txt so it could be uploaded. run_fallout_2.txt

Oh yeah, just ignore the Ghostrunner prefix name. It was a blank prefix; I just repurposed an existing Lutris config and it automatically generates prefix folder names based on what is in the config.

burner1024 commented 3 years ago

overrides should be set to WINEDLLOVERRIDES='ddraw.dll=n,b'

36PopTarts commented 3 years ago

Well, that worked. I can see the rock and the version number in the menu. I feel like an idiot now, but I was sure I tried with that override at least once (on both the RPU and Killap's original version). There are a lot of moving parts in this installation for Wine and I must have missed that, some way or another, or maybe there was another issue I was having when I had that set up with RPU... Either way, I appreciate your help and poking me in the right direction.

burner1024 commented 3 years ago

No problem. If you have a good idea how to improve the situation, feel free to submit a pull.

36PopTarts commented 3 years ago

The only suggestion I can think of is adding a tip about overriding ddraw in the GitHub readme. I was mistaken earlier and thought it might be better to turn overrides off, due to some way in which you might have changed the mod compared to Killap's version. Sadly I don't think there's much that an application developer can do to accomodate different Wine installs and environments; it's just one of the difficulties of working with Wine. The sfall library is obviously necessary for the mod and the only way to use it is to make sure you set the override in Wine.