CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 24 May 2018 16:50

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 88 mensajes ]  Ir a página 1, 2, 3, 4, 5, 6  Siguiente
Autor Mensaje
NotaPublicado: 30 Ene 2015 11:46 
Desconectado
Yiepp
Yiepp

Registrado: 06 Oct 2004 15:12
Mensajes: 50
Ubicación: Madrid
Retomando Superglús, creo recordar que, en alguna parte de la documentación, se menciona que el los flags pueden almacenar valores mayores que 255. Intento hacer una rutina de offset para saltarme el flujo del intérprete y hacer mi propia rutina de DESC con mensajes...
_ _
WHATO ; GUARDAMOS OBJETO ACTIVO EN f051_WHATO
LET 60 @51 ; COPIAMOS OBJETO ACTIVO EN f060_OBJACTIVO
LET 61 @38 ; COPIAMOS LOCALIDAD ACTIVA EN f061_LOCACTIVA
LET 51 @38 ; PONEMOS EN f051_WHATO NUMERO OBJ EQ A f038_LOCACTUAL

_ _
MES @51 ; NOMBRE DE LOCALIDAD

_ _
OZERO aLOCVISTA ; SI NO VISITADA
LET 61 200 ; f062_OFFSETLOC
ADD 61 38
MES @38 ; IMPRIME DESCRIPCIÓN LARGA

_ _
ONOTZERO aLOCVISTA ; SI YA VISITADA
LET 61 400
ADD 61 38
MES @38 ; IMPRIME DESCRIPCIÓN CORTA

_ _
OSET @38 aLOCVISTA ; SETEAMOS aLOCVISTA

_ _
LET 51 @60 ; RECUPERAMOS OBJETO ACTIVO
LET 38 @61 ; RECUPERAMOS LOCALIDAD ACTIVA

_ _
DONE

... pero los condactos de artimética de banderas no permiten que los valores de flgas sean superiores a 255. ¿Cómo puedo acceder mediante indirección a menajes +255?

Si no es posible, ¿podrá serlo en futuras versiones?

Gracias

_________________
=======================================
The GILSOFT PAW Reservoir
=======================================


Arriba
 Perfil  
 
NotaPublicado: 30 Ene 2015 17:58 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4619
Nacho Andres Llorente escribió:
Retomando Superglús, creo recordar que, en alguna parte de la documentación, se menciona que el los flags pueden almacenar valores mayores que 255. Intento hacer una rutina de offset para saltarme el flujo del intérprete y hacer mi propia rutina de DESC con mensajes...
_ _
WHATO ; GUARDAMOS OBJETO ACTIVO EN f051_WHATO
LET 60 @51 ; COPIAMOS OBJETO ACTIVO EN f060_OBJACTIVO
LET 61 @38 ; COPIAMOS LOCALIDAD ACTIVA EN f061_LOCACTIVA
LET 51 @38 ; PONEMOS EN f051_WHATO NUMERO OBJ EQ A f038_LOCACTUAL

_ _
MES @51 ; NOMBRE DE LOCALIDAD

_ _
OZERO aLOCVISTA ; SI NO VISITADA
LET 61 200 ; f062_OFFSETLOC
ADD 61 38
MES @38 ; IMPRIME DESCRIPCIÓN LARGA

_ _
ONOTZERO aLOCVISTA ; SI YA VISITADA
LET 61 400
ADD 61 38
MES @38 ; IMPRIME DESCRIPCIÓN CORTA

_ _
OSET @38 aLOCVISTA ; SETEAMOS aLOCVISTA

_ _
LET 51 @60 ; RECUPERAMOS OBJETO ACTIVO
LET 38 @61 ; RECUPERAMOS LOCALIDAD ACTIVA

_ _
DONE

... pero los condactos de artimética de banderas no permiten que los valores de flgas sean superiores a 255. ¿Cómo puedo acceder mediante indirección a menajes +255?

Si no es posible, ¿podrá serlo en futuras versiones?

Gracias



Hola,

Pues la verdad es que no entiendo tu problema. Acabo de probar en una aventura vacía a poner lo siguiente:

Código:
_ _
 AT 1
 LET 100 1000
 LET 200 2000
 ADD 100 200
 PRINT 200
 MESSAGE @200


Y obtengo en pantalla un 3000, seguido del mensaje de usuario 3000.

Estoy usando Superglús 1.2, pero no creo que eso marque una gran diferencia. Doy por supuesto que has creado un objeto "falso" por cada localidad para poder hacer lo que haces de localidades visitadas, aunque (supongo que será un error al cortar/pegar) te falta un parámetro en los OZERo y ONOTZERO de tu ejemplo.

