TRASLA

From GameBrew
TRASLApp
Trasla2.png
General
AuthorAxido
TypeHack Utilities
Version1.1.0
LicenseMixed
Last Updated2023/03/16
Links
Download
Website

TRASLApp (formerly TRASLA), also knonw as Teleport Randomizer And Solution Lookup Application plus plus, is a program that implements four key concepts that make it a powerful tool for Pokémon warp randomization:

  • Tracker - Keep notes of warp connections encountered in your playthrough.
  • Checker - Read the warp connections from your ROM file directly if you can't find a certain location.
  • Customizer - Whether you want to introduce shortcuts to your Pokémon game or create a specific challenge, you can use TRASLA to do this.
  • Randomizer - Last but not least, this tool let's you randomize warps and write the results to a ROM.

The application has been coded using the Gamemaker: Studio 1.4 IDE. However, It is occasionally ported over to Gamemaker Studio 2 for non-Windows exports (Android and MacOS).

Features

  • Reading warps from already randomized ROM files.
  • Randomizing warps.
  • Creating custom mappings manually (not recommended, though).
  • Writing warps to ROM files (obviously).
  • Decent note-keeping abilities, in case you just want to use TRASLA as a visual spreadsheet for Pokémon randomizer runs.
  • Seed generation and difficulty modes in beta.

User guide

Currently supported platforms:

  • Windows (including WINE and Proton on Linux).
  • MacOS.
  • Android.

Currently supported games:

  • Pokémon Crystal
  • Pokémon Emerald
  • Pokémon Fire Red / Leaf Green
  • Pokémon Platinum
  • Pokémon HeartGold / Soul Silver
  • Pokémon Black 2 / White 2

Currently supported ROM languages:

  • German.
  • English.
  • French.
  • Italian.
  • Spanish.
  • Japanese for Emerald and Fire Red / Leaf Green.

Compatibility with other Pokémon randomizers (i.e. UPR) may vary depending on the game and settings selected within the other randomizer. Just keep in mind that HM orders and file structures of the unmodded games have been taken into account.

Some modifications may break support, others may work fine. It is highly advised that you use savestates when playing warp randomizations, since unexpected soft locks can still occur, even though any known ones have been taken care of.

Screenshots

trasla3.pngtrasla4.png

Changelog

1.1.1

  • Important note: For better search engine compatibility, the application has been renamed to "TRASLA plus plus" or "TRASLApp" for short along with its 1.1.0 release. The former acronym TRASLA was chosen intentionally, but since Google isn't case sensitive by default, search results for said name would first and foremost result in lots of German entries about the Pokémon Ralts. The new name hopefully fixes that while keeping the name true to its origins. If you suggest the application to people who haven't heard of it yet, please refer to it as TRASLApp in order to make it easier for them to google it.
  • Added warp randomization for Black 2 and White 2.
  • B2W2 fixes applied upon writing warps.
    • Move a great amount of NPCs and triggers that would block paths in normal gameplay. Not every roadblock has been removed, but if you just apply the fixes without altering warps, the experience comes closer to an open-world game.
    • The usual map fixes that allow the use of Fly, Escape Rope and Bike on every map.
    • Various script fixes to keep the game from crashing at cutscenes that play upon entering specific maps (including Aspertia, Driftveil, Mistralton, Pokéwood and Lacunosa)
    • Aspertia warps are being blocked by NPCs until a starter Pokémon is given to the player. Please keep in mind that the warp to the Pokémon Center initiated by Bianca is a scripted warp. The actual PC entrance may still be randomized. Please note: As always, scripted warps are not being tampered with, but the randomizer accounts for them.
  • Fixed a bug in a script that was added in 1.1.0, which checks customized randomizer classifications. The bug in the script lead to some of the built-in randomizer classifications not being recognized as viable.
  • Added more functionality to the warp type menu to make it more convenient.
    • Warps of a group can now be scrolled through using the mouse wheel and arrow keys.
    • The menu now remembers cursor position in all warp groups.
    • Warps selected while the warp type menu is opened will show action buttons underneath them. Those can be used to apply warp types more quickly.
  • Added Japanese ROM support to Emerald and FRLG. B2W2 should support all available language versions right out of the box.

