Layouts: Difference between revisions
(More infoooooo) |
No edit summary |
||
Line 2,197: | Line 2,197: | ||
|} | |} | ||
== | == Unused content == | ||
In both games The LayoutManager code has an unused function called <code>LayoutManager::cRemoveString</code> which refers to a table containing <code>16x9</code> and <code>4x3</code>. This could mean that if the game could load layouts based on their filename when displayed in either 16:9 or 4:3 aspect ration. For example, if the layout TitleLogo16x9.arc and TitleLogo4x3.arc existed and the game was displayed in 4:3 aspect ratio, then TitleLogo4x3.arc would be loaded and the other version ignored. While being leftover in the code, this function does not work and could be an early development leftover since RLYT files can set a widescreen tag for each pane to determine unique behaviour for any aspect ratio. | |||
LoadIcon (SMG2) | |||
SuddenDeathMeter (SMG & SMG2) | |||
== Fonts == | == Fonts == | ||
List of all fonts used |
Revision as of 12:04, 11 April 2024
This page is in progress and may contain incomplete information or editor's notes. |
---|
This page lists all known information about Layouts (often referred to as HUD or UI) found in Super Mario Galaxy (SMG) and Super Mario Galaxy 2 (SMG2).
The information may apply to other Nintendo games with more or less accuracy.
File formats
Layouts consist of several filetypes created by Nintendo:
.arc (RARC - Revolution ARChive)
Every Layout is stored in a Yaz0 compressed RARC archive (indicated by the .arc file extension). These archives hold subfolders including the required files that make up a Layout. Those subfolders are:
anim | Contains .brlan files |
blyt | Contains a .brlyt file. A few layouts use multiple |
font | Contains .brfnt files. This folder is rarely seen but functional |
timg | Contains .tpl files |
A technical breakdown of this file format can be found here.
.brlyt (RLYT - Revolution LaYouT)
The main controller for a Layout is the RLYT file (indicated by the .brlyt file extension). It consists of multiple sections:
Textures | A list of all used .tpl files (textures) |
Fonts | A list of all used .brfnt files (fonts) |
Materials | A list of all materials alongside their settings. Materials can alter the appearance of textures |
Hierarchy | A treeview-like list of all panes |
Panes make up the structure of a Layout. There are different types of panes:
Null Pane | An empty and invisible pane, sometimes acting like a folder for other panes |
Picture Pane | This pane type references a material (and thus at least one texture) with additional control over the position, size, scale, rotation and visibility of which |
Text Box Pane | A pane that controls how glyphs from a font are rendered. It can control the position, size, scale, rotation, visibility, kerning and coloring of the text |
Window Pane | Provides essentially the same settings as a Picture pane but allows textures to be rendered as a frame with 4 corners |
Boundary Pane | Could be called "Hitbox Pane" for simplicity. This pane is invisible to the player but provides feedback when hovered with the pointer |
A technical breakdown of this file format can be found here.
SMG and SMG2 have a feature that allows panes to be ignored based on the game language. Mostly this applies to Text Box Panes, but it works for all other types as well. For example, if the panes TxtStart
, TxtStartJpJa
and TxtStartUsEn
exist under the same parent pane and the game is set to Japanese, then TxtStart
and TxtStartUsEn
will be ignored and only TxtStartJpJa
gets rendered. When the game is set to German, then TxtStart
is used and the other two are ignored. This is used to deal with special cases where a language requires more space for words. Mostly such language specific text panes are created for the Japanese, Korean and Chinese speaking regions in order to account for changes in the fonts (like glyph height and width). The following table lists all possible suffixes alongside the language its from:
Language | Pane suffix | Language folder |
---|---|---|
Chinese (traditional) | AsTr | AsTradChinese |
Chinese (simplified) | CnSi1 | CnSimpChinese |
Dutch | EuDu2 | EuDutch |
English (american) | UsEn | UsEnglish |
English (european) | EuEn | EuEnglish |
French (american) | UsFr | UsFrench |
French (european) | EuFr | EuFrench |
German | EuGe | EuGerman |
Italian | EuIt | EuItalian |
Korean | KrKo | KrKorean |
Spanish (american) | UsSp | UsSpanish |
Spanish (european) | EuSp | EuSpanish |
1 the Korean version of SMG contains many layouts with this pane suffix, however a chinese version was never released for the Wii. They are however used in the Nvidia Shield TV version of SMG
2 while technically possible, this suffix is not used anywhere due to the Dutch folders containing purely English files
This table furthermore shows that a correlation exists between the pane suffixes and the language folders. In order to determine such a pane, the game reads the first 4 letters of the used language folder.
.brlan (RLAN - Revolution Layout ANimation)
For every different animation, a Layout contains one RLAN file (indicated by the .brlan file extension). It can control the position, size, scale, rotation, visibility, coloring and many more settings of a pane on a keyframe basis.
A technical breakdown of this file format can be found here.
.tpl (TPL - Texture Palette Library)
Textures for Layouts are mostly stored in TPL files (indicated by the .tpl file extension). It allows images to be stored in many different formats which affect the color count and resulting filesize of the texture.
A technical breakdown of this file format can be found here.
.brfnt (RFNT - Revolution FoNT)
Fonts are stored in RFNT files (indicated by the .brfnt file extension). This format contains the image data of the letters alongside additional information such as font size, width, baseline, ascend line and some more.
A technical breakdown of this file format can be found here.
.bti (BTI - Binary Texture Image)
A few other textures are stored in BTI files (indicated by the .bti file extension). This format can only store one texture per file but supports the same formats as TPL.
A technical breakdown of this file format can be found here.
Explain terms like pane, SFL (STationedFileList = File is always in RAM), ...
Explain references to non exising fonts like MessageFont26kor.brfnt
Elaborate on unused behaviour of layouts (especially SuddenDeathMeter) or 16x9/4x3 behaviour
List of Layouts
Below is a full list of all Layouts found in SMG and SMG2 alongside relevant information.
Super Mario Galaxy + Super Mario Galaxy 2 (Nintendo Wii)
Super Mario 3D All-Stars: Super Mario Galaxy (Nintendo Switch)
Layouts found in the Nintendo Switch version of SMG that do not exist in or differ significantly from the Nintendo Wii version.
Layout | Directory | Fonts used | Notes | Image |
---|---|---|---|---|
BallGuidanceReplace | LayoutData | The textures were changed and increased in height. In the archive they show a hand holding a Wii Remote (top) and two hands holding a white Nintendo Switch (bottom). However these textures are replaced at runtime with higher resolution textures showing a hand holding a Joy-Con (top) and two hands holding a grey Nintendo Switch (bottom) | ||
SpinGuidanceReplace | LayoutData | This layout was not changed from the Wii version, however the Switch version replaces the textures at runtime with images of a hand holding a Joy-Con | ||
TiltGuidanceReplace | LayoutData | The textures were changed and increased in height. In the archive they show a hand holding a Wii Remote (top) and two hands holding a white Nintendo Switch (bottom). However these textures are replaced at runtime with higher resolution textures showing a hand holding a Joy-Con (top) and two hands holding a grey Nintendo Switch (bottom) |
Super Mario Galaxy (Nvidia Shield TV)
(ToDo: Talk about all language folders from the Wii existing in this game while being unused)
Below is a list of Layouts found in the Nvidia Shield TV version of SMG that do not exist in or differ significantly from the Nintendo Wii version.
Layout | Directory | Fonts used | Notes | Image |
---|---|---|---|---|
antiAddiction | CnSimpChinese | Used during the boot sequence of the game. | ||
BallGuidance | LayoutData | Almost identical to BallGuidanceReplace from the Wii version, however the textures show a Wii Remote without the Jacket pulled over. This implies that the archive was originally removed from the Wii version due to updated security guidelines. This layout remains unused in the Nvidia version | ||
Censorship | CnSimpChinese | Unused. It includes icons of an A button found in the Wii version, implying that this layout was originally planned to be included in a Wii version of SMG translated to chinese which never released | ||
ErrorMessageWindow | LayoutData | messagefont26.brfnt | Instead of being embedded into the executable, this layout was moved to LayoutData in the Nvidia version | |
GameOver | CnSimpChinese | The texture was translated into chinese, spelling "游残結束" | ||
HomeButton | CnSimpChinese | RevoIpl_UtrilloProGrecoStd_M_32_I4.brfnt | While being unused, every texture was translated into chinese, implying that a chinese translation for SMG was originally planned to be released on the Wii | |
ISBNLayoutData | CnSimpChinese | IsbnFont_00.brfnt | This unused layout contains the same disclaimer as the Censorship layout while filling the ISBN spots with numbers from the embedded font | |
MoviePlaceHolder | LayoutData | Likely a development leftover. This layout contains textures with the name of each movie file on them | ||
nintendoLogo | LayoutData | Used during the boot sequence of the game | ||
nvLogo | LayoutData | Used during the boot sequence of the game. Unlike most layouts this one contains two brlyt files, namely "nvlogo.brlyt" and "warningesrb.brlyt", both of which only render the Nvidia Lightspeed Studios logo to the screen | ||
SpinGuidance | LayoutData | Almost identical to SpinGuidanceReplace from the Wii version, however the textures show a Wii Remote without the Jacket pulled over. This implies that the archive was originally removed from the Wii version due to updated security guidelines. This layout remains unused in the Nvidia version | ||
SpinGuidanceReplace | LayoutData | This layout was not changed from the Wii version, however the Nvidia version replaces the textures at runtime with images of an X button; the button used for spinning on the Nvidia Shield controller | ||
StaffLetterNV | LayoutData | The functionality to send an image to the Wii Message Board was removed from the Nvidia version. Instead it shows the letter directly when talking to Toad in the final level | ||
TiltGuidance | LayoutData | Almost identical to TiltGuidanceReplace from the Wii version, however the textures show a Wii Remote without the Jacket pulled over. This implies that the archive was originally removed from the Wii version due to updated security guidelines. This layout remains unused in the Nvidia version | ||
WiiRemoteStrap | CnSimpChinese | Almost identical to WiiRemoteStrapReplace from the japanese Wii version, however the textures show a Wii Remote without the Jacket pulled over. This implies that the archive was originally removed from the Wii version due to updated security guidelines. This layout remains unused in the Nvidia version | ||
WiiRemoteStrapReplace | CnSimpChinese | This layout contains textures translated into chinese, implying that a chinese translation for SMG was originally planned to be released on the Wii |
Unused content
In both games The LayoutManager code has an unused function called LayoutManager::cRemoveString
which refers to a table containing 16x9
and 4x3
. This could mean that if the game could load layouts based on their filename when displayed in either 16:9 or 4:3 aspect ration. For example, if the layout TitleLogo16x9.arc and TitleLogo4x3.arc existed and the game was displayed in 4:3 aspect ratio, then TitleLogo4x3.arc would be loaded and the other version ignored. While being leftover in the code, this function does not work and could be an early development leftover since RLYT files can set a widescreen tag for each pane to determine unique behaviour for any aspect ratio.
LoadIcon (SMG2)
SuddenDeathMeter (SMG & SMG2)
Fonts
List of all fonts used