Compilar BGL

Discusiones sobre diseño de escenarios
AHS7541
Mensajes: 7
Registrado: Noviembre 9, 2005, 14:41
Ubicación: LEBA
Contactar:

Compilar BGL

Mensaje por AHS7541 »

Pués empecemos.
Tengo un problema bastante grave, yo creo el aeropuerto con AFCAD, pista luces calles parking y demás. Lo compilo sin problemas.
Luego con el ScengenX descompilo el AFCAD convirtiendolo en XML, este XML sin modificar nada lo vuelvo a compilar sin problemas, pero como añada lo mas mínimo, ya me da un error el compilador, estoy desesperado, si ves en mi web el escenario de LEBA, tiene el edificio de la terminal y un hangar, pues lo he vuelto a hacer por que se me olvido uno de los PAPIS, y ahora no hay forma de compilarlo con esos edificios.
Recomiendarme alguna WEB donde iniciarme en lo del XML directo sin software adicional a ver si asi lo consigo.
Gracias
AHS7541
PP VFR y ATC-1
Miguel Ángel
Saludos desde LEBA
Lo mejor de AirHispania, su gente.
Avatar de Usuario
janu
Recluta graduado
Recluta graduado
Mensajes: 72
Registrado: Octubre 4, 2006, 07:31
Contactar:

Mensaje por janu »

Hola Miguel Angel

Entiendo que ya tienes el archivo XML bien formado fuera de SceneGenX y lo puedes editar con un editor de texto simple. Haz una copia de seguridad de ese XML que será la columna vertebral de tu escenario.

Ahora, si lo que quieres es añadir un PAPI, por ejemplo, haces:

1 En SceneGenX importas tu XML de trabajo.
Files -> Import XML source code...Browse... lo buscas...SCAN XML, marcas el aeropuerto y IMPORT XML.

2 Seleccionas la pista, editas y pones el PAPI o lo que quieras.

3. Pulsas en edición de pista el botón XML y ves el código de la pista. localizas el PAPI y copias el código, ahí mismo, sin compilar nada.

4. Lo llevas a tu XML y lo pasteas en su sitio, con cuidado de no perder delimitadores. Guarda tu XML.

Ahora a compilar, pero no dentro de SceneGenX sino en ventana de comandos con BGLCOMP.EXE

Para esto necesitas bajar e instalar de la web de Microsoft fs2004_sdk_bglcomp2_setup.exe

Si tienes prisa en tu escenario de Córdoba, envíame el código para que le eche un vistazo.

En cuanto a las direcciones relativas a trabajar el fichero XML directamente, lo mejor es echar un ojo al documento del fs2004 sdk que te instala el setup de arriba, ya que da toda la estructura del documento. Se puede ir aclarando cosas sobre esa estructura en este foro, en base a la experiencia de todos los que lo vamos manejando.

En cuanto a foros sobre escenarios, que hay muchos, para mí es muy bueno el de SecneryDesign, que acaban de trasladar a

http://www.fsdeveloper.com/

Hay gente muy cualificada y abarca toda la temática de diseño con todas sus herramientas.

Saludos

J.M.Janices





(1) Hay dos herramientas buenas para ingeniería reversa (¿o perversa? :twisted: ): BGLAnalyzer para archivos anteriores a FS2004 y NewBGLAnalyzer para FS2004, archivos con código fuente XML. El primero produce SCAM. EL segundo XML, que es lo que buscas.
AHS7541
Mensajes: 7
Registrado: Noviembre 9, 2005, 14:41
Ubicación: LEBA
Contactar:

Mensaje por AHS7541 »

Gracias Janu, justo antes de leer el foro, mme he bajado el fs2004_sdk_bglcomp2_setup de la web de microsoft y voy a ver que tal.
Existe en algún lado una lista , aunque sea en inglés, de todos los comandos para scenery en lenguaje XML?
AHS7541
PP VFR y ATC-1
Miguel Ángel
Saludos desde LEBA
Lo mejor de AirHispania, su gente.
AHS7541
Mensajes: 7
Registrado: Noviembre 9, 2005, 14:41
Ubicación: LEBA
Contactar:

Mensaje por AHS7541 »

Y se e olvidaba, hay algún programa que sea capaz de leer algo como esto:
"90b2bbe111d2f24a1000849c2ae60c5a" de una libreria de objetos y que se pueda ver que es?
AHS7541
PP VFR y ATC-1
Miguel Ángel
Saludos desde LEBA
Lo mejor de AirHispania, su gente.
Avatar de Usuario
janu
Recluta graduado
Recluta graduado
Mensajes: 72
Registrado: Octubre 4, 2006, 07:31
Contactar:

Mensaje por janu »

Bueno, un poco de XML:

No es un lenguaje de programación sino un estándar de intercambio de información. No hay comandos ni sentencias. Solo hay dos cosas:

Un esquema que es muy genérico y un árbol dedatos donde se coloca toda la información.

Microsoft asumió este estándar bastante tarde, pero lo asumió. En concreto, a partir de FS2004, el bgl final que constituye el escenario, lo genera el programa BGLCOMP.EXE a partir de una estructura XML. Antes lo hacía con el programa SCASM a partir de otra estructura más compleja en ensamblador. De hecho, hay algunas cosas que se generan todavía con scasm, como las zonas de flatting. Por eso en mis escenarios los pongo aparte.

En resumen, pones los datos en una estructura XML bien formada (que cumple con el estándar oficial XML de la W3C World Widw Web Consortioum y con el esquema), los compilas tan simple como:

bglcomp.exe miescenario.xml

y obtienes el miescenario.bgl

Para compilar debe estar en la carpeta del compilador tanto miescenario.xml como bglcomp.xsd, que es el esquema que he comentado antes.

to be continued......
Avatar de Usuario
janu
Recluta graduado
Recluta graduado
Mensajes: 72
Registrado: Octubre 4, 2006, 07:31
Contactar:

un poco de xml (2)

Mensaje por janu »

Ahora la respuesta a tu pregunta. En el SDK que te has bajado, tienes varios documentos. Entre ellos, Compiling Scenery with BGLComp.

Ahí habla de lo que es XML mejor que lo que yo he resumido y va describiendo toda la estructura del árbol de acuerdo con el esquema que ya está definido para este asunto por Microsoft y el compilador entiende.

Esto es lo más parecido a lo que deseabas ver, llámesles comandos o etiquetas.

en la siguiente... hablamos de los objectos y librerías

to be continued...
Avatar de Usuario
janu
Recluta graduado
Recluta graduado
Mensajes: 72
Registrado: Octubre 4, 2006, 07:31
Contactar:

"90b2bbe111d2f24a1000849c2ae60c5a"

Mensaje por janu »

Un objeto en un escenario: un edificio, una manga de viento, un hangar

Todos estos objetos están diseñados en 3D con Gmax. Una vez acabados, se exportan a formato mdl y se incorporan a la estructura XML de la forma siguiente:

primero se declaran solo una vez en el arbol y en una rama general :roll: esto es fuera de <Airport>

<ModelData>

ese número hexadecimal lo genera el programa de exportación del modelo desde Gmax, a la vez que el modelo "micasita.mdl". Lo que hemos hecho es incluirlo en la estructura y ahora ya podemos usarlo, que el compilador lo entenderá:

<SceneryObject
lat= ...
lon=
....
<LibraryObject>
</SceneryObject

y podemos usar el name ya las veces que queramos en el árbol

Hay modelos ya incluidos por Msoft en el programa FS. Esos vienen en las hojas excel que bajas con el paquete.

Hay otros de usuario. Puedes hacer un bgl de librería de objetos y lo usas en los escenarios que quieras.

Pero..... al compilar una de dos:

si el objeto es de los incluidos de base en el FS9, no hay que declarar siguiera. Con llamarlo por el nombre que tiene en la lista, ya aparece.

si el objeto es de una librería o propio, no basta solamente con llamarlo. Hay que declararlo como hemos visto y el fichero mdl debe estar presente en la carpeta de compilación.

Bueno, espero haber aclarado algo. Ya seguiremos.

Un saludo

janu AHS6585
Avatar de Usuario
janu
Recluta graduado
Recluta graduado
Mensajes: 72
Registrado: Octubre 4, 2006, 07:31
Contactar:

Mensaje por janu »

A ver, que se me ha comido un pedazo del anterior:

....primero se declaran solo una vez en el arbol y en una rama general esto es fuera de <Airport>

<ModelData>
name="90b2bbe111d2f24a1000849c2ae60c5a"
SourceFile="micasita.mdl"
FileOffset="0" />

ese número hexadecimal lo genera el programa de exportación del modelo desde Gmax, a la vez que el modelo "micasita.mdl". Lo que hemos hecho ....
AHS7541
Mensajes: 7
Registrado: Noviembre 9, 2005, 14:41
Ubicación: LEBA
Contactar:

Gracias

Mensaje por AHS7541 »

Gracias Janu, estoy aprendiendo de lo lindo, ya tengo manga dínamica en el escenario de LEBA, Fuel los edificios y seguiré adornandolo.
AHS7541
PP VFR y ATC-1
Miguel Ángel
Saludos desde LEBA
Lo mejor de AirHispania, su gente.
Avatar de Usuario
janu
Recluta graduado
Recluta graduado
Mensajes: 72
Registrado: Octubre 4, 2006, 07:31
Contactar:

la manga

Mensaje por janu »

Mira que es útil y se utiliza poco. Basta echarle un vistazo y te señala la dirección de la cabecera de salida.

Cuando tengas LEBA listo avisa, que romperemos una botella de cava (barato) contra el tanque de fuel. :-))

Janu
AHS6585
penyacuriel
Mensajes: 4
Registrado: Noviembre 28, 2006, 16:04

-

Mensaje por penyacuriel »

Hola JANU como veo que dominas el tema te comento lo que me pasa. Soy novato en esto y aquí me he quedado.

Con el GMAX he creado una figura y la quiero exportar al FS9. Sigo exactamente todos los pasos como manda el GMAXSCENERYTUTORIAL dejando en la carpeta de "scenery" los archivos *.mdl y *.xml que me crea el programa.
Una vez ahí edito el *.xml siempre siguiendo las instrucciones del TUTORIAL y al acabar (con el bglcom.exe y bglcomp.xsd en esa misma carpeta) lo intento compilar... pero ahí me aparece el error.

Con el SIMBOLO DEL SISTEMA (simulador de MS-DOS) le indico: bglcomp miobjeto.xml pero no hay manera, me saca siempre este error:

ERROR C2033: XML parse error (line, colum, error)
ERROR: 9, 45, text is not allowed in this context according to DTD/schema.
Expecting: Airport, Marker, Waypoint, Boundary, Vor, Ndb, Scenery object, Model data, Geopol, Exclusionrectangle.
ERROR: Unexpected data Line:9 Colum:45 Count:44
ERROR: Compilation errors detected, compilation failed!


He revisado de arriba abajo el archivo XML editado y no veo que haya quedado ningún cabo suelto. No entiendo donde puede estar el error.

Un saludo y gracias!
Avatar de Usuario
janu
Recluta graduado
Recluta graduado
Mensajes: 72
Registrado: Octubre 4, 2006, 07:31
Contactar:

Mensaje por janu »

El compilador ve algo que no entiende en la línea 9, carácter 45 (el espacio se cuenta).

Edita copn el block de notas y hazle "Ir a" .. 9

La posición 45, tan avanzada en la línea sugiere algún carácter que no entiende: acentos, ñ, ... o un fin de línea inapropiado...

Si no lo encuentras, pastea el xml y así aprendemos todos :)

Saludos

Janu
Janu AHS6585
penyacuriel
Mensajes: 4
Registrado: Noviembre 28, 2006, 16:04

-

Mensaje por penyacuriel »

Efectivamente, la tontería era que ahí había una línea que no estaba correctamente tabulada... :oops: gracias.

Por cierto, ya puesto tengo un problemilla con el GMAX que tampoco puedo solucionar.

Creo una figura 3D y la exporto al FS9, hasta ahí bien. El problema viene cuando le quiero aplicar una textura (*.jpg). Dentro propio GMAX se ve correctamente aplicada... pero entro al FS9 y nada, no hay manera de que se vea dicha textura.

Un saludo!
Avatar de Usuario
janu
Recluta graduado
Recluta graduado
Mensajes: 72
Registrado: Octubre 4, 2006, 07:31
Contactar:

Mensaje por janu »

Entiendo que antes has instalado correctamente el paquete mkmdl y lo tienes todo bien.

Con la textura, haz lo siguiente:

1. En Photoshop o lo que utilices, guardala como bmp 24 bits
2. En Gmax cambia el bitmap para que sea esa en vez de la jpg. Gmax lo ve, pero mkmdl no lo exporta. No pasará nada.
3. Exporta a mdl, compila... pon el bgl en .../scenery
4. Copia la textura.bmp en ..../textures
5. abre textura.bmp con IMAGETOOL
6. Image - format - DXT1
7. Image - Create mipmaps
8. guarda el resultado con el mismo nombre textura.bmp

Y ya está. Saludos
Janu AHS6585
penyacuriel
Mensajes: 4
Registrado: Noviembre 28, 2006, 16:04

-

Mensaje por penyacuriel »

Gracias Janu,

Sigo los pasos tal y como los detallas hasta el final pero nada, continuo viendo el objeto sin la textura.

El paquete de makemdl lo tengo instalado ya que si le vuelvo a dar a ejecutar me indica si lo quiero reparar, modificar o desinstalar.

Me está volviendo loco.

Saludos!
Responder