Skip to content
Nystrata edited this page Nov 1, 2024 · 11 revisions

HUD GUI FRME Notes

This page is mostly just my loose collection of notes.

FRME files sets the layouts of GUI elements, such as visor widgets and some menu layouts.

Tools

Extracting FRME from PAK

Note

This will probably easier if you use PrimeWorldEditor to extract the game.
My method involves using PakTool, so the asset files are named by ID rather than decoded names.
See Known Files for the assets' IDs and decoded names.

The following instructions are for Windows. If you're using macOS or a Linux OS, you already know what you signed up for.

  • Use Dolphin to copy GGuiSys.pak from the game's file system into an empty folder.
    If you're interested in the Multiplayer UI data, you'll want to do this procedure with NoARAM.pak instead of GGuiSys.pak.
  • Copy PakTool.exe and zlib1.dll from the 16:9 HUD Mod into that folder.
  • In a CMD window, run these commands to unpack the PAK and create a list file:
    PakTool GGuiSys.pak
    
    PakTool -d GGuiSys.pak
    

You'll now have a new file called GGuiSys-pak.txt and a new folder called GGuiSys-pak with the relevant FRME, CMDL, TXTR, etc. files.

Viewing and Editing FRME files

  • Download and extract xchellx/three.js, then run editor.bat
    You'll need to install m3ng9i/ran before you can use editor.bat
  • Visit http://127.0.0.1:8080/editor/ in Chrome of Firefox
  • File -> Import, and then select the FRME file you wish to view
  • When all of the models load, you can now select them by clicking on them directly in the view port or by selecting their name in the Scene tab of the right sidebar
  • You can also edit the position, rotation, scaling, etc in the Object tab of the Scene sidebar
  • To export the edited hex, Edit -> Get Basis and Translation A window will appear with the relevant hex data text that you can now edit into the FRME file with a hex-editor.
    You can find info about the FRME file format at FRME (File Format) - Retro Modding Wiki.htm.

Rebuilding PAK from Extracted files

  • In the folder from with GGuiSys-pak.txt and GGuiSys-pak, in a CMD window, run
    PakTool -ra mp2 GGuiSys
    

The old GGuiSys.pak should now be overwritten with your changes.

You can use Dolphin or a tool (such as NODTool or GCRebuilder) to rebuild/edit the ISO with your new PAK.

Known Files

GGuiSys.pak

G2ME01 (NTSC) Files (named by PWE) G2ME01 (NTSC) Files (named by PakTool) G2MP01 (PAL) Files (named by PWE) G2MP01 (PAL) Files (named by PakTool) Identical in both versions
FRME_DarkVisorMask.FRME ec2e235d.FRME FRME_DarkVisorMask.FRME ec2e235d.FRME Yes
FRME_GenericMenu_0.FRME 9962a6f9.FRME FRME_GenericMenu_0.FRME 9962a6f9.FRME Yes
FRME_Helmet.FRME e6f37215.FRME FRME_Helmet.FRME e6f37215.FRME Yes
FRME_HudMessage.FRME d9c941c9.FRME FRME_HudMessage.FRME d9c941c9.FRME Yes
FRME_HudMessage2.FRME d03cf057.FRME FRME_HudMessage2.FRME d03cf057.FRME Yes
FRME_HudMessage4.FRME 82468e9f.FRME FRME_HudMessage4.FRME 82468e9f.FRME
FRME_LogBook.FRME * 5ba5589a.FRME FRME_LogBook_0.FRME * e0bca226.FRME
FRME_MapScreen_0.FRME * 834e8fa4.FRME FRME_MapScreen_1.FRME * baf48d93.FRME
FRME_MapScreenBackground.FRME ba8b6bb6.FRME FRME_MapScreenBackground.FRME ba8b6bb6.FRME Yes
FRME_MsgScreen_0.FRME * d4540f2a.FRME FRME_MsgScreen_1.FRME * 977252cf.FRME
FRME_QuitScreen1.FRME * 84f05cd4.FRME FRME_QuitScreen1_0.FRME * 96bc9b7d.FRME
FRME_QuitScreen2.FRME b1ef98f1.FRME FRME_QuitScreen2.FRME b1ef98f1.FRME
FRME_QuitScreen4.FRME 16db2ff9.FRME FRME_QuitScreen4.FRME 16db2ff9.FRME Yes
FRME_SamusHud1Ball.FRME 88738d60.FRME FRME_SamusHud1Ball.FRME 88738d60.FRME Yes
FRME_SamusHud1Combat.FRME * eef43aa1.FRME FRME_SamusHud1Combat_0.FRME * b5cf0c19.FRME
FRME_ScanHudFlat_0.FRME * f7ec0850.FRME FRME_ScanHudFlat_1.FRME * d9d58fa5.FRME

* indicates difference in PWE named files between region versions.

Note

FRME_SamusHud1Combat.FRME and FRME_SamusHud1Combat_0.FRME have data for Combat Visor, Dark Visor, and Echo Visor.

FRME_QuitScreen2.FRME is not identical across versions despite having the same ID. The PAL version of this contains a widget that is vertically stretched compared to the NTSC-U version.

Standard.ntwk (Tweaks) in G2ME01 (NTSC)

  • TweakGui: Misc: Unknown (BallViewportYReduction)
    • In a hex editor, 4 byte float at 0x05F6
      image
    • In PWE Tweak's Editor,
      Tools > Edit Tweaks > TweakGui Tab > Misc
      image
    • Set this to 0 to remove viewport black bars in Morph Ball mode
            <Element Type="Float" ID="0xEEB7839B">
                <DefaultValue>0.2</DefaultValue>
            </Element>