D2TxtAnalyser : debug your Mod easily

This would be the forum for questions about how to work with mod making tools which can be a problem of its own.

Moderator: Paul Siramy

User avatar
Paul Siramy
Retired staff
Principality
Posts: 2828
Joined: Sat May 25, 2002 2:39 pm
Location: La Garenne Colombes (near Paris)
Contact:
France

Hand-picked

D2TxtAnalyser : debug your Mod easily

Post by Paul Siramy » Sat Apr 24, 2004 3:08 am

Current version : 2.4

Available from there (195 KB)

Extract it where you want, edit the .ini, and launch go.bat. It produce :
* log_extracted_txt (infos on all columns of all texts)
* log_errors.txt (check this for errors to correct, if any)
* log_warnings.txt (check this for warnings to correct, if any, and if you want)



Edit of 07/18/2004 :
* Test prop/param/min/max in all .txt (107 places)
* Bug fixed : Corrected a column name, so now 'HraltiMagicLvl' is found in Data\Global\Excel\Misc.txt

Edit of 05/19/2004 :
* Test Norm Uber and Ultra codes in Armor.txt and Weapons.txt
* Test numbers of inputs in CubeMain.txt

Edit of 05/11/2004 :
* checks if Levels are overlaping each other (SizeX/Y and OffsetX/Y in Levels.txt)

Edit of 05/11/2004 :
* checks if Levels are linked properly by at least 1 Vis
* check if each Vis have a valid Warp

Edit of 05/11/2004 :
* checks 78 primary keys
* checks 574 external keys
* added a .ini user's option : 'be_strict' (be strict on case-sensitive codes comparison, or not)
* check for correctly linked monsters, via Id / BaseId / NextInClass in MonStats.txt

Edit of 04/26/2004 :
* Test if all player class has the exact same number of skills (in Skills.txt)

The program is destined to evolve, and the hardest part should be done ;)

Here's an extract of the log_extracted_txt. on my computer (without any mod) :

Code: Select all

extracted from d2exp.mpq    : Data\Global\Excel\AutoMagic.txt
   * 3386 bytes (3 KB)
   * 38 columns * 37 rows
   *   1 : Name                      is at column 1
   *   2 : version                   is at column 2
   *   3 : spawnable                 is at column 3
   *   4 : rare                      is at column 4

(...)

   *  41 : add                       is at column 38
Here's a sample of the log_warnings.txt when done with strict string comparison :

Code: Select all

In Data\Global\Excel\UniqueItems.txt :
   * WARNING : 'index' at row 31 (Azurewrath) is same as in row 304 (Azurewrath)
   * WARNING : 'index' at row 395 (Rainbow Facet) is same as in row 396 (Rainbow Facet)
   * WARNING : 'index' at row 396 (Rainbow Facet) is same as in row 397 (Rainbow Facet)
   * WARNING : 'index' at row 397 (Rainbow Facet) is same as in row 398 (Rainbow Facet)
   * WARNING : 'index' at row 398 (Rainbow Facet) is same as in row 399 (Rainbow Facet)
   * WARNING : 'index' at row 399 (Rainbow Facet) is same as in row 400 (Rainbow Facet)
   * WARNING : 'index' at row 400 (Rainbow Facet) is same as in row 401 (Rainbow Facet)
   * WARNING : 'index' at row 401 (Rainbow Facet) is same as in row 402 (Rainbow Facet)

In Data\Global\Excel\Levels.txt :
   * WARNING : 'Warp1' (-1) at row 28 (Act 1 - Monastery) should use a Warp ID (not -1)
   * WARNING : 'Warp0' (-1) at row 29 (Act 1 - Courtyard 1) should use a Warp ID (not -1)
   * WARNING : 'Warp1' (-1) at row 29 (Act 1 - Courtyard 1) should use a Warp ID (not -1)
   * WARNING : 'Warp0' (-1) at row 30 (Act 1 - Barracks) should use a Warp ID (not -1)
   * WARNING : 'Warp1' (-1) at row 34 (Act 1 - Courtyard 2) should use a Warp ID (not -1)
   * WARNING : 'Warp0' (-1) at row 35 (Act 1 - Cathedral) should use a Warp ID (not -1)
   * WARNING : 'Warp1' (-1) at row 109 (Act 4 - Lava 1) should use a Warp ID (not -1)
   * WARNING : 'Warp0' (-1) at row 110 (Act 4 - Diablo 1) should use a Warp ID (not -1)

