Development on the Validator is continuing on progress. Support for individual games is being improved. There are also a few new features you may like.
Schemes
Schemes make it convenient to validate multiple games without having to retype paths over and over again. Now if you don't like schemes you will never have to use them. Just ignore the Scheme combo box, and keep typing your paths in as normal. That being said, Schemes are very convenient.
If you choose never to use schemes, you will always be using scheme <none>, which is the big blank space at the top left. Notice that right now the selected scheme is _MmpCurrent, and that the game path, mod name, and game list are all disabled. They are disabled when you are using any scheme except none. This is to prevent confusion, when you change the game path, but the change isn't saved inside the scheme. Instead, all changes to the scheme are made inside the scheme menu. To change something, just click on the area - they are all textboxes - and type something new.
Onto scheme management. To add a new scheme, just type inside the <new scheme> box. Once you exit the text box, a new <new scheme> scheme will appear below, and you can continue editing your scheme as desired. To delete a scheme, just press the X on the top-right of a scheme. Note that there are two special schemes - the <none> scheme, at the very beginning, and the <new scheme> scheme, at the very end. These cannot be deleted, for obvious reasons.
Right now the schemes are sorted alphabetically. Hence, by putting an underscore in front, _MmpCurrent becomes the very first item. If I had a lot of time, you would be able to just drag the schemes and rearrange them. However that is a bit too fancy, and the dots at the bottom left right now only serve as a reminder of where you can click to select a scheme.
Error Suppression
Tired of seeing the same errors over and over again? Well, now you don't have to see them any more, with the new feature called Error Suppression. To use, just right-click an error and select "Suppress Error".
The error will never show up again, at least not unless you make changes to the specific file. Note, though, that you can suppress only one error message at a time. In the above example, for example, suppressing the hard_ai_strategy error will only get rid of that one. The ones below that will remain. The solution to hard_ai_strategy is to actually fix the validation files. The main purpose of Error Suppression is to get rid of those few errors that you are not sure of at all.
If you want to reshow all errors, just go to the File menu and choose "Clear Suppressions". Note that you cannot reshow individual errors. Again, this is tied to the fact that Error Suppression is meant only to hide a few specific errors.
Now, how are the errors stored? Well, each error will generate an unique string ID on demand (the ID is not necessarily unique, which could cause problems). The suppressed errors are added to a file "Core\errorSuppressions.txt". When the validator detects a new error, it will first check if the file has an unique id that is the same as the new error. If it does, the error will never be added.
Below is a sample errorSuppression.txt. As you can see, the ids are mostly indecipherable, which is fine, since they should never need to be seen by human eyes. Instead, their purpose is to make sure, as much as possible, that different errors do not have the same unique ID. Included in the UID is the line and column numbers of the offending nodes. This is convenient, since even if something in the file above the node changes, the line and column numbers may not change, whereas the byte index of the node will almost certainly change. However, if the line number of the node does change, you will need to suppress the error again.
Code:
InvChild|NSE-PD:\Games\Eu3\mod\Mmp C10\common\country_colors.txt-NN-NL0-NC0--CNFLA-CL1062-CC1
InvChild|NSE-PD:\Games\Eu3\mod\Mmp C10\common\country_colors.txt-NN-NL0-NC0--CNQAS-CL1206-CC1
InvChild|NSE-PD:\Games\Eu3\mod\Mmp C10\common\countries\Aragon.txt-NN-NL0-NC0--CNai_hard_strategy-CL118-CC1
Other Changes
- Comment symbols now include '!' and ';', as they are valid comments in game engines.
- Copying errors is more reliable, as it will retry multiple times, and will not crash if unsuccessful on all attempts. Some people with terminal services had this problem.
- The global file now resides in the data folder.
- SelfValidation.pdox is no longer used. Validation will be handled internally (this is still to be implemented)