Title: How to get the most out of Zeus
Posted by: Squid
Modding area: Coding
Required programmes: Notepad (or other text editor), Zeus Validator
Summary: An explanation of how to use the Zeus Validator to be able to correct as many problems as possible with your mod.
How to get the most out of Zeus
by Squid
After having talked with dvk on various occasions I observed that Zeus is not an easy program to decipher what everything it reports means and more importantly how to correct it. So I've written this guide to answer both of those questions. This guide is based on version
The first thing you notice when starting up Zeus is there are 5 options. These 5 options should not be run in the order they appear. I'll detail the order the operations should be run in, as well as what the error messages mean and some, if possible all, ways to fix the errors.
NOTE: Fix all errors/warning in each section before moving on to the next section, if you don't the next section may not provide an accurate listing of errors/warnings
1. EDB Unit OwnershipThe first test to run is the EDB Unit Ownership test. This test serves one purpose it lets you know if in EDB there a recruitment line that allows a faction to recruit the unit
BUT the faction does not actually have ownership of the unit. Run this option with the
include descr_rebel_factions option checked.
There are two types of message you might see while running this test:
- Faction and Culture are both present warning
- Ownership Error
Let's look at these two messages more closely.
Faction and Culture are both present warning:
An example of this warning is:
>>WARNING! Line:
18 Faction (
spain) and culture (
barbarian) both inside the same bracket.
This warning means that the recruitment line on line
18 of EDB will look something like:
recruit "unit name" requires factions { spain, barbarian, }, where the faction and its corresponding culture are both on the same recruitment line. To fix this, either remove
spain or
barbarian from the recruitment line as appropriate.
Ownership Error:
An example of this error is:
>>Ownership Error! Line:
2529 "
merc archer auxillia"
romans_brutii
This error means that the the recruitment line on line
2529 of EDB is for the unit "
merc archer auxillia" and has
romans_brutii as one of the factions which can recruit it, but that the EDU entry for the
merc archer auxillia does not have
romans_brutii, the culture that romans_brutii belongs to, or
all on the ownership line.
There are two ways to fix this error:
- Remove romans_brutii from the recruitment line
- Add romans_brutii (or the romans_brutii's culture or all) to the unit ownership
2. EDU Model ReferencesThis test lets checks all models that a unit in EDU uses to make sure that there is a texture and/or sprite line for all the factions that own it. The EDU Model References test checks soldier, officers and mounts for the presence of textures and/or sprites for the unit owner for the given model. Run this test with both the
Check for texture lines and
Check for sprite lines options selected.
There are four exceptions to the test checking for texture/sprite lines of the unit owner. The four exceptions are:
- if the unit is a mercenary_unit it checks for mercenary texture/sprite lines instead of owner texture/sprite lines
- if the model does not have any texture lines (i.e. its using the default texture of the model) it is ignored for texture checking
- if the model does not have any model_sprite lines (i.e. the model is not using sprites) it is ignored for sprite checking
- if the unit has a category of ship it is ignored since ships never appear on the battle map
There are four types of errors Zeus will produce for this test:
- Missing mount error
- Missing model error
- Missing texture line error
- Missing sprite line error
Let's look at the four types of errors:
Missing Mount Error:
This error means the mount listed on the mount line for the unit is not found in descr_mount.txt. Correct by making sure the mount name matches one from descr_mount.txt
Missing Model Error:
This error means that the model for the unit or the model for the associated mount is not found in DMB. Correct by making sure the model name matches one from DMB.
Missing Texture Line Error:
In the section headed by a message saying: the following units (or models for lbc) are missing a texture line you will get an error or errors that will look something like:
Line: 2375 Unit:
carthaginian slinger Model:
carthaginian_standard Faction:
egypt
This error means that the model listed on line 2375 (
carthaginian_standard) of EDU is missing a texture line for the
egypt faction based on their ownership of the
carthaginian slinger unit.
To fix this you need to add a new texture line to DMB for the
carthaginian_standard model for the
egypt faction. This may require the creation of a new texture.
This can also be fixed by removing the faction ownership from EDU. If you remove the faction from owning the unit start over again at step one as this might generate an EDB ownership error.
Missing Sprite Line Error:
In the section headed by a message saying: the following units (or models for lbc) are missing a model_sprite line you will get an error or errors that will look something like:
Line: 2375 Unit:
carthaginian slinger Model:
carthaginian_standard Faction:
egypt
This error means that the model listed on line 2375 (
carthaginian_standard) of EDU is missing a model_sprite line for the
egypt faction based on their ownership of the
carthaginian slinger unit.
To fix this you need to add a new model_sprite line to DMB for the
carthaginian_standard model for the
egypt faction. This may require the creation of a new sprite using the -sprite_script command.
This can also be fixed by removing the faction ownership from EDU. If you remove the faction from owning the unit start over again at step one as this might generate an EDB ownership error.
3. DMB File ReferencesThe DMB File References test checks all files listed in DMB (and DS if requested) to make sure that the specified textures, models and sprites exist. The test checks the mod folder, the vanilla folder and all pak files for the texture, model or sprite being checked. Run this test with all options checked.
There is one additional feature of the DMB File References does which is that it lets you know which models from DMB and DS are not used. These unused models can of course be removed to make space for other models. If you remove any models you will should go back and do step 2 again just to make sure nothing awry.
There are 3 types of errors that can show up during this test:
- Missing texture error
- Missing model error
- Missing sprite error
All three of these errors mean that the file listed in the error message cannot be found in the mod directory (if not a vanilla mod), vanilla directory or any of the pak files. For textures it checks for both tga and tga.dds files even though the error message will always display the file name as given in DMB or DS.
To fix these errors make sure that file exists and is in the correct location. If it doesn't exist then you will need to create a new texture/model/sprite with the appropriate name or change the line to point to a different texture/model/sprite.
Fix all errors/warning and move on to step 4. At this point all or at least most battle CTDs related to units will be a thing of the past with the exception of historical battles which can assign units to a faction even if that faction does not have ownership of the unit.
4. UI Cards TestThe UI Cards can do two things, it can find any missing unit/unit info cards or alternatively it can find any missing building cards.
Unit Card Check:
The first test will be the unit card, select the
Units radio button and run the test. This will provide a list of unit and unit info cards for all factions and mercenary units that are missing based on their ownership of the unit in EDU. The results are grouped by faction, with mercenary being an extra grouping.
There are two possible errors that this test will generate:
- Missing unit card error
- Missing unit_info card error
Missing Unit Card Error
This error will look something like:
Cards missing for
SLAVE:
CARD
roman_principes
This error says that the
slave faction is missing a unit card for the
roman_pricipes unit. There are two ways to fix this error:
- Give a unit card to the listed faction for the specified unit (e.g. data\UI\UNITS\SLAVE\#roman_pricipes.TGA). This may require creating a new unit card.
- Remove the specified faction from the ownership line of the unit. If the faction is removed as a unit's owner go back to step one and start again.
Missing Unit_Info Card Error
This error will look something like:
Cards missing for
SLAVE:
INFO
roman_principes
This error says that the
slave faction is missing a unit card for the
roman_pricipes unit. There are two ways to fix this error:
- Give a unit card to the listed faction for the specified unit (e.g. data\UI\UNIT_INFO\SLAVE\roman_pricipes_info.TGA). This may require creating a new unit_info card.
- Remove the specified faction from the ownership line of the unit. If the faction is removed as a unit's owner go back to step one and start again.