In Data\Global\Excel\Levels.txt :
   * WARNING : Level Id 3 (Act 1 - Wilderness 2) at row 5 overlap
               level Id 4 (Act 1 - Wilderness 3) at row 6 in Normal difficulty

   * WARNING : Level Id 3 (Act 1 - Wilderness 2) at row 5 overlap
               level Id 4 (Act 1 - Wilderness 3) at row 6 in Nightmare difficulty

   * WARNING : Level Id 3 (Act 1 - Wilderness 2) at row 5 overlap
               level Id 4 (Act 1 - Wilderness 3) at row 6 in Hell difficulty
And here's a sample of the log_errors.txt when done with strict string comparison :

Code: Select all

==================
Check primary keys
==================

In Data\Global\Excel\Objects.txt :
   * ERROR : 'Id' at row 410 (408) is same as in row 413 (408)
   * ERROR : 'Id' at row 411 (409) is same as in row 414 (409)


===================
Check external keys
===================

In Data\Global\Excel\CharStats.txt :
   * ERROR : 'StartSkill' (fire bolt) at row 3 (Sorceress) not found
   * ERROR : 'StartSkill' (raise skeleton) at row 4 (Necromancer) not found

In Data\Global\Excel\MagicPrefix.txt :
   * ERROR : 'itype1' (staff) at row 447 (Burning) not found
   * ERROR : 'itype1' (staff) at row 448 (Blazing) not found
   * ERROR : 'itype1' (staff) at row 449 (Volcanic) not found
   * ERROR : 'itype1' (staff) at row 450 (Sparking) not found
   * ERROR : 'itype1' (staff) at row 451 (Charged) not found
   * ERROR : 'itype1' (staff) at row 452 (Powered) not found
   * ERROR : 'itype1' (staff) at row 453 (Chilling) not found
   * ERROR : 'itype1' (staff) at row 454 (Freezing) not found
   * ERROR : 'itype1' (staff) at row 455 (Glacial) not found

In Data\Global\Excel\MagicSuffix.txt :
   * ERROR : 'itype2' (ring ) at row 436 (of Nova Shield) not found
   * ERROR : 'itype2' (ring ) at row 437 (of Nova Shield) not found
   * ERROR : 'itype2' (ring ) at row 438 (of Nova Shield) not found

In Data\Global\Excel\Missiles.txt :
   * ERROR : 'EType' ( ) at row 572 (world stone chip 1) not found
   * ERROR : 'EType' ( ) at row 573 (world stone chip 2) not found
   * ERROR : 'EType' ( ) at row 574 (world stone chip 3) not found
   * ERROR : 'EType' ( ) at row 575 (world stone chip 4) not found
   * ERROR : 'EType' ( ) at row 626 (icesparkle) not found
   * ERROR : 'EType' ( ) at row 627 (baalfx control) not found
   * ERROR : 'EType' ( ) at row 628 (baalfx spirit 1) not found
   * ERROR : 'EType' ( ) at row 629 (baalfx spirit 2) not found
   * ERROR : 'EType' ( ) at row 630 (baalfx spirit 3) not found
   * ERROR : 'EType' ( ) at row 631 (baalfx spirit 4) not found
   * ERROR : 'EType' ( ) at row 632 (baalfx spirit 5) not found
   * ERROR : 'EType' ( ) at row 633 (baalfx baal head appear) not found
   * ERROR : 'EType' ( ) at row 634 (baalfx baal head 1) not found
   * ERROR : 'EType' ( ) at row 635 (baalfx baal head 2) not found
   * ERROR : 'EType' ( ) at row 636 (baalfx baal head 3) not found
   * ERROR : 'EType' ( ) at row 637 (baalfx tyreal debris 1) not found
   * ERROR : 'EType' ( ) at row 638 (baalfx tyreal debris 2) not found
   * ERROR : 'EType' ( ) at row 639 (baalfx tyreal debris 3) not found
   * ERROR : 'EType' ( ) at row 640 (baalfx tyreal debris break) not found
   * ERROR : 'EType' ( ) at row 641 (worldstone shake) not found

