Skip to content

Uses libgambatte JNI bridge from mrwint/gb-tas-gen to bruteforce RTA-viable Gen 1/2 RNG manips

Notifications You must be signed in to change notification settings

jhertz/gb-rta-bruteforce-1

 
 

Repository files navigation

gb-rta-bruteforce

jhertz modifications/notes

this has been modified to build w/ clang

the SConstruct file will need to be changed in order to point to your Java8. luckily its just a nice python script and is a hell of a lot easier to change than a cryptic autogen'd makefile.

for dependencies, you need: java8, scons, sdl (not sdl2), clang (use xcode on osx) and ant. you can install them all with homebrew (on osx), or apt-get on debian linuxes.

Credits

This code wouldn't be possible without the work of MrWint's gb-tas-gen which the JNI libgambatte bridge is taken from.

Most of the code has been written by Dabomstew.

Disclaimer

Spaghetti code all over the place, this code isn't really meant for public consumption but others have kindly volunteered their CPU time to run it so I'm sharing it anyways.

Overview

This is a bruteforce bot originally created to find God Nidorans for Pokemon Red/Blue RTA speedruns. It can be adapted to find desired encounters in other places too.

There are also implementations for checking IGT0 frames for Mt. Moon manipulations, as well as TID manipulations for Red/Blue and Crystal.

The bot runs a modified libgambatte as a core, and spits out giant log files to be combed over manually.

Installation (Linux/Mac)

You'll need some prerequisites: ant, scons, libsdl1.2-dev, as well as a Java (8+) and a C compiler.

Clone the repository, build the JNI interface by running ant in libgambatte/java/, and then compile gambatte by running scons in libgambatte/. You might need to change some paths in libgambatte/SConstruct for the JNI because I'm lazy like that.

After that you can put/link the compiled libgambatte library into your library path (e.g. /usr/lib) to have it be detected by the Java runtime, and then fire up your favorite Java IDE and start using it.

Installation for Windows

Check out this guide by piapwns.

You should skip the step relating to editing SConstruct and you don't need to rename cyggambatte.dll anymore.

Basic Usage

The framework is written in Java, so it's easiest to use with Java (or compatible languages).

Main programs are in NidoBot/ShrewBot/LassIGT0Checker/MoonIGT0Checker/CrystalTIDManip/RedBlueTIDManip .java files. Each of these programs can be modified for custom manip needs.

Currently, the programs are set up expecting a roms folder to be created in the root directory. The expected names for the ROMs are: pokered.gbc, pokeblue.gbc, pokecrystal.gbc, and gbc_bios.bin (for the GBC bootrom).

About

Uses libgambatte JNI bridge from mrwint/gb-tas-gen to bruteforce RTA-viable Gen 1/2 RNG manips

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 67.8%
  • Java 23.0%
  • C 7.0%
  • Assembly 2.0%
  • Other 0.2%