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

Abashera (2003) OpenGL Game on Windows Issues #115

Closed
AlbertHamik opened this issue Sep 10, 2022 · 8 comments
Closed

Abashera (2003) OpenGL Game on Windows Issues #115

AlbertHamik opened this issue Sep 10, 2022 · 8 comments

Comments

@AlbertHamik
Copy link

AlbertHamik commented Sep 10, 2022

To preface, this game almost works in modern Windows, but for random people (it may be down the GPU drivers and type?) it will render all ingame textures as white making it basically impossible to play. I had tested this game out with the one Mesa3D drivers provided here https://fdossena.com/?p=mesa/index.frag But I understand this is likely a software renderer? Whereas this specific Mesa3D for Windows project does have support for hardware rendering? Anyways the software renderer works but is absolutely slow and choppy.

But when I try using this OpenGL wrapper with the game, I get back just a basic and vague error message saying:
image

Which from my basic research tells me this is apparently a VB6 error? This is seemingly a full 3D OpenGL game making use of Visual Basic 6, which from what I know seems absolutely strange. Though, this game itself is rather strange too so match made in heaven I guess.

I would like to figure out why this game won't cooperate with this particular Mesa3D wrapper but behaves just fine with that other software-based one. The game can be retrieved here, it's not too big: https://abashera-revamped.software.informer.com/download/

(excuse the dodgy looking URL; this game is so obscure despite being freeware that the above website was the only place I could find it)

@pal1000
Copy link
Owner

pal1000 commented Sep 11, 2022

You could also try the newer version of the game from 2004 v2.01: Link removed for being unusable.

Software informer seams to only have v1.0.0.1.

Don't expect major performance boost with newer Mesa3D versions even if they work. Only zink and d3d12 drivers support GPU acceleration with Vulkan and D3D12 respectively, but are less reliable than llvmpipe (swrast).

@AlbertHamik
Copy link
Author

I'd love to try that download you suggested but it's broken because it only leads back to the long-since-gone developers website. I would at the very least be interested to figure out why the game still does this nonsense with this alternate mesa3D wrapper.

@pal1000
Copy link
Owner

pal1000 commented Sep 11, 2022

Found a snapshot of the official website with functional download thanks to web archive
https://web.archive.org/web/20220619191931/http://maxmagnusnorman.com/free_games_programs/abashera_revamped.zip

I'll try running this myself to see if we can do something about that error.

@pal1000
Copy link
Owner

pal1000 commented Sep 12, 2022

I ran this game with both my Mesa build and latest from Federico Dossena and I think there is a regression somewhere in Mesa. You can try the latest point release from every development cycle I published in reversed chronology: 22.1.7, 22.0.3, 21.3.7, 21.2.5, 21.1.6, 21.0.3, 20.3.4, 20.2.3 and finally 20.1.8 (the last Federico Dossena provided as well). Once you identify the cycle you can repeat the process with point releases in that cycle until the exact regression release is found.

I estimate this whole thing to take roughly 1 hour if you don't work at anything else at the same time, otherwise it may even take 3-5 hours.

With more info you can open an issue here.

@AlbertHamik
Copy link
Author

AlbertHamik commented Sep 13, 2022

Okay so I took the time to briefly test going backwards on what you said to do, and I was getting the same issue. So, I decided to instead test forwards from the earlier releases of the repo and found something interesting. At the point in which opengl32.dll with this version of Mesa3D required the presence of libglapi.dll is when the issue finally appeared, whereas when you originally needed and had opengl32.dll and glaw.dll (x86, and libglapi was not a requirement yet), the game works. That last version being 19.2.7. There must be something going on making this game conflict with libglapi.dll and whatever it does. BTW, this game gives zero helpful error messages, it's just that VB6 related error message for libglapi releases onwards.

One minor thing to note (and someone else had brought this up on SF to me when testing the game with Dxwnd) is that it will report not being able to initialize opengl, but the game will work just fine AND without the rendering bugs (well, the white texture render bug anyways; there's the one bug where big image surface textures will do this diagonal shimmer thing when you get far away, I've seen this rendering bug in other OpenGL games before but don't know the term for it). I mean this is what they reported with Dossena's version, but the same thing happens for me with 19.2.7 and prior with opengl32.dll + glaw.dll; it works, it just makes a brief fuss at launch that it's "not initializing" for some reason.

(Also I'm assuming, speaking as not really an expert of Mesa3D stuff, that 19.2.7 is doing software rendering?)

(Oh yeh also we're all working with the same version of the game regardless of where it has been downloaded thus far; thought I'd just clarify on that now)

@qinlili23333
Copy link

Is there any guide for this game?
I can run it on my Intel UHD Graphics, but cannot figure out how to play it.

@pal1000
Copy link
Owner

pal1000 commented Sep 13, 2022

One minor thing to note (and someone else had brought this up on SF to me when testing the game with Dxwnd) is that it will report not being able to initialize opengl, but the game will work just fine

I saw that too with Federico's build.

So you identified that shared glapi library is the culprit. Great work. If so you should stick to Federico build until static glapi becomes viable again. The reason I enabled shared glapi was to get some OpenGL ES support and then in 21.3.0 when galium megadriver was introduced for Windows, static glapi build broke. Thankfully the static glapi build fix has no known downsides for OpenGL ES.

@AlbertHamik
Copy link
Author

AlbertHamik commented Sep 13, 2022

Well I'm admittedly not interested in pursuing the issue much more for now. I would like to see this game working correctly with hardware accelerated OpenGL eventually, just to see how well it was meant to play. Thanks again for your help there, I'm gonna occasionally check in on updates to glapi functionality but for now I guess software rendering is going to be the best way forward.

Is there any guide for this game? I can run it on my Intel UHD Graphics, but cannot figure out how to play it.

I'm gonna be honest, this game is absolutely confusing to me and also, extra sadly, its obscurity means that there's very little to go on out there for how you're meant to beat each level. In all the time since the game has existed, I think only 3-4 videos have been made that show levels being completed, the majority of them are coincidentally from this year and from some person who managed to get the game working correctly.

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

3 participants