In Data\Global\Excel\SetItems.txt :
   * ERROR : 'prop3' (Light) at row 125 (Naj's Circlet) not found

In Data\Global\Excel\Skills.txt :
   * ERROR : 'summon' (ClayGolem) at row 77 (Clay Golem) not found
   * ERROR : 'summon' (BloodGolem) at row 87 (BloodGolem) not found
   * ERROR : 'summon' (IronGolem) at row 92 (IronGolem) not found
   * ERROR : 'summon' (FireGolem) at row 96 (FireGolem) not found

In Data\Global\Excel\Skills.txt :
   * ERROR : 'sumskill1' (dodge) at row 34 (Valkyrie) not found
   * ERROR : 'sumskill1' (holy fire) at row 96 (FireGolem) not found

In Data\Global\Excel\Skills.txt :
   * ERROR : 'sumskill2' (avoid) at row 34 (Valkyrie) not found

In Data\Global\Excel\States.txt :
   * ERROR : 'skill' (redemption) at row 101 (redeemed) not found

In Data\Global\Excel\UniqueItems.txt :
   * ERROR : 'prop6' (*enr) at row 24 (Ironstone) not found
   * ERROR : 'prop6' (*hp) at row 38 (Blacktongue) not found
   * ERROR : 'prop6' (*hp) at row 55 (The Grim Reaper) not found
   * ERROR : 'prop6' (*charged) at row 217 (Crow Caw) not found

In Data\Global\Excel\UniqueItems.txt :
   * ERROR : 'prop7' (*hit-skill) at row 189 (Warpspear) not found
   * ERROR : 'prop7' (*vit) at row 220 (Skullder's Ire) not found

In Data\Global\Excel\UniqueItems.txt :
   * ERROR : 'prop8' (*gethit-skill) at row 189 (Warpspear) not found
   * ERROR : 'prop8' (*enr) at row 220 (Skullder's Ire) not found
   * ERROR : 'prop8' (*mana) at row 252 (Veil of Steel) not found
   * ERROR : 'prop8' (*mana) at row 257 (Hellslayer) not found

In Data\Global\Excel\UniqueItems.txt :
   * ERROR : 'prop9' (*enr) at row 54 (Woestave) not found
   * ERROR : 'prop9' (*mana) at row 261 (The Cranium Basher) not found

In Data\Global\Excel\UniqueItems.txt :
   * ERROR : 'prop10' (*enr) at row 267 (Stormspire) not found


==============
Specific tests
==============

In Data\Global\Excel\MonStats.txt :
   * ERROR : chain of 'BaseId' with "diablo" have more than 1 empty 'NextInClass' (2)

In Data\Global\Excel\Armor.txt :
   * ERROR : Item 'code' (ci2) at row 117 (Tiara) has 'normcode' (ci1), expected (ci0)
   * ERROR : Item 'code' (ci3) at row 118 (Diadem) has 'normcode' (ci1), expected (ci0)

In Data\Global\Excel\Weapons.txt :
   * ERROR : 'code' (qf1) at row 175 (KhalimFlail) is not used in Norm/Uber/Ultra code columns
   * ERROR : 'code' (qf2) at row 176 (SuperKhalimFlail) is not used in Norm/Uber/Ultra code columns

In Data\Global\Excel\MagicSuffix.txt :
   * ERROR : Propertie (dmg-ac) : 'mod1min' (-25) should be <= than 'mod1max' (-40), row 13 (of Bashing)
   * ERROR : Propertie (dmg-ac) : 'mod1min' (-10) should be <= than 'mod1max' (-20), row 14 (of Puncturing)
   * ERROR : Propertie (dmg-ac) : 'mod1min' (-25) should be <= than 'mod1max' (-40), row 161 (of Bashing)
   * ERROR : Propertie (dmg-ac) : 'mod1min' (-10) should be <= than 'mod1max' (-20), row 162 (of Puncturing)
Last edited by Paul Siramy on Sun Jul 18, 2004 9:12 pm, edited 24 times in total.

User avatar
kingpin
Retired Admin
Cherub
Posts: 10954
Joined: Sat Jan 11, 2003 12:51 pm
Contact:
Sweden

Hand-picked

Re: new tool : D2TxtAnalyser.exe

Post by kingpin » Sat Apr 24, 2004 1:07 pm

Nice work :)

This will for sure help modmakers to find there errors. I tested it, and it found duplicates in my itemstatcost.txt file, corrected those and re-run no more errors found. So, it worked nice for me :)

User avatar
Myrdinn
Posts: 49
Joined: Tue Dec 31, 2002 1:14 pm
Location: Limoges Fourches, FRANCE

Re: new tool : D2TxtAnalyser.exe

Post by Myrdinn » Sun Apr 25, 2004 1:25 pm

Great job Paul :D
Exactly what I need (you know how much I can be thoughtless ;) )