1.1.0

  • First MacOS version release, which has all the features of the Windows version. Intel-based release, so it may require Rosetta 2 on Apple Silicon machines. For compatibility reasons the "Open TRASLA Main Folder" button doesn't open the folder directly, but instead opens a file selection dialog inside that directory.
  • Fonts have been upgraded from ASCII-128 to ASCII-256, so that more unusual letters are being displayed
  • The Android version of TRASLA should now use the intended folder to save and load mappings
  • Reduced the amount of draw calls in order to increase performance, especially when lots of warp connections are being drawn at once.
  • Minor fixes to the randomizer logic for more stable randomizations
  • More warp information has been added to the info box on the right side of the screen. You can now see the classifications of warps used in the randomizer logic. This makes it easier to find bugs in case an invalid randomization is created.
  • The randomizer logic is now customizable by altering the classifications (or "warp types") of warps on the map. This includes functions to create, save and load custom classifications. Please customize the randomizer logic with caution, as there is a lot to keep in mind in order to avoid potential soft or hard locks. When in doubt, you can always use the original randomizer logic. More info about warp classifications and the randomizer logic can be found in the "information hub" section of TRASLA's Discord server.
  • For the aforementioned customization of the randomizer logic a warp menu has been added. Please note that drawing connections between warps is deactivated altogether while the warp menu is open to avoid accidental connections while customizing warp types.
  • If you prefer to use a specific custom logic all the time and don't want to load it manually each time you start TRASLA, you can name it [default string for the game]_default.wtcf (HGSS_default.wtcf for Heart Gold / Soul Silver, Emerald_default.wtcf for Emerald and so on...) and place it in TRASLAs main directory. TRASLA will then try to load the file immediately when entering a map. Loading a B2W2_default.wtcf like that on the B2W2 map also enables the randomizer functionality on said map (so if anyone wants to complete the warp classifications for that map, feel free to do so).
  • Mandatory warp connections are now available for custom randomizer classifications. Two warps forming a mandatory pair will always be connected to each other. Please note that each mandatory group needs to contain either zero or two warps. Any other number will throw an error.
  • One-Way warps have been rewritten to lead back to themselves when entered. Since all warps in the original randomizer logic cannot be entered at all (due to being the targets of pitfalls or certain teleporters), this may only make a difference in customizations of the randomizer logic. Maybe you'll find an interesting use case for this yourself.
  • Warps in custom mappings can now lead back to themselves as well. A button for that has been added in the lower right part of the screen.
  • Reorganization of UI buttons to keep the map screens a bit cleaner (all loading and writing functions are now part of a menu accessible through a floppy/disc button in the top left corner)
  • All .trsl files (aka savestates) are now accessible from within the app and can be used in any order. Since this introduces the potential to accidentally overwrite mapping files, the application keeps one backup of each slot that would otherwise be overwritten.

Emerald-related:

  • Added support for Japanese ROM files.
  • Moved an NPC in the first floor of Mossdeep Space Center as it was possible to soft lock by entering the room from the door he guards.

FRLG-related:

  • Added support for Japanese ROM files.

HGSS-related:

  • fixed a bug that would cause the Ecruteak Pokémon Center warps to act in unintended ways.

