X4 Tools

The tools listed here were written by me for Egosoft team and X4 project (Steam link). They assist in data validation before export, waypoint creation (used by space stations and ports), vertex color assignment and other tasks.

Nitpicker

Nitpicker is a tool that validates the scene. Each module can be activated and is responsible for corresponding validation. Each log entry can be customized with different actions such as Select object, Delete (UV channel, object, something else), etc.
User can individually disable modules. New modules can be easily added if need be since they are incapsulated in individual python files.


Modules functionality:

  • Check blend file module
    Check all file dependencies in Blender_Properties.xml file. If the file location is correct and Configuration.xml file is present. If everything is correct validates if the file is saved at all and if so, file location should be under correct path (set up in Configuration.xml file).

  • Check tools module
    Checks that other Egosoft tools are installed. Currently expects the following addons to be installed and enabled.

  • Validate export
    Validates exporting data being used. Class Attribute should be set, otherwise adds error message to the Log stating “export class is 'none’.

  • Validate UVs
    Throws an error if UV channels named incorrectly. UV map on any object should be called uv1, uv2, etc. Checks that each mesh object have at least one UV channel.

  • Validate vertex colors
    Validates vertex color data of all mesh objects in the scene. Every mesh object should have mandatory vertex color channels: 'ao', 'col'. Mesh objects can have additional vertex color channels: 'idcode', 'paintmodemask', 'dirt', 'multimatsmooth', 'multimatmetal', 'multimatid'.

  • Validate names
    Validates the naming of each object in the scene. Names should conform to these rules:

    • all letters should be lowercase

    • no special symbols except '_'

    • no dots.

  • Validate materials
    Checks the Blender scene for the following errors: - Existence of material library - All materials should be linked from material library - Unused materials not from library.

  • Validate material slots
    Validates material slots for each mesh object. - If an object has one or several empty material slots, it creates a log entry with an ability to quickly fix it (remove empty slots). - If an object has duplicated material slots Nitpicker will prompt an error giving an option to merge them.

  • Validate tags
    Validates tags for connectors, relationships between objects with tags and their modifiers.

  • Validate timeline
    Validate all timeline relative data such as keys out of range, curves, etc.


Multimat

Multimat is a tool for managing vertex colour palletes. Each pallete can assign up to 8 vertex colour channels:

  • color

  • idcode

  • paintmodmask

  • ao

  • dirt

  • multimatsmooth

  • multimatmetal

  • multimatid

Palletes can be imported from database available to all artists. They can be assigned per object or per poly.


Waypoint Breeder

Waypoint Breeder is a tool that generates waypoint nodes used in space stations and ports. It can generate nodes chain from connected vertices. It also simplifies tags assignment restricting tags for inappropriate node types.