Añadir información para compatibilidad con Track Designer

Sintaxis: <TrackDesigner>
    <ID>...</ID>
    <Flag>...</Flag>
    <HasSeveralGeometries>...</HasSeveralGeometries>
    <TDBitmapList>
        <TDBitmap>
            <BBConnexionPointIndex>...</BBConnexionPointIndex>
            <Type>...</Type>
            <AngleBetweenTDandBB>...</AngleBetweenTDandBB>
        </TDBitmap>
        ...
    </TDBitmapList>
</TrackDesigner>


Nota: La etiqueta <ID> se puede cambiar por una lista de ids con la siguiente sintaxis:
    <IDList>
        <ID registry="...">...</ID>
        ...
    </IDList>
Valor por defecto: Si no hay etiqueta <TrackDesigner>, la pieza no es compatible con TrackDesigner.
Descripción: Un conjunto de información usado por BlueBrick para convertir a piezas de Track Designer a BlueBrick y viceversa.

BlueBrick puede guardar y cargar archivos en formato Track Designer (TDL). Ya que el número de las piezas y otros datos son diferentes entre BlueBrick y Track Designer, BlueBrick necesita tener información sobre cómo convertir el archivo al guardarlo en foemato TDL.

Normalmente solo necesitas añadir esta etiqueta XML si añades una pieza usada en Track Designer. BlueBrick ya viene con soporte completo para la biblioteca por defecto de Track Designer, de modo que probablemente nunca tendrás que añadir esta información. Sin embargo, como Track Designer también tiene la posibilidad de ampliar la biblioteca, puede suceder que quieras añadir soporte para una pieza que hayas creado para BlueBrick (para poder cargar un archivo TDL creado con tu biblioteca personalizada de TD).

El campo ID contiene la ID completa de Track Designer (esto puede verse en las ventana de propiedades de las piezas, haciendo un clic derecho sobre una pieza en Tarck Designer y seleccionando "Properties"). Esta ID se usa para crear un vínculo entre la pieza en Track Designer y la correspondiente pieza en BlueBrick. No existe valor por defecto, de modo que este campo siempre tiene que tener un valor.

Como es posible asignar cualquier ID a una pieza en el registro de TD, puede suceder que la misma pieza tenga diferentes IDs en diferentes registros personalizados, haciéndolos incompatibles. BlueBrick sin embargo es capaz de cargar dos archivos TDL diferentes, guardados con registros incompatibles. Si se sabe que una pieza tiene diferentes IDs en distintos registros TD, puedes reemplazar el campo ID por un campo IDList en el cual enumeras todos los IDs conocidos.

El campo ID contiene una atributo llamado registry. El valor de este atributo es una palabra clave que hace referencia al registro en el cual la pieza tiene esta ID. Como pañabra clave se puede emplear el nombre del LUG/LTC que emplea ese registro, o el nombre de la página web que distribuye este registro. Luego, en la carpeta "config" de la carpeta de instalación de BlueBrick, puede encontrar el archivo de configuración llamado "TDRegistryList.txt" en el cual puedes asociar la palabra clave con el nombre real de la pieza en el registro.

El campo Flag contiene un valor íntegro que Track Designer necesita. Este campo solo puede tener uno de 4 valores:

Desafortunadamente no hay manera de encontrar este Flag en el registro de piezas de Track Designer. Sospecho que estas Flags se computan de forma dinámica, pero como no sé cómo computarlas, por ahora las añado como valores fijos en la descripción XML. Normalmente puedes usar 0 como valor por defecto. BlueBrick también usa 0 como valor por defecto.

El campo HasSeveralGeometries contiene una marca booleana("true" o "false" en minúsculas y sin las comillas) para saber si la pieza tiene diferentes Geometries en Track Designer. Para saber si una pieza tiene diferentes geometrías, abre el registro de Track Designer y pulsa sobre la pieza. Si puedes ver más de una entrada bajo "Geometries", deberás asignar el valor "true" al campo HasSeveralGeometries. Si este campo es "false", BlueBrick usará el port ID "0" como origen de la pieza al guardar el archivo. El valor por defecto es "false".

El campo TDBitmapList contiene una lista con todas las conexiones de una pieza Track Designer. Este campo te permite reasignar los puntos de conexión a los puntos de conexión de BluBrick. En esta lista, simplemente coloca un campo TDBitmap por cada punto de conexión de Track Designer; si la pieza BlueBrick tiene más puntos de conexión que la de Track Designer, ignóralos. Si la pieza Track Designer tiene más puntos de conexión que la de BlueBrick, crealos y añádelos a la lista de puntos de conexión en el archivo XML de BlueBrick. Presta especial atención al orden del campo TDBitmap! Esto es importante ya que las entradas deben seguir el mismo orden que el orden de ID de bitmaps en el registro de Track Designer.

El campo BBConnexionPointIndex contiene el índice de conexiones con base 0 de BlueBrick, que indica cómo la pieza conectará e Track Designer al usar este índice de bitmaps. En la descripción de la pieza BlueBrick en el archivo XML, los puntos de conexión se describen dentro del campo ConnexionList (vea la sección sobre cómo Describir los puntos de conexión para más detalles). El índice de conexiones BlueBrick se refiere al orden en el cual aparecen las conexiones.

El campo Type contiene un valor íntegro que describe el tipo de conexión en. Este número puede tener un valor entre 0 y 20.

El campo AngleBetweenTDandBB contiene un valor decimal que es la diferencia en ángulo (en grados) entre la orientación de piezas en BlueBrick y TrackDesigner.