civchecker - avoid crashes in your mod

Any information on civchecker checking the LSystem art?
 
Are you positive that these 22 units display correctly in game? Is it possible that there is some third directory, containing this art, which is read by the game but not read by civchecker?

If there is something unique about these 22 units, that may provide some clue.

After looking at one, I'm not sure if these are used for anything that displays at all. Many of the units display by animation only and the buildings used might be ones that can't be built and aren't in the civilopedia (used for effects). Some even appear to be "standard" MissingArt entries that show up ever time I check a mod (such at Terrain_Peak.dds).
 
Civcheck cannot tell if the game ever displays the art, it can just check that a file mentioned in the xml does not exist in any of the directories. If some of these appear often and bother you, you can follow the instructions in the config file to add specific exceptions.
 
My apologies, I had not looked at the code before replying. There is no convenient way to ignore a missing art file. There is a way to ignore a symbol which civchecker believes is undefined, with "add_prefix".

I suppose a "hack" way would be to create a directory, put zero length files with the appropriate names into it, and add this directory as a search path. When I search the result files, I tend to manually ignore art which is defined in one of the vanilla directories:

Code:
MissingArt: Art/Interface/Buttons/Promotions/antitank.dds
   Used: fury units/civ4promotioninfos.xml at line 4237
MissingArt: Art/Units/Selection Effect/Selection_Above.nif
   Used: bts art/civ4artdefines_misc.xml at line 146

The first one is probably real because it comes from my mod, the second one I ignore because it comes from "bts", one of the vanilla directories.
 
Yes, that is very common. A unit entry points to an artdefine entry, which points to some files. The unit entry and the files are deleted, but the artdefine is not. In this case there is no actual problem, but the leftover artdefine can be deleted.
 
When I try and run it, I get the error "Status: Unable to start: wrong # args: should be "add_directory nickname dir"".

Here's the config file:

Code:
# The installation path is probably right.  Change it if you installed
# the game somewhere else.
[COLOR="Red"]set install_dir "C:\Program Files (x86)\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete"[/COLOR]

# If you have files in your local CustomAssets you want checked, 
# uncomment the next line and make sure the path is correct.  For
# non-English language installations, you will need to change "my documents"
# to the right name also. 
# add_directory custom "c:/documents and settings/jena/my documents/my games/beyond the sword/customassets"

# If you want to run this on a mod, uncomment the next line and make
# sure the path points to your mod.
add_directory calling all dawns "$install_dir/beyond the sword/mods/calling all dawns/assets"
[COLOR="Red"]add_directory fury "$install_dir/beyond the sword/mods/fury road/assets"[/COLOR]

# If you don't have BTS or warlords, comment out the corresponding lines
add_directory bts "$install_dir/beyond the sword/assets"
add_directory warlords "$install_dir/warlords/assets"
add_directory vanilla "$install_dir/assets"

# Uncomment these lines to enable some more verbose reports
# report_filenames
# report_definitions
# report_unused

# You may want to find undefined text strings; then comment this out
add_prefix TXT_KEY

### From here down, you should only change if you know what you are doing.

# Values inside these keys will be checked for art file existence
add_art_key Button KFM NIF SHADERNIF

# General list of symbol prefixes to ignore.  You may prefer to locate
# the corresponding type definition and use add_define instead.
add_prefix ADVISOR ANIMATIONPATH ANIMCAT AQUEDUCT ARTSTYLE ASSS
add_prefix ATTACHABLE AUTOMATE AXIS BONUSCLASS CAMERA CITY
add_prefix CITYBILLBOARD CITYSIZE CITYTAB COLOR COMMAND CONCEPT
add_prefix CONTACT CONTROL CULTURELEVEL CURSOR DELTA DF DIPLOMACYPOWER
add_prefix EFFECT ENDSTEP FIREWORKS FLAVOR FOOTSTEP FORCECONTROL GAME
add_prefix GAMESPEED GLOBE GRAPHICOPTION INTERFACE INTERFACEMODE KB
add_prefix LIGHTING LOOPSTEP LSYSTEM MAIN_MENU MAINMENU MENU PLAYEROPTION
add_prefix PLOT RIVER SEALEVEL SYSTEM TILE_ART TUTORIAL TXT_MAIN_MENU
add_prefix UNIT_HEALTH UPKEEP WALL WIDGET WORLDBUILDER WORLDSIZE YIELD

# If an all-cap string happens to appear in a language tag, don't take it
add_language English French German Italian Spanish

# Some exact strings are undefined, which we don't want
add_string NONE UNIT GENERAL SIEGE WORKERSWORKING STEAM UNIT_SCALE
add_string LIGHT_TYPE_SUN ICBM IDS ONU SDI SOUNDSCAPE TEMP MD
add_string FOOTPRINT FOG_TYPE_NONE LANDSCAPE_DEFAULT LOOPINGEFFECT_SMOKE
add_string DISSOLVE FADEIN POP
 
add_directory calling all dawns "$install_dir/beyond the sword/mods/calling all dawns/assets"
add_directory fury "$install_dir/beyond the sword/mods/fury road/assets"
I expect the problem is really the first line there, not the red one. "calling all dawns" is 3 separate words and therefore 3 separate arguments where it wants only 1. Try using a single word, or connecting them with underscores instead of spaces: calling_all_dawns.
 
I expect the problem is really the first line there, not the red one. "calling all dawns" is 3 separate words and therefore 3 separate arguments where it wants only 1. Try using a single word, or connecting them with underscores instead of spaces: calling_all_dawns.

Correct! If you want multiple words please use quotes, like the examples on all the adjacent lines.
 
Still getting the error. :(
 
You have added one line to the configuration file. Please post that single line. Please make sure you have matched quotes, you have used forward slashes, and the actual directory exists.
 
Top Bottom