CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 23 Sep 2020 20:20

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 34 mensajes ]  Ir a página Anterior  1, 2, 3  Siguiente
Autor Mensaje
NotaPublicado: 02 Sep 2010 17:29 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
jenesis escribió:
Una cosa más, por alguna razón el escalado con HEIGHT no funciona, no da error pero no escala a lo alto. Sí que funciona con WIDTH.

Eso suena a fallo mío, no de la librería. Miro a ver.

_________________
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: 19 Oct 2010 13:32 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Estoy teniendo problemas con algunos de mis dibujos y su visualización en AGE. Ya he renunciado ha usar filtros, porque veo que no se muestran, también tengo infinidad de warnings que no afectan a anda, pero ahora lo que tengo es un:

"java.lang.NullPointerException
at com.kitfox.svg.PatternSVG.build(PatternSVG.java:159)
at com.kitfox.svg.SVGElement.loaderEndElement(SVGElement.java:378)
at com.kitfox.svg.SVGLoader.endElement(SVGLoader.java:223)"

Esto sí afecta a algunos gráficos que no se llegan a mostrar, incluso en algunos casos imprime un error en la pantalla del juego y bueno... querría arreglarlo de algún modo.

Tengo dos opciones:
Renuncia al svg y cargar un montón de megas en archivos png lo suficientemente grandes como para que no se resientan con el escalado.
Buscar una librería svg que funcione mejor que la actual, aunque pese unos cuantos o muchos megas más.

Yo preferiría poder seguir con los gráficos svg.

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


Arriba
 Perfil  
 
NotaPublicado: 19 Oct 2010 14:09 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
Bueno, yo no tengo inconveniente en poner una opción para usar esa otra librería de SVG que ocupa 30 megas. No para que venga por defecto en el AGE porque, a pesar de que nunca he sido "ahorrador" con el espacio, me parece algo exagerado multiplicar el tamaño del AGE por más de diez (pasar de poco más de 2 megas a treintaytantos); pero sí lo puedo poner de forma que se pueda adjuntar en una aventura como la tuya y usarla.

Ahora bien, hay dos "limitaciones":

- Esto no es algo que pueda hacer inmediatamente, porque para hacerlo tengo que mirarme la documentación de la librería de SVG, ver cómo se accede a ella, crear los wrappers correspondientes, pelearme con los posibles problemas que pueda haber, etc... y ya sabes que esta temporada no ando muy sobrado de tiempo. Así que no te puedo prometer que pueda tener una cosa así en breve. No tengo ni idea del tiempo que me puede llevar, teniendo en cuenta lo pillado que ando en general, y que no tengo ni idea del funcionamiento de esa librería. Podrían ser semanas, pero podrían ser meses.

- Incluso cuando la cosa esté hecha, tampoco hay garantía de que realmente vaya a funcionar mejor. Yo imagino que funcionará mejor porque ocupando tantos megas le habrán metido más funcionalidad; pero no deja de ser eso, una suposición. La verdad, teniendo en cuenta que últimamente he estado manejando bastante Inkscape y he visto que muchas veces los programas de SVG no se hablan ni entre ellos, a saber. Incluso podría ser que esos ficheros no se abran bien por un bug de Inkscape (que, aunque me gusta, no deja de ser un programa en beta y con bastantes fallos) y no de la librería, en cuyo caso cambiar la librería no arreglaría gran cosa.

(Edit: he descubierto que http://validator.w3.org/ valida SVG's).

Por lo tanto, yo no tengo problema en ponerme a hacer esto pero por desgracia no puedo prometer realmente nada ni en tiempo ni en funcionalidad, así que no sé hasta qué punto te compensará esperar por algo así o si te será más práctico usar svg para los que se muestren bien y png para los que se muestren mal.

Por cierto, que una cosa que sí que puedo hacer de inmediato (y haré, porque debería ser cuestión de minutos y no se pierde nada) es actualizar la versión de la librería de SVG actual. En los últimos meses ha habido algunos commits con arreglos de bugs y parece que la última versión ha sido compilada el día 3 de este mes. No creo que sea muy probable que haya la suerte de que se arreglen justo los fallos que te estás encontrando tú, pero por probar...

_________________
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: 19 Oct 2010 15:10 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
Por cierto, que una cosa que sí que puedo hacer de inmediato (y haré, porque debería ser cuestión de minutos y no se pierde nada) es actualizar la versión de la librería de SVG actual. En los últimos meses ha habido algunos commits con arreglos de bugs y parece que la última versión ha sido compilada el día 3 de este mes. No creo que sea muy probable que haya la suerte de que se arreglen justo los fallos que te estás encontrando tú, pero por probar...


El validator solo es para una determinada versión de SVG, y aunque he comentado las dos líneas que daban error, la librería se ha seguido quejando. Creo que me conformaré con que actualices la versión de la librería actual, no sea que al final te des el curro y no sirva para nada.

Lo que voy a hacer es comprobar gráfico por gráfico de los que tengo y de los que haga a partir de ahora. Si supiera lo que causa el error, lo evitaría como ya hago con los filtros, pero he estado quitando elementos del dibujo y lo sigue dando.... así que tendré que seguir haciendo pruebas.

Saludos
Jenesis

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


Arriba
 Perfil  
 
NotaPublicado: 19 Oct 2010 23:10 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Bueno, creo que al menos ya veo lo que provoca el error.
Lo anoto aquí por si me volviera a pasar, o por si alguien preguntara y yo lo hubiera olvidado.
El error se produce cuando se usa un patrón como relleno, da lo mismo que sea predefinido que sea creado por el usuario.

Así pues hay dos cosas que dan error en esta librería, una es el uso de filtros y la otra es el uso de patrones como relleno. Hay otras cosas que dan warnings, como desconocimiento de etiquetas, que solo provocan que el dibujo no salga con la apariencia que tiene en inkscape.
Por ejemplo los "blur", no se ven, yo uso los degradados en su lugar y el efecto es parecido.

Saludos
Jenesis

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


Arriba
 Perfil  
 
NotaPublicado: 11 Nov 2010 14:21 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
jenesis escribió:
¿Puedes comprobar si a ti te pasa lo mismo ?

Sí, he comprobado que me pasa. Es que la librería de SVG tiene un manejo de errores rarísimo, resulta que en lugar de lanzar excepciones cuando no encuentra un fichero (que sería lo estándar) imprime un mensaje de error él por su cuenta... y en vez de devolver null (que sería lo "segundo estándar" si no has hecho lo primero) te devuelve una instancia de un icono SVG que no es null, pero que si la intentas dibujar, te tira esa NullPointerException que has visto :x

Voy a ver si puedo puentear ese manejo de errores tan nefasto para que no se vea esa excepción si el fichero no existe, pero puede que me lleve su tiempo dado que tengo que descubrir cómo se comprueba si el fichero que le pasas a la librería fue cargado correctamente teniendo en cuenta que ésta ni tira excepciones ni devuelve null, y la documentación de la susodicha librería es prácticamente inexistente. Seguro que existe manera pero la cosa es encontrarla.


No es nada urgente, pero ¿cómo llevas esto? ¿conseguiste hacerte una idea de cómo se podía resolver?
Me gustaría mandar al betatester, versiones que pueda jugar con el cheapAGe, pero mientras esos errores no dejen de saltar va a ser imposible.

Saludos

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


Arriba
 Perfil  
 
NotaPublicado: 11 Nov 2010 14:33 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
No he mirado... es que tendría que meterme con las entrañas de la librería de SVG, que no tiene documentación. Podría darle prioridad a esto pero implica comprender la librería y eso podría llevar bastante tiempo. Igual en el tiempo que me lleva esa tontería resuelvo 4 ó 5 issues de las otras. Más luego el problema añadido de que forkear la librería supone tener que mantener ese fork en actualizaciones venideras de la librería.

De todas formas, de momento para probar las versiones con CheapAGE cómodamente, siempre se puede redirigir el error estándar. En windows sería:

cheapage (parámetros) 2> errores.txt

Y en unix creo recordar que era igual. Con esto haces que lo que salga por el error estándar no se muestre en pantalla, y en su lugar vaya a "errores.txt". Te librarías de esas excepciones de SVG, y deberías poder hacer debugging igual porque los errores de beanshell salen por la salida estándar, no por el error estándar.

_________________
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: 11 Nov 2010 14:46 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:

De todas formas, de momento para probar las versiones con CheapAGE cómodamente, siempre se puede redirigir el error estándar. En windows sería:

cheapage (parámetros) 2> errores.txt



Ok, lo tendré en cuenta. : )

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


Arriba
 Perfil  
 
NotaPublicado: 11 Nov 2010 14:53 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
De todas formas se me está ocurriendo que lo que sí que puedo hacer es comprobar yo mismo si el fichero existe antes de llamar a la librería de SVG, y si no existe, no llamarla... esto es fácil de hacer, lo que pasa es que no "enmudecería" todo el manejo de errores de la librería sino sólo los mensajes que se muestran cuando el fichero no existe. Pero entiendo que para CheapAGE éstos son precisamente los que molestan, así que sería útil.

En cualquier caso lo del 2> debería servir como solución provisional mientras eso no esté hecho.

_________________
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: 11 Nov 2010 16:31 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 22:29
Mensajes: 1592
Ubicación: R.I.P.
Al-Khwarizmi escribió:
De todas formas se me está ocurriendo que lo que sí que puedo hacer es comprobar yo mismo si el fichero existe antes de llamar a la librería de SVG, y si no existe, no llamarla... esto es fácil de hacer, lo que pasa es que no "enmudecería" todo el manejo de errores de la librería sino sólo los mensajes que se muestran cuando el fichero no existe. Pero entiendo que para CheapAGE éstos son precisamente los que molestan, así que sería útil.


Entiendo que CheapAGE es el intérprete que se ejecuta en consola del sistema. Por tanto: ¿por qué llamar para nada a la librería de gráficos SVG cuando estás usando ese tipo de intérprete? ¿no es más fácil no llamarla en absoluto cuando estés ejecutando CheapAGE?.

_________________

"Tengo tres perros peligrosos: la ingratitud, la soberbia y la envidia. Cuando muerden dejan una herida profunda. (Martín Lutero)"


Arriba
 Perfil  
 
NotaPublicado: 11 Nov 2010 16:35 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
JSJ escribió:
Entiendo que CheapAGE es el intérprete que se ejecuta en consola del sistema. Por tanto: ¿por qué llamar para nada a la librería de gráficos SVG cuando estás usando ese tipo de intérprete? ¿no es más fácil no llamarla en absoluto cuando estés ejecutando CheapAGE?.

Hum, ahora que lo dices, me acabo de dar cuenta de que... no sólo como bien dices lo más fácil es no llamarla, sino que ya es lo que se hace, CheapAGE no llama a las funciones de mostrar SVG. Ni siquiera tiene métodos para mostrar imágenes.

Entonces, no entiendo bien, ¿qué errores de esa librería te están saltando con CheapAGE, Jenesis? :shock:

_________________
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: 11 Nov 2010 18:34 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:

Entonces, no entiendo bien, ¿qué errores de esa librería te están saltando con CheapAGE, Jenesis? :shock:


Ops... :oops:
Pues es que dio la casualidad de que empezó a fallar cuando metí los svg... pensé que era debido a eso y ya no le di más vueltas... La verdad es que ahora que lo leo con detenimiento no parece tener mucho que ver.

Aquí te dejo la salida.

Spoiler: Mostrar
Syntax error in BeanShell code in object: [World: 13 meses, internal handle eu.irreality.age.World@766a24]
Loaded to call method intro
With arguments: [ eu.irreality.age.Player:20000001:el Guerrero ]
File: inline evaluation of: ``//objeto mundo include("lib/noaccents.bsh"); String preprocessCommand ( Pla . . . ''
Stack trace: Sourced file: inline evaluation of: ``intro( arg0);'' : Error in method invocation: Method setPrompts( java.lang.String, java.lang.String ) not found in class'eu.irreality.age.CommandLineClient' : at Line: 46 : in file: inline evaluation of: ``//objeto mundo include("lib/noaccents.bsh"); String preprocessCommand ( Pla . . . '' : .setPrompts ( "¿Qué vas a hacer? " , "" )

Called from method: intro : at Line: 1 : in file: inline evaluation of: ``intro( arg0);'' : intro ( arg0 )
at bsh.BSHPrimarySuffix.doName(Unknown Source)
at bsh.BSHPrimarySuffix.doSuffix(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHBlock.evalBlock(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BshMethod.invokeImpl(Unknown Source)
at bsh.BshMethod.invoke(Unknown Source)
at bsh.BshMethod.invoke(Unknown Source)
at bsh.Name.invokeLocalMethod(Unknown Source)
at bsh.Name.invokeMethod(Unknown Source)
at bsh.BSHMethodInvocation.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.Interpreter.eval(Unknown Source)
at bsh.Interpreter.eval(Unknown Source)
at bsh.Interpreter.eval(Unknown Source)
at eu.irreality.age.ObjectCode.run(ObjectCode.java:197)
at eu.irreality.age.World.execCode(World.java:2039)
at eu.irreality.age.World.executePlayerIntro(World.java:2548)
at eu.irreality.age.GameEngineThread.run(GameEngineThread.java:269)


A veces peco de impulsiva... :oops:

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


Arriba
 Perfil  
 
NotaPublicado: 11 Nov 2010 18:58 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 10 Sep 2004 00:17
Mensajes: 3093
Ubicación: Chile
jenesis escribió:
A veces peco de impulsiva... :oops:

Hmmm... Y veces, impulsivamente ¿pecas? ;-) :-P :twisted: :lol: 8)

_________________
[Incanus] - Sígueme en itch.io
El Escritorio - Blog Aventurero y Literario


Arriba
 Perfil  
 
NotaPublicado: 11 Nov 2010 19:18 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Incanus escribió:
jenesis escribió:
A veces peco de impulsiva... :oops:

Hmmm... Y veces, impulsivamente ¿pecas? ;-) :-P :twisted: :lol: 8)


Todo depende del credo... :P

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


Arriba
 Perfil  
 
NotaPublicado: 11 Nov 2010 19:53 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
El error es que ejecutas el metodo (sorry, no me van las tildes) setPrompts() sobre el cliente del jugador sin comprobar que sea un ColoredSwingClient.

Ese metodo no existe en el CommandLineClient (cheapAGE) ya que el prompt ahi funciona de otra manera.

_________________
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  [ 34 mensajes ]  Ir a página Anterior  1, 2, 3  Siguiente

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 2 invitados


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:  
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM