Wemino / VorpalFix

A fix that addresses a variety of technical issues and adds quality-of-life improvements to the 2011 remaster of American McGee's Alice.
GNU General Public License v3.0
34 stars 2 forks source link

[Feature request] Some suggestions for VorpalFix #4

Open ViperAcidZX opened 1 month ago

ViperAcidZX commented 1 month ago

I want to thank you for making this plugin, it address many of the problems I had with the 2011 remaster of Alice like the missing Cheshire Cat hints and Vorpal Blade sounds, making it convenient to launch the game, and adding some much-needed quality-of-life improvements to this game. I was wondering if I can some some suggestions your way for consideration with VorpalFix?

No DPI scaling fix alice-2024_10_13_00-11-30

DPI scaling fixed alice-2024_10_13_00-12-13

640x480 alice-2024_10_13_00-55-19

1920x1080 alice-2024_10_13_00-54-44

original 2000 version alice-2024_10_13_00-51-08

2011 remaster on PC alice-2024_10_13_01-10-29

2011 remaster on Xbox 360/PlayStation 3 (via someone's YouTube footage) Alice_2011_X360

2011 remaster's main menu on Xbox 360 Alice_2011_X360_menu

_cgshadows "1" cheshire_cgshadows1

_cgshadows "3" cheshire_cgshadows3

To be fair, this issue isn't exclusive to the 2011 remaster as it happens in the original 2000 version as well, and the console version of the 2011 remasters uses cg_shadows "1" anyways.

alice-2024_10_14_16-35-26

Default alice-2024_10_14_17-16-59

Alice HD mod alice-2024_10_14_17-19-08

Thank you once again for this amazing fix! This plugin pretty much makes the 2011 version the definitive version of American McGee's Alice.

Wemino commented 1 month ago

Hello @ViperAcidZX, Thanks for the ideas, I will try to check what I can add but I can't promise that I will be able to add everything. I also don't know when I will be able to do it since I have been pretty busy lately.

ArhumMK commented 1 month ago

Adding to this, didn't the console versions have a title screen too? Pretty sure that title splash screen is left unused in the remaster's files.

Edit: image

Wemino commented 4 weeks ago

Currently done with the DPI fix and Alt+F4.

Mouse cursor scaling should be easy, it's a special case in how it's handled in the GUI scaling.

Gamma/Brightness -> Not sure yet how the game is handling that so no promises.

HUD positioning fix -> Should be easy.

Restore controller button prompts -> Something I am interested to add but might take some time, and no promises.

@ArhumMK I might add support to display this splash screen, depending on how intact the code for it is. It's indeed in the PC version files

I will likely push an update next week for what was easy to add.

vini1264 commented 4 weeks ago

Another suggestion I would like to add here, would be possible to add a borderless fullscreen mode to the game?

Wemino commented 4 weeks ago

@vini1264 I will add this to the to-do list.

ViperAcidZX commented 4 weeks ago

I added a few more things that I overlooked in the initial post: there's an issue with the menu scaling fix's pillarboxes obscuring the developer console while in the menus, Cheshire goes semi-transparent with cg_shadows "3" (a leftover issue from the original version), music is muted when out-of-focus but not everything else, and I was wondering if it's possible to disable in-engine cutscene letterboxing with VorpalFix? I added details about these issues and suggestions in the initial comment.

Wemino commented 3 weeks ago

Pushed a new update, check out the changelog and report if you find any issues!

What I didn't add:

Gamma/Brightness fix via shaders: Seems to require a lot of work without the source code. You can set r_ignorehwgamma to 1 inside config.cfg if you don't want the game to mess with your configuration, but it won't change the brightness in the settings.

Restore controller button prompts: The game is missing the assets (icon and texts) for this, so it would require a lot of work.

Error with Menu Scaling Fix and the developer console enabled: Because those are loaded as static, same reason why the menu won't show up the game is loading with the map. Not sure if this can be fixed easily.

As for the other ones, I will probably add those one day.

BTW the HUD has an animation when switching weapons but it cannot be seen due to how it's position was hardcoded, I restored that.

ViperAcidZX commented 3 weeks ago

I can possibly supply the controller icons that came with the Xbox 360 and PlayStation 3 versions since they shipped in TGA files similarly to the PC version's files and I was able to extract those files from their respective versions. I didn't know about the r_ignorehwgamma "1" CVar but I'll try that going forward in my autoexec file. Thank you though for looking into these suggestions and implementing as much as you could!

EDIT: There is another minor issue with the game itself, pressing the jump button/key during in-engine cutscenes causes Alice to make "jump" sounds while the scene plays. Is there any possibility to fix that or is this an issue beyond what VorpalFix can do?

Wemino commented 3 weeks ago

I can possibly supply the controller icons that came with the Xbox 360 and PlayStation 3 versions since they shipped in TGA files similarly to the PC version's files and I was able to extract those files from their respective versions.

Thanks but I also got those from the console files, I wasn't sure if I should ship them with the mod but I think it should be fine.

And actually I was looking at the wrong place, the controller button prompts are actually in the resource files, check inside the base\INT\*.urc files. (INT is for English) The PC version is just missing loadsave_xbox.urc.

Those can be edited with a text editor so if anyone wants to try to play with that, let me know if you can figure out why it won't show up in the menu, because it contains everything needed. (text, position in the UI and etc...)

I don't have too much time to check this out yet, maybe it won't show up because a flag has to be set in the executable, or because it's reading the .urc files from the zip inside base\loc ?

Edit: It's the latter, I can probably add Xbox UI support next week, it will be an option that will use this UI if a controller is detected during startup. However the menu will have some limitations, such as not being able to pick a resolution. (Since the Xbox menu is like that)

I can fix that by making a custom "controls_pc_int.urc" based on "controls2.urc" which has the Xbox menu. (or if someone is interested in making one)

EDIT: There is another minor issue with the game itself, pressing the jump button/key during in-engine cutscenes causes Alice to make "jump" sounds while the scene plays. Is there any possibility to fix that or is this an issue beyond what VorpalFix can do?

Which cutscene? I can't reproduce. Does it also do that without the mod?

ViperAcidZX commented 3 weeks ago

Which cutscene? I can't reproduce. Does it also do that without the mod?

I was able to reproduce the issue without the mod installed. I don't know if DSOAL may have anything to do with the issue, but I tried reproducing the issue when the Sound Device is set to EAX2 with DSOAL installed. I have a video that shows it happening on and off when I was mashing the Jump key during the cutscenes in the first level of the game but it also happens in other places too (I was able to make these sounds happen in the second to last level as well for example).

https://www.youtube.com/watch?v=pBRLq7rqPkI

MasterOfTheBait commented 3 weeks ago

Hey, I just got the mod and it's pretty cool, but there's some issues I'd wish to pitch in the hopes they get remedied:

  1. When I start with a controller plugged in, the mouse is stuck in the top left corner and the camera during gameplay is locked in an eternity of looking up and spinning to the right. The issue's fixed when I unplug the controller just fine, but I feel like it should be remedied in case others have this issue too
  2. I am unable to take proper screenshots of the game itself without just being left with a black screen. I don't know if you're able to fix this, but I would appreciate it if you found a way to fix it.
  3. More of a nitpick, but I'm uncertain on which key is assigned to the climbing up function for the ropes as I've tried the default, Enter, and it didn't work as did pressing E like the Madly Enhanced mod has it set to. If you could let me know what the proper key binding is for it, that'd be splendid.
menoanie commented 3 weeks ago

2. I am unable to take proper screenshots of the game itself without just being left with a black screen. I don't know if you're able to fix this, but I would appreciate it if you found a way to fix it.

It must be an issue with the software you are using because I can take screenshots

3. More of a nitpick, but I'm uncertain on which key is assigned to the climbing up function for the ropes as I've tried the default, Enter, and it didn't work as did pressing E like the Madly Enhanced mod has it set to. If you could let me know what the proper key binding is for it, that'd be splendid.

You need to use the 2 keys used for attacking to climb up or down

Wemino commented 2 weeks ago

Pushed an update for the Xbox menus if you have a controller connected: (mouse navigation is disabled because it causes issues)

image

KainXVIII commented 2 weeks ago

PS3 button prompts next? 👀

Wemino commented 2 weeks ago

PS3 button prompts next? 👀

Done!

Which cutscene? I can't reproduce. Does it also do that without the mod?

I was able to reproduce the issue without the mod installed. I don't know if DSOAL may have anything to do with the issue, but I tried reproducing the issue when the Sound Device is set to EAX2 with DSOAL installed. I have a video that shows it happening on and off when I was mashing the Jump key during the cutscenes in the first level of the game but it also happens in other places too (I was able to make these sounds happen in the second to last level as well for example).

https://www.youtube.com/watch?v=pBRLq7rqPkI

Indeed an issue with EAX2 enabled, I can check but no promises.

ViperAcidZX commented 2 weeks ago

Pushed an update for the Xbox menus if you have a controller connected: (mouse navigation is disabled because it causes issues)

I just ran into an issue that might be relating to this: so I have EnableControllerIcons enabled in my VorpalFix configuration file, and mouse navigation in menus seem to work fine when the controller is not plugged in like normal despite having this function active, but during gameplay it prevents me from being able to look up or down with vertical mouse movements.

Wemino commented 2 weeks ago

Pushed an update for the Xbox menus if you have a controller connected: (mouse navigation is disabled because it causes issues)

I just ran into an issue that might be relating to this: so I have EnableControllerIcons enabled in my VorpalFix configuration file, and mouse navigation in menus seem to work fine when the controller is not plugged in like normal despite having this function active, but during gameplay it prevents me from being able to look up or down with vertical mouse movements.

Sorry the description wasn't clear, mouse navigation is only disabled if a controller is detected. Is this still an issue when the option is turned off? If you don't have a controller plugged in, EnableControllerIcons should make no differences.

ViperAcidZX commented 2 weeks ago

Sorry the description wasn't clear, mouse navigation is only disabled if a controller is detected. Is this still an issue when the option is turned off? If you don't have a controller plugged in, EnableControllerIcons should make no differences.

Never mind, another goof on my part: I accidentally had m_pitch at 0 when experimenting with an autoexec file I was using and that was causing my vertical movement to not work. I tested it again and it is working as normal, sorry for the mix-up.

CRASHARKI commented 1 week ago

Hello, I'd like to say that your work is amazing, you've made this the definitive way to play and enjoy this game. I have a few suggestions that would benefit the game I think:

Wemino commented 1 week ago
  • Is it possible to make the saves and settings local instead of using the My Documents folder like the original from 2000 did? It would make the game portable which would be great.

Nice idea, I can try to add a custom save path specified in the configuration.

  • On the Controller screen, when using a PlayStation controller, the D-Pad and the left stick are swapped, but the corresponding text isn't. I believe the correct positions are in the PS3 files.

Nice catch, I will fix this in the next release.

  • Would it be possible to restore the little messages that the console versions had? They're not absolutely necessary, but it would add to this version being the most complete with nothing missing.

Which messages are you thinking about? I know about the 'Autosaves Warning' that appears during startup, but I don't think it's very interesting to add back.

BTW next update will add something that the console version has, but the PC version doesn't ;)

CRASHARKI commented 1 week ago

Which messages are you thinking about? I know about the 'Autosaves Warning' that appears during startup, but I don't think it's very interesting to add back.

Here, I found a couple of examples besides the initial autosave you mentioned, whether they are worth it or not I'll leave up to you:

I believe there were some more, specially since there's SELECT and START button prompts that I think otherwise go unused, but I couldn't find them.

Also, kind of a nitpick, but the autosave camera is a bit lower on the console versions, not like it's really important, I just noticed: image

BTW next update will add something that the console version has, but the PC version doesn't ;)

Oooohh, so intriguing!

ViperAcidZX commented 1 week ago

Another nitpick I have and overlooked as well is the Quit screen has a "Back" button that takes the player back to the previous screen but I think this small button is redundant since the "N" button on the same screen does the same thing and the little "Back" button feels unnecessary, especially since it kinda looks out of place when using the console-styled look for the menus.

alice-2024_10_30_16-07-07-edit

And other issue I ran into now that I have Madness Returns thanks to friend of mine who gifted me the game on Steam (although this may be out of this plugin's hands) is that the Alice Remastered expects this folder structure from the Origin version's The Complete Collection to launch back into the game...

AMR_CompleteCollectionFileStructure

but the folder structure current standard edition on Steam (and presumably other versions following the post-The Complete Collection delisting) is structured like this instead:

AMR_StandardFileStructure

While launching from Madness Returns to Alice Remastered is easily fixable on the former's end by editing the game's this line in AliceEngine.ini and pointing the former to where Alice Remastered's bin folder is (Alice1Path=..\..\..\Alice1\bin found under the section [AliceGame.AliceGameEngine], relative or absolute paths work), but the latter does not have such a solution where it normally boots back into Madness Returns since it can't find the Alice2 folder and found its executable. I am wonder if there's a way to make the Alice Remastered use a custom path (relative or absolute) to find its way back into Madness Returns's executable if launching back to Madness Returns is enabled?

Wemino commented 1 week ago

Also, kind of a nitpick, but the autosave camera is a bit lower on the console versions, not like it's really important, I just noticed: image

I changed it's position to match the console one.

The notifications would require some work since it seems to use stripped/console specific codes. It's in the code but in bad shape, restoring would likely take time.

Another nitpick I have and overlooked as well is the Quit screen has a "Back" button that takes the player back to the previous screen but I think this small button is redundant since the "N" button on the same screen does the same thing and the little "Back" button feels unnecessary, especially since it kinda looks out of place when using the console-styled look for the menus.

I plan to remove this button only for the controller menu, otherwise it will conflict with the HD mod. I don't use the controller menu for this one since they made it pretty ugly.

While launching from Madness Returns to Alice Remastered is easily fixable on the former's end by editing the game's this line in AliceEngine.ini and pointing the former to where Alice Remastered's bin folder is (Alice1Path=..\..\..\Alice1\bin found under the section [AliceGame.AliceGameEngine], relative or absolute paths work), but the latter does not have such a solution where it normally boots back into Madness Returns since it can't find the Alice2 folder and found its executable. I am wonder if there's a way to make the Alice Remastered use a custom path (relative or absolute) to find its way back into Madness Returns's executable if launching back to Madness Returns is enabled?

You can add that to autoexec.cfg:

seta s_Alice2URL "..\..\Alice2\Binaries\Win32\AliceMadnessReturns.exe"

You can customize the path like this, in my example this is the path used by the game.

adhdandy commented 1 week ago

Since this plugin adds trilinear texture filtering as an option, would it be out of scope to add anisotropic filtering as well?

Wemino commented 1 week ago

Since this plugin adds trilinear texture filtering as an option, would it be out of scope to add anisotropic filtering as well?

I am not familiar with OpenGL but I can definitely take a look.

Wemino commented 1 week ago

Since this plugin adds trilinear texture filtering as an option, would it be out of scope to add anisotropic filtering as well?

Got it to work:

On: Screenshot_1

Off: Screenshot_2

adhdandy commented 1 week ago

😮That was quick! It is going to look awesome especially with Omri's HD texture pack, that's where you can really tell the difference.

ViperAcidZX commented 1 week ago

Has anyone else ran into issues using ReShade with VorpalFix? I tried using that together with VorpalFix since OmriKoresh suggested when I asked for her to update the ReShade files, but the game refuses to launch, citing a "failed to find opengel32.dll in Windows" error according to the pop-up console yet the game works fine when both VorpalFix and ReShade are not present at the same time.

You can add that to autoexec.cfg:

seta s_Alice2URL "..\..\Alice2\Binaries\Win32\AliceMadnessReturns.exe"

You can customize the path like this, in my example this is the path used by the game.

Thank you, I didn't know about that it was possible to edit the launch path like this for Alice Remastered!

Wemino commented 1 week ago

Has anyone else ran into issues using ReShade with VorpalFix? I tried using that together with VorpalFix since OmriKoresh suggested when I asked for her to update the ReShade files, but the game refuses to launch, citing a "failed to find opengel32.dll in Windows" error according to the pop-up console yet the game works fine when both VorpalFix and ReShade are not present at the same time.

Likely a conflict between both, sadly I can't provide support for ReShade since I am not making it. Try to see if it has support for dll addons, mine is just a simple override of winmm.dll.

CRASHARKI commented 1 week ago

Another suggestion, in the original you could enable and disable the Console from the options menu, would this be viable?

Wemino commented 1 week ago

Another suggestion, in the original you could enable and disable the Console from the options menu, would this be viable?

I think it might be easier to leave it as a ini setting, since you can toggle it whenever you want it or not.

CRASHARKI commented 1 week ago

Also, could the mouse resize be optional since everything else can be customized on the ini? I actually liked that the in-game mouse size was on par with the actual computer mouse size.

Wemino commented 5 days ago

New update is out for those who want to test the new features!

Has anyone else ran into issues using ReShade with VorpalFix? I tried using that together with VorpalFix since OmriKoresh suggested when I asked for her to update the ReShade files, but the game refuses to launch, citing a "failed to find opengel32.dll in Windows" error according to the pop-up console yet the game works fine when both VorpalFix and ReShade are not present at the same time.

Can you try again with the new version? https://github.com/Wemino/VorpalFix/commit/09734280a3f8b25763f010443122a0276696eb90 might fix this.

ViperAcidZX commented 5 days ago

Can you try again with the new version? 0973428 might fix this.

Just tried it out and it is working with ReShade again! Before neither the standard or Add-Ons version of ReShade would work with VorpalFix. I did notice though the game seems to "hang" for a moment before closing the game when ReShade is installed when I closed the game via Alt+F4.

New update is out for those who want to test the new features!

I'm loving the new features I'm seeing already, the game looks even better and is starting to feel more in line to how it was on the console versions. Thank you for this update! I don't know if it would be out of the realm of possibility, but could SDL2 (or possibly SDL3) be implemented to expand on controller compatibility for the game?

Wemino commented 4 days ago

I'm loving the new features I'm seeing already, the game looks even better and is starting to feel more in line to how it was on the console versions. Thank you for this update! I don't know if it would be out of the realm of possibility, but could SDL2 (or possibly SDL3) be implemented to expand on controller compatibility for the game?

I will try to add this at some point, could be useful to detect a playstation controller.

CRASHARKI commented 4 days ago

I have a PS4 controller and using DS4Windows it works perfect with the game.

vini1264 commented 4 days ago

The new update is amazing, one thing I'd like to point out, I have a 1366x768 monitor and I've noticed that the TGA save game screenshots are pretty distorted at this resolution, here's a comparison:

1280x720: gvillage0001

1366x768: gvillage0002

I wonder if it would be possible to fix this

Also, when starting Alice for the first time without any config files set, the game always defaults to 8bit sounds, which makes it sound muffled and lower quality unless you disable this option in the menu. Would be nice to have Vorpalfix defaulting the game with the 8bit option disabled.

Wemino commented 4 days ago

I wonder if it would be possible to fix this

I actually tried to fix this when working on the crash that happen when you save at this resolution, I couldn't get to fix it but I didn't spend that much time, I'll give it another shot at some point.

Also, when starting Alice for the first time without any config files set, the game always defaults to 8bit sounds, which makes it sound muffled and lower quality unless you disable this option in the menu. Would be nice to have Vorpalfix defaulting the game with the 8bit option disabled.

Good idea, I'll add that in the next release.

I have a PS4 controller and using DS4Windows it works perfect with the game.

How does the device manager see the controller when using DS4Windows? (What's the PID and VID of the device?)

ViperAcidZX commented 4 days ago

I do have a temporary workaround for the game defaulting to 8-bit sounds, add this to your autoexec.cfg or config.cfg:

seta s_loadas8bit "0"

I also noticed a small issue with the disable letterbox feature where the letterboxes comes back for a brief moment in the Pool of Tears level during its opening cutscene. I don't know if there are other levels that are affected. Speaking of the Pool of Tear's cutscenes, I noticed some of the character and object shading stops working when the cutscene transitions into gameplay, I don't know if its related to configuration settings or a bug in the game.

CRASHARKI commented 4 days ago

How does the device manager see the controller when using DS4Windows? (What's the PID and VID of the device?)

I don't know what PID or VID are nor how to check them out, but when using DS4Windows the controller is recognized as a Xbox controller, this shows up on Devices and Printers:

image

(Wireless Controller is the controller itself and the right one shows up when DS4Windows is being used).

ViperAcidZX commented 4 days ago

How does the device manager see the controller when using DS4Windows? (What's the PID and VID of the device?)

I don't know what PID or VID are nor how to check them out, but when using DS4Windows the controller is recognized as a Xbox controller, this shows up on Devices and Printers:

It should be possible to find your device or virtual Xbox 360 Controller through Window's Device Manager.

  1. Press Windows Key + X keys → select Device Manager.
  2. Look for your controller amongst the list of devices. Assuming DS4 Window's version of the Xbox 360 Controller shows up under "Xbox 360 Peripherals", it should be listed under that section as "Xbox 360 Controller for Windows".
  3. Right-click the controller → choose Properties, then go to the Details tab, find Hardware IDs from the drop-down menu under Property, and you should have your devices PID and VID values.

I sadly don't have DS4Windows on my machine since I use a hardware solution from Mayflash's Magic NS-2/Pro 2 adapter that converts DualShock 4 (and other compatible controllers it supports) to an Xbox One controller.

CRASHARKI commented 4 days ago

How does the device manager see the controller when using DS4Windows? (What's the PID and VID of the device?)

Found it! (Thanks, @ViperAcidZX) Some stuff is in spanish but I don't think it's important: image

Wemino commented 4 days ago

How does the device manager see the controller when using DS4Windows? (What's the PID and VID of the device?)

Found it! (Thanks, @ViperAcidZX) Some stuff is in spanish but I don't think it's important: image

So DS4Windows is spoofing a Xbox controller, I thought it would maybe be possible to get the Sony's device VID/PID but due to how it work, apparently not. Not sure if trying to detect DS4Windows would be a clean way to automatically use the PS3 assets.

CRASHARKI commented 4 days ago

So DS4Windows is spoofing a Xbox controller, I thought it would maybe be possible to get the Sony's device VID/PID but due to how it work, apparently not. Not sure if trying to detect DS4Windows would be a clean way to automatically use the PS3 assets.

This is the PS4 Controller details without DS4Windows, it is detected as an Audio Device: image

CRASHARKI commented 4 days ago

Btw, the 8 bit audio and other stuff being in low quality by default can be changed editing default_pc.cfg (and default_pc_fra.cfg for french). It might be easier doing it like this, this way the ini file won't be so plumped while also editing all the options to be in high quality by default.

Wemino commented 4 days ago

Btw, the 8 bit audio and other stuff being in low quality by default can be changed editing default_pc.cfg (and default_pc_fra.cfg for french). It might be easier doing it like this, this way the ini file won't be so plumped while also editing all the options to be in high quality by default.

I'd rather not change the default config files if this can be done with a code patch, but it's probably something I can remove from the ini file indeed.

CRASHARKI commented 4 days ago

I don't know if this is possible, but it would be great to be able to make language specific mods, like a pk3 that loads after the loc\base[language].pk3, so that the other languages can have HD mods and stuff like that too. Maybe something like the mods being placed on the loc folder and starting with the specific language name, like "base[language]_[mod name].pk3". It would be so good, but maybe it's too much to ask.

Wemino commented 4 days ago

I don't know if this is possible, but it would be great to be able to make language specific mods, like a pk3 that loads after the loc\base[language].pk3, so that the other languages can have HD mods and stuff like that too. Maybe something like the mods being placed on the loc folder and starting with the specific language name, like "base[language]_[mod name].pk3". It would be so good, but maybe it's too much to ask.

I am not sure about the feasibility of this yet, I know some of the artwork needs to be remade because the text is on the images.

Wemino commented 3 days ago

The new update is amazing, one thing I'd like to point out, I have a 1366x768 monitor and I've noticed that the TGA save game screenshots are pretty distorted at this resolution, here's a comparison:

1280x720: gvillage0001

1366x768: gvillage0002

I wonder if it would be possible to fix this

Also, when starting Alice for the first time without any config files set, the game always defaults to 8bit sounds, which makes it sound muffled and lower quality unless you disable this option in the menu. Would be nice to have Vorpalfix defaulting the game with the 8bit option disabled.

I fixed this issue with the new release, the game doesn't like when the resolution width is not a multiple of 4.

ViperAcidZX commented 3 days ago

Is it just me or does EnableControllerIcons = 0 not working as intended? I have it set to 0 yet the controller icons appear in menus when I have a controller plugged in.