CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 08 Ago 2020 04:49

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 7 mensajes ] 
Autor Mensaje
NotaPublicado: 09 Nov 2010 22:03 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
He subido una nueva actualización de AGE al repositorio. Podéis conseguirla aquí:

Kit del desarrollador: http://code.google.com/p/aetheria/downl ... p&can=2&q=
Kit del jugador: http://code.google.com/p/aetheria/downl ... p&can=2&q=

Los cambios hechos en los últimos días (con respecto a la última versión no oficial que tenía Jenesis y sus testers) son los siguientes:

- Creados varios métodos que dan control fácil sobre las tipografías tanto en el campo de entrada como en el área de salida del cliente de ventanas Swing, sin tener que recurrir a la API de Java. Estos métodos están en la clase ColoredSwingClient, y se usan como sigue:

Código:
client.setInputFieldFont(world.getResource("fuente.ttf"),18);
client.setOutputAreaFont(world.getResource("fuente2.ttf"),12);
client.setCurrentOutputFont(world.getResource("fuente3.ttf"),16);


Donde "fuente.ttf", "fuente2.ttf", "fuente3.ttf" son ficheros de fuentes TrueType que se incluyen con el mundo, y 18, 12 y 16 son los tamaños. El método setInputFieldFont cambia la fuente de todo el campo de entrada de texto. El método setOutputAreaFont cambia la fuente de toda el área de salida de texto. El método setCurrentOutputFont cambia la fuente con la que estamos escribiendo en el área de salida de texto. Es decir, no cambia el texto que ya está ahí; pero hace que a partir de ahora se escriba con la fuente dada (permitiéndonos usar diferentes tipografías en la misma aventura).

- Las ventanas de AGE, tanto en el modo MDI como SDI, recuerdan el tamaño que tenían la última vez que se ejecutó AGE.
- Añadido un método cancelPending() a la clase Player que hace que se cancelen todas las acciones que están pendientes de ejecutar en una cadena de acciones. Es decir, que por ejemplo si el jugador tecleó "leer el libro y dejarlo" y en el parseCommand de leer el libro ponemos:

Código:
jugador.cancelPending();
end();


el jugador no llegará a dejar el libro (mientras que si sólo pusiéramos end(), sí).

- En los mensajes por defecto para mostrar las criaturas y los objetos que hay en una localidad, las cadenas $inventory y $list se sustituyen ahora sin punto (es decir, por ejemplo, por "Fulanito y Menganito" en lugar de "Fulanito y Menganito.", para una mayor flexibilidad.

Además, desde la anterior versión "oficial" de julio de 2010 subida al repositorio se hicieron los siguientes cambios, anteriores a los mencionados antes, y que listo aquí por completitud (ya que muchos los había comentado informalmente por aquí; pero no estaban en las listas de cambios):

- AGE y PUCK ahora tienen el mismo look and feel, con lo cual se corrigen algunos glitches de visualización.
- Actualizada la versión de la librería SVG Salamander a 2010-10-03.
- Los métodos getMessage() que gestionan los mensajes por defecto se pueden redefinir en BeanShell para generar mensajes por defecto de forma dinámica.
- El texto asociado a waitKeyPress() ("Pulse cualquier tecla...") se puede ahora cambiar en el ColoredSwingClient mediante el método setKeyRequestText(String).
- Añadidos bastantes mensajes por defecto que faltaban.
- Añadida la posibilidad de que los mensajes por defecto para cosas y criaturas en una habitación cambien habitación por habitación.
- Añadido modo debug de BeanShell: poniendo

Código:
Debug.setCodeDebugging(true);


los argumentos de los métodos BeanShell que se llamen se imprimirán por la salida estándar de errores.

- Arreglado un bug ocasional en paneles de entidad de PUCK.
- Arregladas inconsistencias en el sistema de pesos de las cosas cuando estaban dentro de contenedores.
- Los sonidos pendientes ya no siguen reproduciéndose después de que las ventanas de AGE se hayan cerrado.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 09 Nov 2010 22:16 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Muchos cambios interesantes. :)
Mañana probaré las nuevas features.

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Arriba
 Perfil  
 
