Page 1 of 1

Exult in Dos

Posted: Mon May 18, 2009 9:48 am
by Malignant Manor
Lazy Dos Port of Exult with OpenGL support
(Let me know if you need it without OpenGL)


I lazily modified Exult to work with HX DOS-Extender so that it can be run in DOS from a Win32 binary. You need to download both the HXRT and the HXGUI packages.

You need to copy msvcrt.dll (opengl32.dll and glu32.dll too if OpenGL support is built) from Windows (should be in windows/system32). They go in HX/bin.

You need to set the environmental variable ([drive and path are what you set it]just type it and press enter):

Code: Select all

path=c:\HX\bin
Go in the exult folder, type exult and press enter. It should run if the cfg is setup, the dlls are in the right place, and the environmental variable is set.

There is no audio because SDL_mixer.dll was being loaded as SDL_mixer.dll instead of SDL_MI~1.dll. (Someone please explain how to change the sdl_mixer.dll name in the SDL_mixer source or some code that could be used to have DPMILD32.EXE call the shortened name. There may be problems getting it to work even if this gets fixed.

HX DOS-Extender has a dummy OLE32.DLL by default so I commented out RevokeDragDrop, ReleaseStgMedium, and RegisterDragDrop which might be causing some of the mouse screwiness shown below.


I have only done a little testing with basic settings but my results with DOSBox and Dos are:

DOSBOX:

It is seems playable in DOSBox, no mouse in Exult or game menus, It works in game but with awkward mouse movement (2.4 GHz cpu not fast enough?), noticeable screen drawing (cpu again?), and Teleporting around caused crashes. Screen size was not what it should be.

Few errors messages from when it crashed:

WSOCK32: NO PACKET DRIVER FOUND
Error at WSAStartup()


Dos (tested 98SE in Dos mode):

No mouse movement at all (could still doubleclick if fullscreen and something was on the cursor, fullscreen=no had the mouse free and not locked into the program) which makes the game unplayable. Maybe your mouse driver will act nicer. It has some graphical errors and the wrong screen size. Other than that it seems to run fast and nicely.


It should also work in FreeDOS or DosEmu too. No attempt has been made to try and port Exult Studio (or tools).

Re: Exult in Dos

Posted: Mon May 18, 2009 10:05 am
by Malignant Manor
You need to copy msvcrt.dll (opengl32.dll and glu32.dll too if OpenGL support is built) from Windows (should be in windows/system32). They go in HX/bin.
You can also link to the path if you have it on the system you are running Exult on like this:

Code: Select all

path=c:\HX\bin;path=c:\windows\system32
I only tested the dlls I took from XP though although Win 95+ should be good.

Re: Exult in Dos

Posted: Mon May 18, 2009 1:26 pm
by Dominus
you are crazy :)

Re: Exult in Dos

Posted: Mon May 18, 2009 3:24 pm
by Andrea B Previtera
Exult, dos, dosbox.

Malignant Manor: you're going to disrupt the very fabric of time.

Re: Exult in Dos

Posted: Tue May 19, 2009 12:53 pm
by Malignant Manor
SDL_mixer can be loaded by changing the name to SDL_mixe. The file causes an access violation so it currently isn't viable to use it.

I have allowed limited music (midi and ogg) playing capabilities on an unreleased version by just removing the SDL_mixer specific code but it has bugs. No sfx can be heard. Speech needs to be disabled else Exult will crash or hang when it plays. I couldn't hear anything under real Dos (it worked in DOSBox) but that may be an issue with my sound card.

Re: Exult in Dos

Posted: Tue May 19, 2009 5:07 pm
by MeddlingMonk
Is there a practical reason to run Exult in DOSBox? Or is it like mountain climbing?

Re: Exult in Dos

Posted: Tue May 19, 2009 10:20 pm
by Malignant Manor
Well, DOSBox may have more ports, but the machine needs to be pretty good to run Exult. The midi sounds different. I test changes in DOSBox and then try running Exult on a real Dos machine. I should probably setup a version of DOS/FreeDOS in Virtual PC. This port is just for the heck of it and to see how many or few changes would be needed to get Exult to work in Dos.

Re: Exult in Dos

Posted: Tue May 19, 2009 11:53 pm
by Wizardry Dragon
If anyone even mentions adding the Ultima VII memory manager, there will be several Eighths being lost.

Cheers, Wizardry Dragon
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca

Re: Exult in Dos

Posted: Thu May 28, 2009 2:51 pm
by marzo
I have unfrozen the thread, and deleted the off-topic posts as Dominus suggested.

Re: Exult in Dos

Posted: Thu May 28, 2009 6:54 pm
by Malignant Manor
Well, this is pretty much done anyway.

I have allowed limited music (midi and ogg) playing capabilities on an unreleased version by just removing the SDL_mixer specific code
This is false since Exult plays midi music if no ogg files are found I was tricked into thinking ogg music played.


Building with static -lSDL_mixer actually worked without a crash. So I guess only you only need to modify exult.cc and effects.cc (If I remember correctly.). I still didn't get any sound in real Dos with my sound card.

I got partial mouse movement in the upper left corner. I think it might have been from setting sdl to use directx. It still isn't really playable in Dos.

I think this is about all I'm going to mess with this pretty much useless experiment.

Fatal: Not able to open ./cache/production/data_global.php