PDA

View Full Version : ATV-TW: a trait (and future ancillary) validator for RTW/M2TW



Tamur
09-02-2006, 00:01
Though I'm not much of a modder, I do make tools as a profession and would like to contribute now that I've got some time to do so.

Interested traiters and ancillary modders, please take a look at this program. Note! you'll need the .NET runtime, as it was written in C#:

ATV-TW zipfile link (http://cicero.modwest.com/tactics/ATVTW.zip)

The program parses both traits and ancillaries, finds bugs in both, and allows the user to browse both in several different ways.

Two notes:

1) This tool was created simply to find bugs. It currently does not support the editing of the game files, since there are programs that do a nice job of this already. Or TextPad works nicely too.

2) There are a couple of functionalities that are not at all clear in the UI, which I'll be fixing in a UI-update version at some point:

- Trigger browsing. This is keyed to the currently displayed trait or ancillary -- i.e. hitting the ">" button on one of the triggers screens will get you the next trigger that bestows the current trait/ancillary.

- Trait search. If you click on the name of the trait on the Trait screen, it will allow you to edit the value, and hit a Search button. This will search for a trait name, part of which matches the string you typed in. This is not yet implemented for Ancillaries.

If you find it interesting or useful, please let me know what would make it even more useful. I am planning to get the design of the RTW version finalised in the coming months and then make changes for M2TW traits and ancillaries.

Myrddraal
09-02-2006, 00:27
Thanks Tamur!

Don't forget to add this to the database.
:bow:

repman
09-04-2006, 19:18
@Tamur
Excellent work, found already one bug in my files :2thumbsup:
waiting for the ancillaries check

repman

Tamur
09-05-2006, 19:08
I've just been informed that the name of this tool is rather vulgar in some parts of the world. Most of the time it's blissful to be completely culturally clueless. :oops:

Changing to ATV-TW for future.

Makanyane
09-05-2006, 21:55
Hmm, sort of liked the original name - as in don't be a **** use this validator!

Is it possible to make it downloadable rather that running live off the hosting site? Something in my security settings seems to be stopping it finding files and I'd prefer not to have to disable firewalls etc.!!

Thanks anyway for a really useful looking tool.

Tamur
09-05-2006, 23:11
hi Makanyane,

Oki, I had thought about making it a zip archive for the small bandwidth savings, but making it required-to-download via zipping it will probably save all sorts of trouble in future. I'll zip it up and change the link sometime tonight.

Myrddraal
09-06-2006, 00:21
I haven't tried it myself, but try right-clicking the link then choosing Save Target As, that should download the exe...

Tamur
09-06-2006, 06:03
Finally got some connected time, and now the 0.5 version is up, with the basics of Ancillary validation.

A couple of notes on what the 0.5 version does not do:


it does not find triggers that bestow invalid Traits or Ancillaries
it does not find bad image references on Ancillaries
it does not check that you have bestowed a valid Affect (i.e. the hard-coded RTW Affects)


I do plan to add each of these omissions in time, and probably the first one quite soon. But for now, what's there will catch most problems.

P.S. I also turned this into a zip file, which compressed quite a bit more than I had thought, so I'll zip future versions.

Tamur
09-08-2006, 16:10
OK, 0.7 is up.

This will now check for triggers that bestow non-existant ancillaries, and triggers that bestow non-existant traits.

Next version will be UI changes, though my schedule looks a bit busy for the next little while. I'll get it up as soon as I'm able.

Tamur
10-05-2006, 20:09
0.8 is up.

ATV-TW will now check the syntax of all trait and ancillary trigger conditions. This includes missing parameters, bad logic tokens, a few tokenised values, and any mistyped condition names.

Makanyane
10-05-2006, 22:19
Ok, so its only me that has problems with your downloads, sorry !!! - have saved v.8, but trying to open it is giving me - winRAR diagnostic message

! I:\Internet Downloads\Rome Total War\ATVTW.zip: Unexpected end of archive
any ideas? what version of .rar /.zip are you using?

