How to Compile the Vox Populi DLL

Discussion in 'Community Patch Project' started by ASCII Guy, Dec 28, 2020.

  1. ASCII Guy

    ASCII Guy Chieftain

    Joined:
    Oct 30, 2019
    Messages:
    83
    Gender:
    Male
    Hello everyone! This is a guide on how to compile the Vox Populi DLL. I had to do a lot of trial and error to figure out how to do it, so I hope this is useful to someone :)

    1. Download Visual Studio 2008

    Install the Visual C++ Edition
    Spoiler :


    2. Download Visual Studio 2010
    If archive.org isn't working, try this mirror.

    Install the Visual C++ Edition
    Spoiler :


    3. Download and Install Service Pack 1 for Visual Studio 2010

    4. Download and Install the Latest Community Version of Visual Studio
    The only workload you need is "Desktop development with C++".
    Spoiler :


    5. Download and install Git
    Select the recommended option for "Adjusting your PATH environment":
    Spoiler :


    6. Clone the Vox Populi repository to your computer using the method of your choice (I personally recommend GitHub Desktop).
    Here's the URL of the repository: https://github.com/LoneGazebo/Community-Patch-DLL
    Spoiler :


    7. Open "VoxPopuli_vs2013.sln" on the root folder of the repository.
    You can now do a test build of the DLL! The compiled DLL should end up in "\BuildOutput\Release".
    Spoiler :


    If you’re getting an “unexpected precompiler header error”, try installing this hotfix.

    Here's some additional useful links:
    Python Script for Firaxis LiveTuner Autoplay
    Analyzing Minidumps with Windbg
     
    Last edited by a moderator: Mar 30, 2022
    ryanmusante, Hinin, CivYam and 11 others like this.
  2. HungryForFood

    HungryForFood Prince

    Joined:
    Oct 4, 2016
    Messages:
    471
    Location:
    Malaysia
    Good guide, having links which work for 2020 is nice, saves having to hunt for them.

    According to whoward, ModBuddy needs Visual Studio 2010 Isolated Shell, which should be installed after Visual Studio 2010 and before SP1.

    FYI, it is possible to use the latest version of Visual Studio. If I remember, you just need to install it after Visual Studio 2010 SP1. I am using Visual Studio 2019 now.
     
    ryanmusante, vyyt and ASCII Guy like this.
  3. glider1

    glider1 Deity

    Joined:
    May 29, 2006
    Messages:
    2,905
    Location:
    Where animals hop not run
    ASCII Guy likes this.
  4. CivYam

    CivYam Chieftain

    Joined:
    Jul 9, 2018
    Messages:
    33
    For anyone trying to do it now, it seems both Visual Studio 2010 Service Pack links above fail. Or rather, the links work, but the installers themselves don't, because the files the installers attempt to download are not available anymore.

    Eventually I was able to find an ISO at https://my.visualstudio.com/Downloads?q=visual studio 2010 service pack 1 by logging in with any old Microsoft account—it doesn't appear that you need a subscription.

    upload_2021-6-23_23-36-7.png
     
    Recursive, ASCII Guy and glider1 like this.
  5. CivYam

    CivYam Chieftain

    Joined:
    Jul 9, 2018
    Messages:
    33
    Is this the proper procedure for going from the repo to a modded Civ install?
    1. Copy "Community Patch" repo folder to "(1) Community Patch" in Mods folder.
    2. Copy DLL from "BuildOutput" to "(1) Community Patch"
    3. Copy "Community Balance Patch" to "(2) Community Balance Overhaul"
    4. Copy "EUI Compatibility Files\EUI Compatibility Files" to "(6a) Community Balance Overhaul - Compatibility Files (EUI)"
    5. Copy numbered 3, 4, 5, 7a, 7b folders to their respective matching folders
    Or is there some way I can just generate the installer?
     
    Last edited: Jun 24, 2021
  6. InkAxis

    InkAxis King

    Joined:
    Feb 24, 2020
    Messages:
    717
    Gender:
    Male
    Theoretically if you want to install it all, yes. But if you just want to build the DLL and update it then you only need to copy the DLL (step 2). The other steps you would only need to do once if you change something in them.
     
    CivYam likes this.
  7. Recursive

    Recursive Already Looping Moderator

    Joined:
    Dec 19, 2017
    Messages:
    3,030
    Gender:
    Male
    Delete the LUA subfolders in (1) and (2) if you're using one of the (6) mods.
     
    CivYam likes this.
  8. azum4roll

    azum4roll Emperor

    Joined:
    Jul 17, 2018
    Messages:
    1,859
    Gender:
    Male
    Don't you need to generate the modinfo files first?
     
  9. Recursive

    Recursive Already Looping Moderator

    Joined:
    Dec 19, 2017
    Messages:
    3,030
    Gender:
    Male
    You do if files were added or deleted from the repository.
     
  10. CivYam

    CivYam Chieftain

    Joined:
    Jul 9, 2018
    Messages:
    33
    Yes, I figured this out when I tried to use the latest version on GitHub, it errored out when I tried to build a Commando :lol:. I then had to figure out what ModBuddy was and how that worked, but it's all working now. So to add instructions on getting ModBuddy to work in case anyone else stumbles upon this thread:
    1. Install the VS2010 Shell. I was able to get this by searching "2010 Shell" under my.visualstudio.com, or click this link.
    2. Install (or reinstall) VS2010 SP 1, available again at my.visualstudio.com, here's a link. Note that I was able to do steps 1 and 2 after installing VS2019 without issue.
    3. In Steam, install "Sid Meier's Civilization V SDK". This gives you access to ModBuddy, which is a custom version of VS2010 which will generate modinfo files.
    upload_2021-6-29_9-6-27.png

    And, an updated set of instructions for going from an empty MODS folder to your very own personal Vox Populi install would be as follows:
    1. Open \VoxPopuli_vs2013.sln using VS2019, build VoxPopuli in Release mode. This generates the DLL in \BuildOutput\Release.
    2. Copy the DLL from \BuildOutput\Release to \Community Patch folder in the repo.
    3. Open \Community Patch\Community Patch.civ5sln. This opens ModBuddy. Build the project to add the Community Patch mod (with DLL) to your Civ 5 install.
    4. Open \Community Balance Patch\Community Balance Patch.civ5sln. Build the project to add the Community Balance Overhaul mod to your Civ 5 install.
    5. Open \EUI Compatibility Files\CBP Compatibility Files.civ5sln. Build the project to add the Community Balance Overhaul - Compatibility Files (EUI) mod to your Civ 5 install.
    6. Delete the LUA folders from (1) Community Patch (v 94) and (2) Community Balance Overhaul (v 13) in your Mods folder (\Documents\My Games\Sid Meier's Civilization 5\MODS\).
    7. Copy these five folders from the repo to your MODS folder:
      upload_2021-6-29_9-14-19.png
    That's it! Your MODS folder should look something like this:
    upload_2021-6-29_9-15-57.png
     
    glider1 and Recursive like this.
  11. CivYam

    CivYam Chieftain

    Joined:
    Jul 9, 2018
    Messages:
    33
    All that said, I've been having some bugs around not being able to select specialists and choosing conquered city fate, but I thought I'd wait until the next version released so I could see if these were due to my install or actual bugs in the mod :lol:
     
  12. balparmak

    balparmak Prince

    Joined:
    Sep 20, 2015
    Messages:
    333
    Angry bump - Microsoft for some reason removed vs2010 sp1 from there, or idk maybe it was made unavailable in my region, though pretty much everything else is still there. All other sp1's I found failed during installation (including the one in the OP), can someone upload it somewhere? Maybe we should have a backup in github or drive

     
  13. Recursive

    Recursive Already Looping Moderator

    Joined:
    Dec 19, 2017
    Messages:
    3,030
    Gender:
    Male
    https://drive.google.com/file/d/1NevJ0AiNFEDXKDm5FjZn1wzvvvOINF64/view?usp=sharing
     
  14. balparmak

    balparmak Prince

    Joined:
    Sep 20, 2015
    Messages:
    333
  15. Recursive

    Recursive Already Looping Moderator

    Joined:
    Dec 19, 2017
    Messages:
    3,030
    Gender:
    Male
    Hm. I'm not sure what to say then. :(
     
  16. balparmak

    balparmak Prince

    Joined:
    Sep 20, 2015
    Messages:
    333
    My bad, I've raged early. After painstakingly removing every hint of Visual C from my computer (using Microsoft's uninstall fixer on the stubborn ones) and making sure to install everything as administrator, ASCII's link worked just fine. I blame Microsoft and lack of sleep. Notes if anyone else is having problems:
    Most of the old vcredist/visual studio redistributable couldn't be uninstalled, so I tried to find their installers online, re-install and then remove them. For the stubborn ones I used Microsoft's own removal tool. Maybe there was no need to hunt for older vcredists, it's possible that the tool could've uninstalled everything: https://support.microsoft.com/en-us...-removed-cca7d1b6-65a9-3d98-426b-e9f927e1eb4d
    I'm not 100% sure but I probably used the link provided by bc1 for Visual Studio 2010 Express, here https://forums.civfanatics.com/threads/building-a-dll-based-mod-in-2019.645887/
     
    Last edited: Dec 21, 2021
  17. ASCII Guy

    ASCII Guy Chieftain

    Joined:
    Oct 30, 2019
    Messages:
    83
    Gender:
    Male
    A little PSA. Git must now be installed to build the Vox Populi DLL correctly. Instructions have been added the thread.
     
  18. Laz0r

    Laz0r Chieftain

    Joined:
    Oct 18, 2019
    Messages:
    90
    Gender:
    Male
    Could you update the guide with a step by step for properly setting up git for laymen such as myself? I continue to get error codes which persist even though I've set it up according to the guide and also tried different things. I've had no issues in prior versions so it can be assured this is purely a failure on my part to properly set up git.
     
  19. Milae

    Milae Prince

    Joined:
    Dec 17, 2019
    Messages:
    400
    Gender:
    Male
    Did you manage to sort your issues? I still get errors when I try to build.
     
  20. Laz0r

    Laz0r Chieftain

    Joined:
    Oct 18, 2019
    Messages:
    90
    Gender:
    Male
    Unfortunately I had to give up. I think the issue was with the way git has to be installed but I couldn't get any answers from anyone as to how exactly it should be set up.
     

Share This Page