Main Quest

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
User avatar
Greendogo
Posts: 1467
Joined: 26 Aug 2011, 02:04

Re: Main Quest

Post by Greendogo »

There are two separate problems you encounter when trying to do the first "Main Quest" quest:

1) The Dialogue Filter Functions are definitely returning the correct values. The problem is that you aren't getting the topic "Report to Caius Cosades" because it never gets added. In Vanilla Morrowind, it is added at some point between clicking the "New Game" button and entering your name. This is frustrating, because I'm unsure where this topic is added. I assume it is added via script, but checking all the relevant beginning scripts I can think of doesn't reveal where it is added. Maybe someone else will have some luck with this, because we need to find that point before we can figure out why this isn't working.

2) The second problem is just a superficial/usability problem. Once you get by the above issue by using "addtopic" to add the relevant topic there is still a problem with correctly displaying the proper links in dialogue, as seen here:
Image
As you can see, it shows Caius Cosades in the red color indicating that you can click on it for more info. This is incorrect, in this case, because the Vanilla Engine instead links "Report to Caius Cosades", not "Caius Cosades". I think the vanilla engine starts from the left hand side of a dialogue and makes the text a link with the first matching topic that exists, so in this case, the words "report to Caius Cosades" take precedence over "Caius Cosades".
Last edited by Greendogo on 23 Nov 2012, 12:00, edited 3 times in total.
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: Main Quest

Post by Zini »

Unless I am completely misremembering topcis are rarely added via AddTopic. The normal method is just to mention them somewhere in the dialogue text and MW would then add it automatically to the list of known topics. If that is the case, maybe our algorithm for doing that is broken.
User avatar
Greendogo
Posts: 1467
Joined: 26 Aug 2011, 02:04

Re: Main Quest

Post by Greendogo »

You're right, I just did a quick refresher. Perhaps your method for doing the hyperlinking is causing the issues then, since it splits the "Report to" and "Caius Cosades" up by only hyperlinking his name? Because the mention it gets in dialogue is definitely not forcing it to be added, as explicitly typing "addtopic "Report to Caius Cosades"" fixes the problem.
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: Main Quest

Post by Zini »

Can you please add an issue for it to the tracker? I am busy with something else right now and don't have the time to look into it. But maybe one of the other developers can have a go at it.
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: Main Quest

Post by Zini »

Added the issue myself. Thanks anyway.
User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51

Re: Main Quest

Post by scrawl »

Found the cause:

Code: Select all

    void DialogueManager::parseText (const std::string& text)
    {
        std::list<std::string>::iterator it;
        for(it = mActorKnownTopics.begin();it != mActorKnownTopics.end();++it)
        {
            size_t pos = find_str_ci(text,*it,0);
            if(pos !=std::string::npos)
            {
                if(pos==0)
                {
                    mKnownTopics[*it] = true;
                }
                else if(text.substr(pos -1,1) == " ")
                {
                    mKnownTopics[*it] = true;
                }
            }
        }
        updateTopics();
    }
Topics are only added if the text that mentions it has a space before the topic is mentioned. However, in german MW for example, it's mentioned with single quotes. Probably other languages also use several kinds of quotes, so it would be bad to explicitely check for that. I've just removed the check entirely now, and I don't see any problems with it.

Edit: Preparing pull request.
User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51

Re: Main Quest

Post by scrawl »

With this fix and after implementing modReputation / setReputation (opened another pull request for that), we can get until the Vivec informants part. Talking with Mehra Milo doesn't work because of the AI ("Follow me to the back of the library, we can talk there")
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: Main Quest

Post by Zini »

That is probably as far as we will get. I declare the dialogue part of 0.20.0 a success.
User avatar
sirherrbatka
Posts: 2159
Joined: 07 Aug 2011, 17:21

re: main quest

Post by sirherrbatka »

Image
User avatar
Greendogo
Posts: 1467
Joined: 26 Aug 2011, 02:04

Re: Main Quest

Post by Greendogo »

nice (sorry I didn't add the issue Zini, I was asleep)
Post Reply