CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 22 Oct 2019 16:10

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 24 mensajes ]  Ir a página Anterior  1, 2
Autor Mensaje
NotaPublicado: 23 Dic 2011 23:46 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 23 Mar 2010 20:11
Mensajes: 1141
Ubicación: Valencia
Lo he comprobado y, efectivamente, reproduzco tu error...

Ya sabes... hay que ser menos estricto. :lol:

_________________
El humor existe para recordarnos que por muy alto que sea el trono en el que uno se siente, todo el mundo usa su culo para sentarse.


Arriba
 Perfil  
 
NotaPublicado: 24 Dic 2011 12:30 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

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

:lol:
Mira que es un error raro. Los que andáis en las tripas de InfSp ¿ya sabéis a qué se debe?

_________________
-- Baltasar, el arquero


Arriba
 Perfil  
 
NotaPublicado: 24 Dic 2011 16:18 
Desconectado
Implementador
Implementador
Avatar de Usuario

Registrado: 10 Mar 2004 11:58
Mensajes: 1817
Ubicación: Madrid
Ni idea, pero, ¿por qué usas el parámetro "S" [strict error checking at run time]? ¿Qué aporta respecto a no usarlo? (a parte de este bug)

_________________
_/ /\ R e \_


Arriba
 Perfil  
 
NotaPublicado: 25 Dic 2011 03:23 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 24 Ago 2007 00:41
Mensajes: 2023
Ubicación: Chile
jarel escribió:
Ni idea, pero, ¿por qué usas el parámetro "S" [strict error checking at run time]? ¿Qué aporta respecto a no usarlo? (a parte de este bug)


Yo es que no uso nunca esas cosas. Suelen dar más problemas que beneficios. Sobre todo si hablamos de Glulx.

_________________
Eliuk Blau
eliukblau (AT) gmail.com
http://www.caad.es/eliukblau/


Arriba
 Perfil  
 
NotaPublicado: 25 Dic 2011 03:32 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 24 Ago 2007 00:41
Mensajes: 2023
Ubicación: Chile
baltasarq escribió:
Aún así, he modificado mi función doInv() para utilizar el segundo formato de writeListFrom(), ya que oye, si nos da esta función la librería, pues queda mejor así. Quizás era esto a lo que te referías, Eliuk, a que quedaría mejor con esta función.


Sí, queda mejor, digamos, por una cosa de comprobaciones. Esa rutina debe hacer algún par de comprobaciones más quizá de un poco más de bajo nivel (supongo).

baltasarq escribió:
Es una pena que el inventario por defecto no es parametrizable, es decir, que estés obligado a crearte una rutina para llamar a writeListFrom con los parámetros que tu quieres. La verdad es que me gusta mucho más como queda con ENGLISH_BIT (es decir, formando una frase) que la lista de siempre.


Siempre puedes copiar el código de la función y hacer un fork. Si no quieres editar el archivo original, puedes usar la técnica del "replace" que usualmente ocupo yo. Te defines un...

Código:
Replace writeListFrom


... al inicio del código fuente de tu juego. Y justo después del Include del archivo que contiene writeListFrom() original [no sé cual de todos sea] escribes tu propia implementación de la función, en este caso, tu fork.

Y eso es todo. :) Sin hackeos extraños ni ediciones de los fuentes originales. :)

Saludos.

_________________
Eliuk Blau
eliukblau (AT) gmail.com
http://www.caad.es/eliukblau/


Arriba
 Perfil  
 
NotaPublicado: 04 Jun 2012 15:27 
Desconectado
Grafista
Grafista
Avatar de Usuario

Registrado: 04 Sep 2008 17:23
Mensajes: 735
No puedo garantizarlo, pero estoy casi seguro de que hay un error con la rutina GetGNAOfObject() de parserm.h cuando se utilizan los atributos name_m, name_f, name_mp,... para definir nombres de un objeto. No sé si el error se produce sólo al compilar con el parámetro "S" o no, tengo que mirarlo.

He visto este hilo y he pensado que lo mismo tiene relación. Cuando encuentre un rato intentaré especificar mejor cómo me he encontrado el posible error. (Se puede ver aquí, introduciendo las órdenes: ponte la ropa, coge anillo, i, mete anillo en un bolsillo, i, i. Al hacer esos dos últimos inventarios se puede ver el error: "Llevo puesto su ropa..." / "Lleva puesta su ropa...")


Arriba
 Perfil  
 
NotaPublicado: 04 Jun 2012 21:19 
Desconectado
Grafista
Grafista
Avatar de Usuario

Registrado: 04 Sep 2008 17:23
Mensajes: 735
Sigo sin saber muy bien dónde está el error, si es que hay error, pero parece que he conseguido esquivarlo reemplazando la rutina GetGNAOfObject() por una un poco modificada. Lo mismo ahora he metido algún otro error nuevo, pero mientras parezca funcionar no voy a darle más vueltas.

Código:
!!==============================================================================
!! Determines the gender-number-animation of the short name of the given object
!! obj. Returns the GNA, which is a number between 0 and 11. See table of GNA
!! values in THE INFORM DESIGNER'S MANUAL Ch.34. [Extraído de parserm.h]
!!------------------------------------------------------------------------------
[ GetGNAOfObject obj case;
   if (obj has animate) case = 0; else case = 6;
   if (obj provides gender) {
      switch (obj.gender) {
         1:   case = case + 0; ! (0,6) masculine
         2:   case = case + 1; ! (1,7) feminine
         3:   case = case + 3; ! (3,9) masculine plural
         4:   case = case + 4; ! (4,10) feminine plural
      }
   } else {
      if (obj has male)   case = case + 0;
      if (obj has female)   case = case + 1;
      if (obj has neuter)   case = case + 2;
      if (obj has pluralname)   case = case + 3;
   }
   return case;
];


Arriba
 Perfil  
 
NotaPublicado: 07 Jun 2012 17:57 
Desconectado
Grafista
Grafista
Avatar de Usuario

Registrado: 09 Sep 2004 18:26
Mensajes: 502
Ubicación: Sanlúcar de Bda. (Cádiz)
No me hagas mucho caso, pero creo que en su día yo también estuve jugando con esa función, y llegué a la conclusión de que no era buena idea preguntar por la propiedad gender del objeto. No recuerdo bien por qué, pero creo que interfería en otro sitio provocando efectos laterales.

Voy a investigar un poco más.

_________________
<= Alpha Aventuras =>
Amplificando tu mente


Arriba
 Perfil  
 
NotaPublicado: 07 Jun 2012 18:17 
Desconectado
Grafista
Grafista
Avatar de Usuario

Registrado: 04 Sep 2008 17:23
Mensajes: 735
Si, no he podido probarlo aún, pero seguro que como mínimo esto que ha comentado tesheñes ya no me funciona bien después de haber modificado esa función:
tesheñes escribió:
Código:
>coge chaqueta
Cogida.

>deja chaqueton
Dejado.

Le daré otra vuelta a las rutinas para tomar inventario, (o) obj, y GetGNAOfObject, a ver por dónde puedo esquivar esos problemas que me habían aparecido en InvSub.


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

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 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