Table of Contents

SM64 Editor

The SM64 Editor contains tools for importing levels, changing music, editing RAM banks, adding water boxes, and making many other tweaks.

Dialogs

Import Settings

The Import Settings tab contains the controls for importing a new level from Wavefront OBJ format (.obj/.mtl files).

Level Settings

The Level Settings tab contains controls for terrain, music, environment, background, fog, and entry point.

RAM Bank

The RAM Bank tab allows selection of the RAM banks for objects and enemies that can be placed in the level.

Collision

The Collision tab configures the collision type for each material type in the level model.

Special Material

The Special Material tab allows adding of water boxes, lava, haze, and scrolling textures.

ROM Settings

The ROM Settings tab contains many general ROM settings such as starting level, camera, checksum, start lives.

Miscellaneous

The Miscellaneous tab contains everything else, like boss star positions, trajectories (e.g. Koopa-the-Quick),


It also contains some nice tools for managing tweaks, a dialog editor, a hex editor, and applying PPF patches.

Music Settings

Changes Made to ROM

As of version 1.9.3S (but prior to version 2.0), when loading a new SM64 ROM, it performs the following actions:

  1. Runs M64ROMExtender.exe to decompress MIO0 Compression blocks and extend ROM to 24MB
  2. Runs rom_expand_64.exe to further extend to 64MB
  3. Applies obj_import18S.ppf
    1. clear checksum verification infinite loop
    2. override unused Behavior12 with copy and clear code
    3. update reference to sequence bank (0x7B0860 → 0x2F00000)
    4. update reference to instrument set table (0x7CC620 → 0x7F0000, len: 256 → 512)
    5. changes whomp's star spawn location (why?)
    6. TODO: 0x8FC → 0x4000, _pool_alloc() → 0x80750000
    7. replace LevelCommand 10 and 17 with function 80401500
    8. reduce Mario's shadow size from 0x64 to 0x46 (why?)
    9. inserts music menu names in unused space
  4. applies “collision improvements fix”
    1. 1000C8: LI T6,0x4000 → LI T6,0x7FFF
  5. applies “music volume bug fix”
    1. 12A788: 00B40046 → 00960064
    2. this seems to be adjusting some shadow size in geo layout?
  6. additional music settings and sequences
    1. relocate music from 0x02F00000 to 0x03E00000
    2. replace call to soundAlloc/0x80317040 with hardcoded 0x803D0000