1.0.3

  • Introducing the new TRASLA Android version. The application has been modified to work on smartphones and tablets. The changes made to the Android version don't affect the Windows version and are as follows:
    • Introduced a side-bar to change the effect of touch input on warp markers
    • Added Buttons for zooming in and out
    • File handling has been reworked to work with Android devices (which, however, is a bit more restricted than on Windows). If you gave the app the required permission, you should be able to find a TRASLA folder on either your internal device storage or your SD card storage. That's where your base ROMs need to be in order to be processed and where TRASLA outputs files to. In case you gave the permission and the folders are still missing on either location or if ROMs placed inside them are not being found, please report this on TRASLAs Discord channel (accessible using the link on the main screen of the app). Please also state your device (manufacturer, model) and the Android version you are running.
    • TRASLA Android: minimum requirements (for usage up until Platinum): Android 5 or above, 2GB RAM or more, integrated GPU
    • TRASLA Android: recommended requirements (for usage with HGSS and above): Android 8 or above, 3GB RAM or more, integrated GPU

FRLG-related:

  • Moved NPCs blocking doors in Cerulean City and Saffron City due to the possibility of them soft locking the player if the warp leading to said doors is either a pitfall or a warp pad.

B2W2-related:

  • Relocated some warps on the B2W2 map that were not placed on their intended positions.

1.0.2

  • Minimized the number of uncharted warps on the FRLG map in order to increase compatibility with randomizers that make warps target the wrong tiles in house interiors (it honestly disappoints me a bit that this is even necessary). This change also added the Safari Zone and the Battle Tower interiors, which are not being randomized as before.
  • In order to visualize warps that are the target of linked warps (which are usually found underneath their base warp and can be uncovered by holding ALT while dragging them), the sprite of the warp is slightly different (the deep red part is turquoise in those cases).
  • Fixes to the code to further decrease the chances of impossible randomizations.

1.0.1

  • Fixed the map graphics for the Emerald map.
  • The Black2 / White2 map that was already hidden in the last release is not hidden anymore due to a possible surge in demand.
  • Linked warps (which are usually hidden behind the warps they are linked to) can now be moved by holding ALT and dragging them. This was added to further improve compatibility with other warp randomizers.
  • To improve said compatibility even more, special areas with uncharted warps have been added to the maps. Therefore, all warps in all the supported games are accessible (which still doesn't mean that all of them are safe to be accessed).
  • Minor improvement to the collision checks done to prevent triggering warp marker actions if the marker is behind a UI button.

1.0.0

  • To better reflect all the features of the application, TRASLA (the Teleport Randomizer Assistant Solution Lookup Application) has been renamed to TRASLA (the Teleport Randomizer And Solution Lookup Application)
  • When hovering over a button, a small description is being shown in the bottom left corner of the screen.
  • Randomizers now have different difficulty settings, EASY, NORMAL and HARD
    • EASY: Important warps (Gyms, E4, Champ, Red, HM locations and Legendaries) will only be connected to warps not requiring HMs. Gyms that require HMs inside will be modified so that HMs shouldn't be required at all. Also, legendary Pokémon are easier to encounter.
    • NORMAL: Just as it was before.
    • HARD: When building the randomization, unimportant dead ends will be incorporated first (in EASY and NORMAL, they are added at the end), which basically means that important warps will have a higher chance to require HMs or certain events in order to be accessed. Depending on the game some "fixes" that are present in EASY or NORMAL difficulty might not be applied here to further increase difficulty.
  • SEED SUPPORT! Randomizations will generate seeds if applied to a ROM immediately after being generated. Send those seed files to others and let them experience the same randomization that you had. You can also input seeds by hand. Any seed should produce a viable randomization, so you could input anything that comes to your mind. Random combinations of words, beer ad slogans or Elon Musk tweets. You are merely limited by your imagination... and a maximum of 500 characters per seed.
  • The support for Fire Red and Leaf Green v1.1 US ROMs that has been added with 0.9.9.5 now actually works... hopefully.
  • A visual bug has been fixed that would occur if another randomization was created after saving a randomization to a ROM file. This was due to linked warps being updated right before the warps were written to a file, but not when they were randomized. Since this was just a visual issue, the bug had no effect on the validity of a randomization, even though it looked weird.
  • Another round of small fixes to the code to further decrease the chances of impossible randomizations.
  • Finally fixed a bug with the camera movement when using the right mouse button to pan and the mouse wheel to zoom simultaneously.
  • Added a settings menu for customizing keyboard controls and managing debugging options (like deactivating fixes applied to ROMs). Please don't use the debug settings only for research purposes, but not for actual randomizer runs.
  • Since the screen is now stuffed with buttons due to the new
  • Added warp randomization for HGSS.
  • HGSS fixes applied upon writing warps:
    • Kyogre, Groudon and Rayquaza are accessible in both versions and won't require their respective orbs.
    • The Arceus event in Sinjoh ruins is accessible without Arceus. Just make sure you have less than 6 Pokémon in your party.
    • As in Crystal some tasks have been made easier for EASY and NORMAL difficulties. If you seek a proper challenge, try the HARD difficulty, which only has fixes that prevent hard locks.
    • (Please note that due to the coding of pitfalls in HGSS, those are not being randomized. That also means less one-way warps. )

Platinum-related:

  • Made a small fix on the Platinum map screen. Hopefully, the Platinum gyms are now represented in the right order. Anyway, the third, fourth and fifth gym can be tackled in any order.
  • Maylene decided to skip training day and won't leave her gym for a walk to Snowpoint City anymore. That means that players can now safely traverse Route 217 before having beaten her.
  • The path to the Rotom room inside the Eterna Galactic building should now be unblocked from the start. The related warp has been reclassified accordingly.

FRLG-related:

  • Minor adjustments for the newly added EASY and NORMAL modes.

Emerald-related:

  • Even though the issue with Wattson not being inside his gym anymore after beating Norman has been taken care of in 0.9.9.4 in some way, a new fix now has him stay inside the gym for good, so the New Mauville sidequest is completely optional now.

Crystal-related:

  • All warps in Rock Tunnel, Mt. Silver, Dark Cave and Whirl Islands are now classified so that they couldn't lead to Sprout Tower 3F (the room in which the player is given the HM for Flash) or the inside of the Violet City gym. This change had been made due to dark areas being way harder to navigate than in subsequent games.
  • Rewrote the fixes for Ho-Oh and Lugia, since those didn't work properly. Also moved Lugia down six tiles in order to omit its Surf requirement.
  • Also omitted the Squirtbottle requirement for Sudowoodo, so that its battle can be triggered without the bottle. This makes it easier to aquire Rock Smash as well.
  • Moved the Rocket Grunt blocking Slowpoke Well, since players could potentially miss the event that moves him.
  • Due to a similar reason you can now walk past the guy selling Rage Candy Bars in Mahogany.
  • Fixed an automatic movement event in the Mahogany Rocket Hideout that could move the player out of bounds.
  • Fixed a few warps that wouldn't be linked correctly, resulting in some two-tile warps leading to

different destinations depending on the tile the player used.

  • Moved three triggers out of the way that would otherwise push back the player, one being next to the Butterfree lady inside the gate above Ilex Forest, one being below the Rage Candy merchant in Mahogany and one being the old man at the exit of the house leading to Tin Tower.

0.9.9.6

  • Fixed a warp at the southern gate to Saffron city that was not being randomized correctly and lead to a bug where people could get.
  • Took the three isle path out of the randomizations, because you could soft lock on the right side of it.
  • Moved the scientist at the Dotted Hole entrance in order to prevent another possible soft lock.
  • More fixes to the code to further decrease the chances of impossible randomizations.
  • (experimental) Added randomizer support for Pokémon Crystal (did anyone catch the hidden WIP room in 0.9.9.5?).
  • Crystal fixes applied upon writing warps:
    • The usual player movement fixes applied to the Elite Four rooms.
    • The player receives the means to summon Celebi (including the flag usually set by Kurt).
    • The item requirements for Lugia and Ho-Oh have been omitted (Lugia still requires Surf, though).
    • The Snorlax in front of Diglett's Cave will now attack if the Radio is NOT playing the Pokéflute (this change has been made in order to avoid a possible soft lock).
    • Morty, Jasmine and Misty will not require their respective side quests to be fulfilled. Blue, however will still need to be encountered on Cinnabar Island (since this is a comparatively minor task). Keep in mind that beating Claire might be part of the usual warp randomizer challenge, but that her Badge is awarded inside the house in Dragon's Den, which is also being randomized.
    • Not really a fix, but the hidden stairs in Tin Tower 1F will not be randomized due to the Suicune encounter script that would produce strange results if the player warps into the building that way. Future revisions of TRASLA may or may not rewrite the script in order to implement a better solution.
    • Removed the guard that blocks the way to Mt. Silver until the player got all Kanto badges

(the other guard, which blocks the way to Route 22 will vanish after the encounter with Snorlax in Vermillion just like in vanilla Crystal).

    • moved the old man at the entrance of Dragon's Den in order to avoid a possible soft lock
    • CAUTION: Due to the way maps work in Pokémon Crystal, a fix to allow for Fly and Teleport on every map has not been implemented yet. Just changing the map types of every map would result in some NPC sprites being replaced with the player's sprite, which honestly creeped the hell out of me the first time I saw it. This shouldn't be a dealbreaker.

0.9.9.5

  • Added support for Fire Red and Leaf Green v1.1 US ROMs.
  • Added a button that opens TRASLAs save directory so that you don't have to navigate to it manually anymore.
  • Added a folder structure to the save directory (the "seeds" folder is a placeholder for now, since some form of seed generation is being worked on).
  • Improved ROM writing speeds significantly.
  • Minor fixes to the code to further decrease the chances of impossible randomizations.
  • Added support for writing to Platinum ROMs as well as a Platinum randomizer
  • Platinum fixes applied upon writing warps:
    • All warps have their warp type turned into "Warp Pad" in order to avoid walking out of bounds

(Please note that the Valley Windworks key will still unlock the warp, but you have to stand in front of the door and press A in order to trigger the prompt).

    • All maps allow for the use of Fly, Escape Rope and Running Shoes.
    • Barry's initial script in the player's room has been substituted for some different code in order to change some variables and flags (and because I hate Barry anyway for uninvitedly storming the player's room).
    • NPCs that block entrances have been moved in order to avoid soft locks (some of these still intentionally block their warps and require further events to be triggered in order to leave their spot).
    • Additional note: If you get warped to the hidden part of the Eterna Galactic building 1F before aquiring Rotom and the secret key, you are not stuck, even if seems like you are. You can move back into the warp, even though you cannot see your character.
    • The problem of Cynthia being unable to give the HM for Cut to the player after Jupiter in the Eterna Galactic building has been defeated has been taken care of.

0.9.9.4

  • (experimental) Emerald randomization support (including all fixes you'd expect from other randomizers).
  • Also moved Norman one tile up whenever he's in the first room of Petalburg Gym, since starting his gym battle from behind him doesn't trigger the event that rewards the player with HM03 (Surf) afterwards.
  • Also also made the New Mauville gate accessible so that players have a chance of fixing the "Wattson outside Mauville Gym" bug that occurs when beating Norman prior to Wattson.
  • Also also also made Deoxys and Registeel accessible.
  • Fixed the loading of saved mappings (bytes have been read in the wrong order before the fix).
  • Reworked the Platinum map to be more organized.
  • Minor fixes to the code to further decrease the chances of impossible randomizations.

0.9.9.3

  • Fixed a bug that would mess up a randomization with a massive link (lots of warps targeting the same warps, even ones that are not supposed to be randomized at all) with a 1:20 chance.
  • Created additional buttons for loading warps from ROM files (just like pressing F2) and writing warps to ROM files (just like pressing F12).
  • Minor map improvements.

0.9.9.2

  • Reclassified some FRLG warps in order to avoid possible softlocks.
  • Updated the FRLG map to better reflect some HM requirements.

0.9.9.1

  • Initial release.

External links

Advertising: