Old Game Source Code - Help Recompiling?

Discussion in 'Repair, Restoration, Conservation and Preservation' started by Kao, Jul 16, 2016.

  1. Trident6

    Trident6 Spirited Member

    Joined:
    Oct 17, 2015
    Messages:
    119
    Likes Received:
    55
    Wild guess, but try changing the double backslash '\\' to a single forward slash '/'. Also check and make sure the case matches for the entire path to Base.h.
     
  2. Kao

    Kao Gutsy Member

    Joined:
    Dec 30, 2010
    Messages:
    458
    Likes Received:
    307
    I'm finding includes like that all over the place that try to reference the pathing rather than just the file itself. I've been able to clear those build errors out one at a time, but this rabbit hole just keeps going deeper and deeper.

    For example, one file is erroring because it can't find hash_map
    #include <hash_map>

    Another couldn't find xmmintrin.h which Google tells me is part of a free library called GCC. This is kind of terrifying since it suggests that the build may not compile without various other libraries that the developer did not include in their source code drop for the publisher.
     
  3. Trident6

    Trident6 Spirited Member

    Joined:
    Oct 17, 2015
    Messages:
    119
    Likes Received:
    55
    Yeah this is a pretty good example of code rot, and why you want to emulate the original development environment as best you can initially. Once it is working you can move it forward to more modern tools.

    hash_map is a C++ STL container and should be found by your compiler automatically, if you are erroring on it I think your paths may still not be correct. Same with xmmintrin.h, this is an SSE intrinsics header and should also be found by your implementation (GCC, Clang, etc also have their own implementation of the same file).

    You might verify that this version of Visual Studio can handle spaces in the include paths ("Program Files") and that you don't have to use the legacy format ("Progra~1"). Typically with large projects like this we have a configuration script that is distributed with the source and used to automatically set up system paths. You might look around and see if you can find any batch files that were used for this purpose.
     
  4. VerticalE

    VerticalE Robust Member

    Joined:
    Feb 28, 2012
    Messages:
    290
    Likes Received:
    177
    I am currently working through similar problems like yourself, some of the projects even requiring VS 5 + dependencies. It is not uncommon for projects to use a huge amount of external libraries for everything from rendering simple images to sound libraries etc. Just hope that you don't run into any DRM tool dependencies like SafeDisc (if so you'll have to edit the source). As for "hash_map" it sounds like something they made themselves so you'll have to see where in the source it is used and for what purpose.
     
  5. rso

    rso Gone. See y'all elsewhere, maybe.

    Joined:
    Mar 26, 2010
    Messages:
    2,190
    Likes Received:
    447
    About those missing system headers, do they exist somwhere within your native compiler setup? Maybe some of them didn't come with VS6 but were part of the XDK. Or maybe you just need a service pack, or some "processor pack" (= compiler update), for VS.

    Fwiw, official MS docs mention a hash_map only since VS 2003, yet begin with things that have changed compared to some undocumented previous version.

    edit: I just looked at an XDK (5933, only one I had on short notice) and whaddya you know there's a hash_map in there. Also grabbed a copy of VS6 and the file doesn't seem to be part of it. Still doesn't rule out the service packs or a custom implementation, but I would try the XDK first (install and add include path, don't change the whole project to use the xbox toolchain).
     
    Last edited: Jul 18, 2016
  6. Kao

    Kao Gutsy Member

    Joined:
    Dec 30, 2010
    Messages:
    458
    Likes Received:
    307
    Thanks again, everyone. Busy day today, so I didn't have much time to tinker, but I'll try installing the xdk and see if that makes a difference.
     
  7. Kao

    Kao Gutsy Member

    Joined:
    Dec 30, 2010
    Messages:
    458
    Likes Received:
    307
    Just a quick update. Looks like the XDK version I have (5849) doesn't want to integrate with Visual Studio 6, only with .NET, so I might have to get a different version of Visual Studio before those XDK libraries become available. (Or an earlier version of the XDK)

    [​IMG]
     
    Last edited: Jul 20, 2016
  8. jonwil

    jonwil Robust Member

    Joined:
    Dec 16, 2005
    Messages:
    256
    Likes Received:
    21
    Both hash_map and xmmintrin.h would have been included with Visual Studio 6. My guess is you need to install one of the service packs or patches for Visual Studio 6 to get those files (which one I dont know, its been ages since I have used Visual Studio 6)
     
    Kao likes this.
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page