Closed Cerrseien closed 2 years ago
Since 0.83.22 came out today I've tried to use the cheat again. Same result.
Do you need any further information? Problem is still present with 0.83.23.
It seems that it works if you install the game on a booted PCDOS image, but crashes if you press Ctrl+ W a couple of times. According to the log there are lots of page faults, but I don't know whether it is a bug of WC3 or DOSBox-X.
It looks like the same error as here #3350.
Apply this patch. WC3 starts correctly with ems=true
.
It also works properly when using cheat codes. Certainly nothing freezes. I compared how it works with and without this patch.
@grapeli I applied your patch and it seems that WC3 -mitchell
work okay.
Destroyed X objects
appears on the screen if I press CTRL+W.
@maron2000 This is not "my" patch. I would never have made it up in my life. This is just a commit d02eef9 restored.
@grapeli Okay, even if it is not your idea, I appreciate your efforts for bisecting.
@maron2000 Contrary to appearances, git bisect is tiring. Usually associated with compilation errors.
This was also the case here. In addition, commit d013fa8 distorted the entire result. A dosbox-x crash was causing it. It had to be undone. In addition, the x86_64 version stopped building at some point, it was necessary to add a patch. At one point, she also caused the problem. I switched to x86_32. This is where the nullmodem.cpp
file was compiling inconsistently. In total, I have done maybe nearly 30 dosbox-x builds.
The compilation itself is very fast.
@maron2000
This fix is also beneficial for Strike Commander. Works fine with the default ems=true
, not causing dosbox-x to restart.
Can confirm that the problem is fixed with the patch:
I'll close the issue. Thank you very much.
Code of Conduct & Contributing Guidelines
Have you checked that no other similar bug report(s) already exists?
What operating system(s) this bug have occurred on?
Windows 10 21H2
What version(s) of DOSBox-X have this bug?
0.83.21 SDL2 mingw
Describe the bug
Launching Wing Commander 3 with the parameter "-mitchell" activates the cheat mode. Upon entering a mission the word "Mitchell" is being said, as an indicator that cheat mode is actually on. When using CTRL + W to destroy the current target, or CTRL + ALT + W to destroy all targets video suddenly halts. The explosion audio file is being played, and music is also running for a couple seconds. After those seconds audio stops as well, video occasionally glitches out, and DOSBox-X shows the error message "E_Exit" "IRET:Illegal descriptor type 0". When "-mitchell" is not being passed nothing happens upon pressing either CTRL + W or CTRL + ALT + W.
Expected behavior
The game is not expected to crash. Whatever is being targeted is supposed to be destroyed.
Steps to reproduce the behaviour
Used configuration
Emulator log
Additional context
I have set DOS.EMS to false since the game wouldn't even start without crashing hard upon startup. WC3 is configured to use SVGA for both gameplay and video, MT32-87 for music, and Soundblaster 16 for digital effects. English subtitles are activated. In order to solve problems with sound clipping I had to manually assign CPU cycles to 70000, which introduces some stuttering if capital ships are present, but make the movies run smoothly.
The version in question is the GOG version of which I took the ISO file and performed a custom installation of WC3 with, since I like to have one DOS emulator for three dozen different games (custom configurations are passed via parameters in batch files). This version has the content of all four CDs put into one image so that no CD switches are necessary.
As an aside I really don't appreciate the warning that "I am running in 24 bpp mode, this will slow down things". I am most certainly not running in 24 bpp mode, yet SDL has been complaining about this for years at this point.