Third Party Libraries and Includes for Exodus

Official support forum for the Exodus Emulation Platform

Moderator: Nemesis

Post Reply
ryanfaescotland
Very interested
Posts: 53
Joined: Mon Feb 09, 2015 10:46 pm
Contact:

Third Party Libraries and Includes for Exodus

Post by ryanfaescotland » Sun Apr 08, 2018 9:32 pm

Hey folks,

The sites for 2 of the libraries for Exodus have dropped off the web, libtiff and zlib, but they are still available via the Way Back Machine:

libtiff - https://web.archive.org/web/20170422022 ... -4.0.3.zip
zlib - https://web.archive.org/web/20160312092 ... lib128.zip

However I'm having real issues getting the system to run and I think it might be related to the Windows SDK. Does anyone know what version we are meant to use from here: https://msdn.microsoft.com/en-us/micros ... -msdn.aspx

When I go through with the debugger I can see it is calling DialogBox from WinUser.h which is coming from C:\Program Files (x86)\Windows Kits\8.1\Include\um but I'm wondering if this is the correct version or if it should be an earlier one? Trying to switch it for 7.1 but it isn't as easy as just switching the environment variable sadly.

The specific issue I am having, should anyone want to help with that is at line 978 the following call returns 0 when it needs to return 1 to indicate success (I haven't been able to tell yet what is actually failing):

Code: Select all

INT_PTR dialogBoxReturn = DialogBox(hInstance, lpTemplate, hWndParent, lpDialogFunc);

Sik
Very interested
Posts: 939
Joined: Thu Apr 10, 2008 3:03 pm
Contact:

Re: Third Party Libraries and Includes for Exodus

Post by Sik » Mon Apr 09, 2018 12:04 am

ryanfaescotland wrote:
Sun Apr 08, 2018 9:32 pm
The sites for 2 of the libraries for Exodus have dropped off the web, libtiff and zlib, but they are still available via the Way Back Machine:

libtiff - https://web.archive.org/web/20170422022 ... -4.0.3.zip
zlib - https://web.archive.org/web/20160312092 ... lib128.zip
Um what?

libtiff - http://download.osgeo.org/libtiff/
zlib - https://zlib.net/

Also it seems that returning 0 means that the hWndParent is not valid (so first figure out why that is broken):
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
Sik is pronounced as "seek", not as "sick".

ryanfaescotland
Very interested
Posts: 53
Joined: Mon Feb 09, 2015 10:46 pm
Contact:

Re: Third Party Libraries and Includes for Exodus

Post by ryanfaescotland » Mon Apr 09, 2018 5:30 pm

Sik wrote:
Mon Apr 09, 2018 12:04 am
Um what?

libtiff - http://download.osgeo.org/libtiff/
zlib - https://zlib.net/
Ahh good, it's just the direct links from https://www.exodusemulator.com/downloads/source that no longer work. I didn't try looking for alternatives on the same address before jumping to the WayBackMachine.
Sik wrote:
Mon Apr 09, 2018 12:04 am
Also it seems that returning 0 means that the hWndParent is not valid (so first figure out why that is broken):
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
Thanks Sik, I continued working on it after my post and got that far as well. The pointer seems to be valid in the other calls to it so I'm thinking it is either getting invalidated somewhere of the callback to ExodusInterface::LoadPluginProc is failing which is returning the same error result (although I'm not sure if this would happen, perhaps you can confirm? I see in the docs it should be -1 on any other failure).

EDIT - Fairly certain it is returning 0 erroneously (in the sense that it isn't caused by an invalid hWndParent). It looks to be making several calls to ExodusInterface::LoadModuleProc with 'Message' values that don't exist in the switch, hence it is returning FALSE which equates to 0. Shall keep digging in why it is using these Message values.

FURTHER EDIT - I'm getting closer! I just copied a pile of files from the distributable version over the source code version (config files like the Modules, WorkSpaces and so on) and it started working. Going to clear it all out again and start from scratch to work out what was / is (sadly I copied too much stuff over in a rage the first time to keep track).

FINAL EDIT - Nope, I'm giving up for the night. The best I can get is it runs 'properly' for a couple of runs and then starts throwing up the same errors. By properly I mean it at least loads but I'm getting reported speeds of around 3fps. However if I replace the System.dll that gets built with the one from the downloadable build then I get proper speeds again back up the in 30+. It's still crashing whenever I set a breakpoint though which was one of the main things I picked it all up again. Will probably come back to it at some point but for now I'll stick to the prebuilt one and GENS.

ryanfaescotland
Very interested
Posts: 53
Joined: Mon Feb 09, 2015 10:46 pm
Contact:

Re: Third Party Libraries and Includes for Exodus

Post by ryanfaescotland » Wed Jul 25, 2018 10:48 pm

I haven't tried the source code again since last posting but the pre-built version seems to be running better. I think I might have re-installed the Visual Studio 2010 Shell between back then and now so that may have been the source of my problems. I don't think we'll ever know for certain though.

Nemesis
Very interested
Posts: 791
Joined: Wed Nov 07, 2007 1:09 am
Location: Sydney, Australia

Re: Third Party Libraries and Includes for Exodus

Post by Nemesis » Mon Aug 20, 2018 2:39 pm

Hmmm, I can't tell what might have gone wrong with your build, but I'm happy to see it seems like you resolved it in the end. I've just pushed a text document into the repo I had sitting in my local third folder. This gives the download links, and it's versioned so it'll be easy to match the required third party library versions for old builds. I've also updated to target the VS2017 compiler, which should be a bit easier to build with nowadays.

Post Reply