En cuanto a próximas versiones... tengo previsto sacar una versión con algunos arreglos menores, sobre todo en el editor, aunque por prioridades no se cuando ocurrirá, pero no habrá más versiones de mejoras dado que ngPAWS lo supera en todos los sentidos (incluido en el de ser más fácil de mejorar). De hecho te recomiendo que abandones Superglús y te pases a ngPAWS, así de claro :-)

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


Arriba
 Perfil  
 
NotaPublicado: 01 Feb 2015 00:27 
Desconectado
Yiepp
Yiepp

Registrado: 06 Oct 2004 15:12
Mensajes: 50
Ubicación: Madrid
Bueno, gracias por tu respuesta. Por lo que veo, debe ser algún problema más de mi equipo que de superglus. Descargo la 1.2 y ocurre lo mismo, error de compilacion en mes @38, se esperaba un numero. Todas las constantes están pre declaradas y las entidades loc obj del 0 al 251 también. Y en los ozero notezero efectivamente llevan el número de objeto, claro. Veo que tengo que revisar el foro hacia atrás, seguro que hay comentarios sobre esto.

_________________
=======================================
The GILSOFT PAW Reservoir
=======================================


Arriba
 Perfil  
 
NotaPublicado: 01 Feb 2015 11:31 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4619
Nacho Andres Llorente escribió:
Bueno, gracias por tu respuesta. Por lo que veo, debe ser algún problema más de mi equipo que de superglus. Descargo la 1.2 y ocurre lo mismo, error de compilacion en mes @38, se esperaba un numero. Todas las constantes están pre declaradas y las entidades loc obj del 0 al 251 también. Y en los ozero notezero efectivamente llevan el número de objeto, claro. Veo que tengo que revisar el foro hacia atrás, seguro que hay comentarios sobre esto.


Si el error es en tiempo de compilación, y no te da error en el mes @51 de más arriba, comprueba muy bien el código entre ese mes @38 y el mes @51 buscando algún error sintáctico, comprueba también que no tienes un espacio "mes @ 38", y finalmente repasa todos los #defines.

Si a pesar de ello no lo consigues quizá te pueda dar una idea si copias el log completo de compilación que sale en la ventana de mensajes.

Por cierto, me ha gustado mucho la idea de como sustituir las descripciones usando esos objetos ficticios para tener "atributos de localidad", es un buen ejemplo de como exprimir ese lenguaje PAWS.

Por otro lado, en ngPAWS estoy trabajando en un plugin que directamente facilitará atributos de localidad, y condactos LSET, LCLEAT, LZERO y LNOTZERO (similares a los de objeto).

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


Arriba
 Perfil  
 
NotaPublicado: 02 Feb 2015 14:03 
Desconectado
Yiepp
Yiepp

Registrado: 06 Oct 2004 15:12
Mensajes: 50
Ubicación: Madrid
Vengo de SINTAC y esos son los truquillos para exprimir un poco los escasos recursos.

Puedo aprovechar y preguntarte aquí si en superglus está implementado el efecto de flag 58=128>>busqeuda de respuestas en tablas de proceso? No lo veo por ninguna parte.

Gracias

_________________
=======================================
The GILSOFT PAW Reservoir
=======================================


Arriba
 Perfil  
 
NotaPublicado: 02 Feb 2015 14:15 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4619
Nacho Andres Llorente escribió:
Vengo de SINTAC y esos son los truquillos para exprimir un poco los escasos recursos.

Puedo aprovechar y preguntarte aquí si en superglus está implementado el efecto de flag 58=128>>busqeuda de respuestas en tablas de proceso? No lo veo por ninguna parte.

Gracias


No, no lo está. El flag 58 no tiene uso en Superglús. Lo que no recuerdo es cual es el comportamiento por defecto, pero supongo que eso es fácil de probar.

En ngPAWS si el proceso se llama desde la tabla de respuestas se comporta como otra tabla de respuestas (es decir, mira verbo+nombre), en Superglús no recuerdo...

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


Arriba
 Perfil  
 
NotaPublicado: 03 Feb 2015 09:39 
Desconectado
Yiepp
Yiepp

Registrado: 06 Oct 2004 15:12
Mensajes: 50
Ubicación: Madrid
Es el equivalente a RESP/NORESP en SINTAC y está documentado en PAW ya en la versión publicada en español por AD. Cuando se setea a 128, se activan las búsquedas por pareja verbo/nombre en un proceso. No es lo mismo que hacer una llamada a un proceso de RESPUESTAS, sino activar y desactivar respuestas en medio de cualquier proceso. Es muy útil, pero entiendo que si el diseño de Superglús está ya cancelado no tiene ya interés comentarlo. Gracias.

_________________
=======================================
The GILSOFT PAW Reservoir
=======================================


Arriba
 Perfil  
 