User avatar
FoxBat
Forum Legend
Arch-Angel
Posts: 1048
Joined: Thu May 23, 2002 10:50 pm
Location: Pennsylvania
Contact:

Re: new tool : D2TxtAnalyser.exe

Post by FoxBat » Sun Apr 25, 2004 4:49 pm

I built something similar with excel but it's harder to use and not so popular. :roll:

Hope you can make something both easy and powerful! :beer:
Last edited by FoxBat on Sun Apr 25, 2004 4:50 pm, edited 1 time in total.

User avatar
Joel
Moderator
Dominion
Posts: 6921
Joined: Mon May 27, 2002 7:19 am
Location: Orsay
Contact:

Hand-picked

Post by Joel » Mon Apr 26, 2004 7:50 am

basically, we hope it'll end as a kind of 'txt compiler' hat will output erro or warning depending on what it found.

@Paul : a good idea will also be to check for external files. Like :
-> is this string entry exists ina tbl ?
-> is this dc6 exists ?
-> is this ds1 exists etc ...
"How much suffering, mortal, does it take before you lose your grace?"
Shadow Empire (coming soon) | forum

User avatar
Paul Siramy
Retired staff
Principality
Posts: 2828
Joined: Sat May 25, 2002 2:39 pm
Location: La Garenne Colombes (near Paris)
Contact:
France

Hand-picked

Re: new tool : D2TxtAnalyser.exe

Post by Paul Siramy » Mon Apr 26, 2004 8:35 am

It's planing Joel ;) I also tought of checking dcc/cof & compare them to their datas in the .txt (modes, items, frames...).

User avatar
Joel
Moderator
Dominion
Posts: 6921
Joined: Mon May 27, 2002 7:19 am
Location: Orsay
Contact:

Hand-picked

Post by Joel » Mon Apr 26, 2004 9:28 am

and checking COF framecount vs animdata.d2 framecount ^^
"How much suffering, mortal, does it take before you lose your grace?"
Shadow Empire (coming soon) | forum

User avatar
Myrdinn
Posts: 49
Joined: Tue Dec 31, 2002 1:14 pm
Location: Limoges Fourches, FRANCE

Re: new tool : D2TxtAnalyser.exe

Post by Myrdinn » Sat May 01, 2004 8:40 pm

I have tested the 1.7 Version with the last version of my MOD. This is really a very good tool.

but ;)
Log.txt
...
Test of unique 'code' in Armor.txt, Weapons.txt and Misc.txt :
* ERROR : 'code' (r01) at line 105 (El Rune) in Misc.txt is same as 'code' (R01) in line 142 (GRune1) of Misc.txt
...
r01 is not the same as R01.
I should have a warning (Ok my naming convention is not good), not an ERROR :D

User avatar
mrelfire
Angel
Posts: 518
Joined: Mon May 27, 2002 9:27 am
Location: France

Re: new tool : D2TxtAnalyser.exe

Post by mrelfire » Mon May 03, 2004 7:34 am

I have used codes in armor.txt like
!19
µ01
@19
*01
#00
19%
/01
(az
)ba
and it seems your checks doesn't like them

I Hope it will help you

User avatar
mouse
Retired staff
Angel
Posts: 520
Joined: Mon Aug 12, 2002 8:51 pm
Location: near Portland, OR, USA

Re: new tool : D2TxtAnalyser.exe

Post by mouse » Mon May 03, 2004 2:58 pm

ahh, paul. you rock.

User avatar
Paul Siramy
Retired staff
Principality
Posts: 2828
Joined: Sat May 25, 2002 2:39 pm
Location: La Garenne Colombes (near Paris)
Contact:
France

Hand-picked

Post by Paul Siramy » Tue May 04, 2004 9:15 am

r01 is not the same as R01.
Hmmm, ok, so it's an error in my side. I used a case INsensitive function to compare the codes. I'll change that.
I have used codes in armor.txt like !19 µ01 @19 *01 #00 19% /01 (az )ba and it seems your checks doesn't like them
Why don't it like them, there's a bug, a crash or something ?

User avatar
kingpin
Retired Admin
Cherub
Posts: 10954
Joined: Sat Jan 11, 2003 12:51 pm
Contact:
Sweden

Hand-picked

Re: new tool : D2TxtAnalyser.exe

Post by kingpin » Tue May 04, 2004 9:52 am

When you check if a modifier is legal you have missed one thing. Any modifier that starts with * is just counted as a rem. I got several *HP errors in the log, even that its not an error :)

User avatar
mrelfire
Angel
Posts: 518
Joined: Mon May 27, 2002 9:27 am
Location: France

Re: new tool : D2TxtAnalyser.exe

Post by mrelfire » Tue May 04, 2004 10:33 am

Sorry to have not given enough explanation.
If I put these codes
!19 µ01 @19 *01 #00 19% /01 (az )ba
they are treated as blank during your test.

it says () equal () instead to have (!19) compare to (!19)

User avatar
Paul Siramy
Retired staff
Principality
Posts: 2828
Joined: Sat May 25, 2002 2:39 pm
Location: La Garenne Colombes (near Paris)
Contact:
France

Hand-picked

Re: new tool : D2TxtAnalyser.exe

Post by Paul Siramy » Tue May 04, 2004 8:19 pm

For me it says :
Test of unique 'code' in Armor.txt, Weapons.txt and Misc.txt :
* ERROR : 'code' (!19) at line 5 (Full Helm) in Armor.txt is same as 'code' (!19) in line 10 (Leather Armor) of Armor.txt

User avatar
mrelfire
Angel
Posts: 518
Joined: Mon May 27, 2002 9:27 am
Location: France

Re: new tool : D2TxtAnalyser.exe

Post by mrelfire » Wed May 05, 2004 8:00 am

I have managed to find the problems : my txt files was not clean
So thanks again for your tool
Last edited by mrelfire on Wed May 05, 2004 8:02 am, edited 1 time in total.

User avatar
kingpin
Retired Admin
Cherub
Posts: 10954
Joined: Sat Jan 11, 2003 12:51 pm
Contact:
Sweden

Hand-picked

Re: new tool : D2TxtAnalyser.exe

Post by kingpin » Sat May 15, 2004 2:13 am

Thanx for your excellent tool, it saved me headache today :)

Got some weird errors with animations suddenly go invisible and of some weird reason I had accidently got a duplicate ID in monstats2.txt and guess what? Your tool told me that :)

Now, some errors that is not real errors.
In Data\Global\Excel\Levels.txt :
* ERROR : 'Warp1' (-1) at row 28 (Act 1 - Monastery) should use a Warp ID (not -1)
* ERROR : 'Warp0' (-1) at row 29 (Act 1 - Courtyard 1) should use a Warp ID (not -1)
* ERROR : 'Warp1' (-1) at row 29 (Act 1 - Courtyard 1) should use a Warp ID (not -1)
* ERROR : 'Warp0' (-1) at row 30 (Act 1 - Barracks) should use a Warp ID (not -1)
* ERROR : 'Warp1' (-1) at row 34 (Act 1 - Courtyard 2) should use a Warp ID (not -1)
* ERROR : 'Warp0' (-1) at row 35 (Act 1 - Cathedral) should use a Warp ID (not -1)
* ERROR : 'Warp1' (-1) at row 109 (Act 4 - Lava 1) should use a Warp ID (not -1)
* ERROR : 'Warp0' (-1) at row 110 (Act 4 - Diablo 1) should use a Warp ID (not -1)
Neither of those is real errors


Also this error confuse me a bit:
In Data\Global\Excel\Levels.txt :
* WARNING : Level Id 3 (Act 1 - Wilderness 2) at row 5 overlap level Id 4 (Act 1 - Wilderness 3) at row 6 in Normal difficulty
Is this because of overlapping off offsetX/Y?

User avatar
onyx
Retired Admin
Throne
Posts: 9377
Joined: Fri Apr 18, 2003 12:38 pm
Location: Sofia, Bulgaria
Contact:

Hand-picked

Post by onyx » Sat May 15, 2004 9:15 am

Yes, it is. We had a discussion with Paul about it. Wilderness 2 and Wilderness 3 use the same offsets. I don't know how the hell they work, but they do ;)
ONYX
Read The Terms of Service before posting!

Back to Hellfire - Site | Forum
Also visit: Incandescence * Diabolic Cartography * Inventharia * Diablo Evolution

User avatar
kingpin
Retired Admin
Cherub
Posts: 10954
Joined: Sat Jan 11, 2003 12:51 pm
Contact:
Sweden

Hand-picked

Re: new tool : D2TxtAnalyser.exe

Post by kingpin » Sat May 15, 2004 1:28 pm

Yeah, its weird why they use same offset :)

I was needed to lookup an unmodded file to see that I hadn't changed those.

User avatar
Paul Siramy
Retired staff
Principality
Posts: 2828
Joined: Sat May 25, 2002 2:39 pm
Location: La Garenne Colombes (near Paris)
Contact:
France

Hand-picked

Re: new tool : D2TxtAnalyser.exe

Post by Paul Siramy » Sat May 15, 2004 7:01 pm

Neither of those is real errors
I'm surprised that a Vis don't use a Warp, since usually an assertion appear if you do this. What I can do is consider it as a warning instead of an error ;) But why do you said it's NOT an error ???
Is this because of overlapping off offsetX/Y?
Yep, it use the OffsetX/Y *and* SizeX/Y in all 3 difficulties, act per act.

User avatar
kingpin
Retired Admin
Cherub
Posts: 10954
Joined: Sat Jan 11, 2003 12:51 pm
Contact:
Sweden

Hand-picked

Re: new tool : D2TxtAnalyser.exe

Post by kingpin » Sat May 15, 2004 11:14 pm

I'm surprised that a Vis don't use a Warp, since usually an assertion appear if you do this. What I can do is consider it as a warning instead of an error But why do you said it's NOT an error ???
This because -1 together with a vis means use hardcoded value. Look into some off the levels and you see that those the error is for in unmodded files is the same and all those still have a warp off what I can remember :)

But, move those to warning instead off error.

User avatar
Phaen
Posts: 70
Joined: Thu Jul 03, 2003 6:28 am

Post by Phaen » Sun May 16, 2004 2:19 pm

Nicely Done, and much appreciated!

User avatar
mrelfire
Angel
Posts: 518
Joined: Mon May 27, 2002 9:27 am
Location: France

Re: new tool : D2TxtAnalyser.exe

Post by mrelfire » Tue May 18, 2004 2:06 pm

I would like to say this tool is wonderfull

User avatar
FoxBat
Forum Legend
Arch-Angel
Posts: 1048
Joined: Thu May 23, 2002 10:50 pm
Location: Pennsylvania
Contact:

Re: D2TxtAnalyser : debug your Mod easily

Post by FoxBat » Wed May 26, 2004 3:04 am

One *very* useful possible extension, and the main reason I made something similar for excel:

- Checking that property names used in item files (affix, unique, set, etc) are valid.

- Checking that the min/max/param ranges used by the properties are valid, and valid relatively to each other (usually min <= max)


Compared to relatively few levels and monsters, testing thousands of items by hand is a major pain in the arse, and the vast majority of errors I made tended to be simple typos that fell in the above two categories. I'm sure something like this could save other modders many wasted hours.

User avatar
Joel
Moderator
Dominion
Posts: 6921
Joined: Mon May 27, 2002 7:19 am
Location: Orsay
Contact:

Hand-picked

Re: D2TxtAnalyser : debug your Mod easily

Post by Joel » Wed May 26, 2004 7:45 am

[quote=FoxBat";p="175109"]
- Checking that the min/max/param ranges used by the properties are
[/quote]

Not that easy :|

Some poperties used encoded stats that are a pain to decode.
For classic props (like dmg-min, hp etc ... it could be done) but for some ... the meaning of min-max-param columns are a bit more complex.
"How much suffering, mortal, does it take before you lose your grace?"
Shadow Empire (coming soon) | forum

User avatar
Paul Siramy
Retired staff
Principality
Posts: 2828
Joined: Sat May 25, 2002 2:39 pm
Location: La Garenne Colombes (near Paris)
Contact:
France

Hand-picked

Re: D2TxtAnalyser : debug your Mod easily

Post by Paul Siramy » Wed May 26, 2004 11:58 am

[quote=FoxBat";p="175109"]- Checking that property names used in item files (affix, unique, set, etc) are valid.[/quote]
It is already. It's part of the external keys check. Properties code are check into a total of 107 columns from various txt : AutoMagic, CubeMain, Gems, MagicPrefix, MagicSuffix, MonProp, QualityItems, Runes, SetItems, Sets and UniqueItems.

[quote=FoxBat";p="175109"]- Checking that the min/max/param ranges used by the properties are valid, and valid relatively to each other (usually min <= max)[/quote]
Indeed, that's very hard and almost imposible for certain props (for the range of value). But I think I can provide a text table which will contain the nesseray informatiions to do the tests properly. It'll be quite a good amount of work to make this table tough :/

EDIT : to know more about this issue, check 'Save Param Bits' in ItemStatCost.txt
Last edited by Paul Siramy on Wed May 26, 2004 12:04 pm, edited 1 time in total.

Post Reply

Return to “Tools”