Pokemon Access

nuive, lun oct 12 2020, 08:46P. M.

Editado: Actualizado a la versión 3.1.0. La compatibilidad actual es la siguiente:
-Pokémon Rojo, Azul y Amarillo: Versiones en inglés, francés, alemán, italiano y español.
-Pokémon Oro, Plata y Cristal: Versiones en inglés, francés, italiano, español y portugués de brasil (sólo cristal).
-Pokémon Rojo Fuego y Verde Hoja: Versiones en inglés (sólo versión 1.0 de las ROMs) y español.
-Pokémon Esmeralda: Versiones en inglés y español.

Compatibilidad con HackRoms de los anteriores: (Consultar primer post de la página 7)

¡Hola a todos!

Como indica el título, llevo un tiempo trabajando sobre el código fuente del bastante conocido Pokémon Cristal Access, creado por Tyler Spivey que, para quien no lo sepa son unos scripts para accesibilizar el Pokémon Cristal.

Pues sí, llevo un tiempo trabajando sobre estos scripts para lograr universalizarlos lo máximo posible (sé que suena colosal) y con universalizarlos me refiero a hacerlos compatibles con la mayor cantidad de juegos de Pokémon que sea posible.

El día de hoy vengo con la primera versión de este proyecto, compatible con Pokémon Amarillo, así como con una muestra de audio sobre como de funcionales son estos scripts. Sí, sé que mucha gente está deseando que sea Pokémon Ultrasol o Pokémon Espada, pero eso aún está a años luz, por lo menos en lo que a mí se refiere. Es mejor empezar por el principio...

Como digo, esto está basado en Pokémon Cristal Access. Para quien lo haya jugado, la mayoría de comandos serían los mismos, con algunas modificaciones. Los nuevos comandos se encuentran junto con los ya conocidos en el readme incluido en el paquete.
Además de esto, presenta algunos añadidos. Por ejemplo, como se puede escuchar en el audio, todas las instrucciones están traducidas. Esto es un añadido que le hice al script, la posibilidad de, además de adaptar el script al idioma del juego que estemos jugando, que adapte también las instrucciones a dicho idioma.

Lo cierto es que esta es la primera versión y, aunque yo ya lo utilicé para pasarme Pokémon Amarillo al 100%, como fui editando cosas según me iba pasando el juego, cabe la posibilidad de que haya cosas que no funcionen del todo bien, o no funcionen en absoluto.

De cara al futuro, arreglaré un par de cosas que son inaccesibles en Pokémon Cristal (cosas menores e irrelevantes).
A partir de ahí, dependerá un poco del interés general. Podría añadir la compatibilidad para el resto de ediciones similares (Pokémon Rojo, Azul, Oro y Plata) lo que solo requeriría cambios menores, aunque entiendo que el interés por esto también sería menor, por ser las ediciones casi idénticas.
También me interesa unificarlo todo en un mismo script, es decir, que no haya que ejecutar un conjunto de archivos distinto para cada título, sino que el script reconozca el juego y cargue las funciones necesarias.
Y por supuesto, ya lo mejor de lo mejor sería poder meterme con la Game Boy Advance, pero aquí ya aumentan por 10 las complicaciones y los peros...

En principio aquí dejo todo lo mencionado, y a ver como se va dando la cosa.

Pokémon Amarillo, versión en inglés:
enlace

Pokémon Amarillo, versión en español:
enlace

Pokémon Cristal, versión en inglés:
enlace

Pokémon Cristal, versión en español:
enlace

El paquete con el script, listo para ejecutarse:
Mega:
enlace
Google Drive:
enlace

El código fuente:
enlace

La muestra de audio:
enlace

Y el tema dedicado a este script publicado en el foro de audiogames.net:
enlace

¡Cualquier cosa, nos vemos por este post!

¡Saludos!

Re: Pokemon Access
randal, mar oct 13 2020, 03:03P. M.

saludos @nuive
¡excelente noticia! ya estoy descargando la audio demo y esperando el script. que, para los amantes de los juegos retro como yo, jugar estas ediciones de forma accesible será algo molón wink
Y si, hacer un script o algo similar para ultrasol imagino que debe ser bien complejo. Desde ya, jugarlo es complejo por el movimiento en 3d. De hecho, estoy teniendo complicaciones con la guía de ultrasol, y veo que necesitaré ojos si quiero completarla jajajaj.
Pero eso, gracias por el script y, sobre todo, por tomarte el tiempo para testearlo. ¡Mucho ánimo!
Re: Pokemon Access
kirishima, mar oct 13 2020, 09:32P. M.

Si no querés pasar de gb/gbc tan rápido, podrías intentar con algún hack como prism.
Re: Pokemon Access
nuive, mié oct 14 2020, 07:19A. M.

Sí, eso ya lo pensé también. De hecho tengo uno en versión de pruebas que utilicé para pasarme el Crystal Clear. Como todo esto es hablar de hacks de Pokémon Cristal, basta con adaptar los scripts que ya existen

De hecho el prism me lo descargué hace menos de una semana, y tenía pensado toquetearlo un poco al tener más avanzado el Amarillo.
Re: Pokemon Access
caspian, mié oct 14 2020, 03:10P. M.

sena muy bien, que ganas de probarlo
Re: Pokemon Access
sanslash332, mar oct 20 2020, 12:00P. M.

una vez más @nuive siendo una muestra genial de lo que se puede hacer.

Wow, primero esos arreglines para el emulador de ds con el platino, y ahora esto.

¡te pasas máquina!

Se esperarán con ganas cuando lances definitivamnete el script smile

Aunque bueno, no es del todo una guía, jaja. ni tampoco una duda de programación; creo que habría cabido simplemente en el foro general de juegos hmmmm. ¿estará haciendo falta un subforo de lanzamientos quizás?

En fin; una gran muestra, con ancias esperando ya una versión utilizable

¡te pasaste!
Re: Pokemon Access
nuive, mar oct 20 2020, 03:36P. M.

Me gustaría decir que el script podría estar en unos días, pero la verdad sería apostar demasiado. Está claro que me tendré que pasar el juego entero para poder sacar una versión inicial estable.

Ya el otro día creía que tenía más o menos una base fiable cuando grabé la demo, y en cuanto empecé a jugar la aventura antes de salir de la primera ciudad ya me quedé allí atascado 3 días arreglando bugs que hacían no solo que el script se parara, sino que directamente cerraban el emulador por completo... un caos importante.

Sin embargo ahora todo eso ya lo arreglé. Actualmente voy por la segunda ciudad y finalmente pude pasar dos rutas sin tener que tocar el script para nada, así que espero que el lanzamiento sea próximamente, si no en los próximos días, espero que en las próximas semanas, a más tardar.

Me alegra ver el recibimiento que está teniendo esta idea.

¡Saludos!
Re: Pokemon Access
AyoubGamer13, mar oct 20 2020, 06:54P. M.

Qué ganas tengo de jugarlo... Estoy deseando que salga
Re: Pokemon Access
JamesPotter, jue oct 22 2020, 09:58A. M.

mensage eliminado, sin querer lo publiqué 2 veces
Re: Pokemon Access
JamesPotter, jue oct 22 2020, 10:06A. M.

ea, que piola, un script mas para pokemon. una preg. en pokemon cristal no podía
  • en la pokedex no la podías ver muy vien. era problema de script o era imposible hacerla mas buena de lo que estava.
  • no se podía ver cuantos items tenías en el inv, solo decía poke ball, no poke ball. 5.
  • tampoco me aparecía cuanto quería comprar. es decir. tenía que comprar 1 a 1.

porcierto, lo de la lista era por que quería provar las etiquetas BB code.
Re: Pokemon Access
caspian, jue oct 22 2020, 07:53P. M.

buenas, en lo de la pokedex tienes razón, en lo de comprarlo yo sí pude hacerlo sin problemas
Re: Pokemon Access
nuive, vie oct 23 2020, 07:11P. M.

¡Hola!

A ver, contesto un poco a estos últimos mensajes.

Sí, algunos de estos problemas que mencionais que había en Pokémon Cristal yo también me los encontré y mi idea es corregirlos cuando saque este script, aunque por ahora me estoy centrando en lo que se refiere a poder completar el juego. Este tipo de detalles, si bien relevantes, no son fundamentales para poder pasar la historia, pero aún así, como me gustaría hacer esto lo más pulido posible, agradezco este tipo de comentarios para tenerlo en cuenta.

-La Pokédex: Se maneja algo mejor que en Pokémon Cristal gracias a que hice unos ajustes en el sistema general de manejo de menús, pero sigue dando errores al leer. Supongo que una vez todo lo principal funcione, le echaré un vistazo a ver qué se puede hacer.
-Las cantidades de los objetos en la mochila: Si no recuerdo mal, en cristal se podían ver de corrido todos pulsando la letra T para leer toda la pantalla, pero sí que es cierto que al moverse por la lista solo leía el nombre del objeto y no la cantidad. Una vez más agradezco que me recordarais esto, porque tan acostumbrado a que no lo leyera en cristal tampoco ni me había fijado. En el progreso actual del script esto ya está solucionado, y las cantidades de cada objeto se verbalizan luego del mismo al desplazarse por la lista.
-Lo de comprar: Esto sí me fijé que requiere algunos ajustes en el script, pero por ahora aún no lo toqué porque parece que requiere algo más de trabajo y prefiero dejarlo para luego de acabar la parte del script que afecta al progreso del juego.

Al margen de todo esto, informo, sobre todo para quien ya conozca el juego y se pueda hacer una idea, que voy probando y retocando todo según el progreso del juego y actualmente me encuentro ajustando el Pueblo Lavanda (con 3 de 8 medallas conseguidas) y hasta este punto, todo funciona sin ningún tipo de problema mayor.
Re: Pokemon Access
nuive, vie oct 23 2020, 10:16P. M.

¡Hola de nuevo!

En esta ocasión vengo con una nueva muestra de audio de como va el proyecto, aquí la tenéis.

enlace

En realidad se trata de algo que llevo deseando hacer desde que inicié este proyecto, porque aunque no es un hack del juego específicamente hablando (no se utilizan trucos ni nada parecido) no es algo que se pueda lograr de forma normal, jugando sin más ni más.

Para quien no sepa de qué va todo esto, se trata de un glitch presente en Pokémon Rojo, Azul y Amarillo que permite volver al juego loco y hacer que aparezca Mew poniéndonos justo delante de un entrenador que nos rete desde varios pasos de distancia, y justo cuando demos el paso que inicia el desafío se pulsa también start. Si se hace bien el juego abre el menú, y como se puede oír en el audio, al largarnos volando inicia la musiquita del desafío pero nos largamos dejando al pobre entrenador ahí tirado... el resto del audio creo que se entiende bastante bien, pero si a alguien le interesa podría redactar una guía sobre como se hace este proceso.

P.D.: Al grabar a esto se le debió cruzar un cable o algo y no sé por qué en la grabación no se oyen los efectos de sonido del script tales como los pasos y esas cosas, pero mientras lo grababa se reprodujo todo perfectamente.
Re: Pokemon Access
JamesPotter, sáb oct 24 2020, 07:45P. M.

ea, si puedes explicar vien como hacer el glitch, la cosa que o te lo explican muy visual o directamente es puro foto cheesey
Re: Pokemon Access
sanslash332, mar oct 27 2020, 03:06P. M.

nooooooooo! @nuive por qué tenías que mostrar el glich de mew.

Ahora germán joderá con eso toda la tarde (?)(?)(?)
jajajajaja

Genial, supongo que deseo culposo cumplido; poder hacer el glitch de mew por cuenta propia xd.

Bien, bien. esto va quedando genial :3

Por cierto, estás trabajando en tu pc local? o tienes un repositorio?

Porque una vez terminado sería bonito que le mandases un pull request al repositorio de tspivey smile
Y si no lo tiene, pues crear un repositorio de todo este script para tenerlo ordenadito :3

Bueno eso ¡saludos! Como siempre un trabajo grandioso!
Re: Pokemon Access
nuive, mar oct 27 2020, 04:19P. M.

Por ahora estoy trabajando en local, pero en cuanto libere la primera versión planeo subirlo todo a un repositorio.

Sí, supongo que enviar notificación a tspivey sería lo justo, digo yo, y en caso de no obtener respuesta mencionarlo en el código, por supuesto, ya que todo esto está basado en su magnífico trabajo con el Crystal Access.
Re: Pokemon Access
JamesPotter, mar oct 27 2020, 04:38P. M.

e man, si se puede saver, por donde llevas la partida? tengo ganas de jugarlo xD
Re: Pokemon Access
Germán Schlude, mar oct 27 2020, 05:29P. M.

no sabes si se puede usar el script con la última versión del emulador? es que siente raro usar una versión vieja xd. no sabes lo feliz que estoy con esta noticia, y te tengo que dar las gracias. cuando pueda completar eso que braillemon nos quedó debiendo voy a ser el pan mas feliz del mundo!
Re: Pokemon Access
nuive, mar oct 27 2020, 08:31P. M.

Solo hay una versión del VisualBoyAdvance que soporta lua scripts, la VBA-RR. Actualmente, la que se utiliza con Pokémon Crystal Access es la última versión del VBA-RR.

Estoy pendiente de otro emulador, el mGBA, en el que también tienen planeado añadir esta característica, pero por ahora aún no la tiene implementada.


En cuanto al progreso de la partida no avancé mucho, estos días estuve arreglando fallos y esas cosas.
Re: Pokemon Access
chiptune-fm, mié oct 28 2020, 01:08P. M.

¡Pero qué grande, @nuive!
Si este proyecto tenías para gamers de Pokemon de toda la vida, contás con mi total interés y testeo para cuando empeces a sacar versiones iniciales!
Y claro, aunque se empieza de a poco sería excelente unificar al proyecto Poke cristal Access, en lo que funcionen la mayor cantidad de ediciones posibles. Muy bueno, y sigo al pendiente! Entiendo que es un trabajazo que conlleva testear pasando todo el juego en ubsca de errores, inaccesibilidad en alguna ruta y demás. Mucho ánimo, y seguí adelante con el proyecto!
Re: Pokemon Access
Germán Schlude, mié oct 28 2020, 07:13P. M.

me preguntaba si los juegos de los casinos (tanto de amarillo como crystal) van a ser accesibles. recuerdo que en el crystal actual no lo son y me gustaría poder jugar a la ruleta pokemon como en braillemon. hay otro minijuego (el del pikachu surfista) que veo imposible accesibilizar, pero espero poder jugar a los otros. otra vez gracias @nuive
Re: Pokemon Access
nuive, mié oct 28 2020, 07:56P. M.

Justo ahora que lo preguntas, estoy metido en el edificio del casino peleándome con estas cosas. Da bastantes problemas, la verdad. Por ahora no conseguí ni que el script detecte de forma adecuada la ubicación de las tragaperras, mucho menos el funcionamiento... eso sí, estuve investigando como van las maquinitas esas, y no veo imposible hacerlo accesible. Lo que no sé es que carga supondrá eso para el script, y supongo que será algo que investigaré una vez la historia principal esté accesible por completo.

En cuanto al minijuego del Pikachu surfista, es algo que también quería investigar. En cuanto llegue a la ciudad Fucsia que es donde se encuentra, le echaré un vistazo. Pero como digo, serán cosas que irán luego de que acabe con la trama principal del juego.

Y sí, también me gustaría más adelante sacar versiones actualizadas para el pokémon cristal. Por ejemplo, yo al jugarlo me encontré con el problema de no poder completar la Pokédex por las ruinas alfa. Para poder capturar Unown hay que resolver unos puzles que con el script original no son accesibles. Yo con un poco de edición logré solucionarlos, así que espero poder accesibilizar esto en una futura versión.

Como podéis ver son bastantes cosas, y por ahora aún estoy por mitad de la historia y puliendo errores que van surgiendo, pero espero pronto publicar una primera versión al menos. Cada vez hay menos errores, así que debería ir avanzando más rápidamente, el tiempo dirá...
Re: Pokemon Access
Germán Schlude, mié oct 28 2020, 08:01P. M.

me alegra un montón escuchar eso! espero que no te den tantos problemas, y que sobre todo, te siga siendo divertido jugar el juego mientras haces esto. ya que eres literalmente el primero en probarlo, disfrútalo
Re: Pokemon Access
metalalchemist, jue oct 29 2020, 01:48A. M.

que se ocupa para accesibilisar un juego? yo vi que se leían ciertos bits en memoria o algo así? de eso si no estoy muy informado. de lua si se, pero lo básico
Re: Pokemon Access
JamesPotter, mar nov 03 2020, 10:44A. M.

que onda gente! che que pasó con esto xD. no hay post desde el jueves creo
Re: Pokemon Access
Germán Schlude, mié nov 04 2020, 12:41A. M.

seguramente lo que pasa es que está trabajando en ello y no creo que quieras saber todos los días como le va. buenos días chicos, hoy atrapé un ratata, y solucioné el bug extraño que hacía que al ponerte el nombre lala el emulador se cerraba y la computadora se reiniciaba. gracias a eso no pude avanzar mas en la historia, pero a partir de hoy seguimos. no creo que quieras ver eso, así que lo mejor es ser pacientes y no presionar, de todos modos lo está haciendo voluntariamente
Re: Pokemon Access
sanslash332, sáb nov 07 2020, 09:02P. M.

hola @metalalchemist efectivamente es así smile

utilizando la capacidad de scripting en lua de los emuladores, puedes prácticamente que ejecutar una depuración en tiempo real de los juegos durante su ejecución smile

Y con tu script, puedes leer las diferentes zonas de la memoria de la consola, o sus registros. Obviamente si uno lee al tanteo no encontrará mucho, pero gracias a las reconstrucciones que hay de estos juegos, se puede conocer un poco qué información se guarda en qué bloques de la memoria, por ende puedes hacer que tu script detecte cambios en esos sectores, procesar los bits de la manera correcta para extraer información, y mucho más.

@nuive hace que suene sencillo, pero realmente este tipo sabe, y harto. No es fácil esa programación a tan bajo nivel xd.
Re: Pokemon Access
metalalchemist, dom nov 08 2020, 03:04P. M.

creo que es mucho lv. pero si algun día me doy tiempo y hay manera de como estudiar eso me pondré a ello.
Re: Pokemon Access
nuive, dom nov 08 2020, 04:20P. M.

¡Hola!

En esta ocasión vengo solo para dar señales de vida. No, no desaparecí. El script lo tengo ya prácticamente finalizado para una versión 1.0, de hecho ya me pasé el juego al completo. Estoy retocando alguna cosa que está por ahí medio colgando, pero creo que en cosa de dos o tres días, podría estar por aquí con la versión 1.0.

¡Saludos!
Re: Pokemon Access
sanslash332, dom nov 08 2020, 08:47P. M.

Supongo que los puntos claves @metalalchemist son primero conocer un poco de arquitectura de computadores, más que nada lo básico.
Para entender qué son los registros del procesador, el bloque de memoria, y el bloque rom, o del programa. Qué es un program counter, un puntero, y eso.

Luego, leer un poquito sobre la arquitectura de la gameboy (o de la consola que quieras estudiar) para conocer un poco como es su magia negra interna, y ya por último ver como se pueden leer / interpretar esos datos en el emulador. Si es un juego depurado con los sectores de memoria ya conocidos, supongo que es más fácil.

Lo genial es que si comprendes un poquito como va, un muy buen material de estudio son precisamente los scripts ya existentes smile

Y @nuive que geniaaaaal!

A varios realmente nos tienes con un buen hipe con esto. Eres un grande, maestro! smile

Por cierto, insisto en subir el script a un repositorio :3

Y supongo que no hay problema en que cuando lo publiques le armemos una entradita aquí en tiflojuegos como al pokemon cristal ¿no?

A, y está claro que tendrás noticia. Esto no sale todos los días *.*

¡bueno esperemos!
Re: Pokemon Access
Germán Schlude, dom nov 08 2020, 11:31P. M.

que notición! @nuive cuando salga, seguramente ali lo jugará en vivo. espero que estés en los streams, y por supuesto te vamos a agradecer por hacer esto posible. sos un grande!
Re: Pokemon Access
Germán Schlude, lun nov 09 2020, 08:44P. M.

che @nuive te pregunto desde mi infinita ignorancia. no hay manera de que al entrar a los datos de un pokemon desde por ejemplo el menú, puedas precionar un botón y saber de mejor manera de que tipo es el pokemon, naturalezas, stats y posibles futuras habilidades como se inspecciona la vida de un pokemon en el combate por ejemplo? solo es una duda que tengo
Re: Pokemon Access
metalalchemist, mar nov 10 2020, 12:52A. M.

que se ocupa saber asi exactamente señor @nuive ?
Re: Pokemon Access
chiptune-fm, mar nov 10 2020, 01:16P. M.

Adelante crack, y ahí voy a estar testeando cómo funciona!
Re: Pokemon Access
nuive, mar nov 10 2020, 08:07P. M.

¡Hola!

Finalmente y después de mucho probar, corregir y volver a probar, aquí traigo lo que espero que sea la primera versión de varias, de este script.
Sin más que decir, aquí los enlaces para los impacientes, y nos vemos abajo!

Aquí el enlace al Pokémon Amarillo, versión en español:

enlace

Y aquí el del script:

enlace

Ahora bien, aclarar algunas cosas.

Las instrucciones para jugar están en el archivo del script. Eso sí, están en inglés como en el original. Para quien quiera evitarse leerlas, los comandos son los mismos que se utilizan en el Pokémon Cristal Access, con el añadido de que shift + Y anuncia la posición en coordenadas de la cámara, para cuando la movemos y nos alejamos mucho de nuestra posición, por ejemplo para cuando queremos saber donde hay un tipo de baldosa especial, un agujero...

Como ya comenté en posts anteriores, yo conseguí pasarme el juego al completo. Eso sí, no garantizo que esté libre de errores. Quiero decir, yo fui adaptando el script a medida que el juego lo requería. Según fui tocando cosas fui comprobando en la medida de mis posibilidades que nada de lo que hubiera que modificar afectara a lo anterior, pero esto no garantiza que todo funcione como debería.
Lo ideal es pasarse el juego ahora que teóricamente el script funciona para toda la aventura, pero la verdad es que no me veo con ánimos de volver a pasármelo, la verdad. Pero como por aquí veo bastante emoción al respecto, confío en que quien quiera jugarlo me pueda servir de betatester en caso de errores y esas cosas.

En teoría, salvo la pokédex, el menú de opciones y cosas tales como los juegos del casino o el minijuego del surf, todo debería funcionar sin problemas.

Sin más que decir, espero que sea útil.

¡A disfrutarlo!
Re: Pokemon Access
JamesPotter, mar nov 10 2020, 08:37P. M.

si joder si! a provar
Re: Pokemon Access
randal, mar nov 10 2020, 10:06P. M.

buenas @nuive
Antes que nada, muy buen trabajo con el script! funciona de maravilla, excepto por una cosa que no sé si les pasará a los demás.
En el momento de entrar al menú de lucha o mochila en un combate, no se porqué el script peta e incluso si pulso en restart, vuelve a petar.
Pregunto porque en la audio demo esto no pasaba, pero puede que se le haya hecho una modificación al script o que sea cosa mía jaja.
Cave destacar que he vuelto a descargar el script y la rom, pero sigue pasando lo mismo.
Por lo demás, excelente aporte smile gracias nuive.
Re: Pokemon Access
nuive, mar nov 10 2020, 10:47P. M.


buenas @nuive
Antes que nada, muy buen trabajo con el script! funciona de maravilla, excepto por una cosa que no sé si les pasará a los demás.
En el momento de entrar al menú de lucha o mochila en un combate, no se porqué el script peta e incluso si pulso en restart, vuelve a petar.
Pregunto porque en la audio demo esto no pasaba, pero puede que se le haya hecho una modificación al script o que sea cosa mía jaja.
Cave destacar que he vuelto a descargar el script y la rom, pero sigue pasando lo mismo.
Por lo demás, excelente aporte smile gracias nuive.

randal


Vaya... no esperaba que empezaran a salir fallos tan pronto... Efectivamente, se me fue la mano al realizar una de las últimas ediciones, y en consecuencia los menús que mencionas estaban totalmente rotos. Ya está solucionado, y el link en el post anterior actualizado.

Por las dudas, lo pongo aquí también:

enlace

¡Saludos, y muchas gracias por avisar!
Re: Pokemon Access
sanslash332, mié nov 11 2020, 09:12A. M.

eres un crack @nuive un crack!

Demasiado genial! smile

bro, porfis, puedes editar el primer post por favor?


Colocando en el primer post los links de descarga, los links a la demo y contando un poco de que va; como para dejar este thread como el thread oficial de este script smile
Y supongo que debería de moverlo a juegos generales, o sino crear un subforo para lanzamientos como tal xD.
Porque claramente guía no es jajajaja.

Y se viene noticia, se vieeeene noticia.

Y aunque me ignores holímpicamente, yo continúo; créale un repositorio al pobre script, que se lo tiene más que meresido jajaja

edit: se me fue preguntar. El script funciona solo para amarillo ¿no?

la compativilidad con cristal se rompió?

¡saludos!
Re: Pokemon Access
vrivri, mié nov 11 2020, 12:29P. M.

Hola!
Intenté ejecutar el Pokemon Cristal con el script del gran @nuive pero, miren lo que pasó xd
enlace
Y si la idea es hacer accesible a los dos juegos, seria bueno tener un reporte de un error como este, no? x
Es muy probable que pasen cosas como esa, ya que el rediseñó el script para Pokemon Amarillo. Por eso, creo que seria un poco complicado solucionar eso.
Bueno, es mi opinión xd.
Espero que ese aporte le ayude.
Saluuuuuuuu, 2!
Re: Pokemon Access
bauticrac, mié nov 11 2020, 12:40P. M.

que buena noticia! bamos a probar!
Re: Pokemon Access
alisson, mié nov 11 2020, 02:22P. M.

Hola @nuive y a todos los demás! En unas 2 horitas estaré haciendo un streaming probando el script. para aquel que quiera estar como espectador, será muy bien venido! Aclaro, no soy un experto en pokemon, así que perdonen mis manqueadas. xd
enlace
Re: Pokemon Access
nuive, mié nov 11 2020, 02:44P. M.


Y aunque me ignores holímpicamente, yo continúo; créale un repositorio al pobre script, que se lo tiene más que meresido jajaja

sanslash332


No ignoro, no ignoro. De hecho en el readme ya aparece en la sección de contacto la URL al repositorio



edit: se me fue preguntar. El script funciona solo para amarillo ¿no?

la compativilidad con cristal se rompió?

sanslash332
Sí, por ahora es funcional solo con Amarillo. No es cuestión de que dejara de funcionar con Cristal, tanto como que la estructura actual del script solo permite que funcione con un juego a la vez. Justo en eso es en lo que estoy trabajando ahora, para reincorporarle la compatibilidad con Pokémon Cristal y que el mismo script sirva para más de un juego.

¡Me alegro que os guste!

¡Saludos!


Editado: Ya está el primer post actualizado con todo esto.
Re: Pokemon Access
nuive, mié nov 11 2020, 02:51P. M.


Hola!
Intenté ejecutar el Pokemon Cristal con el script del gran @nuive pero, miren lo que pasó xd
enlace
Y si la idea es hacer accesible a los dos juegos, seria bueno tener un reporte de un error como este, no? x
Es muy probable que pasen cosas como esa, ya que el rediseñó el script para Pokemon Amarillo. Por eso, creo que seria un poco complicado solucionar eso.
Bueno, es mi opinión xd.
Espero que ese aporte le ayude.
Saluuuuuuuu, 2!

vrivri


¡Madre mía! ¿Qué demonios pasó ahí? La verdad que nunca lo había probado porque ya sabía que no iba a funcionar, pero eso... parece que se metieron en la pantalla de título todos los pájaros de la región a aletear o algo...
Re: Pokemon Access
vrivri, mié nov 11 2020, 03:16P. M.

@nuive El sonido que se reproduce ahí es como el sonido de caminar en la hierba o el sonido del menú
Re: Pokemon Access
nuive, mié nov 11 2020, 03:38P. M.

ya, ya me fijé. Simplemente me llamó la atención la locura que le dio.
Re: Pokemon Access
caspian, mié nov 11 2020, 10:58P. M.

bueeeeenas, aquí vuestro príncipe favorito... ejem...
Bueno es igual, simplemente felicitar al creador del script, me ha hecho recordar viejos tiempos de mi infancia con este gran juego, ya casi no recordaba lo malo que es picachu, no tiene casi defensa... fenomenal trabajo, a ver si paso el gimnasio de carmín y consigo subirle la amistad a picachu para que la tonta de ciudad celeste me dé a bulbasaur.
Bueno, eso, enhorabuena y nos leemos por aquí
Re: Pokemon Access
sanslash332, jue nov 12 2020, 02:19A. M.

y liiiisto @nuive lo prometido aquí está smile

primero la noticia del jueguito :3

y claro la entrada en descargas

Mira, en esta última, suví al host directamente un paquete con todo; emulador, script y rom en español.

Tarde o temprano se quedará medio atrasado, pero bue...

Luego lo sigo actualizando; al menos que tu crees un paquetito con el rom incluido para... ya sabes, la gente que le cuesta ordenar las cosas jaja.

En fin, felicitaciones @nuive eres grande.

Ahora solo queda jugar :3
Re: Pokemon Access
bauticrac, jue nov 12 2020, 02:39P. M.

bueno, yo bengo con una pregunta, que no tiene que ver con el scrip xddd. ayer se me dio por ejecutar en el coso de cheat que tiene el emulador esos códigos para acer cheat. los códigos que sirven para atrapar poquemons, pero el problema que por ejemplo puse un código para atrapar a un coso raro el que alison atrapó en el directo, ese poquemon que le púso tu ex, púse ese código. para atrapar a ese poquemon, pero el código no hiso nin gun efecto, fuí a la ruta 2 donde está la yerva y no apareció xd, que puede ser?
Re: Pokemon Access
bauticrac, jue nov 12 2020, 02:42P. M.

ablo del poquemon amarillo.
Re: Pokemon Access
kirishima, jue nov 12 2020, 03:01P. M.

¿Hola!
Vengo aquí a comunicar mis ganas de destruir cosas. Estaba leyendo el hilo de audiogames del script y no entiendo porqué la gente quiere comprar el juego en la eshop de la 3ds, tipo tienen la rom para jugarlo gratis y no es como que en la 3ds vaya a funcar el script. Bueno, temas de la burguesía supongo.
Un saludo.
Re: Pokemon Access
nuive, jue nov 12 2020, 06:55P. M.


¿Hola!
Vengo aquí a comunicar mis ganas de destruir cosas. Estaba leyendo el hilo de audiogames del script y no entiendo porqué la gente quiere comprar el juego en la eshop de la 3ds, tipo tienen la rom para jugarlo gratis y no es como que en la 3ds vaya a funcar el script. Bueno, temas de la burguesía supongo.
Un saludo.

kirishima


Sí, yo también lo vi. Me pareció lo justo publicarlo allí por aquello de que el script original estaba allí, el juego también funciona en inglés...
Entiendo que lo hacen por evitar la piratería y esas cosas, pero vamos, las cosas como son, esto no se puede jugar en los medios originales...

Claro que según lo que se dice, jugar en un emulador es legal siempre que tengas la copia original de la ROM (no sé hasta que punto...).

Al margen de esto, también estoy recibiendo una serie de peticiones un tanto extrañas por GitHub a las que no sé muy bien como responder, me gustaría saber opiniones. Por ejemplo, hay quien sugiere que utilizar el buscador de caminos es muy tedioso, que lo ideal sería crear una función que te lleve ella sola a cada objeto... No sé, a lo mejor me equivoco yo, pero eso convertiría la jugabilidad en una especie de simulador de batallas cuentahistorias...

En fin, todas las opiniones son igual de válidas y respetables, pero hay cosas que me parecen un poquito locura, así a nivel personal.

Edito: Actualizo el primer post con una nueva versión del script, me notificaron en audiogames un pequeño bug en la versión inglesa a la hora de leer la vida del rival, una tontería que en español reparé hace semanas, pero que se me pasó por completo en inglés.
Re: Pokemon Access
kirishima, jue nov 12 2020, 07:41P. M.

@nuive lo que te sugieren si bien puedo entender el porqué, pasaría lo que denomino el efecto dreamlands. El juego se juega solo y eso arruina la experiencia. Si bien se podría desactivar y activar, creo que la gracia de estos juegos es ir explorando por tu cuenta, que si quiero jugar batallas me voy a showdown y si quiero saberme la historia la leo en wikidex/bulbapedia. Opinión personal xd.
Tema aparte, y quizás es fantasear mucho... ¿Sería posible no limitarse a pokemon y hacer un script para no se, un final fantasy?
Un saludo.
Re: Pokemon Access
JamesPotter, jue nov 12 2020, 07:53P. M.

es que es decir. yo tiro la pag de la sala por que soi usuario de la sala. es algo ilógico que sea legal jugar con emulador por que pagas la rom. de que me sirve pagarla? de adorno? pero bueno, aí los ingleses que aparentemente tienen mucha guita xD. que embíen algo para la argentina aver si mejora esta economía cheesey y lol, hay gente que se toma el trabajo de hacer puro copia y pega historia de el pokemon? lol
Re: Pokemon Access
bauticrac, jue nov 12 2020, 11:30P. M.

holaaa, hay una guía de este juego que no tenga tantos gráficos? asta aora boy bien ya boy por el segundo estadio, pero bue, hay una guía para este juego? que no tengan gráficos. saludos!
Re: Pokemon Access
Germán Schlude, jue nov 12 2020, 11:45P. M.

hola @nuive
llegué tarde a la fiesta de agradecerte por todo el trabajo que te tomaste al hacer esto, y decirte que luego de hacer explotar el juego muuuchas veces, el script es mas estable que nunca. el juego muere, pero el script no. claramente es mala idea hacer que el personaje camine solo a los objetivos, así que dejalo. tengo 3 preguntas para voz. 1: hay manera de saber que unoun es cual? o sea que letra. 2: no crees que sería algo bueno ver la vida de los pokemon no como barras o porcentajes, sino con colores como la barra original? que se pueda conmutar entre formas de ver la vida enemiga. y 3: cuales son tus planes a futuro? no es por meterte presión, es solo que como todo el mundo, quiero saber que es lo que piensas hacer a continuación. no pido fechas, solo quiero saber xd.
por cierto, nada que ver, y no creo que sea algo que realmente nos afecte, pero bueno. un amigo dice que al jugar el minijuego de pikachu el script muere, y luego lo hace el emulador. y de vez en cuando el script muere al pasar a lugares en particular, como de ciudad plateada a la ruta 3, pero con reiniciarlo ya está. así que no lo veo tan grabe.
un trabajo impecable, y como todo el mundo ha dicho durante los últimos 3 días, gracias @nuive !
Re: Pokemon Access
sanslash332, sáb nov 14 2020, 01:15A. M.

holi @nuive
Gracias por el aviso del update para el juego en inglés smile al menos yo lo bajaré porque me interesa iniciar mi partida en dicho idioma xd.

Ahora, sobre esa idea de github, de un autopaht... ¡nooo! por favor no!

Todo menos eso!

Eso arruina la experiencia totalmente! Dreamlands se murió precisamente por eso, no, por favor no. pasa holímpicamente de esa petición.

Respecto los otros issues, estará interesante ir a ver que otras cosas te han publicado jajaja.

En fin, nuevamente gracias.

Y respecto a los de audiogames. nada, Jony, la gente está muy loca.

Son... raritos, supongo, tienen miedo a que la sia vaya a su casa a cortarles las weas por tener un rom de 500 kb piratas. ¡ñe!

Bueno, gracias nuevamente! :3
Re: Pokemon Access
destructor, sáb nov 14 2020, 02:06P. M.

hola! muchas gracias por el script
desde que salió braillemon me quedé con ganas de completar este juego.
solo una pregunta. sería posible ponerle sonidos a los árboles y al agua? o si se podría poner alguna manera de localizarlos. para cuando tengamos que utilizar corte, las cañas o surf.
bueno, seguiré jugando. muchas gracias, porfín jugando pokemon!
Re: Pokemon Access
nuive, sáb nov 14 2020, 04:19P. M.

¿hola!


Tema aparte, y quizás es fantasear mucho... ¿Sería posible no limitarse a pokemon y hacer un script para no se, un final fantasy?
Un saludo.

kirishima
Muy buen planteamiento. La verdad no me lo pensé porque de este tipo de juegos, solo jugué Pokémon hasta ahora. No sé como estará programado final fantasy, o que recursos hay disponibles tales como código de los juegos o así, pero por lo que sé de esa saga, su jugabilidad es bastante similar a Pokémon, si bien la empresa diseñadora es diferente... sería cuestión de echar un vistazo. No lo descarto para más adelante, pero por ahora me centraré en esto, en consolas más actuales si fuera posible.



1: hay manera de saber que unoun es cual? o sea que letra.

Germán Schlude
Muy buena pregunta, pero por ahora, material para pokémon cristal ya que Unown es un Pokémon de la 2º generación. En cuanto consiga reintegrar el script de cristal en este, me pondré con ese tipo de cosillas menores.


2: no crees que sería algo bueno ver la vida de los pokemon no como barras o porcentajes, sino con colores como la barra original? que se pueda conmutar entre formas de ver la vida enemiga.

Germán Schlude
La barra original aunque cambia de color también se va vaciando según el pokémon pierde PS. Es interesante y algo que podría revisar, pero me parece que no será muy exacto. De hecho, la fórmula original del script de cristal utilizaba la barra como unidad de referencia, y personalmente me parecía una cosa bastante imprecisa. Así de veces me encontré con que el pokémon seguía vivo y el script decía 0of6 en la vida restante...


y 3: cuales son tus planes a futuro? no es por meterte presión, es solo que como todo el mundo, quiero saber que es lo que piensas hacer a continuación. no pido fechas, solo quiero saber xd.

Germán Schlude
Como ya dije, ahora mismo ya estoy trabajando en reincorporar la compatibilidad de Pokémon Cristal sin romper el actual, para tener un único script para todo. Por ahora el proceso va bien pero lento, en cuanto en pokémon cristal se inicia la partida y se pasa a la habitación del jugador (primer mapa del juego) se queda el script clavado, pero voy solucionando cosas. Una vez funcione en Pokémon Cristal y Amarillo, supongo que la cosa cambiará un poco. Me gustaría empezar a investigar la game boy advance, pero supongo que va a llevar bastante tiempo conseguir algo con eso si es que se consigue. A la vez que hago esto, por supuesto, seguir retocando el script actual, con cosas tales como la traducción de objetos, mapas y esas cosas en Pokémon Cristal para que quede igual que el Amarillo. Esto último me da más pereza que otra cosa...


por cierto, nada que ver, y no creo que sea algo que realmente nos afecte, pero bueno. un amigo dice que al jugar el minijuego de pikachu el script muere, y luego lo hace el emulador. y de vez en cuando el script muere al pasar a lugares en particular, como de ciudad plateada a la ruta 3, pero con reiniciarlo ya está. así que no lo veo tan grabe.
un trabajo impecable, y como todo el mundo ha dicho durante los últimos 3 días, gracias @nuive !

Germán Schlude
Lo del minijuego de Surf no me sorprende en absoluto, es algo en lo que ni me metí ni sé si lo haré, me parece demasiado visual... A ver que pasa. Lo de los cuelgues arbitrarios si que pasa a veces. Por ejemplo, si se pulsa la p para encontrar el camino hacia algún objeto mientras el juego cambia de mapa o así... Sí que me gustaría saber si hay cuelgues del script habituales, quiero decir, que ocurran de manera asegurada cada vez que se realiza x evento.
Por ejemplo, esto que mencionas de la ruta 3, me gustaría saber si es algo típico o solo pasó en una ocasión aislada.



hola! muchas gracias por el script
desde que salió braillemon me quedé con ganas de completar este juego.
solo una pregunta. sería posible ponerle sonidos a los árboles y al agua? o si se podría poner alguna manera de localizarlos. para cuando tengamos que utilizar corte, las cañas o surf.
bueno, seguiré jugando. muchas gracias, porfín jugando pokemon!

destructor
Cuando llegues a zonas de corte o surf, ya notarás que tanto el pathfinder (letra p) como los movimientos de la cámara (d/e/s/c/f) te indican donde hay árboles y agua.

¡Me alegro de que esto esté teniendo tan buen recibimiento!
¡Saludos!
Re: Pokemon Access
josesanabria2025, sáb nov 14 2020, 08:14P. M.

Muchas gracias por hacer compatible el script con Pokémon Amarillo lo estoy disfrutando mucho.
La verdad a mi me gustaría que en un futuro el script fuera compatible con el resto de ediciones ya que la pokedex no se puede completar sin estas pero lo malo es que esta versión del emulador no incluye la función del cable link por lo tanto tengo que usar otro emulador y pedir ayuda a otra persona para hacer el intercambio.
una vez más gracias por tu trabajo.
Re: Pokemon Access
chiptune-fm, dom nov 15 2020, 12:57P. M.

Y versiones más modernas del emulador, si es que no se cargan el Scrip al actualizar, pueden recrear el Cable link? Porque recuerdo que en otro hilo me comentaron justamente que no se puede hacer el intercambio ni lucha con otros jugadores, al menos online, en este emulador...
Un crack, @nuive Si lanzaste una update voy a probarla, ya que yo probé la versión que ercién sacastse hace 2 o 3 días cuando todo empezó a reventar y @sanslash332 publicó la noticia, ahí el Scrip se quería trabar cada 2 por 3 pero como bien dijeron, era cuestión de reiniciarlo y to solucionao.
My bien, gran proyecto!
Una pregunta, entiendo que ahora mismo el Script no sería compatible con Pokemon Red y Blue. Cuando logres realizar la compatibilidad con Poke Cristal, ahí ves posible n osolo hacer compatibles las roms Red y Blue, sino Plata y Oro, por si de repente a a lguien se les da por probar?
En cuanto a Rubí, Platino y alguna edición que ahora no recuerdo bien... Decís que se podría algo para más adelante?
En cuanto a la GBA, yo pensaba que tal vez podrías comenzar con el Sound Boyager, que aquí lo tenemos. Como para que vaya leyendo los textos que salen, pero también para más adelante.
Re: Pokemon Access
caspian, lun nov 16 2020, 12:26A. M.

me reafirmo en decir y felicitar al creador por el buen trabajo hecho en esto. Voy a preguntar una pequeña duda que me surge a quien sepa responder.
Recordais la misión del team rocket en el casino de azulona? sabeis si existe algun modo accesible de pasar las baldositas estas que se mueven? porque a veces el mapa te mete por algunas que te lanzan hacia el lado contrario y no siempre encuentro modo de rodearlas con la cámara. Fuera de este pequeño inconveniente, de momento todo perfecto, fenomenal trabajo.
Re: Pokemon Access
nuive, lun nov 16 2020, 03:29P. M.


me reafirmo en decir y felicitar al creador por el buen trabajo hecho en esto. Voy a preguntar una pequeña duda que me surge a quien sepa responder.
Recordais la misión del team rocket en el casino de azulona? sabeis si existe algun modo accesible de pasar las baldositas estas que se mueven? porque a veces el mapa te mete por algunas que te lanzan hacia el lado contrario y no siempre encuentro modo de rodearlas con la cámara. Fuera de este pequeño inconveniente, de momento todo perfecto, fenomenal trabajo.

caspian


Ten en cuenta que en ocasiones no tienes que rodear este tipo de baldosas sino pisarlas. Comprobando con los comandos de cámara puedes ver hacia donde te envía cada baldosa especial de estas, las que se mueven a izquierda o derecha suenan únicamente por el lado hacia el que se mueven; las que te envían hacia arriba hacen una especie de sonido ascendente y descendente, y las que te envían hacia abajo hacen un sonido descendente y ascendente.
Así mismo, verás que cerca de este tipo de baldosas siempre hay otro tipo de baldosa que hace un ruidito diferente. Estas son las baldosas de freno. Es decir, si pisas una que te mande hacia arriba, no te vas a mover hacia arriba únicamente hasta chocar con una pared o hasta pisar otra autodesplazable, sino que si en tu camino te encuentras una de estas que digo, frenarás justo encima de ella.

En principio estoy seguro de que es un poco lioso, pero usando la cámara se pueden descubrir los caminos a seguir sin ningún tipo de problema.
Re: Pokemon Access
nuive, lun nov 16 2020, 03:32P. M.


Y versiones más modernas del emulador, si es que no se cargan el Scrip al actualizar, pueden recrear el Cable link? Porque recuerdo que en otro hilo me comentaron justamente que no se puede hacer el intercambio ni lucha con otros jugadores, al menos online, en este emulador...
Un crack, @nuive Si lanzaste una update voy a probarla, ya que yo probé la versión que ercién sacastse hace 2 o 3 días cuando todo empezó a reventar y @sanslash332 publicó la noticia, ahí el Scrip se quería trabar cada 2 por 3 pero como bien dijeron, era cuestión de reiniciarlo y to solucionao.
My bien, gran proyecto!
Una pregunta, entiendo que ahora mismo el Script no sería compatible con Pokemon Red y Blue. Cuando logres realizar la compatibilidad con Poke Cristal, ahí ves posible n osolo hacer compatibles las roms Red y Blue, sino Plata y Oro, por si de repente a a lguien se les da por probar?
En cuanto a Rubí, Platino y alguna edición que ahora no recuerdo bien... Decís que se podría algo para más adelante?
En cuanto a la GBA, yo pensaba que tal vez podrías comenzar con el Sound Boyager, que aquí lo tenemos. Como para que vaya leyendo los textos que salen, pero también para más adelante.

chiptune-fm


La cosa es que de este emulador hay tropecientas versiones, y que la única que soporta scripts lua es esta. Las hay más recientes y más antiguas con soporte para cable link, pero sin compatibilidad para scripts.
Ah, y las que soportan cable link, lo hacen solo en GBA, nada de GB.

Hay un emulador más reciente que todo esto, el mGBA, que si soporta cable link en todas las plataformas. El desarrollador indica en añadidos planeados el soporte de scripts lua, pero esto lleva así bastante tiempo, y por ahora nada.

Para quien le interese, yo la forma más adecuada y sencilla que encontré para realizar intercambios en estos juegos es por medio del Pokémon Stadium 2, en el emulador de N64.
Re: Pokemon Access
ambro86, lun nov 16 2020, 06:11P. M.

Hola Nuive, en primer lugar gracias por tu maravilloso trabajo. Te leí en audiogames.net, pero te escribo aquí para tu comodidad. Me gustaría pedirte, si es posible, que me digas cómo traducir el guión de la versión italiana del juego. De hecho probé la versión en inglés y todo funciona bien, pero en la versión italiana la búsqueda de ruta no funciona, además muchas letras no las leen muy bien, por ejemplo lee poklmon en lugar de pokemon.
Adjunto el enlace de la rom italiana. ¡Házmelo saber y gracias de nuevo por tu trabajo!
PD: Si las instrucciones que me vas a escribir son complicadas, escríbelas en inglés porque recientemente he estado aprendiendo español.
enlace
Re: Pokemon Access
ambro86, lun nov 16 2020, 06:27P. M.

Otra cosa que no funciona en la versión italiana es la elección del nombre. Lee las letras pero no te deja saber en qué letra te encuentras.
Para la búsqueda de la ruta, sin embargo, te dice por ejemplo que la ciudad está a 200 pasos al sur y uno a la derecha, pero es una indicación falsa, de hecho presionando la letra p se detiene. Todo esto en la versión italiana. En inglés todo funciona.
Re: Pokemon Access
nuive, lun nov 16 2020, 06:56P. M.


Hola Nuive, en primer lugar gracias por tu maravilloso trabajo. Te leí en audiogames.net, pero te escribo aquí para tu comodidad. Me gustaría pedirte, si es posible, que me digas cómo traducir el guión de la versión italiana del juego. De hecho probé la versión en inglés y todo funciona bien, pero en la versión italiana la búsqueda de ruta no funciona, además muchas letras no las leen muy bien, por ejemplo lee poklmon en lugar de pokemon.
Adjunto el enlace de la rom italiana. ¡Házmelo saber y gracias de nuevo por tu trabajo!
PD: Si las instrucciones que me vas a escribir son complicadas, escríbelas en inglés porque recientemente he estado aprendiendo español.
enlace

ambro86


Hola!
Muchas gracias por escribir por aquí, la verdad es que me debí de despistar con el post de audiogames...
Hay dos partes en la adaptación del script a otros idiomas:
La primera la puedo hacer yo sin problema. Utilizando la ROM en el idioma a traducir, se buscan las direcciones de memoria que cambien con respecto a los existentes y se añaden.
La segunda parte es donde necesitaría ayuda, y es la traducción de todos los textos.
Tendrías que entrar en la carpeta lang, y en esta carpeta te encontrarás dos carpetas, "en" y "es". Dentro de ellas hay los mismos archivos, los de la carpeta "en" en inglés y los de "es" en español. Lo que yo necesitaría es que me enviaras traducidos al italiano los archivos names.lua, sprites.lua y strings.lua. Puedes cogerlos de cualquiera de las carpetas para traducirlos, según te sea más cómodo traducir del inglés o del español. Ten en cuenta que lo único que hay que traducir siempre es lo que se encuentra a la derecha del signo =, respetando las comillas.

Si prefieres que te lo explique en inglés, o para cualquier otra cosa no dudes en decírmelo!
Re: Pokemon Access
josesanabria2025, lun nov 16 2020, 09:01P. M.

Hola. a mí me gustaría saber el método de intercambio con Pokémon Stadium
gracias.
Re: Pokemon Access
nuive, lun nov 16 2020, 11:23P. M.

Actualizado el primer post con una nueva versión del script, en la que corrijo un pequeño problema que a la hora de usar un objeto/MT o MO en un Pokémon lo utilizaba en el Pokémon que se encontraba por encima del seleccionado en la lista.
Re: Pokemon Access
Germán Schlude, mar nov 17 2020, 01:28A. M.

hola @nuive acabo de descargar la última versión del script, pero yo veo que el error de las mt y mosigue estando, juego en español. un error es que luego de hablar con pikachu, al buscar objetos con j y l, te muestra ubicaciones que están muuy lejos. solo ocurre por unos segundos, pero es un error replicable.
por otro lado, si quieres para hacer testing te puedo pasar la versión debug de pokemon amarillo en inglés. te permite hacer un simulacro de batalla, y puedes iniciar una partida en la que desde el inicio puedes bolar a donde quieras con los eventos activados. así, puedes hacer cosas como ir a ciudad verde, y hacer que el profesor oac te lleve a su laboratorio desde la ruta uno, en lugar de desde pueblo paleta. si la quieres, la paso por acá. también viene con la versión debug de poquemon azul
Re: Pokemon Access
ambro86, mar nov 17 2020, 02:21A. M.

Hola @nuive, gracias por tu mensaje. Hice lo que me dijiste. Adjunto aquí un archivo, it.zip, que contiene: maps, sprites y strings traducido al italiano. No puedo esperar a probar la versión italiana. Como dije antes, por ahora no puedo continuar porque la búsqueda de ruta no funciona. Además, hay un error en el que la letra è se lee como D y la palabra pokemon se lee como poklmon. Pero el más grave es el no funcionamiento de la búsqueda de ruta.
Gracias,
Ambro
enlace
Re: Pokemon Access
nuive, mar nov 17 2020, 08:53A. M.

Añadida nueva actualización en el primer post. La nueva versión incluye la traducción del script al italiano, gracias a la colaboración de @ambro86. Te menciono en la sección de créditos del readme, si te gustaría figurar con otro nombre dímelo y lo cambio sin problemas.
Re: Pokemon Access
ambro86, mar nov 17 2020, 09:17A. M.

¡Muchas gracias! Pa lo intento ahora!
Re: Pokemon Access
ambro86, mar nov 17 2020, 10:57A. M.

Hola @nuive, jugué mucho, ya vengo al primer gimnasio. Todo funciona bien en italiano. Sólo una cosa. Cuando hay menús en los que hay opciones a derecha e izquierda, Nvda no las intercepta. Para leerlos tengo que usar la combinación t. Esto sucede tanto cuando hay una batalla, como también en el menú de inicio del juego. Si eliges opciones, verás que no te lee los cambios si vas de izquierda a derecha, por ejemplo, configurando la velocidad del texto. ¿Se puede corregir?
¡Gracias!
Si quieres probarlo, inicia la rom de Pokemon Giallo. Cuando aparezca la opción entre "Nuovo Gioco" (nuevo juego) y "Opzioni" (opciones), elija "Opzioni" (opciones). Verás que si te mueves con la flecha derecha, siempre te indicará la "Velocità del testo" (velocidad del texto), sin decirnos, por ejemplo, que has elegido velocidad de texto media, lenta, etc.
Re: Pokemon Access
nuive, mar nov 17 2020, 11:03A. M.


Hola @nuive, jugué mucho, ya vengo al primer gimnasio. Todo funciona bien en italiano. Sólo una cosa. Cuando hay menús en los que hay opciones a derecha e izquierda, Nvda no las intercepta. Para leerlos tengo que usar la combinación t. Esto sucede tanto cuando hay una batalla, como también en el menú de inicio del juego. Si eliges opciones, verás que no te lee los cambios si vas de izquierda a derecha, por ejemplo, configurando la velocidad del texto. ¿Se puede corregir?
¡Gracias!
Si quieres probarlo, inicia la rom de Pokemon Giallo. Cuando aparezca la opción entre "Nuovo Gioco" (nuevo juego) y "Opzioni" (opciones), elija "Opzioni" (opciones). Verás que si te mueves con la flecha derecha, siempre te indicará la "Velocità del testo" (velocidad del texto), sin decirnos, por ejemplo, que has elegido velocidad de texto media, lenta, etc.

ambro86


Lo del menú de opciones no es un problema del script en italiano, pasa en todas las versiones. Estoy trabajando en solucionarlo. Lo de los menús de batalla sí que no debería pasar. En cuanto pueda lo reviso.
Re: Pokemon Access
JamesPotter, mar nov 17 2020, 05:19P. M.



Lo del menú de opciones no es un problema del script en italiano, pasa en todas las versiones. Estoy trabajando en solucionarlo. Lo de los menús de batalla sí que no debería pasar. En cuanto pueda lo reviso.

nuive


no, @nuive. ba, almenos eso en la verción debug original de game freak en inglés no pasa. no e provado con una rom en inglés ya lanzada.
Re: Pokemon Access
vrivri, jue nov 19 2020, 01:09P. M.

Hola @nuive
Me gustaria hacer la traducción pa poder jugar con la rom en portugués. Creo que voy a traducir los archivos dichos antes, y despues te los mando. Quiero que la gente aqui de Brasil lo pueda jugar tambien, xd. Saludos!
Re: Pokemon Access
nuive, jue nov 19 2020, 04:00P. M.


Hola @nuive
Me gustaria hacer la traducción pa poder jugar con la rom en portugués. Creo que voy a traducir los archivos dichos antes, y despues te los mando. Quiero que la gente aqui de Brasil lo pueda jugar tambien, xd. Saludos!

vrivri


¿Existe el Pokémon Amarillo en portugués? No tenía ni idea...
Re: Pokemon Access
vrivri, jue nov 19 2020, 05:24P. M.

Si señor @nuive pero ese es llamado como en inglés, Pokemon Yellow. Incluso acabo de fijarme que el nombre de algunos personages, creo que de algunas cildades tambien esta en portugués. Por eso ai que editar el archivo maps tambien, xd. Pero bueno, la cuestión es, como puedo traducir eso si no sé los nombres en portugués? Lol. Por cierto, ya terminé de editar el archivo strings. Te voy a mandar quando termine todo.
Re: Pokemon Access
sanslash332, vie nov 20 2020, 09:58A. M.

hola @nuive
bueno, vamos comnentando novedades jaja

Lo primero, gracias por el último update, voy a chequearlo. En la versión que yo tengo (como dos más atrás) todavía está el error de los objetos. voy a revisarlo si se reparó completamente ahora; pero según como te comentó @Germán Schlude parece que a él le sigue ocurriendo.

Ahora. Por errores replicables, a mi se me crashea (y no aleatoriamente) si presionas la p para buscar camino, justo unos segundos después de guardar la partida. Si no esperas uno o 2 segundos y presionas la p justo después de que sonó el ruido de guardado, el script requiere reinicio. Aleatoriamente también pasa si presionas la p justo cuando un combate recién terminó.

Más duditas el VBA-m no tiene soporte para cable-link con la gameboy?

Porque mira este issue
enlace

Metamos presión, a ver si terminan añadiéndolo que sería muy interesante :3


Ahora, ¡qué buena idea!

Usar el pokemon stadium para poder luchar online! no se me había ocurrido xddddd

A y nomás añadir, que como dijeron por acá, en la versión en inglés del pokemon yellow (incluso la release, que es la que pusiste tú en el primer post) los menú de opciones funcionan a la perfección al darle izquierda o derecha. El script lee bien la nueva opción sin necesidad de poner la t; algo deben de haber cambiado en términos de memoria en la versión en español que eso no pasa.

Eso!

Como siempre gracias por este grandioso trabajo maestro!

¡saludos!
Re: Pokemon Access
nuive, lun nov 23 2020, 03:52P. M.


hola @nuive
bueno, vamos comnentando novedades jaja

Lo primero, gracias por el último update, voy a chequearlo. En la versión que yo tengo (como dos más atrás) todavía está el error de los objetos. voy a revisarlo si se reparó completamente ahora; pero según como te comentó @Germán Schlude parece que a él le sigue ocurriendo.

Ahora. Por errores replicables, a mi se me crashea (y no aleatoriamente) si presionas la p para buscar camino, justo unos segundos después de guardar la partida. Si no esperas uno o 2 segundos y presionas la p justo después de que sonó el ruido de guardado, el script requiere reinicio. Aleatoriamente también pasa si presionas la p justo cuando un combate recién terminó.

Más duditas el VBA-m no tiene soporte para cable-link con la gameboy?

Porque mira este issue
enlace

Metamos presión, a ver si terminan añadiéndolo que sería muy interesante :3


Ahora, ¡qué buena idea!

Usar el pokemon stadium para poder luchar online! no se me había ocurrido xddddd

A y nomás añadir, que como dijeron por acá, en la versión en inglés del pokemon yellow (incluso la release, que es la que pusiste tú en el primer post) los menú de opciones funcionan a la perfección al darle izquierda o derecha. El script lee bien la nueva opción sin necesidad de poner la t; algo deben de haber cambiado en términos de memoria en la versión en español que eso no pasa.

Eso!

Como siempre gracias por este grandioso trabajo maestro!

¡saludos!

sanslash332


Sí, lo del menú de opciones es una cosa bastante curiosa. No es cuestión de direcciones de memoria, es cuestión de la distribución en pnatalla. En inglés es una línea, el nombre de la opción y la opción en sí, por ejemplo:
Text Speed:Medium
En español no es así, es de la siguiente manera:
Velocidad del texto
:media

Y POr este motivo pasa eso.

De todos modos, vengo con algunas novedades. Esto del menú de opciones hace días que lo tengo arreglado.
Lo que se comentaba de la selección de Pokémon al utilizar objetos, hasta donde yo puedo probar funciona bien en las últimas versiones, aseguraos de descargar la más reciente.

Al margen de esto, estuve arreglando otros pequeños fallitos irrelevantes, enfocados en mejorar la jugabilidad. Me pondré ahora a ver si puedo mejorar un poco lo de los cuelgues del buscarrutas, que son debidos a que el juego se pone a buscar rutas cuando tiene algún texto abierto por encima o alguna cosa así, y se vuelve loco de todo. A ver si consigo que detecte mejor cuando está en un mapa y cuando no...

Por lo demás, en unos días debería venirse la primera actualización grande, lo que podríamos llamar la versión 2.0. Se vienen bastantes mejoras y sobre todo... añadidos!
Re: Pokemon Access
nuive, mar nov 24 2020, 10:11P. M.

¡Hola!

Como dije en mi post anterior, aquí la tenéis! Pokémon Access versión 2.0!

Y podríamos decir por fin, que esta es la primera versión universal de Pokémon Access!

Así es, porque la novedad más grande de esta actualización es... ¡la compatibilidad con Pokémon Cristal!

Efectivamente, tras muchos errores y peleas con el código, pude refundir todo lo existente en un único script. Ahora bien, una serie de aclaraciones:
-La compatibilidad se supone al 100%. Y digo se supone, porque como es lógico, ni me volví a pasar el Pokémon Amarillo, ni me pasé el Pokémon Cristal (este último me lo pasé dos veces en el último año, la versión original y el Crystal Clear, así que como que muchas ganas no tengo...). Por este motivo y aunque hice todas las pruebas que se me ocurrieron, es posible que existan fallos que antes no había.

Ahora bien, aclaro un poco más lo que trae esta actualización además de los añadidos.

A nivel general, creo que lo más reseñable de la actualización es el rediseño por completo del procesador de textos. Ahora la lectura de los textos del juego se realiza mucho más fluida que antes, sin parones extraños en mitad de las frases ni cosas raras de esas. Ahora bien, es posible que algo que antes se leyera ahora no se lea. En muchos casos esto es información secundaria que se puede consultar con la letra T, como por ejemplo los datos del jugador a la hora de guardar la partida, al darle a continuar o cosas así. Es una decisión que tomé teniendo en cuenta la comodidad a la hora de jugar. Mejor priorizar los textos importantes, digo yo...
Aún así, hay cosas que con este nuevo cambio dejaron de leerse y tuve que arreglar, tales como las localizaciones de vuelo en Pokémon Cristal, por ejemplo. Por este motivo agradecería me comentéis cualquier cosa extraña que veais que no se lee.

Con respecto a Pokémon Amarillo, arreglé definitivamente el uso de objetos en los Pokémon, que ya había arreglado en la última actualización pero se subió mal.
Así mismo, los menús de opciones en idiomas que no sean el inglés ya son completamente accesibles.

En cuanto a Pokémon Cristal, partí del script original de Tyler Spivey, y le realicé las siguientes modificaciones:
-Traducción de los archivos de idioma para la versión en español.
-Adaptación del sistema de traducción de comandos empleado en Pokémon Amarillo.
-Cambio del manejo de menús por el utilizado en Pokémon Amarillo (resulta más eficiente).
-Rediseño del buscarrutas. Este es un punto importante. El original tenía un pequeño error que hacía que el script se colapsara en determinados puntos de la aventura. También estaba incompleto, lo que provocaba que no se pudiera ascender la Torre Hojalata (Tin Tower) para capturar a Ho-Oh. esto solo se podía lograr por medio de ensayo error y sin buscarrutas. Ahora está solucionado.
-Los puzles de las ruinas alfa. Como sabrá quien haya jugado Pokémon Cristal, en estas ruinas hay unos puzles que hay que completar para que se abran unas puertas que permiten la captura de los diferentes tipos de Unown (por ahora el script no diferencia entre Unown). Estos puzles consisten en ir moviendo piezas para formar una imagen que, cuando se forma de manera correcta provocan la apertura de estas puertas. En la versión actual, dichos puzles tienen su propia forma accesible de resolverse, bastante intuitiva.

Por lo demás, algunas funciones del script original de Cristal se modificaron para funcionar como en el de Pokémon Amarillo, pero sobre todo a nivel código, nada relevante con respecto a la ejecución.

Sin más que decir, en el primer post tenéis la actualización ya disponible para descarga.

¡Espero que sea útil!
Re: Pokemon Access
josesanabria2025, mié nov 25 2020, 03:15A. M.

Hola @nuive

estuve jugando al Pokémon Cristal y hay un problema

después de un rato el script se detiene o al hablar con un personaje el texto deja de leerse pero los pasos se siguen escuchando

por cierto, tengo la versión latina de Pokémon Amarillo y Cristal y me Gustaría que las veas.
Re: Pokemon Access
randal, mié nov 25 2020, 12:55P. M.

mola, puzles! como siempre excelente trabajo, @nuive. ¡A probar!
Re: Pokemon Access
nuive, mié nov 25 2020, 03:15P. M.


Hola @nuive

estuve jugando al Pokémon Cristal y hay un problema

después de un rato el script se detiene o al hablar con un personaje el texto deja de leerse pero los pasos se siguen escuchando

por cierto, tengo la versión latina de Pokémon Amarillo y Cristal y me Gustaría que las veas.

josesanabria2025


Necesitaría más datos para intentar solucionar el problema, tales como si los cuelgues son aleatorios, pasan al realizar x evento...

Edito: Actualizado el primer post con nuevos links. Se solucionan unos pequeños bugs reportados en audiogames que provocaban que todo el script dejara de funcionar.
Re: Pokemon Access
ambro86, mié nov 25 2020, 04:07P. M.

Hola @Nuive, te envié un correo electrónico sobre la nueva versión de los scripts que hace que el programa se cuelgue e incluso se cierre Vba, cuando salgo de la ciudad y voy a la ruta 6. Avísame si se puede solucionar. Gracias.
Ambro
Re: Pokemon Access
nuive, mié nov 25 2020, 11:15P. M.


Hola @Nuive, te envié un correo electrónico sobre la nueva versión de los scripts que hace que el programa se cuelgue e incluso se cierre Vba, cuando salgo de la ciudad y voy a la ruta 6. Avísame si se puede solucionar. Gracias.
Ambro

ambro86


Solucionado. Acabo de subir una nueva actualización al primer post, lo que nos deja en la versión 2.1. Lo más reseñable es la resolución de todos los bugs encontrados hasta el momento y la ampliación de compatibilidad para Pokémon Oro y Plata.

Ya queda menos para meternos en la GBA!
Re: Pokemon Access
Dekyo 音源, jue nov 26 2020, 12:44A. M.

¡PERFECTO! Hola gente, cuánto tiempo xD. No había estado acá desde meses. Quería agradecer a @nuive por el bestial trabajo que hizo de adaptar el script para hacer accesible el Pokémon Amarillo (¡por fin podré hacer todos los glitches que siempre quise! tongue ) y unirlo con el script de Tyler (estoy consciente de que hiciste modificaciones -- lo he estado probando y anda bien, por ahora no encontré errores).
Lo que estoy tratando de hacer es resolver los puzzles de los Unown con el nuevo método que implementaste, aún no los he podido armar, pero seguiré intentando. Y con esto se confirma que las piezas de los puzzles cambian aleatoriamente cada vez que accedo a ellos.

Eso es todo por ahora, como dije anteriormente, muchísimas gracias por todo el trabajo. Ahora a completar Yellow, ¡y después a romperlo como Dios manda (haciendo glitches)! Jajajajajaja.
Re: Pokemon Access
kirishima, jue nov 26 2020, 06:31A. M.

Que lindo es levantarte a las 6 am y encontrarte con esto.
Nada que añadir, la verdad que muy top tu trabajo @nuive. Tyler buscála al ángulo.
Che, no sería mejor antes de pasar a la GBA mejorar la compatibilidad con siertos hacks como el twitch play's pokemon crystal, el C clear o el prism? digo, en los 2 primeros solo habría que cambiar los nombres de los items, y en prism bueno... creo que la cosa se complica más xd.
Un saludo.
Re: Pokemon Access
Germán Schlude, jue nov 26 2020, 08:17A. M.

hola @nuive que gran noticia! los estuve probando, y hasta ahora no he encontrado ningún problema relacionado con la actualización. solo quería comentarte una cosa curiosa. en ciudad celeste, no aparecen entre los objetos del pat finder los pasajes a la ruta 25 desde la ciudad celeste, y el pasaje alternativo a la ruta 5 que es el que te permite ir a la guardería y capturar en esa misma ruta. te quería preguntar si hay una forma de agregarlos. de paso el pasaje desde la ruta 25 a ciudad celeste tampoco aparece.
escuché que la casa para conseguir destello tampoco aparece, pero no estoy tan seguro de eso.
sabes? la forma de jugar pokemon amarillo de @sanslash332 me hizo dar una duda. que tan factible sería que al pelear contra un entrenador en su nombre aparezca como derrotado o interactuado? puede que sea mas esfuerzo que recompensa, pero creo que sería algo muy útil.
reitero que si quieres la versión debug de pokemon amarillo y la de azul, solo dime y la paso por acá. pueden ser buenas para testear lugares lejanos sin necesidad de un sabe
sin mas que decir, gracias por el gran trabajo, y espero que este tipo de scripts de accesibilidad se hagan cada vez mas comunes.
Re: Pokemon Access
Germán Schlude, jue nov 26 2020, 08:19A. M.

@kirishima sabes la cantidad de hackrooms que hay? le tomaría toda la vida hacer accesibles tantos juegos XD
Re: Pokemon Access
kirishima, jue nov 26 2020, 08:24A. M.

@ Germán Schlude hablando exclusivamente del crystal y que no lo sean ya 3, el resto es malo tirando a safable o es accesible porque no cambia el mapa. A demás estos 3 hacks son perfectamente jugables, el tema sería renombrar los items del patfinder para una mejor experiencia xd.
Re: Pokemon Access
ambro86, jue nov 26 2020, 11:10A. M.

Hola @nuive, te envío la traducción al italiano de Pokemon Cristallo. Encuentras un zip en el que está la carpeta de mensajes, porque agregué frases que no estaban allí antes. En la carpeta de cristal encuentras la carpeta que es la traducción del juego.
También te envío la rom italiana de Pokémon Crystal.
Gracias por todo.

Rom Pokemon Crystal
enlace
Traduccion Pokemon Crystal
enlace
Re: Pokemon Access
sanslash332, jue nov 26 2020, 01:42P. M.

en serio @nuive eres un maestro.

No he provado la nueva versión aún, voy a volver a descargarla, porque OMFG suena hermoso.

Viendo que los cambios ya son tantos, por si a caso para que la gente no se tupe, voy a reconstruir el paquete que tenemos en tiflojuegos, con la versión 2.1 del script y los roms de español e inglés.

Y bueno, si ya todos confirman que está funcionando súper bien con el pokemon cristal, como que tendríamos que actualizar también esa entrada, armando un paquetito con la rom en español y esta última versión del script.

En fin, grande crack.

Ahí actualizaré todas esas cositas, para tener la copia local aquí en tiflojuegos. smile

graaande maestro!

Bueno, ahora solo falta la compativilidad con rojo y azul, y creo que ya tendrías listo todos los juegos de gameboy. en serio ¡qué gnenial!

... quien habría pensado esto hace unos 10 años atrás. poder jugar a los pokemon de manera accesible *.*

Bueno, eso. descargaaando!
Re: Pokemon Access
Germán Schlude, jue nov 26 2020, 02:09P. M.

bueno, luego de que @sanslash332 y @alisson me convencieron, aquí tienen las versiones debug de pokemon amarillo, azul, y otras cositas curiosas.
pack_nopass.zip - Anonymous Files
enlace
Re: Pokemon Access
josesanabria2025, jue nov 26 2020, 04:55P. M.

Hola, aquí les dejo una modificación de los juegos de Pokémon para Game Boy y Game boy Color hechas por Cristóbal Toledo en español latino para todo aquel que le interese.
Las traducciones incluyen:
-Nombres de ataques y personajes fieles al doblaje mexicano
-Neutralización de los diálogos
-Jerga mexicana del Equipo Rocket en Pokémon Amarillo
-Desbloqueo de eventos exclusivos (como el de Celebi en Pokémon Cristal)
-Corrección de errores de traducción de las versiones originales y eliminación de la censura

Pokémon Rojo:

enlace

Pokémon Verde:

enlace

Pokémon Azul:

enlace

Pokémon Amarillo:

enlace

Pokémon Cristal:

enlace
Re: Pokemon Access
JamesPotter, jue nov 26 2020, 06:57P. M.

che, como se cambia la historia? alguien tiene modificadores de room para amarillo? sería bueno ponerle una historia tonta xDxD
Re: Pokemon Access
nuive, jue nov 26 2020, 10:11P. M.

¡Hola!

Nueva actualización en el primer post, pasamos a la versión 2.2, y aclaro que me temo que será la última en bastante tiempo.
Las novedades principales se pueden ver junto a los links. Actualmente el script es compatible con lo siguiente:
-Pokémon Rojo, Azul, Amarillo y Cristal. Versiones en inglés, español e italiano
-Pokémon Oro y Plata. Versiones en inglés y español.

Ahora bien, el objetivo principal que me propuse en un primer momento está completo. Los juegos de la GameBoy y GameBoy Color son compatibles.
A partir de ahora seguiré trayendo actualizaciones menores, que no contarán con cambio de versión. Estas se referirán a cosas tales como los bugs que se vayan reportando tanto por aquí como por audiogames, bugs que encuentre yo, actualizaciones y correcciones que tengo pendientes en las traducciones, nuevas traducciones... este tipo de cosas. Por ejemplo, ahora mismo estoy trabajando en añadir las traducciones de Oro y Plata al italiano.

En general serán cambios tan pequeños que ni merecerán un cambio de versión. Seguramente pasaríamos a una 2.3 si se detectara algún fallo realmente relevante, se corrigieran un número elevado de pequeños fallos... cosas así.

Y ahora, lo que sin duda todo el mundo quiere saber. ¿Qué significará la versión 3.0?

Bien, con la primera versión comenzamos con Pokémon Amarillo. La 2.0 la innauguró la vuelta de Pokémon Cristal... la 3.0... no, no creo que venga con Pokémon Esmeralda. Seguramente en el momento en el que esté lista sea con Pokémon Rojo Fuego o Verde Hoja.

Sí, ya sé que a estas alturas todos estamos deseando nueva historia y regiones, y que estaremos de la región de Kanto un poquito hasta las narices. Sin embargo, la GameBoy Advance tiene cambios importantes en el funcionamiento, y el código de estos juegos se desarrolla de una forma totalmente distinta a los que maneja el script. Por lo que estuve comprobando, la información que hay de código sobre Rojo Fuego y Esmeralda (por poner dos ejemplos) es prácticamente la misma. Por otra parte, encontré muchos más datos sobre la memoria referentes a Rojo Fuego. Y si partimos de que gran parte de las ubicaciones y eventos se repiten de Pokémon Rojo, Azul o Amarillo, que ya son accesibles...
Cuanta más información y una base más sólida tengamos en terreno desconocido... mejor.

¡Pero por ahora con calma, que ya hay aquí juegos para rato, y Pokédex para completar!

¡Nos seguimos leyendo!
Re: Pokemon Access
nuive, jue nov 26 2020, 10:25P. M.


hola @nuive que gran noticia! los estuve probando, y hasta ahora no he encontrado ningún problema relacionado con la actualización. solo quería comentarte una cosa curiosa. en ciudad celeste, no aparecen entre los objetos del pat finder los pasajes a la ruta 25 desde la ciudad celeste, y el pasaje alternativo a la ruta 5 que es el que te permite ir a la guardería y capturar en esa misma ruta. te quería preguntar si hay una forma de agregarlos. de paso el pasaje desde la ruta 25 a ciudad celeste tampoco aparece.
escuché que la casa para conseguir destello tampoco aparece, pero no estoy tan seguro de eso.
sabes? la forma de jugar pokemon amarillo de @sanslash332 me hizo dar una duda. que tan factible sería que al pelear contra un entrenador en su nombre aparezca como derrotado o interactuado? puede que sea mas esfuerzo que recompensa, pero creo que sería algo muy útil.
reitero que si quieres la versión debug de pokemon amarillo y la de azul, solo dime y la paso por acá. pueden ser buenas para testear lugares lejanos sin necesidad de un sabe
sin mas que decir, gracias por el gran trabajo, y espero que este tipo de scripts de accesibilidad se hagan cada vez mas comunes.

Germán Schlude


Gracias por las versiones debug. Quizás les eche algún vistazo, pero la verdad como tenía la partida de Pokémon Amarillo ya terminada pues... no me hacían mucha falta. En cuanto a Pokémon Azul, tengo una partida que empecé y acabé hace tropecientos años con ayuda de mi hermano. La verdad que es una pasada poder explorar ahora esa partida de forma accesible! Y lo mismo me pasa con Pokémon Oro...
En cuanto a lo que comentas de las rutas.
A ver, por partes:
-De ciudad Celeste a la ruta 25 no hay camino posible, por eso no figura en la lista. A la ruta 25 se va atravesando la ruta 24.
Lo de los pasajes alternativos ya lo sé, es bastante problemático. Por ahora no encontré forma de arreglarlo. El único dato que puedo dar de forma orientativa es que el punto que indica el pathfinder para ir a las rutas funciona de la siguiente manera: en rutas al norte y sur, indica la posición más a la izquierda de la ciudad desde la que se puede salir, y en rutas a este y oeste, la posición de más arriba desde la que se puede ir. Teniendo esto en cuenta, se puede tomar esta referencia y tantear caminos alternativos. Por ejemplo, en la ruta 24, si se tiene surf y se utiliza el pathfinder para volver a ciudad Celeste con la opción de uso de MOs activada, nos indicará un camino alternativo que es el que nos conducirá a la Cueva Celeste.

En cuanto a la casa de destello, sí, algo leí en audiogames, pero te aseguro que esto no es así, ya que yo conseguí esta MO durante la aventura, aunque no la utilicé para nada...
Lo de los entrenadores no sé hasta que punto sería viable, pero no es algo que me plantee, la verdad. La idea de esto es que los scripts hagan la experiencia de juego lo más accesible posible, no que faciliten las cosas. Cualquier persona que juegue a estos juegos no tiene forma de saber con que entrenadores luchó hasta que se acerca a ellos.
Precisamente por este motivo me estoy planteando poner restricciones al pathfinder en las zonas que haya que utilizar Destello si este no se utiliza...
Re: Pokemon Access
Germán Schlude, vie nov 27 2020, 11:21A. M.

@nuive me alegra que hayas llegado a la meta de tener todos los juegos de la gameboy y la gameboy color funcionando bien, felicidades y gracias. solo quería notificarte un error menor que sandl encontró, y es que el mapa pueblo no se lee. también encontré que nada en la pokedex se lee, ni siquiera cuando capturas a los pokemon, pero imagino que eso último es algo que ya tenías contemplado. de resto, todo parece estar bien. espero saber pronto de rojo fuego y verde hoja, ya que son juegos que agregan mucho a los originales. gracias por tu esfuerzo, y puede que algún día podamos hacer combates con cable link. yo ganaré! saludos
Re: Pokemon Access
ambro86, vie nov 27 2020, 11:42A. M.

Hola @nuive, en primer lugar muchas gracias, ¡eres un maestro! Me alegro de poder jugar tantas versiones de Pokémon. Acabo de probar la versión Cristallo en italiano. Todo funciona bien, pero el guión no reconoce los caracteres acentuados, como à ù ò è ì. ¡El resto está todo bien!
Yo también había comenzado a traducir Pokémon Gold, pero leí que estás trabajando en ello. Déjame saber si puedo ayudarte de alguna manera, por ejemplo, compartiendo mi traducción de Pokémon Gold.
Re: Pokemon Access
chiptune-fm, vie nov 27 2020, 12:50P. M.

Bueno... Nada, me he quedado con la boca abierta de par en par, como siempre, a cada prueba y novedades de las que me voy enterando...
Todo INCREÍble con mayúsculas, y desde luego, acá en mi ordenata, con al menos estas 6 ediciones de Poke. Tal vez podría probar Verde, a er qué tal, pero yo tenía entendido que solo salió en Japón, entonces no estaba en español...
Sin embargo di con un detalle, no sé si se te va de control. En ese caso es re entendible. Me puse a probar una por una las roms, sin jugar aún exactamente, si no probando la lectura del propio Script. Todo excelente, aunque cuando voy a hacer un cambio por ejemplo de Poke Red y Blue que se pueden leer muy bien, a Oro o Cristal, hay que darle Restart al Script, para que no lea extraño. Un errorcito que puede que logres arreglar, o no. Para mí no es importante ya que es cuestión de darle Restart, y ahí está.
Otra cosa, Pokemon Blue y Red me leen las opciones algo raras, no sé si aún no existía la velocidad de texto y recién se introdujo en amarillo porque igual no sale.
De hecho ya pasé el archivo .sab que tenía por continuar de Poke Cristal a ver cómo anda ahora...
Una cosa que se me ocurre para unificar todo, y cuando digo todo es todo, incluídos scrips y roms en ambos idiomas todo junto... No sé, podría ser algo así como un auto rum por línea de comandos en que el usuario pulse, por ejemplo, 1 si quiere jugar en español, 2 si quiere jugar en inglés, 3 si quiere jugar en italiano, y al tipearse la opción correspondiente se cargaría la respectiva rom y el scrip automáticamente... No sé, se me ocurre ya que supongo que el menú de flechas arriba y abajo supongo que será medio compli...
La cosa es que ya tengo acá las 6 roms en español, todo junto son solo alrededor de 12 MB descomprimido,.
Excelente trabajo, obra maestra!
Meta principal cumplida, ahora bien: ¿Cómo sería la cosa con los hacks? Para los coleccionistas frikis que vayamos a querer probar, ya sabes
Re: Pokemon Access
kirishima, vie nov 27 2020, 02:37P. M.

Anduve probando anoche y comentar que se rompió la compatibilidad que tenía el script de Tyler con los hacks de crystal como prism o c clear, por poner un ejemplo. En teoría debería de seguir funcionando con cosas que no alteren el mapa como perfect crystal y similares.
Más arriba alguien comentó lo de hacer batallas por cable link, la verdad que estaría bueno probar, incluso en otro emulador si este no lo soporta.
Re: Pokemon Access
sanslash332, vie nov 27 2020, 02:46P. M.

holi @nuive
Primero que todo felicitaciones, eres el que inaguró (y probablemente esté en esto solo un buen rato) el subforo de lanzamientos jaja.

ya este thread juntó más de 6 páginas, ha generado la mayor actividad del foro en estos últimos meses, así que es absolutamente digno de ser quien inagure el subforo de nuevos lanzamientos. Así que aquí está :3

Bueno. actualicé las descargas de pokemon amarillo y pokemon cristal en tfj redirigiéndolas a un paquetito con los roms, el emulador y el script versión 2.1. Viendo que ahora está la 2.2, tendré q que actualizar nuevamente, pero bueno. smile


Está el tema que reportó @germanico de que en amarillo al menos, se rompió la compativilidad que antes existía con el townmap. No he podido revisar hasta ahora si otra cosa se rompió wink pero genial. muy genial :3

A,si sacas más updates, comienza a usar el numerito de patch de la semántica; tipo 2.2.1 y así si lo que se van corrigiendo son pequeños bugs. una 2.3 o así apareserían si se hacen arreglines para uno que otro hack conocido. Que tal como te reportaron, parece que se rompió la compativilidad con algunos.

En fin. maestro, y bienvenido al subforo de lanzamientos. Buena inauguración :3

pd: noooooo! flash al pathfinder nooooooooo. deja al menos esa ventajita de no tener que gastar un slot en esa shititiritit.

Saludos smile
Re: Pokemon Access
nuive, vie nov 27 2020, 03:12P. M.


Me puse a probar una por una las roms, sin jugar aún exactamente, si no probando la lectura del propio Script. Todo excelente, aunque cuando voy a hacer un cambio por ejemplo de Poke Red y Blue que se pueden leer muy bien, a Oro o Cristal, hay que darle Restart al Script, para que no lea extraño. Un errorcito que puede que logres arreglar, o no. Para mí no es importante ya que es cuestión de darle Restart, y ahí está.
Otra cosa, Pokemon Blue y Red me leen las opciones algo raras, no sé si aún no existía la velocidad de texto y recién se introdujo en amarillo porque igual no sale.
De hecho ya pasé el archivo .sab que tenía por continuar de Poke Cristal a ver cómo anda ahora...
Una cosa que se me ocurre para unificar todo, y cuando digo todo es todo, incluídos scrips y roms en ambos idiomas todo junto... No sé, podría ser algo así como un auto rum por línea de comandos en que el usuario pulse, por ejemplo, 1 si quiere jugar en español, 2 si quiere jugar en inglés, 3 si quiere jugar en italiano, y al tipearse la opción correspondiente se cargaría la respectiva rom y el scrip automáticamente... No sé, se me ocurre ya que supongo que el menú de flechas arriba y abajo supongo que será medio compli...
La cosa es que ya tengo acá las 6 roms en español, todo junto son solo alrededor de 12 MB descomprimido,.
Excelente trabajo, obra maestra!
Meta principal cumplida, ahora bien: ¿Cómo sería la cosa con los hacks? Para los coleccionistas frikis que vayamos a querer probar, ya sabes

chiptune-fm


Hola! Lo del cambio de juego es inevitable. El script solo detecta que juego se está utilizando al arrancar. De todos modos un reset en cambio de juego no lo veo tan grave...
Lo del autorun, la verddad que también me parece complicar un poco las cosas. Sigo votando por que el script amplíe la experiencia, pero sin liar las cosas. Desde mi punto de vista es preferible que cada uno coja la edición que le apetezca y cargue el script, que ya hace él solito el resto...
Lo de los hacks lo sé. La versión original de Poke Crystal Access solo tiraba de la RAM del juego, y usaba direcciones de memoria ROM tan solo para un par de cosas como los pasitos al caminar y eso. Ahora eso cambia, porque preferí modificar ciertas funciones y hacerlas más dependientes de la memoria rom del juego. Esto aunque pueda parecer contradictorio, lo hice para que los scripts recopilen toda la información que sea posible directamente del juego, en lugar de tenerla codificada a lo loco en el interior de los mismos.
Si bien, esto rompe la compatibilidad con hacks como crystal clear o prism, ya que las direcciones rom cambian.

En cuanto a esto, no sé muy bien qué decir. La verdad que por ahora no tengo mucha intención de ponerme a hacer accesibles hacks, mi idea es centrarme en las ediciones oficiales, y seguir avanzando con generaciones más recientes. Eso sí, no descarto hacerlo en un futuro, si veo que los avances con sucesivas ediciones no progresan como a mí me gustaría... y si alguien se animara a adaptar dichas versiones... será bienvenido.


Hola @nuive, en primer lugar muchas gracias, ¡eres un maestro! Me alegro de poder jugar tantas versiones de Pokémon. Acabo de probar la versión Cristallo en italiano. Todo funciona bien, pero el guión no reconoce los caracteres acentuados, como à ù ò è ì. ¡El resto está todo bien!
Yo también había comenzado a traducir Pokémon Gold, pero leí que estás trabajando en ello. Déjame saber si puedo ayudarte de alguna manera, por ejemplo, compartiendo mi traducción de Pokémon Gold.

ambro86


Ups, lo de los acentos fue un despiste mío. Estará corregido en la siguiente versión de correcciones. En cuanto a Pokémon Oro y Plata, estoy utilizando la traducción que me enviaste de Pokémon Cristal, ya que solo hay que eliminar algunas ubicaciones y sprites, lo demás es todo igual. Si falta algo por traducir o lo que sea, tú coméntamelo y lo añadimos.


holi @nuive
Primero que todo felicitaciones, eres el que inaguró (y probablemente esté en esto solo un buen rato) el subforo de lanzamientos jaja.

ya este thread juntó más de 6 páginas, ha generado la mayor actividad del foro en estos últimos meses, así que es absolutamente digno de ser quien inagure el subforo de nuevos lanzamientos. Así que aquí está :3

Bueno. actualicé las descargas de pokemon amarillo y pokemon cristal en tfj redirigiéndolas a un paquetito con los roms, el emulador y el script versión 2.1. Viendo que ahora está la 2.2, tendré q que actualizar nuevamente, pero bueno. smile


Está el tema que reportó @germanico de que en amarillo al menos, se rompió la compativilidad que antes existía con el townmap. No he podido revisar hasta ahora si otra cosa se rompió wink pero genial. muy genial :3

A,si sacas más updates, comienza a usar el numerito de patch de la semántica; tipo 2.2.1 y así si lo que se van corrigiendo son pequeños bugs. una 2.3 o así apareserían si se hacen arreglines para uno que otro hack conocido. Que tal como te reportaron, parece que se rompió la compativilidad con algunos.

En fin. maestro, y bienvenido al subforo de lanzamientos. Buena inauguración :3

pd: noooooo! flash al pathfinder nooooooooo. deja al menos esa ventajita de no tener que gastar un slot en esa shititiritit.

Saludos smile

sanslash332


¡Genial! Me alegra ser el que innaugura esta nueva sección! Muchísimas gracias, de verdad. En cuanto a lo del mapa en Pokémon Amarillo... no lo pensé, pero supongo que es algo derivado del cambio en el procesador de textos que comentaba hace unos días. Lo revisaré de cara a las próximas actualizaciones.


¡Saludos a todos!
Re: Pokemon Access
nuive, sáb nov 28 2020, 12:00A. M.

Nueva actualización en el primer post, en la que corrijo lo siguiente:
-Pokémon Rojo: Arreglado un problema por el que solo funcionaba la versión en español.
-Pokémon Amarillo. Arreglado el famoso bug de los miles% en la vida del rival, que ocurría en la versión inglesa. Ya no sé cuantas veces arreglé este bug, estoy tonto...
-Pokémon Rojo, Azul y Amarillo: Ahora se puede leer de nuevo el Mapa Pueblo, así como los pokémon vistos y capturados al abrir la Pokédex.
-Pokémon Cristal: Arreglado un problema con los textos de la versión italiana.

¡Saludos!
Re: Pokemon Access
Germán Schlude, sáb nov 28 2020, 10:20A. M.

hola @nuive solo quería comentarte que las versiones debug de amarillo y azul ya no funcionan desde la versión 2.0. se que no son prioridad y que probablemente sería tan útil como hacer accesibles hackrrooms, pero me parece raro que el script no los tome como antes, pokemon azul y amarillo. de resto todo parece estar bien xd
Re: Pokemon Access
nuive, sáb nov 28 2020, 06:05P. M.

¡Hola! Venía a comentar un poco como sigue el desarrollo de todo esto, y me temo que no traigo muy buenas noticias.

Como comenté el otro día, y aunque a partir de ahora siga trayendo pequeñas actualizaciones y arreglos a la versión 2 del script, me metí de lleno con la Game Boy Advance y... bueno, la cosa no pinta muy bien para el desarrollo, la verdad.

Me voy a poner un poquito técnico con todo esto, así que a quien no le interese... se lo puede saltar. Esto es sobre todo, para quien le interese saber por qué a partir de ahora las cosas no serán tan fáciles.

Bien, como algunos ya sabréis, los scripts lua lo que hacen en este caso es meterse en la memoria del emulador, por decirlo de alguna forma, y trabajar con los valores que el juego va devolviendo según avanzamos. En palabras técnicas, estamos prácticamente todo el rato trabajando con la memoria RAM de la consola en cuestión.
Hay partes del script que también acceden a la ROM (lo que son los datos del juego en sí) para obtener cosas como que gráficos son para surfear, sobre cuales se puede caminar y cuales no... Esto en el script se usa, sobre todo, para el movimiento de la cámara y el buscarrutas.

El último tipo de procesos que realiza el script, por decirlo de alguna forma, son la monitorización en tiempo real de la ejecución. Para aclararnos, pongamos el ejemplo de los pasos que reproduce el script al caminar. Si nos limitáramos a leer las coordenadas del jugador de la RAM del juego (primer proceso) y en base a esas coordenadas obtener la posición del jugador en el mapa y acceder a la ROM para saber que tipo de suelo hay que reproducir (segundo proceso) estaríamos oyendo pasos todo el rato siempre que estemos en un mapa, al margen de que el jugador esté caminando o no. En esto consiste el tercer proceso. Monitoriza la ejecución del juego y reproduce un paso solo cuando detecta que el juego está ejecutando la función de caminar.

Ahora bien, lo referente a la Game Boy Advance: los dos primeros procesos los tengo bastante controlados, el problema es el tercero. Por algún motivo que desconozco el sistema de monitorización del motor lua, si bien funciona a la perfección con juegos de GameBoy y GameBoy Color, con la GameBoy Advance está totalmente roto, y hace un poco lo que le da la gana, y la mayoría del tiempo no tiene ni la más mínima idea de qué narices está haciendo el juego.

En base a lo que expliqué anteriormente os podéis plantear, bueno... si esto se utilizaba para los pasos... pues lo dejamos sin el sonido de los pasos, que es lo de menos.

La idea no es mala, y sí, en los juegos de GameBoy y GameBoy Color de Pokémon esta función solo se utilizaba para los pasos. Pero en la GameBoy Advance... hay que recurrir a esto también para el texto.

En GameBoy y GameBoy Color, por lo menos en lo que a Pokémon se refiere, el juego mantiene todo el rato una copia de la pantalla en la memoria RAM. Muy práctico, porque siempre que a nosotros (o al script) le interese podemos acceder a la memoria y tenemos a nuestra disposición esos identificadores que una vez pasan a la pantalla se convierten en letras, dibujos, bordes... y sabemos que siempre en la misma dirección de memoria nos vamos a encontrar eso. En resumen, solo con el primer proceso, tenemos acceso a un pantallazo del juego cuando nos apetezca.

La GameBoy Advance es otra historia. A pesar e disponer de mucha más RAM que la GameBoy, la complejidad de los juegos también aumentó enormemente, y por esto la memoria RAM es compartida por mil y una cosas distintas.
Por este motivo, en estos juegos la copia de la pantalla en RAM solo se encuentra disponible cuando el juego quiere dibujarla en la pantalla. Luego ya la borra.
Con lo cual, lo que tiene que hacer ahora el script lua es monitorizar la ejecución (tercer proceso) y cuando detecte que la pantalla va a cambiar hacerse él una copia de la pantalla para consultarla siempre que quiera (primer proceso).
Y aquí el problema. Como dije, la monitorización de ejecución por parte del motor lua no funciona como debería en GameBoy Advance.

Así que nada, yo sigo investigando. Ya me diréis si os interesa que suelte estas parrafadas por aquí o si a nadie le interesa...

¡Saludos!
Re: Pokemon Access
sanslash332, sáb nov 28 2020, 11:49P. M.


¡Hola! Venía a comentar un poco como sigue el desarrollo de todo esto, y me temo que no traigo muy buenas noticias.

Como comenté el otro día, y aunque a partir de ahora siga trayendo pequeñas actualizaciones y arreglos a la versión 2 del script, me metí de lleno con la Game Boy Advance y... bueno, la cosa no pinta muy bien para el desarrollo, la verdad.

Me voy a poner un poquito técnico con todo esto, así que a quien no le interese... se lo puede saltar. Esto es sobre todo, para quien le interese saber por qué a partir de ahora las cosas no serán tan fáciles.

Bien, como algunos ya sabréis, los scripts lua lo que hacen en este caso es meterse en la memoria del emulador, por decirlo de alguna forma, y trabajar con los valores que el juego va devolviendo según avanzamos. En palabras técnicas, estamos prácticamente todo el rato trabajando con la memoria RAM de la consola en cuestión.
Hay partes del script que también acceden a la ROM (lo que son los datos del juego en sí) para obtener cosas como que gráficos son para surfear, sobre cuales se puede caminar y cuales no... Esto en el script se usa, sobre todo, para el movimiento de la cámara y el buscarrutas.

El último tipo de procesos que realiza el script, por decirlo de alguna forma, son la monitorización en tiempo real de la ejecución. Para aclararnos, pongamos el ejemplo de los pasos que reproduce el script al caminar. Si nos limitáramos a leer las coordenadas del jugador de la RAM del juego (primer proceso) y en base a esas coordenadas obtener la posición del jugador en el mapa y acceder a la ROM para saber que tipo de suelo hay que reproducir (segundo proceso) estaríamos oyendo pasos todo el rato siempre que estemos en un mapa, al margen de que el jugador esté caminando o no. En esto consiste el tercer proceso. Monitoriza la ejecución del juego y reproduce un paso solo cuando detecta que el juego está ejecutando la función de caminar.

Ahora bien, lo referente a la Game Boy Advance: los dos primeros procesos los tengo bastante controlados, el problema es el tercero. Por algún motivo que desconozco el sistema de monitorización del motor lua, si bien funciona a la perfección con juegos de GameBoy y GameBoy Color, con la GameBoy Advance está totalmente roto, y hace un poco lo que le da la gana, y la mayoría del tiempo no tiene ni la más mínima idea de qué narices está haciendo el juego.

En base a lo que expliqué anteriormente os podéis plantear, bueno... si esto se utilizaba para los pasos... pues lo dejamos sin el sonido de los pasos, que es lo de menos.

La idea no es mala, y sí, en los juegos de GameBoy y GameBoy Color de Pokémon esta función solo se utilizaba para los pasos. Pero en la GameBoy Advance... hay que recurrir a esto también para el texto.

En GameBoy y GameBoy Color, por lo menos en lo que a Pokémon se refiere, el juego mantiene todo el rato una copia de la pantalla en la memoria RAM. Muy práctico, porque siempre que a nosotros (o al script) le interese podemos acceder a la memoria y tenemos a nuestra disposición esos identificadores que una vez pasan a la pantalla se convierten en letras, dibujos, bordes... y sabemos que siempre en la misma dirección de memoria nos vamos a encontrar eso. En resumen, solo con el primer proceso, tenemos acceso a un pantallazo del juego cuando nos apetezca.

La GameBoy Advance es otra historia. A pesar e disponer de mucha más RAM que la GameBoy, la complejidad de los juegos también aumentó enormemente, y por esto la memoria RAM es compartida por mil y una cosas distintas.
Por este motivo, en estos juegos la copia de la pantalla en RAM solo se encuentra disponible cuando el juego quiere dibujarla en la pantalla. Luego ya la borra.
Con lo cual, lo que tiene que hacer ahora el script lua es monitorizar la ejecución (tercer proceso) y cuando detecte que la pantalla va a cambiar hacerse él una copia de la pantalla para consultarla siempre que quiera (primer proceso).
Y aquí el problema. Como dije, la monitorización de ejecución por parte del motor lua no funciona como debería en GameBoy Advance.

Así que nada, yo sigo investigando. Ya me diréis si os interesa que suelte estas parrafadas por aquí o si a nadie le interesa...

¡Saludos!

nuive

Buenas @nuive Primero que todo, gracias por el update. voy a descargarlo para probarlo. Porfis ¿podrías renombrarlo como 2.2.1 o 2.2.2 algo así?

más que nada es para poder mantener la nomenclatura correcta y saber que estamos siempre una versión más arriba jaja.
Supongo que todos los cambios están siendo pusheados a cada rato hacia github ¿no?

Si es así ¿por qué se te rompe a cada rato lo del hp en el amarillo? lo corrijes, pero luego lo pasas a llevar nuevamente jajaja.

Bueno, ahora por todo el despliegue técnico, o, por favor. sigue haciéndolo. Yo soy computín y @Alisson también, así que creo que al menos a nosotros dos nos interesa, porque lo entiendo bastante bien smile

Ahora, tengo una duda. respecto al paso tres del monitoreo de la ejecución. ¿Qué es exactamente?

Vigilas el procesador de la GBA y ahí puedes vigilar qué set de instrucciones están llegando por cada clock del procesador? hmmmm

¿No podrías remplasar esto por simplemente polling a la ram?

Sé que es muy costoso, y que puede incluso laguear el juego, pero en el caso de la escritura en pantalla, aunque la ram se limpie, el texto sí o sí tendría que cargarlo el procesador en ram, luego renderizarlo y finalmente borrarlo.

No podrías detectarlo si estás haciendo un polling constante a la ram? y capturar si es que detectas algún cambio que se pueda identificar como texto y no residuos de otras cosas?

Y usar la misma técnica de los pasos; en vez de leer la instrucción caminar, simplemente estar haciendo un polling by frame a la posición actual del jugador en el mapa. Si detectas que dicha posición es reescrita, reproduces el ruido de pasos según la información del tile activo que tengas de antes.

Sé que es poco ineficiente, muy ineficiente porque frame a frame tienes que estar leyendo un montón de bites de la ram, en vez deesperar una instrucción puntual, pero eso podría darte una manera de salir jugando al menos.

Ahora bien... ¿no tiene ejecución de scripts el DSMume?

No puede reproducir GBA ese emulador?

Porque me acuerdo que lograste leer los textos del pokemon platino, usando un script en el DSMume. ¿cuál fue ahí la diferencia?

La DS vuelve a utilizar la técnica de la GBC? o en el DSMume puedes pollear los set de instrucciones del procesador sin tener problemas?

Vaya tema interesante. No soy tan bueno en arquitectura de computadores, pero el tema suena muy genial :3

Eso. si pillo más bugs los reporto en la versión actual (la llamaré 2.2.1) y si tienes más información o novedades, porfa sigue contándolo. que me encanta el tema.

¡saludos!
Re: Pokemon Access
alisson, dom nov 29 2020, 12:04A. M.

nada, solo passo para complementar lo que dijo sanslash332, que pues eso, no te preucupes en ser demasiado técnico. Yo tampoco soy mucho de arquitectura de computadores, pero vendrá bien oír las experiencias que vayas teniendo
Re: Pokemon Access
nuive, dom nov 29 2020, 01:14A. M.


Buenas @nuive Primero que todo, gracias por el update. voy a descargarlo para probarlo. Porfis ¿podrías renombrarlo como 2.2.1 o 2.2.2 algo así?

más que nada es para poder mantener la nomenclatura correcta y saber que estamos siempre una versión más arriba jaja.
Supongo que todos los cambios están siendo pusheados a cada rato hacia github ¿no?

Si es así ¿por qué se te rompe a cada rato lo del hp en el amarillo? lo corrijes, pero luego lo pasas a llevar nuevamente jajaja.

sanslash332
Vale, en cuanto pueda la cambio y actualizo a 2.2.1. Aprovecharé ya para incluír nuevos cambios. Ya tenemos versión francesa para la primera generación. En cuanto actualice ya numero como 2.2.1.
Sí, subo todo a GitHub. El problema con el bug de los PS fue que cuando lo detectamos ya estaba arrastrado al inglés, español e italiano, y no me di cuenta de corregirlo en los 3 a la vez. De hecho en la próxima actualización hay otro cambio de manera genérica en cuanto a esto, ya que había otro fallo con eso. Espero que ahora no dé más la lata. Una cosa tan tonta como eso y las que me lía...


Bueno, ahora por todo el despliegue técnico, o, por favor. sigue haciéndolo. Yo soy computín y @Alisson también, así que creo que al menos a nosotros dos nos interesa, porque lo entiendo bastante bien smile

Ahora, tengo una duda. respecto al paso tres del monitoreo de la ejecución. ¿Qué es exactamente?

Vigilas el procesador de la GBA y ahí puedes vigilar qué set de instrucciones están llegando por cada clock del procesador? hmmmm

¿No podrías remplasar esto por simplemente polling a la ram?

Sé que es muy costoso, y que puede incluso laguear el juego, pero en el caso de la escritura en pantalla, aunque la ram se limpie, el texto sí o sí tendría que cargarlo el procesador en ram, luego renderizarlo y finalmente borrarlo.

No podrías detectarlo si estás haciendo un polling constante a la ram? y capturar si es que detectas algún cambio que se pueda identificar como texto y no residuos de otras cosas?

Y usar la misma técnica de los pasos; en vez de leer la instrucción caminar, simplemente estar haciendo un polling by frame a la posición actual del jugador en el mapa. Si detectas que dicha posición es reescrita, reproduces el ruido de pasos según la información del tile activo que tengas de antes.

Sé que es poco ineficiente, muy ineficiente porque frame a frame tienes que estar leyendo un montón de bites de la ram, en vez deesperar una instrucción puntual, pero eso podría darte una manera de salir jugando al menos.

Ahora bien... ¿no tiene ejecución de scripts el DSMume?

No puede reproducir GBA ese emulador?

Porque me acuerdo que lograste leer los textos del pokemon platino, usando un script en el DSMume. ¿cuál fue ahí la diferencia?

La DS vuelve a utilizar la técnica de la GBC? o en el DSMume puedes pollear los set de instrucciones del procesador sin tener problemas?

Vaya tema interesante. No soy tan bueno en arquitectura de computadores, pero el tema suena muy genial :3

Eso. si pillo más bugs los reporto en la versión actual (la llamaré 2.2.1) y si tienes más información o novedades, porfa sigue contándolo. que me encanta el tema.

¡saludos!

sanslash332
No, lo de la DS... Fue una barbaridad que se me ocurrió hace años. Edité el código interno del emulador y le hice que reconociera las instrucciones para soltar a lo loco el texto del platino. Pero eso ni vale para varios juegos, ni para varios idiomas, ni para menús... es bastante chapuza.
El desmume si tiene scripts lua, pero no emula juegos GBA. Además de esto, utiliza una versión distinta de lua, con lo que este script no funcionaría allí...

Sí, el tercer proceso lo que hace es ir vigilando en que dirección de memoria está a cada paso el emulador, y cuando alcanza la dirección donde empieza la función que nos interesa, salta la función asociada al script. Por ejemplo, en el caso de los pasos y simplificando mucho la explicación, en cuanto detecta que se mueve el jugador y se incrementa el valor de una coordenada, salta.
El problema es que en la GBA, y no entiendo muy bien por qué, no monitoriza a cada paso, monitoriza cuando le da la gana. Por este motivo, la idea de monitorizar la ram a cada paso tampoco valdría, por el mismo motivo. No sé si es por la forma en la que está escrito el emulador o por qué, pero la cosa es que no lo hace.
Además, la RAM, como decía en el post anterior, cambia mucho en estos juegos. Tanto se puede usar una sección para copiar un gráfico como para guardar datos de un pokémon... bueno, no tan extremo pero las regiones de memoria no están predefinidas, con lo cual sería imposible filtrar algo ahí sin tener condiciones concretas de ejecución.
Re: Pokemon Access
ambro86, dom nov 29 2020, 04:54A. M.

Hola @nuive, es genial jugar Crystal Pokemon y finalmente poder hacer el rompecabezas de una manera accesible también. Tengo dos correcciones para la traducción italiana que le pido que inserte.
En la carpeta de mensajes, archivo it.lua, cambie esta cadena de la siguiente manera:

["unown_puzzle_tip"] = "Ordina i numeri. Non inserirli nella prima e nell'ultima riga, e neanche nella prima e nell'ultima casella di ogni riga. I numeri saranno dunque 4 per riga, partendo dalla seconda. Per ordinarli, selezionali con z, e poi premi z nel punto dove li vuoi posizionare.",

Luego, en la carpeta de cristal pokemon, carpeta it, archivo sprites.lua, cambie Albero di FFrutta in Albero Di Frutta.


Gracias.
Re: Pokemon Access
caspian, dom nov 29 2020, 01:16P. M.

pues me reafirmo en decir el buen trabajo que estás haciendo amigo, siempre mola recordar estos juegos de mi infancia, a ver si sigo con pokemon amarillo y logro pasar de una vez la misión del scope silf para poder ir a torre pokemon. Sigue así.
Re: Pokemon Access
Germán Schlude, dom nov 29 2020, 08:42P. M.

hola @nuive
te quería comentar un error que encontré mientras testeaba un poco pokemon rojo. sencillamente el menú de opciones no funciona bien. es la versión en español por si quieres fijarte. de todos modos es mejor amarillo, pero creí que sería bueno reportarlo.
me gustaría poder ayudarte con GBA, pero no se nada de eso. de todos modos escuchar toda la explicación técnica de como son tus dificultades con respecto a eso me parecen interesantes, así que si quieres postearlas acá, yo las leeré.
gracias por tu esfuerzo!
Re: Pokemon Access
nuive, dom nov 29 2020, 10:33P. M.


hola @nuive
te quería comentar un error que encontré mientras testeaba un poco pokemon rojo. sencillamente el menú de opciones no funciona bien. es la versión en español por si quieres fijarte. de todos modos es mejor amarillo, pero creí que sería bueno reportarlo.
me gustaría poder ayudarte con GBA, pero no se nada de eso. de todos modos escuchar toda la explicación técnica de como son tus dificultades con respecto a eso me parecen interesantes, así que si quieres postearlas acá, yo las leeré.
gracias por tu esfuerzo!

Germán Schlude


Soy consciente de este error, si bien no le hice mucho caso porque no me pareció complicado de entender este menú utilizando la letra T junto con las flechas... Cuando pueda le echaré un vistazo.

Estoy mirando otros posibles emuladores con soporte de lua, porque con este, en la GameBoy Advance parece que no se va a poder hacer nada...
Re: Pokemon Access
JamesPotter, lun nov 30 2020, 12:27P. M.

e chicos, el VBARR es código abierto? se podría decir a los de retroarch que lo inclullan y aí usar el on line de retroarch. sería bueníicimo cheesey
Re: Pokemon Access
Germán Schlude, mié dic 02 2020, 12:02P. M.

ya quiero ver la versión compatible con hackrooms. vas a hacer que puedas elegir de que juego quieres cargar el script? o que.
sea lo que sea, lo espero con ancias
Re: Pokemon Access
sanslash332, mié dic 02 2020, 11:06P. M.

hola @JamesPotter

el gran problema, es que el VBA-rr es una desviación del viejo VBA, que se perdió en el tiempo.

El VBA-rr no tiene desarrollo desde hace más de 15 años.

Su desviación actual y que sigue mejorándose, es el VBA-m, sin embargo en esta versión el soporte para scripts lua son por ahora solo planes.

Así que ... @nuive ¿qué posivilidades de emuladores estás viendo?

Qué has visto que soporte scripting para GBA?

Y bueno. es una lástima; supongo que el mismo código del jjuego ya debe de tener control más a alto nivel de la memoria, por eso mismo no utiliza las mismas direcciones en la ram para una misma acción repetida.

En ese caso de poder leerla, tendrías que comenzar a identificar patrones...

pero si ni si quiera el polling puede salir bien, pos... f

En fin.

Gracias por el trabajo @nuive y gracias por los updates
Re: Pokemon Access
ambro86, jue dic 03 2020, 03:38A. M.

Hola @Nuive, antes que nada te agradezco porque leí en el foro de audiojuegos que habrá la versión italiana para los pokémon de oro y plata. Busqué qué emuladores admiten Lua Scripts y encontré esto: hasta la tercera generación puede usar VBA. Para el cuarto y quinto lugar se usa DeSmuME_dev. Por cierto lo he probado y también es accesible.
Re: Pokemon Access
nuive, jue dic 03 2020, 02:33P. M.


Hola @Nuive, antes que nada te agradezco porque leí en el foro de audiojuegos que habrá la versión italiana para los pokémon de oro y plata. Busqué qué emuladores admiten Lua Scripts y encontré esto: hasta la tercera generación puede usar VBA. Para el cuarto y quinto lugar se usa DeSmuME_dev. Por cierto lo he probado y también es accesible.

ambro86
A ver. El VBA-RR es el único emulador actualmente con soporte de lua para GameBoy/Advance. El problema, como expliqué unos posts atrás, es que la ejecución en la GBA no la monitoriza de manera apropiada. La monitorización la hace, pero no con la precisión que requerirían los juegos de Pokémon. Por lo que pude comprobar, tiene un poco que ver con la velocidad de procesador que se emula. Por ejemplo, en GameBoy/color, con la frecuencia con la que se monitoriza el contador de programa basta para detectar cuando hay que acceder a la RAM. La GBA ejecuta instrucciones a una velocidad mucho mayor, porque su procesador es lógicamente más rápido. Y el problema es que como está programado el VBA (cualquier versión de este emulador) entre monitoreo y monitoreo de lua nos perdemos cosas imprescindibles para accesibilizar estos juegos.

No, por ahora no hay más emuladores con soporte para lua. Lo que estoy tratando de hacer es añadir soporte al MGBA, que es el mejor emulador en la actualidad. Pero primero tengo que familiarizarme con el código de este, así que por ahora no voy a poner fechas y seguiré trabajando en mejorar lo que tenemos hasta ahora. Controlo bastante de GB y GBC (en su momento programé un emulador para estas consolas desde 0) pero la verdad es que de GBA no tengo ni idea, estoy empezando ahora a raíz de esto.

En cuanto a la cuarta y quinta generación, eso lo dejamos aparcado por ahora. Sí, es cierto que el desmume soporta lua scripts, pero con una versión de lua diferente a la de VBA. Una versión incompatible con el conversor texto a voz que utiliza Pokémon Access, incompatible con la dll de audio que utiliza el Pokémon Access... en fin, que una vez lleguemos ahí habría que recompilarlo todo. Así que por lo de ahora, paso a paso...

En cuanto a la compatibilidad actual del script, espero poder subir en unos días una nueva actualización. Mi idea es que incluya el idioma francés en Rojo, Azul y Amarillo, así como el italiano en Oro y Plata. Además de esto, arreglaré algunos bugs que había (aún) al leer la vida del enemigo, y se completa más el pathfinder en Pokémon Oro, Plata y Cristal, que había algunas cosas que no se contemplaban y marcaba como rutas no permitidas.
Re: Pokemon Access
nuive, mar dic 08 2020, 10:40P. M.

¡Hola!

Después de casi 2 semanas sin nada nuevo, hoy traigo una nueva actualización al primer post, que nos deja en la versión 2.3.

Lo relevante de esta actualización incluye cambios menores como retoques al pathfinder de Oro, Plata y Cristal; una nueva función para leer la vida del rival en combate (que esperemos que valga de una vez por todas para solucionar los 1000 y un problemas que dio esta característica hasta ahora) y alguna que otra corrección de bugs de menor importancia.

Ahora bien, el cambio de versión a 2.3 se debe, principalmente, a que esta es la primera versión en incorporar soporte para HackRoms de los juegos ya soportados. Sé que dije que no sería mi prioridad, pero visto el panorama con las sucesivas consolas...

Ahora bien, en un futuro planeo hacer esta característica más intuitiva añadiendo soporte para indicarle al script de que juego base parte el hack en caso de que indique que no se soporta. Sin embargo, por ahora el soporte de hacks solo se puede añadir de forma manual, editando el archivo hacks.lua, en el que a modo de ejemplo se incluye la compatibilidad con el hack Pokémon Crystal Clear en su última versión, la 2.1.2. En el readme está explicado el proceso, pero a continuación añado la explicación traducida.

En relación con el archivo hacks.lua, ten en cuenta que...
{
-- estructura del juego base
["crystal"] = { -- carpeta del juego base
-- estructura del HackROM
[0x8447] = { -- checksum del HackRom (se puede obtener con VBA-RR (file/rom information)
game = "crystal-clear", -- carpeta del script del hack (puede ser la misma que la del juego base)
language = "en" -- carpeta del idioma del hack
}, -- fin de la estructura del hack
-- pega aquí la estructura anterior para añadir más hacks de pokémon cristal
}, -- final de estructura de juego base
-- copia la estructura anterior para añadir compatibilidad para hacks de otros juegos (Rojo, Amarillo, Oro...)
}


Para quien entienda algo de lenguajes de programación, esta estructura será de lo más básico. Para quien no, si tiene alguna duda, puede consultarla por aquí y le ayudaré en lo que pueda.

En cuanto a la compatibilidad de hacks, hay que tener en cuenta que no basta con añadir el juego en cuestión a la lista anterior. Seguramente habrá que crearle su propia carpeta de script basándola en el juego del que parte y modificando lo que sea necesario (se puede observar el ejemplo de Pokémon Crystal Clear).

Algunas notas adicionales:
Como este método utiliza verificación de checksums para reconocer que hack estamos jugando, en el momento en que se utilice una versión del hack distinta a la registrada dejará de funcionar hasta que se añada al archivo el checksum de la misma.
También hay que tener en cuenta que hacks como Pokémon Prism o Brown seguramente no se puedan añadir con este método, ya que los creadores modificaron su cabecera para que tengan ID propio, de modo que el script no tiene forma de reconocerlos como hacks de nada, los reconocerá como juegos independientes sin soporte. No sé si esto tendrá posible solución en un futuro o no...
En cuanto al soporte de los hacks dentro del script, a menos que un hack en concreto sea muy solicitado, no se añadirán al repositorio, si bien cualquiera que extienda el soporte para un hack puede compartir los recursos necesarios.
Re: Pokemon Access
chiptune-fm, jue dic 10 2020, 03:23P. M.

¡Waw, excelente lo de la compatibilidad con hacks!
Quiero aprovechar para reportarte una cosita menor. Si pulsamos la t para leer algún texto (donde a veces lo requiero al elegir a mi primer pokemon por ejemplo) se producen los parones en la lectura que justamente habías arreglado para la lectura automática. En lo demás, hasta ahora viene funcionando genial.
Re: Pokemon Access
nuive, jue dic 10 2020, 05:36P. M.


¡Waw, excelente lo de la compatibilidad con hacks!
Quiero aprovechar para reportarte una cosita menor. Si pulsamos la t para leer algún texto (donde a veces lo requiero al elegir a mi primer pokemon por ejemplo) se producen los parones en la lectura que justamente habías arreglado para la lectura automática. En lo demás, hasta ahora viene funcionando genial.

chiptune-fm


Eso es porque la letra T está pensada para leer la pantalla. Es decir, línea a línea de la pantalla, por eso los parones. La lectura continua solo está pensada para las situaciones de lectura automática.

Editado: Actualizado a la versión 2.4. El manejo de hacks cambia por completo, así que quien esté interesado le recomiendo que eche un vistazo al readme. En los próximos días actualizaré las instrucciones traducidas.
Re: Pokemon Access
metalalchemist, vie dic 11 2020, 04:52P. M.

En cuanto al soporte de los hacks dentro del script, a menos que un hack en concreto sea muy solicitado, no se añadirán al repositorio, si bien cualquiera que extienda el soporte para un hack puede compartir los recursos necesarios.
a que te refieres? que ocuparías?
me gusta leer las cosastécnicas, y me gustaría como aprender eso de la memoria y todo eso para tratar de accesibilisar juegos como me gustaría jugar ff6 de la super nintendo. e visto que el snesx9 maneja lua, pero no me e puesto a trastear mucho
Re: Pokemon Access
nuive, sáb dic 12 2020, 06:22P. M.


En cuanto al soporte de los hacks dentro del script, a menos que un hack en concreto sea muy solicitado, no se añadirán al repositorio, si bien cualquiera que extienda el soporte para un hack puede compartir los recursos necesarios.
a que te refieres? que ocuparías?
me gusta leer las cosastécnicas, y me gustaría como aprender eso de la memoria y todo eso para tratar de accesibilisar juegos como me gustaría jugar ff6 de la super nintendo. e visto que el snesx9 maneja lua, pero no me e puesto a trastear mucho

metalalchemist


Me refiero a que si alguien quiere crear más plantillas de juegos para añadir a la carpeta game, como lo que hice con la carpeta crystal-clear a modo de ejemplo y compartirlas por aquí, me parece genial, pero que en un principio en el repositorio y las compilaciones oficiales del script solo introduciré los juegos oficiales y el crystal-clear a modo de ejemplo para añadir hacks.
Re: Pokemon Access
Germán Schlude, lun dic 14 2020, 02:30P. M.

@nuive tengo que felicitarte. a medida que continúo jugando y el script se va actualizando, siento cada vez mas como si estuviera jugando braillemon por lo cómodo que me siento jugando. la verdad que el echo de que haya textos que en el combate no se repitan, y cosas como esas, hacen que me olvide por completo de que estoy usando un script.
la implementación de los hackrooms ya me parece lo suficientemente intuitiva, para mi ya está perfecta. pero supongo que si el script elige por su propia cuenta el juego a cargar será mejor para muchos.
algo que me gustaría que mejoraras, es la forma de ver los stats de los pokemon en la parte de info, ya que hasta ahora la forma mas cómoda es verlas a la hora de subir de nivel. ojalá que haya una forma de mejorar eso.
espero que regresen las descripciones de la pokedex leídas automáticamente en algún momento
se que sería quizás mucho trabajo, pero preferiría que los teletransportes se llamaran como tal y no tuvieran el nombre del lugar como en el gimnasio de azafrán, se confunden con las escaleras en silf SA
de resto, me siento totalmente satisfecho con el script!
Re: Pokemon Access
nuive, lun dic 14 2020, 04:56P. M.


algo que me gustaría que mejoraras, es la forma de ver los stats de los pokemon en la parte de info, ya que hasta ahora la forma mas cómoda es verlas a la hora de subir de nivel. ojalá que haya una forma de mejorar eso.

Germán Schlude
Sí... la verdad que la pantalla de información de los Pokémon es uno de los puntos débiles del script... el problema con esto es que está distribuido en columnas y se vuelve un poco loco, pero llevo algo de tiempo viendo qué se puede hacer...



espero que regresen las descripciones de la pokedex leídas automáticamente en algún momento

Germán Schlude
Esto sí que es algo que definitivamente volverá en el futuro. De hecho lo tengo a medio hacer, pero estoy trabajando para que la Pokédex sea completamente accesible.


se que sería quizás mucho trabajo, pero preferiría que los teletransportes se llamaran como tal y no tuvieran el nombre del lugar como en el gimnasio de azafrán, se confunden con las escaleras en silf SA
de resto, me siento totalmente satisfecho con el script!

Germán Schlude

El problema es que el juego los identifica igual que el resto de entradas, por eso no hace diferenciaciones. Quizás esto en Oro, Plata y Cristal sería más viable, pero en Rojo, Azul y Amarillo no creo que sea posible.

Por lo demás, me alegra que el script sea útil!

Saludos!
Re: Pokemon Access
sanslash332, lun dic 14 2020, 09:19P. M.

como siempre @nuive excelente trabajo con las mejoras al script! *.*

Por mí, no me queda más que bajarme el último update para seguir disfrutando! :3

Ahora... ¿en serio hiciste un emulador de gb&/gbc desde 0? wooow.

hasta qué lograste emular?

¡saludos!
Re: Pokemon Access
nuive, mar dic 15 2020, 08:29A. M.


como siempre @nuive excelente trabajo con las mejoras al script! *.*

Por mí, no me queda más que bajarme el último update para seguir disfrutando! :3

Ahora... ¿en serio hiciste un emulador de gb&/gbc desde 0? wooow.

hasta qué lograste emular?

¡saludos!

sanslash332


Pues a ver... tenía creada la arquitectura de entrada y salida de la gameboy, todas las funciones de memoria, el sonido también completo, los botones, la pantalla en parte... me faltaba sobre todo terminar la pantalla, el cable link, y algún que otro problema que había con los tiempos del procesador y cositas así... bueno, y funciones específicas de los cartuchos, claro, como por ejemplo el reloj de Pokémon Oro, Plata y Cristal y esas cosas. Pero por poder, juegos como los de la primera generación de Pokémon o el Tetris se podían jugar más o menos.

Es un proyecto que tengo aparcado por complicaciones con las librerías y cosas así, y algunos problemillas de ejecución que no acabé de resolver... pero creo que en cuanto a reproducción del comportamiento de la Game Boy era bastante preciso salvo por lo que ya comenté de los tiempos.
Re: Pokemon Access
Germán Schlude, mar dic 15 2020, 11:26P. M.

@nuive que máquina con lo de la gameboy! no puedo ni imaginarme lo que debió ser el hacer todo eso.
solo quería decirte cosas que yo creo que ya sabes pero que siempre viene bien recordarte que faltan.
no se pueden ver las descripciones de los objetos, y la potencia y precisión de los movimientos. lo recordé anoche mientras pensaba en el post que hice el otro día xdd
Re: Pokemon Access
destructor, sáb dic 19 2020, 10:22P. M.

hola! buenas. una pregunta. como se le puede hacer para pasar las flechas en el casino roquet? esas que te mueben de lugar? tengo problemas para llegar a los acensores.
Re: Pokemon Access
destructor, dom dic 20 2020, 06:14A. M.

hola! esa parte del casino ya la pasé. fue pura suerte jaja. es lo que tenía pendiente, porque al marowat lo esquibé lanzándole un pokemuñeco. así que. derroté a geobani en el casino, derroté a blaine y derroté a geobani en su gimnacio. ahora lo que sucede es que en la calle victoria están las rocas que tengo que mober, pero... en donde se ponen las rocas? tengo que precionar algún botón con ellas? y si es así. como lo encuentro?
Re: Pokemon Access
nuive, dom dic 20 2020, 08:33A. M.


hola! esa parte del casino ya la pasé. fue pura suerte jaja. es lo que tenía pendiente, porque al marowat lo esquibé lanzándole un pokemuñeco. así que. derroté a geobani en el casino, derroté a blaine y derroté a geobani en su gimnacio. ahora lo que sucede es que en la calle victoria están las rocas que tengo que mober, pero... en donde se ponen las rocas? tengo que precionar algún botón con ellas? y si es así. como lo encuentro?

destructor


Tienes que conducir las piedras hacia botones que hay en el suelo, los encuentras moviéndote con la cámara.
Re: Pokemon Access
Germán Schlude, dom dic 27 2020, 08:53A. M.

felices fiestas!
pedir es fácil, pero si te será imposible pasarte a GBA/NDS en un futuro cercano, te pido que consideres intentar accesibilizar otro juego. yo te recomendaría empezar con final fantasy a pesar de que lamentablemente no vamos a poder jugar al mejor final fantasy que es el 7. son juegos que creo que vendrían bien en el arsenal de juegos de cualquiera de nosotros
espero que hayas pasado una feliz navidad @nuive, y reitero hasta el artazgo lo agradecido que estoy por mejorar el proyecto de pokemon crystal acces
Re: Pokemon Access
metalalchemist, dom dic 27 2020, 07:15P. M.

si final fantasy estaría muy bien. que se ocuparía para accesibilizar un juego?
Re: Pokemon Access
sanslash332, dom dic 27 2020, 09:52P. M.

básicamentte @metalalchemist yo diría que tres cosas:

1. tener un emulador que permita la ejecución de scripts de manera fácil. si es de gb/gbc este mismo nos sirve.
2. conocer muy bien como es el manejo de memoria de la consola en sí mismo. conoser el tamaño de su rom, cuántos registros tien, etc.
3. conocer las direcciones de memoria del juego como tal, para saber ir leyéndolas / interpretándolas con tu script.

Y ya?

Con todos esos datos previos, toca comenzar a experimentar y crear el script para ir enviándole al lector de pantalla lo importante, o crear comandos de teclñaod para leer cierta información especializada smile

Eso es a grandes rasgos lo que se hizo con los scripts de pokemon :3
Re: Pokemon Access
metalalchemist, lun dic 28 2020, 12:34A. M.

voy a investigar eso del segundo y tercer punto, gracias
Re: Pokemon Access
nuive, mar dic 29 2020, 09:50A. M.


básicamentte @metalalchemist yo diría que tres cosas:

1. tener un emulador que permita la ejecución de scripts de manera fácil. si es de gb/gbc este mismo nos sirve.
2. conocer muy bien como es el manejo de memoria de la consola en sí mismo. conoser el tamaño de su rom, cuántos registros tien, etc.
3. conocer las direcciones de memoria del juego como tal, para saber ir leyéndolas / interpretándolas con tu script.

Y ya?

Con todos esos datos previos, toca comenzar a experimentar y crear el script para ir enviándole al lector de pantalla lo importante, o crear comandos de teclñaod para leer cierta información especializada smile

Eso es a grandes rasgos lo que se hizo con los scripts de pokemon :3

sanslash332


A estas 3 cosas añadiría la más básica, aunque entiendo que ya se da por evidente. Es imprescindible conocer muy bien las mecánicas del juego que se quiere accesibilizar, porque en general, lo que se tiene como base es, como mucho, un código desensamblado que sin tener ni idea del juego... no nos dirá nada.
Estos dos motivos son por los que actualmente no me planteo meterme en scripts de accesibilidad para otros juegos. Final Fantasy, por ejemplo, nunca lo jugué ni lo probé, por lo que desconozco como es su jugabilidad, su funcionamiento... a grandes rasgos sé como va, pero tan grandes rasgos que a la hora de programar un script no valen para nada. La otra cuestión referente a esto es que no pude encontrar ningún desensamblado de final Fantasy. Hay uno por ahí del FF7 para PC, y otro del FF1 que es para la NES si no me equivoco, pero ya son muchos factores en mi contra. Juegos a los que nunca jugué, consolas de las que no estudié la emulación...

En otro orden de cosas, estoy trabajando en portar la función de scripts lua al mGBA. Hasta ahora estaba trabajando sobre lo que tenemos en el código fuente del VBA-RR, pero es bastante complejo, porque está basado en windows y es bastante antiguo. Seguramente utilizaré la base lua del desmume, que es cross platform al igual que mGBA.
Re: Pokemon Access
sanslash332, mar ene 05 2021, 10:29P. M.

Hola @nuive smile

viejo, una consulta. ¿sabes tú si el VBA-RR tiene una opción de línea de comandos para arrancar el script automáticamente)


Hay gente que bueno, se enreda al intentar cargar el script en el emulador, y tenía ganas de crearle un bat que sirviese de launcher. Marcar el rom es fácil, pero no encuentro una opción para indicarle que arranque al mismo tiempo un script de lua.

¿Sabes si existe eso? Aunque no esté documentado.

Pues si no, un gran y gigantesco f.

¡gracias!
Re: Pokemon Access
reijiut, jue feb 18 2021, 11:56A. M.

Hola, muy buenas. Me pregunto si podría ser posible poder jugar este hack Room pokemon gs chronicles con el script de Pokemon Access
Pido perdón de antemano por mi ignorancia, apenas controlo sobre EmULadores, hack Room y Pokemon. Creo que es muy posible que pueda ser accesible, ya que no hay ningún cambio en el mapa ni en los textos. Las únicas novedades que traen son una mejora gráfica, Y todas las novedades del ReMaster de Nintendo de ese y para mí lo más importante, utiliza todos los sonidos y canciones del remake de Heart gold.
Además, incluso aunque a primeras no sea accesible, podríamos hablar con el creador, aparte de hablar español, realiza actualizaciones muy a menudo, las más recientes son de febrero de este mismo año y de diciembre de 2020.
Su proyecto no está muerto así que, nos podría ayudar por ejemplo poniéndole sonidos de pasos y choque de paredes de las nuevas generaciones, etc.? Que opináis?
Enlace donde hay más información y se puede descargar la hack roóm:
enlace
Re: Pokemon Access
Dekyo 音源, jue feb 18 2021, 06:25P. M.

No es posible, porque este hack ROM utiliza el juego Pokémon Fire Red como base, y no tenemos ningún script para los juegos de pokémon de la Game Boy Advance.
Re: Pokemon Access
randal, jue jun 10 2021, 05:54A. M.

buenas, paso a compartir una pequeña guía que hice para superar la guarida rokket, ya que considero que es una parte bien compleja con todo ese asunto de los teleporters. Espero que les sirva.
enlace guarida.txt?dl=0
Re: Pokemon Access
nicole, jue jun 17 2021, 04:30A. M.

Hola, hai una guia de cómo pasar las Islas Espumas? Esq no puedo continuar el juego por q no sé cómo pasar empujando rocas
Re: Pokemon Access
randal, jue jun 17 2021, 12:07P. M.

buenas @nicole
en su momento me fue de utilidad este tutorial
enlace
Y claro, el uso de la cámara para localizar los agujeros cercanos a las rocas.
Re: Pokemon Access
nicole, jue jun 17 2021, 02:21P. M.

hola @randal graacias! voy intentar!
Re: Pokemon Access
nuive, vie jun 18 2021, 03:32P. M.


Hola, hai una guia de cómo pasar las Islas Espumas? Esq no puedo continuar el juego por q no sé cómo pasar empujando rocas

nicole


Ten en cuenta que lo único obligatorio para lo que tienes que ir a las islas espuma es si quieres capturar a Articuno. Para seguir la aventura, siempre puedes ir por el sur de Pueblo Paleta y llegarás al mismo sitio que atravesando las islas, que es la Isla Canela.

Personalmente para capturar a Articuno no sé muy bien que narices lié en las islas espuma cuando estaba diseñando los scripts, ya que sin saber muy bien como aparecí en el sótano 4 y desde ahí llegar hasta Articuno fue cosa de 2 minutos y mover 2 o 3 piedras.
Re: Pokemon Access
josesanabria2025, lun nov 08 2021, 03:06P. M.

Hola @nuive, quiero reportar un error. Al Hacer una llamada en Pokémon oro, Plata o Cristal el texto no se lee correctamente y se escucha el sonido del menú, en cambio cuando te llaman el texto se lee normalmente.
Re: Pokemon Access
nuive, mar nov 09 2021, 08:03A. M.


Hola @nuive, quiero reportar un error. Al Hacer una llamada en Pokémon oro, Plata o Cristal el texto no se lee correctamente y se escucha el sonido del menú, en cambio cuando te llaman el texto se lee normalmente.

josesanabria2025


En principio, arreglar este problema dañaría otros menús del juego. Quizás haya alguna forma de solucionarlo, pero por ahora no sé como, y no me parece algo realmente relevante. Tomo nota de todas formas, por si en alguna futura versión se me ocurre algo
Re: Pokemon Access
vrivri, mar feb 01 2022, 02:09A. M.

Hola! Que pasó con el proyecto? Alguna novedad? Saludos.
Re: Pokemon Access
nuive, mar feb 08 2022, 09:34P. M.

Hola a todos!

De hecho sí, hay novedades importantes después de tanto tiempo.

Resulta que la semana pasada me escribió un correo un usuario comentándome una forma alternativa de arreglar el problema que ya conté páginas atrás con los comandos de los scripts LUA que no funcionan en los juegos de GBA.
La solución era interesante y la mejor hasta el momento, pero desde mi punto de vista bastante chapucera ya que hacía necesario escribir a la RAM en un intervalo constante, con el peligro que eso conlleva para la partida.
Sin embargo, a raíz de esto se me ocurrió que quizás podría coger el código del emulador, intentar reparar los errores con los scripts y recompilarlo... cuál es mi sorpresa al ver que dichos errores ya están solucionados en el código desde hace años.

Y aquí fue cuando me encontré con que el problema es que la última versión disponible en Internet de este emulador es del año 2013, cuando el último commit al código es del año 2019 (6 años de arreglos y aportes descartados...)

Así que después de muchos esfuerzos (para compilar el emulador tuve que tirar de Microsoft Visual Studio 2010 que es la versión más reciente que lo compila y ya no está disponible ni en microsoft) obtuve como reconpensa una nueva versión de VBA-Rr con la que, curiosamente, mis experimentos en Pokémon Rojo Fuego funcionan a las mil maravillas y en este momento tengo un script que reproduce los pasos a la perfección según se va caminando.

Así que oficialmente, comienza el desarrollo de Pokémon Access para la GBA.

Ahora bien, considero que esto es un gran progreso para el script, pero calculo que no se podrá tener nada funcional en un tiempo. Las ROMS de GBA son mucho más complejas de desensamblar y entender como funcionan que las de Gameboy o Gameboy Color, y hay que tener en cuenta, por ejemplo, que para leer la pantalla los juegos de GB/GBC mantienen todo el rato una copia de la misma en la RAM. Esto en la GBA no pasa debido a la cantidad de procesamiento gráfico requerido, y por este motivo es necesario descifrar qué funciones generan el contenido de la pantalla y como convertir esto en datos interpretables por el script.

A primera vista parece que esto llevará una gran cantidad de tiempo, pero iré contando por aquí los avances que vaya logrando.

Saludos!
Re: Pokemon Access
JamesPotter, dom feb 20 2022, 09:25P. M.

Genial! Podrías pasar el emulador compilado? xD.
Va si tiene algo bueno.
Re: Pokemon Access
nuive, lun feb 21 2022, 06:56P. M.

Hola!

Después de tanto tiempo vengo con una nueva versión del script, la 2.5. Y no, aquí aún no hay nada relativo a la GameBoy Advance, eso será para la 3.0, hasta entonces...

En esta versión arreglé algunos bugs menores que hacían que el script se colgara a veces, así como la mejora de las traducciones para los juegos Rojo, Azul y Amarillo.
Sin embargo, el cambio más relevante es la posibilidad de que el script reconozca el juego en funcionamiento al vuelo, es decir, sin tener que resetear el script.
Antes, por ejemplo, si estábamos jugando a Pokémon Cristal y nos íbamos a Pokémon Amarillo, aunque lo hiciéramos sin cerrar y volver a abrir el emulador sería necesario reiniciar el script, porque si no, este seguiría pensándose que estábamos jugando a Pokémon Cristal aunque hubiéramos cambiado el juego 8 veces.
Lo mismo al etiquetar un juego como Hack, antes había que indicarle los datos y el script nos pedía que lo reiniciáramos para detectar los datos del hack. Ahora da lo mismo si estamos en la intro o en medio de una batalla, en cuanto se actualizan los datos el script los carga al momento.

Por otra parte, decidí que a partir de esta versión me limitaré a incluir solo los datos de los juegos principales (cualquiera que quiera aportar datos para hacks es bienvenido). Como hasta ahora incluía los datos del Crystal Clear, por si a alguien le interesa aquí los dejo, actualizados a la versión 2.5.0 del juego.

enlace

Y en cuanto a la tercera generación y la GameBoy Advance en general... Como dije, el proceso es lento y tedioso, pero va según lo esperado. A día de hoy ya tengo un procesador de texto rudimentario que consigue leer la pantalla en varios escenarios del juego pulsando la letra T.

Sin embargo, siendo un estado de desarrollo tan inicial por el momento lo estoy llevando totalmente separado de este script. Mi idea es que en el futuro se pueda integrar todo en el mismo, pero ya se verá según avanza el desarrollo.

¡Saludos!
Re: Pokemon Access
Germán Schlude, mar feb 22 2022, 09:19A. M.

@nuive no te das una idea de lo feliz que me hace el verte activo. gracias por seguir trabajando duro para hacer que todos podamos disfrutar de estos juegazos. voy a comentarle a sandl sobre esto esto.
vos sabés que había una página donde podías descargar una room de pokemon rojo pero con pokemon de sexta gen. pero era gbc y por alguna razón no era compatible con el script y te hiba a pedir que lo chequearas, pero ya no la encuentro. en fin...
espero que tengas muchos avanses con pokemon rojo fuego, ya que ese juego nos va abrir un mundo de hackrooms colozal.
Re: Pokemon Access
sanslash332, mié mar 02 2022, 11:35P. M.

hola @nuive
germán me comentó hace días estas novedades, pero recién puedo venir a verlas.

No sabes lo contento que me pone. realmente eres un crack por haber encontrado todas esas soluciones, por lo que pones en el futuro contenido de la GBA. demasiado genial :3

gracias @nuive nuevamente por todos los avances. ¡saludos!
Re: Pokemon Access
nuive, jue mar 03 2022, 09:37A. M.

Bueno, vengo con una pequeña actualización sobre como va el progreso en la accesibilidad de GBA.
Como dije, por ahora estoy trabajando exclusivamente con Pokémon Rojo Fuego, más concretamente con la versión en inglés, ya que es para la que más datos y código hay disponible. Eso sí, que nadie se preocupe que en cuanto el script tenga suficiente funcionalidad lo primero que haré será la compatibilidad con roms españolas.

Lo único que tengo por ahora está relacionado con la gestión del texto en el juego, lo que se refiere a mapas, buscarrutas, objetos... ni siquiera lo toqué aún.

En cuanto al texto:
-Se puede usar la letra T para leer en cualquier momento la pantalla al igual que hasta ahora (no funciona en batalla, aún no investigué por qué, pero no creo que sea difícil de arreglar).
-Los diálogos funcionan igual que hasta ahora también (el lector de pantalla los lee según aparecen y evita leer líneas repetidas).
-En cuanto a los menús, los menús generales son completamente funcionales, tanto los menús típicos de varias opciones en columna como los que tienen varias opciones repartidas en varias columnas.
-El menú que aparece al pulsar Start también se lee sin problemas.
-La mochila permite ver cada objeto, pero por ahora se vuelve un poco loca con algunos textos (en proceso de solucionarlo).
-La lista de Pokémon por ahora no se lee (utiliza unos menús un tanto extraños que aún no descubrí como hacer que el script los reconozca). Sí lee todo lo de Usar, Mover, Dar Objeto, quitar objeto... pero la lista de Pokémon en sí no.
-El menú de opciones lee la opción seleccionada y el valor que tiene, pero no indica si lo cambiamos. Es decir, con las flechas arriba y abajo si indica la opción elegida, pero cuando nos movemos con flechas izquierda y derecha para cambiarla no dice nada, con lo que habría que pulsar la T para leer toda la pantalla o cambiar de opción y volver a la elegida para ver el nuevo valor.

Cosas que no funcionan por ahora:
-El menú inicial (Continuar, Nuevo juego) solo se puede leer con la T.
-Los menús de ayuda que se utilizan en Rojo Fuego y Verde Hoja con las letras L y R no funcionan (de hecho bloquean el script y hay que reiniciarlo si se abren estos menús). Por ahora me conformaré con evitar los bloqueos, después de todo estos menús son prácticamente irrelevantes.
-Las batallas en general. Estas pantallas están resultando ser bastante complejas. Tengo algunas ideas de como resolverlo, pero por ahora no hay nada, ni menús, ni mensajes, ni nada.
-Las tiendas. No leen la cantidad a la hora de comprar/vender objetos.

Y esto es un poco lo que hay hecho hasta ahora. Ahora mismo estoy trabajando en una serie de funciones internas del script, ya que me encontré con el problema de que tiene que monitorizar todo el rato tantas funciones que la carga que le metía al emulador era tan grande que llegó hasta el punto de no poderse ni jugar. Ya estoy implementando una solución a esto que consiste en tener solo en memoria las posibles funciones que requiere, por ejemplo si no hay diálogos que quite de memoria todas las funciones relacionadas con diálogos, pero aún no sé que tal resultará esta solución.

Saludos
Re: Pokemon Access
vrivri, jue mar 03 2022, 02:18P. M.

Hola! @nuive puedo contactarme contigo por algun medio? Quiero hacer compatible las verciones en portugués de pokémon crystal, rojo, y amarillo, no sé si funciona tambien para la azul pero creo que si.
Por lo que sé, tienes que modificar los archivos de la carpeta lang del script verdad? Ahí me los confirma, que lo hago y te los mando por mail, telegram, algun lugar.
Saludos!
Re: Pokemon Access
nuive, jue mar 03 2022, 05:41P. M.


Hola! @nuive puedo contactarme contigo por algun medio? Quiero hacer compatible las verciones en portugués de pokémon crystal, rojo, y amarillo, no sé si funciona tambien para la azul pero creo que si.
Por lo que sé, tienes que modificar los archivos de la carpeta lang del script verdad? Ahí me los confirma, que lo hago y te los mando por mail, telegram, algun lugar.
Saludos!

vrivri


Tienes que traducir los archivos maps.lua, sprites.lua y el archivo de idioma de la carpeta messages. Sin embargo no sé si será viable para las roms portuguesas por ser no oficiales, ya hubo un intento en audiogames y no salió muy bien la cosa...
Re: Pokemon Access
sanslash332, sáb mar 05 2022, 11:57P. M.


Bueno, vengo con una pequeña actualización sobre como va el progreso en la accesibilidad de GBA.
Como dije, por ahora estoy trabajando exclusivamente con Pokémon Rojo Fuego, más concretamente con la versión en inglés, ya que es para la que más datos y código hay disponible. Eso sí, que nadie se preocupe que en cuanto el script tenga suficiente funcionalidad lo primero que haré será la compatibilidad con roms españolas.

Lo único que tengo por ahora está relacionado con la gestión del texto en el juego, lo que se refiere a mapas, buscarrutas, objetos... ni siquiera lo toqué aún.

En cuanto al texto:
-Se puede usar la letra T para leer en cualquier momento la pantalla al igual que hasta ahora (no funciona en batalla, aún no investigué por qué, pero no creo que sea difícil de arreglar).
-Los diálogos funcionan igual que hasta ahora también (el lector de pantalla los lee según aparecen y evita leer líneas repetidas).
-En cuanto a los menús, los menús generales son completamente funcionales, tanto los menús típicos de varias opciones en columna como los que tienen varias opciones repartidas en varias columnas.
-El menú que aparece al pulsar Start también se lee sin problemas.
-La mochila permite ver cada objeto, pero por ahora se vuelve un poco loca con algunos textos (en proceso de solucionarlo).
-La lista de Pokémon por ahora no se lee (utiliza unos menús un tanto extraños que aún no descubrí como hacer que el script los reconozca). Sí lee todo lo de Usar, Mover, Dar Objeto, quitar objeto... pero la lista de Pokémon en sí no.
-El menú de opciones lee la opción seleccionada y el valor que tiene, pero no indica si lo cambiamos. Es decir, con las flechas arriba y abajo si indica la opción elegida, pero cuando nos movemos con flechas izquierda y derecha para cambiarla no dice nada, con lo que habría que pulsar la T para leer toda la pantalla o cambiar de opción y volver a la elegida para ver el nuevo valor.

Cosas que no funcionan por ahora:
-El menú inicial (Continuar, Nuevo juego) solo se puede leer con la T.
-Los menús de ayuda que se utilizan en Rojo Fuego y Verde Hoja con las letras L y R no funcionan (de hecho bloquean el script y hay que reiniciarlo si se abren estos menús). Por ahora me conformaré con evitar los bloqueos, después de todo estos menús son prácticamente irrelevantes.
-Las batallas en general. Estas pantallas están resultando ser bastante complejas. Tengo algunas ideas de como resolverlo, pero por ahora no hay nada, ni menús, ni mensajes, ni nada.
-Las tiendas. No leen la cantidad a la hora de comprar/vender objetos.

Y esto es un poco lo que hay hecho hasta ahora. Ahora mismo estoy trabajando en una serie de funciones internas del script, ya que me encontré con el problema de que tiene que monitorizar todo el rato tantas funciones que la carga que le metía al emulador era tan grande que llegó hasta el punto de no poderse ni jugar. Ya estoy implementando una solución a esto que consiste en tener solo en memoria las posibles funciones que requiere, por ejemplo si no hay diálogos que quite de memoria todas las funciones relacionadas con diálogos, pero aún no sé que tal resultará esta solución.

Saludos

nuive

Solo puedo decir que eres un crack, bro.

el avance dices que es poco, pero hombre, ya llvas un montón. un poco más de retoque y lograrás ir sacando prácticamente lo mismo que tenemos para gb/gbc.

simplemente increíble; gracias por seguir trabajando en ello smile

¡saludos!
Re: Pokemon Access
sanslash332, mar mar 29 2022, 10:50A. M.

sí, doble post, pero no importa. @nuive viste esto?

pokemon-emerald-access

En vez de visual--boy o MVBA usaron vizhauk. interesante.

Deberías echarle un ojo, a ver si puedes aplicar tu propia experiencia para mejorar el script de este otro autor, o quizás incluso te sea más fácil para continuar y aplicar lo necesario a firered smile
échale un vistazo :3
Re: Pokemon Access
nuive, mar mar 29 2022, 04:31P. M.

sí, doble post, pero no importa. @nuive viste esto? pokemon-emerald-access En vez de visual--boy o MVBA usaron vizhauk. interesante.Deberías echarle un ojo, a ver si puedes aplicar tu propia experiencia para mejorar el script de este otro autor, o quizás incluso te sea más fácil para continuar y aplicar lo necesario a firered échale un vistazo :3
sanslash332


Sabía que se estaban realizando scripts para Esmeralda, no sé si por parte de este mismo autor o no. De hecho tuve contacto con alguna gente, pero no llegamos a entendernos muy bien sobre la idea de como diseñar el script y decidimos ir realimentándonos unos de otros a ver que salía.

Me resulta interesante encontrar un script ya bastante avanzado,y seguramente lo utilizaré como referencia cuando me meta con las partes más técnicas del juego (mapas y eso). Por ahora sigo trabajando en el motor de texto, y creo que en eso ninguno de estos scripts me podrá ayudar con lo que me falta (reconozco que mi diseño en cuanto al procesamiento de textos va a ser bastante peculiar).
Re: Pokemon Access
sanslash332, mié mar 30 2022, 03:46P. M.

genial @nuive lo importante es lo que ya loi conocías jeje.

Más que el tema del trabajo en conjunto entre tú y la otra persona, lo comentaba por el tema de vizhauck.

¿tú sigues haciendo tus experimetnos sobre tu compilación de VBA-RR?

O estás ahora provando a reconstruir el script sobre vizhawck?

Qué ventajas / desventajas vez entre un motor de lua y el otro entre cada emulador? vizhawk sigue en desarrollo activo o no?

Lo conmsultaba e informaba más por ese aspecto; supongo que en lo referente al estilo y diseño del script, seguirás un poco más el aprouch que tuviste en los scripts pasados jeje
Re: Pokemon Access
nuive, mié mar 30 2022, 05:01P. M.

yo intenté en su momento utilizar bizhawk antes de recompilar VBA. Sin embargo, BizHawk no acepta añadir librerías LUA, por lo que el script original no funciona, ya que requiere principalmente la librería TOLK para acceder a los sintetizadores.
Si no me equivoco, este script utiliza un programa externo para comunicar el emulador con los lectores de pantalla y suplir esta carencia, una especie de servidor que recibe el texto del script y lo envía al lector (creo que solo es válido para NVDA).

Es cierto que BizHawk está en desarrollo actualmente y VBA-Rr no, pero las diferencias entre uno y otro a día de hoy no las veo relevantes. De hecho BizHawk en sí no es un emulador como tal, utiliza el núcleo de otros emuladores para funcionar, es como un frontend que contiene los núcleos de varios emuladores para poder emular varias consolas en la misma app. Actualmente, para emular la GBA utiliza mGBA.

Supongo que si en un futuro el desarrollo aportara algo importante que no tengamos en esta versión de VBA-Rr (conexión link, por ejemplo) podría mirar de portar el script a BizHawk, pero por ahora no es una prioridad.

Editado: Estuve probando un poco el script, y si bien parece interesante, no pude pasar de la habitación del protagonista donde hay que poner el reloj en hora, no conseguí encontrar el reloj...
Re: Pokemon Access
nuive, sáb abr 02 2022, 04:19P. M.

Hola!

Traigo una nueva actualización sobre el progreso del desarrollo. Sin embargo, en esta ocasión más que meter parrafada sobre los cambios vengo con un audio en el que muestro los primeros minutos de Pokémon Rojo Fuego con el script.

Ya advierto que por ahora lo único que está en desarrollo es el motor de texto, aún no se oirá nada referente a mapas, objetos ni nada relacionado con eso.
El motor de texto está bastante pulido pero aún le quedan bastantes cosas, y me gustaría dejarlo lo más pulido posible antes de pasar a otros asuntos. Por ahora y como se puede apreciar en el audio, el motor falla un poco en el menú de Pokémon (se pone a leer cosas a lo loco según le cuadra) y sobre todo, el punto flojo son las batallas, donde no lee casi ningún mensaje (a parte de los menús, claro) ni cosas como las barras de vida o el nivel del rival.

Sin más, aquí el audio.

enlace

Saludos!
Re: Pokemon Access
chiptune-fm, sáb abr 02 2022, 11:41P. M.

Ooooh, zarpado! Escuché el audio, y me dieron ganas de jugarlo! Pero claro, cuando esté más pulido y te parezca que está para lanzarlo. Me encanta, y claro, cuando logres compatibilidad con Esmeralda, Rubí y Zafiro... cada vez más crack!
Re: Pokemon Access
sanslash332, dom abr 03 2022, 12:14P. M.

wow!wow!

excelente trabajo @nuive

Esto tiene demasiada buena pinta!

Es un avance excelente. ¿qué errores son los que tiene todavía el texto?

Y duda, cuando subiste la velocidad del texto dentro del juego, me dio la impresión que el mismo tts se aceleró. ¿eso fue porque lo aceleraste fuera de cámara? o asociaste la aceleración del texto in-game a la velocidad del tts?

Si es eso ¿cómo lo haces que funcione con NVDA?

En fin, un excelente trabajo Nuive; con muchas ganas esperando más novedades :3

¡saludos!
Re: Pokemon Access
nuive, dom abr 03 2022, 01:49P. M.


wow!wow!

excelente trabajo @nuive

Esto tiene demasiada buena pinta!

Es un avance excelente. ¿qué errores son los que tiene todavía el texto?

Y duda, cuando subiste la velocidad del texto dentro del juego, me dio la impresión que el mismo tts se aceleró. ¿eso fue porque lo aceleraste fuera de cámara? o asociaste la aceleración del texto in-game a la velocidad del tts?

Si es eso ¿cómo lo haces que funcione con NVDA?

En fin, un excelente trabajo Nuive; con muchas ganas esperando más novedades :3

¡saludos!

sanslash332


Los errores más relevantes que hay ahora mismo con el motor de texto son en las batallas. El texto no se refresca correctamente y lee cosas muy raras, por eso en el audio lo desactivé y en las batallas no se oye prácticamente nada a parte de los menús. Estoy trabajando en solucionarlo pero esas pantallas son bastante complejas en cuanto a código y aún no descubrí muy bien qué es lo que falta por implementar.

A parte de eso, las barras de salud y los niveles de los pokémon que están combatiendo no aparecen por ningún lado en el script, aunque se estén mostrando en pantalla.

En cuanto a lo de la velocidad del texto no, el tts no se ve afectado. Sin embargo da esa sensación por lo que tarda en leer desde que se pulsa A hasta que habla, aún estando en velocidad media. Como se puede notar, en la intro aún estando a velocidad media resulta hasta tedioso lo que tarda desde que se pulsa el botón hasta que lee.
Re: Pokemon Access
sanslash332, lun may 23 2022, 10:58A. M.

holii @nuive

No pasaba por aquí de hace rato, así que preguntamos nuevamente jaja. alguna novedad interesante?

Por lo comentado en el post anterior, incluso para visuales la velocidad media era demasiado lenta. smile con rápida era aguantable xd.

Eso, saludos.
Re: Pokemon Access
sanslash332, dom jun 05 2022, 10:31P. M.

Hola master @nuive otra vez smile

Cada vez que veo algo sobre scripts prefiero preguntarte a ti, porque eres el más entendido en el tema...

Pus, viste este script qué subieron en audiogames para el emerald?

Qué sabes de eso?

No sé, pero quizás te puede servir para sacar alguna cosa que no tengas ya hecha tongue

¡saludos!

yo no lo he probado todavía, un poco por el ... derrotismo del primer post, como que suena a... lo hice, ahí está, no entiendo mucho de esto por lo que no quiero desarrollar más. entonces fue como... OK?

en fin ¡saludos!
Re: Pokemon Access
nuive, lun jun 06 2022, 04:54P. M.

Hola!


holii @nuive

No pasaba por aquí de hace rato, así que preguntamos nuevamente jaja. alguna novedad interesante?

Por lo comentado en el post anterior, incluso para visuales la velocidad media era demasiado lenta. smile con rápida era aguantable xd.

Eso, saludos.

sanslash332


Sigo trabajando en el script, no lo tengo olvidado. Sin embargo estoy finalizando el motor de procesamiento de textos y me estoy comiendo unas partes que en el código original de FireRed no están del todo desensambladas, con lo cual se hace bastante más complejo seguirle el ritmo (hecho de menos el código de las ROMs de GB/GBC y eso era ensamblador puro, con eso digo todo...).


[quote]
Hola master @nuive otra vez Cada vez que veo algo sobre scripts prefiero preguntarte a ti, porque eres el más entendido en el tema...Pus, viste este script qué subieron en audiogames para el emerald?Qué sabes de eso?No sé, pero quizás te puede servir para sacar alguna cosa que no tengas ya hecha ¡saludos!yo no lo he probado todavía, un poco por el ... derrotismo del primer post, como que suena a... lo hice, ahí está, no entiendo mucho de esto por lo que no quiero desarrollar más. entonces fue como... OK?en fin ¡saludos!
sanslash332


Pues vaya, no sabía que ya lo había publicado.

Sí, conocía este proyecto, de hecho estuve comunicándome con él por correo durante algún tiempo.

Probé una de sus primeras versiones y tengo que decir que me dejó mis dudas, sobre todo la forma de procesar el texto.
No sé muy bien como lo diseñó, pero a veces el script soltaba auténticas burradas. Por ejemplo, en vez de decir "Rival Azul quiere luchar" decía algo así como "riiiiivaaaaaaaaaaaal Azulllllllll quuuuuuuuuuuuuuuuuuuuuuierrrrreeee lucccccccccccccccccccchaaaaaaaaaaaaaaaaaar" o "BULBASAUR envió a Rival Azul" en vez de "Rival Azul envió a Bulbasaur".

Se lo comenté en su momento y dijo que no sabía por qué pasaba, no sé si en esta versión estará solucionado o no.

Al final interrumpimos el contacto un poco porque teníamos ideas de desarrollo bastante diferentes, hasta el punto de que llegó a decirme que perdía mucho tiempo con el procesador de textos de Rojo Fuego, que lo que la gente quería era algo que funcionara y no se fijaba tanto en los detalles, así que ahí quedó la cosa.

De todos modos ya que lo publicó, lo probaré a ver que tal.
Re: Pokemon Access
sanslash332, jue jun 16 2022, 06:34P. M.

holo @nuive

POs nada, si lo probaste comenta que te pareció y que detectaste :3

en general yo no lo probé, pero por lo que vi en los posts, insisto que su actitud es muy, de ya intenté esto, ya logré esto, que el resto saque mejoras.

Al menos dio un puntapié inicial :3

por tu parte, genial que hayas estado avanzando; lástima nomás que esa parte no estuviese desemsamblada completamente, ahí te toca pelear con dirección de memoria directamente y leer en tiempo real para entender que rayos y como rayos pasa jeje.

en fin, gracias @nuive comentas cualquier cosita :3
Re: Pokemon Access
nuive, jue jun 16 2022, 08:13P. M.

Hola!

La verdad que las versiones del script para Esmeralda (las que están publicando en audiogames) no las probé. Sí que sigo el post para ir viendo como va la cosa, pero la verdad que aún no tuve tiempo de probarlo. La gente en general dice que funciona bastante bien, así que supongo que el desarrollo está bien encaminado. Sin embargo, veo un poco de lío, la gente se mete a jugar con hacks y demás cuando el script aún apenas se publicó y pues... la cosa es un poco caótica. Es cierto que parece que va bien y tiene futuro, pero hay muchas cosas mezcladas en el tema de audiogames.

En cuanto a mi script para Rojo Fuego, no es tanto el problema con el desensamblado de instrucciones (el curro que se están pegando todos los que colaboran con el desensamblado de estos juegos no tiene nombre) sino más bien el hecho de que el juego hace unas cosas bastante extrañas con el texto que no logro entender.

Para poner un ejemplo, el texto en general tiene una serie de métodos para repartirse en la pantalla, hacer scrolling y todas las locuras que se nos puedan ocurrir. Todo esto ya está integrado en mi script. Pero ahora me encuentro con que textos totalmente random (como los nombres de las cajas del PC o los datos de los Pokémon activos en batalla) no se muestran en pantalla con los mismos métodos y hacen unas cosas rarísimas, como convertir el texto en bloques de gráficos, luego copiar esos bloques en pantalla... unas cosas un tanto complejas que no acabo de comprender.

Personalmente entiendo que para alguien que quiere jugar estos juegos todo esto suena complejo, y cualquiera podría decir, por qué no usar el método que se usa en el script de esmeralda y ya?
La verdad es que seguramente que la diferencia sería mínima a la hora de jugar, pero la cosa es que también estoy realizando esto como un modo de aprendizaje. En parte lo estoy haciendo así para que el script sea lo más parecido posible al actual en su funcionamiento, pero también porque me interesa sacar de todo esto un poco sobre como funcionan los juegos de GBA y por qué se montan todo este circo para 4 letras en la pantalla.
Re: Pokemon Access
josesanabria2025, vie jun 17 2022, 12:58P. M.

Hola @nuive

Hay un problema con el sonido de los pasos en pokémon plata, cada vez que camino este se repite varias veces

Esto pasa en los idiomas inglés y español.
Re: Pokemon Access
nuive, vie jun 17 2022, 04:27P. M.

ups, pues es verdad. No tenía ni idea de esto, y en el resto de idiomas no pasa. Enseguida lo soluciono.

Editado: Solucionado. Efectivamente era un error en la dirección de memoria de esos dos juegos, algo raro pasó ahí... actualizo el post inicial a la versión 2.5.2, que además de esto corrige un problema con el cambio de juego al vuelo sin resetear el script. Todo funcionaba bien al cambiar, por ejemplo, de Pokémon Cristal a Azul, pero las funciones no se reasignaban, con lo cual se oían cosas un poco extrañas como el jugador caminando por los menús o por la pantalla de inicio... Esto ya está solucionado.
Re: Pokemon Access
vrivri, mié jun 22 2022, 08:18A. M.

Mensaje editado. Pensé que no habían hablado del pokemon emerald pero ya, xd. Bale. Que bien que ya estás estudiando algo. Saludos!
Re: Pokemon Access
sanslash332, sáb jun 25 2022, 06:38P. M.


Hola!

La verdad que las versiones del script para Esmeralda (las que están publicando en audiogames) no las probé. Sí que sigo el post para ir viendo como va la cosa, pero la verdad que aún no tuve tiempo de probarlo. La gente en general dice que funciona bastante bien, así que supongo que el desarrollo está bien encaminado. Sin embargo, veo un poco de lío, la gente se mete a jugar con hacks y demás cuando el script aún apenas se publicó y pues... la cosa es un poco caótica. Es cierto que parece que va bien y tiene futuro, pero hay muchas cosas mezcladas en el tema de audiogames.

nuive

Y eso sinceramente es un problema gordo.
Al menos el tipo en el primer post no ha dicho nada si ha podido correjir lo que originalmente le faltaba.
No tengo ganas de jugar esmeralda pudiendo llegar solo hasta lilicobe con tranquilidad, y a partir de ahí seguir al puro tún tún. peor aún si no hizo nada por el victory road, o el camino hacia evergrande.



En cuanto a mi script para Rojo Fuego, no es tanto el problema con el desensamblado de instrucciones (el curro que se están pegando todos los que colaboran con el desensamblado de estos juegos no tiene nombre) sino más bien el hecho de que el juego hace unas cosas bastante extrañas con el texto que no logro entender.

Para poner un ejemplo, el texto en general tiene una serie de métodos para repartirse en la pantalla, hacer scrolling y todas las locuras que se nos puedan ocurrir. Todo esto ya está integrado en mi script. Pero ahora me encuentro con que textos totalmente random (como los nombres de las cajas del PC o los datos de los Pokémon activos en batalla) no se muestran en pantalla con los mismos métodos y hacen unas cosas rarísimas, como convertir el texto en bloques de gráficos, luego copiar esos bloques en pantalla... unas cosas un tanto complejas que no acabo de comprender.

nuive
Ahí entra una duda gráfica... visualmente esos textos se ven igual que cualquier otro?
O les añaden algún estilo diferente, o colocación especial.
Porque quizás el querer mostrar esos textos con una fuente diferente, estilo o color distintos, o incluso quieren colocarlos fuera de un cuadro de texto no les funciona mandarlos por su procesador de texto como tal, sino que prefieren convertirlos en gráficos y pasarlos por el buffer gráfico. Alguna razón técnica deberán de tener.
O incluso a veces la explicación puede ser más tonta de lo que uno cree; esos eran textos que fueron generados en un inicio del desarrollo antes de que el sistema de textros y diálogos estuviese listo como tal; y luego por que no lo cambiaron? Simple, porque funcionaba. Y ya sabes si algo anda, no lo toques.



Personalmente entiendo que para alguien que quiere jugar estos juegos todo esto suena complejo, y cualquiera podría decir, por qué no usar el método que se usa en el script de esmeralda y ya?
La verdad es que seguramente que la diferencia sería mínima a la hora de jugar, pero la cosa es que también estoy realizando esto como un modo de aprendizaje. En parte lo estoy haciendo así para que el script sea lo más parecido posible al actual en su funcionamiento, pero también porque me interesa sacar de todo esto un poco sobre como funcionan los juegos de GBA y por qué se montan todo este circo para 4 letras en la pantalla.

nuive

Tranquilo, también soy desarrollador y muchas veces uno no quiere hacer algo solo para que funcione. Sino que también quiere saber el por qué rayos funciona así, y qué es lo que está pasando por detrás.
Y en tu caso, estás trabajando casi que a ciegas porque es un programa sobre el cual no tenemos código fuente como averiguar el por que de las cosas, pero bueno smile

Por cierto @nuive gracias por el update del pokemon-access. ahí verifico que la descarga en la base de datos esté apuntando a lo último.

Saludos, y nos cuentas cualquier cosa. Yo sigo sin probar el script de audiogames.
Re: Pokemon Access
nuive, mié jun 29 2022, 02:14P. M.

Hola!

Traigo noticias sobre el desarrollo. El script para Rojo Fuego ya está cerquita.

Es cierto que los problemas que comentaba con el texto en mi último post aún no están resueltos, pero como me cansé de estar ahí atascado dejé aparcado el procesador de textos por el momento, y me puse a desarrollar otros aspectos.

Cosas que funcionan en el script a día de hoy:
-Lectura de textos. Todo lo comentado y demostrado hasta ahora, más la lectura de textos braille (se verbalizan los puntos que compone cada letra, con una pausa entre letras). Los nombres de las cajas del PC y los datos de los Pokémon en combate (vida, nivel, nombre... aún no se muestran ni se leen. Los textos de la pantalla principal de batalla, (el pokémon usó tal ataque, el entrenador va a sacar a tal Pokémon) solo se pueden leer pulsando la letra T.
-Manejo de la cámara. Funciona al 100% (falta que indique algunos obstáculos con sonidos).
-Listas de entradas, objetos y señales. Todo funcionando, incluída la posibilidad de ubicar varias conexiones hacia una ruta en la misma dirección.
-Buscarrutas. Funcionando al... 90%? Lo pongo con interrogación porque en estos juegos hay mucha más variedad de obstáculos que en los anteriores, y aún no tengo la seguridad de haberlos implementado todos.

La ventaja que tengo ahora mismo es que para el desarrollo estoy utilizando una partida que tenía completada de hace un montón de años, con lo cual no dependo de ir pasándome la historia. Cuando quiero probar el buscarrutas surfeando, pues vuelo a una ruta con surf; cuando quiero probar las cascadas, me voy a la cueva de las cascadas... sin embargo, esto tiene otra pega. Al no pasarme la historia en orden, puede que se me pasen cosas. Por eso lo del buscarrutas no lo tengo claro del todo. Estoy intentando probarlo en todos los escenarios que se me ocurren, pero siempre cabe la posibilidad de que cuando suba la primera versión, tenga fallos que se me quedaron atrás.

Y finalmente, mejoré una característica que no afectará solo a los juegos de GBA, sino a los anteriores también, se trata del comando para usar o no usar las MO con el buscarrutas.
Hasta ahora era usarlas (comprobaba si había necesidad de MOs en el camino) o no usarlas (si hacían falta en un camino lo marcaba como inaccesible). Ya hace bastante tiempo recibí avisos de que esto a veces hacía cosas un poco extrañas, por ejemplo en ciudad Carmín para ir al gimnasio, donde hace falta corte. Se activaba el uso de MOs en el buscarrutas, y al mirar la ruta nuevamente definitivamente se necesitaba corte, pero como el script no hacía diferencias entre MOs, automáticamente nos mandaba por un camino que además de corte requería surf, que no se tiene a esas alturas de la aventura.
Para solucionar esto añadí una tercera opción (usar MOs disponibles) que comprobará que MOs podemos usar según las medallas que tenemos, y las que no se puedan usar no se tendrán en cuenta en esta modalidad de buscarrutas.

Y creo que esto es todo lo nuevo que hay por ahora. Espero próximamente traer alguna primera versión de este nuevo script con soporte para tercera generación.
Re: Pokemon Access
caspian, mié jun 29 2022, 03:32P. M.

Hola muchachos! No sé si esto va aquí, pero como tiene que ver con el tema aquí os lo pongo a vuestra disposición para quien pueda sentirse interesado. Algunos ya sabréis que desde hace un tiempo, es posible jugar pokemon esmeralda a través del emerald access de forma accesible, aprovecho para mandar las gracias a su creador. Bien, el otro día grabé un pequeño tutorial sobre como usar visual boy m para poder acceder a intercambiar pokemon a fin de poder obtener las evoluciones que solo son obtenibles vía intercambio, o simplemente por el afán de completar la pokedex. Como dicho tutorial está grabado en un sonido demasiado bajo y de modo un tanto chapucero, os lo he regrabado otra vez, espero que con algo de mejor calidad. Procedo a compartirlo con la comunidad por si estuvierais interesados en intercambiar. Si creéis que me he dejado algo o algo no se entiende, estaré encantado de que comentéis y yo corregiré lo que sea o resolveré las dudas que tengais. Un saludo, aquí link.
enlace
Re: Pokemon Access
sanslash332, sáb jul 02 2022, 02:54A. M.

wow!
hharta cosa nueva por aquí, así que veamos smile

primero que todo muchas gracias @caspian por el tutorial!

Para los que ya esté jugando esmeralda con el script de este tipo y no esperen a @nuive les vendráde ffábula, muchas gracias por compartirlo smile

Una duda, piensas mantener el link de dropbox ahí para siempre? O existe la posibilidad de que retires el archivo por cuestión de hacer espacio y cosas de esas?

Porque si piensas sacarlo, ya sea en un año dos o cuando sea avísame, y puedo hostear el archivo directamente en tfj, o subirlo al canal de youtube como un video, no habría problema en ello, y no estaría amarrado a tu cuenta jeje.

Ahora...



Hola!

Traigo noticias sobre el desarrollo. El script para Rojo Fuego ya está cerquita.



nuive

waaaaaaaaaa! que crack man!

Se espera con ganas para ver como sale esta primer versión!

Lo lanzarás en un inicio solo compatible con fr/lg? o te tirarás con todos los juegos de una xd.




PC y los datos de los Pokémon en combate (vida, nivel, nombre... aún no se muestran ni se leen. Los textos
de la pantalla principal de batalla, (el pokémon usó tal ataque, el entrenador va a sacar a tal Pokémon)
solo se pueden leer pulsando la letra T.


nuive
el pc no es tan difícil. el tema de la vida... bueno ahí hay que jugar un poquito más a las predicciones durante el combate, pero nada del otro mundo smile



cueva de las cascadas... sin embargo, esto tiene otra pega. Al no pasarme la historia en orden, puede
que se me pasen cosas. Por eso lo del buscarrutas no lo tengo claro del todo. Estoy intentando probarlo
en todos los escenarios que se me ocurren, pero siempre cabe la posibilidad de que cuando suba la primera
versión, tenga fallos que se me quedaron atrás.


nuive

no se rompa tanto la cabeza con ello mhijo, si para eso puede lanzar las primeras versiones como beta y dejar que la prole testee por usted smile
xd



Y finalmente, mejoré una característica que no afectará solo a los juegos de GBA, sino a los anteriores
también, se trata del comando para usar o no usar las MO con el buscarrutas.
Hasta ahora era usarlas (comprobaba si había necesidad de MOs en el camino) o no usarlas (si hacían falta
en un camino lo marcaba como inaccesible). Ya hace bastante tiempo recibí avisos de que esto a veces
hacía cosas un poco extrañas, por ejemplo en ciudad Carmín para ir al gimnasio, donde hace falta corte.
Se activaba el uso de MOs en el buscarrutas, y al mirar la ruta nuevamente definitivamente se necesitaba
corte, pero como el script no hacía diferencias entre MOs, automáticamente nos mandaba por un camino
que además de corte requería surf, que no se tiene a esas alturas de la aventura.
Para solucionar esto añadí una tercera opción (usar MOs disponibles) que comprobará que MOs podemos usar
según las medallas que tenemos, y las que no se puedan usar no se tendrán en cuenta en esta modalidad
de buscarrutas.



nuive

¡genial!

De hecho me pasó eso con un puzle en el kaiso cristal. no podía avanzar porque para llegar al final de un lugar era un laberinto. se podía pasar con corte (el cual si tenía) pero también habían atajos en parches de agua para cuando ya tuvieses surf... y claro, activabas la opción de HM, y el path finder mandaba a la conchesumadre el laberinto y te decía na, métete al agua... y pos, quedabas donde mismo smile

Ahora, no sé si guiarse por las medallas es un factor 100% fiable, ya que hay ciertos... hm que se consiguen algo alejaditos de su medalla y podrían haber casos bordes en los que ya tengas la medalla, no el HM y el pathfinder te diga que lo uses.

Quizás, mejora para futuro, sería bueno una miny opción de personalización?
tipo:
opción a: pathfinder sin ningún hm.
opción b: con todos los hm
opción c: según medallas
opción d: con los hm que el usuario haya especificado como que ya los tiene o los tiene a mano.

así como una función súper advanced y ccustom.

Me suena a que sería una paja porque habría que programarlo de cierta manera, o por último ya que es tan advanced dejar un pequeño lua de configuración con los switches para esa shit, pero... déjalo anotado como una feature para versiones mucho más futuras.

En fin, esto tiene una pinta. uyuyuy.

te pasaste como siempre @nuive con ancias esperando nuevas cosas!
Re: Pokemon Access
caspian, sáb jul 02 2022, 11:11A. M.

Hola @sanslash332, no te preocupes jeje, de momento ahí se va a quedar, en caso de cambio ya avisaré por aquí xd, ojalá le sirva a la gente
Re: Pokemon Access
nuive, sáb jul 02 2022, 11:33A. M.



Lo lanzarás en un inicio solo compatible con fr/lg? o te tirarás con todos los juegos de una xd.


sanslash332
Aún no lo sé, pero supongo que en un principio saldrá sólo para Rojo Fuego y Verde Hoja. No sé cuanto tiempo llevará adaptarlo para Rubí, Zafiro y Esmeralda. No creo que mucho (el engine de los juegos es casi el mismo) pero hay cosas nuevas que habrá que añadir así que... ante la duda, iré a lo seguro.




¡genial!

De hecho me pasó eso con un puzle en el kaiso cristal. no podía avanzar porque para llegar al final de un lugar era un laberinto. se podía pasar con corte (el cual si tenía) pero también habían atajos en parches de agua para cuando ya tuvieses surf... y claro, activabas la opción de HM, y el path finder mandaba a la conchesumadre el laberinto y te decía na, métete al agua... y pos, quedabas donde mismo smile

Ahora, no sé si guiarse por las medallas es un factor 100% fiable, ya que hay ciertos... hm que se consiguen algo alejaditos de su medalla y podrían haber casos bordes en los que ya tengas la medalla, no el HM y el pathfinder te diga que lo uses.

Quizás, mejora para futuro, sería bueno una miny opción de personalización?
tipo:
opción a: pathfinder sin ningún hm.
opción b: con todos los hm
opción c: según medallas
opción d: con los hm que el usuario haya especificado como que ya los tiene o los tiene a mano.

así como una función súper advanced y ccustom.

Me suena a que sería una paja porque habría que programarlo de cierta manera, o por último ya que es tan advanced dejar un pequeño lua de configuración con los switches para esa shit, pero... déjalo anotado como una feature para versiones mucho más futuras.

sanslash332
Bueno, se supone que los juegos están pensados para que cuando te habiliten para usar una MO es porque se conseguirá pronto. Lo que podría hacer es condicionar la opción de las MOs disponibles no sólo a la medalla, sino a que se tenga la MO (el script también podría comprobar esto sin mayor dificultad).
Re: Pokemon Access
sanslash332, mié jul 06 2022, 02:28A. M.

OK @caspian anotado entonces. nooo me preocupo smile




Aún no lo sé, pero supongo que en un principio saldrá sólo para Rojo Fuego y Verde Hoja. No sé cuanto
tiempo llevará adaptarlo para Rubí, Zafiro y Esmeralda. No creo que mucho (el engine de los juegos es
casi el mismo) pero hay cosas nuevas que habrá que añadir así que... ante la duda, iré a lo seguro.



nuive

a dale, mejor así. smile paso a pasito tongue



Bueno, se supone que los juegos están pensados para que cuando te habiliten para usar una MO es porque
se conseguirá pronto. Lo que podría hacer es condicionar la opción de las MOs disponibles no sólo a la
medalla, sino a que se tenga la MO (el script también podría comprobar esto sin mayor dificultad).

nuive

tu dijiste, se supone, se supone, pero no, no es tan así xd. de hecho muchas MO a veces consigues poder usarlas como 2 gimnacios antes de que sea posible, o sea necesario xd.

Pero sí, si no te es difícil analizar los pokemon del equipo para ver que HM están disponibles, genial. eso es mucho más sensato jaja.
Re: Pokemon Access
nuive, mié jul 06 2022, 03:06P. M.


tu dijiste, se supone, se supone, pero no, no es tan así xd. de hecho muchas MO a veces consigues poder usarlas como 2 gimnacios antes de que sea posible, o sea necesario xd.

Pero sí, si no te es difícil analizar los pokemon del equipo para ver que HM están disponibles, genial. eso es mucho más sensato jaja.

sanslash332


NO sería tanto analizar el equipo pokémon a pokémon, ya que eso sería bastante carga para el script y el buscarrutas podría laguearse. Es más bien comprobar que MOs están conseguidas y cuáles no.

Por cierto, ya tengo descifrado el funcionamiento de los cuadros que faltaban durante las batallas (la información sobre vida, niveles y demás). Resulta que esa manera tan rara de tratar el texto es porque el juego mete toda esa información en una imagen que luego copia a la memoria de vídeo y... sí, por mucho que me duela decirlo, es una imagen animada. Es decir, se va moviendo en la pantalla. Sólo un píxel o dos de un lado a otro, es como si quisieran hacer como una especie de espejo, reflejo o algo así.
La buena noticia es que sé como hacer que el script lea esto sin problema. La mala... pues que tendré que trabajar a nivel de píxeles, con lo que... será complejo.
Re: Pokemon Access
sanslash332, vie jul 08 2022, 01:03P. M.



NO sería tanto analizar el equipo pokémon a pokémon, ya que eso sería bastante carga para el script y el buscarrutas podría laguearse. Es más bien comprobar
que MOs están conseguidas y cuáles no.



nuive

¿y cómo verificas qué HM se consiguieron y cuáles no?

No creo que te sirba de mucho revisar la mochila; siendo que uno podría depositar los HMS en el pc.

Bueno, no tanto en FR/LG, porque los tms se guardaban en ese tmCase, pero en los otros juegos que tenían su sección propia...

O más bien tienes otras señales a nivel de scripting para saber si ya se optuvieron o no



Por cierto, ya tengo descifrado el funcionamiento de los cuadros que faltaban durante las batallas (la información sobre vida, niveles y demás). Resulta
que esa manera tan rara de tratar el texto es porque el juego mete toda esa información en una imagen que luego copia a la memoria de vídeo y... sí, por
mucho que me duela decirlo, es una imagen animada. Es decir, se va moviendo en la pantalla. Sólo un píxel o dos de un lado a otro, es como si quisieran
hacer como una especie de espejo, reflejo o algo así.
La buena noticia es que sé como hacer que el script lea esto sin problema. La mala... pues que tendré que trabajar a nivel de píxeles, con lo que... será
complejo.


nuive

No lo habrán construido así para poder animar dichos nombres?
generar un pequeño blurp (temblequeo) cuando el pokemon recibía daño y cosas por el estilo?

Ahora trabajar a nivel de pixeles... UFFF.

¿no tienes manera de interseptar el texto antes de que llegue a la salida de video?

Así te ahorras el tener que trabajar con una imagen X_X

pero bueno, al menos el problema mayor que era el descubrir cómo lo estaban haciendo ya está resuelto; ahora solo te toca analizarlo en tiempo real. xD
Re: Pokemon Access
nuive, vie jul 08 2022, 04:06P. M.



¿y cómo verificas qué HM se consiguieron y cuáles no?

No creo que te sirba de mucho revisar la mochila; siendo que uno podría depositar los HMS en el pc.

Bueno, no tanto en FR/LG, porque los tms se guardaban en ese tmCase, pero en los otros juegos que tenían su sección propia...

O más bien tienes otras señales a nivel de scripting para saber si ya se optuvieron o no

sanslash332

Reviso si están activadas o no las variables que indican si se recibió cada MO o no, y hago que responda el buscarrutas en base a eso.




No lo habrán construido así para poder animar dichos nombres?
generar un pequeño blurp (temblequeo) cuando el pokemon recibía daño y cosas por el estilo?

Ahora trabajar a nivel de pixeles... UFFF.

¿no tienes manera de interseptar el texto antes de que llegue a la salida de video?

Así te ahorras el tener que trabajar con una imagen X_X

pero bueno, al menos el problema mayor que era el descubrir cómo lo estaban haciendo ya está resuelto; ahora solo te toca analizarlo en tiempo real. xD

sanslash332


Sí puedo interceptar el texto antes de que se convierta en píxeles, lo que pasa es que tengo que manejar píxeles igual para saber en que zona de la pantalla va cada cosa y que lea en orden. De todos modos ya está hecho, y a día de hoy el script ya presenta todos los datos de las pantallas de combates.

Me falta diseñar algunas funciones que limpien píxeles que quedan por ahí flotando y que hacen que a veces el script lea cosas donde no hay nada, pero por lo demás está todo bastante encaminado.
Re: Pokemon Access
nuive, jue jul 21 2022, 11:56A. M.

Hola!

Vengo con mi paquetito de novedades semanales.

El script está cada vez más cerca. Me gustaría dar una fecha exacta de salida, pero la cosa es bastante imprecisa así que no me voy a arriesgar.

En principio lo único que falta son unas cosas del PC, y estaría todo listo. Bueno, reorganizar el código y esas cosas, que está todo hecho un desastre de tanto hacer, deshacer y rehacer, pero al margen de eso está todo bastante funcional.

Si sólo dependiera de lo que falta por programar, diría que en una semana, dos como mucho estaría listo, pero la cosa es que si me preguntara alguien hace una semana diría lo mismo.

La cuestión es que el script ya está en una fase tan compleja que añadir una cosa puede romper parte de lo anterior, que es lo que me lleva pasando la última semana.

Por ejemplo, hace una semana me faltaba lo mismo que menciono ahora del PC y el funcionamiento de los combates dobles, que estaba totalmente roto.
Al final resultó que el problema con los combates dobles venía de que la forma de mostrar los datos en combate la tenía mal diseñada, con lo que funcionaba perfectamente en individuales, pero en dobles era inútil. Con lo cuál... hubo que volver a rediseñar todo lo relativo a eso desde 0.
Después de acabar con eso, decidí solucionar algún pequeño bug con las interfaces. Dije pequeño? No, pequeño parecía con respecto a la funcionalidad del script, una vez que me puse a solucionarlo descubrí que a las funciones más básicas para mostrar el texto (las que están casi desde que empecé hace meses a diseñar esto para Rojo Fuego) les faltaban funcionalidades esenciales para mostrar el texto correctamente. Con lo cuál... llevo toda esta semana rediseñando cosas ya hechas.

Así que así está la situación, si nada se rompe al diseñar lo que falta, en una o dos semanas el script podría estar listo para la primera release. Pero que nadie se haga ilusiones, sería muy raro que no se volviera a romper nada que me lleve sabrá dios cuanto tiempo solucionar.
Re: Pokemon Access
nuive, mar jul 26 2022, 11:02P. M.

Hola!

Yo otra vez, aquí llenando esto de posts...

Pokémon Access 3.0 está cada vez más más cerca. De hecho estoy ya con retoques finales, bugs que aparecen y demás cosas.

Pensé que para amenizar un poco más lo que queda hasta que lo publique, y para quien no le apetezca leer todo lo que pongo aquí, o prefiera escuchar algo más claro que todas mis parrafadas, voy a ir publicando pequeños audios (algo así como a modo de trailers) de como funciona el script actualmente, y aquí vengo con el primero.
En este caso consiste en la captura de Moltres en el Monte Ascuas, así como la resolución del puzle final de piedras para llegar a él.

Antes de nada algunas aclaraciones:
1. Para quien esté familiarizado con el script oirá que estoy usando la cámara para saber donde están las piedras. El problema es que ahora mismo no puedo grabar mi voz a la vez que el audio, con lo que es un poco difícil saber qué es exactamente lo que estoy haciendo. Pero bueno, la cosa es que se puede oír como resuelvo el puzle, que al final es el objetivo del audio, demostrar que con el script, se puede.
2. Cuando comienza el combate con Moltres, la voz se pone a leer toda la pantalla de golpe. Esto no es un fallo, es precisamente eso, que pulsé la letra T para que leyera toda la pantalla. Lo mismo cuando dice las barras de vida, es porque las consulto yo. La barra en porcentaje es la del rival, la que dice con valores la de nuestro Pokémon.
3. Como se puede oír luego del combate, al guardar la partida lee los mensajes un poco raros y con un número 1 por ahí perdido. Esto sí que es un bug, el más grande que encontré hasta ahora. Ya estoy trabajando en solucionarlo.
4. Para quien esté familiarizado con los gritos de los Pokémon, oirá en la pantalla de inicio el grito de Venusaur. No, esto no es un montaje. Estoy grabando esto en un Pokémon Verde Hoja, lo que significa que sí, el soporte ya está completo (o lo completo que puede estar hasta ahora) para los dos juegos, Rojo Fuego y Verde Hoja.

Y sin más que decir, aquí el audio:
enlace

En los próximos días y según vaya pudiendo, traeré más muestras de otras funcionalidades. Iré editando este post para no petar esto.

Saludos!
Re: Pokemon Access
fyrate, jue jul 28 2022, 11:05P. M.

Genial! Está quedando estupendo! Me impresiona el gran esfuerzo que haces para lograr que estos juegos sean accesibles y de verdad, es de agradecer, y mucho. Un gran saludo.
Re: Pokemon Access
nuive, vie jul 29 2022, 10:46P. M.

¡Hola!

Traigo dos noticias, una mala y una buena.

La mala... bueno, al contrario de lo que dije en mi último post... no habrá más audiodemos del nuevo Pokémon Access.
¿El motivo? La buena noticia. ¡Pokémon Access 3.0 está aquí!

Así es, después de más de año y medio de publicar las últimas versiones grandes de Pokémon Access 2, tras mucho pelear con el emulador y tras mucho trabajo con todo esto los últimos meses... aquí está por fin, la versión 3.0.

Sin más que añadir, improvisaré aquí un pequeño changelog, de todos modos para quien quiera echar un vistazo el readme está actualizado.

Novedades:
Soporte inicial para Pokémon Rojo Fuego y Verde Hoja inglés y español (la versión inglesa que funciona es la 1.0).
El soporte está prácticamente completo al igual que para todos los juegos anteriores, por lo que citaré las cosas que ahora mismo sé que faltan.
-Accesibilizar un poco el mapa de vuelo si fuera posible.
-Hacer posible que el script lea ciertos datos que por ahora no reconoce. La mayoría es información que se presenta mediante iconos, tal como los tipos de los Pokémon, los problemas de estado...
Hacer más accesible el PC (por ahora el funcionamiento está un poco limitado y depende bastante de revisar toda la pantalla). Aquí también hay iconos que no se verbalizan.

Cambios con respecto a versiones anteriores:
Se cambiaron varias teclas del script:
-Las teclas de la cámara (e-s-d-f-c) pasan ahora a ser r-d-f-g-v (para evitar conflictos con las teclas predeterminadas de la GameBoy Advance).
-La tecla que se utilizaba para leer los tiles alrededor del jugador (r) ahora pasa a ser la e.
-La combinación shift + h que se usaba para añadir un hack a la base de datos ahora se utiliza para revisar en combate la vida de nuestro/s Pokémon.
-Ahora para añadir un hack a la base de datos se utilizará la combinación shift + 0.

Como ya comenté en un post anterior, la opción de usar o no usar MOs en el buscarrutas ahora tiene 3 opciones.
-No usar MOs. Las rutas se calcularán sin tener en cuenta ningún tipo de MO como Surf o Corte.
-Usar todas las MOs. Al igual que hasta ahora, utilizará todas las MOs disponibles en el juego para calcular las rutas.
-Usar MOs disponibles. Esta nueva opción revisará que MOs podemos usar en cada momento de la aventura, y calculará las rutas en base a esto. Hay que tener en cuenta que para comprobar que MOs tenemos disponibles el buscarrutas comprueba si tenemos la medalla que permite usar cada MO, pero no verifica que ya hayamos obtenido dicha MO (estoy trabajando en esto).

En los juegos de GameBoy (Rojo, Azul y Amarillo) ahora se pueden ubicar en la lista de objetos cosas tales como los interruptores sobre los que hay que colocar las piedras de la calle victoria. Hasta ahora, para encontrar estos interruptores había que rastrear toda la calle victoria con la cámara, lo que sin duda era realmente tedioso.

En los juegos de GameBoy Color (Oro, Plata y Cristal) ahora se puede consultar si un Pokémon está registrado en la Pokédex o no al luchar contra él. Para esto hay que leer toda la pantalla.

La estructura de la base de datos de hacks (hacks.lua) es diferente a como era hasta ahora. Sin embargo, el script debería reconocer igual la base de datos antigua. Eso sí, al cargar por primera vez un hack que esté en la base de datos con formato antiguo, el script lo convertirá al nuevo formato, y para esto nos preguntará el idioma del hack. Aquí hay que indicar las dos primeras letras de uno de los idiomas disponibles y pulsar enter. El script lo guardará en la base de datos y no preguntará más.
Esto es para que el script sepa en que idioma está el hack, y por lo tanto, en que idioma darnos las instrucciones. Hay que tener en cuenta que esto no afecta a los nombres de sitios y objetos del juego, esto va según los datos del hack.
Los idiomas disponibles se pueden ver dentro de la carpeta messages, pero actualmente son los siguientes:
Inglés (en)
Español (es)
Francés (fr)
Italiano(it)


La verdad es que ahora mismo estos son los cambios más relevantes que se me vienen a la cabeza. Hice y deshice tanto en todo este tiempo que si llevara apunte de todo sería un auténtico caos.
Pero vamos, que si me dejé algo atrás... todo el que lo pruebe ya lo descubrirá!

Un dato importante: El script sufrió varios cambios en su estructura, y la versión del emulador que se utilizaba hasta ahora no funcionará con este script. Con lo cuál yo lo que recomiendo es descomprimir el paquete actualizado en una nueva carpeta y utilizarlo como base. Se pueden portar todos los datos guardados del viejo script copiando las carpetas "battery" y "save" del viejo al nuevo, y dentro de la carpeta "lua", se puede copiar del viejo script a este el archivo hacks.lua si existe. De esta forma tendremos en este nuevo script todas nuestras partidas y nuestra base de datos de hacks.

Esta es la primera versión que publico con compatibilidad para GameBoy Advance. Seguramente tenga algún que otro bug que se me haya pasado, bugs que incluso hagan que el emulador se cierre. por este motivo recomiendo guardar a menudo una copia de nuestra partida con savestates (ctrl+s para guardar y ctrl+l para cargar).

Ah, y una última cosa. Me acabo de dar cuenta de que cuando publiqué este script para Pokémon Amarillo publiqué junto al script la ROM. Sin embargo para las siguientes versiones no volví a publicar más ROMs (se me debió olvidar que aquí no está prohibido colgarlas a diferencia de lo que pasa en audiogames). Ahora mismo tampoco tengo subido nada de Rojo Fuego y Verde Hoja. Así que si alguien necesita alguna de estas ROMs o cualquiera de las anteriores, o hay una preferencia generalizada de que las suba junto al script, no tengo problema en hacerlo.

Ahora sí, no me enrollo más. ¡Aquí el link!

enlace
enlace

Agradecería que se me notifique cualquier bug que aparezca, para poder arreglarlo lo antes posible.

¡Saludos!
Re: Pokemon Access
josesanabria2025, sáb jul 30 2022, 06:07P. M.

Hola @nuive, en el combate contra mi rival en el laboratorio del profesor Oak los textos del tutorial no se leen correctamente, tampoco los de la Poké Tele.
Re: Pokemon Access
sanslash332, sáb jul 30 2022, 07:51P. M.

hola @nuive!

Primero que todo, muchas, pero muchas gracias por las actualizaciones. Eres un crack loco, un súper crack!

Por mi parte, no hay bugs todavía jaja, solo reportar que el segundo mirror de descarga que pusiste, el de google drive no quedó público, por lo que al intentar abrirlo te dice que no tienes permisos, pero bueno :3

Lo de los roms, es curioso; siempre cuando resubía yo los pokemon-access a tfj les agregaba las roms para que viniese todo en un paquete único jajaja.

En fin, ahora me consieguiré un rom de firered / leaf green para añadirlo al paquete, que al menos hasta ahora incluye amarillo y cristal.

Y claro, añadir la entrada de firered / leaf green a tfj :3

En fin, repito un grande nuive. estaré probando si pillo algo lo reporto.

¡saludos!
Re: Pokemon Access
Dekyo 音源, sáb jul 30 2022, 10:06P. M.

¡EXCELENTE, @nuive! ¡Gracias por la nueva actualización! Ya estoy jugándolo y todo funciona bien.
Ha pasado muchísimos años desde que jugué estas ediciones cuando tenía algo de visión (en un emulador de Android, jamás lo terminé), y en estos tiempos ya no era lo mismo, así que de nuevo, muchísimas gracias por tu trabajo.

Seguramente tenga algún que otro bug que se me haya pasado, bugs que incluso hagan que el emulador se cierre.

nuive

Sí, me ha pasado ese bug y se puede reproducir fácilmente. Esto ocurre con 2 cosas, save states, y entrenadores con más de un Pokémon.

1. Debilita a un Pokémon de un entrenador.
2. En el diálogo que te pregunta si quieres cambiar de Pokémon, selecciona sí.
3. En la pantalla de selección de Pokémon, guarda un save state.
4. Selecciona al nuevo Pokémon (o simplemente sigue con el que estás usando actualmente).
5. Cuando el entrenador saca al nuevo Pokémon y estés en el menú de batalla, selecciona lucha.
6. Carga el estado que guardaste.
7. Presiona flecha abajo o arriba hasta la opción salir, y el emulador se cerrará.

Así logré reproducir el bug.
Re: Pokemon Access
Germán Schlude, sáb jul 30 2022, 11:02P. M.

muchas gracias @nuive por todo el trabajo que estás haciendo. estoy disfrutando pokemon rojo fuego como si no hubiera jugado pokemon amarillo!
tengo una idea, y no se que te parece. podría haber una forma de filtrar los objetos del mapa? como una lista de npc, edificios, árboles y cosas de MO, etc. haría la navegación mucho mas fluida, y así no tendríamos que buscar el centro pokemon entre todos los npc.
por mi parte no he encontrado un error todavía, y de verdad que me sorprende lo pulido que está todo. gracias nuevamente por todo, y sigue así!
Re: Pokemon Access
caspian, dom jul 31 2022, 03:50P. M.

Hola @nuive. No voy a felicitarte por el trabajo porque ya lo han hecho otros más arriba y solo haría que repetirme, genial trabajo como siempre.
He descubierto algo que puede ser un bug, digo puede porque empecé la partida hace poco y aún estoy relativamente al principio del juego. La nueva funcionalidad del buscarrutas de usar mos no parece tener en cuenta corte, es decir: por ejemplo, cuando queremos ir al gimnasio de carmín, una vez conseguida la mo corte, pulsamos para poner usar mos disponibles y nos dice no hay camino, sin embargo cuando ponemos todas las mos, lo que hace es llevarnos por el agua. Pasa también en la ruta nueve, al este de ciudad celeste, no sé si en otros sitios ocurrirá también. Tampoco es algo super incómodo, porque basta con rastrear los arbustos y cortarlos para poder pasar, pero por si fuera un bug, ahí lo dejo.
Y bueno, pensándolo mejor... sí, lo haré, felicidades por el trabajo jajaja, a seguir así.
Re: Pokemon Access
Germán Schlude, dom jul 31 2022, 08:09P. M.

actualmente me encuentro en celeste luego de pasar por el mt moon, y no están funcionando los comandos del script. y luego de probarlo nuevamente pero en crystal, se ve que tampoco me funcionan en los otros juegos. esto pasó desde que comenzó este bug que hace que no lea los mensajes emergentes como "que debería hacer tu pokemon?" o incluso los textos del combate, limitándose a solo leer los menúes. se que me pasó bastante al pelear en el mt moon, pero lo raro es que ni reiniciando el script se arregla.
y por si las dudas, tengo el bloc mayus desactivado, que se que eso afecta
Re: Pokemon Access
Germán Schlude, dom jul 31 2022, 08:11P. M.

aclaro que antes de salir del mt moon, funcionaba muy bien, con algunos cuelgues al entrar en combates de vez en cuando, pero lo raro es que ahora no me funciona ni en los otros juegos recién cargados, como crystal. y los pasos si se escuchan
Re: Pokemon Access
nuive, dom jul 31 2022, 08:58P. M.

¡Hola!


Hola @nuive, en el combate contra mi rival en el laboratorio del profesor Oak los textos del tutorial no se leen correctamente, tampoco los de la Poké Tele.

josesanabria2025

Sinceramente, los tutoriales y la Poké Tele fueron, hablando mal, el grano en el culo de este juego desde que empecé con el desarrollo del script. Ahora que está más o menos estable revisaré a ver si se puede hacer algo con esto, pero no prometo nada, la verdad...



¡EXCELENTE, @nuive! ¡Gracias por la nueva actualización! Ya estoy jugándolo y todo funciona bien.
Ha pasado muchísimos años desde que jugué estas ediciones cuando tenía algo de visión (en un emulador de Android, jamás lo terminé), y en estos tiempos ya no era lo mismo, así que de nuevo, muchísimas gracias por tu trabajo.

Seguramente tenga algún que otro bug que se me haya pasado, bugs que incluso hagan que el emulador se cierre.

nuive

Sí, me ha pasado ese bug y se puede reproducir fácilmente. Esto ocurre con 2 cosas, save states, y entrenadores con más de un Pokémon.

1. Debilita a un Pokémon de un entrenador.
2. En el diálogo que te pregunta si quieres cambiar de Pokémon, selecciona sí.
3. En la pantalla de selección de Pokémon, guarda un save state.
4. Selecciona al nuevo Pokémon (o simplemente sigue con el que estás usando actualmente).
5. Cuando el entrenador saca al nuevo Pokémon y estés en el menú de batalla, selecciona lucha.
6. Carga el estado que guardaste.
7. Presiona flecha abajo o arriba hasta la opción salir, y el emulador se cerrará.

Así logré reproducir el bug.

Dekyo 音源

Pfff... sí, lo de cargar savestates es una fuente de bugs. Intenté diseñar una función que cada vez que se cargue un savestate reinicie el script, pero la cosa acabó en desastre.
De todos modos muchas gracias por los pasos detallados para reproducir el bug. Como digo, lo de la respuesta del script después de cargar un savestate es una cosa bastante errática. Sin embargo, miraré que parte del script provoca el cierre del emulador para por lo menos evitar eso.



muchas gracias @nuive por todo el trabajo que estás haciendo. estoy disfrutando pokemon rojo fuego como si no hubiera jugado pokemon amarillo!
tengo una idea, y no se que te parece. podría haber una forma de filtrar los objetos del mapa? como una lista de npc, edificios, árboles y cosas de MO, etc. haría la navegación mucho mas fluida, y así no tendríamos que buscar el centro pokemon entre todos los npc.
por mi parte no he encontrado un error todavía, y de verdad que me sorprende lo pulido que está todo. gracias nuevamente por todo, y sigue así!

Germán Schlude

La verdad no lo había pensado. Tengo que revisar, pero no creo que sea una cosa muy complicada. De todos modos, lo normal es que primero estén todos los lugares, luego las señales, luego las conexiones y por último las personas / objetos interactuables. Miraré a ver que se puede hacer con esto.



Hola @nuive. No voy a felicitarte por el trabajo porque ya lo han hecho otros más arriba y solo haría que repetirme, genial trabajo como siempre.
He descubierto algo que puede ser un bug, digo puede porque empecé la partida hace poco y aún estoy relativamente al principio del juego. La nueva funcionalidad del buscarrutas de usar mos no parece tener en cuenta corte, es decir: por ejemplo, cuando queremos ir al gimnasio de carmín, una vez conseguida la mo corte, pulsamos para poner usar mos disponibles y nos dice no hay camino, sin embargo cuando ponemos todas las mos, lo que hace es llevarnos por el agua. Pasa también en la ruta nueve, al este de ciudad celeste, no sé si en otros sitios ocurrirá también. Tampoco es algo super incómodo, porque basta con rastrear los arbustos y cortarlos para poder pasar, pero por si fuera un bug, ahí lo dejo.
Y bueno, pensándolo mejor... sí, lo haré, felicidades por el trabajo jajaja, a seguir así.

caspian

No, esto no es un bug, De hecho me planteé si hacerlo así o dejarlo como en los anteriores juegos. Como los arbustos de corte en estas ediciones son objetos que se encuentran perfectamente en la lista de objetos, decidí no añadirlos al buscarrutas para liberrar carga de trabajo al script. Mi idea es que el buscarrutas se limite a señalar las cosas que no se pueden ubicar con la lista de objetos. De hecho si no recuerdo mal, esto ya ocurría en los juegos Oro, Plata y Cristal con Golpe Roca, que las rocas no aparecían en el buscarrutas pero sí en la lista de objetos.
De todas formas sólo sería hacer unos cambios en el buscarrutas (creo). Si es preferible tener las indicaciones de corte por este método, lo añado.



aclaro que antes de salir del mt moon, funcionaba muy bien, con algunos cuelgues al entrar en combates de vez en cuando, pero lo raro es que ahora no me funciona ni en los otros juegos recién cargados, como crystal. y los pasos si se escuchan

Germán Schlude


Pffff... esperaba no encontrarme este marrón. Vi que le pasa a alguna gente con el script de Esmeralda, y parece ser que se soluciona reiniciando tu PC, por mucho que odie esta solución, porque a mí en lo personal no me dice nada sobre como resolver el problema.
A mí, en lo personal sólo me pasó esto una vez, y alguna vez estuve desarrollando esto durante a lo mejor dos semanas sin reiniciar mi PC. Creo que tiene algo que ver con como gestiona la memoria el emulador, pero no sé a raíz de qué ocurre esto.

Editado: Arreglado el link a Google Drive. Se ve que cuando colgué esto el otro día ya estaba en el quinto sueño...
Re: Pokemon Access
caspian, lun ago 01 2022, 12:33A. M.

gracias @nuive por tu respuesta. Por mí lo de corte está bien, ya digo que no me resulta nada incómodo buscar los arbustos y cortarlos. Si eso hace que el script rule mejor, bien está, a ver que dicen los demás.
Re: Pokemon Access
Dekyo 音源, lun ago 01 2022, 01:05A. M.

Personalmente tampoco tengo un problema con eso.
Re: Pokemon Access
Germán Schlude, lun ago 01 2022, 12:48P. M.

pues si @nuive se solucionó cuando apagué y prendí el pc. es el único bug que he encontrado, lo que habla bastante bien del script. espero que puedas hacer algo con la lista de objetos
Re: Pokemon Access
sanslash332, lun ago 01 2022, 12:51P. M.

hola @nuive solo un reporte que me pareció extraño.

@josesanabria2025 reportó que el diálogo del profesor oak con los tutoriales al inicio tenía problemas. En mi caso lo probé, y eso se leyó perfectamente, sin ningún tipo de problemática.

No he avanzado más, ya que antes de terminar verdehoja quiero terminar el cristal (sí, voy atrasadito xd) pero cualquier cosa te la reporto tongue

Ahora, la idea de @Germán Schlude está buena, porque por ejemplo en la segunda generación es bastante molesto pelear con los arbolitos de headbut, que suelen llenar la lista de objetos. Quizás añadir como listas de filtrado que puedas cambiar con shift+j o shift+l, tipo todo, rutas, npc, y bueno si un filtro está activo salgan las cosas correspondientes a dicha categoría.

No sé si el juego en si mismo te probea algún pequeño dato sobre los elementos como para poder clasificarlos dinámicamente en alguna de la lista, pero por último algo hardcodeado general.

Ahora respecto a cut, si el elemento en cuestión aparece en el mapa no veo que sea un problema el que no te lo indique a la hora de trazar una ruta; eso sí, tener cuidado que el buscarutas no te diga "no hay camino" cuando solo está interrumpido por un árbol.

Pero bueno, eso por mi parte jeje. gracias @nuive

ya actualicé las descargas de pokemon amarillo y cristal. me falta agregar la entrada de rojofuego smile

saludos
Re: Pokemon Access
chiptune-fm, lun ago 01 2022, 01:55P. M.

Hola! Yo encontré lo siguiente: Al entrar a los stats, cuando sube de nivel un Poke, parece que estoy en un menú. el tema es que no logro leerlo. si pulso la T, entonces lee toooda la pantalla y al final no sé en qué opción estoy. Por lo demás, salvo los tutoriales que tampoco me andan pero eso ya está reportado, hasta ahora me va excelente.
Re: Pokemon Access
Alejandro73, jue ago 04 2022, 09:03P. M.

está buenísima la compatibilidad con rojo fuego! Acá dejo los errores que me ocurrieron a mí.
*en ocasiones el script deja de detectar los mapas y los diálogos, solo se queda leyendo los menús. Por suerte se soluciona dándole nuevamente a run al script.
*A veces el detector de caminos no funciona muy bien. Hay secciones como la caseta de ciudad plateada a la que solo puedo acceder con corte, pero el camino únicamente se muestra después de haber cortado el arbusto. Otras veces depende de la posición en la que estoy, cuando me muevo de cierta manera aparecen los caminos para ciertos objetos. El tema es que los caminos a las ciudades a partir de celeste no salen. Cuando estoy en alguna ruta me fijo en las conexiones y no hay camino, a pesar de que sí se puede llegar sin problemas, pero hasta el momento son cosas menores y no me han impedido avanzar. Está hermoso! Definitivamente es mucho mejor jugar a Kanto en GBA que en los originales jajajaj
Re: Pokemon Access
Alejandro73, jue ago 04 2022, 09:16P. M.

recién descubrí cómo avanzar de página en el foro jajajaj, no había visto los otros reportes. Con respecto a corte no hay mucho problema, el tema es que hay otros objetos como el casino de azulona en los que el camino aparece o desaparece según dónde esté
Re: Pokemon Access
nuive, jue ago 04 2022, 11:25P. M.


recién descubrí cómo avanzar de página en el foro jajajaj, no había visto los otros reportes. Con respecto a corte no hay mucho problema, el tema es que hay otros objetos como el casino de azulona en los que el camino aparece o desaparece según dónde esté

Alejandro73


Gracias por los reportes de bugs. Es cierto que llevo unos días trabajando en el buscarrutas y ya es más preciso que antes. De todos modos, podrías detallar un poco más en que momentos te pasa esto de que las rutas aparecen y desaparecen? Algún lugar concreto,o alguna ruta exacta con la que recuerdes que pasa esto? Pregunto, para poder comprobar en el juego por qué ocurre esto, o si incluso ya se solucionó.
Re: Pokemon Access
Alejandro73, vie ago 05 2022, 09:34A. M.

ocurre por ejemplo en la ruta 5. Cuando salgo de la vía subterránea no me detecta camino hacia la guardería ni a ciudad celeste. Por suerte a ciudad celeste se llega fácil, pero para que aparezca el camino de la guardería hay que salir por una zona que el script no detecta como connection
Re: Pokemon Access
Alejandro73, vie ago 05 2022, 09:46A. M.

con el casino de azulona también ocurre algo parecido. Game Corner: 1 Up 5 Left; No path. Pero si hago 5 pasos a la izquierda: 1 Up
Re: Pokemon Access
nuive, vie ago 05 2022, 03:28P. M.

En que versión estás jugando? Por lo que pones en el post anterior, entiendo que una en inglés. Es extraño, porque acabo de revisar estos dos fallos, y a mí no me ocurren. Las únicas veces que me ocurrió algo así fue probando algún que otro hack, y ahí ya... no hay mucho que hacer. Por ahora me centro en dar soporte a las versiones oficiales.
Re: Pokemon Access
Alejandro73, vie ago 05 2022, 04:04P. M.

entonces fue cosa mía, perdón! Tengo 2 partidas: una en verde hoja (español) y una en un hack que solo modifica la historia, los mapas se conservan igual que en los originales. Por eso creí que tal vez era algo general, mala mía. Lo que sí me ha pasado en los originales es el primer error que puse, que el script deja de reconocer diálogos y mapas y únicamente te toma los menús. EL bug se activa casi siempre que guardas con la barra espaciadora pulsada, pero suele ocurrir aleatoriamente sin hacer nada en concreto. Casi siempre se soluciona dándole a run otra vez, y en muy contadas ocasiones hay que reiniciar PC
Re: Pokemon Access
caspian, vie ago 05 2022, 09:04P. M.

para lo de la guardería, os voy a dar un truco. Desde dentro de ciudad celeste, rastreamos el unico arbusto que hay dentro de la ciudad, lo cortamos y al ir todo hacia abajo saldremos a otra parte de la ruta 5, desde la cual ya podremos ir a la guardería tirando de buscarrutas
Re: Pokemon Access
nuive, vie ago 05 2022, 09:24P. M.


entonces fue cosa mía, perdón! Tengo 2 partidas: una en verde hoja (español) y una en un hack que solo modifica la historia, los mapas se conservan igual que en los originales. Por eso creí que tal vez era algo general, mala mía. Lo que sí me ha pasado en los originales es el primer error que puse, que el script deja de reconocer diálogos y mapas y únicamente te toma los menús. EL bug se activa casi siempre que guardas con la barra espaciadora pulsada, pero suele ocurrir aleatoriamente sin hacer nada en concreto. Casi siempre se soluciona dándole a run otra vez, y en muy contadas ocasiones hay que reiniciar PC

Alejandro73


Esto está (creo) solucionado ya. Eran unos errores en alguna parte del script. Yo llegué a estar un tiempo considerable sin tener que reiniciar el script, antes sí que pasaba eso cuando le daba la gana.
Pronto colgaré actualización con esto ya corregido (y alguna otra cosa más que afecta a todos los juegos y facilitará bastante la jugabilidad).
Re: Pokemon Access
Alejandro73, sáb ago 06 2022, 10:56P. M.

genial entonces! Recién me percaté de que cuando reinicias el script en medio de una batalla la barra de vida del enemigo se oculta, pero si ya se solucionó no hay problema. Hablando de batallas, el símbolo de que un pokemon salvaje trae algo equipado es un carácter legible por NVDA? Recuerdo que al de macho y hembra los hice funcionar con un diccionario
Re: Pokemon Access
nuive, dom ago 07 2022, 09:17A. M.


genial entonces! Recién me percaté de que cuando reinicias el script en medio de una batalla la barra de vida del enemigo se oculta, pero si ya se solucionó no hay problema. Hablando de batallas, el símbolo de que un pokemon salvaje trae algo equipado es un carácter legible por NVDA? Recuerdo que al de macho y hembra los hice funcionar con un diccionario

Alejandro73


Lo que se oculta al reiniciar el script es por como está diseñado el juego, no se puede hacer nada al respecto. Si tienes que reiniciar el script en medio de una batalla, métete en el menú de Pokémon o Mochila y al salir todo estará ya en su sitio.

Hasta donde yo sé, no hay forma de saber si un pokémon lleva algo equipado cuando te lo encuentras. Es necesario capturarlo para comprobar esto.
Re: Pokemon Access
Alejandro73, dom ago 07 2022, 02:32P. M.

buenísimo! Lo importante es que se puede restaurar la barra. según lo que me dijeron el pokemon tiene un símbolo arriba de la cabeza cuando trae algo equipado, pero seguro debe ser un sprite gráfico, no un carácter. Igual era más por curiosidad, de última si no tiene nada equipado se resetea y listo.
Re: Pokemon Access
nuive, lun ago 08 2022, 02:27P. M.


buenísimo! Lo importante es que se puede restaurar la barra. según lo que me dijeron el pokemon tiene un símbolo arriba de la cabeza cuando trae algo equipado, pero seguro debe ser un sprite gráfico, no un carácter. Igual era más por curiosidad, de última si no tiene nada equipado se resetea y listo.

Alejandro73


Y sabemos en que juegos ocurre esto de que se pueda ver si tiene objeto equipado o no? Porque por lo que me comentaron a mí, no se ve nada... en tal caso, en la lista de Pokémon del equipo, ahí sí puede ser...
Re: Pokemon Access
sanslash332, lun ago 08 2022, 08:06P. M.

Holi @nuive
en mi caso nada, nada que reportar por ahora. solo sigo disfrutando del script.
Si sale algún update, ahí actualizo la entrada de tfj que ya precarga los tres roms. aún no añado eso sí la de rojofuego, pero en las descargas de amarillo o cristal vienen los roms incluyendo rojofuego y la versión 3.0 jeje.

¡saludos!
Re: Pokemon Access
nuive, lun ago 08 2022, 11:28P. M.

¡Hola!
Nueva actualización, la 3.0.1, y con bastantes cambios

-A nivel general: La lista de objetos está un poco cambiada en todos los juegos (desde Rojo hasta Rojo Fuego). Hasta ahora, sobre todo en sitios como las islas espuma o las ruinas alfa (sitios con agujeros) la cosa podía liarse bastante porque el juego detectaba todo como entradas y podía pasar que por ir corriendo hacia una sin saber que era un agujero... bueno, acabábamos sabrá dios donde. Ahora este tipo de entradas en la lista de objetos figuran como agujeros, y así no hay equivocación posible. Lo mismo con los puntos de aterrizaje cuando caemos por un agujero, que los detectaba como entradas en las que simplemente cuando pisábamos no pasaba nada porque en realidad no son entradas, son puntos que usa el juego para saber donde caer al tirarnos por un agujero. El problema de esto es que además de señalar esto como entradas falsas el buscarrutas las veía como impasables por lo que bloqueaban ciertas rutas. Estas entradas, ahora directamente no aparecerán en la lista de objetos y problema solucionado.
-Juegos de GBA: Arreglado el problema con los tutoriales del principio del juego así como la Poké Tele, que ahora es completamente accesible. También se pueden leer ya los iconos inexistentes en la versión anterior (los tipos de los Pokémon y ataques en las pantallas de información y en el Tubo de MTs y MOs. Además de esto, están solucionados todos los problemas detectados que hacían que se cerrara el emulador, y muchos que hacían que el script dejara de leer (a parte de los menús). Además de todo esto, se arreglan otros bugs como cuelgues con los tutores de movimientos. En resumen, pequeñas cosas que hacen que el script sea ahora mucho más estable.
-Traducciones: Añadida traducción al alemán para Pokémon Rojo, Azul y Amarillo y Portugués de Brasil para Pokémon Cristal.

Aviso importante: Es necesario utilizar la versión del emulador que adjunto en esta última versión, ya que tuve que volver a recompilarlo por problemas con algunas funciones.

¡Sigo pendiente por más bugs o sugerencias! Estoy trabajando en los filtros para la lista de objetos, no se me olvidó.
Re: Pokemon Access
Germán Schlude, mar ago 09 2022, 12:10A. M.

donde está el link de descarga? xd
Re: Pokemon Access
nuive, mar ago 09 2022, 07:14A. M.


donde está el link de descarga? xd

Germán Schlude


Actualizado en el primer post jajajajaja

Editado: Me olvidé de comentarlo en los cambios, para quien no se lea los readme. Añadí una nueva combinación de teclas, shift +f, que sirve para que el buscarrutas te indique el camino hasta el punto en el que esté situada la cámara. Esto es útil para cosas como mover piedras y cosas así. Esto funciona en todos los juegos.
Re: Pokemon Access
sanslash332, mar ago 09 2022, 10:37A. M.

waaa! como siempre @nuive geniaaal

actualizando entonces los paquetes disponibles en tfj con la 3.0.1 smile
Re: Pokemon Access
caspian, mar ago 09 2022, 11:13A. M.

hola chicos, aquí yo otra vez con otro aporte sobre intercambios pokemon que considero que puede ser de utilidad. En el dia de ayer, gracias a un compañero de sala de juegos, he descubierto este emulador que os traigo hoy, con el que podemos intercambiar pokemon de un modo más fiable que con el que os enseñé en el tutorial anterior. De hecho, todos los intercambios que probé con él tuvieron éxito, no como con el vba, que a veces da fallos e incluso hay gente a la que nunca le ha funcionado.
Os explico brevemente como hacer para intercambiar con este emulador. Primero, obviamente, habrá que descargarlo desde elsiguiente link:
enlace
Una vez descargado, lo extraemos en caso de portable, o lo instalamos si hemos decidido bajar la version instalable y lo ejecutamos de modo normal. Cargamos la primera rom de las dos que vamos a usar para el intercambio. Una vez hecho, pulsamos alt para acceder a la barra de menú y en archivo bajamos hasta nueva partida multijugador.
Al pulsar enter, se nos abre automáticamente una nueva ventana del emulador en la que hemos de cargar la segunda rom del intercambio. Automáticamente, las ventanas se nos renombrarán, en una pondrá jugador 1 y en la otra jugador 2, con lo que ya están conectadas. ahora todo lo que queda por hacer es hablar con la chica del club del cable y realizar el intercambio normalmente. Espero que os guste y felices intercambios, nos vemos por aquí.
Re: Pokemon Access
nuive, mar ago 09 2022, 01:29P. M.

Este emulador es muchísimo mejor que el que tenemos, y de hecho están implementando el soporte de scripts. El problema es que aún está en fase de desarrollo y le faltan muchas características para que esto funcione, pero promete muchísimo. La verdad que tengo muchas ganas de dejar de lado este VBA que el pobre ya está un poquito desfasado (cada vez que quiero hacerle algún cambio en algo que falla tengo que tirar de máquina virtual con Visual Studio 2010). Sin duda mGBA es el futuro para esto, y el desarrollador es muy receptivo a sugerencias, de hecho en el Discord le comenté alguna que otra cosa que se podía cambiar por el beneficio de este script y lo hizo al momento.
Re: Pokemon Access
Dekyo 音源, mar ago 09 2022, 02:28P. M.

Sí, yo había hecho la prueba con mGBA hace unas semanas, y funciona bastante bien, incluso con los juegos de primera y segunda generación, así que pude experimentar el intercambio como debe ser sin necesidad de hacer otro tipo de configuraciones.
Re: Pokemon Access
Dekyo 音源, mar ago 09 2022, 02:32P. M.

Y @sanslash332 perdón por salirme del tema pero no se muestra la última página de este topic. Se puede acceder pero el contenido no se muestra.
Re: Pokemon Access
caspian, mar ago 09 2022, 07:23P. M.

eso pasa a veces, pero al rato se suele solucionar. me alegro que se pueda intercambiar tambien los de la primera y segunda gen, mola!
Re: Pokemon Access
braianrodriguez, mar ago 09 2022, 11:04P. M.

hola @nuive, cuando quiero jugar a pokemon rojo fuego o verde hoja, me sale esto en el cuadro de edición de lectura:
.\crc32.lua:4: cannot load module 'crc32': No se puede encontrar el módulo especificado.
y por lo tanto, no puedo leer nada en pokemon verde hoja o pokemon rojo fuego, pero si me funcionan los juegos de la primera generación.
Re: Pokemon Access
nuive, mié ago 10 2022, 04:45P. M.


hola @nuive, cuando quiero jugar a pokemon rojo fuego o verde hoja, me sale esto en el cuadro de edición de lectura:
.\crc32.lua:4: cannot load module 'crc32': No se puede encontrar el módulo especificado.
y por lo tanto, no puedo leer nada en pokemon verde hoja o pokemon rojo fuego, pero si me funcionan los juegos de la primera generación.

braianrodriguez


Esto era un fallo bastante común en la versión 3.0. Estás usando la 3.0.1 con todo el paquete actualizado? Si es así, seguramente el problema es que tienes que instalar esto.

enlace

Saludos!
Re: Pokemon Access
nuive, mié ago 10 2022, 06:03P. M.

Actualizados links en el primer post a la versión 3.0.2. Estos días sobre todo en audiogames me reportaron pequeños bugs.. Sin embargo esta actualización viene porque uno de los bugs reportados no era precisamente pequeño, rompía totalmente el buscarrutas cuando había que hacer surf. Y en realidad no era un bug, era que como estoy desarrollando todo el rato voy quitando y poniendo cosas para ir probando, y no me di cuenta de desbloquear el surf en el buscarrutas.
Ah, y se añaden las listas de objetos por filtros con shift+j y shift+l.
Re: Pokemon Access
Dekyo 音源, mié ago 10 2022, 06:19P. M.

Gracias @nuive por la actualización, confirmo que el problema con el surfing se solucionó.
Re: Pokemon Access
josesanabria2025, jue ago 11 2022, 12:17A. M.

Hola @nuive, en el primer combate, al entrar a la lista de pokémon, el tutorial del profesor Oak no se lee. Otro error que me ocurre, es que al filtrar en la lista de objetos por conecciones el script se detiene, específicamente eso me pasa en la casa de mi personaje, aun que yo creo que eso pasa al no haber rutas.
Re: Pokemon Access
nuive, jue ago 11 2022, 08:13A. M.


Hola @nuive, en el primer combate, al entrar a la lista de pokémon, el tutorial del profesor Oak no se lee. Otro error que me ocurre, es que al filtrar en la lista de objetos por conecciones el script se detiene, específicamente eso me pasa en la casa de mi personaje, aun que yo creo que eso pasa al no haber rutas.

josesanabria2025


Lo del tutorial ya lo comprobé, estará arreglado en la próxima actualización.
Lo de los filtros como tal no conseguí reproducirlo. Si te refieres a que el script muere al pulsar la P en una lista de objetos vacía, solucionado también para la siguiente. Ahora en vez de detener el script salta un mensaje avisando de que el buscarrutas no funciona sin seleccionar un objeto en la lista.
Re: Pokemon Access
facu, jue ago 11 2022, 03:29P. M.

hola. me sucede, que al querer cargar alguna room, sea pokemon rojo fuego o pokemon amarillo por dar ejemplos, el emulador se traba y no puedo cargar la room, alguien sabe como se puede solucionar esto? gracias!
Re: Pokemon Access
josesanabria2025, sáb ago 13 2022, 09:19P. M.


Lo de los filtros como tal no conseguí reproducirlo. Si te refieres a que el script muere al pulsar la P en una lista de objetos vacía, solucionado también para la siguiente. Ahora en vez de detener el script salta un mensaje avisando de que el buscarrutas no funciona sin seleccionar un objeto en la lista.

nuive

Sí, se me pasó escribir lo de que el script se detiene al pulsar la p en una lista de objetos vacía. Gracias @nuive
Re: Pokemon Access
Germán Schlude, sáb ago 27 2022, 08:59P. M.

@nuive se me ocurrió una idea. 'podrías hacer que haya una forma de que la cámara interactúe con los deslizadores de la guarida rocket y lugares así? no digo que lo haga siempre, pero que tengas la opción. es que mientras mi primo me ayudaba a pasarlo pensé... una de las cosas que ayuda a la gente que ve con eso es que pueden seguir con la mirada el camino que hacen los deslizadores. y si bien con la cámara hipotéticamente un ciego también puede hacerlo, sería mejor que la cámara hiciera el camino de forma automática para saber donde terminarías si fueras por ahí. espero me hayas entendido xd
Re: Pokemon Access
nuive, dom sept 11 2022, 12:36P. M.

¡Hola!


@nuive se me ocurrió una idea. 'podrías hacer que haya una forma de que la cámara interactúe con los deslizadores de la guarida rocket y lugares así? no digo que lo haga siempre, pero que tengas la opción. es que mientras mi primo me ayudaba a pasarlo pensé... una de las cosas que ayuda a la gente que ve con eso es que pueden seguir con la mirada el camino que hacen los deslizadores. y si bien con la cámara hipotéticamente un ciego también puede hacerlo, sería mejor que la cámara hiciera el camino de forma automática para saber donde terminarías si fueras por ahí. espero me hayas entendido xd

Germán Schlude


¿Te refieres a que al encontrar una flecha de esas con la cámara se mueva sola hasta el punto de parada, sea un obstáculo o una baldosa de parada? Si es así sí, se podría hacer. Lo apunto en el archivo de añadidos a implementar.

Dicho esto no, no desaparecí. Sigo trabajando en el script, pero la siguiente versión tardará algo, la verdad que hay bastantes novedades. El motivo principal de la tardanza es que tuve que rediseñar prácticamente por completo el motor que procesa los textos. Mientras lo iba diseñando en Rojo Fuego había cosas que no me cuadraban del todo, pero como funcionaba pues... seguí la ley habitual del programador (¡si funciona, no toques!). Sin embargo... al empezar a añadir la compatibilidad con Pokémon Esmeralda... se rompió todo. Y al final me tocó desmontar todo el motor de textos, estudiarlo bien en los códigos fuente y entender lo que no me cuadraba. Actualmente el script cuenta con un motor mucho más estable, y compatible con Rojo Fuego, Verde Hoja y Esmeralda (rubí y Zafiro supongo que también, pero aún ni los toqué, miedo me da...). Sin embargo este nuevo motor da algún que otro problema que aún no conseguí solucionar (lecturas extrañas sobre todo, y algún que otro cuelgue que aún no descubrí muy bien a qué se debe), pero poco a poco va funcionando mejor.
al margen de esto, rediseñé bastantes cosas que afectarán a todo el script en general. Muchas de estas cosas por ahora solo están aplicadas a los juegos de GBA, pero cuento con tenerlas aplicadas también a los anteriores para cuando publique la nueva versión.
Entre estas mejoras se encuentran:
-Posibilidad de usar un archivo de configuración. En este archivo habrá opciones tal como idioma, modo de usar MOs... Lo del idioma es para esos mensajes que antes salían en inglés independientemente del idioma del juego. Ahora este tipo de mensajes que no dependen del juego que estemos jugando se verbalizarán en el idioma elegido en esta configuración (siempre que esté disponible). Lo del uso de las MO es para marcar una de las 3 opciones para que el script cargue automáticamente en esa opción. En mi caso, por ejemplo, siempre suelo usar el script con la opción en usar MOs disponibles, y cada vez que lo inicio tengo que cambiar con shift+p. Con la configuración esto ya no será necesario. Se podrá cambiar igual entre las 3 opciones como hasta ahora, pero al cargar el script estará activada la opción seleccionada en la configuración.
-Existirá una nueva opción para elegir si la cámara sigue al jugador o no. Me di cuenta de que el comando shift+f para ubicar un punto concreto en el mapa con la cámara es muy útil, pero de poco vale si en cuanto empezamos a caminar la cámara nos sigue y pierde ese punto. Si el camino es muy largo... es imposible memorizarlo desde el punto de partida, será necesario buscarlo cada vez que se quieran ver los pasos a seguir. Para esto, activando la opción para que la cámara no siga al jugador, la cámara se quedará en ese punto aunque caminemos, con lo que de igual forma que se pulsa la P según se va caminando hacia un objeto, se puede pulsar shift+f según se camina hacia el punto elegido.
-La última gran novedad que tengo diseñada por ahora para la nueva versión es mayor flexibilidad en el uso del buscarrutas. Sobre todo en mapas muy grandes, al buscar rutas hacia objetos lejanos ocurría que el emulador se lagueaba hasta el punto de soltar a veces mensajes de que el script se volvía loco y no sé que más. Mensajes en los que había que pulsar "retry" varias veces y nos perdíamos las indicaciones del buscarrutas. Todo esto ya prácticamente se acabó, tanto los lagueos como el script loco. Ahora el buscarrutas irá buscando el camino, y si le lleva mucho tiempo lo indicará con el mensaje "Buscando..." dejando así claro que el script no se murió y sigue trabajando.
La frecuencia con la que se repite este mensaje también se podrá modificar en la configuración e incluso se podrá desactivar el mensaje. Y como el lagueo del emulador depende bastante de las características de cada PC, también hay un valor en la configuración para esto. Si con el valor predeterminado se sigue notando lagueo al buscar rutas, se puede aumentar o disminuir el valor en la configuración, como si fuera una especie de buffer. A menos valor menos lag, pero más tardará el buscarrutas en hacer su trabajo.

Y creo que las principales novedades que tengo hasta hoy son estas. La compatibilidad con Pokémon Esmeralda ya está muy avanzada, pero me falta ir solucionando bugs y comprobando que todas las zonas del juego son accesibles. La verdad que es un salto bastante grande después de Rojo Fuego, sobre todo los puzles de los gimnasios pffff... no recuerdo haber sufrido tanto con nada en este script (al margen del motor de textos, claro) como para hacer accesibles las entradas giratorias del gimnasio de tipo volador, y aún no me convence del todo el funcionamiento...
Re: Pokemon Access
Germán Schlude, lun sept 12 2022, 03:07A. M.

efectivamente @nuive, a eso me refería. no tiene que ser el comportamiento por defecto, pero sería util. también me alegra saber que esmeralda está cada vez más cerca! gracias por tu arduo trabajo!
Re: Pokemon Access
sanslash332, lun sept 12 2022, 03:18A. M.

hola @nuive

Como siempre, grandiosas las nuevas actualizaciones y noticias. Se nota que esto avanza de a pasos agigantados y en cosa de tiempo tendremos novedades para las versiones viejas, y compavilidad incluso con esmeralda; lo mejor es que si todo sale tal y como viene, la compavilidad con rubí y saphiro vendrá incluída. jeje

No tengo nada que decir respecto de todos los planes; todo suena súper bien y quedará demasiado genial.

Eres un crack bro; lo que inició tsp como algo completo pero que solo era un experimento tu lo elevaste a la enésima potencia. muchas gracias.

Respecto a lo clásico de la programación... tranquilo, suele pasar; uno no toca las cosas mientras funcionen, pero a veces toca reconstruirlo todo si la nueva feature a añadir lo requiere... y en este caso... es un juego completo xd.

Ahora la duda es ¿el problema fue que quedó demasiado desordenado el motor viejo?
O esmeralda procesa los textos de manera totalmente diferente a FRLG por lo que tuviste que rescontruir todo tomando en cuenta que ha de ser compatible con ambas estructuras?

Eso; de antemano muchas gracias y wow ahí realmente puro talento para entender ese assembler he.

Bueno, saludos; cuídate mucho y esperamos novedades smile ¡saludos!
Re: Pokemon Access
nuive, lun sept 12 2022, 03:46P. M.


Ahora la duda es ¿el problema fue que quedó demasiado desordenado el motor viejo?
O esmeralda procesa los textos de manera totalmente diferente a FRLG por lo que tuviste que rescontruir todo tomando en cuenta que ha de ser compatible con ambas estructuras?

sanslash332



No, que va. Los dos juegos usan el mismo motor de textos, con cambios menores. El problema fue que a la hora de añadir la compatibilidad con Rojo Fuego, no entendí muy bien como colocaba el texto en las diferentes zonas de la pantalla. Revisando el código descubrí que el texto se manejaba por ventanas, y que cada ventana tenía sus coordenadas con respecto a la pantalla. Entonces, por ejemplo, la ventana con el nombre de un Pokémon en general es de 64x16 píxeles, pero cada ventana, según donde aparezca posicionada en la ventana, tiene unos atributos llamados left y top, que indican a que distancia de la esquina superior izquierda de la pantalla se colocará la ventana.
Estudiando las funciones en las que el juego posicionaba las ventanas me di cuenta de que no usaba estos atributos para nada y no entendía por qué, pero a mí simplemente tirando de esos atributos me funcionaba bien, con lo que creaba una pantalla virtual, e iba poniendo cada ventana en la posición que indicaban sus atributos.
Así es como funciona a grandes rasgos el motor que hay en la versión del script publicada. Sin embargo, al añadir la compatibilidad con esmeralda descubrí que las ventanas, a pesar de manejarse con las mismas funciones, tienen partes que solo se muestran en situaciones específicas, otras partes que van cambiando... vamos, que se acabó lo de plantar la ventana entera en las coordenadas indicadas por los atributos, y tuve que estudiar bien todas las funciones hasta que entendí como van. Al final y para no enrollarme mucho, digamos que el proceso no es tan simple como coger la ventana y ponerla donde indican los atributos. Lo que hace el juego es copiar los píxeles en bloques de 8x8 a la memoria de vídeo, luego asignar a cada bloque un index (lo que viene siendo el tilemap) y en base a eso ya decide que bloques muestra en cada momento.
Y si ya todo esto suena lioso, hay que sumarle el hecho de que los lectores de pantalla leen texto, no píxeles... por suerte todo lo que tenía para convertir el texto en píxeles no hubo que tocarlo, si no... aún estaría ahora con eso.
Re: Pokemon Access
sanslash332, mar sept 13 2022, 03:16A. M.

muchas gracias @nuive con la explicación; queda bastante claro así y se entiende smile

Ahora en qué secciones del juego notaste esos cambios? que la generación de las ventanas es dinámica en esmeralda y no estática como en firered?
Será por las nuevas animaciones?

Y genial, gracias por la explicación técnica; me quedó claro :3
Re: Pokemon Access
nuive, lun sept 26 2022, 06:49P. M.

¡Hola!


muchas gracias @nuive con la explicación; queda bastante claro así y se entiende smile

Ahora en qué secciones del juego notaste esos cambios? que la generación de las ventanas es dinámica en esmeralda y no estática como en firered?
Será por las nuevas animaciones?

Y genial, gracias por la explicación técnica; me quedó claro :3

sanslash332


No, las ventanas se generan exactamente igual. La diferencia la encontré principalmente en las pantallas de datos de los Pokémon. En Rojo Fuego, por ejemplo, tú abrías la pantalla de estado y te copiaba todas las ventanas relacionadas con la visión general. Si cambiabas a la pantalla de ataques, borraba todo lo de la visión general y copiaba todo lo de ataques.
El problema es que esmeralda esto lo hace distinto. Cuando abres el resumen del Pokémon copia automáticamente todas las ventanas, y muestra solo las partes de la página que tengas seleccionada. Cuando cambias de página, oculta las partes de la anterior y muestra las de la nueva.
Ahora bien, como tenía yo esto diseñado era imposible, porque yo lo que hacía era coger cada ventana y copiarla en las coordenadas que indican sus atributos en una pantalla virtual que yo me creaba. Pero claro, resulta que como hay ventanas que tienen las mismas coordenadas siendo una para la página de datos generales y otra para la de movimientos pues... lógicamente las ventanas se copiaban unas encima de las otras y eso era una locura, no había dios que entendiera nada porque se mezclaba todo. Además, como mi motor generaba una pantalla virtual a partir de las copias, una vez copiaba no diferenciaba entre ventanas y no tenía forma de decirle qué tenía que mostrar y qué no. Era un motor simplificado que entendía que todo lo que se copiaba, era porque tenía que salir por pantalla.
Lo que hace Esmeralda es copiar todas las ventanas a diferentes zonas de la memoria de vídeo para que no se machaquen unas con otras y asignarles diferentes ID (los tilemaps que mencionaba en mi anterior post). Con esto, en cada momento el juego sabe que tiles (bloques de 64 píxeles) tiene que mostrar en cualquier momento, y en cuál de las 4 capas de gráficos (backgrounds) de las que dispone la GameBoy Advance mostrar cada cosa.

Dicho esto, llevo tanto tiempo desaparecido porque...


Estudiando las funciones en las que el juego posicionaba las ventanas me di cuenta de que no usaba estos atributos para nada y no entendía por qué, pero a mí simplemente tirando de esos atributos me funcionaba bien, con lo que creaba una pantalla virtual, e iba poniendo cada ventana en la posición que indicaban sus atributos.
Así es como funciona a grandes rasgos el motor que hay en la versión del script publicada. Sin embargo, al añadir la compatibilidad con esmeralda descubrí que las ventanas, a pesar de manejarse con las mismas funciones, tienen partes que solo se muestran en situaciones específicas, otras partes que van cambiando... vamos, que se acabó lo de plantar la ventana entera en las coordenadas indicadas por los atributos, y tuve que estudiar bien todas las funciones hasta que entendí como van. Al final y para no enrollarme mucho, digamos que el proceso no es tan simple como coger la ventana y ponerla donde indican los atributos. Lo que hace el juego es copiar los píxeles en bloques de 8x8 a la memoria de vídeo, luego asignar a cada bloque un index (lo que viene siendo el tilemap) y en base a eso ya decide que bloques muestra en cada momento.
Y si ya todo esto suena lioso, hay que sumarle el hecho de que los lectores de pantalla leen texto, no píxeles... por suerte todo lo que tenía para convertir el texto en píxeles no hubo que tocarlo, si no... aún estaría ahora con eso.

nuive


Sip, definitivamente estoy gafado. Como mencionaba en los últimos posts, el motor de textos estaba dando errores raros. Al final, para solucionar todos los problemas hubo que tocar todas estas funciones que digo ahí que por suerte no tuve que tocar. Y grande fue la pesadilla, la verdad.
Hubo que volver, por tercera vez, a desmontar todo el motor de textos y rehacer casi todo. De hecho, mucho código que me llevó semanas diseñar al final lo tuve que quitar del script porque llegué a un punto en el que ya no entendía nada.
De hecho, ahora que ya tengo totalmente claro como funciona todo el asunto del texto el script tiene muchísimos menos errores y es mucho más estable, además de estar muchísimo más optimizado, utilizar mucho menos código... Todo lo que al final se convirtió en una serie de apaños para que funcionaran bien Rojo Fuego y Verde Hoja y que en su momento me parecía la única salida lo descarté. Así que espero pronto tener una nueva versión lista y mucho más robusta.


Pero mientras... traigo muestra.

La primera muestra del script funcionando con Pokémon Esmeralda en (español?) Lo pongo con interrogación precisamente porque aún está en fase beta, y como el código desensamblado es de los juegos en inglés siempre trabajo con estos, y como podréis escuchar se meten palabras en inglés por el medio y cosas así un poco raras. Cuando salga la próxima versión del script, obviamente nada de esto ocurrirá, y el script estará traducido como hasta ahora.

Antes de dejar el link, sólo una aclaración: en un momento del audio se oye como tras ver los datos de un Pokémon cierro todos los menús, vuelvo a abrirlos, veo los datos del mismo Pokémon y son distintos. Esto no es ningún fallo ni nada parecido. Simplemente es que corté el audio, porque me pasé tropecientos años para capturar al Pokémon con la naturaleza que me interesaba.

Y sin más que añadir, aquí el audio.

enlace

Son 23 minutos de grabación, pero es todo bastante repetitivo. Como ya todos sabemos que la jugabilidad al final no cambia mucho con respecto a Rojo Fuego y Verde Hoja, me quise centrar en grabar nuevas funciones.

Y eso es todo por ahora, espero opiniones, dudas, sujerencias... lo que sea.
Re: Pokemon Access
Germán Schlude, lun sept 26 2022, 09:36P. M.

Hola @nuive
Suena como mucho trabajo la verdad. Creheme que valdrá la pena, ya que no solo yo voy a jugar a esmeralda y sus derivados como si fuera un niño en los 2000 con una GBA, sino que además tengo un amigo que se pasó el juego entero sin ver, y creo disfrutará mucho esto.
me alegra que el script esté mucho más estable, y me muero de ganas de conocer hoen. espero que se pueda ir a la isla para capturar a mew, las islas espejismo, entre otras. de todos modos que sepas que me tienes al filo del asiento esperando. graciaaaaaaaaas.
pd: no! me niego a contener mi emoción. waaaaaaa!
Re: Pokemon Access
sanslash332, jue sept 29 2022, 03:47A. M.

primero que todo @nuive gracias por la última demostración.
Qué genial que ya tengas listo incluso la pesca, o los pokéblocks. eres realmente un crack :3


Y ya por los textos... me suena a que todo el trabajo valió la pena realmente; como que cambiaste una solusión add-hock a una más genṕérica y fleccible porque entiendiste mejor como va todo por detrás y no funciona a parches :3

Me alegro realmente, en especial que seas capaz de trabajar tan bien con direcciones de memoria, pixels a pelo direcciones y tal. no es fácil y requiere mucha paciencia realmente. muuucha jaja.

En fin, con ancias esperando nuevas versiones; yo voy más atrasadito, recién terminando el cristal, así que tengo tiempo. ojalá ocurre que termine el cristal justo para el lanzamiento, así sigo con esmeralda jajajaja.

Muchas gracias por todo el trabajo :3

¡nos leemos!
Re: Pokemon Access
Germán Schlude, sáb oct 08 2022, 06:55P. M.

Hola @nuive seguramente no te esperás para nada esto, pero creo que es importante agradecerte como te mereces.
Mira. yo siempre fui el tipo de ciego que si no es accesible, no intenta jugar a los juegos por más que le gusten. no soy como mi amigo que se pasó todo esmeralda solo con guías de youtube y determinación. yo siempre veía a un amigo vidente jugar una y otra vez a rojo fuego, esmeralda, hg y ss, entre otros, y siempre pensaba como sería el mundo si braillemon hubiera sido completado. de rrepente tuvimos una gran muestra de eso con pokemon cristal, y a pesar de que estaba en inglés éramos felices jugando a pokemon como cualquiera por primera vez.
y luego viniste e hiciste toda la primera y segunda generación accesibles, en español, e incluso expandiste lo que ya podíamos hacer en cristal.
ahora estás con la titánica labor de hacer la tercera generación accesible y---
no sabes cómo me siento al llegar al archipiélago 7 por primera vez. pokemon rf es el pokemon que más he visto jugar a mi amigo, y jugarlo por primera vez por mi cuenta se siente más especial de lo que pude haber imaginado.
No se cómo agradecerte todo el trabajo que estás haciendo para que no solo vos, sino que todo el mundo pueda disfrutar de estos juegos.
espero que esto que te cuento sea una pequeña muestra de lo que estás causando en todos nosotros.
ahora no dejo de soñar con que se hagan accesibles las siguientes generaciones. puede que falte mucho o incluso nunca ocurra, pero de momento soy muy feliz sabiendo que pronto iré a hoen, capturaré un rayqasa, y juntos aplastaremos a cada rival que se nos cruse.
gracias nuive, graaaaacias.
Re: Pokemon Access
AyoubGamer13, mié oct 12 2022, 01:16P. M.

Hola, @nuive, te digo lo mismo que Germán, el poder jugar con scripts ha sido algo que he disfrutado muchísimo, yo me he llegado a pasar este, y muchos más juegos de la franquicia sin scripts, ni guías, ni nada, conste que mi resto visual es nulo, si eso luz.
Poder disfrutar el juego sin ponerme a buscar por donde ir ha sido algo espectacular y que me ha permitido ir mucho más relax al explorar y no dejarme nada nada.
Así que sigue con tu gran trabajo!

Edit by sandl:
Hago un segundo post para hacer un par de preguntas, si se puede claro.
Sería posible que el script lea bien el efecto de los mobes?
Quiero decir, cuando un poke sube de nivel, aprende algo, muchas veces por no acordarme de todo, sobre
todo los mobes más bajos, porque los más usados si me los sé por el competitivo y cosas así, pero eso,
que muchas veces me toca ir a la wikidex a mirar que diablos hacía esa cosa, con la t se pueden medio
leer, pero es bastante confuso.
Y no se si es algo del emulador, o algo, pero a veces, cuando cambio de ventana a mirar otra cosa 5 segundos,
y vuelvo, el script ya no lee los caminos, solo el menú cuando pulso start, que me da para guardar y
reiniciar el emulador, eso y que se vuelve muy loco a veces cuando llevo mucho rato jugando, en batallas
muy seguidas o uso muchos items

Re: Pokemon Access
sanslash332, sáb oct 15 2022, 12:43A. M.

Oiga @AyoubGamer13

No me haga doble post pue, y menos en tan poco tiempo. Si usted sabe que en el foro se pueden editar los mensajes, no me sea más pajero de lo que es en realidad. ¿sí?

Ya te edité el post yo juntando los dos.
Re: Pokemon Access
vrivri, sáb oct 15 2022, 07:18P. M.

Pues, a esperar. de momento, jugando a rojo fuego, incluso alguna que otra hack room acá. Saludos!
Re: Pokemon Access
nuive, vie nov 18 2022, 12:01A. M.

¡Hola!

Primero que nada, me alegra muchísimo ver estos comentarios referentes a lo que facilita este script jugar a estos juegos. La verdad yo fui de los que siempre jugué los juegos al margen de la accesibilidad, pero como decís, Braillemon nos aportó una nueva perspectiva. De hecho, cuando vi que parecía que no lo iban a continuar, empecé a investigar como accesibilizar todo esto, antes de conocer Lua, el Pokémon Crystal Access (aunque ya existía) ni nada de esto.
Tengo por ahí unas versiones destrozadas del VisualBoy Advance que modifiqué para que leyeran ciertos textos en el Pokémon Amarillo, un DesMuMe que compartí en el post de la guía de Pokémon Platino que hacía algo parecido... y luego descubrí Crystal Access y Lua, un nuevo mundo.

A partir de ahí... pues empecé a investigar, y hasta hoy.

Hoy, que por cierto, damos la bienvenida a una nueva generación de Pokémon, con Pokémon Escarlata y Púrpura. Una nueva generación que se aleja más de nuestro alcance con el mundo abierto. Ya pude probar estos juegos, y lo poco que toqueteé puedo afirmar que ya no hay forma de saber cuando se choca con las paredes, al menos en interiores (lógicamente ni conseguí salir de la casa). Tampoco se oyen pasos, con lo cuál... el mundo abierto que tanto ansiaba una buena parte del fandom de Pokémon es una nueva piedra para nosotros.
Por otro lado, parece ser que ahora el mundo será un gran mapa, con lo que si en algún momento se llega a accesibilizar esta generación habrá que cambiar el método, puesto que ya no habrá listas de objetos ni buscarrutas (los objetos en los nuevos juegos van apareciendo según se va caminando). Pero yo ya voy pensando con 20 años de anticipo (después de todo, aún vamos con la GameBoy Advance). Si en algún momento se llegara a poder scriptear en Pokémon Escarlata y Púrpura (o Espada y Escudo en su área silvestre) el método de Braillemon, en el que según se iba caminando e iban sonando los objetos según aparecían me parece un método igual de válido para hacer los juegos accesibles.
Así que no nos dejemos agobiar por los mundos abiertos, que todo se andará.

Mientras tanto... no traigo una novena generación accesible, pero si traigo una nueva versión del script, la 3.1.0.

¿Novedades? Pues... la principal, compatibilidad con Pokémon Esmeralda. Así es, por fin está aquí la región de Hoenn, en inglés y español! Bienvenidos al "too much water...". Y vaya si hay demasiada agua. Las tremendas rutas de Hoen me hicieron rediseñar el buscarrutas entero, ya que en tanto mar el script se rompía por completo. La ventaja es que con el nuevo buscarrutas ya no habrá lag al utilizarlo (o no debería). El sistema que utilizo usa un pequeño buffer que en futuras versiones será personalizable. De hecho una de las novedades que retrasó tanto esta versión fue precisamente eso, la personalización. Estoy diseñando la posibilidad de configurar el script para tener predeterminadas ciertas opciones según el gusto de cada usuario, por ejemplo, que al arrancar el script se cargue directamente con la opción de usar MO en disponibles, en todas, en ninguna... como cada uno prefiera.
Otra de las opciones que tendrá esta configuración personalizada es precisamente el tamaño de búfer para el buscarrutas. Después de todo, cada procesador es un mundo... Pero esto está dando algún que otro problema, y no quería pasar este día sin una nueva actualización, así que la configuración personalizada será algo para una futura versión.

Además de la compatibilidad con esmeralda, rediseñé por completo el motor de procesamiento de textos. Ahora es más estable que nunca, y hay muchísimos menos bugs que antes. El script ya no debería colgarse a lo loco. Yo llevo probándolo bastante tiempo con este nuevo motor y la verdad que hace muchísimo que no se cuelga.

Estos son los dos cambios principales. Sé que sobre todo lo del motor de textos a la hora de utilizar el script quizás apenas se nota, pero en cuanto al desarrollo es el cambio más grande que hice incluso desde que empezó el desarrollo para la GameBoy Advance. Desde mi punto de vista, es como si hasta ahora todo fueran versiones beta, y esta para mí es la primera versión 3 estable del script.

Al margen de esto, el sistema de añadido de hacks está completamente rediseñado, una nueva combinación de teclas shift +C para elegir si la cámara sigue al jugador o no, y otros cambios menores.

En relación con Pokémon Esmeralda, hay cosas que aún no se leen como partes del PokéNav o las listas de movimientos (se puede leer todo con la letra T, pero no al moverse con las flechas). Esto estará añadido en las próximas versiones.

También, relacionado con los hacks, hay un soporte inicial para expansiones comunes. Está todo explicado en el readme (en inglés) pero cualquier duda la responderé por aquí sin problema.

También recibí varias traducciones al español latino de los juegos ya añadidos. No, tampoco están añadidas en esta versión. El script sufrió muchísimos cambios y me costó bastante ya gestionar todas las versiones incluídas, por eso en esta versión no hay nueva compatibilidad. Pero no me olvidé de esto, lo tengo pendiente para la próxima.

Y sin más rollo que contar, los links actualizados en el primer post.


¡Saludos!
Re: Pokemon Access
Dekyo 音源, vie nov 18 2022, 01:51A. M.

Bienvenidos al "too much water...".

nuive
Bienvenidos a Hoenn, donde hay mucha agüita y muchas trompetitas jajajaj.

Voy a llorar con esto xD. No, en serio, @nuive la rompiste con esta nueva versión. La 3ª gen fue literalmente la primera que jugué en mi vida, lo más lejos que pude llegar fue a la ruta 119, de ahí no avancé más. Por cierto, amo el tema de esa ruta, más que el tema que suena en las demás rutas como la 104. (Opinión que nadie pidió, pero me da igual.)
¡Ahora sí, a viciarse como Arceus manda!
Re: Pokemon Access
Germán Schlude, vie nov 18 2022, 04:47A. M.

@nuive no ves que mi familia está durmiendo? acabo de pegar un grito como si me hubiese despertado con cucarachas en la boca.
estoy mas feliz de lo que puedo expresar por texto, y no kme importa que ya casi sean las 5a.m voy, a, jugaaaaar. muchas gracias por todo, sos un verdadero crack
Re: Pokemon Access
AyoubGamer13, vie nov 18 2022, 08:24A. M.

Diooosss, me has alegrado el día, el despertar y ver esto ha sido como, siiii! he pegado un salto de alegría, y eran las 7 am, con mi hermano y madre durmiendo, de milagro no me comí un chancletazo, estoy disfrutando como un niño pequeño. De verdad, es increíble lo que haces.

Ahora a la parte sobre el script: no se si a alguien le ha pasado que el juego a veces, al cargar el script se queda como cuando tienes un cd rallado, me ha pasado solo una vez en la rom normal de esmeralda, así que a lo mejor es mi pc, pero si más con un par de hacks,, los demás los he podido jugar con normalidad, y en la rom normal de esmeralda ya avancé un trozo largo, y no, no me pregunten como juego tantas cosas a la vez que no lo sé ni yo.
Seré sincero, hoy creo que no voy a clase, que solo tengo 2 horas que no son importantes, solo para darle más al bicio xd.
Re: Pokemon Access
facu, vie nov 18 2022, 12:35P. M.

hola! vengo con algo que nosé si a alguien mas le alla pasado. el problema es que, al cargar cualquier room, el emualdor se cierra y me regresa a la carpeta. nosé si alguien tenga alguna solución para esto? me viene pasando hace rato. primero no abría por la dll, luego por el error con los 0, y cuando conseguí que funcione no me carga la room y lo cierra
Re: Pokemon Access
Germán Schlude, vie nov 18 2022, 01:37P. M.

encontré un bug extraño con el pat finder. hay una poción en la ruta 104 debajo de férrica que si estás a cierta distancia te encuentra camino, pero si estás muy cerca por más que estés al lado no encuentra una ruta. es muy raro
Re: Pokemon Access
nuive, vie nov 18 2022, 03:56P. M.


hola! vengo con algo que nosé si a alguien mas le alla pasado. el problema es que, al cargar cualquier room, el emualdor se cierra y me regresa a la carpeta. nosé si alguien tenga alguna solución para esto? me viene pasando hace rato. primero no abría por la dll, luego por el error con los 0, y cuando conseguí que funcione no me carga la room y lo cierra

facu


Esto es muy extraño. Se cierra sin dar ningún tipo de error ni nada?



encontré un bug extraño con el pat finder. hay una poción en la ruta 104 debajo de férrica que si estás a cierta distancia te encuentra camino, pero si estás muy cerca por más que estés al lado no encuentra una ruta. es muy raro

Germán Schlude


Lo voy a revisar. Sin embargo, es posible que sea que cuando te acercas haya algún personaje que se meta por el medio. Esto me pasó varias veces en esmeralda, que los NPC son un poco ceporros a veces, se te plantan en medio del camino y tienes que empujarlos o esperar 4 años a que se aparten.
Re: Pokemon Access
AyoubGamer13, vie nov 18 2022, 05:27P. M.

@nuive, intenté provar lo de las extensiones para los hacks y no me deja cargarlos, no sé si es por la propia rom o es algo del script, lo intenté unas cuantas veces
Re: Pokemon Access
facu, mar nov 22 2022, 02:27A. M.

no, no tira ningún error. simplemente se cierra sin mas
Re: Pokemon Access
Germán Schlude, mié nov 23 2022, 10:18A. M.

@nuive tengo una idea que creo ayudaría a algunos como yo xd. podrías hacer que el script también pudiera rastrear la hierba alta y el agua? hay ciertas rutas en las que es complicado encontrar esas cosas, y siendo algo que los jugadores normalmente reconocen a simple vista creí que sería apropiado. la cosa es que no podrías rastrear cada parche de yerba ni lago, sino que podrías rastrear solo el parche más cercano. eso ahorraría mucho tiempo.
por otro lado. es probable que esto no sirva de nada pero... podrías reconsiderar la idea de que el pat finder te ayude en el escondite róket? honestamente ya me he dado cuenta de que nunca lo podré pasar por mí mismo, y sé que hay gente que abandonó el juego luego de llegar a esa zona. es un poco injusto que nos malenseñas a usar el pat finder para todo y al llegar a ese lugar esa herramienta que tanto nos ha ayudado no sirva para nada. sé que está la cámara y que con muuucha paciencia se podría pasar usando la cámara, pero creo que hablo por muchos cuando digo que a veces uno no tiene tiempo para descifrar como continuar con su camino para seguir con la aventura.
por otro lado la existencia de las guías técnicamente hacen el camino un poco más llevadero, pero creo que si el path finder diera algunas pistas extra permitiría presindir un poco más de esas guías.
espero no haber sonado exigente, solo quise dar mi opinión xd
Re: Pokemon Access
facu, jue nov 24 2022, 05:07P. M.

hola! vengo a traerles un pequeño audio, ndonde muestro lo que pasa aunque yo almenos, no le he encontrado explicación.
enlace
bueno, acabo de probar en una pc de escritorio que tengo acá en lo de mi abuela, y el juego va genial. supongo será alto de esta lab
Re: Pokemon Access
Germán Schlude, vie nov 25 2022, 09:16P. M.

@facu recordatorio de que el doble post está proibido.
Re: Pokemon Access
randal, lun nov 28 2022, 11:10A. M.

@nuive, creo que ya después de todo lo que dijeron arriba no hay nada más que pueda agregar, pero lo intentaré jajajaj. Es simplemente increíble saber que uno de mis juegos favoritos es accesible, y si bien llegué a pasarme esmeralda varias veces por una cuestión de guías y, porqué no, frikismo, será algo único jugarlo sin tener que regresar a cada rato a la ventanita de la guía para saber qué sigue a continuación wink
En verdad se agradece y valora todo el trabajo que hiciste.
Re: Pokemon Access
Germán Schlude, lun nov 28 2022, 11:52A. M.

@randal, vos también mereces un reconocimiento por tus increíbles guías. seguro que son de nuestros primeros acercamientos a estos maravillosos juegos.
y si bien lo que hace @nuive es el siguiente paso lógico, creo que tus guías serán las mas exactas que jamás podremos encontrar para ciegos. nada de... vamos por aquí, tomamos esto y luego de entrar en este teleporte llegamos con esta persona. xd
Re: Pokemon Access
vrivri, lun nov 28 2022, 03:32P. M.

Hola chicos! Tengo un problema aquí con la verción en inglés de pokémon rojo fuego. Cuando la abro vá todo bien, pero cuando intento cargar el script, me dice ready, pero al dar escape el se cierra. No el emulador, antes eso pasava con el emulador que se cerrava, pero aora el script se cierra como si terminase la ejecución del emulador. Y el sonido de los pasos sigue aún sin el script, como si funcionara mal. Tengo que cargarlo de nuevo. Alguna idea del por que pasa eso? Y si, totalmente de acuerdo con el amigo german, ya llegué al team rocket hideout y no logro pasar por nada. Saludos!
Re: Pokemon Access
nuive, lun nov 28 2022, 09:52P. M.


Hola chicos! Tengo un problema aquí con la verción en inglés de pokémon rojo fuego. Cuando la abro vá todo bien, pero cuando intento cargar el script, me dice ready, pero al dar escape el se cierra. No el emulador, antes eso pasava con el emulador que se cerrava, pero aora el script se cierra como si terminase la ejecución del emulador. Tengo que cargarlo de nuevo. Alguna idea del por que pasa eso?

vrivri


Algún error en la ventana del script?
Re: Pokemon Access
vrivri, mié nov 30 2022, 05:13P. M.

Hola! havia editado el mensaje aorita y creo que no lo viste. No, ninguno. Solo me carga, me dice ready, y pasa lo que dije en el mensaje anterior.
Re: Pokemon Access
nuive, mié nov 30 2022, 09:19P. M.


Hola! havia editado el mensaje aorita y creo que no lo viste. No, ninguno. Solo me carga, me dice ready, y pasa lo que dije en el mensaje anterior.

vrivri


Seguramente estés usando la versión en inglés 1.1. El script solo soporta la 1.0.
Re: Pokemon Access
vrivri, jue dic 01 2022, 12:39A. M.

Aaaaaaa ya veo. Y a donde puedo descargar esa vercion? Y que es lo que cambia en las verciones?
Re: Pokemon Access
Dekyo 音源, jue dic 01 2022, 02:10A. M.

No hay diferencias muy significantes, pero la ROM de la versión 1.0 del juego se llama "Pokemon - FireRed Version (USA)". Búscala con ese nombre en Google y debería salirte. Para mayor precisión de búsqueda, encierra el nombre de la ROM en comillas. También es conocida como "Pokemon Fire Red (U)(Squirrels)".
Re: Pokemon Access
vrivri, vie dic 02 2022, 08:49P. M.

Aaa ok. gracias, ya la descargué. pero una pregunta, por que a veces pasa que el VBA se trabe un rato cuando hacemos algunas cosas específicas en el juego? por ejemplo cuando uso una poción en fire red, me traba por unos dos segundos y luego vuelve a funcionar normalmente. Supongo que es algo de lag, o sería alguna interferencia con el script?
Re: Pokemon Access
nuive, sáb dic 03 2022, 09:13A. M.

El script está monitorizando la pantalla todo el rato para encontrar cambios en el texto. Cuando se usa una poción o cualquier objeto curativo, la barra de vida del Pokémon va subiendo poco a poco. Esto hace que el script detecte cada microcambio en la barra y hace que laguee un poco el emulador, ya que va actualizando por cada unidad de vida que sube el Pokémon.
Re: Pokemon Access
Germán Schlude, sáb dic 03 2022, 11:27A. M.

en relación con lo que mencioné más abajo de rastrear tiles?, se podría hacer audible el caminar sobre ceniza en la ruta 113?
Re: Pokemon Access
vrivri, sáb dic 03 2022, 08:39P. M.

me pasé todo el team rocket hideout con una guía, quisás la publique por acá cuando la tener traducida. otra cosa. en la silp company, hai unos teleporters en el suelo que la cámara ni el pathfinder lo detecta. si hai alguna posibilidad, sería interesante corregirlo.
Re: Pokemon Access
nuive, dom dic 04 2022, 05:15P. M.


en relación con lo que mencioné más abajo de rastrear tiles?, se podría hacer audible el caminar sobre ceniza en la ruta 113?

Germán Schlude


Sí, esto tengo planeado añadirlo, como el sonido de caminar sobre arena, sobre suelo quebrado... Todo estará en alguna actualización futura.



me pasé todo el team rocket hideout con una guía, quisás la publique por acá cuando la tener traducida. otra cosa. en la silp company, hai unos teleporters en el suelo que la cámara ni el pathfinder lo detecta. si hai alguna posibilidad, sería interesante corregirlo.

vrivri


Sí, sí que figuran. Aparecen como entradas.
Re: Pokemon Access
vrivri, dom dic 04 2022, 10:17P. M.

aaa ya veo. pero así a veces pasa que cuando no queremos ir a esas entradas, acabamos pisando sin querer.
Re: Pokemon Access
rey_hades, sáb dic 17 2022, 04:43A. M.

Buenos días, tardes o noches, según donde me estén leyendo.
Antes de nada quiero agradecer a
@nuive
Por tan grandioso trabajo.
Ahora si, paso a explicar lo que me sucede. Resulta que anteriormente ya jugué el pokémon amarillo, con la versión 2, del script que lo hace accesible. Ahora bien, volví a descargar todo de nuevo desde los enlaces actualizados del primer post del tema. sin embargo, cuando cargo el juego junto al script, solo me lee los diálogos y los menús.
¿Podrían por favor ayudarme con eso?
Desde ya gracias.
Re: Pokemon Access
sanslash332, jue ene 05 2023, 02:33A. M.

Buenas @nuive

Paso por aquí solo para contar un par de cositas.

Primero, por fin ya añadí a la base de datos de tfj las entradas de pokemon esmeralda y rojofuego. Ahí en la última noticia están vinculadas.

Lo otro, es que provando me di cuenta que este hackrom
al menos en lo que llevo hasta ahora, funciona hermosamente con el script smile

Grande nuiveeee

Eso más que nada. Ojalá hayas tenido bonitas fiestas jeje
¡saludos!
Re: Pokemon Access
vrivri, lun ene 16 2023, 12:41P. M.

Este hack ROM es buenísimo. Sobretodo las canciones. Me gustó tanto que las extraje xd
Re: Pokemon Access
sanslash332, mié ene 25 2023, 01:35A. M.

@vrivri en serio?
mándalas xd.
hay varias que me gustan. Son muchas canciones del musical cancionero popular chileno xd.
Re: Pokemon Access
vrivri, mié ene 25 2023, 04:10P. M.

A sí claro, más a bajo está el link. Pero por ejemplo, que canciones de la cultura serían esas? Quería conocerlas a ver como es originalmente. Bueno el link: Aquí. Saludos!
Re: Pokemon Access
sanslash332, vie ene 27 2023, 10:33P. M.

Hola @vrivri

Primero que todo, gracias. Quedaron bastante bien las extracciones jeje.


Y bueno, te pongo un par de las versiones originales de las canciones que están en el juego smile


Primero que todo el imno nacional de Chile. Se usa en el título del juego y en varios otros lados:
enlace


Canción todos juntos de los jaibas. Se usa en un par de ciudades del juego:
enlace

Amar azul, tomo vino y cebreza. Usada en una ruta del juego y algunos eventos con ciertos personajes:
enlace

Tren al sur de los pricioneros. Canción que se usa en la ciudad que tiene la estación de tren:
enlace



Canción del tiempo del canal megavisión. No sé en que parte del juego se usa:
enlace

Cortina deportiva del canal 13, canción usada en las batallas de gimnacios:
enlace

otra versión:
enlace

Música del área deportiva del canal TVN, canción usada en los lobbies de los gimnacios:
enlace


Canción de mea culpa, usada en el escenario del sementerio y otros lugares tétricos:
enlace

Canción de tierra adentro (usada en un par de áreas):
enlace

Y finalmente cueca, la concentida. no sé donde la usan, pero está en el soundtrack:
enlace

Obviamente hay varias más, pero igual. el trabajo que hicieron en el juego es demasiado, pero demasiado genial jeje.
Re: Pokemon Access
nuive, sáb ene 28 2023, 02:19P. M.

Hola!

Primero que nada, esto no está abandonado. Sigo trabajando en el script poco a poco cuando puedo.

Pero hoy creo que tengo una noticia importante, pues el desarrollador de mGBA acaba de publicar hoy mismo que las versiones de desarrollo del emulador ya tienen api de teclado, la única característica que faltaba para poder trasladar Pokémon Access a este emulador, mucho mejor y más actualizado que el que tenemos actualmente.

Parece ser que es la primera versión de prueba, pero me pondré nmediatamente a portar todo el código a este emulador. Quizás la siguiente actualización la publique para el emulador actual y el nuevo, pero si esto funciona como promete, el viejo VBA-Rr será descontinuado pronto.

Ah, y con la introducción de mGBA, podemos dar la bienvenida a los intercambios y combates por conexión!
Re: Pokemon Access
Germán Schlude, sáb ene 28 2023, 06:20P. M.

esa es una gran noticia! me muero por ver las novedades en el futuro. seguro que eso será un antes y un después en el desarrollo del escript tanto para vos como para nosotros.
te tengo una duda @nuive. es normal que en la ruta 119 el script no detecte que hay un camino? quiero decir... no se si ahí está el quecleon o no xd
es bueno escuchar de vos, espero te pases por este humilde foro más seguido xd
Re: Pokemon Access
nuive, sáb ene 28 2023, 09:31P. M.


esa es una gran noticia! me muero por ver las novedades en el futuro. seguro que eso será un antes y un después en el desarrollo del escript tanto para vos como para nosotros.
te tengo una duda @nuive. es normal que en la ruta 119 el script no detecte que hay un camino? quiero decir... no se si ahí está el quecleon o no xd
es bueno escuchar de vos, espero te pases por este humilde foro más seguido xd

Germán Schlude


Pues... tendré que comprobarlo. Por mucho que trabajé en Pokémon Esmeralda, lo hice con una partida ya completada, con lo cuál hay eventos de la historia que no pude revisar. Lo comprobaré a ver si eso tiene que pasar o es algún tipo de bug...
Re: Pokemon Access
sanslash332, lun ene 30 2023, 03:26A. M.

buenas @nuive

Un gustazo oír nuevamente de ti, y que esto solo pinta aún mejor para el futuro smile

Ahora que se viene la compativilidad con MGBA, estará interesaaante smile


Ahora @nuive una duda más... técnica que nada, porque no tiene sentido buscar issues en hackrom.
¿por qué puede ser que en el pokemon chileno, a los árboles de corte, los detecte como cascadas?

Sí, es ridículo; lo encuentras entre la lista de objetos, pero aunque tengas la compativilidad con HM activada el buscarutas no pasa sobre ellos, y tienes que buscar el arbolito (aunque diga que el último paso es pasando una cascada xd) cortarlo y ver si se despeja el camino hacia los objetos bloqueados.

¿Esto por qué puede ser?
¿porque reemplazaron en memoria del juego la posición del árbol de corte con un objeto de otro hm y el buscarutas se enreda?

Solo quiero saber lo técnico; no vale la pena trabajar por ello porque claro smile no es la idea jeje.

¡eso! ¡saludos y hablamos! ¡gran noticia lo del MGBA!
Re: Pokemon Access
nuive, lun ene 30 2023, 08:12A. M.

Pues... sí que es curioso. En estos juegos los árboles se detectan como objetos, por eso aparecen en la lista. Las cascadas, como el agua en general, no son objetos en sí, sino tiles del mapa, por eso solo se puede llegar con el buscarrutas y la opción de las MO. Lo único que se me ocurre es que en ese hack cambiaran el tile de la cascada por otro tile sobre el que colocar los árboles de corte o algo así. Y claro, esto visualmente da igual, pero para el script, que reconoce los tiles por su index y no por su apariencia, eso sigue siendo una cascada.

Es la única explicación que se me ocurre. La verdad que el hackeo en GBA es tan extenso que yo ya vi todo tipo de burradas en el scripts con diferentes hacks, desde objetos con el nombre cambiado (lo más normal) hasta ir corriendo y que el script sin más ni más empiece a sonar como si estuvieras echando una carrera por cascadas, sin hacer surf, cascada ni nada.

De todos modos esto se puede solucionar si creas una carpeta personalizada para este hack en concreto y lo añades a la base de datos con shift 0. Habría que añadir un archivo que haga oberride en las funciones que dan problemas. La verdad que no sé si para algo como esto compensa, pero si hay interés podría poner unos pasos básicos sobre como hacerlo.
Re: Pokemon Access
Germán Schlude, lun ene 30 2023, 01:27P. M.

sigo probando, pero realmente no puedo navegar por la ruta 119. no detecta muchas de las paredes, hasta el punto en el que no puedo ni regresar por donde vine. esto no puede ser normal xd
Re: Pokemon Access
caspian, lun ene 30 2023, 01:39P. M.

oye pues es rarisimo, yo me pasé esa ruta sin problema ninguno, igual que todas las demás
Re: Pokemon Access
nuive, lun ene 30 2023, 04:31P. M.


sigo probando, pero realmente no puedo navegar por la ruta 119. no detecta muchas de las paredes, hasta el punto en el que no puedo ni regresar por donde vine. esto no puede ser normal xd

Germán Schlude


Pueden ser dos cosas, o bien algún problema detectando el uso de MOs (esta ruta tiene zonas de surf) o bien que el script se está volviendo loco con los árboles de bayas. Eso es un bug de esta versión del script que ya tengo solucionado para la siguiente actualización.
Re: Pokemon Access
Germán Schlude, lun ene 30 2023, 04:53P. M.

bien, supongo que esperaré a la actualización, lo que no quiere decir que te apresures. prefiero que la actualización salga cuando tenga que salir
Re: Pokemon Access
vrivri, mar ene 31 2023, 04:06A. M.

A ver a ver. Lindos mensajes por aquí. Veamos.
1. Sí, es interesante hacer un paso a paso de como hacer compatibilidad con hack roms. Pero si ya tenemos en el manual entonces no creo necesario.
2. Por otro lado, tendríamos que hacer una carpeta con varios hack roms, o mismo el amigo @nuive podría añadirlos al script tambien, no sé. Es solo una idea, pero la idea de la carpeta y que la compartimos por ahí es buena.
Re: Pokemon Access
sanslash332, mar ene 31 2023, 11:43A. M.



Pues... sí que es curioso. En estos juegos los árboles se detectan como objetos, por eso aparecen en la lista. Las cascadas, como el agua en general, no
son objetos en sí, sino tiles del mapa, por eso solo se puede llegar con el buscarrutas y la opción de las MO. Lo único que se me ocurre es que en ese
hack cambiaran el tile de la cascada por otro tile sobre el que colocar los árboles de corte o algo así. Y claro, esto visualmente da igual, pero para
el script, que reconoce los tiles por su index y no por su apariencia, eso sigue siendo una cascada.

Es la única explicación que se me ocurre. La verdad que el hackeo en GBA es tan extenso que yo ya vi todo tipo de burradas en el scripts con diferentes
hacks, desde objetos con el nombre cambiado (lo más normal) hasta ir corriendo y que el script sin más ni más empiece a sonar como si estuvieras echando
una carrera por cascadas, sin hacer surf, cascada ni nada.

De todos modos esto se puede solucionar si creas una carpeta personalizada para este hack en concreto y lo añades a la base de datos con shift 0. Habría
que añadir un archivo que haga oberride en las funciones que dan problemas. La verdad que no sé si para algo como esto compensa, pero si hay interés podría
poner unos pasos básicos sobre como hacerlo.


nuive

Más que un tutorial de como hacerlo, quizás sería interesante tener en el readme. o quizás un doc.txt ciertas instrucciones más técnicas, de las funciones más relevantes que uno podría sobreescribir para restructurar estos comportamientos en caso de que en un hackrom se tocasen esos valores, o quizás si uno como hacker uno quisiese agregar un nuevo tipo de MO, por ejemplo.

Estas cosas sí, no las veo tanto de uso como para el usuario común, sino que para los desarrolladores de hack. Hasta ahora no me he topado con ningún interesado, más que nada porque no he visto nada que reportar en el único que he estado jugando, pero... que exista la opción de personalización técnica del script para los hackrom. No siendo un trabajo para ti sino que para el mismo hacker, sería demasiado bonito; ya es cuando tu trabajo conciste más en crear una súper api, en vez de un script específico por juego jeje.

Pinta bien, como algo alternativo a futuro, una vez los issues estén todos solucionado; no es algo que priorizar.



sigo probando, pero realmente no puedo navegar por la ruta 119. no detecta muchas de las paredes, hasta el punto en el que no puedo ni regresar por donde
vine. esto no puede ser normal xd

pansito

Pansito, seguro que tu esmeralda es uno normal?
No le pasaste nada, pero nada de algún randomiser o algo encima?
xD


Porque si @caspian pudo pasar esa zona sin ningún tipo de percanse... es curioso.
xD

En fin

¡saludos!

Esto pinta demasiado bonito!
Re: Pokemon Access
nuive, mar ene 31 2023, 04:28P. M.




Pues... sí que es curioso. En estos juegos los árboles se detectan como objetos, por eso aparecen en la lista. Las cascadas, como el agua en general, no
son objetos en sí, sino tiles del mapa, por eso solo se puede llegar con el buscarrutas y la opción de las MO. Lo único que se me ocurre es que en ese
hack cambiaran el tile de la cascada por otro tile sobre el que colocar los árboles de corte o algo así. Y claro, esto visualmente da igual, pero para
el script, que reconoce los tiles por su index y no por su apariencia, eso sigue siendo una cascada.

Es la única explicación que se me ocurre. La verdad que el hackeo en GBA es tan extenso que yo ya vi todo tipo de burradas en el scripts con diferentes
hacks, desde objetos con el nombre cambiado (lo más normal) hasta ir corriendo y que el script sin más ni más empiece a sonar como si estuvieras echando
una carrera por cascadas, sin hacer surf, cascada ni nada.

De todos modos esto se puede solucionar si creas una carpeta personalizada para este hack en concreto y lo añades a la base de datos con shift 0. Habría
que añadir un archivo que haga oberride en las funciones que dan problemas. La verdad que no sé si para algo como esto compensa, pero si hay interés podría
poner unos pasos básicos sobre como hacerlo.


nuive

Más que un tutorial de como hacerlo, quizás sería interesante tener en el readme. o quizás un doc.txt ciertas instrucciones más técnicas, de las funciones más relevantes que uno podría sobreescribir para restructurar estos comportamientos en caso de que en un hackrom se tocasen esos valores, o quizás si uno como hacker uno quisiese agregar un nuevo tipo de MO, por ejemplo.

Estas cosas sí, no las veo tanto de uso como para el usuario común, sino que para los desarrolladores de hack. Hasta ahora no me he topado con ningún interesado, más que nada porque no he visto nada que reportar en el único que he estado jugando, pero... que exista la opción de personalización técnica del script para los hackrom. No siendo un trabajo para ti sino que para el mismo hacker, sería demasiado bonito; ya es cuando tu trabajo conciste más en crear una súper api, en vez de un script específico por juego jeje.

Pinta bien, como algo alternativo a futuro, una vez los issues estén todos solucionado; no es algo que priorizar.



sigo probando, pero realmente no puedo navegar por la ruta 119. no detecta muchas de las paredes, hasta el punto en el que no puedo ni regresar por donde
vine. esto no puede ser normal xd

pansito

Pansito, seguro que tu esmeralda es uno normal?
No le pasaste nada, pero nada de algún randomiser o algo encima?
xD


Porque si @caspian pudo pasar esa zona sin ningún tipo de percanse... es curioso.
xD

En fin

¡saludos!

Esto pinta demasiado bonito!

sanslash332


Ya me planteé esta idea en su momento, pero no se me ocurre muy bien como hacerla. Teniendo soporte para 3 generaciones, el script ya se convirtió en código quilométrico repartido entre archivos. Creo que la división está bastante clara: pokemon.lua es el punto de ejecución; gb.lua y gba.lua son los archivos que contienen todas las funciones comunes a los juegos de cada plataforma; y finalmente, en la carpeta game\common están los archivos para cada grupo de juegos con sus funciones. Ya luego en la carpeta de cada juego hay un main.lua, y dentro de cada carpeta de datos/hack opcionalmente existe un core.lua.

Para que quede un poco más claro:
Cargamos el script, por ejemplo, para Pokémon Rojo Fuego (español).
El script ejecuta pokemon.lua; detecta que el juego es un juego de gba, con lo que ejecuta gba.lua. Posteriormente detecta que el juego es Pokémon Rojo Fuego Español, con lo que carga todos los datos (ojo, carga en memoria, pero no ejecuta nada) de la carpeta game\firered\es. Al cargar estos datos ya recibe la información de que el script que tiene que ejecutar a continuación es "frlg", con lo que ejecuta game\common\frlg.lua. Finalmente ejecuta game\firered\main.lua, y si en game\firered\es\ existiera un core.lua, sería el último archivo en ejecutarse.

Con esto queda claro que todas las funciones existentes en core.lua sobreescribirían cualquier función anterior con la misma declaración. Si core.lua no existe, esta responsabilidad recaería en el main.lua, y así, en el orden inverso en el que indiqué que se ejecuta cada archivo.

Ahora bien, solo con la cadena de archivos que carga el script es evidente que existen tropecientas funciones por cada juego, y documentar todo esto sería una locura porque según el script va evolucionando, todo va cambiando, por lo que sería bastante difícil diseñar una API. Por desgracia, lo único que veo viable para estos casos es familiarizarse con el código del script. Las funciones tienen nombres bastante identificativos, por lo que no creo que fuera complicado. Pero de todos modos lo mejor que puedo ofrecer por ahora es responder por aquí o incluso al e-mail todas las dudas que surjan a este respecto.
Re: Pokemon Access
Germán Schlude, mar ene 31 2023, 09:06P. M.

mi rom de pokemon esmeralda está limpia, y lo único destacable es que está en español. en ningún momento la pasé por el randomizador, así que voy a esperar a que esté la última versión.
y si @nuive lo necesita puedo pasarle mi partida guardada.
actualización: luego de pasarle mi partida a @sanslash332 descubrimos que lo que pasaba era que necesitaba la bici para avansar. sería bueno que el script te notificara de esas subidas, pero bueno. por otro lado no pudo reproducir el error que tenía de las paredes invisibles, pero por lo menos ya puedo continuar xd
Re: Pokemon Access
nuive, jue feb 02 2023, 10:07A. M.

Sí, eso es lo menos desarrollado del script para esmeralda, reconocer los diferentes suelos. Me apunto lo de las rampas para que el buscarrutas las notifique.

Por otra parte, estos días estuve trabajando con mGBA, y la cosa no va tan bien como esperaba.
Después de contactar con el desarrollador pude adaptar todo el script sin problemas. Bueno, todo salvo las funciones que dependen del flujo de ejecución del juego. En juegos de GB y GBC esto solo afecta a los pasos al caminar, que por ahora no suenan. Pero en GBA, todo lo relacionado con el procesamiento de texto funciona por medio del flujo de ejecución, por lo que en GBA se podrían navegar los mapas y poco más, no habría salida de texto a voz.
Consulté con el desarrollador y me dijo que esta característica que falta tiene planeado añadirla en el futuro, así que será cuestión de esperar.

Por otra parte, probé a ejecutar Pokémon Amarillo con el script actual, y da más problemas de los que esperaba. Por algún motivo el rendimiento es bastante peor que con VBA. Por ejemplo, al usar la cámara el emulador se bloquea unos milisegundos, al moverse por la lista de objetos igual... es como si al ejecutar las funciones del script el emulador pausara la ejecución hasta que el script acaba su trabajo.

Ah, y por algún motivo, al hacer una conexión link el script lee los textos, pero deja de reconocer los comandos.

Así que por ahora parece que hay que seguir con VBA...
Re: Pokemon Access
Germán Schlude, jue feb 02 2023, 04:01P. M.

bueno, es menos de lo que se esperaba, pero confío en que esto es un paso hacia el futuro funcionamiento óptimo del script en el nuevo emulador. y espero que en la próxima versión se pueda completar la torre espejismo xd
Re: Pokemon Access
nuive, sáb feb 04 2023, 11:11P. M.

¡Hola!

Traigo un regalito, una demo de como funciona el mGBA con el script a día de hoy. La verdad es que no puedo más que darle las gracias mil veces al desarrollador, ya que a través del servidor de discord del mGBA le comenté algunos problemas que había con el manejo de ciertas funciones en el script y lo resolvió todo en el mismo día que se lo iba comentando, una maravilla.

Sin más, dejo la demo, que dura sus 15 minutitos o alguno más, pero creo que refleja bastante bien lo que se puede hacer con mGBA y lo que falla actualmente. Todo esto hablando de las dos primeras generaciones, claro. La GBA por ahora no permite gran cosa.

enlace

A raíz de esto, a partir de haora quizás el desarrollo vaya un poco más despacio. Seguiré trabajando en la parte de GBA con el VBA como hasta ahora, pero también según la API de scripting de mGBA vaya mejorando iré portando todo a este nuevo emulador, así que mientras mGBA no funcione al 100% con el script estaré trabajando en dos versiones del script a la vez, la que iré publicando por aquí como hasta ahora, que por ahora seguirá siendo la de VBA, y la de mGBA, que por ahora solo estará en fase de desarrollo.

¡Saludos!
Re: Pokemon Access
Germán Schlude, dom feb 05 2023, 02:51A. M.

este tipo de regalos son los que me gustan jaja.
tiene buena pinta, y si existe la posibilidad de que no se corte la emulación cuando usas los comandos del script en el futuro, mejor.
la calidad del audio es superior a la que disponemos con el vba, lo que me sorprende gratamente
me alegra escuchar que el desarrollador está dispuesto a cohoperar, y poder intercambiar va a ser hermoso, tanto como pelear! (aunque según sandl no es tan divertido como suena) pero yo creo que ver a nuestros pokemon de la aventura pelear contra el rayqaza de nuestro amigo no tiene precio xd.
y por mi tarda todo lo que haga falta. nunca desepsionas, así que bale la pena esperarte
gracias @nuive!
Re: Pokemon Access
sanslash332, dom feb 05 2023, 02:52A. M.

Primero que todo, gracias @nuive por las novedades. pintan bien, muy bien.

Por el MGBA, hombre, era de esperar que saliesen uno que otro conejo, siendo recién las primeras versiones; es más, para ser recién las primeras versiones con el soporte de lua casi completo con lo que necesitamos, funciona, bien, bastante bien.

En especial que estás en contacto con el desarrollador, eso significa que podrás tener un contacto con él más cercano, lo que te ayudará mucho para el futuro desarrollo jeje.

En fin, gracias por el audio; se ve y nota súper bien. Eso sí, es notorio como se lguean los emuladores cuando se está establesiendo la conección de los cables. ¿será culpa del script? o siempre es así el MGBA en esa situación. Fuera que bien mañosos los jueguitos sinceramente para conectarte. bien impacientes en esas viejas generaciones. xdd


Por lo demás, nada. ojalá puedas convencer al autor de que cambie el método de procesamiento de los scripts, para que no pause la emulación durante la carga; para la búsquda de rutas muy largas (en especial en GBA) eso se pegará más que el VBA... y no es muy entretenido ... pero bueno.

Gracias por la muestra y los avances; tiene una muy, pero que muy buena pinta jeje.

¡saludos!
Re: Pokemon Access
Germán Schlude, jue mar 16 2023, 01:32A. M.

@nuive crees que algún día intentarás accesivilizar pokemon mundo misterioso? sería increíble xd
Re: Pokemon Access
nuive, lun mar 20 2023, 06:18A. M.

Me lo planteé, y de hecho estuve revisando lo que hay decompilado de ese juego. Por desgracia, a día de hoy no es suficiente para realizar cualquier tipo de accesibilidad, además de que al no tratarse de un RPG por turnos su accesibilzación sería muchísimo más complicada de realizar.

De todos modos nunca se sabe, no descarto nada.

Por ahora estoy trabajando en corregir los bugs que tiene el script sobre todo con pokémon esmeralda, así como añadiendo otros idiomas a los juegos ya accesibles.

La idea es que la siguiente actualización grande tenga la compatibilidad con Rubí y Zafiro integrada.

Aún así, hace tiempo que no actualizo porque últimamente no tengo mucho tiempo para trabajar en el script, pero no está abandonado, sigo trabajando en él poco a poco.
Re: Pokemon Access
Germán Schlude, lun mar 20 2023, 06:02P. M.

pues abrá que esperar. y trabaja cuando puedas. lo que tenemos hasta ahora es muy bueno, así que no hay tanto apuro por la próxima versión xd
Re: Pokemon Access
fyrate, jue abr 06 2023, 02:24P. M.

Hola, quería saber si hay manera que pueda regresar a una versión anterior del script para poder jugar los hackroms como Radical Red.
Lo que pasa es que en muchas partes, y ahora con la última actualización de que se agregó esmeralda, el juego se me empieza a trabar en la música y aunque reduzca todas las características del emulador sigue funcionando igual.
Yo dejé de jugar un tiempo y luego volví así que no sabría bien que versión, pero ¿puede que ya estaba disponible en los scripts rojo fuego en una versión en la que no pedía el dll en la carpeta del juego?
Hace versiones atrás el emulador me comenzó a pedir uno de esos archivos en la carpeta así que supongo que el emulador se actualizó o algo.
Saludos.
Re: Pokemon Access
nuive, dom abr 16 2023, 01:20P. M.

¡Hola!

Traigo una noticia buena, que por desgracia desencadena otra muuuuuuuy mala.

Como ya dije hace algún tiempo, últimamente no traje nada nuevo porque estoy trabajando en otras cosas y cuando toco el script es para trabajar en la compatibilidad con mGBA, esperando a que la API de scripting esté completa.

Y como podréis recordar por la demo que puse hace un tiempo, el problema más grande que tenía mGBA con el script era que se cortaba mucho la emulación por la carga de trabajo que suponía el script.

La buena noticia es que ya descubrí el origen de este problema. No es nada tan complejo como una forma distinta de funcionamiento o algo así, es tan simple como que VBA-Rr utiliza una versión especial de lua muchísimo más rápida, luajit. Esta versión se abandonó hace varios años y solo trabaja con lua 5.1, mientras que mGBA trabaja con lua 5.4.

Cualquiera podría pensar que siendo una versión más reciente de lua, la 5.4 solventaría ya los problemas de eficiencia de la 5.1 haciendo que luajit esté completamente obsoleto. Y sí, así es en la mayoría de los casos, pero no en este.

Como ejemplo, medí el tiempo que tarda la letra K en cambiar al objeto siguiente tanto en VBA-Rr con luajit como en mGBA con lua 5.4. Y los resultados... luajit=3ms, lua 5.4=entre 25 y 30ms... no digo más.

Así es, lua 5.4 es 10 veces más lento que luajit. Y esto con un cambio en la lista de objetos que ya se refleja en el emulador. Solo imaginad lo que será el buscarrutas... y ya cuando se añada el soporte para el script en modo GBA... pinta feo, pinta feo.

Se me ocurrió cambiar en mGBA el soporte de lua 5.4 por el luajit, puesto que es código abierto y esas cosas, y además se supone que mGBA teóricamente soporta lua desde la versión 5.1 incluyendo luajit.

Y aquí la mala noticia... incluso los desarrolladores de mGBA me informaron de que este soporte es hipotético, que en realidad nunca les interesó ni les va a interesar centrarse en nada anterior a lua 5.4.

Con lo cuál... la única posibilidad que veo es hacer una rama de mGBA que soporte luajit y adaptar todo mientras sea posible, pero hay que tener en cuenta que llegará un punto en el que luajit esté tan obsoleto que esto será imposible.

Así que así está la cosa por ahora... según lo que vaya consiguiendo o encontrando, seguiré informando por aquí...

¡Saludos!
Re: Pokemon Access
sanslash332, mar abr 18 2023, 02:03A. M.

Buenas @nuive

Cuando leí esto que dijiste me puse a investigar, y pos. al menos a día de hoy, luajit sí sigue en desarrollo en su repositorio oficial:

luajit/luajit

El problema, que mandaron a tomar por culo las releases, y literal dicen que si quieres lo más nuevo, compílo usted mismo. Y están así como desde 2017...
Lo bueno, es que literal el último cambio fue desde hace dos días. No sé eso sí si habrán aumentado la lversión base de lua al cual le dan soporte, pero al menos muerto, que muerto no está el proyecto. Eso es bueno saberlo.

Y bueno también está el fork de openresti openresty/luajit2 pero que es más de lo mismo; se tiene que compilar uno mismo.

Vamos, es un problema pero no una barrera infranquiable, pero hay que estudiar que lua usan, y bueno... si te es fácil o no implementarlo con MGBA, si ellos aceptan dicho fork y tal. Pero tener que estar manteniendo el emulador paralelamente eternamente por el desarrollo del script.

Está bien feo. uwu

AHora ya poniéndonos estúpidamente más exquisitos... aparte de lua ¿no hay manera de optimizar los scripts de lua pero mediante una librería de c?

Porque. qué es lo más lento? la lectura de los datos en memoria? o los procesamientos de estos. Porque claro, es una cagada del porque de un portaaviones, pero si la lectura de la memoria es rápida y lo lento es su procesamiento, bien que puedes leer solo en lua, pero el procesamiento pasárselo directamente a un módulo nativo en c que se encargue de hacer la operación correspondiente. Puede que lo acelere un poco, pero claro, desarrollar en c es un dolor de cabeza en si mismo. uwu

En fin, ahí hay varias ideas...

Ahora ¿no hay ninguna otra opción dando vueltas por ahí que aguante lua y sea emulador de GBA?

Saludos!

Grande @nuive, una vez más
Re: Pokemon Access
nuive, mar abr 18 2023, 08:05A. M.

La cosa es que estamos hablando de milisegundos. Cualquier cosa va a ser más rápida directamente en lua que usar lua para leer, pasárselo a una librería en C que procese los datos, devolver los resultados a lua...

Y en caso de hacer esto, la cosa se traduciría en portar todo el script a C, vaya dolor de cabeza...

Esto de las librerías sí que me funcionó una vez. Cuando añadí la compatibilidad con Rojo Fuego implementé en lua una función para diferenciar los hacks de ROMs originales. Sin embargo, directamente al cargar el script lua se quedaba ahí pensando y un rato después decía que el script tardaba en responder. Esto lo solucioné con una librería en C, y de ahí el motivo por el que apareció el famoso crc32.dll que tantos problemas dio en las primeras releases del script con GBA.

Pero claro, esta DLL solo recibe unos datos, calcula el CRC32 de esos datos y lo devuelve. Para casos como este, en los que la librería externa tiene que hacer una operación o dos no hay problema, pero depender de una DLL para todo el script... el problema principal aquí es que ni en VBA-Rr ni en mGBA ejecutan el motor lua en un proceso separado, con lo que cada vez que lua procesa algo se para la emulación hasta que termina.

De ahí que en las últimas versiones el script haga que los juegos se lagueen bastante más. Se está volviendo demasiado pesado, y seguramente en el futuro haya que dividirlo, y no sé si para plataformas más complejas que la GBA esto será suficiente.

Y otros emuladores... está BizHawk, pero eso con NVDA funciona fatal, y a fin de cuentas no ofrece nada que no tengamos en VBA-Rr, al menos por ahora.

La única ventaja que tiene con respecto a VBA-Rr es que sigue en desarrollo.
Re: Pokemon Access
sanslash332, mar abr 18 2023, 10:44P. M.

Buenas @nuive

yep, de hecho es demasiado interesante.

Pero no, la idea no sería devolver nunca el resultado a lua; o al menos dependiendo qué es lo que haga.
Si como dijiste tú el script entero está en c, el mismo dll recibe datos, los procesa los manda a NVDA y termina sin devolverle nada más a lua que el control de ejecución.

Pero claro, sigue siendo lento; la única opción quizás de acelerarlo y dejando el proceso independiente de lua, es hacer una cochinada más o menos estilo lo que lanzaron para el primer intento de script de esmeralda antes de que llegases tú; un proceso totalmente independiente y el script de lua es una cosa pequeña que envía mediante un request (ya sea IPC, http, com o socket a pelo) los datos capturados, y el script en c (o ya en este punto cualquier otro lenguaje quetenga el programa corriendo en background) recibe los datos, los procesa y decide.

Pero claro, eso ya es complejizar las cosas para el usuario final; que tenga que echar a correr otro proceso primero, y bueno, tiene puntos de fallo como que lua no mande todos los bits necesarios en algún request y cosas así.
Claramente te permitiría optimizar el procesamiento e incluso usar threading, pero claro es complicar las cosas.

Supongo que te tocará ir analizando a futuro a medida que las cosas se complejicen y claro, vayan mostrando un mejor o peor rendimiento.

Saludos.
Re: Pokemon Access
sanslash332, lun jul 17 2023, 06:25P. M.

@nuive ¿qué pasó bro?

¿estás bien?

Noté que se borró tu perfil en github y con él el proyecto.

¿todo bien? o pasó algún problema?
Re: Pokemon Access
nuive, lun jul 17 2023, 08:14P. M.

¡Hola!

No, ningún problema, pero gracias por preguntar jajajaja.

Pues la verdad no tenía ni idea de esto, me acabo de llevar una sorpresa.

Por algún motivo que no acabo de entender, mi perfil y mis repositorios se pusieron en privado, y como yo puedo acceder a ellos sin problema no tenía ni idea de que no estaban públicos. Veré qué está pasando a ver si puedo solucionarlo.

Por otra parte y aprovechando que ya ando por aquí, actualizo un poco con el progreso.

El proyecto no está muerto, simplemente ahora mismo tengo bastantes más proyectos entre manos y lo tengo un poquito aparcado.
Sin embargo, no me olvidé de él, y de hecho uno de los proyectos que ahora mismo me quita más tiempo es el mGBA.

Así es, estoy trabajando para hacerlo compatible con Lua 5.1 y LuaJit, y con un poco de suerte, podremos utilizarlo como sustituto al VBA-Rr.

No me atraía mucho la idea teniendo en cuenta que los desarrolladores principales no tienen interés en mantener Lua 5.1, pero sí que si alguien lo hace, el autor dice que añade el soporte al master en github, así que yo me pongo a ver que consigo. Eso sí, no sé cuanto tardaré, puesto que estoy encontrándome unos cuantos problemas, y como digo, aunque estoy intentando solucionarlos, queda bastante poca gente interesada en la integración de Lua 5.1 y sus variantes con otras aplicaciones.

Aún así pues eso, aprovecho para comentar que el proyecto sigue vivo, y yo también jajajajajaja.


Editado: Definitivamente, en GitHub me bloquearon la cuenta sabrá dios por qué... Ya envié una solicitud de restauración y me estuve informando. Supongo que algún bot muy majo decidió que mi cuenta era SPAM, parece ser que este suele ser el motivo, falsos positivos en SPAM y ala, a bloquear cuentas de manera indiscriminada.
Re: Pokemon Access
sanslash332, mar jul 18 2023, 12:35A. M.

Uff @nuive menos mal que era algo así.

Primero y lo más importante, que bueno que tú estés bien, y no haya sido nada jeje.

Ya en segundo lugar. Pues a ver que pasa, ya algunos pensaban que a nintendo se le hubiese ocurrido avisar a github sobre tu cuenta y te mandasen un C&D por el contenido de pokemon en el repositorio.
igual habría sido raro e hipócrita, porque no están las roms ni nada en el repositorio; con suerte un par de hash de algunos roms y no mucho más.

ya respecto de la información, qué bueno que sigas avanzando; ya sea lentamente igual que hayan novedades siempre es agradable jeje.

Lo que me quedan dudas es ¿por qué tanta reticencia de los devs a trabajar con luajit en vez de lua?

Siendo que a pesar de lo dicho, luaJit sí sigue desarrollándose y está avanzando poco a poco luajit 2.1. Fíjate en la actividad del repositorio

enlace

Que ventajas trae 5.4 sobre luajit 2.1? Siendo que para cálculo pesado luajit es mejor... Y dado eso ¿cómo rayos en MGBA van a soportar los dos motores? tendrían que buscar una manera de diferenciar qué motor de lua es el que tengan activo. xd


En fin, ahí anda contando qué cositas van saliendo, y lo más importante. cómo te va con lo de github.

Saludos!
Re: Pokemon Access
nuive, lun jul 24 2023, 06:57P. M.

El problema es que el desarrollo en mGBA se basa en Lua 5.4, por ser la versión oficial de Lua.

En cuanto a lo de la compatibilidad, la cosa es que mGBA no funciona como VBA-Rr, en el que le ponemos la DLL de Lua que nos da la gana y la coge (siempre que sea Lua 5.1 o sus variantes como LuaJIT).
mGBA ya integra la versión de Lua elegida, por lo que las versiones oficiales nunca tendrán LuaJIT, puesto que utilizan Lua oficial, es decir, Lua 5.4.

Lo que yo estoy haciendo es añadir el soporte para que mGBA se pueda compilar y funcione con LuaJIT. Una vez que consiga esto, generaré mi propia build con LuaJIT, y será la que utilicemos para ejecutar el script.

Como una vez que esto funcione el desarrollador de mGBA me aseguró que se añadirá al repositorio, cuando haya alguna actualización importante de mGBA solo tendré que actualizar el repo local, volver a compilar y ya.
Re: Pokemon Access
nuive, vie jul 28 2023, 05:43P. M.

¡Hola!

Traigo otra pequeña actualización sobre el desarrollo, y me temo que no muy buena, en este caso relativa a los juegos que faltan de GameBoy Advance, Rubí y Zafiro.

En su momento pensé que sería cosa de adaptar los scripts de Esmeralda y poco más, puesto que los juegos son prácticamente iguales.

Y cuando me pongo a ver si en un par de tardes lo finalizo... me doy cuenta de que no.

Muchas cosas sí que son iguales entre los 5 juegos de esta consola, como el formato de los mapas, eventos, scripts... y la verdad que ya es bastante.

El problema es... bueno, una vez más, con el procesador de la pantalla. Sí, el dolor de cabeza permanente. Diseñé uno para Rojo Fuego y Verde Hoja; como recordaréis, debido a que no entendía muy bien ciertas cosas de este procesador, a la hora de sacar la compatibilidad con Esmeralda hubo que rediseñar todo el motor (sí, eso me generó muchas quejas sobre el rendimiento del script, pero por ahora, es lo que hay...) y el rediseño de este, comprendiéndolo ya mucho mejor, parece que resultó efectivo, puesto que tenemos el mismo procesador para RF, VH y Esmeralda.

Por todo esto, como decía, y entendiendo que esmeralda está basado en Rubí y Zafiro, esto bastaría para portar la compatibilidad a estos. Y... no.

Según parece, Esmeralda se desarrolló utilizando el código de Rojo Fuego y Verde Hoja como base, supongo que porque al desarrollar estos últimos, se darían cuenta de que el código de Rubí y Zafiro no era muy eficiente o algo así... no lo sé, la cosa es que el código base de FR y VH es prácticamente el mismo que en Esmeralda, mientras que el de Rubí y Zafiro es bastante diferente.

Y aquí es donde deduzco lo de la eficiencia. El problema no es que el código sea muy diferente, se adapta y ya. El problema es que es un caos.

Aviso: A partir de aquí, chapa para quienes entiendan de programación.

Ejemplos: En RF, VH y Esmeralda los textos se manejan por medio de clases que el código llama ventanas. Las ventanas se agrupan en la RAM por medio de un array que contiene las 32 ventanas que puede manejar el juego como máximo de forma simultánea.
En Rubí y Zafiro, el texto se maneja también con ventanas, pero las ventanas en vez de ser 32 fijas y agrupadas en array, son ventanas que aunque comparten estructura, están tiradas por la RAM del juego de forma caótica. Imagino (porque aún no lo acabo de confirmar) que todas tienen una misma estructura, pero cada una está por una esquina de la RAM, con lo que acceder a ventana[1], ventana[13] o ventana[30]... casi que es imposible.

Debido a esto, RF, VH y Esmeralda llaman a las funciones con índices, por ejemplo printText(1) para poner texto en la ventana 1. Rubí y Zafiro llaman a la función como printText(messageWindow) o printText(menuWindow). Vamos, que llaman a la función pasándole un puntero constante.

Junto con esta, la otra gran diferencia es como se manejan las capas de vídeo. En RF, VH y Esmeralda el juego guarda en la RAM cada capa de la pantalla (4 en total), las modifica sobre la RAM, copia cada ventana a la capa que le pertenece, y luego ya cuando el juego lo requiere, se copian a la VRAM para que el usuario pueda visualizar el resultado.

El proceso de copia a la VRAM tiene que estar en alguna parte para Rubí y Zafiro, puesto que es una función básica para que la GameBoy Advance muestre algo en pantalla. Sin embargo, en la RAM no hay ninguna copia de las 4 capas. Eso sí, sospecho que también estarán desperdigadas por la misma como las ventanas. En RF, VH y Esmeralda es habitual ver referencias desde bg[0] hasta bg[3]. En todo este caos, supongo que en algún momento encontraré algo como mainBG, secondaryBG o algo así.


Pero vamos, que para acabar con el rollo que acabo de meter, toca diseñar un nuevo procesador de texto, pantalla o como queramos llamarle, solo para estos dos juegos. Lo que me alegra es saber que en este caso no fue error mío, sino que los juegos trabajan de forma diferente.

Así que ya iré contando por aquí como se va resolviendo todo este cirio.

¡Saludos!

Editado: Tras investigar un poco más sobre las diferentes capas de vídeo de los juegos... me cuesta más dar crédito a lo que me encuentro.

No hay referencias a las capas en la RAM como en RF, VH y Esmeralda, básicamente porque el juego cada vez que modifica una capa lo hace directamente sobre la VRAM. No sé si es que al ser los primeros juegos de GBA que diseñaron en GameFreak no tenían ni idea de como iban las cosas en esta plataforma o qué, pero quemar la escritura en VRAM de esta manera...

Para los no entendidos en programación, lo que se hace en RF, VH y Esmeralda es como se suele imprimir en una impresora. El ordenador prepara la página, y la envía a la impresora ya lista para imprimir.

Lo que se hace en Rubí y Zafiro es, básicamente, enviar a la impresora letra a letra, indicando para esto en que coordenadas de la hoja imprimir cada una de ellas.
Re: Pokemon Access
sanslash332, sáb jul 29 2023, 07:43P. M.

No había visto el primer mensaje xd, pero bueno respondamos



El problema es que el desarrollo en mGBA se basa en Lua 5.4, por ser la versión oficial de Lua.

nuive

Y tienen alguna razón para preferir esa versión?

Si miras en stack overflow o redits de programación, como que todo el mundo dice que no existe una razón real viable para escojer lua 5.4.
Si sabes que tu requieres lua para un procesamiento pesado anda por luajit. En el caso de que no sea así, puedes utilizar otras variantes como lua.
Dada la naturaleza del scripting en un emulador... que es para puro hacer TAS ¿por qué escojer el motor más lento?

Entendería que me dijesen que luajit está descontinuado, pero... no lo está

Y si me dicen es que no se actualiza a lua 5.4, es que no, y no lo va a ser jamás; luajit irá sacando cada vez más y más cosas nuevas, pero que se van a ir bifurcando cada vez más del lua original. puede que saquen ciertas compativilidades como con lua 5.2 y algo de lua 5.3, pero a medida que luajit optimice o cambie cosas... se irá convirtiendo en otro lenguaje.

Pero bueno, MGBA ponchos.




mGBA ya integra la versión de Lua elegida, por lo que las versiones oficiales nunca tendrán LuaJIT, puesto que utilizan Lua oficial, es decir, Lua 5.4.


nuive

Ah! más encima lo enlazan de manera estática en tiempo de compilación! aaaa... mátenlos.



Como una vez que esto funcione el desarrollador de mGBA me aseguró que se añadirá al repositorio, cuando haya alguna actualización importante de mGBA solo
tendré que actualizar el repo local, volver a compilar y ya.


nuive

Supongo que es lo mejor. Al final habrá que tener nuestra propia versión de MGBA xd.



Según parece, Esmeralda se desarrolló utilizando el código de Rojo Fuego y Verde Hoja como base, supongo que porque al desarrollar estos últimos, se darían
cuenta de que el código de Rubí y Zafiro no era muy eficiente o algo así... no lo sé, la cosa es que el código base de FR y VH es prácticamente el mismo
que en Esmeralda, mientras que el de Rubí y Zafiro es bastante diferente.


nuive
Mira tú que verdad más divertida, así que al final FR y LF son los que en realidad son juegos nuevos, y esmeralda se agarra de ellos, mientras que rubí y safiro son los viejos hmmm Curioso.



Pero vamos, que para acabar con el rollo que acabo de meter, toca diseñar un nuevo procesador de texto, pantalla o como queramos llamarle, solo para estos
dos juegos. Lo que me alegra es saber que en este caso no fue error mío, sino que los juegos trabajan de forma diferente.


nuive

Auch, no deja de ser harta pega. más aún con lo que viene.



No hay referencias a las capas en la RAM como en RF, VH y Esmeralda, básicamente porque el juego cada vez que modifica una capa lo hace directamente sobre
la VRAM. No sé si es que al ser los primeros juegos de GBA que diseñaron en GameFreak no tenían ni idea de como iban las cosas en esta plataforma o qué,
pero quemar la escritura en VRAM de esta manera...



nuive

jajajajaja
Y oprobablemente habrían seguido así de mal si es que no les funcionaba más adelante xd.
probablemente en lg o esmeralda por animaciones y cosas que querían hacer no les daba el procesamiento para manejar la vram dinámicamente y a tiempo real y por eso manejaron las capas en ram. sino quizás habrían seguido haciendo eso.

En fin ¿y qué idea tienes para hacer?

leer la vram directamente nomás?

Conocer pequeñas estructuras o formato de memoria para reconocer que tipo de pantalla puede ser y arreglártelas con eso? o intentar capturar información desde otro lugar primero.

En fin. gracias por la información jeje.

a... ¿y qué pasó con tu githu? ya lo recuperaste?

Saludos!
Re: Pokemon Access
nuive, sáb jul 29 2023, 08:59P. M.

No, el github aún nada. Mandé tickets al soporte pero ya leí en varios sitios que se lo toman con calma, un mesecito de espera no me lo quita nadie.

En cuanto a lo otro... estos días que estoy sacando un poco más de tiempo le estoy metiendo caña pero puf.

Ya hice referencia unas páginas atrás a como en GBA todo se complicaba porque mientras que en GB en la RAM se guardaba un tilemap de la pantalla, en la GBA no.

Pues se ve que lo que quisieron hacer con Rubí y Zafiro fue mantener la estructura lo más fiel a la GB (obviamente de locos, porque son máquinas muy distintas) y sí, como lógicamente escriben tanto los mapas de tiles como los píxeles propiamente dichos a la VRAM, habrá que tirar de VRAM más que de RAM.

Y esto va a suponer un problemón no con los textos, sino con los menús. En RF, VH y Esmeralda, como ya comenté hay una serie de ventanas virtuales en la RAM. Fue una auténtica tortura que me llevó más de un año entender, pero algo que se entiende por qué está hecho y que es muy útil cuando se entiende como funciona.

Por ejemplo, la mochila está formada por varias ventanas: una para la lista de objetos, otra para el título de la ventana (el nombre del bolsillo en el que estamos), otra para la descripción del objeto seleccionado... así mismo, cuando se pulsa A sobre un objeto, se crea una nueva ventana para el menú con mayor prioridad (lo que quiere decir que va por encima de las demás y aplastará todo texto que tenga que aplastar para mostrar el menú correctamente), y así con todos los menús, submenús, y submenús de submenús.
Esto lo facilitaba todo muchísimo porque cuando el script detectaba una ventana con prioridad pues leía esa ventana e ignoraba lo de las que están debajo (todo esto simplificando mucho la explicación). Al pulsar la letra T para leer toda la pantalla, eso sí, se lee la pantalla tal cuál se ve, por eso a veces al estar en un menú de la mochila con la letra T lee nombres de objetos cortados, porque el menú se superpone y así es como se ve, trocitos de los nombres puesto que partes de los mismos están tapadas por el menú.

Ahora bien, esto en GB era mucho más simple. Una copia de la pantalla en la RAM y ya. Con eso, el script tiene que monitorizar a cada paso si aparece un menú, y si aparece, pues decidir que leer y que no en base a los bordes del menú, que también tiene que buscarlos en la copia de la pantalla.

Es decir, mientras que en la GBA el script tira de mucho dato interno, en la GB tiene que hacer como si estuviera viendo la pantalla y deducir qué es texto, qué es lista, que es menú...

Y ahora, trabajando con Rubí y Zafiro me encuentro con que el código es un híbrido entre la GB y la GBA.
Mientras que todo lo que no es texto e iconos se maneja igual que en RF, VH y Esmeralda, parece que con el texto quisieron hacer, supongo que por como manejaban todo en la GB, algo similar. Con lo que no, al contrario de lo que puse en el post anterior, no hay una ventana para cada cosa en la RAM.

Hay unas cuantas ventanas por ahí desperdigadas como dije, pero hasta ahora todo en lo que estoy trabajando se maneja solo con una triste ventana en RAM, que va mandando todo a la VRAM y ya, sean textos, menús, o el maldito árbol genealógico desde el Señor Peñas hasta Groudon y Kyogre, yo que sé.

Conclusión, esto es una locura, y para no cargarme todo el script estoy desarrollando en un archivo a parte que unificaré cuando tenga totalmente claro como funcionan estos juegos.

Parece que lo de las capas de vídeo ya lo solucioné, pero no puedo probarlo porque... bueno, las capas de vídeo en teoría funcionan, pero como aún no sé como capturar el texto que se envía a la VRAM pues... por ahora solo recibo pantallitas muy bien formadas pero totalmente en blanco.
Re: Pokemon Access
matias1912, lun ago 07 2023, 09:30P. M.

hola! creo que este es el lugar indicado para preguntar...
con el emulador que trae el tfj en la descarga oficial, se pueden hacer intercambios o por lo menos para completar la pokedex? si sí, como se hace? y si no, se puede intercambiar de forma acccesible? igual si por ahí existe una guía taría bueno que lo publiquen
Re: Pokemon Access
nuive, mar ago 08 2023, 08:34A. M.


hola! creo que este es el lugar indicado para preguntar...
con el emulador que trae el tfj en la descarga oficial, se pueden hacer intercambios o por lo menos para completar la pokedex? si sí, como se hace? y si no, se puede intercambiar de forma acccesible? igual si por ahí existe una guía taría bueno que lo publiquen

matias1912


No, no se puede. Creo que había por ahí una guía para intercambiar con mGBA, pero no recuerdo muy bien donde estaba.
Re: Pokemon Access
nuive, mar ago 08 2023, 08:41P. M.

Siento el doble post, pero como no tiene que ver con lo anterior... solo escribía para notificar que finalmente, mi cuenta de github vuelve a estar puesta como pública.
Re: Pokemon Access
sanslash332, jue ago 10 2023, 11:53P. M.

Que buena noticia @nuive
Pucha que se demoraron!

Y te dieron alguna explicación... creíble?

Porque ya de razonable. difícil. con creíble bastaría.

Y por la explicación. muchas gracias por los detalles técnicos, bien entendibles.

Lástima nomás por todo el trabajo que hay que realizar; es cuasi como que tener que rehacer y retroceder a los viejos scripts de gb con detallitos de GBA jajaja.

Supongo que problemas de los juegos primerizos.

En fin. a esperar novedades smile
Re: Pokemon Access
nuive, vie ago 11 2023, 07:41A. M.

sí, me dijeron que alguien se había colado en mi cuenta y empezó a hacer cosas en repositorios como marcarlos como favoritos y cosas sin ningún tipo de sentido, la verdad. Por suerte desde GitHub deshicieron todo lo que se había tocado y ya está todo como antes.
Re: Pokemon Access
caspian, vie ago 11 2023, 12:21P. M.

respondo a matias por lo de los intercambios. Si, efectivamente hay una guía hecha por mi, pero el link caducó. Hace poco hice otra, esta vez en texto, pero el link era de fromsmash y también ha caducado. no sé si la borré o todavia la conservo. De cualquier modo, si veo que interesa la vuelvo a escribir y la subo aquí.
Re: Pokemon Access
sanslash332, vie ago 18 2023, 05:50A. M.

a bueno @nuive menos mal que era solo eso y nada de otra índole. smile

Supongo que a cuidar más las contraseñas y no mucho más. para evitar que indeseables se metan a hacer porquerías smile

@caspian Deberías de hacer la guía jaja, y subirla al foro de guías y tal, para que quede así registrada en texto y guardada en el mismo foro smile

muchos la agradeceríamos que quedaría súper bien smile te pasarías smile

Esop ¡saludos!
Re: Pokemon Access
caspian, vie ago 18 2023, 10:06A. M.

perfecto! pues cuando tenga un momento la escribo de nuevo.
Re: Pokemon Access
FabiG94, mar mar 19 2024, 11:40P. M.

Hola.
Este post va a ser un poco largo, así que vamos por partes.
Me acabo de leer las 16 páginas del hilo, si, más de 400 mensajes, pero tenía que ponerme al día y valía la pena.
Primero que nada, creo que no alcanza poner en palabras el agradecimiento que te merecés @nuive por este trabajo inmenso y fantástico, hace un par de semanas empecé con rojo fuego, y es maravilloso poder volver a jugar a los clásicos pokemon después de años, y de forma autónoma, de verdad que ya por lo que hiciste habría que hacerte un monumento, porque como dijeron antes, fue bastante decepcionante cuando Rachel descontinuó el Braillemon, ya que aunque no era el pokemon original como tal, la experiencia era la misma y hasta donde llegó, yo la re disfruté.
Imagino que por un tema de universabilidad no agregaste el readme en español, pero debido a que hay partes que son igual que el del scribt del cristal original, y este había sido traducido por @corona en su momento, traduje y corregí los nuevos comandos del pokemon access, más la parte que pusiste en el primer post de la página 7, y se lo voy a pasar a @sanslash332 ,junto con las guías del rojo fuego, y el acceso directo a la del esmeralda de @randal ,así como una pequeña guía perdida que hay al principio del hilo, sobre la guarida rocket en el pk amarillo.
Esto mas que nada para tener el paquete en tfj lo más completo posible, para que nadie tenga excusas o problemas para poder jugarlo a fondo.
Por cierto @caspian ,me parece que la guía de como intercambiar sería muy útil, al menos mientras el emulador principal del script no tenga esa función.
Yendo a un par de dudas, que te las mencionaron, pero muy al principio y después no se volvió a comentar, no hay ninguna manera de jugar en el casino? Porque intenté probar la máquina traga monedas en ciudad asulona, y nada, la única es seguir los pasos de la guía de @randal ,por eso pregunto si al final se implementó algo para esta parte o no.
Por último, y esto si se comentó en la última actualización que lanzaste, hay indicios de mejoría para la lectura de movimientos y algunos menús en el esmeralda?
Yo aún no lo jugué, pero me comentaron que el problema principal es cuando un pokemon aprende un nuevo ataque, y tiene que olvidar uno, en esa parte no se puede leer con las flechas como en rojo fuego, amarillo etc, y toca tirar de OCR, porque por alguna razón, los ataques parece que tampoco se muestran en el mismo orden que aparecen cuando estás en una batalla.
En fin, fue un mensaje muy largo, pero tenía que agradecerte y decirte que por lo menos de parte de todo tiflojuegos.com, tenés nuestro apoyo y cualquier cosa en lo que podamos ayudarte, no dudes en decirlo.
Un saludo.
Re: Pokemon Access
nuive, mié mar 20 2024, 03:32P. M.

¿Hola!


Imagino que por un tema de universabilidad no agregaste el readme en español, pero debido a que hay partes que son igual que el del scribt del cristal original, y este había sido traducido por @corona en su momento, traduje y corregí los nuevos comandos del pokemon access, más la parte que pusiste en el primer post de la página 7

FabiG94

Solo una cosa, con el readme actual traducido, el post de la página 7 ya no es necesario, puesto que las instrucciones para añadir hacks (el post de la página 7 es sobre esto ¿no?) ya están en el readme.


Yendo a un par de dudas, que te las mencionaron, pero muy al principio y después no se volvió a comentar, no hay ninguna manera de jugar en el casino? Porque intenté probar la máquina traga monedas en ciudad asulona, y nada, la única es seguir los pasos de la guía de @randal ,por eso pregunto si al final se implementó algo para esta parte o no.

FabiG94

No, por ahora no. Si te fijas, hay muchas cosas de las maquinitas esas del casino que no se leen ni al leer toda la pantalla. Lo tengo apuntado en la lista de cosas por hacer, pero la verdad que está en la lista de cosas poco prioritarias, al menos por ahora. En esta lista también están cosas como la función esta de contestar preguntas con 4 palabras (el Easy Chat en inglés, no recuerdo como se llama en español). Si bien son cosas importantes para acciones como la activación del regalo misterioso o la obtención de Pokémon y MTs, requieren una dedicación que en este momento no le puedo dedicar al script.


Por último, y esto si se comentó en la última actualización que lanzaste, hay indicios de mejoría para la lectura de movimientos y algunos menús en el esmeralda?
Yo aún no lo jugué, pero me comentaron que el problema principal es cuando un pokemon aprende un nuevo ataque, y tiene que olvidar uno, en esa parte no se puede leer con las flechas como en rojo fuego, amarillo etc, y toca tirar de OCR, porque por alguna razón, los ataques parece que tampoco se muestran en el mismo orden que aparecen cuando estás en una batalla.

FabiG94

Cierto, este problema con Esmeralda es una lata importante. Justo ahora, cuando puedo dedicarle un poco de tiempo al script es en lo que estoy trabajando. No solo en que se puedan leer estos menús, sino también en que se puedan leer mejor otros, como la selección de movimientos en combate, la selección de oponente en combates dobles... este tipo de cosas.

Y ya para terminar aprovecho la respuesta para confirmar que no, el script no está abandonado. Si bien hace más de un año que no publico versión nueva, sigo trabajando en el script cuando mi tiempo me lo permite. Creo que no es mucho arriesgar afirmar que pronto habrá nueva versión. Eso sí, será una versión centrada en solventar este tipo de problemas como menús que no se leen y cosas así, así como otros múltiples bugs que fui arreglando durante este tiempo. Así que no, por ahora no habrá inclusión de Rubí y Zafiro, y obviamente, mucho menos nada de generaciones más recientes. Pero el desarrollo del script sigue activo, y siempre que publico una nueva versión ya tengo cosas desarrolladas para la siguiente. Por ejemplo, el soporte para Rubí y Zafiro está a medias pero es bastante inestable, a la vez sigo trabajando en mGBA para ver si hay alguna forma de que podamos dejar estos VBA arcaicos atrás peeeeeero... no promete mucho la cosa.
mGBA es muy amigable para el desarrollo, pero por mucho que pido ayuda en el discord a nadie le interesa colaborar con la inclusión de LuaJIT en el emulador, con lo que estoy yo solo trabajando en esto. También me planteé añadir Lua a VBA-M, que es el único VBA decente que sigue en desarrollo actualmente, además de que también tiene emulación de cable link, pero es un caos. Sería necesario portar la estructura Lua de VBA-Rr a VBA-M, y VBA, sea la versión que sea, es un caos de código, además de que es impreciso. Respeto muchísimo más el trabajo que se está haciendo con mGBA, y si bien no recibo apoyo por parte de los desarrolladores, creo que es más inteligente volcar el esfuerzo en un emulador prometedor que no en otro que es un esqueleto que tiene 20 años sobre el que se van haciendo añadidos que cada vez lo convierten en más pesado.
Re: Pokemon Access
FabiG94, jue mar 21 2024, 05:54A. M.

Hola.
@nuive gracias por responder!
Primero, me apunto lo del readme, así como gracias por aclarar lo del casino, igual como dijiste, no es algo tan prioritario, pero quería sacarme la duda.
Genial si en este tiempo fuiste corrigiendo muchos errores, y que estás viendo de solucionar lo del Esmeralda, ojalá que no sea tan complicado.
En cuanto a todo lo último que decís, no se de programación, pero más o menos entiendo todo el lío en el que andas metido con los distintos emuladores etc, supongo que lo que decidas será lo mejor para el script y el emulador.
Un saludo y gracias por todo.
Re: Pokemon Access
sanslash332, vie mar 22 2024, 12:46A. M.

Ho ¡que gusto leer de ti nuevamente! @nuive

Siempre es un agrado tenerte por aquí de vuelta y saber que este poderoso script sigue en desarrollo smile


Solo una cosa, con el readme actual traducido, el post de la página 7 ya no es necesario, puesto que las instrucciones para añadir hacks (el post de la
página 7 es sobre esto ¿no?) ya están en el readme.

nuive

Hum... ¿qué tan bien está funcionando realmente esto de los hackroms?

¿tienes indicio de alguno que sí haya funcionado luego de la asignación?

Traté con algunos de esmeralda y otros de cristal, pero nada, no logro hacer que el script los tome. ¿será porque están demasiado diferentes?

Y de hecho si intentas hacerlo mediante el método manual del shift+0, muchas veces en un rom desconocido el script hace caput antes de abrir si quiera el menú de selección del script base.

Los único que logro que funcionen, son los que precisamente no requieren asignación alguna; porque los encabezados y firmas siguen iguales, entonces el script los detecta como el original xd; pero cuando hay que asignar algo, nada, no pasa nada.

Y bueno, cuando los asigno ya sin la interfás y editando a manito el json en el archivo lua, no logro identificar bien cuál es el md5 o sha1 que hay que sacar desde el rom-info.
Hay que sacarlo y colocarlo tal como viene? hay que desglosarlo y pasarlo por algún algoritmo?

Pruebo con uno que otro, pero el script no lo pesca. xd


Probé con el cristal aniversari, el rohue y hmmmmm elite reducs.

a y el gold97 reforged.




Cierto, este problema con Esmeralda es una lata importante. Justo ahora, cuando puedo dedicarle un poco de tiempo al script es en lo que estoy trabajando.
No solo en que se puedan leer estos menús, sino también en que se puedan leer mejor otros, como la selección de movimientos en combate, la selección de
oponente en combates dobles... este tipo de cosas.

nuive

Ojalá puedas seguir avanzando con esto smile por suerte aún no he tocado el esmeralda porque sigo terminando un hackrom (que sí pesca) de rojofuego jajaja, pero de ahí debo empezar con el esmeralda smile



mGBA es muy amigable para el desarrollo, pero por mucho que pido ayuda en el discord a nadie le interesa colaborar con la inclusión de LuaJIT en el emulador,

nuive

¿No has planteado pedir la ayuda quizás desde otra arista?

Preguntar por ayuda entonces en optimización del script en lua original, para que corra lo más rápido posible simplemente con pure-lua en vez de luaJit. En el fondo a ver si hay algún, expertirijillo en lua más que en c++, y se le ocurran ideas de como optimizar la parte lenta del lua utilizando lo poco que ofrece del pure-lua en términos de rendimiento.
Y por último, no sé, alguien que se le ocurra crear algo en c++ que permita linkearse al pure-lua para optimizar los cuellos de botella.

Si no pueden aportar en una cosita, quizás en la otra. es dividir el trabajo, lo sé, pero quizás se pueden sacar más frutos. creo que lo comentamos hace tiempo lo de pequeñas libs en c++ para optimizar, pero creo que habíamos concluido que no era funcional relamente porque el cuello de botella no es algo sacable del script smile



es un caos de código, además de que es impreciso. Respeto muchísimo más el trabajo que se está haciendo con mGBA, y si bien no recibo apoyo por parte de
los desarrolladores, creo que es más inteligente volcar el esfuerzo en un emulador prometedor que no en otro que es un esqueleto que tiene 20 años sobre
el que se van haciendo añadidos que cada vez lo convierten en más pesado. 

nuive

y preguntar aunque sea por apoyo en vba-m?
Quizás es más tosco e inestable, pero si hay apoyo de algún experto con la causa?

Porque lo de m-gba no dejará de ser una lrama la cual implemente lua-jit, y no la principal. mientras que si le meten a VBA-m lua-jit como principal a pesar de sus impresición,se quedaría con eso por sécula seculona.

son opciones... smile

pero en fin,sea lo que sea, todo son excelentes noticias smile


Saludos!

pd: manzo post que me mandé jajajaja
Re: Pokemon Access
caspian, lun mar 25 2024, 09:00P. M.

hola chicos! Bueno, ya que @FabiG94 lo ha pedido, aunque tengo que volver a practicar cómo se hace porque llevo sin intercambiar pokemon algun tiempo, os puedo escribir la guía de intercambio con m gba por si necesitais usarlo. También, ya que @Nuive ha mencionado el easy chat, que por cierto no sabía que se llamaba de ese modo, también descubrí una forma de usarlo con el script, y os lo puedo explicar. Este modo se utiliza, como @Nuive ha dicho, para activar el evento misterioso. Dicha característica es util usarla para poder inyectar los eventos de tercera gen tales como el misti ticket, el ori ticket y todos esos que sirven para ir a sitios especiales a capturar ciertos legendarios usando un programa llamado gen 3 event tool, el cual ya puestos tambien os puedo dejar aquí, es totalmente accesible. Así que nada, me pongo a ello si es que os interesa.
Re: Pokemon Access
sanslash332, lun mar 25 2024, 09:34P. M.

Tú dale @caspian

Mira que todo eso es absolutamente bienvenido smile

Será genial poder ir atrapar a mew en el esmeralda xd.
Re: Pokemon Access
FabiG94, jue mar 28 2024, 12:46P. M.

Hola.
A mi me parece una gran idea @caspian, todo lo que se pueda hacer para mejorar la experiencia con los juegos, es más que bienvenido.
Por cierto, Sandl ya actualizó el link de las entradas del Pokémon, ahora viene con los comandos y las instrucciones de como correr el script en español, así como la guía para el rojo fuego, y la guarida rocket en el amarillo de @Randal, y accesos directos a la guía del Esmeralda, así como a la parte de la cueva en el PK Cristal.
Un saludo!
Re: Pokemon Access
Alejandro73, dom jul 07 2024, 05:56P. M.

Buenas gente! Encontré 2 cosas que podrían estar interesantes si Nuive puede darles soporte, que veo que Hoenn es más problemática que Kanto en estas cuestiones.
Primero, la expansión para Esmeralda, lo que sería el equivalente al Fire Red Upgrade.
enlace

Y lo que más me emociona, la decompilación de Pokemon Emerald Rogue! Es un romhack súper original que estaría genial poder jugar. Mi hermano que lo ha probado me comenta que no hay grandes cambios con respecto a mapas, así que no deberíamos tener problemas como en Pokemon Unbound. Aparte las rutas son más simples y no suelen tener muchos puzzles al estar generadas de forma procedural.
enlace
Re: Pokemon Access
nuive, lun sept 02 2024, 03:59P. M.

¡Hoooooooooola!

Primero que todo, no, no me morí (por ahora).

Ahora, primero lo primero:


Buenas gente! Encontré 2 cosas que podrían estar interesantes si Nuive puede darles soporte, que veo que Hoenn es más problemática que Kanto en estas cuestiones.
Primero, la expansión para Esmeralda, lo que sería el equivalente al Fire Red Upgrade.
enlace

Y lo que más me emociona, la decompilación de Pokemon Emerald Rogue! Es un romhack súper original que estaría genial poder jugar. Mi hermano que lo ha probado me comenta que no hay grandes cambios con respecto a mapas, así que no deberíamos tener problemas como en Pokemon Unbound. Aparte las rutas son más simples y no suelen tener muchos puzzles al estar generadas de forma procedural.
enlace

Alejandro73

En cuanto al Pokeemerald Expansion: No, siento decirlo, pero no es equivalente al CFRU. De hecho tengo este proyecto en la lista de proyectos de Pokémon desde hace años. El problema está básicamente, en su título jajajajajaja. Pone que son diversas expansiones para aplicar sobre Pokémon Esmeralda decompilado. CFRU se aplica sobre una ROM de Pokémon Rojo Fuego en inglés, lo que implica que el código original del juego, salvo modificaciones que haga CFRU, no se toca. El CFRU, todas sus nuevas funciones, se añaden en la ROM original, donde hay espacio libre, o en su defecto, añadiendo ese espacio libre. Por eso pude crear un script para la expansión CFRU. Solo es añadir cosas, hacer pequeñas modificaciones... Pero el 90% de las direcciones de memoria originales siguen ahí.

Esto, al ir sobre una decompilación, lo cambia todo. Cada vez que una ROM decompilada de Pokémon Esmeralda se compila, nos devolverá la ROM original, con sus direcciones de memoria intactas. Pero en el momento que se cambie algo, aunque solo sea una palabra de texto, todo eso cambiará. Y cuantas más cosas se cambien, más cambiará la estructura interna de la ROM, y con ello, todas las direcciones originales.
Mientras esto es una ventaja para quien crea hacks, puesto que esto crea una nueva ROM sin tener que buscar espacio donde meter nada, simplemente recompilando todo y siempre que el tamaño máximo no exceda el tamaño máximo de una ROM de GBA (32 mb), para el script es un marrón, puesto que ya no solo cada hack, sino cada versión de cada hack, cada nueva actualización, tendrá todo cambiado con una probabilidad muy alta. Por eso hasta ahora nunca me centré mucho en hacks de decompilaciones.
Al final sería buscar todas las direcciones de memoria, manejar todos los cambios... casi como si fuera un juego nuevo. Y todo, para que en cuanto saliera una actualización haya que reubicar cada cosa de nuevo.

Creo que con esto ya respondo a lo del Pokeemerald Rogue. Sí, tener los datos decompilados de un hack hace, obviamente, mucho más sencillo compatibilizarlo con el script. Pero esto no quita que de la misma forma, en cada actualización del hack haya que editarlo todo.

Ahora, sobre el script: no, no lo tengo abandonado. Sí, lo tengo bastante desatendido por cuestiones diversas. Por este motivo tengo varias cosas a medias (la compatibilidad con Rubí y Zafiro, lo que falla en Esmeralda con la lectura de los menús de movimientos...) pero abandonado no está. Sé que hace meses prometí una actualización para arreglar bugs, pero la verdad es que la versión de desarrollo que tengo ahora mismo tiene bastantes incoherencias, de repente cascan hasta los juegos principales... no se trata tanto de que esté hecha un desastre como que es bastante complicado convertirla en una nueva release sin cargarme muchas cosas para las que tendría que revisar el script línea a línea. Sin embargo, como prometí estas correcciones de bugs, si me podéis ir recordando que bugs tenía la última versión que publiqué, puedo simplemente editar esa versión y corregirle los bugs.

Ahora, en cuanto al desarrollo futuro. No estoy trabajando solo con el script cuando tengo algo de tiempo, por eso lo tengo bastante descuidado. Estuve trabajando con el código ARM nativo de la GameBoy Advance. Esto me ayuda a entender mucho mejor las diferencias de Rubí y Zafiro con el resto de juegos de GBA, así como a poder aprender como funciona el ARM7 (el procesador que tiene la Game Boy Advance y uno de los dos que tiene la Nintendo DS) por lo que ayudará también cuando el desarrollo llegue a las siguientes generaciones.

Por otra parte estuve trabajando con posibles emuladores con Lua y emulación de cable link, paso a comentar:

-VisualBoyAdvance-m: Intenté añadir Lua a este emulador, pero si bien en los últimos años mejoró bastante el cuidado del mismo, sigue siendo bastante desastre. Y desde hace algún tiempo la función de intercambio (el cable link) está totalmente bugueada. De forma local ni funciona, y a través de red detecta los dos jugadores pero tira errores continuamente, no es seguro para nada. Si ya añadir Lua a un emulador es un trabajo importante, si dicho emulador tiene la función de cable link bugueada, los desarrolladores principales lo saben desde hace años y no hacen nada pues... para esto, nos quedamos con el VBA-RR, digo yo...

-mGBA: El bendito, dichoso y maldito (sí, acabo de poner bendito y maldito) mGBA: Estuve bastante tiempo insistiendo en cambiar Lua 5.4 por LuaJIT sin resultados. Curiosamente, hace poco tiempo realicé una nueva comparación entre diferentes arquitecturas Lua y descubrí que el JIT de Lua no es el problema. Probé a seleccionar un objeto de la lista de objetos de Ciudad Carmín en Pokémon Amarillo de tres formas diferentes (ya que esto es una de las cosas que causa muchísimo lag en mGBA), y aquí los resultados:
VBA-RR con LuaJIT: 10.999999999989 ms
VBA-RR con Lua 5.1: 16.999999999989 s
mGBA con Lua 5.4: 74.9999999999 ms

Esto solo evaluando parte de la misma función, pero sí, es obvio. Si el problema fuera de LuaJIT, los resultados de Lua 5.1 tendrían que acercarse más a los de Lua 5.4 que a los de LuaJIT. Como se puede ver, apenas hay diferencia entre LuaJIT y Lua 5.1, mientras que Lua 5.4 tarda más de 7 veces lo que LuaJIT y más de 4 lo que Lua 5.1.
De esto deduje que el problema era del emulador. Pregunté esto en la lista de mGBA y tras una serie de sugerencias, el desarrollador principal reconoció que la implementación de Lua en mGBA no está optimizada.

Así que... mientras sigo haciendo experimentos con mGBA, por ahora la situación es así.

Por cierto, un usuario que está en el discord de mGBA, un tal dbm que había diseñado un script para Esmeralda en audiogames.net, me dijo que si ya no me interesaba añadir LuaJIT a mGBA que utilizara algo como LuaLanes, que es como un interceptor entre Lua y el emulador. Aseguró que eso evitaba el lag y no bloqueaba el emulador mientras el script se ejecutaba, que él tenía un script para los juegos de Pokémon que había modificado y que le funcionaba tanto en VBA-RR como en mGBA y Bizhawk.

Más allá de que me parece un poco de mal gusto decir esto por un discord y no compartir algo como eso, cuando por mensajes que compartimos en su momento tengo altas sospechas de que al menos parte de ese script que menciona está basado en este, algún desarrollador le dijo que ejecutar algo como un script Lua de forma asíncrona es un suicidio, como es lógico. De que te vale un buscarrutas que te permite moverte mientras buscas la ruta? Te dará como resultado un camino que si te moviste de sitio de poco te va a valer, porque el camino que buscará será en base a los datos que recogió al pulsar la P, no en base a donde estés cuando devuelva el resultado. De hecho, según funciona este script y, por extensión el Crystal access original, es bastante probable que el buscarrutas con un funcionamiento así se rompa más veces de las que funcione correctamente.

Pero bueno, esta es un poco la situación actual con todo esto.

Por cierto, si es de interés puedo subir una demo en audio de las funciones que tendrá el script en el futuro. Hay alguna que afecta a todos los juegos, otra a los de GameBoy Advance, y lo que más mejorará es la expansión para CFRU. Toda la investigación que comentaba que hice sobre el procesador de la GBA la hice con un hack que creo que a estas alturas es más que conocido, el Radical Red en su última versión.

En resumen. Si alguien puede indicar los bugs que había en la última versión del Pokémon Access (que ni me acuerdo, se que había algún problema con los hacks y demás) lo puedo corregir y actualizarlo, pero ni siquiera le cambiaré el número de versión.
Y si alguien quiere escuchar lo que podrá traer el script en el futuro... gritos y lo subo!

¡Saludos!
Re: Pokemon Access
sanslash332, mar sept 03 2024, 01:28A. M.

¡bueeeeenas @nuive !

Antes de decir o citar cualquier cosa ¡sí! ¡grito que sí! Sube la listas de características y novedades que tienes planificadas (y ya creadas) para las próximas versiones! woooo

De hecho ahí viene la pregunta noov de turno.... ¿qué implica el CFRU? ¿Qué hackroms conocidos hay implementando ello?

también ¿sabes si el pokemon ketzal está hecho de un decompilado? o es un hackrom clásico.

Porque el script no detecta nada, pero no crashea. y con la t, sí lee la pantalla jaja.



Ya pasando eso...

Veamos si hjay cositas que citar:


Mientras esto es una ventaja para quien crea hacks, puesto que esto crea una nueva ROM sin tener que buscar espacio donde meter nada, simplemente recompilando
todo y siempre que el tamaño máximo no exceda el tamaño máximo de una ROM de GBA (32 mb), para el script es un marrón, puesto que ya no solo cada hack,
sino cada versión de cada hack, cada nueva actualización, tendrá todo cambiado con una probabilidad muy alta. Por eso hasta ahora nunca me centré mucho
en hacks de decompilaciones.


nuive
hum. sugerencia loca...
¿no existiría quizás... una manera de crear una expanción para estas decopilaciones que ayude con la accesibilidad?

Si el juego está decompilado completo. y se tiene acceso a su código...

Jugando con ese código base, y toda la programación que tienes dentro del juego por ejemplo... ¿no se podría transcribir todo el script y sus funcionalidades a una expanción para aplicar a firered y emerald?

Y para tirar el texto al lector de pantalla, ahí es donde puedes jugar con lua. Si tienes el código a tu mano, podrías reserbar un bloque pequeño de memoria, que sea para mensajes de salida de la expanción del lector. así el script lo único que haría sería monitorear ese espacio de memoria, y cada vez que cambie, manda el contenido de ese espacio de memoria al lector de pantalla.

Pero todo el códiogo del path finder, lectura de pantalla y tal (menos el OCR de la t) podría ir dentro del juego. Teniendo acceso a las funciones directamente y pudiendo interceptarlas para mandar su contenido a este espacio de memoria, quedaría una expanción ultra poderosa y aplicable a cualquier hackrom.

Claro, requiere que los devs tomen esta expanción y la quieran aplicar, pero la opción estaría ahí.

Y obviamente dejas que se active / apague con un flag, o no sé, una convinación de botones rara de la GBA.

Es ultra loco lo que digo, pero no lo veo imposible.




Creo que con esto ya respondo a lo del Pokeemerald Rogue. Sí, tener los datos decompilados de un hack hace, obviamente, mucho más sencillo compatibilizarlo
con el script. Pero esto no quita que de la misma forma, en cada actualización del hack haya que editarlo todo.


nuive

En resumen, no vale la pena en lo absoluto.

Al menos que... no sé ubiese una manera de que el juego imprimiese la lista de sus direcciones de memoria después de una compilación y parchease el script automáticamente. jajajaja



Ahora, en cuanto al desarrollo futuro. No estoy trabajando solo con el script cuando tengo algo de tiempo, por eso lo tengo bastante descuidado. Estuve
trabajando con el código ARM nativo de la GameBoy Advance. Esto me ayuda a entender mucho mejor las diferencias de Rubí y Zafiro con el resto de juegos
de GBA, así como a poder aprender como funciona el ARM7 (el procesador que tiene la Game Boy Advance y uno de los dos que tiene la Nintendo DS) por lo
que ayudará también cuando el desarrollo llegue a las siguientes generaciones.


nuive

Anda, esto ya suena aún más profundo.
Te estás metiendo muy, pero que muy abajo. ahora más allá de la memoria...

¿como que cosas has podido entender de las instrucciones del procesador?

Para lo que es la nintendo ds ¿tendrías que estudiar también el otro procesador?


VBA-RR con LuaJIT: 10.999999999989 ms
VBA-RR con Lua 5.1: 16.999999999989 s
mGBA con Lua 5.4: 74.9999999999 ms

nuive

Hum...
supongo que la segunda medición eran 16.x MS y no S, porque cuando leí solo segundos.... Uf ¡si que se demora!

Fuera del chiste... claramente ahí hay algo mal xd.


En resumen. Si alguien puede indicar los bugs que había en la última versión del Pokémon Access (que ni me acuerdo, se que había algún problema con los
hacks y demás) lo puedo corregir y actualizarlo, pero ni siquiera le cambiaré el número de versión.
Y si alguien quiere escuchar lo que podrá traer el script en el futuro... gritos y lo subo!

nuive

A ver, te comento lo que yo me acuerdo.

Lo que más han dicho la gente, es la falta de lectura en el menú de esmeralda cuando hay que reemplasar un ataque por otro.

Ya luego lo que yo detecté, es que la función del shift+0 para asignar hacks nunca he podido hacerla funcionar correctamente.

En muchos roms que el script no los detecta para nada como un pokemon, al precionar el comando el script crashea y se cierra. Solo el script, no el emulador.
Lo reinicializas, y si pulsas shift+cero, no pasa nada.

Por lo mismo no entiendo cuál es el sha1 que hay que sacar del rom info para incertar en la lista de hacks uwu.

En donde sí he visto que el shift+cero funciona, es cuando el script ya deteta el rom como algo de pokemon (dice ready) pero claro. ya lo detectó como pokemon; asignarle algo con shift+cero no ayuda mucho, el script sigue funcionando igual (o sin funcionar) como antes.

Esto lo probé con los roms ddel cristal aniversari, el rohue y hmmmmm elite reducs.

a y el gold97 reforged.

Pero con ninguno de esos andubo.

Lo cyurioso, si no mal recuerdo el aniversary edition.o el clear cristal (uno de esos dos que no logro echar a andar con la versión actual del script) me pareció que sí tiró con la vieja versión de tspivey.

¿por qué eso?


Por mi parte es lo único que me recuerdo para reportar.

En un hackrom nomás el emulador me crasheó a causa del script en medio de una escena... similar a la del ferri yendo a islas sevii, pero... apagabas el script, lo reencendías luego de la escena y aquí no ha pasado nada jaja. así que nada grave.

Por mi eso; siempre un gusto verte aparecer nuevamente por aquí smile

ah! que bueno que mencionaste al tipejo ese del script del vizhawk... ¿sabes que onda con eso?
Lo siguió trabajando? o se quedó solo como un experimento que nunca más compartió?

Eso ¡saludos!
Re: Pokemon Access
frangamer91, mar sept 03 2024, 03:40A. M.

Buenas noches tiflojugadores necesito ayuda con pokemon rojo fuego.Estoy en el almacén rocket no se como desplazarme para obtener la maya ball pelear con los soldados faltantes y recuperar el safiro del científico.

me confunden tantas baldosas teletransportadoras y no se para donde ir.

no tengo guía de referencia xq la de randall no cubre postgame y las de nintendo o la wiki pokemon no son accesibles.
Re: Pokemon Access
caspian, mar sept 03 2024, 10:29A. M.

@frangamer91
buenas, te dejo una guía que encontré por ahí hace tiempo cuando tuve ese mismo problema. es bastante explicativa y a mi me sirvió.
enlace

edit by sandl: Pequeño edit para mencionar al chico. para que el foro le notifique de la respuesta jaja
Re: Pokemon Access
Alejandro73, mar sept 03 2024, 11:09A. M.

no creí que esto fuese a expandirse a la Nintendo DS, qué buenas noticias! Obviamente todavía falta un largo camino, pero estoy dispuesto a esperar con tal de jugar Sinno o Teselia (especialmente Teselia xD).
Una lástima por lo del Emerald Expansion, definitivamente es mucho más complejo de lo que pensé. Gracias por informarnos sobre todo esto, me alegro de que el proyecto siga en pie! Acá van algunos bugs que recuerdo:
*En muy contadas ocasiones había que mover al personaje de lugar para que detecte un camino. No recuerdo si me ocurrió en un juego principal o en un hack, probablemente fue lo segundo jajaj.
*en ocasiones no se leen los menús al mover el cursor, me ha pasado con Radical Red y Esmeralda en español.
*No sé si esto puede cambiarse, pero hay un punto en la ruta 111 que no te deja avanzar por la tormenta de arena, pero si vas a la derecha se puede continuar a la siguiente ruta sin problemas. EL juego no detecta esta posible salida. Creo que hay un caso similar con la Ruta 5 de Rojo Fuego en donde sí detecta los diferentes caminos. En todo caso, es posible que el jugador pueda crear un nuevo objeto para buscar? Podría servir para aquellas cosas que el juego detecta como un sprite y no como un objeto rastreable, como trepa rocas o los dinamax en Pokemon Unbound o el NPC de la casa treta en Esmeralda.
*Cuando vas a reemplazar un movimiento en Esmeralda, el menú no se lee. Tampoco la selección de oponentes en las batallas dobles de Radical (asumo que afecta a todo Rojo Fuego).

*Recuerdo que en audiogames pasaste una carpeta para que Crystal Clear funcione mejor. ¿Hay chance de agregarla al script base?

Eso es todo lo que recuerdo por ahora, me alegro de leerte otra vez.
Re: Pokemon Access
caspian, mar sept 03 2024, 12:41P. M.

una pequeña correccion. en rojo fuego si se leen bien los menús en batallas dobles, en radical red no pero en el original si, al emos yo en mi caso si los he podido leer correctamente.
Re: Pokemon Access
nuive, mar sept 03 2024, 10:46P. M.

vale, voy respondiendo:



De hecho ahí viene la pregunta noov de turno.... ¿qué implica el CFRU? ¿Qué hackroms conocidos hay implementando ello?

sanslash332

El CFRU (Complete Fire Red Update) suele ser lo que se utiliza en el caso de Rojo Fuego para añadir lo típico de nuevas generaciones. Separación de movimientos en físico-especial, tipo Hada, megaevoluciones, movimientos Z...). Hay muchísimos hacks que lo utilizan a día de hoy, pero si tuviera que mencionar mis dos favoritos son Pokémon Unbound y el más que repetido Radical Red. El Unbound tiene una historia simplemente brutal, todo lo que mencioné anteriormente, pokémon hasta la 8ª generación, una especie de frente de batalla... Radical Red es simplemente Pokémon Rojo Fuego pero con un buen reto que superar solamente en su modo de juego normal, tiene varios además de este. La diferencia fundamental con el Unbound en cuanto a características es que incluye Pokémon y movimientos hasta la 9ª generación. Todos los movimientos, habilidades y objetos no, pero sí incluye los 1025 pokémon existentes. Si bien falta alguna forma por ahí, son las formas que solo presentan un cambio estético (las formas de Vivillon, por ejemplo).



también ¿sabes si el pokemon ketzal está hecho de un decompilado? o es un hackrom clásico.

Porque el script no detecta nada, pero no crashea. y con la t, sí lee la pantalla jaja.

sanslash332

No, nunca lo probé, pero si con la T lee está clarísimo que no es un decompilado. Si fuese un decompilado lo más seguro es que lo primero que dejara de funcionar fuese la lectura de pantalla completa.


Ya pasando eso...

Veamos si hjay cositas que citar:


hum. sugerencia loca...
¿no existiría quizás... una manera de crear una expanción para estas decopilaciones que ayude con la accesibilidad?

Si el juego está decompilado completo. y se tiene acceso a su código...

Jugando con ese código base, y toda la programación que tienes dentro del juego por ejemplo... ¿no se podría transcribir todo el script y sus funcionalidades a una expanción para aplicar a firered y emerald?

Y para tirar el texto al lector de pantalla, ahí es donde puedes jugar con lua. Si tienes el código a tu mano, podrías reserbar un bloque pequeño de memoria, que sea para mensajes de salida de la expanción del lector. así el script lo único que haría sería monitorear ese espacio de memoria, y cada vez que cambie, manda el contenido de ese espacio de memoria al lector de pantalla.

Pero todo el códiogo del path finder, lectura de pantalla y tal (menos el OCR de la t) podría ir dentro del juego. Teniendo acceso a las funciones directamente y pudiendo interceptarlas para mandar su contenido a este espacio de memoria, quedaría una expanción ultra poderosa y aplicable a cualquier hackrom.

Claro, requiere que los devs tomen esta expanción y la quieran aplicar, pero la opción estaría ahí.

Y obviamente dejas que se active / apague con un flag, o no sé, una convinación de botones rara de la GBA.

Es ultra loco lo que digo, pero no lo veo imposible.

sanslash332

Mmm... se podría diseñar algo como lo que hay en la GB. Un espacio de RAM en el que se guarde una copia de la pantalla en todo momento y ya, sin tener que andar a vueltas con menús, listas, ventanitas, backgrounds y todo el circo que eso conlleva. El problema es que la GBA funciona de forma muy distinta. Habría que ir modificando cada una de esas funciones, crear un espacio completamente nuevo para eso... no tengo claro hasta que punto sería viable. Además, si luego un desarrollador no lo aplica, no se podría hacer nada con ese juego. Básicamente, habría que coger las decompilaciones y crear juegos nuevos con ellas. Eso ya sin contar todo lo que implicaría el buscarrutas. Y lógicamente, para que el juego no casque, eso habría que configurarlo con combinaciones de teclas de la GBA. Obviamente no se puede diseñar desde el punto de vista de un emulador, porque todo esto se programa pensando que va a ir a una GBA y ya. Ciertamente lo más viable sería hacer algo estilo Manamon, con soniditos en el ambiente para ubicarnos y esas cosas, pero poco más, la verdad.



En resumen, no vale la pena en lo absoluto.

Al menos que... no sé ubiese una manera de que el juego imprimiese la lista de sus direcciones de memoria después de una compilación y parchease el script automáticamente. jajajaja

sanslash332

Y la hay. No es que la haya, sino que es que cuando compilas una ROM, quieras o no el compilador te tira ese archivo con todas las direcciones. Sí, algo así automatizaría el proceso de forma interesante. Se le pasa el archivo con las direcciones de la versión que tiene Pokémon Access, se le pasa el archivo con las direcciones de la nueva versión, se le pasa el memory.lua y que trabaje. El problema es que todo lo que son funciones static no figuran como direcciones de memoria. Eso sin contar que en muchísimas funciones no vale con la dirección de memoria de la función, hay que utilizar un punto concreto en la función cuando se ejecuta x instrucción, porque es ahí y no antes ni después, por ejemplo, cuando se puede acceder al ID del movimiento que se está seleccionando para que el script sepa como manejarlo.

Pero sí, estoy diseñando, entre mis múltiples proyectos relacionados con esto, un adivinador de funciones. De hecho en la versión de desarrollo que tengo para CFRU ya lo tengo integrado y es capaz de adivinar dos o tres funciones con total precisión.

Esto lo hice porque el CFRU, aunque en su mayoría no toca las direcciones de memoria originales, para cosas nuevas que añade sí hacen falta nuevas direcciones de memoria. Y claro, como cada hacker el CFRU dentro de la ROM lo mete donde le da la gana pues... no creo que haya dos ROMs que comparta alguna de estas direcciones de memoria. Así, por ejemplo, hay un par de funciones que en Pokémon Unbound y Radical Red están en sitios totalmente distintos, pero la expansión del CFRU no necesita ni saber que dirección tienen en cada juego. Simplemente le paso a la función ubicadora unos parámetros identificativos y ella sola obtiene la dirección de cada juego.



Anda, esto ya suena aún más profundo.
Te estás metiendo muy, pero que muy abajo. ahora más allá de la memoria...

¿como que cosas has podido entender de las instrucciones del procesador?

Para lo que es la nintendo ds ¿tendrías que estudiar también el otro procesador?

sanslash332


Bueno, tengo el ARM7 bastante controlado, por lo menos en lo que se refiere a instrucciones de 16 bits. Para mis investigaciones estuve meses toqueteando el Radical Red porque tenía bugs (sí, lo menciono mucho, pero al final para hacer este tipo de experimentos los hacks son los más idóneos, y más teniendo el código base del CFRU que también tiene partes en ASM. Tenía alguna que otra función bugueada (el sonido del movimiento vozarrón metía unos petardazos espectaculares, y cabe destacar que esto no es fallo del hack, sino del Rojo Fuego original. Estudié el código del mismo movimiento en Esmeralda, y rediseñé la función por completo en ensamblador.

Sí, la DS usa muchísimo más el ARM9 que el 7. El 7 creo que lo usa para leer los cartuchos de GBA (obviamente) y luego dentro del sistema DS para emular sonido, Wi-Fi y no sé si alguna cosa más. En resumen, que cuando los juegos de DS estén aptos para toquetearlos y el script también... habrá que aprender otra arquitectura.



Hum...
supongo que la segunda medición eran 16.x MS y no S, porque cuando leí solo segundos.... Uf ¡si que se demora!

Fuera del chiste... claramente ahí hay algo mal xd.

sanslash332

Mmm... sip, me faltó una m jajajajajaja. Según el desarrollador principal de mGBA lo que falla es la optimización de Lua en mGBA. Pero vamos, que revisando el script entero, incluso la base que utilicé del viejo Crystal Access, no está nada bien optimizado. Sí que trabajé en la optimización del motor de textos en GBA, pero la gestión de mapas, listas de objetos, buscarrutas... podía estar muchísimo mejor.


A ver, te comento lo que yo me acuerdo.

Lo que más han dicho la gente, es la falta de lectura en el menú de esmeralda cuando hay que reemplasar un ataque por otro.

Ya luego lo que yo detecté, es que la función del shift+0 para asignar hacks nunca he podido hacerla funcionar correctamente.

En muchos roms que el script no los detecta para nada como un pokemon, al precionar el comando el script crashea y se cierra. Solo el script, no el emulador.
Lo reinicializas, y si pulsas shift+cero, no pasa nada.

Por lo mismo no entiendo cuál es el sha1 que hay que sacar del rom info para incertar en la lista de hacks uwu.

Lo cyurioso, si no mal recuerdo el aniversary edition.o el clear cristal (uno de esos dos que no logro echar a andar con la versión actual del script) me pareció que sí tiró con la vieja versión de tspivey.

¿por qué eso?

sanslash332

Porque ese script se centraba solamente en Cristal. No se andaba con rollos de comprobar si checksums, si hack, si no hack... Cargaba el juego y si el código coincidía con cristal tiraba para adelante, si no te mandaba a paseo.

Ah, y lo del shift +0 que a veces no iba ya está solucionado. Actualizados los links en el primer post (bueno, el de drive no que ese no hace falta actualizarlo, se actualiza solo jajajajaja).


ah! que bueno que mencionaste al tipejo ese del script del vizhawk... ¿sabes que onda con eso?
Lo siguió trabajando? o se quedó solo como un experimento que nunca más compartió?

sanslash332


Mmm... no, este no es el del script de BizHawk, este es el que mezcló cosas del Crystal Access y Pokémon Access para sacar un Emerald Access para VBA-RR. No sé, supongo que le gusta hacer experimentos varios, pero imagino que solo saca algo cuando es usable. Recuerdo que en su momento hizo cosas que desde mi punto de vista eran bastante extrañas (añadir teclas para saber que objeto tenía cada pokémon salvaje en combate y cosas así que el juego no te deja ver hasta que lo capturas) pero bueno, ni idea. Dice que tiene un script de accesibilidad para pokémon que funciona en BizHawk, VBA-RR y mGBA pero es lo que decía, a costa de no tener sincronía con el emulador, con Lua yendo un poco por libre. Sí, a mí me parece muy interesante que Lua tenga su propio proceso, pero siempre que esté en sincronía con el emulador, y eso es lo que le decían el otro día los desarrolladores de mGBA en el discord.

La verdad todo sea dicho, en su momento consiguió el código fuente de las DLLs del Crystal Access original (creo que se lo había pedido al propio Tyler Spivey) y hablando con él me los pasó. Simplemente no compartimos las mismas prioridades en cuanto a programación.


*En muy contadas ocasiones había que mover al personaje de lugar para que detecte un camino. No recuerdo si me ocurrió en un juego principal o en un hack, probablemente fue lo segundo jajaj.

Alejandro73

Seguramente en Esmeralda. Creo que había por ahí un bug con los árboles de bayas, que por algún motivo el script asumía que se ponían a pasear como si fueran entrenadores, no sé en que momento asumió que nos habíamos cambiado de franquicia al Señor de los anillos...
Este bug, si es lo que creo, no lo voy a poder arreglar del todo hasta la próxima actualización oficial. Recuerdo que había que crear varias funciones nuevas, variables, direcciones de memoria para cada juego... en la versión de desarrollo sé que está arreglado, pero se me hizo ahí tal lío que ni recuerdo qué toqué.


*en ocasiones no se leen los menús al mover el cursor, me ha pasado con Radical Red y Esmeralda en español.

Alejandro73

Y Esmeralda en inglés. Sobre todo con los menús de aprender movimientos, es una auténtica pesadilla. Es una de las cosas que me tienen el código más desgraciado. Hasta hoy aún no lo pude solucionar como me gustaría.


*No sé si esto puede cambiarse, pero hay un punto en la ruta 111 que no te deja avanzar por la tormenta de arena, pero si vas a la derecha se puede continuar a la siguiente ruta sin problemas. EL juego no detecta esta posible salida. Creo que hay un caso similar con la Ruta 5 de Rojo Fuego en donde sí detecta los diferentes caminos. En todo caso, es posible que el jugador pueda crear un nuevo objeto para buscar? Podría servir para aquellas cosas que el juego detecta como un sprite y no como un objeto rastreable, como trepa rocas o los dinamax en Pokemon Unbound o el NPC de la casa treta en Esmeralda.

Alejandro73

Sí, se podrá cambiar. Habrá una nueva tecla que alternará entre Camino 1 y Camino 2 para ir a una Ruta, eso es la solución a este problema.


*Recuerdo que en audiogames pasaste una carpeta para que Crystal Clear funcione mejor. ¿Hay chance de agregarla al script base?

Alejandro73

Ya estuvo en el script base. Como la gente empezó a volverse loca con los hacks, quité todo lo que no fueran oficiales. De ahí la idea de las expansiones. Cada uno tiene eso, que lo use como quiera. Pero la carpeta del Crystal Clear que compartí se puede añadir sin problema al script y funciona, solo hay que copiarla y pegarla en la carpeta game (creo que era, porque actualmente la estructura de eso cambió un poco).
Yo creo que tengo por ahí algunos otros. Tengo una para el Radical Red (al margen de las expansiones), otra para el Unbound.... Pero tienen lo básico, si no recuerdo mal.


Y ahora que acabé con las respuestas...

enlace

Quería hacer una demo un poco en orden en base a todo lo comentado. Empezar por el CFRU mostrando el funcionamiento del Radical Red y englobar también los cambios que le realicé (que los notará sobre todo quien ya haya jugado a esto) y luego seguir ya con Rojo Fuego y Esmeralda mostrando las nuevas funciones. Sin embargo, este pedazo audio de 13 minutos se convirtió en un par de combates en el Radical Red y luego una incursión Dinamax que... bueno, dura más de 10 minutos pero no quería cortarla. Así que iré por fascículos y ya puestos, para quien no conozca estos hacks los puede ir conociendo un poco jajajajaja.

En estos días subiré lo que no pude grabar de los oficiales como Rojo Fuego y Esmeralda.

¡Saludos!
Re: Pokemon Access
Alejandro73, mié sept 04 2024, 12:31A. M.

Esoooo, el dexnab ya es accesible! Me va a servir un montón para futuras partidas. Por cierto, no sabía que Dialga era capturable con la primal form. Creí que era exclusivo de Lance. Eso me da mas esperanzas de tener a Jirachi xD.
En cuanto a las expansiones, creo que sería buena idea dejarlas aparte en la carpeta de drive (si no es que ya están ahí y yo no me di cuenta). A ese post lo encontré buscando varias páginas en audiogames y puede perderse fácilmente.
Me alegro por la función de caminos alternativos, estoy seguro de que van a servir en más de una ocasión.
Un poco offtopic pero quería comentarlo. Estoy probando las betas de Pokemon Reborn, me alegro de que estén dándole importancia a la accesibilidad con el estilo manamon. Aún así se extraña el busca rutas de Pokemon Access, solo detecta cosas un paso en la dirección a la que mira el personaje y los mapas son muy enormes. Ojalá no se estanque y pueda evolucionar lo suficiente como para convertirlo en un parche aplicable a RPGMaker en general, o al menos el motor Pokemon Essentials.
Re: Pokemon Access
sanslash332, mié sept 04 2024, 01:59A. M.

Genial, hartas cositas por responder. vamos viendo que sale jaja

obviamente primero que todo, muchas gracias @nuive por los updates y novedades.

Ya con solo lo oído en la muestra UFFF. se ve súper bueno.



El CFRU (Complete Fire Red Update) suele ser lo que se utiliza en el caso de Rojo Fuego para añadir lo
típico de nuevas generaciones. Separación de movimientos en físico-especial, tipo Hada, megaevoluciones,
movimientos Z...). Hay muchísimos hacks que lo utilizan a día de hoy, pero si tuviera que mencionar mis
dos favoritos son Pokémon Unbound y el más que repetido Radical Red. El Unbound tiene una historia simplemente
brutal, todo lo que mencioné anteriormente, pokémon hasta la 8ª generación, una especie de frente de
batalla... Radical Red es simplemente Pokémon Rojo Fuego pero con un buen reto que superar solamente
en su modo de juego normal, tiene varios además de este. La diferencia fundamental con el Unbound en
cuanto a características es que incluye Pokémon y movimientos hasta la 9ª generación. Todos los movimientos,
habilidades y objetos no, pero sí incluye los 1025 pokémon existentes. Si bien falta alguna forma por
ahí, son las formas que solo presentan un cambio estético (las formas de Vivillon, por ejemplo).


nuive

¡ah perfecto!

Entiendo muy bien entonces.

Qué genial que lo hayan construido de esa forma, al menos para el script sale más fácil para no perder cosas en futuras updates.

Debo probar entonces algunos de esos juegos una vez termine lo que me ando pasando jeje.



No, nunca lo probé, pero si con la T lee está clarísimo que no es un decompilado. Si fuese un decompilado
lo más seguro es que lo primero que dejara de funcionar fuese la lectura de pantalla completa.


nuive

A yua... perfecto.
igual, solo funciona la t jaja. nada más. uwu



Mmm... se podría diseñar algo como lo que hay en la GB. Un espacio de RAM en el que se guarde una copia
de la pantalla en todo momento y ya, sin tener que andar a vueltas con menús, listas, ventanitas, backgrounds
y todo el circo que eso conlleva. El problema es que la GBA funciona de forma muy distinta. Habría que
ir modificando cada una de esas funciones, crear un espacio completamente nuevo para eso... no tengo
claro hasta que punto sería viable. Además, si luego un desarrollador no lo aplica, no se podría hacer
nada con ese juego. Básicamente, habría que coger las decompilaciones y crear juegos nuevos con ellas.
Eso ya sin contar todo lo que implicaría el buscarrutas. Y lógicamente, para que el juego no casque,
eso habría que configurarlo con combinaciones de teclas de la GBA. Obviamente no se puede diseñar desde
el punto de vista de un emulador, porque todo esto se programa pensando que va a ir a una GBA y ya. Ciertamente
lo más viable sería hacer algo estilo Manamon, con soniditos en el ambiente para ubicarnos y esas cosas,
pero poco más, la verdad.


nuive

más que tirar todo, pensaba nomás dejarle... de manera fácil a los scripts información útil para ellos.
Como texto en pantalla, texto seleccionado y cosas por el estilo.
Pero más allá como el path finder, o los menús. claramente eso no, porque se formaría ya como algo dentro del mismo juego jajaja.



Pero sí, estoy diseñando, entre mis múltiples proyectos relacionados con esto, un adivinador de funciones.
De hecho en la versión de desarrollo que tengo para CFRU ya lo tengo integrado y es capaz de adivinar
dos o tres funciones con total precisión.

nuive

¿A ese nivel ya?
trabajando algo de eurística? wow.

¿Como lo haces para adivinar? conociendo el CFRU sabes como es el patrón de bites y luego buscas esos mismos patrones a ver si se repiten para distinguir una función por ejemplo?

hasta cuántos pedazos de la función tomas para poder dicernir?



sino del Rojo Fuego original. Estudié el código del mismo movimiento en Esmeralda, y rediseñé la función
por completo en ensamblador.

nuive

Y ese parche se los mandaste a los del CFRU? jaja



los juegos de DS estén aptos para toquetearlos y el script también... habrá que aprender otra arquitectura.

nuive

lo bueno que eso llegará... algún día uwu



Mmm... sip, me faltó una m jajajajajaja. Según el desarrollador principal de mGBA lo que falla es la
optimización de Lua en mGBA. Pero vamos, que revisando el script entero, incluso la base que utilicé
del viejo Crystal Access, no está nada bien optimizado. Sí que trabajé en la optimización del motor de
textos en GBA, pero la gestión de mapas, listas de objetos, buscarrutas... podía estar muchísimo mejor.


?nuive
da lo mismo, la diferencia ya entre emuladores es avismal. aunque lograses reducir a unos 5MS las funciones de buscaobjetos ultra optimizadas con luajit, en mGBA, seguiría estando entorno a los 30 o 40ms.

lo que sigue siendo aún mucho más que lo que tenemos a día de hoy


Ah, y lo del shift +0 que a veces no iba ya está solucionado. Actualizados los links en el primer post
(bueno, el de drive no que ese no hace falta actualizarlo, se actualiza solo jajajajaja).


nuive

Gracias, ya lo probé y funciona smile
anyversary cristal anda igual que antes smile
y el gold reforjed pous.... nu
agarró la lectura de menús sin problema, pero los diálogos no los lee y el buscaobjetos no reconoce que esté en un mapa. xd



Mmm... no, este no es el del script de BizHawk, este es el que mezcló cosas del Crystal Access y Pokémon
Access para sacar un Emerald Access para VBA-RR. No sé, supongo que le gusta hacer experimentos varios,
pero imagino que solo saca algo cuando es usable. Recuerdo que en su momento hizo cosas que desde mi
punto de vista eran bastante extrañas (añadir teclas para saber que objeto tenía cada pokémon salvaje
en combate y cosas así que el juego no te deja ver hasta que lo capturas) pero bueno, ni idea. Dice que
tiene un script de accesibilidad para pokémon que funciona en BizHawk, VBA-RR y mGBA pero es lo que decía,
a costa de no tener sincronía con el emulador, con Lua yendo un poco por libre. Sí, a mí me parece muy
interesante que Lua tenga su propio proceso, pero siempre que esté en sincronía con el emulador, y eso

nuive

Claro, mezcla cheats con accesibilidad. pero bueno. cada quien le pone lo que le interesa, si sabe como hacerlo.



La verdad todo sea dicho, en su momento consiguió el código fuente de las DLLs del Crystal Access original
(creo que se lo había pedido al propio Tyler Spivey) y hablando con él me los pasó. Simplemente no compartimos
las mismas prioridades en cuanto a programación.


nuive

dlls?
Hay parte del código que es c++ y no en lua?
Como para necesitar unas DLLS específicas.



Recuerdo que había que crear varias funciones nuevas, variables, direcciones de memoria para cada juego...
en la versión de desarrollo sé que está arreglado, pero se me hizo ahí tal lío que ni recuerdo qué toqué.

nuive

y si buscas el commit donde arreglaste eso? jajajaja
commit everychange everytime



Sí, se podrá cambiar. Habrá una nueva tecla que alternará entre Camino 1 y Camino 2 para ir a una Ruta,
eso es la solución a este problema.


nuive

suena súper bien. muy bien



Ya estuvo en el script base. Como la gente empezó a volverse loca con los hacks, quité todo lo que no
fueran oficiales. De ahí la idea de las expansiones. Cada uno tiene eso, que lo use como quiera. Pero
la carpeta del Crystal Clear que compartí se puede añadir sin problema al script y funciona, solo hay
que copiarla y pegarla en la carpeta game (creo que era, porque actualmente la estructura de eso cambió
un poco).
Yo creo que tengo por ahí algunos otros. Tengo una para el Radical Red (al margen de las expansiones),
otra para el Unbound.... Pero tienen lo básico, si no recuerdo mal.


nuive

se podría tener no sé, una especie de repositorio con expanciones para los diferentes hackroms que la gente haya pichicateado para que funcionen bien.

Así no los incluyes oficialmente, si tienes alguno lo aportas y otra gente puede aportar también, pero nadie está obligado a mantener eso. es cuestión de permitir subir y bueno especificar para que rom se probó smile



Quería hacer una demo un poco en orden en base a todo lo comentado. Empezar por el CFRU mostrando el funcionamiento del Radical Red y englobar también los cambios que le realicé (que los notará sobre todo quien ya haya jugado a esto) y luego seguir ya con Rojo Fuego y Esmeralda mostrando las nuevas funciones. Sin embargo, este pedazo audio de 13 minutos se convirtió en un par de combates en el Radical Red y luego una incursión Dinamax que... bueno, dura más de 10 minutos pero no quería cortarla. Así que iré por fascículos y ya puestos, para quien no conozca estos hacks los puede ir conociendo un poco jajajajaja.

nuive

Y que pelea dinamax. estubo buenarda, súper buenarda jaja

Eso, yo puedo ser feliz con todo lo que viene smile

Ah! Por cierto @nuive ¿sabes como es de accesible el sexto gimnacio del pokemon esmeralda?

Yo no lo he jugado todavía, pero dos amigos que sí se manejan con pokemon, comentan que tuvieron que pedir ayuda visual sí o sí para esos gimnacios porque no pudieron resolver los pusles al puro script.

¿hay algo ahí que faltaría leer? o que?

¡eso saludos!

@Alejandro73



Un poco offtopic pero quería comentarlo. Estoy probando las betas de Pokemon Reborn, me alegro de que
estén dándole importancia a la accesibilidad con el estilo manamon. Aún así se extraña el busca rutas
de Pokemon Access, solo detecta cosas un paso en la dirección a la que mira el personaje y los mapas
son muy enormes. Ojalá no se estanque y pueda evolucionar lo suficiente como para convertirlo en un parche
aplicable a RPGMaker en general, o al menos el motor Pokemon Essentials.

Alejandro73

¿Sabes si ya han liberado al público alguna de esas betas para poder probarlas?

O siguen siendo exclusivas para patreons?

Y ¿sabes si hay intenciones de liberar ese conocimiento?

Sería demasiado bonito que por ejemplo pokemon reminicencia tuviese dicha accesibilidad uwu.



¡saludos!
Re: Pokemon Access
Alejandro73, mié sept 04 2024, 11:06A. M.

Personalmente no pude encontrar la forma de acceder a las betas públicas desde rebornevo, pero alguien me pasó este link directo de Mega.
enlace
Al principio del juego, después de un poco de intro, te va a pedir si querés poner contraseñas. Las 2 que recomiendo son:
blindstep
para activar la accesibilidad.
nopuzzles
Los puzzles de este juego son realmente complicados xD.
Si salió todo bien, debería ponerte una zona tutorial para que explores los sonidos.
Re: Pokemon Access
FabiG94, mié sept 04 2024, 02:08P. M.

Hola.
Primero que nada, muchas gracias @nuive por comentarnos sobre todas las novedades, incluyendo los aspectos técnicos del script.
Todavía no escuché la demo que pusiste, cuando lo haga comentaré.
Pasando a los fallos, dejo acá algunos errores que me pasaron, para ver si alguno es de fácil solución, aclaro que todos son con el pokemon Esmeralda en español.
  • El lector no lee los menús de la lista de movimientos, hay que usar el OCR y se complica a la hora de borrar un ataque de un pokémon para que aprenda uno nuevo, lo mismo pasa con los concursos. Ya que hay que seleccionar un movimiento para utilizar en la exhibición del concurso.
  • El lector no lee el menú de datos de cada pokémon, por lo tanto también hay que usar OCR para poder acceder a la información.
  • El menú del pokénav tampoco es accesible, por lo tanto tampoco se puede llamar a un entrenador o acceder a las opciones del pokénav.
  • Lo mismo ocurre con el menú del personaje, donde se muestran la cantidad de medallas y cuanto dinero tiene, hay que utilizar OCR para acceder a esta información.
  • Y con la pokédex pasa lo mismo, no es accesible la información de este menú y hay que usar OCR.
  • El puzle del gimnasio de ciudad Arborada no es accesible, se requiere ayuda visual.

Saludos!
Re: Pokemon Access
nuive, jue sept 05 2024, 07:21A. M.

¡Hola!


Esoooo, el dexnab ya es accesible! Me va a servir un montón para futuras partidas. Por cierto, no sabía que Dialga era capturable con la primal form. Creí que era exclusivo de Lance. Eso me da mas esperanzas de tener a Jirachi xD.
En cuanto a las expansiones, creo que sería buena idea dejarlas aparte en la carpeta de drive (si no es que ya están ahí y yo no me di cuenta). A ese post lo encontré buscando varias páginas en audiogames y puede perderse fácilmente.

Alejandro73

No, Dialga no es capturable. Hay un código de regalo misterioso por el Discord de Radical Red que te regala un Dialga con la Diamansfera equipada, que es lo que permite que se transforme.

Tengo una carpeta de Drive para las expansiones, sí, pero la verdad que no está como pública. Es buena idea que la ponga y la añada al post principal, y así se pueden añadir más.


más que tirar todo, pensaba nomás dejarle... de manera fácil a los scripts información útil para ellos.
Como texto en pantalla, texto seleccionado y cosas por el estilo.
Pero más allá como el path finder, o los menús. claramente eso no, porque se formaría ya como algo dentro del mismo juego jajaja.

sanslash332

Ah, ya. Eso de una forma o de otra sí que ya se guarda en la RAM. Es decir, hay variables donde se almacena el texto seleccionado en un menú, el último texto impreso en la pantalla... pero claro, son strings completas. En el caso de un diálogo, por ejemplo, te pone todo, lo que ya se puso en pantalla, lo que se pondrá y lo que aparece actualmente.

De alguna forma eso se podría utilizar, pero rompería toda la estructura de la pantalla (lo que viene siendo el funcionamiento del motor de textos) y además estaríamos en las mismas. Como un hacker añada más variables a su ROM no hay ninguna garantía de que la dirección de RAM sea algo constante. Por eso sí, sería interesante un espacio fijo en la RAM para estas cosas, pero como digo, prácticamente habría que crear otro motor específicamente para esto, y sería mucho más limitado. Mis esperanzas por ahora están puestas en el ubicador este de funciones.


¿A ese nivel ya?
trabajando algo de eurística? wow.

¿Como lo haces para adivinar? conociendo el CFRU sabes como es el patrón de bites y luego buscas esos mismos patrones a ver si se repiten para distinguir una función por ejemplo?

hasta cuántos pedazos de la función tomas para poder dicernir?

sanslash332

Hay que tener en cuenta que el CFRU es una expansión sobre la ROM original. Por esto, para llamar a las nuevas funciones de una forma o de otra hay que modificar ciertas rutinas en las funciones originales, pero como se modifican las funciones sobre la ROM original (no hay que recompilar nada) el único requerimiento es que la modificación solo puede reemplazar bytes en la función original, no expandirse, y en esto me baso.

Por ejemplo, una de las cosas que se comentaban, en el Radical Red no se leen los pokémon en combates dobles, y sin embargo, en el Rojo Fuego original sí. Esto es porque el desarrollador llegado a un punto le indica a la ROM oye, que esta función está mejor definida en esta otra dirección.

Esto funciona de la siguiente forma: se reemplaza parte de la función original con una llamada a la nueva función, que en cada hack o versión está en una dirección de memoria totalmente distinta. Da igual que se reemplace información fundamental para la función original, porque al final la ejecución salta a la nueva función y la original a partir de ese punto es totalmente ignorada.

Lo que siempre, al margen del hack, de la versión, de lo que sea... se mantiene fijo es la parte de la función original que se toca. Entonces ahí es donde entra el ubicador de funciones. Le paso como parámetros la dirección de la función original donde el CFRU almacenará la nueva dirección, y así calcula la dirección de la nueva función para diferentes hacks o versiones, en tiempo real, cada vez que se carga el script.

Esto es simplificándolo un poco. De hecho sí, cuando ocurre que no vale con la dirección de la función y como comentaba en mi post anterior hay que utilizar una instrucción concreta dentro de la función como dirección de memoria para el script, una vez que tiene la dirección de la nueva función hace una serie de operaciones en ensamblador para calcular donde termina esa función, y sabiendo donde comienza y termina, utiliza dentro de esos límites diferentes estrategias como comparaciones de bytes, búsquedas de saltos y cosas así.



Y ese parche se los mandaste a los del CFRU? jaja

sanslash332

No es solo ese parche. Tanto CFRU como DPE (que es la parte de la expansión que se encarga de añadir Pokémon, movimientos con sus animaciones, habilidades...) tienen algunos bugs. Por ejemplo, los gritos de los Pokémon de cuarta y quinta generación están directamente extraídos de los juegos de DS sin modificar la calidad. Si bien los gritos tienen una calidad máxima de 22kHz y por esto suenan mejor que los que ya incluye Rojo Fuego (que son a 10,512kHz) esto implica ocupar más espacio en la ROM. Por este motivo, en hacks como Radical Red, al añadir la novena generación (CFRU/DPE solo incluye hasta la octava) tienen que hacer apaños que para nosotros, teniendo el sonido como fuente de información principal, no nos interesan. En Radical Red 4.0 los Pokémon de la novena generación estaban a 44,1 kHz (quien fue el loco? ni idea) y obviamente ocupaban casi todo el espacio de la ROM. En la 4.1 de repente todos los pokémon de la novena tenían los gritos a 8kHz y eso se convirtió en un estropicio, empezando por el hecho de que sonaban muy bajos y distorsionados. Ah, otra cosa, obviamente, es que las formas con gritos propios como las megas no tenían esos gritos, solo los gritos normales con variación de tono.

Lo que hice yo fue equilibrar todos los gritos en volumen y frecuencia a 10,512kHz, de forma que quedaran exactamente igual que los de las primeras generaciones que ya trae el juego. Con esto, incluso añadiendo los gritos de las evoluciones, el espacio que ocupan los gritos es ahora de 5 mb aproximadamente (en la 4.1 de Radical Red, aún con gritos a 8kHz los gritos ocupaban casi 8 mb). Y sí, aunque 3 mb parezca una tontería, en una ROM donde el espacio máximo son 32 es una grandísima diferencia.

Además de esto y lo que comentaba de la animación de vozarrón, también mejoré algunas otras. Todo esto contacté tanto con el desarrollador de CFRU como con el de Radical Red y no recibí respuesta por parte de nadie. Incluso en Radical Red tienen un discord con secciones de bugs y demás, contacté por allí y lo único que me dijo uno de los admin era que él de eso lo único que sabía era que cada grito se basaba en un archivo wav, que para lo que yo comentaba contactara directamente con el creador. Como ya digo, el creador no respondió nunca.

Lo que hice por ahora fue guardar todos los cambios que realicé en el hack, y como Radical Red es un hack que tampoco se actualiza mucho, si sale una nueva versión pues los vuelvo a aplicar y ya. Será mucho más rápido puesto que solo tendría que pasar el código que yo añadí a la nueva versión, y lo mismo con los gritos.

Es una pena que no lo añadan al CFRU para que esto se pueda solucionar en otros hacks pero bueno... habrá que trabajar con las posibilidades que tenemos.


dlls?
Hay parte del código que es c++ y no en lua?
Como para necesitar unas DLLS específicas.

sanslash332

Sí, toda la gestión de sonidos que tiene el script se hace a través de un minirreproductor que está formado por dos DLLs que están en la carpeta lua, audio.dll y bass.dll. La DLL bass es una biblioteca de audio que anda por ahí, la audio.dll es la que Tyler Spivey creó para comunicar Lua con Bass.

El texto a voz también se hace a través de otra DLL, la tolk, que es un proyecto que también anda por GitHub.


y si buscas el commit donde arreglaste eso? jajajaja
commit everychange everytime

sanslash332

No hay commit 😢. Si recuerdas, hace un año me bloquearon el GitHub varios meses, y tuve que depender de la copia local. Durante ese tiempo formateé el ordenador y al querer actualizar esa copia me empezó a tirar errores de permisos y propietarios y más locuras que le dieron. Pude salvar todo el proyecto sin problemas, todo menos el historial de commits y esas cosas de GitHub.


Ah! Por cierto @nuive ¿sabes como es de accesible el sexto gimnacio del pokemon esmeralda?

Yo no lo he jugado todavía, pero dos amigos que sí se manejan con pokemon, comentan que tuvieron que pedir ayuda visual sí o sí para esos gimnacios porque no pudieron resolver los pusles al puro script.

¿hay algo ahí que faltaría leer? o que?

sanslash332

Ese gimnasio es una tortura, sin más. Aseguro que yo puedo pasarlo sin ayuda y sin ver nada, pero claro, yo diseñé el script y entiendo el funcionamiento. Y aún así, me cuesta pasarlo lo que no está escrito.

A ver, el gimnasio tiene una serie de puertas giratorias, algunas en forma de L, otras en forma de Y, otras en forma de T... Cuando se pasa por una puerta de estas, en base a las que la rodeen y al espacio que tenga, se pueden girar hacia una parte o hacia otra. El script efectúa un sonido de puerta cada vez que la cámara toca alguna puerta de estas, pero es totalmente imposible aclararse porque a veces hay una puerta pegada a otra y por ahora no encontré la forma de saber donde termina una y comienza la de al lado. Evidentemente cada puerta se puede mover en base a como muevas la que tiene al lado, pero incluso hay zonas del gimnasio donde hay 3 o 4 puertas totalmente pegadas. Además de esto, es un poco como las piedras para hacer fuerza. Primero se mueve una puerta, luego hay que mover una de las que la rodean, luego hay que meterse por el nuevo camino abierto y mover la primera puerta desde otro lado... bastante lío la verdad.

Ah, la cámara efectúa un sonidito indicando hacia que dirección se puede mover una puerta, pero como digo, es que ni siquiera es fácil de explicar.



  • El lector no lee los menús de la lista de movimientos, hay que usar el OCR y se complica a la hora de borrar un ataque de un pokémon para que aprenda uno nuevo, lo mismo pasa con los concursos. Ya que hay que seleccionar un movimiento para utilizar en la exhibición del concurso.
  • El lector no lee el menú de datos de cada pokémon, por lo tanto también hay que usar OCR para poder acceder a la información.
  • El menú del pokénav tampoco es accesible, por lo tanto tampoco se puede llamar a un entrenador o acceder a las opciones del pokénav.
  • Lo mismo ocurre con el menú del personaje, donde se muestran la cantidad de medallas y cuanto dinero tiene, hay que utilizar OCR para acceder a esta información.
  • Y con la pokédex pasa lo mismo, no es accesible la información de este menú y hay que usar OCR.
  • El puzle del gimnasio de ciudad Arborada no es accesible, se requiere ayuda visual.

FabiG94

Mmm... a ver. Lo del gimnasio ya lo acabo de responder así que no me repito jajajajaja.

Lo de la lista de movimientos es algo que aún no está solucionado. Las listas de movimientos en Esmeralda tienen doble pestaña por lo de movimientos de combate y movimientos de concurso, y con los métodos que intenté hasta ahora al cambiar de pestaña se desmadra todo de una manera bastante dramática.
Lo del Pokénav... creo que eso funcionó en algún momento, no recuerdo muy bien, pero se rompió una de tantas veces que tuve que rehacer el motor de textos. Toca revisarlo.

Tanto el menú de datos de cada Pokémon como el entrenador y Pokédex nunca fueron muy funcionales, básicamente porque son pantallas que simplemente muestran información, pero... OCR? se supone que la letra T está para eso, ¿no funciona?

¡Saludos!
Re: Pokemon Access
caspian, jue sept 05 2024, 12:04P. M.

respondo a una de las preguntas de @nuive. si, la t si funciona en el menú de datos de esmeralda. saludos
Re: Pokemon Access
FabiG94, jue sept 05 2024, 01:22P. M.

Hola de nuevo.
Muchas gracias por todas tus respuestas y aclaraciones @nuive, en cuanto a lo del Esmeralda, si funciona la letra T, me lo pasaron por si era algo para solucionar, en todo caso, disculpa si prestó a confusión.
Saludos.
Re: Pokemon Access
Alejandro73, jue sept 05 2024, 02:09P. M.

ya decía yo que los gritos de NDS sonaban relativamente mejor que los de novena gen. Me alegro de que los hayan exportado de la DS y no resamplearon los modernos de X e Y.
Re: Pokemon Access
sanslash332, sáb sept 07 2024, 12:24A. M.

@Alejandro73

Muuuuuchas gracias por el link del juego.

Voy a probarlo para ver como está. al menos esta versión.

Solo espero que el conocimiento lo liberen para poder agregarlo a los packs clásicos de construcción de estos juegos uwu.

¿Tiene soporte para lector de pantalla? o eso todavía es a puro OCR?

Y ¿¿en serio ya están disponibles por betas públicas?
¿No que eran solo para patreons?



Tengo una carpeta de Drive para las expansiones, sí, pero la verdad que no está como pública. Es buena
idea que la ponga y la añada al post principal, y así se pueden añadir más.

nuive

yep, hazlo. definitivamente es muy buena idea.
Ayudaría a mucha gente poder jugar esos hacks sin romperse mucho la cabeza. jaja



De alguna forma eso se podría utilizar, pero rompería toda la estructura de la pantalla (lo que viene
siendo el funcionamiento del motor de textos) y además estaríamos en las mismas. Como un hacker añada
más variables a su ROM no hay ninguna garantía de que la dirección de RAM sea algo constante. Por eso
sí, sería interesante un espacio fijo en la RAM para estas cosas, pero como digo, prácticamente habría
que crear otro motor específicamente para esto, y sería mucho más limitado. Mis esperanzas por ahora
están puestas en el ubicador este de funciones.

nuive

bueno. de partida sí que sería un motor completamente diferente jaja, estábamos hablando con el supuesto de trabajar con un nuevo motor convinado con código interno en los hackroms decompilados, básicamente. para poder hacerlos accesible de una manera, independientemente donde haya quedado la ram smile

pero na, no le des importancia aún a eso; es muy para el futuro.

Lo de la lectura eurística de la firma de funciones. tiene potencial. Bien algorítmico ese método realmente. xd



Hay que tener en cuenta que el CFRU es una expansión sobre la ROM original. Por esto, para llamar a las
nuevas funciones de una forma o de otra hay que modificar ciertas rutinas en las funciones originales,
pero como se modifican las funciones sobre la ROM original (no hay que recompilar nada) el único requerimiento
es que la modificación solo puede reemplazar bytes en la función original, no expandirse, y en esto me
baso.


nuive

Interesante. entonces el truco que hace esta gente, es agregar nuevas funciones en espacio del rom sin usar, y en las llamadas originales a la función, reemplasan el puntero viejo con el puntero hacia la nueva función, pero dicho puntero tiene que tener un tamaño similar al antiguo para que pueda calzar en ese lugar y funcionar sin inconvenientes. que interesante hmm



la dirección de la función original donde el CFRU almacenará la nueva dirección, y así calcula la dirección
de la nueva función para diferentes hacks o versiones, en tiempo real, cada vez que se carga el script.

nuive

simplemente hermoso. y se entiende perfectamente.

Esto lo hace en un startUp time?
el script cuando se inicializa hace una lectura de todo el rom buscando estos puntos dinámicos para prerar las funciones a tiempo?

O lo hace en runtime reconociendo un salto y yendo al salto a penas lo detecta, sin haberlo pre-procesado antes?

A lo que voy... ¿con lua tienes acceso a toda la memoria del juego?

O solo a la ram?

porque se me olvidó, la GBA carga todo el rom en ram a la hora de inicializarse? o el rom va cargando nuevos trozos a medida que son requeridos.



de operaciones en ensamblador para calcular donde termina esa función, y sabiendo donde comienza y termina,
utiliza dentro de esos límites diferentes estrategias como comparaciones de bytes, búsquedas de saltos
y cosas así.


nuive

sinceramente te fuiste a un nivel muy potente he.
Como se va dando vcuenta qué tipo de operación utilizar?
generaste algún algorítmo de cálculo, o un árbol de desición para saber como ir trabajando la función hasta que el script pueda reconocer todo lo que le interesa?



No es solo ese parche. Tanto CFRU como DPE (que es la parte de la expansión que se encarga de añadir
Pokémon, movimientos con sus animaciones, habilidades...) tienen algunos bugs. Por ejemplo, los gritos
de los Pokémon de cuarta y quinta generación están directamente extraídos de los juegos de DS sin modificar
la calidad. Si bien los gritos tienen una calidad máxima de 22kHz y por esto suenan mejor que los que
ya incluye Rojo Fuego (que son a 10,512kHz) esto implica ocupar más espacio en la ROM. Por este motivo,
en hacks como Radical Red, al añadir la novena generación (CFRU/DPE solo incluye hasta la octava) tienen
que hacer apaños que para nosotros, teniendo el sonido como fuente de información principal, no nos interesan.
En Radical Red 4.0 los Pokémon de la novena generación estaban a 44,1 kHz (quien fue el loco? ni idea)
y obviamente ocupaban casi todo el espacio de la ROM. En la 4.1 de repente todos los pokémon de la novena
tenían los gritos a 8kHz y eso se convirtió en un estropicio, empezando por el hecho de que sonaban muy
bajos y distorsionados. Ah, otra cosa, obviamente, es que las formas con gritos propios como las megas
no tenían esos gritos, solo los gritos normales con variación de tono.

Lo que hice yo fue equilibrar todos los gritos en volumen y frecuencia a 10,512kHz, de forma que quedaran
exactamente igual que los de las primeras generaciones que ya trae el juego. Con esto, incluso añadiendo
los gritos de las evoluciones, el espacio que ocupan los gritos es ahora de 5 mb aproximadamente (en
la 4.1 de Radical Red, aún con gritos a 8kHz los gritos ocupaban casi 8 mb). Y sí, aunque 3 mb parezca
una tontería, en una ROM donde el espacio máximo son 32 es una grandísima diferencia.


nuive

Definitivamente harto trabajo. mucho trabajo.

Tienen que amar tus pull-requests a estas alturas jaja.

Lo único fome de este método de hacking, si lo piensas, es el límite de tamaño de los roms.

Llegará algún momento en que ya simplemente no podrán añadir más pokemon sin sacrificar, y eso de "hackrom con el 100% de los pokemon" no será más posible.

Me dices 5mb por el tamaño... de solo los sonidos de los gritos de los pokemon y es harto. sigue siendo harto; es un poco menos del 15% del rom solo gastado en gritos.
Luego vienen gráficos, sprites.... al final esos 32mb se pueden ir rápido, súper rápido.

Ahora bien... ¿no pueden haber roms de 64mb en GBA?
existe algún límite del procesador como tal para la lectura del tamaño del cartucho?



Lo que hice por ahora fue guardar todos los cambios que realicé en el hack, y como Radical Red es un
hack que tampoco se actualiza mucho, si sale una nueva versión pues los vuelvo a aplicar y ya. Será mucho
más rápido puesto que solo tendría que pasar el código que yo añadí a la nueva versión, y lo mismo con
los gritos.

Es una pena que no lo añadan al CFRU para que esto se pueda solucionar en otros hacks pero bueno... habrá
que trabajar con las posibilidades que tenemos.


nuive

bro, te pones la soga al cuello tú solo.
ya rugiste, radical red nuive edition en el primer post. ya xd

Vas a tener que ir dándole mantención. y en serio, que chafas, queeeee chafas.
Al final no son tan opensource como dicen serlo



Sí, toda la gestión de sonidos que tiene el script se hace a través de un minirreproductor que está formado
por dos DLLs que están en la carpeta lua, audio.dll y bass.dll. La DLL bass es una biblioteca de audio
que anda por ahí, la audio.dll es la que Tyler Spivey creó para comunicar Lua con Bass.

El texto a voz también se hace a través de otra DLL, la tolk, que es un proyecto que también anda por
GitHub.

nuive

Va, creí que era una implementación normal de bass. bass la conozco, sin drama.

¿pero por qué tuvo que crear una interfás intermedia?
Si llama a audio.dll desde lua ¿por qué no llamó entonces a bass directo desde lua?
Por qué darse esa vuelta con una envoltura?

Sip, tolk la conozco. incluso la he usado.
es boneeta



No hay commit 😢. Si recuerdas, hace un año me bloquearon el GitHub varios meses, y tuve que depender
de la copia local. Durante ese tiempo formateé el ordenador y al querer actualizar esa copia me empezó
a tirar errores de permisos y propietarios y más locuras que le dieron. Pude salvar todo el proyecto
sin problemas, todo menos el historial de commits y esas cosas de GitHub.


nuive

se me había olvidado que según github, nuive es un hacker ultra peligroso xd

Pos nada. simplemente f. ultra f.

¿aunque cuando pasó lo de github? ¿no se te ocurrió tirar commits de mientras a gitlab? jaja



Ah, la cámara efectúa un sonidito indicando hacia que dirección se puede mover una puerta, pero como
digo, es que ni siquiera es fácil de explicar.

nuive

a ok. ya entiendo. simplemente debo probarlo para entederlo xd
Pero se comprende por qué pidieron ayuda jaja



Lo de la lista de movimientos es algo que aún no está solucionado. Las listas de movimientos en Esmeralda
tienen doble pestaña por lo de movimientos de combate y movimientos de concurso, y con los métodos que
intenté hasta ahora al cambiar de pestaña se desmadra todo de una manera bastante dramática.
Lo del Pokénav... creo que eso funcionó en algún momento, no recuerdo muy bien, pero se rompió una de
tantas veces que tuve que rehacer el motor de textos. Toca revisarlo.

nuive

no entendí lo de la lista de movimientos con doble pestaña
te refieres a la lista de movimientos en el menú status de cada pokemon y donde salen sus movimientos?

O en todo momento tienen dos listas separadas de movimiento, una para peleas y otra para concursos. con set de conocimiento diferente para cada ocación? jajaj

y yap!

eso por ahora!

gracias por todo nuive! y gracias alejandro por el link jueguito!
Re: Pokemon Access
Alejandro73, sáb sept 07 2024, 09:56A. M.


¿Tiene soporte para lector de pantalla? o eso todavía es a puro OCR?

sanslash332
El NVDA está activo desde que se abre el juego, por suerte a la mayoría de menús y diálogos te los detecta sin problemas. La contraseña blindstep solo se encarga de agregar los sonidos extra.
Las únicas cosas importantes que aún no lee son los datos del entrenador (muestra el próximo nivel de desobediencia de los pokemon) y la pantalla de resumen de cada miembro del equipo (los EVS e IVS son visibles y bastante necesarios en este juego).

edit: te arreglé los corchetes del quote xd
Re: Pokemon Access
caspian, dom sept 08 2024, 11:22A. M.

estoy probando reborn y bueno, la verdad que lo de la accesibilidad promete bastante, aunque personalmente encuentro un poco verde la orientación, supongo que lo irán mejorando segun actualicen los parches. Un buen método es ir viendo las coordenadas, pero aun así creo que es bastante mejorable. Sin embargo esto promete y espero que sigan trabajando en ello.
Re: Pokemon Access
nuive, dom sept 08 2024, 04:07P. M.

¡Hola!

Sigo respondiendo dudas:


Interesante. entonces el truco que hace esta gente, es agregar nuevas funciones en espacio del rom sin usar, y en las llamadas originales a la función, reemplasan el puntero viejo con el puntero hacia la nueva función, pero dicho puntero tiene que tener un tamaño similar al antiguo para que pueda calzar en ese lugar y funcionar sin inconvenientes. que interesante hmm

sanslash332

No exactamente. Imagina, por ejemplo, que cuando lanzas una Poké Ball para capturar un pokémon, cuando la Ball falla y se abre, el hacker añade el sonido del pokémon al sonido de la Ball al romperse (como pasa en 4ª y 5ª generación). Lo que se hace en ese caso es crear el código para que se reproduzca el grito en una zona libre del juego, y posteriormente se copia esa dirección de memoria.

En este caso no es reemplazar una función por otra, es añadir algo a la función original. Pero claro, como no se puede modificar el espacio que ocupa la función original, por eso hay que crear el nuevo fragmento de código en una zona libre del juego. Posteriormente, hay que realizar una llamada a esa función desde el punto de la función original donde queremos que se salte a la nueva (en este caso, tras el sonido de la poké ball al romperse). Aquí hay que reemplazar lo que normalmente suelen ser entre 8 y 12 bytes de memoria con las instrucciones necesarias para saltar al nuevo fragmento de código. En este punto es donde se almacena, además de la instrucción de salto, la dirección al nuevo código.

Pero claro, aquí la cuestión. Si se reemplazan bytes para poder hacer posible este salto, que pasa con los bytes reemplazados? Serán órdenes que se pierden, no? Pues... sí, y no. Se pierden en la función original, y por eso es importante, una vez se decide donde irá el nuevo código, contemplar cuantos bytes habrá que reemplazar y estos bytes convertirlos también en parte del nuevo código.

Un ejemplo:

Función original:
call sonido_pokeball();
call muestra_sprite();
call actualiza_ps();

Función modificada (sin modificar el tamaño):
call sonido_pokeball();
call sprite_grito(); // esta sería la nueva función
call actualiza_ps();

sprite_grito:
call muestra_sprite();
call reproduce_grito();
return; // volvería a la función modificada, con lo que procedería con la siguiente instrucción a la llamada (la llamada a actualiza_ps)

Básicamente es algo así, pero en ensamblador es mucho más complejo de diseñar, claro.



Esto lo hace en un startUp time?
el script cuando se inicializa hace una lectura de todo el rom buscando estos puntos dinámicos para prerar las funciones a tiempo?

O lo hace en runtime reconociendo un salto y yendo al salto a penas lo detecta, sin haberlo pre-procesado antes?

A lo que voy... ¿con lua tienes acceso a toda la memoria del juego?

O solo a la ram?

porque se me olvidó, la GBA carga todo el rom en ram a la hora de inicializarse? o el rom va cargando nuevos trozos a medida que son requeridos.

sanslash332

Lo hace al cargar la expansión correspondiente (en este caso CFRU), pero no recorre toda la ROM. Simplemente en la expansión se hace una lista de funciones que tiene que buscar, donde se le aporta la dirección base para iniciar la búsqueda de cada una, siendo la dirección base una dirección de la ROM que se mantendrá en diferentes hacks y versiones, como por ejemplo la dirección de la función original que se modificará.

En este tipo de plataformas (GB/GBA, no sé en nintendo DS) esto no funciona cargando ROM a RAM. El hecho de que los juegos sean cartuchos implica que se conectan directamente al espacio de memoria de la plataforma, y se puede acceder a los mismos de la misma forma que se accede a la RAM. En el caso de GB/C el espacio de memoria ROM es de 32kb, con lo que ROMs de tamaño mayor (la mayoría, entre ellos los de Pokémon, obviamente) tienen que realizar un cambio de banco de memoria, donde cada banco de memoria de la ROM son 16kb, lo que implica que como máximo habrá disponible el acceso a 2 bancos de memoria. El primero siempre será el banco 0, que nunca se cambia. El segundo va del banco 1 al 127, y se cambia el banco según la ROM lo necesite. Esto implica que 32*128=4096kb=4mb de tamaño máximo de ROM para GB/C.
En la GBA directamente se mapea en memoria el acceso completo a la ROM, y no hay posibilidad de realizar cambio de bancos de memoria. El tamaño de mapeo es de 32768kb (32 mb).


sinceramente te fuiste a un nivel muy potente he.
Como se va dando vcuenta qué tipo de operación utilizar?
generaste algún algorítmo de cálculo, o un árbol de desición para saber como ir trabajando la función hasta que el script pueda reconocer todo lo que le interesa?

sanslash332

En ensamblador hay comandos en binario que indican un salto, el inicio de una función, el final de la misma... Esto se utiliza para delimitar donde comienza y acaba cada función. Luego del final de la función suelen estar las constantes que utiliza esa función. A partir de ahí, es mi trabajo estudiar la función (si tengo el código C es mucho más fácil, pero si no, toca desensamblar) e indicarle al script como procesar todos esos datos y las modificaciones que hace en la RAM (las constantes que hay al final de cada función suelen ser direcciones de la ROM donde lee datos y direcciones de RAM donde los escribe).


Me dices 5mb por el tamaño... de solo los sonidos de los gritos de los pokemon y es harto. sigue siendo harto; es un poco menos del 15% del rom solo gastado en gritos.
Luego vienen gráficos, sprites.... al final esos 32mb se pueden ir rápido, súper rápido.

Ahora bien... ¿no pueden haber roms de 64mb en GBA?
existe algún límite del procesador como tal para la lectura del tamaño del cartucho?

sanslash332

Sí, parece mucho ya que es como un 15% de la ROM o más. Pero piensa que son más de 1000 gritos, luego megas, formas alternativas... según se agote el espacio los gritos será lo primero que se sacrifique. Se almacenan en wav comprimido en una variante de dPCM un poco extraña, optimizando la compresión a cambio de perder calidad. Al final un grito ocupa más que varios sprites juntos. Y no, a menos que alguien diseñe un decompresor de mp3 en ASM que pueda funcionar con las ROMs de pokémon, por ahora no hay otra alternativa. Estas ROMs solo leen wav sin comprimir o wav comprimido en la variante esta rara de dPCM.

El límite es el que comentaba anteriormente. Solo hay un espacio de acceso a memoria designado para la ROM, un espacio de 32mb. Hay que imaginar esta arquitectura como si se tratara de una serie de dispositivos interconectados. Para la memoria supongamos que hay un conector de 8 pines, y le queremos conectar algo que tiene 10. No encajará, obviamente. Otra opción es conectar los 8 pines, y hacer que ese conector sepa redigir esas lecturas a un rango mayor (lo que explicaba de la GB/C, el banking, por ejemplo). El problema es que para la GBA esa estructura no está implementada. Sería como diseñar un nuevo concepto de ROM, un concepto en el que los 16 primeros mb se mantengan en memoria y se vaya cambiando de banco en los 16 siguientes como hace la GB. Sí, se podría, pero sería eficiente? Funcionaría? Ni idea... quizás ya lo haya probado alguien por ahí, es muy probable, pero si a día de hoy no se implementó supongo que es porque por lo que sea, no compensa.

Ah, y si un emulador carga una ROM de 64 mb, por ejemplo, simplemente cargará los primeros 32 y el resto lo ignorará como si no hubiera nada.


bro, te pones la soga al cuello tú solo.
ya rugiste, radical red nuive edition en el primer post. ya xd

Vas a tener que ir dándole mantención. y en serio, que chafas, queeeee chafas.
Al final no son tan opensource como dicen serlo

sanslash332

CFRU es open source pero lleva bastante tiempo desatendido. Al final es algo que se hizo principalmente para Pokémon Unbound, y el desarrollador decidió liberarlo como expansión. Además yo todo lo hice en ensamblador y CFRU es C. Escribí al desarrollador porque una vez hecho en ensamblador portarlo a C es simple, pero como no mostró ningún interés pues...

Radical Red no es open source. Si lo fuera, podría directamente coger su código, modificarlo, y aunque no quisieran añadirlo al master, siempre sería tan simple como combinar cambios en cada nueva versión y corregir lo que hubiera que corregir. Mi ofrecimiento fue el mismo, aportar tanto mis modificaciones en ensamblador como en C para acoplarlas al juego (aún no siendo open source) pero es lo que digo, ni caso.

No tengo problema en añadir la ROM modificada al primer post. De hecho estoy arreglando un problema de sonido porque a veces, por algún motivo que desconozco petardea bastante incluso con sonidos originales de Rojo Fuego cuando el propio Rojo Fuego no lo hace. Una vez solucione esto (si se puede) lo añadiré.


Va, creí que era una implementación normal de bass. bass la conozco, sin drama.

¿pero por qué tuvo que crear una interfás intermedia?
Si llama a audio.dll desde lua ¿por qué no llamó entonces a bass directo desde lua?
Por qué darse esa vuelta con una envoltura?

Sip, tolk la conozco. incluso la he usado.
es boneeta

sanslash332

Supongo que para simplificar las llamadas desde Lua, y porque bass es un módulo C, no Lua. La diferencia la ejemplifica perfectamente Tolk. Tolk es una DLL común en C, y por este motivo hay un tolk.lua en la carpeta Lua. Este archivo es el que convierte la DLL de C tolk.dll en un módulo Lua. Con Bass hizo algo similar, pero en vez de crear un archivo .lua, utilizó directamente un módulo Lua que está en DLL y vincula la biblioteca C Bass con Lua.

La diferencia parece una tontería pero es muy importante. Si se crea un módulo Lua en DLL, al margen de que sea compatible con versiones de Lua, por ejemplo, desde 5.1 a 5.4 siempre pedirá la DLL para la que se vinculó, por ejemplo Lua 5.1. Eso es un poco desastre, porque en el caso de mGBA, por ejemplo, que ya integra Lua sin requerir DLLs, para este tipo de módulos tienes que incluir una DLL de algo que el propio emulador ya integra en su ejecutable. Es por esto que yo estoy totalmente en contra de esta decisión y prefiero utilizar las DLL originales de C y vincularlas a Lua mediante un .lua que puedo editar para diferentes versiones sin necesidad de añadir bibliotecas redundantes.



se me había olvidado que según github, nuive es un hacker ultra peligroso xd

Pos nada. simplemente f. ultra f.

¿aunque cuando pasó lo de github? ¿no se te ocurrió tirar commits de mientras a gitlab? jaja

sanslash332

No, en ese momento lo único que se me ocurrió fue tirar piedras a GitHub.



no entendí lo de la lista de movimientos con doble pestaña
te refieres a la lista de movimientos en el menú status de cada pokemon y donde salen sus movimientos?

O en todo momento tienen dos listas separadas de movimiento, una para peleas y otra para concursos. con set de conocimiento diferente para cada ocación? jajaj

sanslash332

En el resumen del Pokémon hay 4 pestañas, siendo las dos últimas una para movimientos de combate y otra para movimientos de concurso. Los movimientos obviamente son los mismos para ambas pestañas pero cambian el resto de campos. En la pestaña de combate se muestra lo típico de PP, Potencia, precisión, descripción y esas cosas. Mientras en la de concursos en la descripción figura el efecto que tiene cada movimiento en un concurso, y en vez de los datos de combate aparecen los datos de concursos (los corazoncitos y esas cosas que dan, que la verdad ahora mismo no recuerdo como les llama el juego).

Esta doble pestaña es igual para cuando se quiere enseñar un movimiento. Con las flechas izquierda y derecha se cambia entre info de combate y de concurso, y el problema es que además de cambiar los campos reinicia las listas de una forma rarísima que hace que el script enloquezca.


Y creo que no me dejo nada.

¡Saludos!

Edito: Por cierto, me encanta ver como la gente escribe en el tema de audiogames para pedir soporte del script para Negro y Blanco...

Si no fuera porque rebajarme a ese nivel me parece penoso, los animaría a probar a diseñarlo ellos mismos.
Re: Pokemon Access
nuive, jue sept 12 2024, 10:44P. M.

¡Hola!

Siento el doble post, pero creo que esto merece el suyo propio.


da lo mismo, la diferencia ya entre emuladores es avismal. aunque lograses reducir a unos 5MS las funciones de buscaobjetos ultra optimizadas con luajit, en mGBA, seguiría estando entorno a los 30 o 40ms.

lo que sigue siendo aún mucho más que lo que tenemos a día de hoy

sanslash332

A ver, con respecto a esto... bueno, hice unas pequeñas optimizaciones en el script pensadas para mGBA. No toqué nada en el emulador, usa su motor nativo de Lua 5.4. Lo único que se modificaron aquí fueron un par de funciones (sí, un par) en el script.

Lo importante de esto es que... bueno, en la lista de objetos, solo estas modificaciones redujeron los 70 y pico ms del mGBA a una media de 30, lo que es algo menos de la mitad. No quiero prometer nada puesto que estoy haciendo pruebas, pero está claro que el lag de mGBA está en como accede a la memoria de las consolas. Lua funciona todo lo rápido que debería, el problema parece que está en que el emulador tiene lag con las llamadas externas a Lua, aunque se hagan desde el propio motor. Ahora bien, no sé hasta que punto esto se puede optimizar más, si la optimización será igual de potente que hasta ahora, no sé como tomará esto el buscarrutas... Pero la cosa es que con un par de cambios las cosas pintan muchísimo mejor.

De todos modos, ahora que sé donde está la raíz del problema lo comunicaré en el discord de mGBA. Imagino que a los desarrolladores les interesa tener un emulador optimizado.

Edito: Efectivamente, ya me respondió el desarrollador principal de mGBA bastante alarmado por el overhead que supone esto. Hice pruebas con VBA-RR usando tanto LuaJIT como Lua 5.1 y es muy gracioso lo que pasa. Mientras que en mGBA esas modificaciones alteraron el rendimiento haciendo que tarde menos de la mitad, en VBA con ambas variantes de Lua lo máximo que conseguí en un momento muy puntual fue una variación de 5 ms. Así que sí, confirmado. El problema está en como mGBA accede a la memoria.
Re: Pokemon Access
sanslash332, lun oct 21 2024, 01:37P. M.

Holiii @nuive

Perdón por la demora en responder; me fui a hacer otras cosas y bue... hay harto hilo por donde cortar por aquí, mucha cosita interesante. jeje



Básicamente es algo así, pero en ensamblador es mucho más complejo de diseñar, claro.

nuive

Se entiende perfectamente el cómo se hace. Se reemplazan llamadas a funciones (o expresiones) por una llamada a una nueva función en un espacio libre, donde se coloca el código nuevo, y bueno. parte del código reemplazado si es que se necesita.

Supongo eso sí, que tienes que hacer que coincidan, al menos en cantidad de bits a utilizar las llamadas a las funciones. para poder hacer un reemplazo limpio en el espacio acotado del espacio cambiado.

¿Esto no tiene problema cuando tienes que llamar a una función con parámetros?
O lo que reemplaces sea algo con parámetros.
¿En ese caso no te toca ser mucho más cuidadoso con el juego de movimiento de las firmas de las llamadas?
O incluso te podría tocar hacer un reemplazo más grande para poner parámetros en espacio de memoria que la función llamada luego pueda leer.

Es... interesante el rompecabezas que se arma ahí. muy interesante.



En la GBA directamente se mapea en memoria el acceso completo a la ROM, y no hay posibilidad de realizar cambio de bancos de memoria. El tamaño de mapeo
es de 32768kb (32 mb).


Es interesante este límite. porque en parte eso explica por qué los juegos de GBA no pueden expandirse más allá de ese límite de 32MB, al menos claro que se modificase el hardware.... o la emulación del hardware al menos.

¿Las consolas más nuevas como ds / 3ds tendrán ese mismo tipo de limitaciones?
O ya tratarán al carcucho más como un disco y podrán intercambiar datos con el cartucho de manera mucho más libre y sin esos límites.
Es muy interesante.



En ensamblador hay comandos en binario que indican un salto, el inicio de una función, el final de la misma... Esto se utiliza para delimitar donde comienza
y acaba cada función. Luego del final de la función suelen estar las constantes que utiliza esa función. A partir de ahí, es mi trabajo estudiar la función
(si tengo el código C es mucho más fácil, pero si no, toca desensamblar) e indicarle al script como procesar todos esos datos y las modificaciones que
hace en la RAM (las constantes que hay al final de cada función suelen ser direcciones de la ROM donde lee datos y direcciones de RAM donde los escribe).


nuive

¿EN serio? al revéz de la lógica que uno regularmente hace al programar
Si usarás constantes globales, las declaras antes de la función a utilizar y no al final.

Interesante.



Sí, parece mucho ya que es como un 15% de la ROM o más. Pero piensa que son más de 1000 gritos, luego megas, formas alternativas... según se agote el espacio
los gritos será lo primero que se sacrifique. Se almacenan en wav comprimido en una variante de dPCM un poco extraña, optimizando la compresión a cambio
de perder calidad. Al final un grito ocupa más que varios sprites juntos. Y no, a menos que alguien diseñe un decompresor de mp3 en ASM que pueda funcionar
con las ROMs de pokémon, por ahora no hay otra alternativa. Estas ROMs solo leen wav sin comprimir o wav comprimido en la variante esta rara de dPCM.


nuive

Bueno, siempre tienes la alternativa de volver a hacer los gritos de pokemon como se hacían en gb/gbc.
Que no eran archivos de sonido directamente, sino que eran una función de reproducción de ciertos patrones de sonidos sinusoidales, los cuales eran modificables por parámetros. que cambiaban velocidad, pich, si eran más planos o móviles. etc.
Eran como... 13 o 16 funciones y así hicieron los sonidos de los 151. jajaja.
Hay hasta en javascript programadas esas mismas funciones.



explicaba de la GB/C, el banking, por ejemplo). El problema es que para la GBA esa estructura no está implementada. Sería como diseñar un nuevo concepto
de ROM, un concepto en el que los 16 primeros mb se mantengan en memoria y se vaya cambiando de banco en los 16 siguientes como hace la GB. Sí, se podría,
pero sería eficiente? Funcionaría? Ni idea... quizás ya lo haya probado alguien por ahí, es muy probable, pero si a día de hoy no se implementó supongo
que es porque por lo que sea, no compensa.

nuive
teóricamente probablemente lo hicieron, pero no lo explotan porque generarías rom no aprobechables en GBA.
Al menos claro no sé, que funcionase directamente con alguna función especial...

Tipo... algo pensado para trabajar con algún tipo de flashkart, que dada cierta instrucción, el procesador de la flashkart cambie un espacio de la memoria rom con el contenido de un archivo cargado desde la sd.

Y se guarde precisamente un espacio chiquito de la memoria para mandarle esas isntrucciones al procesador interno que suelen tener las flashKarts.
Así hackroms grandes serían compatibles con emulador (que implementase ello, obviamente) y los modelos de flashkarts que implementasen ese protocolo.

Supongo que es parecido a lo que hicieron con la extención MSU1 para la snes. Que funciona tanto en flashkarts como emuladores para básicamente. reproducir música mediante streaming durante el juego.



CFRU es open source pero lleva bastante tiempo desatendido. Al final es algo que se hizo principalmente para Pokémon Unbound, y el desarrollador decidió
liberarlo como expansión. Además yo todo lo hice en ensamblador y CFRU es C. Escribí al desarrollador porque una vez hecho en ensamblador portarlo a C
es simple, pero como no mostró ningún interés pues...

nuive

¿Y forkearlo derechamente?
Si ya está tirado ¿por que no sacas tu fork?

O buscar un fork que tenga desarrollo activo. si tantos hackroms lo usan, alguien debe de estar toqueteándolo. con la constate salidas de generaciones pokemon y cosas así



Radical Red no es open source. Si lo fuera, podría directamente coger su código, modificarlo, y aunque no quisieran añadirlo al master, siempre sería tan
simple como combinar cambios en cada nueva versión y corregir lo que hubiera que corregir. Mi ofrecimiento fue el mismo, aportar tanto mis modificaciones
en ensamblador como en C para acoplarlas al juego (aún no siendo open source) pero es lo que digo, ni caso.

nuive

na, ya conoces a los del mundo closed-source. son así



No tengo problema en añadir la ROM modificada al primer post. De hecho estoy arreglando un problema de sonido porque a veces, por algún motivo que desconozco
petardea bastante incluso con sonidos originales de Rojo Fuego cuando el propio Rojo Fuego no lo hace. Una vez solucione esto (si se puede) lo añadiré.

nuive

te tomo la palabra tongue



La diferencia parece una tontería pero es muy importante. Si se crea un módulo Lua en DLL, al margen de que sea compatible con versiones de Lua, por ejemplo,
desde 5.1 a 5.4 siempre pedirá la DLL para la que se vinculó, por ejemplo Lua 5.1. Eso es un poco desastre, porque en el caso de mGBA, por ejemplo, que
ya integra Lua sin requerir DLLs, para este tipo de módulos tienes que incluir una DLL de algo que el propio emulador ya integra en su ejecutable. Es por
esto que yo estoy totalmente en contra de esta decisión y prefiero utilizar las DLL originales de C y vincularlas a Lua mediante un .lua que puedo editar
para diferentes versiones sin necesidad de añadir bibliotecas redundantes.


nuive

Eso es interesante...
No sabía que podías compilar módulos lua a DLL directamente.

¿Esos dlls resultantes son exclusivamente de uso para lua? O igual siguen siendo dlls normales y si incluyesen más funciones que el módulo lua son importables por otro tipo de programas?



Si no fuera porque rebajarme a ese nivel me parece penoso, los animaría a probar a diseñarlo ellos mismos. 

nuive

jajajaja good luck

Por cierto, hace unos días andaba pensando...
Si los juegos de pokemon están ya ultra desensamblados. con código c inclusive...
¿por qué no han salido ports para pc funcionales al 100%?

Si hay ports de juegos como el mario64 o el zelda ocarine of time. Que se construyeron a partir de desensamblajes y el código sacado desde las entrañas de nintendo...
¿por qué con los pokemon no han intentado lo mismo si ya tienen juegos absolutamente compilables?

Con los disasembled projects, puedes bajarlos, correr un compilador y generar los archivos .gba.
¿Nadie ha modificado ese código fuente para vincular las funciones importantes a librerías gráficas de pc para generar el juego con un ejecutable directo?

POrque... vamos, si hiciesen eso, meterle accesibilidad sería... algo más interesante de programación directa.



Siento el doble post, pero creo que esto merece el suyo propio.

nuive

sí tranquilo, no te morderé




Lo importante de esto es que... bueno, en la lista de objetos, solo estas modificaciones redujeron los 70 y pico ms del mGBA a una media de 30, lo que
es algo menos de la mitad. No quiero prometer nada puesto que estoy haciendo pruebas, pero está claro que el lag de mGBA está en como accede a la memoria
de las consolas. Lua funciona todo lo rápido que debería, el problema parece que está en que el emulador tiene lag con las llamadas externas a Lua, aunque
se hagan desde el propio motor. Ahora bien, no sé hasta que punto esto se puede optimizar más, si la optimización será igual de potente que hasta ahora,
no sé como tomará esto el buscarrutas... Pero la cosa es que con un par de cambios las cosas pintan muchísimo mejor.


nuive

Igual, es como te dije xd; lo redujiste a la mitad, entre 30 a 40 ms. Pero si lo revisas en tus propios números, eso sigue siendo aún peor que el escenario no obtimizado del VBA-RR jajajaja.

ojalá se pudiese correjir aunque sea un poco el m-GBA para que esos números desendiecen; por tu parte al menos lo has optimizado mucho, pero mucho.



De todos modos, ahora que sé donde está la raíz del problema lo comunicaré en el discord de mGBA. Imagino que a los desarrolladores les interesa tener
un emulador optimizado.

nuive

Si es un emulador pro-tas-community, sí. les interesa xd



Edito: Efectivamente, ya me respondió el desarrollador principal de mGBA bastante alarmado por el overhead que supone esto. Hice pruebas con VBA-RR usando
tanto LuaJIT como Lua 5.1 y es muy gracioso lo que pasa. Mientras que en mGBA esas modificaciones alteraron el rendimiento haciendo que tarde menos de
la mitad, en VBA con ambas variantes de Lua lo máximo que conseguí en un momento muy puntual fue una variación de 5 ms. Así que sí, confirmado. El problema
está en como mGBA accede a la memoria. 

nuive

jajajajaja. bien bien.

¿Dijo que tenía alguna idea de por donde comenzar a atacarlo?

¿Te han dicho algo más sobre ello?

Porque será muy interesante ver como sigue evolusionando smile

Y bueeeno.

Eso es todo por ahora.
Como siempre Nuive, gracias por todo este trabajo; perdón por demorarme, andaba con otras cosas y quería tiempito para responder esto tan técnico jeje.


¡Saludos!

edit: El generador de sonidos de la gen1
Me encanta esa cosa xD
Re: Pokemon Access
nuive, lun nov 04 2024, 11:04P. M.

¡Hola!

A ver, tengo bastante información además de las respuestas...


Se entiende perfectamente el cómo se hace. Se reemplazan llamadas a funciones (o expresiones) por una llamada a una nueva función en un espacio libre, donde se coloca el código nuevo, y bueno. parte del código reemplazado si es que se necesita.

Supongo eso sí, que tienes que hacer que coincidan, al menos en cantidad de bits a utilizar las llamadas a las funciones. para poder hacer un reemplazo limpio en el espacio acotado del espacio cambiado.

¿Esto no tiene problema cuando tienes que llamar a una función con parámetros?
O lo que reemplaces sea algo con parámetros.
¿En ese caso no te toca ser mucho más cuidadoso con el juego de movimiento de las firmas de las llamadas?
O incluso te podría tocar hacer un reemplazo más grande para poner parámetros en espacio de memoria que la función llamada luego pueda leer.

Es... interesante el rompecabezas que se arma ahí. muy interesante.

sanslash332

No, no. Piensa que esto no es lenguaje de alto nivel, es ensamblador. Aqquí la llamada a una función se realiza con una instrucción de 32 bits que suma o resta a la dirección donde se encuentra la ejecución actualmente (contador de programa o pc) los bytes necesarios para acceder a la función a llamar. Evidentemente, con 32 bits (de los que 10 se utilizan para indicar que la instrucción es una llamada) el rango del salto se limita a +-0x3FFFFF. Como una ROM puede ocupar hasta 0x2000000 bytes, no se puede utilizar esta instrucción para ir a cualquier lugar de la ROM. Para esto hay que combinar las llamadas con los saltos. Un salto, por decirlo de forma muy simplificada, en lugar de utilizar posiciones relativas al PC utiliza la dirección absoluta del inicio de una función. Pero claro, una llamada implica volver a donde estabas con un simple return, un salto no. Por eso en muchos casos hay que combinar ambos tipos de llamadas para obtener el resultado deseado.

En cuanto a la parametrización, eso en ensamblador no existe como tal. La GBA tiene una serie de registros de memoria (16) de los que los 8 primeros son los que se suelen usar para pasar los parámetros a cada función. Si es necesario, se utiliza la pila (Stack) para guardar otros valores que se utilizarán como parámetros. No porque se usen más de x parámetros, sino porque quizás x registros no se pueden tocar al llamar a una función porque la función que llama a la función que llama a esta función los necesita. Es bastante complicado de explicar sin trabajar con esto a diario. Supón que tienes una función getPKMNData(int index, void* dest)

Lo habitual es que esa función utilice el registro r0 como index y r1 como pointer, pero lo que pasa es que en ensamblador los registros son globales a todo el programa. Lo que se hace es, antes de llamar a la función, asignar a r0 el valor de id y a r1 el valor (dirección) de dest. Pero y si al terminar la función getPKMNData la función que la llamó necesita acceder al valor que tenía en r1 antes de asignarle dest? Pues... habría que guardar r1 en la pila antes de asignarle dest, y tras volver de getPKMNData cargar el antiguo valor desde la pila y asignarlo a r1 otra vez.

Y esto sin ir más allá porque claro, y si se modifica la pila en getPKMNData? Son muchas cosas a tener en cuenta a la hora de diseñar una función en ensamblador.



¿Las consolas más nuevas como ds / 3ds tendrán ese mismo tipo de limitaciones?
O ya tratarán al carcucho más como un disco y podrán intercambiar datos con el cartucho de manera mucho más libre y sin esos límites.
Es muy interesante.

sanslash332

Sí, las nuevas consolas ya tiran muchísimo más de RAM y esto no es un problema. No tengo ni idea sobre si hay algún tipo de limitación en cuanto al tamaño o no, pero piensa que desde 3DS ya se pueden descargar juegos de forma legal desde la e-shop de Nintendo sin necesidad de un cartucho físico.



Bueno, siempre tienes la alternativa de volver a hacer los gritos de pokemon como se hacían en gb/gbc.
Que no eran archivos de sonido directamente, sino que eran una función de reproducción de ciertos patrones de sonidos sinusoidales, los cuales eran modificables por parámetros. que cambiaban velocidad, pich, si eran más planos o móviles. etc.
Eran como... 13 o 16 funciones y así hicieron los sonidos de los 151. jajaja.
Hay hasta en javascript programadas esas mismas funciones.

sanslash332

Podría valer para los Pokémon de las dos primeras generaciones, copiando sus sonidos originales de los juegos de GB/c, pero los más recientes ya utilizan sonidos irrecreables con ese método. Sin contar con que habría que diseñar todo un nuevo reproductor en ensamblador para ese tipo de sonidos. Visto así no compensa mucho, no?



teóricamente probablemente lo hicieron, pero no lo explotan porque generarías rom no aprobechables en GBA.
Al menos claro no sé, que funcionase directamente con alguna función especial...

Tipo... algo pensado para trabajar con algún tipo de flashkart, que dada cierta instrucción, el procesador de la flashkart cambie un espacio de la memoria rom con el contenido de un archivo cargado desde la sd.

Y se guarde precisamente un espacio chiquito de la memoria para mandarle esas isntrucciones al procesador interno que suelen tener las flashKarts.
Así hackroms grandes serían compatibles con emulador (que implementase ello, obviamente) y los modelos de flashkarts que implementasen ese protocolo.

Supongo que es parecido a lo que hicieron con la extención MSU1 para la snes. Que funciona tanto en flashkarts como emuladores para básicamente. reproducir música mediante streaming durante el juego.

sanslash332

Claro, sería cosa de diseñar un emulador que los soportara o diseñar un hardware que simulara ese tipo de funciones.

De hecho, lo que hacen las flashcarts es esto, tanto en GBA como en DS y 3DS. Guardas una serie de juegos, eliges con la interfaz de la flashcart cuál quieres, y la tarjeta utilizando su hardware y software propios asigna ese juego a la memoria correspondiente.

Lo que creo que no hay diseñado (o al menos yo no tengo ni idea de eso) es algún tipo de hardware y software (porque seguramente haría falta un componente físico en caso de una GBA física) que por ejemplo, teniendo ROMs de 64 mb puedan asignar los 16 primeros mb a la región de memoria fija y los otros 16 irlos alternando según haga falta.

Esto es lo que hacen los juegos de GB/GBC, pero por ese motivo, programar para esas plataformas es muchísimo más complejo en este aspecto. Hay que asegurarse de que cada función esté en su minibanco de memoria correspondiente, que todas las funciones críticas estén en un minibanco que vaya a estar dentro del banco que quedará asignado de forma fija, que cada minibanco no desborde bytes porque tiene un tamaño fijo... eso sí que es de locos. Y claro, en la GBA pues dices... en 16 MB? se mete todo lo crítico en los primeros 16 y el resto de datos (gráficos, sonidos...) van para el resto de bancos.
Sí, en la GBA quizás sería más fácil, no lo tengo claro. Pero en GB/GBC el banco fijo es de 16 kb (imagina como será cada minibanco).



¿Y forkearlo derechamente?
Si ya está tirado ¿por que no sacas tu fork?

O buscar un fork que tenga desarrollo activo. si tantos hackroms lo usan, alguien debe de estar toqueteándolo. con la constate salidas de generaciones pokemon y cosas así

sanslash332

Como dices, cosas del Closed source. No encontré ninguna rama del CFRU a parte de la original (aunque seguramente mil hacks la implementen) y si alguno es open source lo que será open source será el propio hack, no la expansión CFRU como tal.

Como decía, no hice fork básicamente porque tendría que pasarlo todo a C y mis modificaciones están realizadas sobre Radical Red, que por ejemplo tiene todos los pokémon existentes hasta el día de hoy. El CFRU original solo tiene hasta la 8ª generación.

Como digo, podría pasar mi código a C, pero muchas de las cosas que toqué en lo que a CFRU se refiere son cosas que Radical Red estropea en la expansión, o cosas específicas relacionadas con Pokémon exclusivos de Radical Red.

En Radical Red, por ejemplo, se sacrifican muchas cosas relacionadas con el sonido con la única intención de no complicar tanto las llamadas a funciones de las que hablaba antes. Por ejemplo: anda, aquí hay código que se repite, porque se utiliza para el sonido que sale por el canal derecho y el que sale por el izquierdo. ¿Que lo que suena por ambos canales es distinto? No pasa nada, que suene todo por el derecho y código que nos ahorramos, total no se va a morir nadie.

Sí, son tonterías minúsculas, pero a mí me gusta que el sonido del juego suene por donde tiene que salir, no que me suenen los dos Pokémon por el lado derecho. En una ocasión ocurrió que sacamos al mismo pokémon el rival y yo y claro, cuando cayó uno, puesto que los dos suenan por el lado del rival, no sabía si era el mío o el suyo hasta que me apareció la pantalla de elegir otro pokémon. Cosas como esto son lo que yo estoy arreglando en Radical Red.



Eso es interesante...
No sabía que podías compilar módulos lua a DLL directamente.

¿Esos dlls resultantes son exclusivamente de uso para lua? O igual siguen siendo dlls normales y si incluyesen más funciones que el módulo lua son importables por otro tipo de programas?

sanslash332

No, solo valen para Lua. Necesitando además la DLL de la versión específica de lua para la que se compila cada módulo, poca utilidad tendrían en C, ya que los módulos no son DLLs útiles, son como una especie de interfaces.

Poniendo como ejemplo el script, para aclarar un poco todo esto:
-Tenemos la DLL audio.dll. Eso es un módulo Lua que el script carga y gestiona. Pero esta DLL no vale para nada sin...
-la DLL bass.dll: esta es la biblioteca C como tal. Lo único que hace audio.dll es permitir que bass.dll se pueda utilizar con Lua. Sin embargo, es posible (aunque no fácil) deshacernos de audio.dll y crear un audio.lua que interactuará con bass.dll por su cuenta como si se tratara de audio.dll.

¿Ventajas?

Pues que si vamos a diseñar un script que queremos que sea compatible con varias versiones de Lua necesitaríamos bass.dll para la arquitectura (32 o 64 bits) del emulador donde se vaya a utilizar el script (si quisiéramos poder utilizarlo tanto en 32 como en 64 bits necesitaríamos ambas DLLs (bass32.dll y bass64.dll o algo así).

Ahora vamos con audio.dll. Necesitaríamos una DLL por cada arquitectura y versión de Lua, junto con la DLL de Lua también por cada arquitectura y versión. Obviando las 8 DLLs de Lua (de 5.1 a 5.4), que siempre que se utilice un módulo DLL serán necesarias) necesitaríamos las 2 DLLs de BASS y otras 8 para el módulo. Suma a esto que habría que realizar 8 compilaciones y reubicación de DLLs por cada modificación que se haga en el código C del módulo.

Sin embargo, con audio.lua... necesitaríamos las 2 DLLs de BASS y... ya. Luego solo el archivo audio.lua, que además si hay que hacer alguna modificación se modifica el archivo, se guarda y fuera.

Ah, y otras 8 DLLs. Sí, me olvidaba. Las DLLs del módulo FFI, que es lo que permite que Lua se comunique con DLLs de C sin utilizar módulos de C.

Vale, a estas alturas... estamos como estábamos.

Peeeeero... y si necesitamos otro módulo, como por ejemplo el que comunicará Lua con la DLL en C de Tolk? Pues si dicho módulo fuera otra DLL necesitaríamos las 2 DLLs de Tolk (una por arquitectura) y... los 8 módulos en DLL (uno por versión y arquitectura), y otra vez el lío que sería recompilar los 8 cada vez que se modifique.

Sin embargo, con un módulo .lua necesitaríamos las 2 DLLs de Tolk y... ya. Las 8 DLL de FFI ya las incluimos por el módulo de audio, las 8 DLL de la versión de Lua también, y el módulo nuevo será otro archivo .lua.

Esto implica que trabajar con Lua en vez de con DLLs facilita la gestión de los módulos. Las DLL de FFI y Lua no será necesario recompilarlas salvo casos excepcionales, por lo que simplemente será cuestión de colocarlas en el proyecto una vez y olvidarnos de que están ahí.

Ahora bien... no todo es tan bonito. El trabajo de un módulo en Lua es bastante menos eficiente que en C. Bueno, el módulo como tal no, pero por poner un ejemplo, yo intenté eliminar la DLL crc32 y convertir el módulo crc32.lua en un módulo que ya hiciera el cálculo CRC32 de las ROMs, y funcionó perfectamente. Claro, sin contar que los 2 o 3 segundos que tardaba en inicializarse el script se convirtieron en casi 20 😂. Por eso, aunque si bien como módulos no suele haber diferencias, siempre es importante probar, teniendo en cuenta el rendimiento, qué compensa más.



Por cierto, hace unos días andaba pensando...
Si los juegos de pokemon están ya ultra desensamblados. con código c inclusive...
¿por qué no han salido ports para pc funcionales al 100%?

Si hay ports de juegos como el mario64 o el zelda ocarine of time. Que se construyeron a partir de desensamblajes y el código sacado desde las entrañas de nintendo...
¿por qué con los pokemon no han intentado lo mismo si ya tienen juegos absolutamente compilables?

Con los disasembled projects, puedes bajarlos, correr un compilador y generar los archivos .gba.
¿Nadie ha modificado ese código fuente para vincular las funciones importantes a librerías gráficas de pc para generar el juego con un ejecutable directo?

POrque... vamos, si hiciesen eso, meterle accesibilidad sería... algo más interesante de programación directa.

sanslash332

Supongo que a nadie le interesó, la verdad. Sería un trabajo avismal. No solo es redirigir cosas a bibliotecas, es que Nintendo para los juegos de Pokémon tira muchísimo de SDKs propios de Pokémon, y es bastante complejo. Quizás sería mucho más fácil portar los Mundo misterioso. De todos modos, cuando acabe las respuestas tengo que añadir unas cuantas cosas a este respecto.



Igual, es como te dije xd; lo redujiste a la mitad, entre 30 a 40 ms. Pero si lo revisas en tus propios números, eso sigue siendo aún peor que el escenario no obtimizado del VBA-RR jajajaja.

ojalá se pudiese correjir aunque sea un poco el m-GBA para que esos números desendiecen; por tu parte al menos lo has optimizado mucho, pero mucho.

sanslash332

Bueno, en el VBA sin LuaJIT no se nota la diferencia, la verdad. De hecho yo me pasé unos días utilizando el script sin recordar que había deshabilitado el JIT, y no me di cuenta hasta que un día cascó todo porque Lua llamaba a una función que en el estándar no existía, solo en el Git. Me costó media hora darme cuenta de que estaba usando el Lua oficial sin optimizaciones porque mi cabeza estaba en bucle pensando a ver por qué de repente cascaba eso si yo no lo había tocado y siempre había funcionado bien.



¿Dijo que tenía alguna idea de por donde comenzar a atacarlo?

¿Te han dicho algo más sobre ello?

Porque será muy interesante ver como sigue evolusionando

sanslash332

No volví a saber nada ni vi nada a este respecto en el GitHub de mGBA. Lo volveré a comentar a ver.


Bien. Ahora que acabé con las respuestas... el script.

No está abandonado, por supuesto. De hecho estoy trabajando en él más que en mucho tiempo. Sin embargo, no me voy a atreber a dar ni una aproximación de fecha de siguiente actualización. Estoy intentando darle un enfoque diferente, y esto implicará cambios. Ojo, no en el uso del script, que seguirá siendo como hasta ahora. Esto más bien es cosa del desarrollo.

Lo único que creo que puedo decir es que si mi idea sale bien (por ahora va por buen camino, pero aún está en las primerísimas fases del desarrollo) el script cobrará una nueva dimensión. Si no... pues seguiré como hasta ahora.

Es lo único que creo poder asegurar a estas alturas. Decir más sería como poner la fecha de salida de un juego del que se está empezando a concretar la idea.


Y para finalizar...


¡LEAAAAAAAAAAAK!

Aunque supongo que todo aquel que esté un mínimo al día de las noticias de Pokémon tiene alguna idea de esto, lo resumo un poco.

Hace aproximadamente 3 semanas (algo más) Game Freak fue hackeada. Y no, los hackers no se hicieron con 4 estupideces. Los rumores dicen que sacaron de GF 1 tb de datos.

Sí, por ahí hay muchos rumores que cualquiera puede encontrar. Cosas beta, diseños internos, proyectos interrumpidos, datos sobre los próximos juegos de Pokémon... de hecho yo tengo ciertas sospechas de que a Game Freak todo esto le da bastante igual (eso suponiendo que no hayan permitido ellos mismos el hackeo o que hayan pasado de detenerlo) ya que tampoco se filtró nada relevante. El usuario que está filtrándolo todo asegura tener el próximo juego de Pokémon (Leyendas Z-A) casi en su versión final y muchos datos sobre la décima generación, pero dice que de eso no va a filtrar nada (qué cosas).

Pero bueno, una vez un poco puestos en contexto... hay cierto foro por ahí, cuyo nombre empieza por 4 y acaba por chan, en el que vuelan los leaks. Y según el filtrador lo va subiendo todo por sitios como discord o telegram aparece todo en ese bendito foro. Para abreviar, foro gracias al que dispongo de...

-Repositorios completos (ojo, repositorios, no solo código fuente) de Pokémon Platino, HeartGold/Soul Silver, Blanco y Negro, Blanco y Negro2 y Rubí Omega/Zafiro Alfa. Además de esto, los códigos fuente de Let's Go, X e Y, Ultrasol y Ultraluna, Espada y escudo (con sus DLCs) y Leyendas. Arceus.
Y lo más llamativo. Un código fuente de las primerísimas versiones de Leyendas Arceus... para PC. Sí, yo no sé para qué o para qué no, pero resulta que eso existe. No el juego final, pero sí una versión que de una forma o de otra podría servir como punto de partida para cosas... interesantes de ports para PC.

Y volviendo a lo de antes de los ports... este juego, el Leyendas Arceus, requiere un montón de SDKs de Nintendo e incluso hasta de NVIDIA. Por eso decía, que por mucho que haya decompilaciones que se pueden compilar para GBA... no creo que la cosa sea tan simple en PC.

Ah, y encontré por ahí, en un leak anterior, el repo completo de Diamante y Perla.

Pero ahora bien, lo que nos interesa... para qué nos vale todo esto?

¿Sinceramente? Ni idea.

Por como funciona el script y los emuladores con Lua, nuestra mejor opción sigue siendo el GitHub PRET, donde decompilan todo, ya que los scripts funcionan a nivel de memoria y esas decompilaciones también. Mapear un código fuente nativo a direcciones de memoria sería una odisea.

Pero bueno, si por ejemplo en algún punto del diseño del script para futuros juegos me encuentro con x función que aún no está decompilada, sé que tengo el código fuente por ahí, en el que si bien no voy a encontrar una equivalencia, sabiendo a que parte del juego pertenece la función sin decompilar puedo ir a una parte del código original para comparar. Y he de decir que en leer C y ensamblador a la vez es algo en lo que cogí práctica gracias a los fixes de Radical Red así que...

La verdad es que por ahora apenas tuve tiempo de toquetear un poco los repositorios. Todo está muy empaquetado, y por ejemplo, el repo de Rubí Omega y Zafiro Alfa ocupa 290 gb sin descomprimir. Vamos, que meterse a hurgar en todo eso no es algo que se pueda hacer en 5 minutos.

Pero quien sabe... es algo útil de tener. Estas son las típicas cosas que hacen falta o vendrían bien dentro de 5 años, cuando ya sea complicadísimo encontrarlas por ahí. De hecho, todo lo estaban subiendo a un Drive, y en un momento puntual me cuadró presenciar como según yo descargaba cosas, lo que había descargado el día anterior iba desapareciendo según lo eliminaban desde google.

Ah, y por cierto, desde el equipo PRET (los del desensamblado) están en contra de utilizar el código fuente para acelerar su trabajo. Dicen que lo hacen precisamente para entender como funciona el proceso de compilación, y que tener ya el código original quitaría todo el sentido al proyecto. Y sinceramente... yo lo agradezco muchísimo. Mientras sigan haciéndolo, será lo más cercano que estaremos de la memoria de las ROMs oficiales. Si en determinado punto no entiendo alguna sección, pues al código oficial, que yo no tengo esos escrúpulos jajajaja.

Ahora bien, que en un futuro hay alguna iniciativa para portar algo de esto a PC? Pues ahí estaremos para meterle accesibilidad! Me encantaría crear yo esa iniciativa, pero en este momento es algo que está completamente fuera de mi alcance. Por ahora, el script y yo somos muy felices dedicándonos a trabajar con Lua.

Y nada, luego de este macropost que me llevó varios días hacer... me despido hasta el siguiente desvarío.


¡Saludos!


P.D.: Lo que tengo yo de las filtraciones ocupa 650 gb, y todo muy comprimido. Me faltarían como 200-250 gb de ROMs sin código fuente que no vi la necesidad de descargar. Con todo lo que dice el filtrador que tiene y no va a publicar... o se lo está inventando o me da a mí que lo que salió de Game Freak fue más de 1 tb...


Edito: Nuevas noticias de mGBA.

Acabo de hablar con el desarrollador principal del proyecto por Discord (publiqué unas pruebas que había hecho) y conseguimos encontrar dónde está el problema del overhead en mGBA. Diseñé un loop que lee un byte 10000000 de veces y otro que consulta la plataforma otros 10000000 de veces (sí, se me fue un poquito la mano con la cantidad) y llegamos a la conclusión de que el problema es cómo gestiona mGBA las llamadas. Cada loop tardaba sobre 300ms en VBA-RR (con LuaJIT, sin LuaJIT sobre 600) y mGBA tarda entre 12 y 15 segundos. Sí, en serio. 20 veces más que Lua y 40 veces más que LuaJIT. No quiero ni imaginar cuanto tardaría en buscar un camino de esos que el uscarrutas tarda 5 o 10 segundos en VBA!

También probamos llamando funciones que no son de los emuladores (sumas, restas, loops vacíos) y los tiempos de mGBA coinciden con los de Lua normal (sin JIT).

Por cómo está diseñada la integración de Lua con mGBA va a ser difícil lograr la misma eficiencia que con VBA-RR pero bueno, se puede mejorar bastante con respecto a como está ahora. Sólo con que quede, por ejemplo, 5 veces más lento que VBA-RR sin LuaJIT yo creo que sería suficiente, contando con las optimizaciones que espero poder aplicarle al código del script, claro.

Es importante tener en cuenta que solo optimizando el script sin tocar mGBA pude reducir el tiempo de 8 veces el de VBA-RR a 4 veces, y sin tocar gran cosa la verdad.

Así que aunque parezca que la cosa pinta fea, yo tengo bastantes esperanzas.

Re: Pokemon Access
nuive, mié nov 20 2024, 10:17A. M.

Hola!

Yo otra vez, esta vez con un minimensaje para no colapsar el anterior que ya es un buen testamento...

Solo venía para decir, así brevemente, que ayer descubrí que el pathfinder está totalmente roto.

Esto es un módulo que como funcionaba, yo jamás toqué. No es original ni del Crystal Access, es un módulo Lua que anda circulando por ahí desde hará más de 10 años, y de hecho se usa en numerosos proyectos tal cuál está.

Sin embargo, ayer se me ocurrió estudiarlo. De buscadores de caminos yo apenas sabía nada, pero con revisar un poco por Internet y centrarme en el algoritmo que usa ese módulo, cualquiera que conozca un poco ese algoritmo puede ver que está totalmente hecho una chapuza.

Para no liar el mensaje, simplemente decir que intentaré reconstruir el módulo con un algoritmo eficiente y adecuado, lo que si resulta aportará grandes beneficios al script. Eso sí, seguramente lleve tiempo, puesto que esto no es solo ajustar el algoritmo, es un efecto dominó que hará que tenga que cambiar las funciones de búsqueda de caminos por completo, de primera a tercera generación, así que no creo que sea una cosa de 2 días.

Y por ahora eso. Seguiré reportando por aquí de vez en cuando como va todo.

Saludos!!
Re: Pokemon Access
nuive, sáb dic 28 2024, 09:43P. M.

Espero que nadie me mate por el triple post. Si eso lo consolido todo en uno.

Bueno, en realidad solo tengo una cosita que decir. Y no, por ahora no implica nada, pero quizás lo implique más pronto de lo esperado...

Acabo de descubrir que en GBA las salas de intercambio no se reconocen como mapas generales, de hecho el script indicaría que no estoy en un mapa...

¿A alguien le da esto una pista sobre algo?
Re: Pokemon Access
sanslash332, dom mar 23 2025, 03:11A. M.

Bueno... sé que soy una persona horrible, muy horrible; te debía de responder esto que... ¿hace como un año?

pero lo pateaba, pateaba, y pateaba yéndome a hacer otras cosas y bue... ¡perdóooon!

Veamos todo lo que se puede rescatar todavía. xddd:

Bueno. no es tanto como un año; según la fecha del foro (poco confiable) dice hace 4 meses... ¿digamos que estaba de vacaciones? sí, eso. vacaciones.



No, no. Piensa que esto no es lenguaje de alto nivel, es ensamblador. Aqquí la llamada a una función se realiza con una instrucción de 32 bits que suma
o resta a la dirección donde se encuentra la ejecución actualmente (contador de programa o pc) los bytes necesarios para acceder a la función a llamar.
Evidentemente, con 32 bits (de los que 10 se utilizan para indicar que la instrucción es una llamada) el rango del salto se limita a +-0x3FFFFF. Como una
ROM puede ocupar hasta 0x2000000 bytes, no se puede utilizar esta instrucción para ir a cualquier lugar de la ROM. Para esto hay que combinar las llamadas
con los saltos. Un salto, por decirlo de forma muy simplificada, en lugar de utilizar posiciones relativas al PC utiliza la dirección absoluta del inicio
de una función. Pero claro, una llamada implica volver a donde estabas con un simple return, un salto no. Por eso en muchos casos hay que combinar ambos
tipos de llamadas para obtener el resultado deseado.


nuive

ya, se entiende perfectamente.
Por lo que cuando quieres saltar hacia una función fuera de tu rango de salto tienes que hacer un doble salto no?

Ahora bien, cuando haces un doble salto, para retornar a tu punto inicial tienes que hacer el doble salto en dirección a la inversa? o con un puro return basta.... O es un doble return de hecho.



Y esto sin ir más allá porque claro, y si se modifica la pila en getPKMNData? Son muchas cosas a tener en cuenta a la hora de diseñar una función en ensamblador.

nuive

Sí, ya veo. Demasiadas cosas.
Tantas que incluso tienes que tener en cuénta quién va a llamar tu función, y cuáles son las necesidades de todos los callers que vas a tener y en qué contextos, para no sobreescribir sus registros, o el stack. Y si lo haces saber retornarlo a su estado anterior, si es que los callers potenciales lo van a utilizar.




Sí, las nuevas consolas ya tiran muchísimo más de RAM y esto no es un problema. No tengo ni idea sobre si hay algún tipo de limitación en cuanto al tamaño
o no, pero piensa que desde 3DS ya se pueden descargar juegos de forma legal desde la e-shop de Nintendo sin necesidad de un cartucho físico.

nuive

bueno, hablaba de un poco antes, la DS xd.
aunque verdad, la ds tenía la funcionalidad de "descarga ds" que literalmente descargaban software a ram fvía wireless y la DSI ya tenía dsiWare. hmm interesante.



Podría valer para los Pokémon de las dos primeras generaciones, copiando sus sonidos originales de los juegos de GB/c, pero los más recientes ya utilizan
sonidos irrecreables con ese método. Sin contar con que habría que diseñar todo un nuevo reproductor en ensamblador para ese tipo de sonidos. Visto así
no compensa mucho, no?


nuive

quien sabe si hay algún ocioso que ya lo hizo?
Porque admitámoslo, los pobres pokemon de las primeras generaciones cada vez sus sonidos al intentar hacerlos más nuevos son peores.

en la tercera a quinta gen son pasable, pero ya desde la sexta... o dio mio.



Lo que creo que no hay diseñado (o al menos yo no tengo ni idea de eso) es algún tipo de hardware y software (porque seguramente haría falta un componente
físico en caso de una GBA física) que por ejemplo, teniendo ROMs de 64 mb puedan asignar los 16 primeros mb a la región de memoria fija y los otros 16
irlos alternando según haga falta.


nuive

hasta ahora que yo sepa no hay, pero...de poder mandarle instrucciones al cartucho desde el programa del juego sí se puede.
Supongo que aprobechando los GPIO que tenían los cartuchos, utilizarlos las flashkart para que los hackroms inteligentes le mandasen instrucciones para cargar las nuevas porsiones de datos en el banco de memoria.

Pero... ñe, mucho lío xd.



Como dices, cosas del Closed source. No encontré ninguna rama del CFRU a parte de la original (aunque seguramente mil hacks la implementen) y si alguno
es open source lo que será open source será el propio hack, no la expansión CFRU como tal.

nuive

Um, pero al ser opensource un hack ¿no queda abierta también sus modificaciones al CFRU?
o da paja buscar entre tanta cosa. xd



Sí, son tonterías minúsculas, pero a mí me gusta que el sonido del juego suene por donde tiene que salir, no que me suenen los dos Pokémon por el lado
derecho. En una ocasión ocurrió que sacamos al mismo pokémon el rival y yo y claro, cuando cayó uno, puesto que los dos suenan por el lado del rival, no
sabía si era el mío o el suyo hasta que me apareció la pantalla de elegir otro pokémon. Cosas como esto son lo que yo estoy arreglando en Radical Red.


nuive

Ojalá ver al final los resultados de todo eso pronto smile
Andamos haciendo en youtube un stream del emeral the last dance, y seguir con el radical red, podría ser. jajajajaja.

Aunque bue. sería bonito que quedasen tus cambios en el juego oficial, pero quien sabe si te los tomen en cuenta uwu




Ahora bien... no todo es tan bonito. El trabajo de un módulo en Lua es bastante menos eficiente que en C. Bueno, el módulo como tal no, pero por poner
un ejemplo, yo intenté eliminar la DLL crc32 y convertir el módulo crc32.lua en un módulo que ya hiciera el cálculo CRC32 de las ROMs, y funcionó perfectamente.
Claro, sin contar que los 2 o 3 segundos que tardaba en inicializarse el script se convirtieron en casi 20 😂. Por eso, aunque si bien como módulos no
suele haber diferencias, siempre es importante probar, teniendo en cuenta el rendimiento, qué compensa más.


nuive

¿y por qué suelen ser más rápidas esas dll?

igual hace lua una compilación para ejecutar ese código directamente en vez de ser itnerpretado?

Como para que tenga... al menos esa ventaja.



Supongo que a nadie le interesó, la verdad. Sería un trabajo avismal. No solo es redirigir cosas a bibliotecas, es que Nintendo para los juegos de Pokémon
tira muchísimo de SDKs propios de Pokémon, y es bastante complejo. Quizás sería mucho más fácil portar los Mundo misterioso. De todos modos, cuando acabe
las respuestas tengo que añadir unas cuantas cosas a este respecto.


nuive

OK... supongo que hay algunas otras dependencias que no han podido resolver. uwu

Aunque mria, al menos para el emerald algo están intentando xd pokemerald pcPort



No volví a saber nada ni vi nada a este respecto en el GitHub de mGBA. Lo volveré a comentar a ver.

nuive

so sad




-Repositorios completos (ojo, repositorios, no solo código fuente) de Pokémon Platino, HeartGold/Soul Silver, Blanco y Negro, Blanco y Negro2 y Rubí Omega/Zafiro
Alfa. Además de esto, los códigos fuente de Let's Go, X e Y, Ultrasol y Ultraluna, Espada y escudo (con sus DLCs) y Leyendas. Arceus.
Y lo más llamativo. Un código fuente de las primerísimas versiones de Leyendas Arceus... para PC. Sí, yo no sé para qué o para qué no, pero resulta que
eso existe. No el juego final, pero sí una versión que de una forma o de otra podría servir como punto de partida para cosas... interesantes de ports para
PC.


nuive

sabes si por ahí algún... ser de pata de palo y un parche en el ojo logró recompilar esos repositorios completos?

Como para haberles ahorrado el trabajo a los decomp?



Y volviendo a lo de antes de los ports... este juego, el Leyendas Arceus, requiere un montón de SDKs de Nintendo e incluso hasta de NVIDIA. Por eso decía,
que por mucho que haya decompilaciones que se pueden compilar para GBA... no creo que la cosa sea tan simple en PC.

nuive

según decían rumores por ahí, era por cosas como esta xd; son builds para probar el juego en las máquinas de desarrollo de la empresa, que probablemente tienen cargados chips de NVDA similares a los de la swich, con lo que poder probarlos en pc directamente.
Por ello trabajan directamente con esos SDKS, en vez de los generales de windows, e incluso los juegos pre-compilados probablemente para funcionar sean totalmente hardware-dependiente muy específico sino no arranca. smile



Por como funciona el script y los emuladores con Lua, nuestra mejor opción sigue siendo el GitHub PRET, donde decompilan todo, ya que los scripts funcionan
a nivel de memoria y esas decompilaciones también. Mapear un código fuente nativo a direcciones de memoria sería una odisea.

nuive

y modificar el código fuente para hacer cositas interesantes?
Si son compilables no podrías trabajar derechamente con el código fuente?

Teniendo acceso al emulador. pues.... se pueden hacer cositas, muy interesantes. xd




Pero quien sabe... es algo útil de tener. Estas son las típicas cosas que hacen falta o vendrían bien dentro de 5 años, cuando ya sea complicadísimo encontrarlas
por ahí. De hecho, todo lo estaban subiendo a un Drive, y en un momento puntual me cuadró presenciar como según yo descargaba cosas, lo que había descargado
el día anterior iba desapareciendo según lo eliminaban desde google.


nuive

fuera de drive, quien sabe si alguien la habrá subido a algún otro disco online más... piratita.

Ya sabes, su torrent con tracker privado... cosas así



P.D.: Lo que tengo yo de las filtraciones ocupa 650 gb, y todo muy comprimido. Me faltarían como 200-250 gb de ROMs sin código fuente que no vi la necesidad
de descargar. Con todo lo que dice el filtrador que tiene y no va a publicar... o se lo está inventando o me da a mí que lo que salió de Game Freak fue
más de 1 tb...

nuive

se supone que era más de 1tb, pero...
vaya leacker si no avisó de lo mierdis que va a ser la gráfica del legends Z-A ¿no crees?
Bien que podría haber avisado eso jajajajaja.



Por cómo está diseñada la integración de Lua con mGBA va a ser difícil lograr la misma eficiencia que con VBA-RR pero bueno, se puede mejorar bastante
con respecto a como está ahora. Sólo con que quede, por ejemplo, 5 veces más lento que VBA-RR sin LuaJIT yo creo que sería suficiente, contando con las
optimizaciones que espero poder aplicarle al código del script, claro.


nuive

¿y por qué les quedó tan mal integrado el uno con el otro?

Poca prioridad en el loop de proceso del emulador en comparación al VBA? o que.



Así que aunque parezca que la cosa pinta fea, yo tengo bastantes esperanzas.

nuive

pues veamos como resulta; al menos suena bonito xd.

[quote]

Para no liar el mensaje, simplemente decir que intentaré reconstruir el módulo con un algoritmo eficiente y adecuado, lo que si resulta aportará grandes
beneficios al script. Eso sí, seguramente lleve tiempo, puesto que esto no es solo ajustar el algoritmo, es un efecto dominó que hará que tenga que cambiar
las funciones de búsqueda de caminos por completo, de primera a tercera generación, así que no creo que sea una cosa de 2 días.


[(quote]

buena suerte con eso, a ver como quedó xd

¿Y que tan mal estaba?
ni si quiera utilizaba backtracking? o que tan feo era xd

Aunque cuando dices roto ¿era porque había maneras de hacerlo fallar? o simplemente por su mala optimización




Espero que nadie me mate por el triple post. Si eso lo consolido todo en uno.

nuive

ñe, te doy carta blanca a ti (solo a ti) para que hagas quíntuple, séxtuble o centésimotuple post si ha de ser necesario smile



¿A alguien le da esto una pista sobre algo?

nuive

que estás trabajando mucho más de lo que parece con MGBA? y que el script ya está agarrando mucho vuelo con ese otro emulador?

xD

Bueno, aquí estamos luego de un buen rato; también perdón la demora nuive smile

Pero bueno ¡con ganas de oír más novedades de este proyectazo!


¡muchos saludos!


pd: OMFG más de 12000 caracteres en el post. xd. forito, no te mueras (?)
Re: Pokemon Access
GatitoLindo, vie abr 04 2025, 12:39A. M.

Hola,

Paso por acá para hacer una consultilla.

¿De casualidad alguien tiene los scripts o modificaciones que Nuive hizo para el Pokémon Crystal Clear? andube buscando por aquí, por el hilo de audiogames y no llegué a encontrar nada. No llegué a leer todo, es que el hilo de audiogames es muy grande y aquí los posts son algo largos... xd

Ahora resultaba que tenía eso en el primer post. Pero descargué el paquete del primer post y no encontré nada referente a eso, a pesar de que me pareció leer por ahí de que esos scripts o modificaciones adicionales venían con el paquete principal.

Pero nada eso, si alguien facilita esos scripts por acá se los agradeceré! En parte es por que no sueann los pasos y el pathfinder se rompe. Había una modificación en el antiguo pokecrystal para solucionar ese problemita, pero si no encuentro esto que es más reciente, menos encontraré ese mensaje para arreglar el problema en el script antiguo...

Saludos.
Re: Pokemon Access
Dekyo 音源, vie abr 04 2025, 06:51A. M.

Este era el link original que tiene los datos para Crystal Clear, sin embargo no sé si funcionaría con las últimas versiones. enlace

Pon la carpeta clear dentro de game\crystal y lo añades a la base de hacks como todos los demás.
Re: Pokemon Access
sanslash332, lun may 19 2025, 01:31P. M.

Hey @GatitoLindo

Te menciono por si a caso por si no viste la respuesta de

@Dekyo 音源

smile
Re: Pokemon Access
GatitoLindo, lun may 19 2025, 06:40P. M.

Hola!
gracias @sanslash332 por la mención, de echo si lo había visto hace un tiempito, solo que nunca llegué a postear los resultados y las gracias por facilitar lo que buscaba. ¡mal de mi parte!
Desafortunadamente, con las versiones más nuevas de Clear no funcionan los pasos, solo el pathfinder. Y aunque he podido jugar así, a lo ciego como lo hago con los juegos más nuevos de la franquicia (aunque con más ayuda en este caso con el pathfinder), estaría buena una actualización de esos scripts a las versiones mas nuevas del hack para disfrutarlo al máximo.
No llegué a saver para qué versión específica funcionaban esos scripts; por ahí busqué versiones anteriores y encontré la 2.0, y la 2.3, pero no funciona en ninguno. Actualmente, el Crystal Clear va en la 2.5.algo. creo que la más nueva que tengo es 2.5.10.
Re: Pokemon Access
sanslash332, mar may 20 2025, 03:34A. M.

@GatitoLindo

De nada jajaja, mejor así hablar un poco. que sirve para darle vida al thread.

De hecho, es bueno que por lo menos funcione el path finder. fome que esté sin los pasos, pero al menos algo es algo.

De hecho, una idea. ¿podrías subir un link por favor con el script+el rom actualizado del cristal clear?

me gustaría echarle una probadita al hackrom con el script funcionando. porfis.

Eso; saluditos.
Re: Pokemon Access
GatitoLindo, mar may 20 2025, 10:12A. M.

Hola

Bien, @sanslash332 acá los scripts, o bueno archivitos necesarios para el crystal clear (yo les digo scripts creo que mal xd) es el mismo link que arriba compartió @Dekyo 音源
enlace

Y acá la última versión que tengo del crystal clear (En smash, disponible por 7 días):
enlace

No entendí muy bien a que te referías con facilitarte los scripts, a lo mejor te confundiste con los archivos necesarios para el clear (mal ahí yo diciéndole scripts xd), pero eso.

Edito: Estas versiones nuevas del crystal clear tienen una introducción un tanto molesta, es mucho más personalizable que antes. puedes personalizar el personaje, con un sin fin de opciones. de echo creo que eso hizo que la selección de starters se hiciera inaccesible con la T, pero aun se puede saver que elejir por el sonido del Pokemon.
Re: Pokemon Access
Dekyo 音源, mar may 20 2025, 09:15P. M.

También me percaté de que los pasos no funcionaban como se debiese. A todo esto, me pregunto si es posible accesibilizar la parte de creación del personaje. Sé que no es tan importante porque son aspectos visuales y todo eso, pero la primera vez que jugué este hack hace 5 o 6 años me perdí en esas pantallas.
Re: Pokemon Access
Alejandro73, jue may 29 2025, 06:01P. M.

Para salir de la creación de personajes en Clear esperás a que baje el volúmen de la música, le das 4 flechas a la derecha y esa opción te crea un personaje con parámetros random.
Hablando de pathfinder, estuve jugando Pokemon Odyssey y funciona sorprendentemente bien! Pude hacer todo sin problemas hasta el tercer stratum, parece que el pathfinder no detecta caminos en las zonas que tienen saltitos. ¿Será el mismo problema que le afectaba a algunas rutas en Esmeralda? No es imposible de pasar, con mucha paciencia se logra porque el script sí muestra las salidas y podés darte una idea. Les recomiendo muchísimo ese hack, el 13 de junio sale la versión completa.
Re: Pokemon Access
Dekyo 音源, jue may 29 2025, 09:53P. M.

Hablando de hacks, el último que completé fue el Adventures Red chahpter, estuve casi una semana con ese. Hay algunos capítulos bonus que ni se activaron porque la ROM todavía tiene ciertos bugs en los triggers. Me he quedado con todas las ganas de poder jugar el Super Mariomon pero es un hack del Esmeralda que ya está muy cambiado. Tiene una "Mariodex" y otras cosas, música y referencias. ¡NOOOO por quéee! Hagan eso con Sonic porfa. Digo, si hasta existe un hack de Pokémon con personajes de DBZ... aunque no sé hasta qué punto está terminado, la última vez lo jugué hace 2 o 3 años.
Re: Pokemon Access
caspian, vie may 30 2025, 02:24P. M.

si, el odyssey está muy bien, yo tambien me quedé en el tercer stratum, no se si es posible avanzar más allá o no, llevo ya unos dias sin jugarlo por varios motivos, tengo que volver.
Re: Pokemon Access
Alejandro73, vie may 30 2025, 03:53P. M.

Ahora casi nadie hace hacks en Fire Red 1.0, todos se pasaron a Esmeralda o incluso Leaf Green 1.1.
También le tenía ganas al Mariomon, está súper bien hecho.
Re: Pokemon Access
GatitoLindo, mar jun 03 2025, 07:49P. M.

OMG el Super Mariomon estaba good; vi la otra vez un video del inicio del juego y otro del alto mando.

Me he percatado también de lo que decían más arriba, de que ahora muchos hacks están hechos con esmeralda u otras versiones incompatibles con el script. hay muchos hacks que andaba mirando en poke harbor, una página dedicada a los romhacks y otras cosas, y muchos parten de versiones incompatibles de esmeralda. Y hay varios que me llamaban tanto la atención...
Re: Pokemon Access
sanslash332, lun jun 09 2025, 01:46P. M.

Ups... @GatitoLindo
Me puedes subir otra vez el cristal-clear?
O mandarme el link de la página xd.

no vi el mensaje a tiempo y ya expiró el link de smash jajajaja. sooorry.

Ahora si lo miro rápido uwu

@Alejandro73

tomo nota del pokemon oddisey, suena bueno solo por el nombre.


Y gracias por los datos!

Y wa! ahí fui a ver el mariomon. ¡dios! se ve hermoso! xd

... Y al foro ya le dio la tontería; si miras el foro normalmente vez que este tema tiene solo hasta la página 18, cuando ya hay página 19 incluso. hay que llegar a ella manualmente con la barra de direcciones y es nefasto.

ARG. Ya veré como lo arreglo.
Re: Pokemon Access
Chema025, mar oct 28 2025, 10:53P. M.

Hola @nuive, Vengo a reportar un error, en Pokémon Cristal la vida del Pokémon no se lee en combate como en los otros juegos, por ejemplo, en un encuentro salvaje.
Gracias