Power Mode es un parche realizado por Firesta y Ripp3r para el RPG Maker 2003, que permite saltar los logos y el menú por defecto del programa, utilizar el ratón en cualquier momento del juego, reproducir archivos de audio en formato .OGG, crear efectos de rotación en imágenes, tener total acceso a todas las teclas del teclado y realizar operaciones matemáticas complejas con variables, tales como el cálculo de senos, cosenos, tangentes y fracciones.
¿CÓMO FUNCIONA?.
Los nombres que demos a las variables no afectan en absoluto a la funcionalidad del programa, pero puesto que es un parche extranjero, he respetado los nombres originales, a fin de no provocar errores de traducción.
0001:CR0.
Esta variable, cuyo nombre procede de “Control Register 0”, sirve para controlar varias funciones esenciales como llamar al menú Guardar o al de Salir a Windows.
De este modo, si queremos salir a Windows, sólo hemos de asignar el valor 254 a esta variable, mientras que si lo que queremos es acceder al menú de Guardar para cargar una partida guardada, debemos hacer que la variable tenga por valor 255.
Cuando se guardan los avances en el juego, la variable automáticamente asignará 1 al valor de esta variable, de modo que si su valor es 1 se podrá acceder al menú Guardar, mientras que si no tenemos ningún “savepoint” esta variable valdrá 0.
Lo normal para evitar complicaciones es comprobar su valor mediante condiciones y efectos, para realizar un menú personalizado.
0002:MCOORDX y 0003:MCOORDY
Estas dos variables sirven para fijar las coordenadas del ratón (“Mouse Coordinate X”, “Mouse Coordinate Y”) puesto que para utilizar el ratón en nuestros proyectos necesitaremos una imagen que actúe como puntero, y cuyo movimiento debemos fijar mediante estas coordenadas.
Las coordenadas, como en cualquier movimiento de imagen, deben controlarse mediante un proceso paralelo que se actualice con cada movimiento, por lo que para utilizar el ratón basta con modificar la variable 0003:MCOORDY asignándole cualquier valor, aunque lo normal es asignarle 15 (por ser éste el valor que coincide con el centro de la pantalla).
Por último, sobre esta función del parche, hay que añadir que tanto el botón derecho como el izquierdo del mouse pueden ser configurados, tal como se explica en el apartado siguiente, para realizar las funciones que estimemos oportunas, pero por defecto, el botón izquierdo actúa como Acción/Ejecutar y el derecho como Cancelar/Escapar.
0004:KEY
Esta variable se utiliza para controlar las teclas del teclado que se han pulsado, con lo que nos permite usar todas y cada una de las teclas de un teclado normal.
En el parche, esta función tiene dos formas de actuar, dependiendo del valor que se le dé a la variable.
En primer lugar, si la variable es igual a 0, se comprobará todo el teclado, mientras que si le damos el valor correspondiente a una tecla concreta, sólo comprobará si dicha tecla está pulsada.
En los dos casos, una vez se compruebe la tecla, el valor de la variable volverá a su valor por defecto que es igual a 0 si no se ha pulsado ninguna tecla, mientras que guardará el valor de la tecla pulsada, si se ha pulsado alguna.
Esta función por todo lo anterior, es de las más complejas de explicar, por ello, en el ejemplo que se adjunta al final de este análisis se ha intentado mostrar de un modo más práctico cómo usar dicha variable.
Asimismo, en dicho ejemplo se adjunta un documento que contiene todos los valores de cada tecla, siendo por poner un ejemplo, 13 el valor de la tecla correspondiente al Enter/Intro y 27 el correspondiente a la tecla ESC.
Por último sobre esta variable, hay que comentar que en función del modo que utilicemos (comprobando todo el teclado o sólo si se pulsa una tecla concreta) podremos tener distintos usos, siendo el primero más apropiado para puzles tipo inserta una clave, o teclea tu nombre, o realizar combos en función de las teclas que se pulsen. Es cuestión de práctica y de lo que queramos conseguir, puesto que un método excluye, por así decirlo, al otro.
0005:FVALUE1, 0006:FVALUE2, 0007:FCODE
Estas variables van destinadas al uso de operaciones matemáticas. Las dos primeras se destinan a fijar el valor inicial de la operación, y devolver, por así decirlo, el resultado, mientras que la 0007:FCODE se utiliza para activar la operación que se pretenda. De este modo:
1 – Seno y Coseno de un ángulo fijado en FVALUE1. Resultado: 0005:FVALUE1 = Coseno, 0006:FVALUE2 = Seno.
2 – Tangente de un ángulo fijado en FVALUE1. Resultado: 0005:FVALUE1 = Tangente.
3 – Raíz cuadrada de FVALUE1. Resultado: 0005:FVALUE1 = Valor natural de la raíz 0006:FVALUE2 = Fracción del valor.
4 – División de FVALUE1 por FVALUE2. Resultado: 0005:FVALUE1 = Valor natural del cociente, 0006:FVALUE2 = Fracción del valor.
Debido a que el Maker no soporta la fracción de valores, los resultados en las operaciones anteriores se presentan como multiplicadas por 1000000.
0008:SPECIAL
Esta variable activa el modo especial que permite rotar las imágenes en función del ángulo que elijamos.
Si su valor es igual a 0 se desactiva esta función, funcionando por defecto las imágenes en el maker sin posibilidad de rotarlas.
Si el valor comprende1 o 10 no sucederá nada. Si la variable es 11 o mayor, el valor se percibe como un número de la primera variable de un bloque de 50, y, si se inicializan éstas, se permite el modo especial.
El bloque de 50 variables que contendrían los valores "de los parámetros del ángulo de la rotación" debe ser preparado y ser inicializado (creado en la base de datos de la memoria).
El último se logra asignando cualquier valor en la variable pasada del bloque expresa para los ángulos (es decir, en la 71).
Por último, la imagen que queremos rotar debe tener la opción de la rotación permitida (conviene analizar el ejemplo para entender esto mejor). La velocidad que asignemosno importa, pero lo que es realmente importante es que este “bloque” de 50 variables no sea menor a la variable 0011.
Su modo de uso en el parche es muy sencillo. En primer lugar, y para evitar confusiones, hay que comentar que este parche no “actualiza” la base de datos del programa (por lo que sólo seguirán apareciendo los tipos de audio que soporta el programa: midi, mp3 y wav), por lo que hay que “engañar” al maker para poder usar los nuevos formatos.
Este engaño se puede hacer simplemente añadiendo .mp3, .wav o . mid al nuevo formato de audio que queramos utilizar en nuestro juego. Así por ejemplo si queremos utilizar la música Micancion.ogg, deberemos insertarla en nuestro juego como Micancion.ogg.mp3, Micancion.ogg.mid o Micancion.ogg.wav, o incluso Micancion.mp3/.wav/.mid 8quitando el .ogg del título).
Particularmente recomiendo dejar lo de .ogg para saber que esta canción no es un verdadero .mp3, de cara principalmente a evitar intentar reproducirla desde la base de datos del programa, pues si hacemos esto, el programa se colgará (aunque en el juego nos saldrá el audio correctamente).
Empezar el juego directamente saltando el logo de Enterbrain del principio y el menú que viene por defecto.
Para evitar un efecto molesto (que dura aproximadamente menos de un segundo pero que puede irritar bastante), hay que seguir los siguientes pasos.
En primer lugar, accedemos a la base de datos del programa, al apartado Sistema, y ahí tenemos que eliminar todos los sonidos que aparecen marcados: los de sistema (Pantalla de título, batalla, victoria y posada, bote, galeón, aeronave y gameover), y los sonidos del Sistema (cursor, elección, cancelar, fallo, etc.).
En el gráfico del título, tenemos que quitar la imagen que viene por defecto y dejar una que sea totalmente negra. Lo ideal es insertar en la carpeta correspondiente una imagen de 320x240 totalmente negra para evitar que aparezca la imagen del título durante el segundo que he comentado al principio (que es bastante molesto para mi gusto). Una vez tengamos todo esto, y aún en la base de datos del programa, debemos ir a Personalizar. Términos 5, y ahí eliminar los comentarios que aparecen en Nuevo Juego, Cargar Juego y Salir, dejándolos en blanco sin texto alguno.
Debemos tener en cuenta que estas opciones las podemos “llamar” con la variable 0001:CR0, por este motivo y porque las saltaría al cargar nuestro juego, se deben dejar en blanco estos apartados.
Transparencias en las imágenes.
En el RM2k3 se permite fijar las transparencias en la parte superior e inferior de la imagen, lo cual puede resultar de escasa utilidad. Este parche modifica también esta característica de la forma que explico a continuación.
En la transparencia superior se controla toda la imagen, es decir, la transparencia que se usará en toda la imagen, mientras que si insertamos un valor en la transparencia inferior se controlará la dirección en la que la imagen rotará. De este modo, si el valor que insertemos es inferior a 50, la imagen girará hacia la derecha, y si es superior girará en sentido contrario a las agujas del reloj. Si estamos en el modo Especial (activado con la variable 0008:SPECIAL, no sucederá nada).
Habrá usuarios que intentarán hacer ésta mezcla, y hay que avanzar que ambos son perfectamente compatibles. Eso sí, hay que advertir que para que el Powermode funcione sin ningún problema es necesario dejar todos los archivos del mismo (a excepción del ejecutable) fuera de la composición del Molebox, o no se podrá cargar la partida. Otra cosa a tener en cuenta es dejar la capeta music fuera por el clásico error de "no implementado". Asímismo, habrá PC's que den problemas con los sonidos, para ello también se puede dejar fuera de la composición el Molebox la propia carpeta de sonido.
CAMBIO DE FUENTE.
Es igual de sencillo que hacerlo con un ejecutable normal, lo único es que las fuentes estarán en una línea distinta al ejecutable de Enterbrain. Para encontrar antes las fuentes que trae el Powermode por defecto, buscar MS o Mincho (una vez abierto con el editor correspondiente), y avanzar hasta que encontréis las fuentes. Entonces, el método de sustitución es similar al de los otros ejecutables.
Por último, antes de finalizar este especial quiero dar las gracias a Firesta y Ripp3r por el parche y los tutoriales que hicieron en inglés (en los cuales he basado este tutorial) y a Moumou de la comunidad francesa Edén (que actualmente esta offline por problemas con hackers), que me ayudó bastante con sus ejemplos, para entender mejor las funciones del parche.
Además he de añadir que este parche aún se está desarrollando, ya que lo que dejo a continuación no es una versión final del mismo, por lo que dejo la responsabilidad de su uso a cada usuario que quiera probarlo, sin hacerme responsable de los errores que pueda causar su uso, aunque si he de decir la verdad, lo he visto funcionando en varios juegos y no ha dado problema alguno.