CAAD
http://foro.caad.es/

La cagada de Glulx
http://foro.caad.es/viewtopic.php?f=12&t=3181
Página 3 de 3

Autor:  Eliuk Blau [ 21 Jul 2009 08:03 ]
Asunto:  Re: Reiniciar y Glulx

Uto escribió:
El problema por lo que veo es que el "reiniciar" de Inform no deja la máquina como estaba al principio, y eso es un error, pero de Inform, porque desde luego dejarla como al principio es posible: Superglus lo hace.


Eso es porque en SuperGlus el esquema de las ventanas es básicamente fijo. Es decir, hay una ventana para los gráficos, y otra para el texto, y según tengo entendido, hasta ahí se acaba. El autor no puede crear más ventanas, a menos que baje a ensamblador. Por lo tanto, y según entiendo, SGlus simplemente cierra todas las ventanas y cierra todos los canales al "reiniciar" y ya. (pero SUS ventanas, y SUS canales, lo que creó el sistema mismo).

En cambio en Inform el sistema no es "fijo". El autor tiene la posibilidad de cambiar el esquema de ventanas. Si se obligara a cerrar MainWin y StatusWin y, por ejemplo, hubiera una ventana gráfica que es "hija" de alguna de estas dos, pues el esquema se rompería, lo que primero constituye un descalabro a nivel de código, y en segunda produciría un horrible error en tiempo de ejecución por parte de la Glk. Inform no cierra SUS ventanas al reiniciar por eso mismo, porque pemite tanto cambio, que es probable que el esquema de ventanas esté tan alterado, que lo mejor sea que el autor gestione su cierre y recuperaciones él mismo.

No lo sé, a mí me parece práctico. :P

P.S: Corrígeme si me equivoco, pero tengo entendido que una ventana "padre" no puede llegar y cerrarse si primero no se cierran sus ventanas "hijas". :P, puedo estar recordando mal.

Autor:  Uto [ 21 Jul 2009 11:18 ]
Asunto:  Re: Reiniciar y Glulx

Eliuk Blau escribió:
P.S: Corrígeme si me equivoco, pero tengo entendido que una ventana "padre" no puede llegar y cerrarse si primero no se cierran sus ventanas "hijas". :P, puedo estar recordando mal.


Te corrijo y por tanto rebato todo tu argumento :)

Glk Specifications escribió:
void glk_window_close(winid_t win, stream_result_t *result);

This closes a window, which is pretty much exactly the opposite of opening a window. It is legal to close all your windows, or to close the root window (which does the same thing.)


Basta con que Inform cierre la ventana principal y destruya canales de sonido para dejar las cosas como al principio sin ningun esfuerzo grande y desde luego sin que la librería necesite saber el esquema de ventanas :)

Autor:  Eliuk Blau [ 21 Jul 2009 18:17 ]
Asunto: 

Entonces estoy TOTALMENTE de acuerdo contigo en que el sistema pensado por Inform es una cagada. :lol: Sería simplemente cerrar gg_mainwin y ya. :lol: Joder! :P

Lo curioso es que la implementación de Glulx en Inform (y todo lo que tiene que ver con los cambios en la librería y tal) los escribió el propio Andrew Plotkin... :P solamente diré eso... :twisted:

Autor:  Uto [ 22 Jul 2009 15:29 ]
Asunto: 

Eliuk Blau escribió:
Entonces estoy TOTALMENTE de acuerdo contigo en que el sistema pensado por Inform es una cagada. :lol: Sería simplemente cerrar gg_mainwin y ya. :lol: Joder! :P

Lo curioso es que la implementación de Glulx en Inform (y todo lo que tiene que ver con los cambios en la librería y tal) los escribió el propio Andrew Plotkin... :P solamente diré eso... :twisted:


Yo veo más dificil lo del LOAD, porque nada garantiza que antes y despues hubiera el mismo tipo/numero/layout de ventanas, pero el "REINICIAR" no debería ser un problema.

Página 3 de 3 Todos los horarios son UTC + 1 hora
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/