NotaPublicado: 03 Feb 2015 10:24 
Desconectado
Grafista
Grafista
Avatar de Usuario

Registrado: 13 Sep 2004 21:16
Mensajes: 602
Ubicación: Alginet - València
Por cierto Nacho, impresionante tú pagina! https://gilsoftpawreservoir.wordpress.com

_________________
Dwalin


Arriba
 Perfil  
 
NotaPublicado: 03 Feb 2015 11:48 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4619
Nacho Andres Llorente escribió:
Es el equivalente a RESP/NORESP en SINTAC y está documentado en PAW ya en la versión publicada en español por AD. Cuando se setea a 128, se activan las búsquedas por pareja verbo/nombre en un proceso. No es lo mismo que hacer una llamada a un proceso de RESPUESTAS, sino activar y desactivar respuestas en medio de cualquier proceso. Es muy útil, pero entiendo que si el diseño de Superglús está ya cancelado no tiene ya interés comentarlo. Gracias.


Sí,es difícil que haga ningún cambio en Superglús, pero se lo voy a poner a ngPAWS.

No acabo de encontrar donde está documentado, acabo de mirar la lista de flags que hay al final de la documentacion de AD (ftp://ftp.worldofspectrum.org/pub/sincl ... turasADS.A.).pdf) y no pone nada.

En cualquier caso veo mejor la aproximación de SINTAC que usar un bit de un flag que siempre es más difícil de recordar, así que probablemente añada unos condactos plugin RESP/NO RESP. Entiendo que si ponemos "RESP" se comprueban verbo y nombre en la entrada, y si ponemos NORESP las entradas se ejecutan independientemente del verbo nombre, e incluso si la entrada especifica un verbo y nombre que no son los de la orden del jugador ¿no?

Si es así en ngPAWS ya se podría incluso hacer con EXTERN:

Código:
RESP: EXTERN "in_response=true"
NORESP: EXTERN "in_response=false"


Pero vamos, que haré los condactos para no andar con líos.

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


Arriba
 Perfil  
 
NotaPublicado: 03 Feb 2015 12:16 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4619
He mirado un momento como va el tema en Superglús, y la verdad es que es bastante fácil a priori hacer RESP y NORESP como plugin, así que aquí están: cada uno hay que meterlo en un fichero .plu en la carpeta jsl de la instalación de Superglús:

Código:
;CND RESP A 0 0 0 0

:acc_resp
dc.b 0xc1 0x00 0x00
copy 1.l (:bandera_en_response).l
return 0


Código:
;CND NORESP A 0 0 0 0

:acc_noresp
dc.b 0xc1 0x00 0x00
copy 0.l (:bandera_en_response).l
return 0


Ojo, no los he probado. Ya me cuentas :-)

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


Arriba
 Perfil  
 
NotaPublicado: 04 Feb 2015 11:23 
Desconectado
Yiepp
Yiepp

Registrado: 06 Oct 2004 15:12
Mensajes: 50
Ubicación: Madrid
Del manual de SINTAC

RESP
Activa la comprobación de verbo-nombre al inicio de cada entrada. Esta activación es válida hasta que se ejecute el condacto NORESP. Estando la comprobación activa, una entrada sólo se ejecutará si su verbo-nombre correspondiente coinciden con los contenidos de las variables del sistema 2 y 3 respectivamente. Si no coinciden se saltará a la siguiente entrada y así sucesivamente hasta que se encuentre una entrada que coincida o hasta que se alcance el final del Proceso.

NORESP
Desactiva la comprobación de verbo-nombre al inicio de cada entrada. Esta desactivación es válida hasta que se ejecute el condacto RESP. Cuando la comprobación esta desactivada se ejecutan todas las entradas independientemente de si su verbo-nombre correspondiente coincide o no con los contenidos en las variables 2 y 3 respectivamente.

Del manual de PAW

If you set this flag to 128, in a Process table, PAW will start to match words which it normally doesn't do except in Response. This allows the multi-parse facility to provide actions for a PSI during Process 2. It will also have other uses we are sure... The effect is cancelled next time Process 1 or 2 are carried out-by PAW subtracted 128 from the flag. This ensures that Process 1 and 2 act as normal until specifically told to change. You can of course cancel the effect yourself by setting the flag back to zero.

Es la misma funcionalidad pero condactada en el caso de SINTAC.

Mil gracias por los plugs, no tengo ni idea de código real pero lo voy a intentar incorporar, a ver si soy capaz.

Supongo que añadir saltos y labels a Superglús o dar acceso al loop del intérprete no está en tus planes...

_________________
=======================================
The GILSOFT PAW Reservoir
=======================================


Arriba
 Perfil  
 
NotaPublicado: 04 Feb 2015 11:48 
Desconectado
Yiepp
Yiepp

Registrado: 06 Oct 2004 15:12
Mensajes: 50
Ubicación: Madrid
Dwalin escribió:
Por cierto Nacho, impresionante tú pagina! https://gilsoftpawreservoir.wordpress.com


No es ni mucho menos impresionante. Como le ocurre a casi todo el mundo, por falta de tiempo y de colaboraciones está incompleta, contiene errores, los enlaces de descarga están sin actualizar... pero es mi tesssorooo... jajaja

_________________
=======================================
The GILSOFT PAW Reservoir
=======================================


Arriba
 Perfil  
 
NotaPublicado: 04 Feb 2015 14:18 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4619
Nacho Andres Llorente escribió:
Del manual de SINTAC

....

Del manual de PAW

...

Es la misma funcionalidad pero condactada en el caso de SINTAC.



Bueno, pues los plugin hacen algo parecido, aunque no se si del todo, porque en Superglús (y en ngPAWS, que también le he añadido los condactos RESP y NORESP) al ejecutar la tabla de respuestas se ejecutaría un "RESP" automático. Por lo demás creo que funcionará igual que en PAWS/SINTAC, u si quieres que funcione igual, le pones un NORESP al principio de la tabla de respuestas y andando:

Código:
_ _
 NORESP


Es posible que te pase lo mismo en cualquier proceso que sea llamado desde la tabla de respuestas, en ese caso puedes hacer lo mismo en cada proceso.


Citar:
Mil gracias por los plugs, no tengo ni idea de código real pero lo voy a intentar incorporar, a ver si soy capaz.

Es sencillo, te vas a la carpeta "pgl" que está dentro de la carpeta de la instalación de Superglús, y creas un nuevo fichero de texto "resp.plu", lo editas con cualquier cosa (el bloc de notas mismamente) y pegas el codigo de arriba de RESP. Luego haces lo mismo con un fichero noresp.plu.

Si quieres evitarte esa tarea, en el hilo "Dudas complejas" le he puesto a El Testigo un link a los dos condactos ya en fichero. Abres el zip en la carpeta pgl y andando.

Citar:
Supongo que añadir saltos y labels a Superglús o dar acceso al loop del intérprete no está en tus planes...

No. Esos sería un cambio demasiado grande en Superglús, incluso en ngPAWS. De todos modos creo que con el RESP y NORESP, y con los trucos que estabas usando para sustituir la descripción de localidades, puedes "redefinir" virtualmente el loop.

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


Arriba
 Perfil  
 
NotaPublicado: 04 Feb 2015 15:31 
Desconectado
Yiepp
Yiepp

Registrado: 06 Oct 2004 15:12
Mensajes: 50
Ubicación: Madrid
Si. Dejo la descripción de localidades en blanco, y en PRO 1 hago una llamada a un PROCESO DESC, en el que construyo la descripción con indirecciones y llamadas a subprocesos. Pero controlar el flujo con DONES y NOTDONES es complejo. Además da problemas al utilizar el flag 0, MODE e ISLIGHT; la rutina de desc duplica la descripción de localidad, obliga a emplear MODE 1. Pero seguro que son descuidos que se pueden ir resolviendo. Lo importante es participar. Lo seguiré intentando!

En este momento, me encuentro portando a Superglus unas 300 páginas de código SINTAC y estudiando el diseño de un remake/corrección de REBEL PLANET, al tiempo que realizando el remake del COLDITZ de Tony Barber empleando su parser BIRO 2 y redactando un manual ilustrado del BIRO para un eventual lanzamiento público. Por eso busco soluciones rápidas: la saturación me come!

Cuando tengas una release pública de ngpaws, la reportaré en el reservoir. Lo tengo algo abandonado, pero en vías de lavado de cara y actualización en breve.

Gracias

_________________
=======================================
The GILSOFT PAW Reservoir
=======================================


Arriba
 Perfil  
 
NotaPublicado: 04 Feb 2015 16:32 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4619
Nacho Andres Llorente escribió:
En este momento, me encuentro portando a Superglus unas 300 páginas de código SINTAC y estudiando el diseño de un remake/corrección de REBEL PLANET, al tiempo que realizando el remake del COLDITZ de Tony Barber empleando su parser BIRO 2 y redactando un manual ilustrado del BIRO para un eventual lanzamiento público. Por eso busco soluciones rápidas: la saturación me come!

Vaya, si que andas ocupado :)


Citar:
Cuando tengas una release pública de ngpaws, la reportaré en el reservoir. Lo tengo algo abandonado, pero en vías de lavado de cara y actualización en breve.


En realidad, ya he publicado 6 betas:

www.ngpaws.com

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


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 88 mensajes ]  Ir a página 1, 2, 3, 4, 5, 6  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