Mail has been fixed; you should now be able to confirm your e-mail address, watch pages, and the like.
Please report any issues on Discord.

Super Mario Party

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Super Mario Party

Developer: Nd Cube
Publisher: Nintendo
Platform: Nintendo Switch
Released internationally: October 5, 2018


DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
MusicIcon.png This game has unused music.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.


Super Mario Party is the 16th game in the Mario Party series, which is considered to be a reboot of the franchise and brings back the original board game format from the first eight entries and a few returning characters from modern entries.

Except Toad and Toadette.

Test Stage

A simple test stage found in /test/test_actor/t04_act_mane.

SMPTestMap.jpg

(Source: Atlas)

Placeholder Text

unlock.nxonnx32.bea\flow\unlock\placeholder.csv contains the following text:

This file simply has the following text: このファイルは、アーカイブリスト用のプレースホルダーです。ゲーム用データが追加されたら消去してください。 which translates to: "This file is a placeholder for the archive list. Please delete it when game data is added."

(Source: Atlas)

Unused Graphics

Super-Mario-Party-dummy1.png Super-Mario-Party-dummy2.png
Two sizes of a dummy image, used in numerous spots throughout the game.

Super-Mario-Party-Placeholder-Map-1.png Super-Mario-Party-Placeholder-Map-2.png Super-Mario-Party-Placeholder-Map-3.png
Three placeholder images that say "Map 2", "Map 3", and "Map 4" respectively. They follow a single, presumably used map image.

Super-Mario-Party-Placeholder-Title-Logo.png
A placeholder for the title logo, aptly named menu_titlelogo. The text translates to "Title".

Super-Mario-Party-test-cubemap.png Super-Mario-Party-test-nearclip.png Super-Mario-Party-test-shadowmap.png
Three placeholder images used for shader testing.

Super-Mario-Party-Temp-Controller-Guide-1.png Super-Mario-Party-Temp-Controller-Guide-2.png Super-Mario-Party-Temp-Controller-Guide-3.png
Three placeholder controller guide images. Each one says "temporary" on the bottom right.

Super-Mario-Party-Temp-Controller-Guide-4.png
An additional controller guide image with crudely drawn players.

Super-Mario-Party-Dummy-Image.png
Another dummy image found in the files of the game.

(Source: Random Talking Bush, Ehm)

SMP Debug.png
A screenshot taken during development with Debug tools enabled, a Windows mouse cursor is present, proving the screenshot was originally taken off a PC.

SMP-Gatedoodle.png
A cute doodle of the entrance to the fairgrounds. Named yeah_practice_bg_alb.

SMP-BirdseyeFair.png
A very simplified bird's eye view of the main HUB world. Named ground_test_alb.

SMP-Unused1.png SMP-Unused2.png

SMP-Unused3.png SMP-Unused4.png
Some other miscellaneous textures.

SMP-EarlyMenuScreenshot.png
A seemingly early version of the Minigame selection screen.

SMP-CutBoard.png
A screenshot named test_ps_01 that shows a completely unused board named "Sky Building."

(Source: Ziella)

SMP-StarPriceItem.png Bds001 icon item128 04uout.png
Two early item icons. One might have been used in an early version of Kamek's Tantalizing Tower, while the other seems to be an early version of the Coinado.

(Source: justcamtro)

Unused Models

SMP-Arrow.png SMP-Arrowtexture.png

test_arrow has an arrow... probably for testing. Complete with a texture!

There are also duplicates of bdr001_balloon_01, bdr001_dice_single00_01 and bdr001_mass50_01 called test_balloon_01, test_dice_single00 and test_mass50 respectively.

Filename Oddities

The file names for the playable characters each have a corresponding ID at the beginning of the name, but there are some gaps. Specifically, IDs 08, 09, and 57 are missing. These IDs correspond to Mario Party 10's internal character IDs. 57 would have been Blooper, but that character was turned into a non-playable character for Super Mario Party. Additionally, 08 and 09 would have been Toadette and Toad respectively.

Some effect files have "10stars" in their name. "10stars" is Mario Party 10s codename, so these are probably reused from that game.

(Source: Atlas, Random Talking Bush, Ehm)

Internal Project Name

Super Mario Party's internal project name is "buffet", according to RomFS\.nrr\buffet.nrr and the string E:\work\buffet\buffet\Programs\Outputs\NX64\buffet\NX_Master\buffet.nss in the code.

(Source: Atlas)

Empty MSBT File

Mess/bin/XXxx/notused.msbt is a completely empty MSBT, it only has the default MSBT data without any form of text grouped or not.

Debugging Features

The game has a large variety of debugging features in the LUAs and executable code, some LUA files are missing on the final release, but are mentioned in CSVs and executable code.

LUAs

Hmmm...
To do:
List all the functions.

A large portion of them have debugging features mentioned but they are hidden from normal users, it is currently unknown on how to enable them. DBParam (Debug parameter) text and number values are also handled, setting them to unique ones (often less than 0) appears to enable/disable unique settings or change parameters for the game/unique area(s), these include disabling timers, modifying time, enabling friendly fire, printing a log, showing a debug display, object debug logs and more. Log outputs are sometimes in Japanese.

Mariothon Score Editor:

Hmmm...
To do:
Show this in-game.

The file mgm003.lua mentions EDIT SCORE printed and prints out >> as its cursor, the Left Stick moves it, it can also target specific players, A/B adds/loses 10 points (going beyond will reset to 0), X/Y adds/loses 100 points (going beyond will lock the score at 1000) and R ends the score editing mode. The method to call it will be private to prevent online cheats.

Executable Code

The game's executable mentions these debugging features and calls:

  • DevSystem.nxonnx32.bea
  • SetDevAnimationArchive
  • BezelDevControllerImGui
  • DevControllerImGui cannot be used before initializing Engine.
  • Start DevCamera
  • DevCamera
  • ./PseudoArchive/
  • SetShowDebugGuiEnable
  • Show Entity Info
  • Show Script GC Profiler
  • Show Profile Meter
  • Show Load Meter
  • Show UI in DevMode
  • Show Dashboard Always
  • Enable DevMode
  • Frame Advance of devmode
  • Enable ViewerCamera When DevMode
  • Dice::DiceRollDebug(%d) pid_=%d, diceId_=%d, faceNum_=%d, diceNum_%d, coinNum_=%d\n

Leftover Mario Party 10 Audio

Hmmm...
To do:
There may also be leftover/recycled audio in BFSARs, search them.

Just like bringing over previous textures (and forgetting to use some of them), the game also has some BFSTMs related in the ROMFS filesystem, with the start of the name as: TEST, which are often full music from the previous game (or reused in this game), some have durations cut. The few with the 10S (10stars) mentioned in the name proves the file being originally used in Mario Party 10.

  • TEST_SM_BGM_BDS001_RES_WINNER.dspadpcm.bfstm is the Who Won? music, this is unused.
  • TEST_SM_BGM_MGM02_A.dspadpcm.bfstm is a cut version of the Coin Challenge theme, removing some intro length.
  • TEST10S_SM_JIN_BDS001_OP_SM_JIN_BD001_OP.dspadpcm.bfstm is the Welcome to Mushroom Park theme.
  • TEST10S_SM_BGM_BDS001_RES_SM_BGM_SBD001_RESULT.dspadpcm.bfstm is the Nice Job! theme.
  • TEST_SM_BGM_QUE000_OP.dspadpcm.bfstm is the Picture Time! theme.

Demo Leftovers

Various files in the BEA archives have been named and/or mention(s) a demo, these are likely files from the E3/PAX demo versions of the game and are leftover in the final game.

Developer Notes

menu_starbattlesingles.lxml

The file in flow\menu\layout_lyt\xml has a developer documentation in on how to create layout-based XMLs and an internal developer documentation webpage by Mr. Yoshida. It has this info.

Cacti speak Japanese.
...But what does it mean?
This game has text or audio that needs to be translated. If you are fluent with this language, please read our translation guidelines and then submit a translation!
<?xml version="1.0" encoding="utf-8"?>

<!-- 
*****************************************************************************
  ここではメニュー用レイアウト読み込みlxmlの書き方を簡単に説明します。
  とりあえず自分が使っていく中でわかっている部分のみになりますので、間違ってたらスミマセン。
  わからない部分がありましたら田中健か吉田さんに聞いて頂ければと思います…
*****************************************************************************
-->


<!--
【そもそもこれはなに】
    menuでは、通常のmp::ui2dLayoutクラスを用いずに、menu::LayoutBaseクラスを用いることが多いです。
    そのLayoutBaseクラスの読み込みと各種セッティングを一発でやってくれるすごいやつが、LayoutBase::CreateFromXml()関数です。
    そんなCreateFromXml()関数で使用するxmlファイルが、このファイルです。

