¡Oh no! ¿Dónde está el JavaScript? El navegador Web no tiene JavaScript activado o no es compatible con JavaScript. Active JavaScript en su explorador Web para ver correctamente este sitio Web o actualizar a un navegador Web que admita JavaScript.
Sabías que...
Los primeros GD-R fabricados eran azules y en ellos aparecía el nombre del proyecto de Dreamcast, Katana.

delete_text() en Fenix 0.84b

Última actualización en 13 años hace
Indiket
Salu2 ;)
Últimamente estoy empezando a aprender un poco más el lenguaje Fenix, mirando aquí y allá en mi poco tiempo libre :)
Estoy intentando arreglar un juego (PixPang) para la versión de Chui de DC, pero me he encontrado con un problema que no se cómo arreglarlo...

Por lo que he visto, delete_text(id) me funciona bien si lo que elimino son strings, pero si quiero eliminar un write_int o un write_var se bloquea el juego. No se si es un bug de la versión... pero hay arreglo?

Os pongo algo de code:


Process itemreloj(secs);
Private
   segundox;
   rolex[1];
   rolex2[1];
Begin
   secs=secs*efepeese;
   rolex[1]=write_var(fnt1,174+2,80+2,4,segundox);
   rolex2[1]=write(fnt1,163+2,80+2,4,TExtos[3]);
   rolex[0]=write_var(fnt1,174,80,4,segundox);
   rolex2[0]=write(fnt1,163,80,4,TExtos[3]);
   Frame;
   While(secs=>1)
      reloj=1;
      If(ready==1)secs--;End
      segundox=secs/efepeese;
      If(segundox<2) parpadea=1; End
      Frame;
   End
   reloj=0; parpadea=0;
   delete_text(rolex2[0]);
   delete_text(rolex2[1]);
   delete_text(rolex[0]);
   delete_text(rolex[1]);
End


Los deletes de rolex son los que hace bloquear el juego. Hay forma de eliminar enteros o algo parecido?
Gracias por adelantado :D
DC-TON
es extraño (y lo digo como novato y desastre programando) creo que el codigo es correcto

- con write_int también da error?
- y también da error metiendo a machada un delete_text(0); o delete_text(all_text);

dudas mías:
- que diferencia hay entre rolex[0] y rolex[1], son distintas identificadores? rolex[0] es global? se puede borrar su texto desde un proceso?, o a lo mejor anda tocando la moral en otra parte del código
Indiket
Gracias por contestar ton :)

- con write_int también me da error (más que error, se bloquea el juego).
- Lo curioso, es que antes de usar write_var o write_int, delete_text(0) o delete_text(all_text) funcionan perfectamente. Al tener que eliminar un entero, es cuando peta.

rolex[0] sirve para escribir con un color y rolex[1] con otro color (crea como una sombra). No puse el código del set_color en ese fragmento.

No son globales, las dos son privadas y sólo están en ese método.

He leído que en la 0.84b aparecieron nuevos tipos, y que creo que también había varios errores que los corrigieron más adelante. Por eso no estoy seguro que el fallo esté en el código...

No hay otras formas de eliminar variables en pantalla?
DC-TON
no se decirte, a ver si estos días retomo un poco el fenix y hago alguna prueba

en http://forum.divsite.net/ es donde se reune la peña que programa en fenix, si quieres posteo allí la duda
Indiket
Se lo comenté a Chui, y tiene pinta de ser un bug de esa versión. Estoy intentando usar otra versión de Fenix (0.93) que aunque no haya este error, me aparecen otros de divertidos xD.
DC-TON
pero el bug ocurre solo cuando lo ejecutas en la dreamcast, no?

ya he hecho pruebas, y con la 0.84b CVS para windows (la que viene con el port de chui), he podido borrar con delete_text(0) varios textos escritos en pantalla con la función write_var, aparentemente sin problemas

así que probando el port ruso (0.93), ya contarás que te parece.
habrá alguna forma de arrancar los juegos sin tener pasar por el menú de selección?

se podrán cargar y descargar fpgs o música para ir liberando espacio en la RAM?
Indiket
Sip, en la versión de Windows todo funciona perfectamente. Es más, muchas otras cosas suelen ir con la de Windows y en dc no...

Sobre los rusos, al no tener el fuente (pk el sdk akel eso es para hacer dll no?) pos poco se puede hacer para evitar el menú.
Indiket
Bueno, atención al tema que seguimos avanzando con el Fenix.
Respecto al delete_text, se confirma como un bug.

Lo bueno es que el propio Chui ya lo vió y corrigió... en 2005!
El enlace clave es este:
http://divsite.net/forum/viewthread.php?tid=2407&page=3#pid29408

Se explica el problema, y la solución. Hay que editar en las fuentes el fichero fxi/src/g_texts.c la función gr_text_destroy() y volverlo a compilar.

La versión de la web de Chui (0.84b ) NO tiene este problema corregido.

Lo he probado y efectivamente, arregla el problema. Pero ahora tengo otro problemilla... al crear el nuevo binario, no me carga los png (load_png). Sospecho que es algo de SDL o de mi librería... alguna vez me ha pasado lo mismo intentando compilar el SDL de Chui...

Ayuda!!! :D
DC-TON
muy interesante. indiket, no puedes poner la versión corregida y compilada en descargas? me sería muy útil ahora en navidades para seguir dándole caña al fenix


en cuanto al problema con load_png, si hay que retocar algo en las SDL o en el propio fenix, se me escapa

una solución 'a lo bruto' desde fenix, sería meter todos los .png en una librería .fpg, para luego cargarla en memoria con load_fpg
Indiket
Tengo novedades en el tema Fenix :)

Contacté con Chui y por fin me facilitó una versión 0.84b de fenix para DC con el bug corregido.
He estado probando la de los rusos y, la verdad, es bastante mala. La 0.92 no cargaba los png (tampoco tenía menú!), y por eso sacaron la 0.93. Pero es que la 0.93 va fatal y no carga bien los fpg (la 0.92 iba bien...). Además me altera los colores y si empiezo a usar el flags o alpha horror xD.

Me quedo con la nueva 0.84b. Voy a poner un nuevo topic recopilatorio, que creo que vale la pena tener las cosas más claras.
DC-TON
cojonudo, me quedo a la espera de la 0.84b corregida y del hilo recopilatorio.

por cierto, acabo de conseguir el DIV2 con su manual, 3 euros de nada ha costado.
puede ver todos los hilos de discusión en este foro.
puede iniciar un nuevo hilo de discusión en este foro.
no puede responder en este hilo de discusión.
no puede empezar en una encuesta en este foro.
puede cargar archivos adjuntos en este foro.
no puede descargar archivos adjuntos en este foro.
Afiliados
SEGA Saturno - Saturn, SEGA y Videojuegos