CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 15 Jun 2021 12:11

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 16 mensajes ]  Ir a página 1, 2  Siguiente
Autor Mensaje
NotaPublicado: 27 Jul 2014 10:44 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 22 May 2004 10:50
Mensajes: 897
Hola

¿Existe explicación del significado de los códigos de gráficos y de los atributos?. Por ejemplo al extraer los gráficos de una aventura que todavía no los tiene creados se rellenan con un 7d.

Código:
GRAPHICS
{
   33,                 // Número de gráficos
   1,1,1,1,1,1,1,1,1,1,   // Tamaños de gráficos
   1,1,1,1,1,1,1,1,1,1,
   1,1,1,1,1,1,1,1,1,1,
   1,1,1,                  // Total: 33 gráficos de 1byte
   7,7,7,7,7,7,7,7,7,7,    // Atributos
   7,7,7,7,7,7,7,7,7,7,
   7,7,7,7,7,7,7,7,7,7,
   7,7,7,                  // Total: 33 atributos de 1byte
   7,7,7,7,7,7,7,7,7,7,    // Datos
   7,7,7,7,7,7,7,7,7,7,
   7,7,7,7,7,7,7,7,7,7,
   7,7,7                   // 33 Bloques de datos
}

_________________
---
KMBR! http://www.aliensuavito.org @lecambre


Arriba
 Perfil  
 
NotaPublicado: 27 Jul 2014 10:50 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 23 Abr 2004 08:49
Mensajes: 3008
Ubicación: España (Galicia)
Hola,

Parece que lo que hace inPAWS es tomar el bloque de datos de gráficos tal cual. Así que puedes "ir y volver" al spectrum, siempre y cuando mantengas el bloque de gráficos sin tocar.

Supongo que lo mejor es terminar la aventura y hacer los gráficos en el propio PAWS. O al revés.
Pero espera... ¡tú esto ya lo sabías! :-P

Si mastodon estuviera por aquí, podría aclararnos algo, pero le he mandado emails y privados y no contesta...

_________________
-- Baltasar, el arquero


Arriba
 Perfil  
 
NotaPublicado: 27 Jul 2014 11:14 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 22 May 2004 10:50
Mensajes: 897
He estado mirando el hilo anterior sobre los gráficos y los fuentes de UnPAWS e InPaws. La cosa no tiene mala pinta:

- En el fuente de UNPAWS viene la descripción de todos los opcodes de PAWS. UnPAWS convierte
estos opcodes es una descripción legible para humanos.
- InPAWS trabaja directamente con los códigos en binario, es decir no hace ningún tipo de interpretación. Simplemente vuelca en decimal los bytes de los bloques gráficos a un fichero ASCII.
- Si usas InPAWS y quieres meter gráficos en tu aventura sólo tienes que volcar desde un snapshop y luego cortar y pegar el bloque de texto en tu fuente Inpaws. Esto lo puedes hacer poco a poco o al final cuando hayas terminado de escribir tu aventura.
- InPAWS no soporta snapshots de 128K.
- UnPAWS sí soporta snapshopts de 128K.

Asi que:

1) A partir del fuente de UnPaws conocemos el significado de los opcodes de gráficos y atributos. 2) Con esta información podemos escribir un conversor desde un formato vectorial en xml, tipo DIA, o hacer un editor muy sencillito para crear gráficos vectoriales en Spectrum.
3) La salida del conversor/editor será un fichero de texto plano con los códigos de InPAWS.
4) El programador de la aventura toma este bloque de código de gráficos y lo mete en su fuente InPAWS.

Creo que voy a hacerme un editor pequeño para esto, pues quiero usarlo en otro proyecto posterior para Spectrum.

baltasarq escribió:
Hola,

Parece que lo que hace inPAWS es tomar el bloque de datos de gráficos tal cual. Así que puedes "ir y volver" al spectrum, siempre y cuando mantengas el bloque de gráficos sin tocar.

Supongo que lo mejor es terminar la aventura y hacer los gráficos en el propio PAWS. O al revés.
Pero espera... ¡tú esto ya lo sabías! :-P

Si mastodon estuviera por aquí, podría aclararnos algo, pero le he mandado emails y privados y no contesta...

_________________
---
KMBR! http://www.aliensuavito.org @lecambre


Arriba
 Perfil  
 
NotaPublicado: 27 Jul 2014 13:46 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4663
Suena bien, veo que te animas a ponerle el cascabel al gato :)

No descartes sin mirar lo que comenté de convertir el formato SVG a InPAWs (o al menos un subconjunto de SVG). No se como es el formato de DIA, pero SVG es abierto y es ya XML, y creo que cualquier programa que genere gráficos vectoriales lo soporta (InkScape al menos lo hace).

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 27 Jul 2014 14:28 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 22 May 2004 10:50
Mensajes: 897
Yo creo que no merece la pena. El tema de los colores, la resolución y los sombreados son demasiado particulares a PAWS/Spectrum. Ya tengo el editor medio funcionando en Javascript, le estoy añadiendo los comandos de dibujado y volcado. De momento no tengo relleno/sombreado.

Uto escribió:
Suena bien, veo que te animas a ponerle el cascabel al gato :)

No descartes sin mirar lo que comenté de convertir el formato SVG a InPAWs (o al menos un subconjunto de SVG). No se como es el formato de DIA, pero SVG es abierto y es ya XML, y creo que cualquier programa que genere gráficos vectoriales lo soporta (InkScape al menos lo hace).

_________________
---
KMBR! http://www.aliensuavito.org @lecambre


Arriba
 Perfil  
 
NotaPublicado: 27 Jul 2014 19:18 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 22 May 2004 10:50
Mensajes: 897
Ya lo tengo en marcha, estoy usando los códigos del UnPaws que me parecen mucho más cómodos. Luego es cuestión de convertirlos a los valores decimales que espera InPaws, pero esto me permite escribir directamente o copiar pantallas volcadas con el UnPaws. Por ejemplo:

Imagen

Código:
https://www.dropbox.com/s/hey6nuiacrn2kue/edpaws.jpg


El dibujo es un corta-pega directo del Abracabra. No me he complicado mucho y todas las teclas son las de PAWS, asi que no tengo ni siquiera menús. Me falta incluir los rellenos pero yo creo que pinta bien. Lo realmente potente es que la parte de la derecha es una caja de texto editable, asi que se puede modificar al vuelo cualquier comando o directamente pegar desde UnPAWS.

_________________
---
KMBR! http://www.aliensuavito.org @lecambre


Arriba
 Perfil  
 
NotaPublicado: 27 Jul 2014 20:03 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 23 Abr 2004 08:49
Mensajes: 3008
Ubicación: España (Galicia)
Hola,

Saimazoom escribió:
El dibujo es un corta-pega directo del Abracabra. No me he complicado mucho y todas las teclas son las de PAWS, asi que no tengo ni siquiera menús. Me falta incluir los rellenos pero yo creo que pinta bien. Lo realmente potente es que la parte de la derecha es una caja de texto editable, asi que se puede modificar al vuelo cualquier comando o directamente pegar desde UnPAWS.


Moooola...
Los menús los puedes añadir más tarde (si quieres), al fin y al cabo, sólo es cuestión de generar la secuencia de comandos adecuada.

En cuanto a lo del SVG que dice Uto, siempre se puede crear una opción para exportar... si te animas.

En cualquier caso, como complemento a unPAWS/inPAWS es fantástico. Y ya que leyes los gráficos de uno u otro pasándole el archivo fuente de inpaws o unpaws, genial... y guardar en cualquiera de los dos formatos...

Bueno, son ideas.
Enhorabuena.

_________________
-- Baltasar, el arquero


Arriba
 Perfil  
 
NotaPublicado: 27 Jul 2014 20:59 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 22 May 2004 10:50
Mensajes: 897
Para insertar gráficos de UnPaws sólo hay que pegarlo en la caja de texto. A partir de ahí puedes hacer lo que quieras. Para InPaws le meteré un botón de exportar que saque una ventana nueva con el ASCII. Leer InPaws no me aporta nada, se pueden extraer los gráficos del z80 final con el UnPaws y enchufarlo de nuevo al editor.

No veo fácil lo del SVG, pues habría que simular de algún modo los atributos originales y los sombreados. No creo que sea sencillo que el resultado final quede como en un Spectrum.

Mañana le añadiré atributos, relleno sólido y la posibilidad de poner un dibujo por debajo de plantilla a otra resolución.

Lo del relleno/sombreado lo he estado mirando y utiliza 16 caracteres gráficos definidos por el usuario. ¿Sabéis donde se encuentran en el unpaws/inpaws?

_________________
---
KMBR! http://www.aliensuavito.org @lecambre


Arriba
 Perfil  
 
NotaPublicado: 27 Jul 2014 21:32 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4663
saimazoom escribió:

Lo del relleno/sombreado lo he estado mirando y utiliza 16 caracteres gráficos definidos por el usuario. ¿Sabéis donde se encuentran en el unpaws/inpaws?



Supongo que en el apartado de "juego de caracteres" que tienes en la pagina 18 de la documentacion de inPAWS. No estoy seguro al 100% pero me suena que las sombras en PAW las redefinias con el editor de caracteres. Supongo que si ese apartado es "binario" como el de los graficos, la representación será byte a byte una linea de cada caracter. Lo que no se es si empieza en el ASCII 0, en el 32 (espacio), o donde. 8 bytes por caracter haciendo una matriz de 8x8 bits que forman cada letra (o shade).

Lo que si te puedo decir es que en el Spectrum el ASCII 128 es el UDG 0 , y a partir de ahí van los 16 caracteres gráficos por defecto del spectrum, seguidos de los UDG (gráficos definidos por el usuario), que son 31.

http://en.wikipedia.org/wiki/ZX_Spectrum_character_set

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 28 Jul 2014 08:28 
Desconectado
Guionista
Guionista
Avatar de Usuario

Registrado: 20 Ene 2007 20:09
Mensajes: 356
Hola,

baltasarq escribió:
Hola,
Si mastodon estuviera por aquí, podría aclararnos algo, pero le he mandado emails y privados y no contesta...

Me paso esporádicamente por el foro, lo que me extraña es que el privado no me ha mandado notificación al correo real, en todo caso siempre estaré localizable en lane.mastodon AT gmail. Sorry :(
El google + de mastodon tampoco lo uso.

Creo que le expliqué en otro hilo. Lo amplío: InPAWS no interpreta de ninguna manera ni los gráficos ni los UDGs. Se limita a copiar el bloque de memoria donde están almacenados los datos en un bloque GRAPHICS.

Sí que habilita un método, algo rudimentario, para poder crear gráficos para tu aventura de 48k. Primero se crean los gráficos en una aventura vacía, con el PAW real desde un emulador de Spectrum. Una vez hecho hay una opción de extracción (hablo de memoria pero está en la documentación) que sólo te saca el bloque GRAPHICS, lo copias tal cual en el fuente de inpaws y listo.

Creo recordar que hay algo equivalente para los UDGs y juegos de caracteres.

Quien SÍ conoce el significado de los gráficos es Unpaws (es decir sus fuentes). A partir de esa info se puede ampliar inpaws o crear herramientas, como veo que se dice en posteriores respuestas.

baltasarq escribió:
Así que puedes "ir y volver" al spectrum, siempre y cuando mantengas el bloque de gráficos sin tocar.

Exacto, una manera más concisa de decir lo que he puesto antes.

saimazoom escribió:
1) A partir del fuente de UnPaws conocemos el significado de los opcodes de gráficos y atributos. 2) Con esta información podemos escribir un conversor desde un formato vectorial en xml, tipo DIA, o hacer un editor muy sencillito para crear gráficos vectoriales en Spectrum.
3) La salida del conversor/editor será un fichero de texto plano con los códigos de InPAWS.
4) El programador de la aventura toma este bloque de código de gráficos y lo mete en su fuente InPAWS.

El único problema que veo a la hora de crear los gráficos "desde fuera" lo comenté también en el otro hilo. Una de las características más interesantes de los gráficos de PAW eran las subrutinas. Tu podías crear una mesa y utilizarla como "subrutina" en 20 localidades de forma que se podían reaprovechar los objetos con el consiguiente ahorro de memoria.

saimazoom escribió:
Ya lo tengo en marcha, estoy usando los códigos del UnPaws que me parecen mucho más cómodos. Luego es cuestión de convertirlos a los valores decimales que espera InPaws, pero esto me permite escribir directamente o copiar pantallas volcadas con el UnPaws.

Cuando lo tengas pulido, y si te parece bien, podemos subirlo a la Web de inpaws, que nos cedieron amablemente los chicos de speccy, creo que tengo las claves de acceso por algún lado...

Sería interesante también si alguien se animara a incluir las dos carencias principales de inpaws: 128k y editor de gráficos/juegos de caracteres.


Arriba
 Perfil  
 
NotaPublicado: 28 Jul 2014 08:44 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 22 May 2004 10:50
Mensajes: 897
Los caracteres son importantee para los sombreados en los gráficos. Aunque puedo tirar de momento con los de PAWS por defecto. De momento no la concibo como una herramienta a publicar, la estoy escribiendo para facilitar mi trabajo en la aventura de Balta. Más adelante si alguien quiere dedicarle el tiempo a pulirla y sacar algo decente le pasaré amablemente el código.

_________________
---
KMBR! http://www.aliensuavito.org @lecambre


Arriba
 Perfil  
 
NotaPublicado: 29 Jul 2014 10:24 
Desconectado
Guionista
Guionista
Avatar de Usuario

Registrado: 20 Ene 2007 20:09
Mensajes: 356
Mirando de nuevo el post no me queda claro si la herramienta de saimazoom exporta a inpaws o tiene pensado implementarlo.

Al final he desprecintado los fuentes de inpaws (y de unpaws) y me he puesto a mirar un poco. La verdad es que después de 6 años ha acumulado algo de polvo, sobre todo en la parte de la azotea, así que recapitulando y autocorrigiendome:

Formato de Inpaws:
GRAPHICS {
<nº de localidades>,
<lista 1->nº localidades de los TAMAÑOS de cada localidad en bytes>,
<lista 1->nº de localidades de los ATRIBUTOS>, // Un byte por localidad (flash+bright+fondo+tinta)
<lista 1->nº de localidades de los datos> // Tantos bytes por loc como indique su tamaño
}

Las localidades vacías sólo tienen el código END, que es un 7, en respuesta a la duda de saimazoom.

Formato en memoria del spectrum (esto está explicado en los fuentes):
// Formato de los graficos en PAW
// 1) Datos del grafico de la localidad 0
// 2) ...
// 3) Datos del grafico de la localidad n
// 4) Indices a los datos de graficos de la localidad (ptrDatos)
// 5) 4 bytes que no tengo ni idea de por qué están ahí, pero
// que contienen:
// 5.1) Los dos primeros un puntero al inicio de los indices (ptrDatos)
// 5.2) los dos segundos tienen el valor 255
// 6) Datos de los atributos, un byte por localidad

Los apartados 1) a 3) son los que captura inpaws sin saber lo que significan, unpaws en cambio los interpreta.

Así que tendríamos que desentrañar el bloque de atributos, por una parte, y el bloque de datos por otra, sabiendo como sabemos ya donde empiezan y terminan.

Los atributos deben ser facilones, entiendo que por ejemplo lo que unpaws es:

Location 1 graphics flags: Picture. Ink=7 Paper=0 Bit6=0
Lo tendríamos como un atributo 7 en inpaws (el Bit6 ese ahora mismo no sé que sería, pero deben ser los dos bits que faltan del octeto, o flash+bright)

Para los datos no queda más remedio que entrar en el fuente de Unpaws. Yo he estado mirando por encima y tampoco parece complicado de entender, aunque hay que echarle un ratillo para llegar a los detalles finos. Parece que iría la lista de opcodes y argumentos uno detrás de otro. Luego me ha parecido ver que hay flags especiales para marcar si es localidad o subrutina,también ovr (overlay?) o inv, que no sé lo que son, y veo que también para el signo de los argumentos que a lo que parece no están en complemento a 2, sino que habría una lista de signos por algún lado.

Quizás Uto pueda arrojar algo de luz sobre este formato, si no con paciencia se puede ir sacando.

Sobre herramientas, meterlo como sintaxis nueva en InPAWS sería más engorroso porque hay que integrarlo con todo el proceso de compilación, manejo de errores, trocearlo por localidades, etc.

Para un caso puntual sería más sencillo un script en python por ejemplo para pasar de UnpawsGraph a InpawsGraph, pero como digo, hay que echar un ratillo, y depende también del grado de utilidad o necesidad.


Arriba
 Perfil  
 
NotaPublicado: 29 Jul 2014 13:19 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 22 May 2004 10:50
Mensajes: 897
El objetivo del editor es importar gráficos UnPaws y exportar en formato InPaws.

_________________
---
KMBR! http://www.aliensuavito.org @lecambre


Arriba
 Perfil  
 
NotaPublicado: 29 Jul 2014 16:44 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4663
Me temo que mi participación en unpaws es poca: el desarrollo inicial lo hizo Jose Luis Cebrián, y luego yo le hice unos arreglos al tiempo que lo pasaba a Pascal, además de arreglar con José Luis que fuera GPL, lo cual permitió que después, años más tarde, Alexander Katz metiera el soporte de 128k, Quill y esto de los gráficos. En resumen, que no tengo ni idea de como va el tema de los gráficos, pero en los fuentes debe de estar.

Lo que si puedo aportar es algo sobre los atributos, porque supongo que van como iban en el spectrum: 3 bits para INK, 3 bits para PAPER, 1 bit para brillo y 1 bit para flash. En un pattern como este:

Código:
FBPPPIII
76543210

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 30 Jul 2014 07:13 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 22 May 2004 10:50
Mensajes: 897
No le deis más vueltas, estoy con ello. En cuanto lo tenga un poco más claro pongo la explicación por aquí, quiero hacer algunas pruebas más con el propio PAWs. Muchas gracias por todos los comentarios :)

_________________
---
KMBR! http://www.aliensuavito.org @lecambre


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 16 mensajes ]  Ir a página 1, 2  Siguiente

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
cron
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM