Accessing dialoguemanagerimp.cpp

Everything about development and the OpenMW source code.
Post Reply
User avatar
Folvyn
Posts: 4
Joined: 19 Feb 2017, 14:29

Accessing dialoguemanagerimp.cpp

Post by Folvyn »

Hello,
A change in version 0.41.0 to not allow disposition to go below 0 broke a feature in Uvirith's Legacy (the travel ring). This has since been fixed with the addition of a single line of code to dialoguemanagerimp.cpp that make this change only apply to NPCs not creatures in the source version of OpenMW on github. Is there a way that I could implement this fix on my 0.41.0 dialoguemanagerimp.cpp?
Thank you

Here is the thread where the problem was identified: viewtopic.php?f=40&t=4068
User avatar
Capostrophic
Posts: 794
Joined: 22 Feb 2016, 20:32

Re: Accessing dialoguemanagerimp.cpp

Post by Capostrophic »

Fork 0.41.0 branch, forward the commit and then compile OpenMW from source. ¯\_(ツ)_/¯
Allofich
Posts: 104
Joined: 28 May 2016, 12:50

Re: Accessing dialoguemanagerimp.cpp

Post by Allofich »

Another, more manual way: If all you care about is that one change, it's a simple change you can see here
https://github.com/OpenMW/openmw/pull/1183/files

If you're building OpenMW from source anyway, I would use the latest GitHub code, but if you don't want to do that, just copy the above change.
User avatar
Folvyn
Posts: 4
Joined: 19 Feb 2017, 14:29

Re: Accessing dialoguemanagerimp.cpp

Post by Folvyn »

Thank you both for helping me with this process. I'm attempting to compile the source and this is as far as it will get: Image

What am I doing wrong? Following instructions from here https://gist.github.com/ace13/de7f30454e99b3952405 and I believe I have followed all instructions. Any help would be appreciated.

EDIT: A more full view of my Git Bash: https://i.imgur.com/LL7mTdL.png
Allofich
Posts: 104
Joined: 28 May 2016, 12:50

Re: Accessing dialoguemanagerimp.cpp

Post by Allofich »

My best guess is that you don't have CMake in your "path." If you don't know how, try looking here http://www.computerhope.com/issues/ch000549.htm, or just choose to let CMake put itself in your path when you run the installation program for it.

If that's not it, I'm not sure what's wrong. But I think it's failing while trying to set up your Visual Studio solution file with CMake.

Edit: Another thing is that the script will give you files for a debug build by default, which is slow and for debugging. I assume you want the release build to play the game, so add "-c Release" to the "CI/before_script.msvc.sh -k -p Win64 -v 2015".

Also run Visual Studio with administrator privileges or the "INSTALL" build won't work. ("BUILD_ALL" will work even if you don't have administrator privileges.) And select "Release" as the build you want to make, not "Debug."
Last edited by Allofich on 19 Feb 2017, 19:35, edited 1 time in total.
User avatar
Folvyn
Posts: 4
Joined: 19 Feb 2017, 14:29

Re: Accessing dialoguemanagerimp.cpp

Post by Folvyn »

Thanks for your continued help.
Ok, previously CMake was in the path as CMake/bin which it did when I installed it. I changed it just to CMake to give it a shot and still no dice.Image
Allofich
Posts: 104
Joined: 28 May 2016, 12:50

Re: Accessing dialoguemanagerimp.cpp

Post by Allofich »

I have "C:\Program Files\CMake\bin\" in my path, so that should be the correct one. Make sure the slash in the path is the right direction, \ not /.

Edit: I mentioned my 7-Zip path as well, but yours should be fine, or the script wouldn't have gotten as far as it did.

If it still doesn't work, maybe try reinstalling CMake again.

Also I updated my earlier post with some information that might be helpful once you get past this problem.
User avatar
Folvyn
Posts: 4
Joined: 19 Feb 2017, 14:29

Re: Accessing dialoguemanagerimp.cpp

Post by Folvyn »

Thank you for your suggestions: I have reinstalled CMake and I am adding the "-c Release" tag so now the command is "CI/before_script.msvc.sh -k -p Win64 -v 2015 -c Release" (I hope that is right).
I apologize, but I do not know what you mean by the second portion of your instructions. Up until now, all I have done with Visual Studio is install it. What should I do with Visual Studio? When you say "run Visual Studio with administrator privileges," do you mean run the installer file as administrator or run the post-install "Visual Studio 2015" file as administrator?
Allofich
Posts: 104
Joined: 28 May 2016, 12:50

Re: Accessing dialoguemanagerimp.cpp

Post by Allofich »

I meant to run the post-install Visual Studio with administrative privileges.

When you run before_script.msvc.sh, it should make a "OpenMW.sln" file for you, which you will open with Visual Studio. When you do so, you'll see on the left, in the "Solution Explorer," different parts of the project, including one called ALL_BUILD and one called INSTALL. ALL_BUILD will compile OpenMW for you if you right click it and select Build. INSTALL, though, will not only compile if you right-click and select Build, it will put together the .dlls and everything you need in the right folders, in C:\Program Files\OpenMW. You'll probably just want to use INSTALL, since otherwise you'll have to manually move around the files you need.

But on my computer at least, if I don't run as an administrator, INSTALL compiles but doesn't work when it tries to move the files around unless I run the program as an administrator.

Also, when you compile, make sure the drop-down near the top of the screen says "Release" and not "Debug," and "x64" if you want to build 64-bit.
One final thing, you might want to delete the "deps" and "MSVC2015_64" (or equivalent) folders before running before_script.msvc.sh again, so you won't have any of the Debug build stuff remaining, unless you want that.
EDIT: I wrote this, but actually I think the downloaded dependencies are the same either way. Sorry if you already deleted them. You probably should delete the MSVC2015_64 folder, though, if you don't want Debug build stuff.
User avatar
Jyby
Posts: 408
Joined: 10 Dec 2013, 04:16

Re: Accessing dialoguemanagerimp.cpp

Post by Jyby »

Moved to Development
Post Reply