#652: GMST Verifier

Involved development of the OpenMW construction set.
Riverwolf
Posts: 7
Joined: 14 Sep 2013, 22:14

#652: GMST Verifier

Post by Riverwolf »

Okay, I know it's been almost a month since I took up this job without any real progress, but I've been swamped by real life issues that prevented me from really sitting down and doing this. I think I can finally do this, now, though.

Now, before I really get started, there's a few things I need to know.

What problem is this program supposed to solve? (i.e., what would happen if this program weren't implemented?)
Will I be using the same data as this program? viewtopic.php?f=7&t=1658 (I suspect yes, but I want to be absolutely sure.)
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: #652: GMST Verifier

Post by Zini »

I am not sure if you have understood the feature.

The verifier is a function of OpenCS that checks the records for potential problems (invalid values, inconsistent values, dangling references, missing records and so on). This is done via subclasses of the Stage class. Your task is to add stages that check for the correctness of records of type GMST.
Riverwolf
Posts: 7
Joined: 14 Sep 2013, 22:14

Re: #652: GMST Verifier

Post by Riverwolf »

Yeah, I'm not sure I understood, either.

I'm trying to work out exactly what I'm doing by poking around the operator.hpp and stage.hpp files. After a quick google search, I can also assume that this feature is designed to help guard against this? http://www.mwmythicmods.com/argent/tech ... tamination
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: #652: GMST Verifier

Post by Zini »

GMST contamination is not an issue in OpenCS (it just does not happen). And I doubt that the verifier would be able to catch much of the contamination caused by TES-CS, because while seen as undesirable most of the contaminated values would still be valid.
Riverwolf
Posts: 7
Joined: 14 Sep 2013, 22:14

Re: #652: GMST Verifier

Post by Riverwolf »

Okay, after poking around the tools folder, I'm still confused.

I see that the verifier inherits from the operator class, and so I can assume I'm going to need some of those functions. However, I don't know what the stage class is, and I can't figure out what it is since it hasn't been finished yet for my reference. Since I don't know what the stage class is, I don't know how to properly use it.

Furthermore, I'm still confused as to what problem this function is designed to solve; as in, what would happen if it weren't there, and exactly where in the execution of OpenCS it is called. Is it run on open, or just when data is loaded? I would guess it's opened when data is loaded to make sure there's nothing wrong with the data, and that it would throw some sort of error if there's something wrong, and not load the data.

I think the thing I need to know is which file a verifier object is actually created. I'm currently searching through the entire OpenCS source code to find it, trying to follow from main.cpp, but so far, I haven't seen it.

EDIT: I think I found it.
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: #652: GMST Verifier

Post by Zini »

I see that the verifier inherits from the operator class, and so I can assume I'm going to need some of those functions. However, I don't know what the stage class is, and I can't figure out what it is since it hasn't been finished yet for my reference
You do not need to bother with the verifier class (well, except for its appendStage function).

Stages are added in CSMTools::Tools::getVerifier via this function.
Furthermore, I'm still confused as to what problem this function is designed to solve; as in, what would happen if it weren't there, and exactly where in the execution of OpenCS it is called. Is it run on open, or just when data is loaded? I would guess it's opened when data is loaded to make sure there's nothing wrong with the data, and that it would throw some sort of error if there's something wrong, and not load the data.
The verifier is executed when the user clicks on File->Verify. There is nothing more to it on the OpenCS side (though eventually we may add an option to automatically run this function before saving). You can open, edit and save content files that fail verification just fine. However if you try to load these files into OpenMW, you probably will get a crash or some other problems.
User avatar
sirherrbatka
Posts: 2159
Joined: 07 Aug 2011, 17:21

Re: #652: GMST Verifier

Post by sirherrbatka »

Is this tool complete? I don't think it covers cells, npcs, creatures, weapons etc. at the moment. If it does, where is the code located?
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: #652: GMST Verifier

Post by Zini »

Not even remotely complete. So far anyone who took a task for this feature chickened out on it. Admitedly these tasks are not particularly interesting and require a good amount of background knowledge regarding ESX records and MW in general.

I have implemented some parts of the verifier and you can find these in apps/opencs/model/tools. That's all we have for now.
User avatar
sirherrbatka
Posts: 2159
Joined: 07 Aug 2011, 17:21

Re: #652: GMST Verifier

Post by sirherrbatka »

Do you mind me taking it? I will certainly not give up without a fight. I don't have a lot of morrowind modding background but I think I know this game good enough to do this, and if I want to write description for referencables I will get to know it even better. Plus, this is actually needed feature ;-)

I can't promise that this will be done in excelent time, though.
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: #652: GMST Verifier

Post by Zini »

Great. Search the current roadmap with the keyword "verifier". That should yield plenty of tasks.
Post Reply