Blog | Archivo | Contacto | Administración |
Cuando uno se pone a mirar programas por dentro de vez en cuando uno se encuentra cosas. A veces son mensajes del tipo "No deberías estar leyendo esto", otras veces insultos, en algunas ocasiones intentos de ofuscación, cuelgue o incluso formateo del disco duro.
Otras veces uno se encuentra cosas simpáticas, como rutinas de debugeo que mandan mensajes a ventanas inexistentes, escriben la memoria de video monocroma o los mandan vía puerto serie.
Y otras veces lo curioso son las propias tripas, el funcionamiento del programa.
Hay un juego que me gusta, el Seiklus. Tengo por costumbre terminármelo en una horilla de vez en cuando. Pero en esta ocasión algo fue mal.
Podría haber sido por el Vista, por la arquitectura x64, por los nuevos DX, por los drivers de video... pero no, fue por la chapuza que es ese programa llamado Game Maker con el cual está hecho que no me funcionó del todo bien. Marcos negros alrededor de algunos de los sprites, y en cierto punto se me quedó colgado.
Me fastidió bastante la situación, así que me puse a hacer algo. Los ejecutables de ese programa son un pequeño runtime con el archivo del propio juego pegado (aunque encriptado). Es decir, una vez extraído, puede cargarse de nuevo en el Game Maker y tener acceso a todo el juego. Pantallas, personajes, scripts... todo.
Me bajé una versión 7, lo importé, y me puse a parchearlo, pues está hecho para una versión anterior (la 5): rehice la función draw_text_sprite, corregí las transiciones, las funciones de texto, las de viewport... y voila, un Seiklus compilado con la última versión que (medio-) funciona bien.
Mi descubrimiento, en la línea anterior del post, es que su creador ha definido sprites para objetos (personajes) que se encuentra en cada pantalla para recibir eventos. Como veis en la imagen, esos de la luna nunca aparecen en el juego. El de la corona está presente para coger las teclas durante el juego.
Junto con eso, notas internas para acordarse de cosas, un modo con trucos, fases de animación no usadas, repetidas para enlentecer (ya le vale) y una programación francamente mala. Tampoco es que el Game Maker de para mucho más, pero aún así.
Y con esto me despido, pues voy a jugarme por fin mi merecida partida.
Post cerrado