Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Balls of Steel - option to hide cursor #296

Open
Omni4 opened this issue Sep 7, 2024 · 31 comments
Open

Balls of Steel - option to hide cursor #296

Omni4 opened this issue Sep 7, 2024 · 31 comments

Comments

@Omni4
Copy link

Omni4 commented Sep 7, 2024

Hi Elisha, first of all: thanks for your wrappers!

I use dxwrapper (Dd7to9 & ForceDirect3D9On12) on Balls of Steal (GOG version) and it works like a charm, except for one thing: The cursor in the center of the screen (the cursor should not be there).
I've tried dinputto8 and it lets me move the cursor to the side, but it adds a nasty long exit of the tables and I still have to move the cursor every time I start a table.
Can you please add a "hide cursor" option to dxwrapper?

Greetings,
Omni4

@elishacloud
Copy link
Owner

That doesn't sound right. What build of dxwrapper are you using? Can you upload your logs?

@Omni4
Copy link
Author

Omni4 commented Sep 7, 2024

I'm using the latest build. Here are 2 logs:
dxwrapper-barbarin.log
dxwrapper-duke.log
Edit: Each table has separate log files because the ddp files are just renamed executables.

@Omni4
Copy link
Author

Omni4 commented Sep 7, 2024

Just discovered that the launcher that GOG use to launch Balls of Steal is the "BOS Loader v1.0" which is "inspired by the DirectDraw wrapper project".
The default bos.exe does not have the cursor problem, but the launcher is stuck in the top left of the screen.
I've also tested BOS Loader v1.1 and it gives the same cursor problem with a loading cursor.

@elishacloud
Copy link
Owner

Can you try with the latest unreleased build? This one may have a fix for this already: dxwrapper.zip

@Omni4
Copy link
Author

Omni4 commented Sep 7, 2024

Sadly not. The tables now give no output. Here's the log file:
dxwrapper-barbarin.log

Edit: Thanks for trying. It's past 02:00 over here,.. bedtime for me.

@elishacloud
Copy link
Owner

It looks like it is hanging at or after:

Installing memory management hooks

@elishacloud
Copy link
Owner

  1. Can you check if either of these files dbghelp.dll or dbgeng.dll exist in the game folder? If so back them up and delete them.
  2. Make sure you rename any ddraw or other similar patch from GOG. These can conflict with my patch.
  3. Try disabling any compatibility options for either of the exe files.

@Omni4
Copy link
Author

Omni4 commented Sep 8, 2024

dbg dlls are not present. removed all loaders and dlls except for audiow32.dll because it's needed to run the game.
No compatibility options are applied. Still gives the same crashes at the same place.

@elishacloud
Copy link
Owner

Ok, try this one. I disabled all those hooks: dxwrapper.zip

@Omni4
Copy link
Author

Omni4 commented Sep 11, 2024

With this one the game works again, but still shows the cursor in the center of the screen.

@elishacloud
Copy link
Owner

That build I just disable the features. Would you mind helping me troubleshoot this so that the features actually work?

I made some changes and added some logging to this build: dxwrapper.zip

This won't fix the mouse cursor issue, but I want to try and fix the other issue. I will also make an option to hide the cursor later as well.

Let me know if this build works or not. If it does not work please attach the debug build. Also, if you have another game you can test this will that would be good. Just to see if that is an issue with the game or your operating system.

@Omni4
Copy link
Author

Omni4 commented Sep 11, 2024

This one crashes at the same place, at "Installing memory management hooks".
dxwrapper-barbarin.log
I don't have much time atm. It's almost bedtime for me.

@Omni4
Copy link
Author

Omni4 commented Sep 11, 2024

Tested it with Jazz Jackrabbit 2 and it gives the same crash. dxwrapper-jazz2.log
It's loading the game, but there is nothing on screen. I have to stop the game via Task Manager.

I'm running it on Windows 11 build 27695.1000 rs_prerelease (Canary build).
DxWrapper v1.1.6900.22 is working without this problem.

@elishacloud
Copy link
Owner

Thanks for testing that. I suspect that the issue is the pre-release build. Should work with the release build.

As far as DxWrapper v1.1.6900.22, it does not have these features.

@Omni4
Copy link
Author

Omni4 commented Sep 11, 2024

You're welcome! Here's a debug log in case you can use it:
dxwrapper-duke nukem.log

@elishacloud
Copy link
Owner

Thanks! I plan to test the game later and fix any issues. But this crash is unique to your computer so I am hoping to figure out where it has the issue.

Can you test with this one and give me the logs? This will help me see where it crashes: dxwrapper.zip

@elishacloud
Copy link
Owner

Do you know if there is a demo or some way for me to test the game? The only one I could find was on Amazon for over $100.

@Omni4
Copy link
Author

Omni4 commented Sep 13, 2024

Sorry,.. busy days here.
I see they removed it from GOG. Probably because of the Duke Nukem table… :/ I still have the GOG installer if you want it. It’s updated to v1.3

@Omni4
Copy link
Author

Omni4 commented Sep 13, 2024

If you live in or near the US, you could try this option: https://www.amazon.com/dp/B0006H0MGO/?tag=mobygames02-20&aod=1

@elishacloud
Copy link
Owner

That is for the a Pinball game called "Balls of Steel". I thought you were playing Duke Nukem Forever: Balls of Steel Edition. Correct me if I am wrong.

@elishacloud
Copy link
Owner

Sure, happy to get the GOG version if you have a way to get it to me.

@Omni4
Copy link
Author

Omni4 commented Sep 13, 2024

That is for the a Pinball game called "Balls of Steel". I thought you were playing Duke Nukem Forever: Balls of Steel Edition. Correct me if I am wrong.

Ha,.. no. I'm playing the pinball game. A re-release is also available on Steam, but it has a custom loader and it's missing the Duke Nukem table.

@Omni4
Copy link
Author

Omni4 commented Sep 13, 2024

Thanks! I plan to test the game later and fix any issues. But this crash is unique to your computer so I am hoping to figure out where it has the issue.

Can you test with this one and give me the logs? This will help me see where it crashes: dxwrapper.zip

Here's the test log:
dxwrapper-barbarin.log

@elishacloud
Copy link
Owner

Here is the latest build. This should fix the crash. Also, I tested with Balls of Steel and Alt+Tab works fine for me. Also, I am not seeing the cursor issue.

Here is the latest build: dxwrapper.zip

@Omni4
Copy link
Author

Omni4 commented Sep 14, 2024

Thanks! That build fixed the crash.
Alt+Tab did work for me also, I just have the cursor problem, but that is probably an early access problem.

Did you remove the DdrawCreateDeviceEarly function from this build? That changed the loading cursor into a regular cursor for me. That way I can swipe the cursor into a corner while loading a table. Now it's showing the loading cursor again.

@Omni4
Copy link
Author

Omni4 commented Sep 14, 2024

I have an other request: Do you run Windows 11?
If so, can you share the DirectX files from your System32 and from your SysWOW64 folder? d3d*.* + ddraw*.* + dinput*.* + dx*.*?
I want to test if it has to do something with one of those files.

@elishacloud
Copy link
Owner

I did not have Windows 11, but last week I installed in on VMware so I can test this. It works fine for me. Here is what I do:

  1. I have the compatibility settings set to "Windows 98 / Windows ME"
  2. I am using this build: dxwrapper.zip

image

If you think there is an issue with one of your files in Windows you can run sfc /scannow from an Administrative Command Prompt. That should repair any damaged files.

elishacloud added a commit that referenced this issue Oct 1, 2024
DdrawCreateDeviceEarly #296
@elishacloud
Copy link
Owner

Did you remove the DdrawCreateDeviceEarly function from this build?

I removed that because it caused issues with some games and I was trying to make it so that "extra" options are not needed to play games. I want it so that you just set the singe dd7to9 option and it works.

Anyways, I updated the build and now I always do early device creation. I figured out the issue why some games don't work with early device creation and fixed it.

Try this build: dxwrapper.zip

@Omni4
Copy link
Author

Omni4 commented Oct 1, 2024

Hi,.. sorry for the late reply. Busy days here. I did run sfc /scannow several times before and it didn’t find any problems. I do think that I have a DirectX problem because I experience problems with some games like Avatar: Frontiers of Pandora. The game crashes frequently and when I use a DirectX to Vulkan wrapper, the game runs without crashes. I think that System File Checher does not check all DirectX files. That’s why I asked for the files.
I’m not at home atm. But I’ll try to check the new build tomorrow.

@Omni4
Copy link
Author

Omni4 commented Oct 2, 2024

Tested it today and it works, but I still have the cursor issue when I use the loader that's included with the GOG version. When I use the default loader (bos.exe) it does not have the cursor issue when a table is loaded, but the loader is stuck at the top left of the screen. Changing the compatibility settings to "Windows 98 / Windows ME" gives no difference.
Thanks for your hard and excellent work on this!

@elishacloud
Copy link
Owner

I tried this game with Windows 7, 10 and 11. All of them works for me. Make sure you have all compatibility option disabled except Windows 95/98 (see screenshot below).

I cannot try it with GOG, I am using the original game. Make sure you disable the GOG loader and any specific GOG files (ddraw.dll, dinput.dll, winmm.dll, etc.). Backup the files before deleting them so you can put them back if needed.

Here is the latest build I tested with: dxwrapper.zip

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants