

                  JBsp 1.02  Oficial Release
                  Copyright Junio-1997 (c) LsJmDM
                  1997, Corrales, Zamora, Espaa.


1.- Introduccin
----------------
    -He aqu JBsp, un constructor de NODOS para los juegos de Id Software
que usan espacio simple en 2D ( es decir, Doom, Doom ][ y Heretic, pues
Hexen y Strife dan problemas). Este constructor est basado en el
archifamoso BSP, por Colin Reed. Lo he traducido al espaol, le he
incorporado los grficos ( prestados en parte de NodeNav, por Frank
Pazzolo), y le he cambiado algunas cosillas, siempre para conseguir
mayor velocidad. Funciona EXACTAMENTE IGUAL que la versin 2.1x. Sin embargo,
JBSP calcula la REJECT, cosa que no hace BSP. De todas formas, su parecido 
con BSP es enorme ( no es de extraar, porque el 80% del cdigo es de 
este programa ).

2.- Funcionamiento
------------------
    -El programa es muy simple, tecleando JBSP ms el nombre  del archivo
WAD que queremos procesar. Podemos incorporar a esto un nombre de salida.
De no hacerlo, el archivo de salida por defecto es TMP.WAD. Los
siguientes parmetros son opcionales.

Sintaxis:
   JBSP [-factor nnn] [-jmreject nnn] [-nograf] [-t] [-nivel nn] [-ver]
   [-bsp15] nombre.wad [salida.wad]

-factor: especifica el parmetro que se tendr en cuenta para elegir la mejor
linea de particin. Qu significa esto ?. Pues que cuanto ms bajo sea este
nmero, ms nodos se crearn, pero las lineas de particin tendrn menos
"splits". En futuras versiones de este documento publicar una explicacin
detallada. Por ahora, si un nivel da problemas a la hora de jugar,
cambia este nmero. Detrs de factor debe ir un nmero de 1 a 30.

-jmreject: esta opcin, que debe ir seguida de un nmero entre el 0 y el
60000, especifica que se use el algoritmo diseado por mi, en vez de el
otro, que es el usado en el IDBSP( el constructor de id software) y en
DEU. Este algoritmo, en la versin actual, es MUY LENTO para valores de
jmreject pequeos. Usalo para acelerar la accin en niveles MUY GRANDES
y con muchos sectores ( aunque el cculo puede llevar varias horas).
Estoy trabajando para implementar mayor velocidad. Paciencia.

-nograf: si se especifica esta prmetro, que no debe ir acompaado de
ningn nmero, no se usarn grficos, sino que se har todo en el modo
de texto.

-t: si se especifica, se copiarn todos los lumps de datos al wad de
salida, es decir, grficos, textos, etc..., y no slo los niveles como
en versiones anteriores.

-nivel nn: donde nn es el nmero de nivel en el que el mapa que queremos
procesar est en el wad. JBsp no usa los nombres de id(ExMx o MAPxx), sino
que va buscando secuencialmente los niveles y les pone un nmero.

-ver: Inicia el visor. Una vez en l, A(de anterior) nos conduir al nivel
anterior, S(siguiente) al siguiente y Q(quitar) sale del programa. Tecleando
N se entra en el visor de nodos. En verde, la lnea de particin, y en rojo
y azul las cajas del nodo. Las teclas son: L, para el nodo left, R para el
right, y U para el superior. Tecleando Q se vuelve al visor de niveles.
Si se teclea R se entra en el visor de Reject. Tecleando S y A se va de
sector en sector, como en el visor de niveles. Para avanzar de 10 en 10
sectores o disminuir de 10 en 10, usar D y F. Para ir desde el visor de
Reject al de niveles, teclear Q. En el visor de Reject, el sector verde
es el actual, y los de rojo son a los que se puede ATACAR. Observa que
si un nivel tiene todos en rojo es que no tiene calculada la reject.
Recuerda que BSP no calcula la reject (JBsp si).

-bsp15: si se especifica se usar la versin vieja de BSP (1.5x) para
la construccin de los NODOS. De lo contrario, se usar la nueva (2.1x).
Recomiendo no usarlo excepto para probar distintas configuraciones, o si
el nuevo algoritmo da problemas o errores de visualizacin (cosa que dudo).

Ejemplos:

      JBSP -nograf MIWAD.WAD      ; Procesar el archivo miwad.wad y escribe
el archivo tmp.wad como salida, sin usar los grficos.

      JBSP -factor 20 -jmreject 600 miwad.wad hola.wad ; Procesar miwad.wad 
con un factor 20 y crear el archivo de salida hola.wad, usando el algoritmo
jmreject para calcular el reject, usando de distancia entre sectores 600.

      JBSP -bsp15 -t doom2.wad       ; Procesar todos los niveles y copiar
todos los lumps de datos al wad TMP.WAD ( ya que no se le ha dicho un
nombre de wad de salida) y usar el algoritmo de generacin de los NODOS de
BSP 1.5x, en vez del nuevo (2.1x).

      JBSP -ver doom2.wad     ; Inicia el visor de niveles y visualiza
el contenido de doom2.wad.

Al procesar un nivel, vers que despus de mostrar algunos datos, se entra
en el modo grfico, y se dibuja el nivel en azul. A medida que se va
calculando la REJECT para cada sector, este se va oscureciendo. Cuando todos
los sectores estn oscuros, comienza el clculo de los NODOS. Bsicamente,
consiste en dividir el mapa siguiendo unas determinadas reglas. Podrs ir
viendo como se va calculando en tiempo real. Cuando todo el mapa est lleno
con los recuadros rojos y azules (las lneas verdes son las lneas de
particin), vers como se van dibujando unos bloques grises, el BLOCKMAP.
Cuando todo el mapa est lleno de estos bloques, el proceso habr
finalizado, se saldr del modo grfico y adis.

NOTAS: Jbsp sobreescribir cualquier archivo WAD especificado como salida
si este ya existe, incluido tmp.wad. No se debe especificar el wad de
entrada como el de salida con el comando -t, pues se darn errores de
escritura o de lectura (como LINEDEF fuera de lugar, etc...).


3.- Revisin histrica
--------------------------
-v 1.0:
    Primera versin beta, con algunos errores.

-v 1.01:
    Primera versin en Internet.
    Solucionado el bug de visualizacin que impeda ver Wads en ordenadores
   con BIOS antiguas.
    Ahora se copian todos los lumps del wad, con el comando -t.
    Se pueden extraer niveles de wads grandes con -nivel nn.
    Incorporado el visor de niveles, -ver.

-v 1.02
    Ahora se pueden ver los nodos desde el visor, asi como la reject.
    Incorporados los nuevos cambios de BSP 2.1x. Ahora se puede especificar
   que se construyan los nodos con la versin antigua o moderna (por defecto).

4.- Trabajando en...
--------------------------
    Incorporar las 3 dimensiones al visor.
    Aumentar la velocidad de JMREJECT.
    Un nuevo algortimo que calcule la reject perfecta (usando mecanismos
   de ray-tracer).
    Incluir el constructor de id, DOOMBSP, en JBSP.
    Incorporar Qbsp, para dar soporte e quake.
    Dar soporte a Hexen.

Sugerencias, comentarios y bugs me los podeis enviar a:

               JmD
               General Goded, 13
               Corrales del Vino, Zamora.
               C.P. 49700
o en Internet:

        lsjmdm@mx3.redestb.es
                                                 
P.D.: Espero que el programa sea del agrado de todos los fanticos de Doom.
No dejes de mandarme un E-mail. NOTA: la conexin se me acaba en Septiembre,
asique si me vas a enviar un email, aguija.