【UICursorとUICursotItemについて】
    このファイルを読む前に、とりあえずUIカーソルとはなんぞやということをわかっておくと良いと思われます。
    RedmineのWikiに吉田さんが書いてくださった「UIカーソル」という記事がありますので、こちらを参照ください。
    ( http://ndspdev02/redmineXS/projects/xstars/wiki/UI%E3%82%AB%E3%83%BC%E3%82%BD%E3%83%AB )

【slotについて】
    LayoutBaseクラスには、アニメーションスロットが用意されています。
    このスロットにアニメーションを登録しておくと、UICursorを使用した際など、自動的にアニメーションが再生されます。 
    In()やOut()でもアニメーションが再生できるようになるほか、user枠などもあるので便利です。

    slotには、
    in, idle, out, back, on, off, press, press_idle, user0, user1, user2...user9 が用意されています。
    
-->


<!-- 
  読み込むレイアウトの情報を指定します。

 -> name  : CreateFromXml()の第二引数に指定する名前です。nameとbflytを同じ名前にする必要はありません。
 -> arc   : 使ったことないですが恐らくmenuでないarchiveを指定したい場合はここでできると思われます…
 -> bflyt : 実際に読み込む.flytファイルのファイル名です。
-->
<layout name="menu_cs_pos_00" arc="" bflyt="menu_cs_pos_00">

  <!-- アニメーションの登録 -->
  <animation>
  
    <!-- 全体アニメーション -->
    <!-- 
    【全体アニメーションについて】
        ここでは、読み込んだレイアウト自体のアニメーションを設定できます。
        (menu_cs_pos_00.flytにはアニメーションがないので、以下にコメントでサンプルを書いてみました

    【例】
        menu_cs_pos_00.flyt全体のアニメーションを設定します。
        inスロットに、"in"アニメーションを指定します。ペインアニメーションではないので、paneは空欄です。
    -->
    <!--
    <a slot="in" tag="in" pane="" />            <!--例  >
    <a slot="idle" tag="normal" pane="" />
    <a slot="out" tag="out" pane="" />
    -->

    <!-- パーツアニメーション -->
    <!--
    【パーツアニメーションについて】 
        パーツアニメーションでは、指定したパーツのアニメーションを設定できます。
        パーツ名を指定する <parts> で囲って、そのパーツのもつアニメーションをスロットに登録していきます。
        UICursorを使用する場合、on/offやpressidle/pressなどのアニメーションが自動的に再生されるため、
        とっても便利です。

    【例】
        pos_btn_00というパーツのアニメーションを設定します。
        pressスロットに"press"アニメーションを指定します。ペインアニメーションではないので、paneは空欄です。
        こうすると、UICursorを使って「決定」されたとき、自動的に"press"アニメーションが再生されるようになります。
    -->
    <parts name="pos_btn_00">
      <a slot="idle" tag="normal" pane="" />
      <a slot="on" tag="on" pane="" />
      <a slot="off" tag="off" pane="" />
      <a slot="press" tag="press" pane="" />          <!--例-->
      <a slot="pressidle" tag="cursor" pane="" />
    </parts>
    <parts name="pos_btn_01">
      <a slot="idle" tag="normal" pane="" />
      <a slot="on" tag="on" pane="" />
      <a slot="off" tag="off" pane="" />
      <a slot="press" tag="press" pane="" />
      <a slot="pressidle" tag="cursor" pane="" />
    </parts>
    <parts name="pos_btn_02">
      <a slot="idle" tag="normal" pane="" />
      <a slot="on" tag="on" pane="" />
      <a slot="off" tag="off" pane="" />
      <a slot="press" tag="press" pane="" />
      <a slot="pressidle" tag="cursor" pane="" />
    </parts>
    <parts name="pos_btn_03">
      <a slot="idle" tag="normal" pane="" />
      <a slot="on" tag="on" pane="" />
      <a slot="off" tag="off" pane="" />
      <a slot="press" tag="press" pane="" />
      <a slot="pressidle" tag="cursor" pane="" />
    </parts>
  </animation>
  

  <!-- カーソルアイテム情報 -->
  <!-- 
  【カーソルアイテム情報について】
      カーソルアイテム情報を使うと、UICursorで使用される"UICursorItem"を、LayoutBase::NewCursorItems()一発で作成することができます。
      "cursoritem name" で指定する名前は、NewCursorItems()の引数に指定される名前です。
      これは一つのレイアウトから複数パターンのカーソルアイテム群を生成したい時に便利ですが、省略することもできます。

  【例】
      com0という名前で、UICursorItemを作成します。
      当該レイアウト(menu_cs_pos00.flyt)にある、pos_btn_00というパーツの、win_00というペインに対して、UICursorItemを作成しています。
  -->
  <cursoritem name="">
    <it name="com0" parts="pos_btn_00" bd="win_00" />     <!--例-->
    <it name="com1" parts="pos_btn_01" bd="win_00" />
    <it name="com2" parts="pos_btn_02" bd="win_00" />
    <it name="com3" parts="pos_btn_03" bd="win_00" />
  </cursoritem>

  <!-- テキスト情報 -->
  <!-- 
  【テキスト情報について】
      テキストボックスには大抵メッセージラベルを指定します。その作業を自動化してくれるのがここです。
      しかし、「プログラムで分岐して代入をしてください」、などの作業があったりするので、その場合は適材適所で使うといい感じだと思われます。
      
      また、"devtext" で直接文字列を代入できるので、メッセージラベルが用意される前などでも便利です。以下で使っているのはその例になります。
  -->
  <text>
    <t pane="pos_btn_00/x_text_random" devtext="map1 / 10turn" />
    <t pane="pos_btn_00/x_text_random_shadow" devtext="map1 / 10turn" />
    <t pane="pos_btn_01/x_text_random" devtext="map2 / 15turn" />
    <t pane="pos_btn_01/x_text_random_shadow" devtext="map2 / 15turn" />
    <t pane="pos_btn_02/x_text_random" devtext="map3 / 20turn" />
    <t pane="pos_btn_02/x_text_random_shadow" devtext="map3 / 20turn" />
    <t pane="pos_btn_03/x_text_random" devtext="map4 / 20turn" />
    <t pane="pos_btn_03/x_text_random_shadow" devtext="map4 / 20turn" />
  </text>

</layout>

Elsewhere

Other notes are also in CSVs, other LXMLs and LUA print logs, often in Japanese but sometimes English, archives in BEAs always have none.