• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
Well, I think it's time to finalize Victoria validation. To that end, I am uploading version 0.6.4 aiu of the Validator. aiu represents alpha, internal, unstable, so do not download if you just want to use the validator. For that, use the link on the front page.

If you want to help finish the validator for Victoria, also keep in mind that some things do not work - such as fixing typos in place. After validating, please post the issues that the validator still has. I will then upload a new set of text files, and the process will repeat until the validator is finished.

Download for the validator is in the Eu3 modding forum. If you have problems accessing it, please tell me, and I'll try to find an alternate method. The download is [post=10598242]Here[/post]
 
Some issues which I've noticed when using:

1) '-2' is an acceptable entry for the 'where' field in the 'revolt' command (IIRC it means the capital of the country).

2) It still seems to be case sensitive - many capital letters are identified as bugs, though don't really matter. For example, 'Name = "' is not accepted, whereas 'name = "' is.

3) 'continent = [america/europe/asia/oceania/africa]' is a valid trigger (and I imagine the other continents are too)

4) Having a 'when' field for the 'add_division' command is allowed, though it may be bugged.

5) Sometimes when pressing the crosses a lot it will go to the information screen for some reason. This happened in previous versions too. It might be nice to be able to select various validations to disregard all at once, or maybe even by unclicking, say, events to remove the events validations from the list.

6) 'trusts', 'mafia', 'rottenboroughs', 'machine_politics' and 'spoil_system' are also valid corruption types which can be used in the 'gain_building' command.

7) When validating scenarios it says that the .eug files need to be all contained in one .eug file, but they don't (i.e. the 'header' field doesn't have to be in the same file as the 'globaldata' field). They can be cited through one .eug file, however (as is done in VIP).

8) The validator doesn't seem to understand the setup where a leader is part of an existing unit in the .inc files (see Carlist Spain in VIP).

9) It doesn't recognise 'naval_base' in the .inc files (IIRC used in vanilla 1914 scenario).

10) The validators doesn't seem to recognise/understand about the colony block system as used in VIP.
 
1) '-2' is an acceptable entry for the 'where' field in the 'revolt' command (IIRC it means the capital of the country).
Fixed.
2) It still seems to be case sensitive - many capital letters are identified as bugs, though don't really matter. For example, 'Name = "' is not accepted, whereas 'name = "' is.
Won't fix. Easy to deal with by mass search-replace. For maintainability, case-sensitivity is good - would you want to look at "nAmE" all the time?
3) 'continent = [america/europe/asia/oceania/africa]' is a valid trigger (and I imagine the other continents are too)
Fixed for the above five. Are there any more continents?
4) Having a 'when' field for the 'add_division' command is allowed, though it may be bugged.
What values can the when field take?
5) Sometimes when pressing the crosses a lot it will go to the information screen for some reason. This happened in previous versions too. It might be nice to be able to select various validations to disregard all at once, or maybe even by unclicking, say, events to remove the events validations from the list.
Will fix/will add.
6) 'trusts', 'mafia', 'rottenboroughs', 'machine_politics' and 'spoil_system' are also valid corruption types which can be used in the 'gain_building' command.
Fixed.
7) When validating scenarios it says that the .eug files need to be all contained in one .eug file, but they don't (i.e. the 'header' field doesn't have to be in the same file as the 'globaldata' field). They can be cited through one .eug file, however (as is done in VIP).
Known, and might fix, depending on complexity.
8) The validator doesn't seem to understand the setup where a leader is part of an existing unit in the .inc files (see Carlist Spain in VIP).
Fixed.
9) It doesn't recognise 'naval_base' in the .inc files (IIRC used in vanilla 1914 scenario).
Will fix.
10) The validators doesn't seem to recognise/understand about the colony block system as used in VIP.
Will fix.
 
Won't fix. Easy to deal with by mass search-replace. For maintainability, case-sensitivity is good - would you want to look at "nAmE" all the time?
Fair point. I'm inclined to agree.
Fixed for the above five. Are there any more continents?
Not that I am aware. It seems the Americas are just counted as one continent, and Antartica isn't in, obviously.
What values can the when field take?
Any province number.

_____


Cheers for the update Jamie! Keep up the excellent work! :)
 
Any province number.
Thanks, this has now been added.

EDIT: Actually, I see that in the validator, there is already province number for where. Is this wrong?

Full line before fix:
Child = { type = "add_division" which = Division value? = { Literal = "none" Type = Brigade } where? = Province }

Does anything look wrong?
 
Some questions (for scenarios)

Land/Sea Division/Brigade ID numbers: What values can type take? Does the id have to be unique throughout each scenario? Is id even required for brigades?
Is location required for divisions and/or brigades?
Can you have a leader within a country clause?
Can you have a flagname within a country clause?
Factories: What values can type be? Does id have to be unique?
double_voting_parties should contain two party IDs?
Are strength/culture required or optional?
 
Land/Sea Division/Brigade ID numbers: What values can type take?
As far as I can tell it just needs to be unique for a country. I haven't tested this, but it appears to be the format applied.
Does the id have to be unique throughout each scenario?
They just have to be unique.
Is id even required for brigades?
No, as they can never be seperated from their division.
Is location required for divisions and/or brigades?
Yes. This is due to the POP system - need to know what soldiers are dieing and thus what ones need removing.
Can you have a leader within a country clause?
If you mean 'can you have a leader attached to a stack in the scenarios files?', then yes. See this:
Code:
landunit = {
	name = "Ejército Carlista del Norte"
	location = 695 ## Estella ## 
        id = { type = 7710 id = 1101 }

[B]	leader = {
		name = "Cabrera"
		category = general
		id = {
			type = 6    
			id = 7750
		}
		background = rising_star
		personality = skilled
		date = { year = 1833 }
		deathdate = { year = 1850 }
	}[/B]

	division = {
		name = "División Navarra"
	id = { type = 7710 id = 1102 }
		type = infantry
		quality = regular
		culture = spanish
		location = 695
		strength = 80
	}

	division = {
		name = "División Vitoria"
	id = { type = 7710 id = 1103 }
		type = infantry
		quality = regular
		culture = spanish
		location = 695
		strength = 60
	}

	division = {
		name = "División San Marcial"
	id = { type = 7710 id = 1104 }
		type = infantry
		quality = regular
		culture = spanish
		location = 695
		strength = 60
	}

	division = {
		name = "División Vizcaya"
	id = { type = 7710 id = 1105 }
		type = infantry
		quality = regular
		culture = spanish
		location = 695
		strength = 80
	}
}
Can you have a flagname within a country clause?
Yes. It goes like this:
Code:
flagname = "carlist"
Where the actual file name would be SPAcarlist.bmp (i.e. the extension is commented).
Factories: What values can type be? Does id have to be unique?
Same as for the divisions - type seems to be the same throughout a country (again: unsure if it has to be though) and id needs to be unique.
double_voting_parties should contain two party IDs?
I believe so. I'm not entirely sure what it does to be honest, but that seems to be the way in which it is applied.
Are strength/culture required or optional?
They are required. IIRC they don't cause a significant bug if not included, but it's still good to have them in (particularly culture).
 
Download v0.7.1 beta

Changelog said:
Bugfixes
The type mismatch correction dialog will no longer crash when confronted with a read-only file.
Fixed a PositivePercent bug.
Crusader Kings
Officially released for Crusader Kings Deus Vult.
Minor error in spelling of stability in triggers.

The main purpose of this release is a fix for the newer games (Eu3, Hoi3).
 
v0.7.2 beta has been released

Download v0.7.2b here

There have been a number of UI enhancements. Full changelog is below.

Code:
General
Duplicate ID errors now have their own problem correction.
Fixed several bugs that would cause validation crash (mainly in Hoi3).
Double clicking will jump to "correct problem" if "show error details" is unavailable.
Pressing enter will now have the same action as double clicking.
Fixed some annoyances with deleting and suppressing errors.
A few options have been added to make selection of validators somewhat easier.
In a type mismatch error, when there is a match but with differing case, the match will be suggested.
Validation Changes
Added self-validation for the AtMostOne constriant.
Added a RestrictedNumber constraint.
Removed the RestrictedInt constraint.
Moved the Percent type from code to Global.pdox.
Hoi2
Many improvements in scenario validation.
Fixed bug with division_exists trigger.
When validating commands, empty clauses are accepted.
When validating commands, incorrect "type" entries are pointed to.
Changed free_* commands to accept doubles, as they should.
Changed garrison trigger to have the "area" clause be optional.
In activate_division command, made when and where fields optional.
Added the info_may_cause command.
Command add_prov_resource now accepts a double for the value field.
Added commands night_move, night_attack, night_defense.
Added long form of technology trigger clause.
Added disorg_division command.
Added lock_division and unlock_division commands.
Added the "where = relative" optional clause to build_time and build_cost.
Commands manpower, supply_consumption, and fuel_consumption now accept doubles for value.
Added convoy_prod_mod command.
Add new_model and scrap_model commands.
Added weather and terrain attack/defense/movement modifier commands.
Added minisub_bonus command.
Added allow_building command.
Added land_percentage, air_percentage, and naval_percentage triggers.
Added range trigger.
Added songs command.
Removed ground_def_eff command as it may not exist, and needs further documentation.
Command civil_war is no longer only optional, but a child.
Commands build_cost and build_time now have doubles instead of ints for values.
Command industrial_modifier.value is now a double instead of an int.
Command industrial_multiplier has been added.
Command sce_frequency.value is now double, not int.
Added many scenario clauses.
Moved Rank and Skill types from code.
Eu3
Ht: Added dynasty clause to ruler clause in commands.
Ht: Added birth_Date and death_Date in country history (as opposed to birth_date and death_date), because many vanilla files have that.
"tag" trigger can now accept This as well as Tag.
Ht: Added "exclusive" option for province events, as seems to be the case.
Ht: Added cultural_decisions and hre_decisions clauses to decisions.
Added ai_hard_strategy clause inside country files.
Added militarist and peaceful AI personalities.
Province is_core trigger can now accept "current".
Added nationalism province command.
Province revolt_risk command now accepts doubles.
Ht: Added infamy command, infamy trigger, and infamy modifier command.
Command define_ruler now accepts lowercase as well as uppercase adm, dip, mil.
Added optional regency clause in define_ruler.
Triggers infantry_in_province and galleys_in_province now accept THIS and tags as well as ints. units_in_province also accepts tags now.
Command set_revolution_target now accepts "XXX".
Command with RebelType now accepts doubles.
Trigger war_score now accepts -1.0 to 1.0, inclusive.
Modifiers for events can now be from static_modifiers.txt as well.
Command remove_province_modifier can be used in country scope, and checks for proper modifier names.
Added in trigger and command relation.who, possibilities of "league_leader" and "emperor".
Removed some redundant scope declarations in the triggers file.
Added threat_countries and sea_zones mission types.
Province history - there can now be multiple revolts in a date clause.
Values for "adm", "dip", and "val" are restricted now to integers between 1 and 12, inclusive.
Triggers: Will now warn in case of "adm" and "ADM" in the same clause.
Trigger has_country_modifier will accept all sorts of modifiers now.
Added advisor types validation.
Added price calculation validation.
 
andy1.jpg


If that don't beat all? That just beats all I ever did see. Yep. I dying if I'm a lying. It just beats all. Don't that beat all? I'm a-telling you it does. That boy just dug in there and went to work and afore I knew it he done went and beat all.
 
Working Version 0.7.4.12 is available for download

--> Download Validator v0.7.4.12 <--


NOTE: This version requires the .NET Framework 4.0 Client Profile!!!
Download the Framework here: http://www.microsoft.com/downloads/details.aspx?FamilyID=5765d7a8-7722-4888-a970-ac39b33fd8ab

Problems have been reported. If the Validator immediately fails with an error message in the bottom window, try deleting the file "Extension\Bin\Audax.Clausewitz.Validator.Extension.Fs.dll". Please report back on if this fixes the problem or not; and if not, post any error messages encountered.

Changelog
Code:
General
Improved an error message for items in a list.
Fixed crash in unique ID constraint in certain specific cases.
Validation jobs can now have tooltips, by adding a localizable Description node.
Added more internal error checks to node selection clauses.
Fixed a bug in the parser where a single comment mark in a file, with no other contents, would cause the validator to crash.
A bug in context validation has been fixed - now, only one ContextValidatorInfo is accepted, whereas before multiple ContextValidatorInfo would leave the system in an unstable state.
Context validation is now lazily loaded - unless context validation is needed, files will not be scanned.
Eu3
Added modifier command "merc_maintenance_modifier".
H3T: Region files are now checked so that wasteland provinces are not included in any regions.
Continent files are now checked for duplicate provinces.
Continent files are now checked to make sure that all land provinces are included.
Country files: graphical_culture field is now checked.
Climate files are now checked.
Native files are now checked.
Added country trigger "hre_size".
Victoria
Added missing self-validation for RunPopValidator.
 
Last edited:
Working Version 0.7.4.13 is available for download

--> Download Validator v0.7.4.13 <--


NOTE: This version requires the .NET Framework 4.0 Client Profile!!!
Download the Framework here: http://www.microsoft.com/downloads/details.aspx?FamilyID=5765d7a8-7722-4888-a970-ac39b33fd8ab

Changelog
Code:
General
Added the ability to "catch" validation errors and perform actions such as appending additional information to the error message.
Removed dependency on the F# library, which was causing problems with some users.
Improved a validation error message when validating certain types of events from older games.
Eu3
H3T: Wasteland provinces are no longer expected in natives.txt.
Ocean provinces are now accepted in region.txt.
Errors in map validation are better explained.
"hre_size", "has_hre_emperor_modifier" and "has_hre_member_modifier" are now province triggers as well as country triggers.
Ftg
Added country validation.
Added technology group validation.
Added special country validation.
Added cultures validation.
Added goods validation.
Added localization validation.
Added event validation, which still appears to have many false positives.
Hoi2
Improved AI validation.
Rome
Fixed bug in event validation where events called only by character events were errorneously reported as having no callers.
Added trait validation.
Improved event validation.