punk7890 / Star-Fox-64-Randomizer

A Star Fox 64 randomizer with a variety of options. Coded entirely in ASM and is hardware compatible.
MIT License
23 stars 2 forks source link

Star-Fox-64-Randomizer

A Star Fox 64 randomizer with a variety of options. Coded entirely in ASM and is hardware compatible.

Beta Version Notice

This is currently in beta. Expect bugs. Please report any you may find.

Setting Up:

  1. Grab the latest beta: https://github.com/punk7890/Star-Fox-64-Randomizer/releases

  2. Expansion pack (or 8MB set on emulators).

  3. An US 1.0 version of the game. NOTE: The game dump needs to be in Big Endian byte order or patching the ROM cannot be done (you'll get an error in the ROM extracting tool). If you get an error, you can try byteswapping your ROM with this online tool: https://hack64.net/tools/swapper.php

  4. xdeltaUI https://www.romhacking.net/utilities/598/

  5. xdaniel's SF64toolkit https://github.com/xdanieldzd/ozmav/tree/master/sf64toolkit (or precompiled: https://drive.google.com/file/d/1Sz1Z5G3CKK7WAetVAo0GxX92_nNQn0sN/view?usp=sharing )

Patching:

  1. Move your SF64 V1.0 (U) rom into the SF64toolkit folder and open SF64toolkit then type (without quotes) "loadrom ROMNAME".

  2. Type "extractfiles", hit enter key, then type "createrom NFXE\layout.txt", hit enter key.

  3. Your rebuilt ROM should be in NFXE\rebuilt.z64

  4. Open xdeltaUI and apply "rando.xdelta" to your rebuilt ROM.

In some cases, like on Project 64, the emulator will need to be set to use Interpreter Core in order to access the randomizer menu. Likely the prefered emulator would be Mupen for this mod as it appears to run at full speed.

For Contributing

You will need the ARMIPS exe to compile your code changes for testing. Grab it here and select the latest automated build: https://github.com/Kingcom/armips

  1. Run Compile-log.bat (this also outputs a log file for useful debugging)
  2. Copy the bytes from "Randomizer.bin".
  3. From your already modified DECOMPRESSED ROM (rando.xdelta patch already applied), paste the bytes in "Randomizer.bin" to your ROM at 0x00EFB0B0. Make sure you aren't adding bytes, but overwritting existing bytes at that location.
  4. Save and test your edits.

Changing Options

Once the patch is applied, press L button at the main menu to toggle options on or off. Use the D-Pad Up / Down to move the white cursor on the left side of the screen. Press A to change the state of an option.

The Options (April 23 2022)

Page 1 Options:

STARFOX64_0000

Page 2 Options:

STARFOX64_0004

Note: The player must have entered at least one planet at some point during the game session for these to work.

L + R + C-Left = 99 lives.
L + R + C-Right = 9 bombs.
L + R + C-Up = Complete level (may not work correctly in some cases).
L + R + C-Down = Restore health and wings.
L + R + B = Kills the player.
L + R + A = Add Hypers.
L (Hold) + Z (Tap): Enables or disables extra damage hyper lasers (bosses only).
L (Hold) + D-Pad Left (Tap) = Invincibility.
L (Hold) + D-Pad Right (Tap) = Enable or disable debug text display.
D-Pad Up + C-Up + Start = Reset to title screen.