08.26.07
Nos vemos en 10 dias…
Por motivos pesonales me voy de viaje hasta el dia 6-7 de Septiembre y, a consecuencia, el blog estará sin actualizar unos diez dias más o menos.
Sin embargo, como tengo una investigación pendiente (casi finalizada ya), en cuanto vuelva la terminaré en como mucho uno o dos días más y realizaré, lo más seguro, una nueva y más completa versión del AnalizaXp, que podrá ya analizar absolutamente todos los recursos de un juego. Por otro lado también completaré la nueva seccción de docuemntación abierta, que ya tiene una descarga para aquellos impacientes que quieran probarlo ya, y daré paso a más nuevos proyectos.
En referencia a esto, espero sinceramente que alguien me envie e-mails durante este viaje a scswinter@hotmail.com y me de algunas sujerencias, de programas que le gustarían o servirían, y en cuanto vuelva y acabe lo mencionado me los plantearé a ver si me son factibles.
Esto es todo en diez días, saludos y que tengan buenas vacaciones…
08.25.07
Scripts.rxdata
Bueno, decir que estoy haciendo un Script de Ruby que simula las funcionalidades del Rpg Maker Xp, y que la estructura resultó ser un poco distinta a lo explicado, pero finalmente está clara. Se puede extraer los scripts del Scripts.rxdata por separado sin problemas; sin embargo, estoy teniendo problemas al intentar vover a compilar los scripts en un Scripts.rxdata por motivos de codificación de caracteres.
El carro de nueva linea puede ser \n o \r\n dependiendo de versiones y SO, el Rpg Maker Xp necesita que estén como \r\n antes de pasarles el zlib.deflate, y eso, dependiendo con que editor modifiques los scripts, puede llegar a ser un problema.
En cuanto a los proyectos de Visual Basic, es imposible en principio, usarlos en ellos, ya que Visual Basic 6 no admite la creación de Arrays() ni se les puede dar la estructura mediante ninguna función. Ni siquiera existe algo para simular el Marshal.Load. Pero no será problema, mi objetivo es crear o una librería o un programa y un modulo .bas que lo controle de forma que se pueda usar desde Visual Basic 6. Simplemente cargaremos con una dependencia más. Por ahora sigo desarrollando el programa.
08.24.07
Estructura del Scripts.rxdata
La estructura básica del Scripts.rxdata es más simple de lo que creía en un principio. De echo, acceder a ella desde el lenguaje de scripts Ruby es bastante sencillo. Se trata de una colección de Arrays que se obtiene mediante la función (gracias a Arnaud por la info):
File.open(“Scripts.rxdata”, ‘rb’) { |f| Marshal.load f }
Es decir, el archivo Scripts.rxdata contiene un objeto de Ruby, concretamente una colección de Arrays: Si lanzamos un bucle For…Each..Next sobre un array(1), obtendremos en primer lugar el nombre de la clase, y en segundo lugar el código de ella. Pero el código está comprimido mediante zlib.deflate; por lo que deberá ser descomprimido con zlib.inflate antes de poder leerse, lo que contiene. La estructura es la siguiente:
Por tanto, es factible, y de echo posible y no muy dificil, obtener la mayoría de los scripts mediante Ruby, pero más difícil realizarlo mediante Visual Basic 6. Actualmente estoy intentando encontrar la equivalencia de Marshal.Load para Visual Basic 6.
Edito: El Array que forma la colección es Array(2), y en el primero hay un integer que no se sabe lo que hace; los otros dos son los explicados.
Estudiando Scripts.rxdata
El famoso archivo Scripts.rxdata presente en todos los juegos del Rpg Maker Xp, esta comprimido y no es posible leer todas sus clases por medio de ningún programa. Para solucionar esto, y gracias a un programa esencial que me enseñó Kratos, estoy investigando como invertir el proceso que lo comprime. Hasta ahora se han podido sacar las siguientes conclusiones:
- El Scripts.rxdata esta comprimido mediante la librería gzip/zlib.
- La versión de la librería utilizada es la v1.2.3 de la zlib.dll oficial.
- La librería zlib.dll usa el método de llamada CDECL (es para C/C++) y por tanto no puede ni importarse ni usarse directamente desde VB6.
- Descomprimido el Scripts.rxdata es una colección de clases (que son los Scripts).
- Para descomprimir (zlib inflate) es necesario saber el tamaño que ocupa esa colección descomprimida (antes de zlib deflate).
Pondré más datos en cuanto averigüe más, pues creo que será útil para el AnalizaXp y futuros programas con la Base de Datos que se quieran hacer. Por supuesto no se podrán extraer los scripts de los proyectos del RpgMakerXp que estén encriptados en un archivo Game.rgssad, por lo que la “seguridad” de los juegos no se verá afectada.
08.23.07
Finalizado Tercer Tutorial
Esta misma mañana he finalizado el tercer tutorial de Visual Basic Script, llamado “Uso avanzado y Ejemplos de VBScript“, que podréis descargar en la sección correspondiente o haciendo clic aqui.
Con esto doy por finalizado los tutoriales de Visual Basic Script, y a consecuencia, el primer proyecto de desarrollo de documentación que he hecho. Sinceramente espero que les sea de ayuda, y no duden en comentar que tal les parece.
Saludos a todos y buenas vacaciones. Esto es todo por hoy.
08.22.07
Más Noticias
La tercera parte de la documentación de Visual Basic Script está ya casi acabada, y será una preparación para que podaís continuar con vuestro aprendizaje de forma autónoma, aparte de una guía de ejemplos y notas de uso avanzados. Más o menos mañana o pasado estará ya terminada y lista para descargar.
Hoy he arreglado y añadido links de descarga para El Angel Caido, he cambiado definitivamente la apariencia del blog a esta que hay actualmente, y he hecho y subido el pequeño Add-On para el CrytoVBS, que podréis descargar en su sección o haciendo clic aquí.
Eso es todo por hoy… Saludos y Buenas Vacaciones…
08.21.07
Continuamos
Este fin de semana he estado un poco ocupado, pero hoy vuelvo a la carga poniendome con las dos cosas pendientes que me quedan por ahora:
- Add-On para controlar CryptoVBS gráficamente…
- Tercera parte del manual de Visual Basic Script…
No olvideis dudas, críticas, comentarios y sugerrncias pueden ser enviadas a scswinter@hotmail.com y serán sin duda atendidas. ¡Saludos!
08.17.07
Objetos en VBScript
Hoy mismo he podido acabar la segunda parte del manual de Visual Basic Script. Solo queda una, pero estimo que hasta el martes mas o menos no estará, ya que tengo cosas pendientes que hacer. También me pondré a trabajar en el Add-On para controlar de forma gráfica el CryptoVBS la semana que viene. Ahora si que esto es todo por hoy, os dejo los detalles de la descarga, que encontrareis también en su sección correspondiente.
Programación con Objetos (ActiveX, “.ocx”):
Saludos, pueden contactar conmigo en scswinter@hotmail.com
Inauguración Documentación
Como podéis ver, ayer a última hora puse en el blog la primera parte del tutorial de Visual Basic Script. El tutorial en si consta de tres partes, la primera ya finalizada y lista para descargar, la segunda en proceso de creación (un tercio mas o menos), y la tercera aún por empezar. Espero y calculo que antes de final de més las pueda acabar.
Por otro lado, si alguno se fija el contenido puede ser muy parecido al de la web VBSaTope que hay linkada a la izquierda. Eso se debe a que esa web es mía y he tomado su tutorial ampliándolo y adaptándolo (en aquel entonces no lo comprendía aún bien todo) mucho, hasta el punto de duplicar lo que ocupa. Quizás por ese motivo voy bastante rápido en este tutorial en concreto, pues como todos saben, hacer un tutorial no es sencillo.
Bueno, cuando me ponga con Visual Basic 6 tendré que empezar de 0 así que muy probablemente tarde más. Aún así vamos paso a paso: Podéis entrara a la sección haciendo clic aquí o en su sección correspondiente, y me podéis enviar dudas y sugerencias a scswinter@hotmail.com.
¡Saludos a todos! Y buen verano…
08.16.07
Servidor/Cliente Manual
Se ha finalizado el Servidor/Cliente Manual, y se ha subido, como ya es costumbre a filefront y a flyupload, para tenerlos disponibles en descarga. Los links de descarga son:
Espero que sirvan de utilidad, sobretodo a los que tienen conocimientos relacionados con el protocolo TCP/IP, pues a mi me ha resultado de gran ayuda ya (y eso que lo acabo de acabar).
Por último decir que a partir de hoy me pondré con la documentación, y creo que mañana mismo tendréis noticia de lo primero que pondré. Por cierto que sigo esperando sugerencias, pero mientras tanto voy haciendo… Esto es todo por hoy. ¡Saludos!