NotaPublicado: 09 Nov 2010 23:48 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
Como en realidad los métodos para cambiar la tipografía tienen distintas variantes que no comenté del todo arriba, he añadido a la documentación de AGE una página detallada sobre las distintas maneras de cambiar las fuentes de las aventuras: http://www.caad.es/aetheria/doc/doku.php?id=tipografia

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 10 Nov 2010 10:39 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Estoy con la nueva versión y he notado que ahora se imprimen algunos mensajes en la consola que no sé si son de simple control o si tienen alguna relevancia.

Uno de ellos empieza con esta línea.
java.lang.StringIndexOutOfBoundsException: String index out of range: 23

El otro es éste.
Showing previous instance...

Por lo demás he notado que ahora la partida se recupera mucho más rápido que antes. :)
Seguiré haciendo pruebas y te iré contando.
Creo que no voy a insistir más en el sistema de pistas, seguramente si desde un principio me lo hubiera planteado de este modo ahora no sería tan trabajoso, pero ahora mismo estoy casi duplicando el tamaño del código con tanta comprobación y voy a dejar que en alguna ocasión el sistema invite al personaje a buscar pistas en otra localidad o momento, porque dar una respuesta absolutamente a todo lo que queda por hacer, es trabajo de enanos y estoy en ese punto en que el autor empieza a cansarse de su propia obra. xDDD

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Arriba
 Perfil  
 
NotaPublicado: 10 Nov 2010 11:22 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
Lo de "Showing previous instance" sí que es un mensaje de control que se me ha colado por ahí, sin ninguna importancia. Puedo buscarlo y eliminarlo.

Lo de StringIndexOutOfBoundsException ya suena a bug... si no has visto fallar nada supongo que no será un bug grave y es posible que no tenga ninguna consecuencia, pero de todas formas mejor que si lo ves otra vez me pegues el texto completo de la excepción para que lo mire.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 10 Nov 2010 11:41 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
Lo de StringIndexOutOfBoundsException ya suena a bug... si no has visto fallar nada supongo que no será un bug grave y es posible que no tenga ninguna consecuencia, pero de todas formas mejor que si lo ves otra vez me pegues el texto completo de la excepción para que lo mire.


Aquí tienes el del único que me ha salido por ahora.

Spoiler:
java.lang.StringIndexOutOfBoundsException: String index out of range: 23
at java.lang.String.substring(String.java:1934)
at java.lang.String.subSequence(String.java:1972)
at java.util.regex.Matcher.getSubSequence(Matcher.java:1151)
at java.util.regex.Matcher.group(Matcher.java:473)
at com.kitfox.svg.xml.StyleAttribute.parseURLFn(StyleAttribute.java:181)
at com.kitfox.svg.xml.StyleAttribute.getURIValue(StyleAttribute.java:228)
at com.kitfox.svg.ShapeElement.renderShape(ShapeElement.java:122)
at com.kitfox.svg.Path.render(Path.java:94)
at com.kitfox.svg.Group.render(Group.java:196)
at com.kitfox.svg.Group.render(Group.java:196)
at com.kitfox.svg.SVGRoot.render(SVGRoot.java:290)
at com.kitfox.svg.SVGDiagram.render(SVGDiagram.java:94)
at com.kitfox.svg.app.beans.SVGIcon.paintIcon(SVGIcon.java:178)
at eu.irreality.age.swing.ImagePanel.paintVectorImage(ImagePanel.java:131)
at eu.irreality.age.swing.ImagePanel.paintComponent(ImagePanel.java:176)
at javax.swing.JComponent.paint(JComponent.java:1029)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5124)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1479)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1410)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:294)
at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
at javax.swing.JComponent._paintImmediately(JComponent.java:5072)
at javax.swing.JComponent.paintImmediately(JComponent.java:4882)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:785)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Arriba
 Perfil  
 
NotaPublicado: 10 Nov 2010 11:45 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
jenesis escribió:
Aquí tienes el del único que me ha salido por ahora.

Es un fallo que está tirando internamente la librería de dibujar los SVG. Así que me imagino que será un SVG que tiene alguna de las características que no están soportadas por la librería. Si se está dibujando correctamente, no me preocuparía. Y si no se dibuja correctamente... bueno, es lo de siempre, las limitaciones de la librería al leer SVG's o del Inkscape al guardarlos, así que supongo que no tendría mucho arreglo fuera de cambiar el fichero SVG o cambiar la librería.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 7 mensajes ] 

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