Nothing in the log?
I think it's the same thing as before.
This is part of it:
Spoiler Alert, click show to read:
I think someone quite a while back had this problem with BC as one of their team members uses Linux and it changes the formatting of the BMDB. You may want to ask Wudang_clown if this has been sorted or not.
I do have a back-up, but it must have been something I have changed, since the file was working before I added some of the mount entries from SS. However, every entry I added was a clone of an existing BC entry with just the model name and animation changed, so there should be no texture or attachment problems. I thought it might be a missing animation or skeleton issue, since I'm not fully sure I merged the skeleton and animations files correctly. The checker no longer detects any BMDB errors, but there's clearly still a problem.
How will I know if there's a missing animation or skeleton? The log will tell me?
I tested this checker, and it's not working. I tested provided teutonic battle_models file by making an intended error, just added one letter more in mount_pony england entry. Checker generated modeldbsyntaxerrors.txt file, but it's empty.
From other threads I have seen that you use Gracul's checker. Once you have saved your modeldb file with Gracul's tool (it adds the "blank" line and lumps animation lines together) it's not possible anymore to read it with this python tool.
You also have to edit this tool if you have custom factions in your modeldb (see OP).
No no no. Like I said, I tested bmdb file provided with this checker in download link at first post of this thread. And by the way, which checker is better? This or Gracul's one?
Last edited by Hellvard; November 28, 2013 at 08:29 AM.
Gracul's checker seems to be more flexible as it uses info from several other files. This checker requires a certain way of formatting to be able to read the file properly (hence the empty report file) and has no other options. So, Gracul's tool would be 'better' due to its additional functions.
Did you run the checker before making the intentional error?
No, I didn't do it before. Now it's working, thanks.
how would I use a different modelDB, one that's been edited from SS 6.4, with BC units added to it? Also, how do you open the .py file? Is their a tutorial for this?
"I have fought in more than 100 battle . Do you see a space of the span of a hand on my leg, chest, arm which is not covered by some scar of the wound of a sword or an arrow or a lance? And here I am, dying in my bed, like cattle die. May the eyes of cowards never sleep."
- Khalib Ibn Waleed
Do you have Python 2.5.4 installed? The .bat file calls the .py file but the correct version of Python has to be installed for it to run.
Hi Gigantus. I downloaded the checker in the original post, manually formatted a (modified) battle_models file in the same way that you've done, and ran it with the correct version of Python installed. I'm getting one error and nothing else in the log: "****** Faction count error at line 501, count says 1 but number of entries is 0" although there should be no faction reference on that line if I'm understanding it correctly. Here's the relevant code:
That section of code mirrors a section of your code in your NewFactionTutorial, but your checker doesn't pick up the same error when I run it against your file. Any ideas as to what's going on?Code:500: 5 Horse 501: 8 fs_camel 0 502: 0 0 -1 0 0 0 0 0 0 503: 14 mount_elephant 504: 1 4 505: 52 unit_models/Mounts/Elephant/mount_elephant_lod0.mesh 121
Does it give you a "Unit count at top of file" line? If not then there is some formatting that the checker can't handle, which might explain the error you mentioned.
Can you post the whole section for that model, in code as you did?
This is the only line in the log:
So I guess it must be a formatting error, but the only possible error that comes to mind after going over the file is the fact that I have 100+ instances of:Code:****** Faction count error at line 501, count says 1 but number of entries is 0
Instead of:Code:1 4 None
And here is the section of code:Code:1 4 None
Code:... 492: 5 slave 493: 49 unit_models/Mounts/Camel/textures/sench_t.texture 494: 49 unit_models/Mounts/Camel/textures/sench_n.texture 495: 41 unit_sprites/slave_Mount_Camel_sprite.spr 496: 4 merc 497: 49 unit_models/Mounts/Camel/textures/sench_t.texture 498: 49 unit_models/Mounts/Camel/textures/sench_n.texture 499: 40 unit_sprites/merc_Mount_Camel_sprite.spr 0 1 500: 5 Horse 501: 8 fs_camel 0 502: 0 0 -1 0 0 0 0 0 0 503: 14 mount_elephant 504: 1 4 505: 52 unit_models/Mounts/Elephant/mount_elephant_lod0.mesh 121 506: 52 unit_models/Mounts/Elephant/mount_elephant_lod0.mesh 625 507: 52 unit_models/Mounts/Elephant/mount_elephant_lod0.mesh 3600 508: 52 unit_models/Mounts/Elephant/mount_elephant_lod0.mesh 10000 509: 7 510: 6 sicily 511: 53 unit_models/Mounts/Elephant/textures/Elephant.texture 512: 60 unit_models/Mounts/Elephant/textures/Elephant_normal.texture 0 513: 6 poland 514: 53 unit_models/Mounts/Elephant/textures/Elephant.texture 515: 60 unit_models/Mounts/Elephant/textures/Elephant_normal.texture 0 516: 5 milan 517: 53 unit_models/Mounts/Elephant/textures/Elephant.texture 518: 60 unit_models/Mounts/Elephant/textures/Elephant_normal.texture 0 519: 7 hungary 520: 53 unit_models/Mounts/Elephant/textures/Elephant.texture 521: 60 unit_models/Mounts/Elephant/textures/Elephant_normal.texture 0 522: 8 timurids 523: 53 unit_models/Mounts/Elephant/textures/Elephant.texture 524: 60 unit_models/Mounts/Elephant/textures/Elephant_normal.texture 0 525: 5 slave 526: 53 unit_models/Mounts/Elephant/textures/Elephant.texture 527: 60 unit_models/Mounts/Elephant/textures/Elephant_normal.texture 0 528: 4 merc 529: 53 unit_models/Mounts/Elephant/textures/Elephant.texture 530: 60 unit_models/Mounts/Elephant/textures/Elephant_normal.texture 0 531: 0 532: 1 533: 8 elephant 534: 19 fs_african_elephant 0 0 0 -1 0 0 0 0 0 0
Your assumption could be correct about the "1 4 none" entry not being processed correctly.
Have you tried using the EDU editor? It also has a problem with some formatting but between the two you can usually find errors.
Edit: line 534 seems to be a combination of two lines
Correct.
I have tested the syntax-checker with a ModelDB file that also splits that line.
The file was originally formated with patched version of the FormatModelDBFile.py that adds more line breaks.
Patched the syntax-cheker (worked with your version) in order to solve the problem
Is working well
I have attached both patched scripts here:
ModelDB - Tools - v0.55a.zip
EDIT (25-Jun-2015):
Updated to version 0.55a, as per comments in post #88, # 103 and # 105
EDIT (15-May-2021):
Updated to version 0.56
https://www.twcenter.net/forums/showthread.php?811446
Actually, there are 5 lines there:
19 fs_african_elephant Primary skeleton (or primary animation)
0 Character counter for a "zero characters but mandatory" line (this one seems to be related to seconday skeleton or secondary animation
0 Counter ( in normal "soldiers" this one is a mandatory "number of lines below" counter linked to primary attachment animation ). Known valid values: 0,1,2.
0 Counter ( in normal "soldiers" this one is a mandatory "number of lines below" counter linked to secondary attachment animation ). Known valid values: 0,1,2.
-1 0 0 0 0 0 0 The final "torch" line
Note: The red one is the infamous "zero + double space"
-First space cames after the counter itself.
-Second space is because every line (even an "empty" one) must end with its own blank space
====
Hope the above helps
Last edited by Hexdragon; May 15, 2021 at 05:41 PM. Reason: Updated attachment