Also (and I'm now cross posting as i just asked question on this in modding_questions, oops!) does v.8 cover valid trait effects?
If not do you know if there is a listing of them anywhere to check manually?

P.S. should have come back and said thanks before for previous versions - it does everything you said really well, a great help!

Tamur
10-06-2006, 03:36
Apparently it isn't just you, I've had a couple of people PM me with problems as well. I'll get a new zip onto my server in the next few minutes and then test it myself to see if I can unzip it.

Tamur
10-06-2006, 03:41
OK, new zip version up. I'm not sure of the problem. I'm able to open it ok and had one other person who was able to. Hopefully the new zip works for everyone.

edit: removed RAR link, this is no longer maintained

BozosLiveHere
10-06-2006, 05:23
Also (and I'm now cross posting as i just asked question on this in modding_questions, oops!) does v.8 cover valid trait effects?
If not do you know if there is a listing of them anywhere to check manually?


I think MarcusCamillus posted a list once....try looking for it in the Hardcoded Limits thread.

Tamur
10-06-2006, 06:49
Sorry for not answering your question any sooner, Makanyane... No, ATV-TW does not check for valid trait effects (or affects as they're termed in the traits file for some reason). I couldn't find any solid list to rely on for that check.

If you happen to find one, though, please let me know! That would be my next addition if it were possible.

Makanyane
10-06-2006, 08:49
Thanks Tamur, zip file works fine now.

BozosLiveHere, well remembered - thanks - post is no #150 here:
https://forums.totalwar.org/vb/showthread.php?t=42905&page=8

If I'm reading that right he's abstracted all the effects / affects used in all the versions of the traits files. Not sure if that means thats all that is possible?

rorarii
10-06-2006, 10:02
hmmmm, what I need now Tamur is a building validator. I've tried your trait and ancillary validator and it solved my problem in a few seconds. Excellent work.

I've added a new building to export_desc_buildings.txt and added descriptions in \text\export_buildings.txt file but continually get CTDs in the splash screen.

These CTDs are very annoying and I'm sure Validator software will save lots of time and frustration.



R

Tamur
10-06-2006, 16:58
@ Makanyane
Thanks! Exactly what I needed. I'll get that implemented as soon as possible, this morning if I can swing it.

@ rorarii
What would you want a building validator to do? I'm not much of an expert with the edb file. I'm assuming that you would need to validate that:

1. the building entries for each building match up with the "levels" enumeration
2. the "upgrades" property of each building matches with the levels enumeration
3. settlement_min entries give valid settlement levels
4. any "recruit" entries give valid dictionary entries from the edu file
5. "cost" and "construction" values are numerical
6. there are no entries in edb without corresponding entries in /text/export_buildings

Anything else that could cause a CTD?

Tamur
10-06-2006, 17:59
Anyone who's having troubles with the new conditional checker griping about something that it should not be griping about, please message me or post up here about it. I used JeromeGrasdyke's post in mid-September last year as the conditionals "gospel", but there were a few places where CA's documentation was unclear, and it also appears that there are a few conditions omitted in the docudemon files Jerome posted. I'll have to handle these on an individual basis.

In particular, siege conditions (IsUnderSiege, IsBesieging) were omitted. I'll put up an update ASAP with these included.

Tamur
10-06-2006, 19:01
New version (0.83) with bugfixes is up:

includes IsUnderSiege, IsBesieging conditions
allows conditions to have the word "Condition" in them
some internal changes to data architecture


I removed the RAR version (and edited the post above) since I won't be updating it.

BozosLiveHere
10-06-2006, 21:29
Anyone who's having troubles with the new conditional checker griping about something that it should not be griping about, please message me or post up here about it. I used JeromeGrasdyke's post in mid-September last year as the conditionals "gospel", but there were a few places where CA's documentation was unclear, and it also appears that there are a few conditions omitted in the docudemon files Jerome posted. I'll have to handle these on an individual basis.

In particular, siege conditions (IsUnderSiege, IsBesieging) were omitted. I'll put up an update ASAP with these included.

Jerome left a zip files that included all events, conditionals and console commands. It's somewhere in the downloads section; if you can't find it, pm and I'll send it to you.

Tamur
10-06-2006, 21:57
Yes, that's the one I'm using. Siege conditions aren't in that list, and I'm not sure exactly what else may be missing. Since EB's traits file (the ultimate test!) parses just fine now I'm assuming that with the siege/besieged conditionals in there it will work fine.

edit: looks like I'll have to wait on the Affects checking. I spent a while on it today but it's more of a challenge than I anticipated.

BozosLiveHere
10-06-2006, 22:57
Funny because yesterday your validator caught a IsUnderSeige typo in our files.

rorarii
10-07-2006, 00:48
@ Makanyane
Thanks! Exactly what I needed. I'll get that implemented as soon as possible, this morning if I can swing it.

@ rorarii
What would you want a building validator to do? I'm not much of an expert with the edb file. I'm assuming that you would need to validate that:

1. the building entries for each building match up with the "levels" enumeration
2. the "upgrades" property of each building matches with the levels enumeration
3. settlement_min entries give valid settlement levels
4. any "recruit" entries give valid dictionary entries from the edu file
5. "cost" and "construction" values are numerical
6. there are no entries in edb without corresponding entries in /text/export_buildings

Anything else that could cause a CTD?


I found my problem, not having a blank definition in export_buildings.txt, as

<building level name>_
<building level name>__desc
<building level name>__desc_short

.. that's time consuming and annoying.



R

Tamur
10-07-2006, 05:11
Yes, it is really tedious while a validator can run through things pretty quickly. I'll see what I can do to add this.

Squid
09-13-2007, 22:40
I know this was last posted in awhile ago, but could the code be made available to the program?

Squid
10-22-2007, 18:34
I was using the validator and its catching the attributes subterfuge and bribery as not being valid attributes.

Squid
10-22-2007, 20:55
Two other bugs:

1) The condition I_BattleSettlementFortificationLevel causes the program to crash

2) When checking the ancillary triggers, the last trigger is ignored.

BozosLiveHere
10-23-2007, 01:34
It also stopped being able to catch invalid conditionals altogether in EB's edct. I guess the files got too big.

Squid
10-23-2007, 11:27
I'm willing to try and fix some of these bugs if the source code were to be made available.

Tamur
10-23-2007, 13:30
hi all,

I received a PM today letting me know about the new posts in this thread. Let me dig around a bit to check on that source code. I certainly hope it has survived the changes of job and location in the past year :scared:

Will post up again once I know something...

Tamur
10-23-2007, 13:42
Well that was easy...

ATVTW-source.zip (http://cicero.modwest.com/org/ATVTW-source.zip) (370K)

This includes bin and obj folders from the last build (a long while back). Feel free to nuke them.

And don't expect anything fancy. I did comment fairly well as I was writing it, hopefully that's helpful. The main parser is just a gigantic set of conditionals so it's fairly easy to sift through once you've found the right spot.

Let me know if there are confusing parts, and good luck!

Squid
11-01-2007, 18:54
Well that was easy...

[/URL]This includes bin and obj folders from the last build (a long while back). Feel free to nuke them.

And don't expect anything fancy. I did comment fairly well as I was writing it, hopefully that's helpful. The main parser is just a gigantic set of conditionals so it's fairly easy to sift through once you've found the right spot.

Let me know if there are confusing parts, and good luck!

Thanks,

Once I had a look around the code, it's not very difficult to follow what you were doing, your commenting really helped.

Here's a new version of ATV-TW

<<Removed link as this is an outdated version, see [URL="https://forums.totalwar.org/vb/showpost.php?p=1734482&postcount=36"]this post (http://cicero.modwest.com/org/ATVTW-source.zip) for the current version>>

This version has the following fixes and improvements:

Fixes:
- Fixed Subterfuge not being recognized as a valid attribute
- Fixed Bribery not being recognized as a valid attribute
- Fixed crash with Condition I_BattleSettlementFortificationLevel
- Fixed last trigger in export_description_ancillaries.txt not being checked or displayed on the Ancillary Trigger tab
- Fixed last trigger in export_description_character_traits not being checked or displayed on the Trait Triggers tab
- Fixed incorrect error message if an ancillary has an invalid attribute in an effects line

Improvements:
- Triggers that assign traits in export_description_ancillaries, now appear in the trait trigger tab
- Changed the icon the vanilla icon

The next release will have improved condition checking included in it.

If you find any errors, please PM me or post here so I can include a fix in the next release.

Tamur
11-01-2007, 19:22
hiya Squid, thanks for taking the reins on this! Glad to hear it wasn't too much fo a nightmare to dig through. I'll be interested to watch the progress.

I'm having some strange non-existent object errors when browsing ancillary triggers, but that may simply be me using an old file I had lying about.

Makanyane
11-01-2007, 19:54
Thanks both for getting this moving again.

New version is working for me - old one gave up on my rather extensively mangled file, though I admit to not re-trying it since working more on file.

For triggers its throwing this out

Trigger trigger_slayer4
WhenToTest PostBattle

Condition BattleGeneralKilled
and not GeneralFoughtFaction slave

Affects slayergeneral 1 Chance 100
as wrong though I thought it was working in practice - did check it at one stage and think it triggers even if 'general' is actually a captain not family member but I think it works. It also doesn't like WithdrawsBeforeBattle on End Turn check but have noticed that vanilla uses I_WithdrawsBeforeBattle on "WhenToTest PreBattleWithdrawal"
so might switch to that arrangement instead anyway.

Other thing I put in deliberately to see if it would check is a duplicated trigger name, it doesn't seem to catch that...

Squid
11-01-2007, 20:15
Thanks both for getting this moving again.

New version is working for me - old one gave up on my rather extensively mangled file, though I admit to not re-trying it since working more on file.

For triggers its throwing this out


Trigger trigger_slayer4
WhenToTest PostBattle

Condition BattleGeneralKilled
and not GeneralFoughtFaction slave

Affects slayergeneral 1 Chance 100

as wrong though I thought it was working in practice - did check it at one stage and think it triggers even if 'general' is actually a captain not family member but I think it works. It also doesn't like WithdrawsBeforeBattle
which again I'm fairly sure is working :dizzy2:

Some method of skipping past trigger conditions it doesn't like might help, can't seem to get it to scan past them without altering them at moment.

Neither of those conditions is in the docudemon files. For the WithdrawsBeforeBattle, there is an I_WithdrawsBeforeBattle condition though, is that the one you're looking for?

If you, or someone else, can confirm that those condition are actually accepted by the engine and work in game I'll include them in the next patch.

EDIT: There is one bug I just found, if traits have not been parsed and you try to parse the ancillaries and you have traits assigned in export_descr_ancillaries.txt it will cause the program to crash. I'm going to fix the bug and release a new version.

Bardo
11-05-2007, 00:41
Thank you for this new version. It was a bit annoying when I needed to quote out all the entries with subterfuge or bribery...
I'll be looking forward the next release.

Makanyane
11-06-2007, 08:56
Re: the conditions I posted, I'd edited while you were replying to say I was switching to using I_WithdrawsBeforeBattle, both other conditions were triggering, eg they were only source of trait and it was appearing, but I think after doing more testing that they might have been returning false positives, so don't add them.

Thanks again, Mak.

Squid
11-08-2007, 23:53
Version 0.92 is now available for download:

<<Removed link as this is an outdated version, see this post (https://forums.totalwar.org/vb/showthread.php?goto=lastpost&t=68697) for the current version>>

There are various changes:

Fixes:
- Fixed the crash when parsing ancillaries without having already processed traits and having traits assigned in export_descr_ancillaries.txt
- Fixed a couple of other rare crashes
- Fixed finding the next trigger which bestows a given trait/ancillary if the given trait/ancillary was either the bestowed in the first or last trigger
- Fixed the program not releasing export_ancillaries.txt and export_VnVs.txt, changes to these files no longer require you to close the program and re-run it, you can just reparse now

Changes:
- The parser no longer stops on non-parsing errors (misspelt attributes are now reported when you click "Find Next Problem" not on parsing)
- Improved the trait search function so it will search all traits no matter where you start from, ending with the currently selected trait.
- Added an ancillary search function, it functions as the trait search function now works
- Updated various text messages to the user
- Events are now error checked (only those events which export a character record of some sort are currently checked)
- Minor UI update so that Alt-F4 now closes the program (having to click the X was starting to irritate me)
- The UI update also added menu item which will eventually remove the last two tabs from the main screen.

If you find any problems with the current version either post it here, or PM me.

BozosLiveHere
11-09-2007, 14:30
Can you put it on rapidshare or something? Filefront hates me, or my firefox extensions.

Squid
11-09-2007, 17:41
I updated my last post it now has a download link for RapidShare as well as FileFront.

Squid
11-21-2007, 22:07
Here's version 0.93.

Just has two minor fixes:
- Fixed the crash that would occur if you had a non-integer value for an Effects line's point value
- Fixed the double minus sign(--) that you'd see for any effect that provided a negative bonus to an attribute.

<<Removed link as this is an outdated version, see this post (https://forums.totalwar.org/vb/showthread.php?goto=lastpost&t=68697) for the current version>>

Squid
01-21-2008, 22:23
Finally, at long last ATVTW version 1.0. This release has been "ready" to go for over a month but I keep finding things to fix and improve. In fact after I started writing this up (for the 3rd or 4th time) I'm still making changes to the program (the first time I thought 1.0 was done was december 17th).

Fixes:
Fixed some events not being included in the list of events
Fixed event errors not being reported
Fixed some conditions not being listed correctly
Fixed religions being considered an attribute (they are seperate now)
Fixed religions not being checkedImprovements:
UI Improvements
One set of buttons for all tabs
Expandable elements for conditions/effects/antitriats/etc that could be more than the space provided
Functional menu bar
Seperate area for religious beliefs on the traits/ancillaries tabs
Seperated trait/ancillaries on the Ancillary Triggers tab
The drop down menu for Path to files allows to to browse to the directory of the files (it adds the location to the drop down menu)
Trigger tabs are now listing items by trigger, instead of by trait/ancillary
Double clicking on a trait/ancillary on the trigger tab will bring up the corresponding trait/ancillary

Parsing Improvements
Checks for lines being in the correct order
Checks for correct number of tokens on each line
Outputs line number of lines with errors
Only need to parse once to parse both traits/ancillaries
Searching Implemented for both sets of triggers (works as for traits/ancillaries)
Error Checking Improvements
For Trait/Ancillaries tab, more detailed messages for any errors
For Trait tab, if there is an error on one level, the "Next Problem" button will continue from the next level instead of the next trait
All errors/warnings that are visible have an error/warning message displayed
Added warnings for antitraits/excludedancillaries that don't work both ways and for having more than one character type for a trait, as they won't cause errors but will impair correct functionality of the files (warnings are displayed in blue)
Condition checking
Most conditions are checked against hardcoded values
CultureType/FactionType are checked against vanilla & BI values
Settlement Names/Building Names/Unit Names are not checked
Numeric Values are split into three groupings, non-negative integers, all integers, non-integers depending on the allowed values for the parameter
ATVTW Options
Added an option to stop on warnings when checking for errors Features to come:
Options to use faction/culture/building/unit/settlement names from custom files and check them
SplitButton for the ParseFiles button to be able select which file you want to be able to parse (may or may not be feasible due to traits being assigned in the ancillaries triggers)
Check to see if comma seperated lists are actually comma seperated
Parser will list all parsing errors at once instead of just the first it finds
Any other suggestions that are made that I can figure out how to implement :D


<<Removed link as this is an outdated version, see this post (https://forums.totalwar.org/vb/showpost.php?p=2074028&postcount=55) for the current version>>

If you find any bugs or have any suggestions for improvements please post them here or PM them to them.

Special thanks go to Tamur for releasing his code so I could work on it, and to EB for their gigantic traits/ancillaries files, which were so big and varied that everytime I thought I'd caught every bug possible that could be in the files or in my code their traits/ancillaries proved me wrong.

Aradan
01-21-2008, 22:37
That's great Squid!:2thumbsup:

BozosLiveHere
01-22-2008, 14:08
Yay! You wouldn't be willing to work on a version for M2TW, would you?

Squid
01-22-2008, 18:11
Eventually, but first I've got to go do the work on Roma Surrectum traits/ancillaries I've put off while working on the RTW version, and I still want to make those modifications to make the RTW version more customizable. There's also the problem that I don't own either M2TW or Kingdoms, so I have no way of getting a feel for the ins and outs of the files. I thought that M2TW files were almost identical to RTW, so does my current version work?

A couple of other improvements with the new version:

UI Improvements

Trigger tabs are now listing items by trigger, instead of by trait/ancillary
Double clicking on a trait/ancillary on the trigger tab will bring up the corresponding trait/ancillaryI'm sure there are other goodies included that I've forgotten I added.

BozosLiveHere
01-23-2008, 14:54
EDCT is pretty much identical, there are just a few different conditions and attributes. EDA changed the most.

What I'd really like is for the program to have a button that generated the enums files automatically. Unlike RTW, M2TW requires that it be updated for some reason.

Makanyane
01-23-2008, 15:04
EDCT is pretty much identical, there are just a few different conditions and attributes. EDA changed the most.

What I'd really like is for the program to have a button that generated the enums files automatically. Unlike RTW, M2TW requires that it be updated for some reason.
erm, what happens if you don't? Am slightly confused by that as we have some additions to traits and ancs, for a Kingdoms mod that seem to work fine without touching the enums....

Malrubius's (https://forums.totalwar.org/vb/showthread.php?t=55732) older version of a validator produced an enums type list, have you tried that on M2 ?

Squid
01-23-2008, 17:16
I've also created an enum generator that I use with any trait changes I make for completeness, not because its really necessary. It should work for any file that has entries {randomstuff} in it, I've tried it with buildings as well as traits/ancillaries and not had any issues. If you'd like I can upload as well. I may toss in the ability to create the enum files as on option on the next release.

BozosLiveHere
01-24-2008, 13:12
erm, what happens if you don't? Am slightly confused by that as we have some additions to traits and ancs, for a Kingdoms mod that seem to work fine without touching the enums....

Malrubius's (https://forums.totalwar.org/vb/showthread.php?t=55732) older version of a validator produced an enums type list, have you tried that on M2 ?

Hmm. That's good to know. I relied on what I heard in the forums about the enums and didn't even try leaving them out. I had forgotten about this feature of Malrubius' tool as well, thanks.

Squid
02-06-2008, 22:59
If all goes according to plan the next version of the ATVTW will work for both RTW and M2TW. I'm also working on allowing customization so that mod specific stuff (like settlements/buildings/etc) can be checked.

Makanyane
02-07-2008, 14:32
off topic but hopeful question...

if you can make a mod specific version where you input buildings/settlements etc, would it be possible to do similar thing to typo check scripts?

Squid
02-07-2008, 16:36
Possible yes, would I be able to do . . . I'm not sure. Part of what makes me able to successfully expand on what Tamur did is that I'm very familiar with the quirks of traits/ancillaries; however, I don't know a whole lot about scripting so it would make it quite a bit more difficult to do.

And in case I wasn't clear in my last, and when I re-read my post after seeing yours I don't think I was, the custom buildings/settlements/etc that I'm talking about are just the condition and excludedcultures checking. The current version either checks against a hardcoded list (cultures/factions) or doesn't check at all (settlements/buildings/units/etc) because it makes no sense to check against vanilla values.

Flying Pig
04-14-2008, 20:27
Could you make a similar thing fo descr_strat? That's where all of my bugs are

Squid
12-01-2008, 22:42
Version 1.1 release - This is a minor bug-fix version of the validator while I complete the big 2.0 release of the validator.

Fixes:
- fixed faction name alemanni not being recognized as a valid faction
- fixed incorrect tokens for I_AgentType condition
- fixed religious_order not being recognized as a valid effect
- various and sundry other minor fixes I can no longer remember

UI Improvements:
- added Religious Order label to the interface for the trait and ancillary tabs

Downloads:

<<Removed links as this is an outdated version, see this post (https://forums.totalwar.org/vb/showpost.php?p=2256141&postcount=57) for the current version>>

Aradan
12-01-2008, 23:32
Awesome, thx for this!

Squid
06-08-2009, 01:09
Version 1.2 - I swore that 1.1 was the last update to 1.0 series of ATVTW but RedFox pointed to the XGM XC submod which had issues with a previous version, it led me to the first error. Dealing with that I found all the other errors, so here's another update, again bug fixes.

Bugs Fixed:


Minimized the occurance of false positives (i.e. a reported error that isn't an error) if brackets are used in the name of an entry. This can't be totally fixed without a major rewrite, so I wasn't going to do that with version 2 on the way which already deals with the problem.
Mismatched background colour of the lists to the background color of the program in most windows environemnts
Duplicate ancillaries reporting the enum entry for the ancillary name is not defined in export_ancillaries.txt when the entry is defined (1st occurrence works as expected)
Duplicate ancillaries not reporting they are duplicates if the entry for the ancillary name is not defined in export_ancillaries.txt (1st occurrence works as expected)
Find Orphans only checking the second ancillary
Find Orphans reporting duplicate traits/ancillaries as being orphaned (1st occurrence is treated correctly)


Improvements:


Too many AntiTraits is no longer a parsing error
Too many ExcludedAncillaries is no longer a parsing error
Catches error in EDCT if you have more than 11 affects lines in a trigger
Checks descr_strat for the existence of all assigned traits/ancillaries
Catches error in a trait if you have an antitrait line with no traits listed
Catches error in an ancillary if you have an excludedancillaries line with no ancillaries listed.


<<Removed links as this is an outdated version, see this post (https://forums.totalwar.org/vb/showpost.php?p=2325511&postcount=59) for the current version>>

Bardo
06-08-2009, 17:09
Thank you for the update Squid.
I still use it to check all the changes to ancillaries and traits in our AlexanderTW mod. Very useful tool. :)

Squid
08-30-2009, 20:48
Version 1.3.1

Bugs Fixed:


ATVTW would crash if either enum file had a { but no } on a line, ATVTW now reports the line as a parsing error
Small typo in a message for missing description enum for ancillaries

Improvements:


The descr_strat checker now checks to see if the trait is followed by a positive integer
The descr_strat checker now checks if the level assigned is greater than the number of levels the trait has

Downloads:

Download from RapidShare (http://rapidshare.com/files/273555061/ATVTW.zip)

Download from FileFront (http://www.filefront.com/14431337/ATVTW.zip)

Squid
02-08-2010, 17:28
Version 2.0.7
Requires: .Net Framework 3.5 or better

Changes from 1.x Versions:
This version of ATVTW is an almost total code rewrite from the previous version. I have pretty much gutted everything and redone it. The changes allow the code to be more reusable and easier to read, and will allow me to more easily add features to the program. A list of changes, hopefully complete, is:



M2TW compatible, including all attributes, conditions, character types, common events, etc.
Removed all instances of false positives for errors from the program
Added checking for all building, units, religions, missions, paybacks, factions, cultures
Checks settlement names against those found in the imperial_campaign/descr_strat.txt or barbarian_invasions/descr_strat.txt (if present)
Fixed error where all character type is not reported as an error with the AgentType condition
Changed UI to a toolstripbar UI instead of buttons (all functionality maintained)
Added ability to generate export_descr_VnV_enums.txt and export_descr_ancillary_enums.txt
Checks that the requirements of conditions are exported by the events in the trigger
Form components will resize if the window is resized
Will now report one parsing error per trait, ancillary or trigger as opposed to just the first parsing error found
Added checks for more warnings, including duplicate cultures, excludedancillaries and antitraits
Check for ancillary images has been added, this requires the file (export_descr_ancillary_images_enums.txt) to be in the data folder. The file export_descr_ancillary_images_enums.txt should contain one ancillary image (including file extension) per line. This can be generated by unpacking the ui folder and doing a directory listing on the data\ui\ancillaries directory and redirecting the output to a file.
Settings are remembered between sessions
Improved and more specific error messages for when there are an incorrect number of items/tokens on a line
Checks that comma seperated lists are actually comma seperated (i.e. antitraits/excludedancillaries)
Various other minor bug fixes and corrections

Until the download section is available again on the site get the current release from: http://www.twcenter.net/forums/downloads.php?do=file&id=2657.

OK, this vesion has been out for a while over at TWCenter, but I've kept forgetting to post it here.

Squid
09-30-2010, 06:00
Version 2.1.3
Requires: .Net Framework 3.5 or better

Changes from version 2.0.7:


Fixed bug where in RTW if you weren't using religion not all settlement names would be read correctly
Fixed a bug when reading enums where the enums in game text is multiple lines in length
Fixed the contents of the form not resizing when the window is resized
Fixed bad spacing in various error/warning messages
Fixed the move to end of list and move forward 1 buttons
Can scroll when moused over the status window
Can now double-click on a setting to open it
Can now right-click and delete a selected setting
Added in the I_FactionLeaderTrait and I_FactionLeaderAttribute conditions for M2TW (I'd swear I'd already added them)
Fixed the Orphans check to correctly identify orphans
Fixed various condition arguments not being checked
Added checking for a few condition arguments that were not being checked
Changed trait levels of hidden traits to report missing enum entries as warning instead of errors
Fixed bug when checking double values if your cultures separator is not the period (.)
Changed double checks to decimal checks (as all value are decimals not doubles)
Fixed doubling of display of a condition if its requirement wasn't met
Fixed a various conditions/events not having the proper exports
Fixed more formatting in error messages.
Fixed conditions IsRegionOneOf and IsTargetRegionOneOf to not report errors if there are no region names read
Moved a bunch of code from the ATVTW.exe to the TWLibrary.dll for reuse with other projects I'm working on
Fixed crash when reading a corrupted setting (the setting now gets deleted)
All tabs now resize properly
Ancillary tab now loses unneeded entries when reading RTW ancillaries (type and transferable)
GeneralWithAncKilled now checks for ancillary type instead of ancillary name
Fixed script checking which was not working in any useful fashion
Added a few extra condition to the script checker to check
Added ability to edit existing settings
Internal code change in an attempt to speed up file processing
Fixed crash if a bad event is encountered in a trigger
Restored ancillary listing to the ancillary trigger tab
Added all other faction names from the kingdoms campaigns to the M2TW Combat_V_Faction_X set of attributes (this should reduce attribute errors until a better solution is found)

Get the current release from: http://www.twcenter.net/forums/downloads.php?do=file&id=2657.

Myrddraal
09-30-2010, 18:18
Thanks for the update :thumbsup:

Voron
11-08-2011, 18:17
idk if this is the right place for Questions also looking at the date of the last post but will also look on TWCenter

I hit a problem i modified manualy a number from neg to possitive but it shows the old number ingame please help me