Skip to content

Gate removal in translated ROMs #2

@Prof9

Description

@Prof9

The MMBN Randomizer removes any gates that can block progression if you do not have certain chips or a certain amount of chips. However, it does so by writing straight into compressed text archives. As such, it will fail if the text archive has been moved or modified, which is the case in translated ROMs such as the Rockman EXE 4.5 translation and exeguy11's Rockman EXE 6 translation.

There are various ways to solve this:

  • Add exceptions for every translation. This is obviously far from ideal, and not future-proof at all.
  • Patch the ASM code of the chip/library checking script commands to always return true. This may, however have unforeseen consequences.
  • Dynamically search through specific text archives in the ROM for the chip/library checking commands, and patch them. This is probably the ideal solution, but difficult to implement. The problem here is that many of the text archives in question are compressed, so they would either need to be recompressed, or the decompressor must log the offset of the commands in the compressed archive while unpacking it. Both of these have their own inherent difficulties.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions