If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Mario & Sonic at the London 2012 Olympic Games

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Mario & Sonic at the London 2012 Olympic Games

Also known as: Mario & Sonic at London Olympics (JP), Mario & Sonic aux Jeux Olympiques de Londres 2012 (FR)
Developer: Sega Sports Japan
Publishers: Nintendo, Sega
Platforms: Wii, Nintendo 3DS
Released in JP: December 3, 2011
Released in US: November 15, 2011
Released in EU: November 18, 2011
Released in AU: November 17, 2011
Released in KR: June 21, 2012


AnimationsIcon.png This game has unused animations.
DevTextIcon.png This game has hidden development-related text.
ModelsIcon.png This game has unused models.


So very stubbly.
This page is rather stubbly and could use some expansion.
Are you a bad enough dude to rescue this article?
Hmmm...
To do:
  • Fully investigate the William.cpk/WilliamTest and William.cpk/WilliamSurfRide/Test directories.
  • Test maps (early version of the stadium model) can be found in William.cpk/WilliamTerrain, named a*_test.arc
  • Test font in William.cpk/WilliamSurfRide/fonttest
  • The executable has references to many strings refering to debug stuff (SetDebugFlag, GAMEDEBUGEDIT_, etc), and also assertion strings.

The third game in the series. It's a Mario and Sonic crossover...but not the kind the fans wanted.

Build Dates

Hmmm...
To do:
Add the revision number for the rest of the versions. Also add the the early build dates for all of the other versions.

Found in buildtime at the root of the filesystem. It's preceded by what appears to be a revision number, and also the region.

USA Europe Japan Korea
Sep 14 2011 13:07:46
42734EU 
Sep 15 2011 13:08:58
Sep 22 2011 22:10:30
Sep 22 2011 22:28:16

Another build date for seemingly an earlier version of the game can be found in William.cpk/William/builddate.

Europe
42715EU 
Sep 14 2011 13:26:11

Debugging Menus

Character Viewer

A fully functional character viewer can be found in the game. It is controlled by the file CHARA_VIEWER.rso, found in William.cpk/rso

It includes many options to view characters and effect models and animations, along with many additional settings, such as modifying the speed of the animations, choosing the level of detail, among others. This can also be used to preview all map models for the game, even the unused ones.

To fully use this function, a Wii Remote + a Nunchuck has to be used:

Controls Action
Control Stick Rotates the camera
Control Stick + C Moves the camera up or down
Control Stick + Z Moves the camera towards the left, right, forwards and backwards
+ Resets the camera position

It is possible to access this menu by replacing the aforementioned .rso file with another one of a sport. Alternatively, this code will replace the Badminton sport with this menu:

Europe
Gecko Code
0452d568 43484152
0452d56c 415f5649
0452d570 45574552
0452d574 00000000

Unit Test

A semi-functional debug menu can be found in the game. It is controlled by the file UNIT_TEST.rso, found in William.cpk/rso

It includes many options, most of which either crash the game or don't show nothing when selected. When an option is selected, press + to go back to the main menu.

Below are some of the options that don't crash the game:

Option Description
Challenge Displays various "CHALLENGEID_" strings. Its purpose is unknown.
GameEndAdvice Shows all of the advice cards for every sport. A different language can be selected by pressing the B button.
Network While it doesn't display anything to the screen, it seems to be trying to connect to the network, according to Dolphin's log.
PeripheralMotionPlus While this option does not seem to do anything, its name is very interesting. Perhaps it was planned to add Wii Motion Plus support in the game?
Vibration Test the vibration of the Wii Remote. Press A for a weak vibration, and B for a strong one.

It is possible to access this menu by replacing the aforementioned .rso file with another one of a sport. Alternatively, this code will replace the Beach Volleyball sport with this menu:

Europe
Gecko Code
0452d578 554e4954
0452d57c 5f544553
0452d580 54000000
0452d584 00000000
(Source: $$$Link)

Unused Models

Mario

Hmmm...
To do:
Add a video of the animations.
MSL2K12OG Marilowpoly.png

A low-poly version of Mario, found in William.cpk/William/Test.brres, assumed to be used for testing. It has two textures and three animations.

Start Gate

Mario Sonic 2012 Unused Gate Anim.gif

Assets for an unused start gate from the game's prequel can be found in William.cpk/WilliamTest/startgate.

Download.png Download Uncompiled Start Gate Asset Files
File: Mario Sonic 2012 Uncompiled Star Gate Files.zip (16 kB) (info)


Notably, this directory also contains uncompiled versions of these files that were meant to be loaded using a series of Nintendo's own middleware tools named NintendoWare. These includes several parameters, such as the date of creation and author.

Unused Graphics

Winter Olympic Leftovers

Mario Sonic 2012 Winter Leftovers 1.pngMario Sonic 2012 Winter Leftovers 2.pngMario Sonic 2012 Winter Leftovers 3.png

Texlist_0001.tpl in William.cpk/WilliamSurfRide/Test/3Dshop2 contains leftover graphics from the shop seen in the game's prequel.


Test Graphics

ActionParkTest.tpl.png

Found in William.cpk/ScreenShot, ActionParkTest.tpl appears to be a test graphic for the London Party mode. This is found amongst the graphics that are used as the background before starting an event, so perhaps this graphic was the one that was once used before starting a round of London Party. It appears similar to the one that's seen, however this one appears to be at night time.

Mario&Sonic London2012 Ligmap test.png

Found in William.cpk/Test/startgate, based on the name, ligmap_test.brtex is very likely a test light map texture. It is supposed to be used by the unused start gate model, as a reflection texture for the metal bars.

Unused Scripts

User Configuration

3 unused scripts can be found at the root of the filesystem, some of which reference debug flags and development versions of the game.

_ConfigUser.spt

-- ユーザー個人環境用環境設定
function Configure()

-- SerialOut Setting ---------------------
-- 起動時には全て 0
-- 0:false
-- 1:true
------------------------------------------
--	SetSerialOutput("Camera"		,1)
--	SetSerialOutput("Character"		,1)
--	SetSerialOutput("Collision"		,1)
--	SetSerialOutput("Debug"			,1)
--	SetSerialOutput("Effect"		,1)
--	SetSerialOutput("File"			,1)
--	SetSerialOutput("Gadget"		,1)
--	SetSerialOutput("Graphics"		,1)
--	SetSerialOutput("Mii"			,1)
--	SetSerialOutput("Module"		,1)
--	SetSerialOutput("Network"		,1)
--	SetSerialOutput("Peripheral"		,1)
--	SetSerialOutput("Placement"		,1)
--	SetSerialOutput("Resource"		,1)
--	SetSerialOutput("Sound"			,1)
--	SetSerialOutput("System"		,1)
------------------------------------------

-- DebugFlag Setting ---------------------
-- 起動時には全て 0
-- 0:false
-- 1:true
-- 人 ------------------------------------
--	SetDebugFlag("FUKUDA"			,1)
--	SetDebugFlag("HIRATA"			,1)
--	SetDebugFlag("KAGAWA"			,1)
--	SetDebugFlag("KIRINO"			,1)
--	SetDebugFlag("KUBOKI"			,1)
--	SetDebugFlag("MATSUYAMA"		,1)
--	SetDebugFlag("NAGASE"			,1)
--	SetDebugFlag("NAITO"			,1)
--	SetDebugFlag("NISHIMORI"		,1)
--	SetDebugFlag("OKADA"			,1)
--	SetDebugFlag("SATO"			,1)
--	SetDebugFlag("TAKAHASHI"		,1)
--	SetDebugFlag("TOYOSHIMA"		,1)
--	SetDebugFlag("YANAGISAWA"		,1)
-- 部品 ----------------------------------
--	SetDebugFlag("CHARACTER"		,1)
--	SetDebugFlag("DISABLE_PERIPHERAL_CHECK"	,1)
--	SetDebugFlag("DRAW_CAMERA"		,1)
--	SetDebugFlag("DRAW_CAMERA_COLLISION"	,1)
--	SetDebugFlag("DRAW_MENU_COLLISION"	,1)
--	SetDebugFlag("JOB_SEPARATE_TASK"	,1)
--	SetDebugFlag("PLACEMENT_DISP"		,1)
--	SetDebugFlag("PLACEMENT_LOAD_HOST"	,1)
--	SetDebugFlag("REPLAY_NOTBUTTON"		,1)
--	SetDebugFlag("SOUND_DISABLE_BGM"	,1)
--	SetDebugFlag("SOUND_DISABLE_SE"		,1)
--	SetDebugFlag("TRACE_NETWORK_SDK"	,1)
--	SetDebugFlag("TRACE_NEW_DELETE"		,1)
--	SetDebugFlag("UPLOAD_FABRICATE_RECORED"	,1)
--	SetDebugFlag("GAME_NOT_TIMEUPEND"	,1)
-- 表示制御 ------------------------------
--	SetDebugFlag("DISABLE_2D"		,1)
--	SetDebugFlag("DISABLE_CHARACTERS"	,1)
--	SetDebugFlag("DISABLE_OBJECTS"		,1)
--	SetDebugFlag("DISABLE_TERRAIN"		,1)
------------------------------------------

-- Romversion ----------------------------
	SetRomVersion("DEVELOPMENT")
--	SetRomVersion("PROTOTYPE")
--	SetRomVersion("FIRST")
--	SetRomVersion("INLINE3")
--	SetRomVersion("INLINE3_EVALUATE")
--	SetRomVersion("EVENT")
--	SetRomVersion("OCTOBER")
--	SetRomVersion("ALPHA")
--	SetRomVersion("BETA")
------------------------------------------

-- MyGame --------------------------------
-- タイトルメニューの一番上に表示される競技
--	SetMyGameIndex("Run100m")
--	SetMyGameIndex("Hurdles110m")
--	SetMyGameIndex("Run4x100Relay")
--	SetMyGameIndex("LongJump")
--	SetMyGameIndex("Hammer")
--	SetMyGameIndex("Discus")
--	SetMyGameIndex("Javelin")
--	SetMyGameIndex("UnevenBars")
--	SetMyGameIndex("Trampoline")
--	SetMyGameIndex("Ribbon")
--	SetMyGameIndex("Swim100m")
--	SetMyGameIndex("SwimSynchro")
--	SetMyGameIndex("Pistol")
--	SetMyGameIndex("Fencing")
--	SetMyGameIndex("TableTennis")
--	SetMyGameIndex("Canoe")
--	SetMyGameIndex("Equestrian")
--	SetMyGameIndex("Bicycle")
--	SetMyGameIndex("FootBall")
--	SetMyGameIndex("Badminton")
--	SetMyGameIndex("BeachVolley")
--	SetMyGameIndex("DreamSprint")
--	SetMyGameIndex("DreamHurdles")
--	SetMyGameIndex("DreamLongJump")
--	SetMyGameIndex("DreamDiscus")
--	SetMyGameIndex("DreamUnevenBars")
--	SetMyGameIndex("DreamTrampoline")
--	SetMyGameIndex("DreamSwim")
--	SetMyGameIndex("DreamSynchro")
--	SetMyGameIndex("DreamFencing")
--	SetMyGameIndex("DreamSailing")
--	SetMyGameIndex("DreamEquestrian")
--	SetMyGameIndex("DreamBicycle")
------------------------------------------

end

Config.spt

function Configure()
	SetRomVersion("DEVELOPMENT")
end

ConfigDebug.spt

function Configure()
	SetBackGroundColor(48, 64, 32);
	SetRomVersion("DEVELOPMENT")
end

Source Code Remnants

TestFile

This file, found in William.cpk/WilliamTest, contains C++ code for handling DVD files. It's original filename was DVDFileHandle.cpp according to one of its comments.

#include <Precompile.h>
/**
 * @file  DVDFileHandle.cpp
 * @brief DVDファイルハンドル
 *
 * @author Mitsuru Takahashi
 *
 * Copyright(C)SEGA
 */
#define INCLUDED_DVDFILEHANDLE_CPP

#include <Main/System/File/Detail/DVDFileHandle.h>

#include <string>
#include <csl/align.h>
#include <csl/heap.h>

#include <Main/System/Heap.h>

namespace Main {
namespace System {
namespace File {
namespace Detail {

/**
 *  @brief  DVD 読み込みのファイルハンドル
 **/
class CDVDFileHandle : public CFileHandle {
public:
    /// コンストラクタ
    CDVDFileHandle(const char* i_pFileName);
    /// デストラクタ
    virtual ~CDVDFileHandle();

    /**
     *  @brief  準備完了したか
     *  @retval true    した
     *  @retval false   してない
     **/
    virtual bool IsReady() const;

    /**
     *  @brief  データ個数を取得
     *  @return データ個数
     **/
    virtual Uint32 GetDataCount() const;

    /**
     *  @brief  データ取得
     *  @param  i_Index ファイル番号
     *  @return データ
     **/
    virtual void* GetData(Uint32 i_Index);

    /**
     *  @brief  データ名取得
     *  @param  i_Index ファイル番号
     *  @return データ名
     **/
    virtual const char* GetDataName(Uint32 i_Index);

private:
    std::string     m_FileName;
    void*           m_pData;
    csl::Heap*      m_pHeap;
};

/**
 *  @brief  コンストラクタ
 *  @param  i_pFileName ファイル名
 **/
CDVDFileHandle::CDVDFileHandle(const char* i_pFileName)
        : m_FileName(i_pFileName)
        , m_pData(0)
        , m_pHeap(GetCurrentHeap())
{
    DVDFileInfo fileInfo;

    if (FALSE == DVDOpen(i_pFileName, &fileInfo)) {
        // 失敗
    } else {
        Uint32 fileSize = DVDGetLength(&fileInfo);
        Uint32 bufferSize = csl::RoundUp(fileSize, 32);
        m_pData = m_pHeap->Alloc(bufferSize);

        s32 readSize = DVDRead(&fileInfo, m_pData, bufferSize, 0);
        if (readSize < 0) {
            // 失敗
        }

        // 読み込み終わったら Database に登録して自分はその参照カウンタを一つ持つだけにする
    }
}

/**
 *  @brief  デストラクタ
 **/
CDVDFileHandle::~CDVDFileHandle() {
    if (m_pHeap) m_pHeap->Free(m_pData);

    // Database の参照カウンタを減らすだけにする
}

/**
 *  @brief  準備完了したか
 *  @retval true    した
 *  @retval false   してない
 **/
bool CDVDFileHandle::IsReady() const {
    return true;
}

/**
 *  @brief  データ個数を取得
 *  @return データ個数
 **/
Uint32 CDVDFileHandle::GetDataCount() const {
    return 1;
}

/**
 *  @brief  データ取得
 *  @param  i_Index ファイル番号
 *  @return データ
 **/
void* CDVDFileHandle::GetData(Uint32 i_Index) {
    i_Index = 0;
    return m_pData;
}

/**
 *  @brief  データ名取得
 *  @param  i_Index ファイル番号
 *  @return データ名
 **/
const char* CDVDFileHandle::GetDataName(Uint32 i_Index) {
    i_Index = 0;
    return m_FileName.c_str();
}

/**
 *  @brief  DVDファイルハンドル生成
 *  @param  i_pFileName ファイル名
 *  @return ファイルハンドル
 **/
const SPFileHandle CreateDVDFileHandle(const char* i_pFileName) {
    return SPFileHandle(new CDVDFileHandle(i_pFileName));
}

}   // namespace Detail
}   // namespace File
}   // namespace System
}   // namespace Main

//<<<<<<<< End of File >>>>>>>>

SR_GradeCeremony.h

This header file can be found in William.cpk/WilliamSurfRide/Test/ceremony.

/**
 * 注意!! このファイルを直接編集しないでください。
 */
#ifndef INCLUDED_SR_GRADECEREMONY_H
#define INCLUDED_SR_GRADECEREMONY_H

namespace SurfRideIndex {
namespace GradeCeremony {   // Project

// Scene の情報
enum ESceneId {
	SCENE_ID_SCENE_0001 = 2,

	SCENE_COUNT = 1,
};

namespace Scene_0001 {   // Scene
	// Layer の情報
	enum ELayerId {
		LAYER2D_ID_LAYER_0001 = 3,

		LAYER_COUNT = 1,
	};
	namespace Layer_0001 {    // Layer2D
		// Cast の情報
		enum ECastId {
			IMAGECAST2D_ID_RIBON_L = 5,

			CAST_COUNT = 1,
		};
	} // namespace Layer_0001 : Layer2D

} // namespace Scene_0001 : Scene

// TextureList の情報
enum ETextureListId {
	TEXTURELIST_ID_TEXLIST_0001 = 0,

	TEXTURELIST_COUNT = 1,
};

// TextureList の情報
const char* c_pTextureListName[] = {
	"GradeCeremony/Texlist_0001",
};


namespace Texlist_0001 {
	// Texture の情報
	enum ETextureId {
		TEXTURE_ID_EF_MARKER_I8 = 10,
		TEXTURE_ID_RIBBONC_1 = 13,

		TEXTURE_COUNT = 2,
	};
} // namespace Texlist_0001 : TextureList

} // namespace GradeCeremony
} // namespace SurfRideIndex

#endif // INCLUDED_SR_GRADECEREMONY_H
//--- end of code ---//

LUA script

A LUA script can be found in William.cpk/Williamlua/CharacterViewer.lua for the unused character viewer.

function Initialize(work)


--	PerformanceCheck(work);

--                           Name                PosX,     PosY,     PosZ,     AngX,     AngY,     AngZ,  ViewAngle
        AddCameraPose(work, "MarioDefault",     0.000,    7.700,    0.000,    0.000,    0.000,    0.00,     60.000);
        AddCameraPose(work, "MarioFace",        -1.57,   11.70,    -1.05,     0.08,    13.13,    0.00,      20.000);
        AddCameraPose(work, "LuigiFace",        -3.22,   13.00,    -3.30,    -2.80,   17.72,    0.00,      20.000);
        AddCameraPose(work, "PeachFace",        -4.23,   15.09,    -9.45,    2.04,   16.42,    0.00,      20.000);
        AddCameraPose(work, "DaisyFace",        -5.03,   14.46,    -10.48,    1.18,   17.62,    0.00,      20.000);
        AddCameraPose(work, "KoopaFace",        1.00,   18.48,    18.87,    -5.13,   14.75,    0.00,      20.000);
        AddCameraPose(work, "WarioFace",        0.14,   11.66,    11.66,    -2.25,   14.47,    0.00,      20.000);
        AddCameraPose(work, "WaluigiFace",      -2.64,   17.22,    -1.07,    -0.69,   16.53,    0.00,      20.000);
        AddCameraPose(work, "YoshiFace",        -0.09,   12.57,    4.44,    -11.21,   49.25,    0.00,      20.000);
        AddCameraPose(work, "DonkeyFace",       0.57,   19.38,    13.75,    -4.60,   20.85,    0.00,      20.000);
        AddCameraPose(work, "KoopaJrFace",      -2.03,   9.75,    2.98,    -1.23,   15.91,    0.00,      20.000);
        AddCameraPose(work, "SonicFace",        -3.06,    11.00,  -4.00,    3.31,    14.36,    0.00,     20.000);
        AddCameraPose(work, "TailsFace",        -3.80,    10.41,  -4.25,    2.06,    17.074,    0.00,     20.000);
        AddCameraPose(work, "KnucklesFace",     -3.06,    11.00,  -4.00,    3.31,    14.36,    0.00,     20.000);
        AddCameraPose(work, "AmyFace",          -3.06,    11.00,  -4.00,    3.31,    14.36,    0.00,     20.000);
        AddCameraPose(work, "EggmanFace",       -4.23,    20.36,  -8.52,    0.92,    14.49,    0.00,     20.000);
        AddCameraPose(work, "ShadowFace",       -3.06,    11.00,  -4.00,    3.31,    14.36,    0.00,     20.000);
        AddCameraPose(work, "SilverFace",       -3.46,    11.62,  -5.65,    3.42,    14.36,    0.00,     20.000);
        AddCameraPose(work, "MetalSonicFace",   -3.06,    11.00,  -4.00,    3.31,    14.36,    0.00,     20.000);
        AddCameraPose(work, "BlazeFace",        -3.07,    12.99,  -4.65,    7.11,    14.75,    0.00,     20.000);
        AddCameraPose(work, "VectorFace",       -0.41,    14.82,  5.28,    -5.78,    32.23,    0.00,     20.000);

        AddCameraPose(work, "HoneKoopaFace",    4.37,    14.82,  5.28,    -5.78,    32.23,    0.00,     20.000);
        AddCameraPose(work, "KaronFace",        -4.88,    10.67,  -4.58,    -0.33,   22.54,    0.00,     20.000);
        AddCameraPose(work, "JetFace",          -3.80,    10.80,  -3.92,    0.93,    22.88,    0.00,     20.000);
        AddCameraPose(work, "EggmanNegaFace",   -4.23,    20.36,  -8.52,    0.92,    14.49,    0.00,     20.000);
        AddCameraPose(work, "RougeFace",        -3.15,    12.86,  -4.95,    5.79,    14.71,    0.00,     20.000);
        AddCameraPose(work, "KinopioFace",      -3.55,    5.81,   -6.40,    0.76,    14.64,    0.00,     20.000);
        AddCameraPose(work, "CreamFace",        -3.91,    9.16,   -7.92,    5.79,    14.71,    0.00,     20.000);
        AddCameraPose(work, "OmegaFace",        -3.43,    23.31,  -5.45,    0.92,    14.49,    0.00,     20.000);


        AddCameraPose(work, "Hajikko",        -13.221,   15.473,  -11.310,   -1.471,  -36.969,   -1.107,     60.000);
        AddCameraPose(work, "Uragaeshi",      -2.630,  -14.585,  -36.573,   10.365, -114.202,  158.183,     60.000);

end

Developer Comments

Game's Scripts

Several of the game scripts (those ending with *.spt) include developer comments. Some examples are shown below:

William.cpk/WilliamGame/Script/TableTennis/Setting.spt

------------------------------------
-- 競技設定スクリプト
------------------------------------
function SportsSetting(level)


--------------------------------------------------------------------------------------------------------------------------
-- デフォルトBGM設定
--------------------------------------------------------------------------------------------------------------------------
SetDefaultBGM("bgm_n_tabletennis");

--------------------------------------------------------------------------------------------------------------------------
-- 【ボス戦】BGM設定
--------------------------------------------------------------------------------------------------------------------------
SetBossBGM("bgm_boss_drybones");

--------------------------------------------------------------------------------------------------------------------------
-- ロードするcsbファイル設定
--------------------------------------------------------------------------------------------------------------------------
LoadAudioFile("Sound/se_tabletennis.csb");

--------------------------------------------------------------------------------------------------------------------------
-- 地形データ
--------------------------------------------------------------------------------------------------------------------------
SetTerrainFile("Terrain/exce_tabl.arc");
SetTerrainFile2P("Terrain/exce_tabl_4p.arc");
SetTerrainFile4P("Terrain/exce_tabl_4p.arc");

--------------------------------------------------------------------------------------------------------------------------
-- 描画パラメータ
--------------------------------------------------------------------------------------------------------------------------
-- 影タイプ
SetShadowType("SHADOWMAP");

-- 被写界深度
SetDepthOfField(10000.0);

-- ブルーム(この割合以上の色にブルームが発生)
SetBloomColorThreshold(0.5);

--------------------------------------------------------------------------------------------------------------------------
-- 競技別プレイヤ情報   |モード          |ユーザ数  |フェーズ |順番    |コース番号
--------------------------------------------------------------------------------------------------------------------------
SetPlayerInfo(          "*",             0,         0,        0,       0      );
SetPlayerInfo(          "*",             0,         0,        1,       1      );

--------------------------------------------------------------------------------------------------------------------------
-- 開始ポジションの設定  |モード          |ユーザ数  |フェーズ |順番    |posX       |posY       |posZ     |rotX  |rotY  |rotZ
----------------------------------------------------------------------------------------------------------------------------
SetPlayStartPosition(    "*",             0,         0,        0,      -55.0,       0.0,        -35.0,      0.0,    00.0,   0.0 );
SetPlayStartPosition(    "*",             0,         0,        1,      -55.0,       0.0,         35.0,      0.0,   180.0,   0.0 );

-- 終了
end

William.cpk/WilliamGame/Script/Swim100m/PlayerIntroduction.spt

------------------------------------
--
--	競技演出パラメータスクリプト:水泳100m自由形
--	[ 選手紹介 ]
--
--	■説明
--  ・デフォルト設定
--                      |モード        |ユーザ数
--                      |*はデフォルト |0はデフォルト
--     例)SetFunction( "*",           2, ....)は全モードでユーザ数2、の時
--     例)SetFunction( "KYORYOKU",    0, ....)は協力モードでユーザ数何人でも、の時
------------------------------------
function GameEventSetting()

--------------------------------------------------------------------------------------------------------------------------
-- パターンの設定        |モード          |ユーザ数  |カメラ             |HUDパターン         |競技タイプ     |カメラ基準タイプ
--------------------------------------------------------------------------------------------------------------------------
SetGameEventPattern(      "*",             0,         "ALL_USERPLAYER",   "PLAYER_COURSE",     "ALL_USER",    "NORMAL");

--------------------------------------------------------------------------------------------------------------------------
-- 【ボス戦】パターンの設定  |モード      |ユーザ数  |カメラ             |HUDパターン         |競技タイプ     |カメラ基準タイプ
--------------------------------------------------------------------------------------------------------------------------
SetGameEventBossPattern(   "*",           0,         "ALL_USERPLAYER",   "PLAYER_COURSE",     "ALL_USERBOSS",   "NORMAL");

--------------------------------------------------------------------------------------------------------------------------
-- ポジションの設定      |モード          |ユーザ数  |順番    |posX       |posY       |posZ      |rotX    |rotY    |rotZ
--------------------------------------------------------------------------------------------------------------------------
SetGameEventPosition(    "*",             0,         6,       -87.500,     8.250,     -254.000,     0.0,    0.0,     0.0 );
SetGameEventPosition(    "*",             0,         4,       -62.500,     8.250,     -254.000,     0.0,    0.0,     0.0 );
SetGameEventPosition(    "*",             0,         2,       -37.500,     8.250,     -254.000,     0.0,    0.0,     0.0 );
SetGameEventPosition(    "*",             0,         0,       -12.500,     8.250,     -254.000,     0.0,    0.0,     0.0 );
SetGameEventPosition(    "*",             0,         1,        12.500,     8.250,     -254.000,     0.0,    0.0,     0.0 );
SetGameEventPosition(    "*",             0,         3,        37.500,     8.250,     -254.000,     0.0,    0.0,     0.0 );
SetGameEventPosition(    "*",             0,         5,        62.500,     8.250,     -254.000,     0.0,    0.0,     0.0 );
SetGameEventPosition(    "*",             0,         7,        87.500,     8.250,     -254.000,     0.0,    0.0,     0.0 );


-- 終了
end

README files

A total of 6 README files can be found in William.cpk/WilliamGame/Script.

ReadMe_Ceremony.txt

*****************************************************
*
* 表彰式スクリプトのパラメータ説明
*
*****************************************************

//===========================
// 競技モード
//===========================
"*"            ///< 全競技
"NORMAL"       ///< GAMEMODE_NORMAL,	///< 通常
"TEAM"         ///< GAMEMODE_TEAM,	///< 協力
"VS_SINGLE"    ///< GAMEMODE_VS_SINGLE, ///< 個人対戦
"VS_TEAM"      ///< GAMEMODE_VS_TEAM,	///< チーム対戦


//===========================
// カメラパターン
//===========================

"NONE"            ///< なし
"DREAM1P"         ///< ドリーム競技:個人表彰
"NORMAL1P"        ///< 通常競技:個人表彰
"DREAMTEAM2"      ///< ドリーム競技:チーム2人表彰
"NORMALTEAM2"     ///< 通常競技:チーム2人表彰
"DREAMTEAM4"      ///< ドリーム競技:チーム4人表彰
"NORMALTEAM4"     ///< 通常競技:チーム4人表彰
"DREAMTEAM3"      ///< ドリーム競技:チーム3人表彰

//===========================
// ライトパターン
//===========================

"NONE"            ///< なし
"DAY"             ///< 昼
"NIGHT"           ///< 夜
"INDOOR"          ///< 室内


ReadMe_PlayerIntroduction.txt

*****************************************************
*
* 選手紹介スクリプトのパラメータ説明
*
*****************************************************

//===========================
// 競技モード
//===========================
"*"            ///< 全競技
"NORMAL"       ///< GAMEMODE_NORMAL,	///< 通常
"TEAM"         ///< GAMEMODE_TEAM,	///< 協力
"VS_SINGLE"    ///< GAMEMODE_VS_SINGLE, ///< 個人対戦
"VS_TEAM"      ///< GAMEMODE_VS_TEAM,	///< チーム対戦

//===========================
// カメラパターン
//===========================
"SINGLE_PLAYER"      ///< 1人紹介
"SINGLE_TEAM"        ///< チーム紹介
"ALL_PLAYER"         ///< 1人ずつ全員紹介
"ALL_TEAM"           ///< 1チームずつ全員紹介
"VS_PLAYER"          ///< 2人対戦形式紹介
"VS_TEAM"            ///< 2チーム対戦形式紹介
"ALL_USERPLAYER"     ///< 1人ずつユーザ全員紹介
"ALL_USERTEAM"       ///< 1チームずつユーザ全員紹介
"TURN_USER"          ///< ターン試技者紹介
"TURN_TEAM"          ///< ターンチーム紹介
"ALL_USERBOSSPLAYER" ///< 1人ずつユーザ&BOSS全員紹介
"ALL_USERBOSSTEAM"   ///< 1チームずつユーザ&BOSS全員紹介

//===========================
// HUDパターン
//===========================
"PLAYER"              ///< プレイヤ名
"PLAYER_COURSE"       ///< プレイヤ名+コース
"PLAYER_PLAYCOUNT"    ///< プレイヤ名+試技数
"TEAM"                ///< チーム名
"TEAM_COURSE"         ///< チーム+コース



//===========================
// 競技タイプ
//===========================
"ALL_PLAYER"          ///< プレイヤ全員
"ALL_USER"            ///< ユーザ全員
"ALL_USERTEAM"        ///< ユーザチーム全員
"USERTEAM_TOP"        ///< ユーザチームでポジションが一番前のプレイヤ
"TURN_USER"           ///< ターン試技者
"VS_TEAM"             ///< 対戦チーム
"ALL_USERBOSS"        ///< ユーザ&ボス全員
"ALL_USERBOSSTEAM"    ///< ユーザ&ボスチーム全員
"USERBOSSTEAM_TOP"    ///< ユーザ&ボスチームでポジションが一番前のプレイヤ


//===========================
// カメラ基準タイプ
//===========================
"NORMAL"              ///< 4:3基準  標準 
"UPDOWNCUT"           ///< 16:9基準 標準時の上下カット 
"TOP_UPDOWNCUT_BTM_NORMAL" ///< TOP 16:9基準 それ以外は標準


ReadMe_PlayerResult.txt

*****************************************************
*
* 表彰式スクリプトのパラメータ説明
*
*****************************************************


//===========================
// 競技モード
//===========================
"*"            ///< 全競技
"NORMAL"       ///< GAMEMODE_NORMAL,	///< 通常
"TEAM"         ///< GAMEMODE_TEAM,	///< 協力
"VS_SINGLE"    ///< GAMEMODE_VS_SINGLE, ///< 個人対戦
"VS_TEAM"      ///< GAMEMODE_VS_TEAM,	///< チーム対戦

//===========================
// カメラ
//===========================
"PLAYER"      ///<  1人用
"TEAM"        ///<  チーム用
"VS_TEAM"     ///<  対戦チーム用

//===========================
// 個人成績HUDタイプ
//===========================
"PLAYER_SCORE"                 ///< プレイヤスコア
"TEAM_SCORE"                   ///< チームスコア 
"PLAYER_NAME"                  ///< プレイヤ名 
"TEAM_NAME"                    ///< チーム名 
"PLAYER_EQUESTRIAN"            ///< 馬術 
"PLAYER_UNEVENBARS"            ///< 段違い平行棒 
"PLAYER_3COUNT"                ///< 幅飛びなど[1回目][2回目][3回目]
"PLAYER_PISTOL"                ///< ピストル
"PLAYER_DREAMEQUESTRIAN"       ///< ドリーム馬術 個人用
"TEAM_DREAMEQUESTRIAN"         ///< ドリーム馬術 団体用
"TEAM_SWIMSYNCHRO",            ///< 水泳シンクロ用

//===========================
// 個人成績競技タイプ
//===========================
"BESTRANK_USER",               ///< 一番順位のいいユーザプレイヤ(ユーザチーム)
"TURN_USER",                   ///< ターン試技者
"TURNRESULT_USER",             ///< ターン試技者(ターンごとにリアクション)
"TEAM_WINLOSE",                ///< 勝ったユーザプレイヤ(ユーザチーム)がいればそのチーム、ユーザチームが負けていれば負け表示
"TEAM_1ST2ND",                 ///< WINLOSEではなく、リストを表示するが、対戦形式


//===========================
// カメラ基準タイプ
//===========================
"NORMAL"              ///< 4:3基準  標準 
"UPDOWNCUT"           ///< 16:9基準 標準時の上下カット 




ReadMe_Result.txt

*****************************************************
*
* リザルトスクリプトのパラメータ説明
*
*****************************************************


//===========================
// 競技モード
//===========================
"*"            ///< 全競技
"NORMAL"       ///< GAMEMODE_NORMAL,	///< 通常
"TEAM"         ///< GAMEMODE_TEAM,	///< 協力
"VS_SINGLE"    ///< GAMEMODE_VS_SINGLE, ///< 個人対戦
"VS_TEAM"      ///< GAMEMODE_VS_TEAM,	///< チーム対戦

//===========================
// カメラ(基本的には必要ないですが、交代競技などでは総合成績の後ろでリプレイが流れないので、モーションを流します)
//===========================
""                             ///< RESULTCAMERATYPE_NONE,               ///< なし
"NONE"                         ///< RESULTCAMERATYPE_NONE,               ///< なし
"DEFAULT"                      ///< RESULTCAMERATYPE_DEFAULT,               ///< デフォルト

//===========================
// リザルトタイプ
//===========================
"NONE"                         ///< RESULTTYPE_NONE,
"PLAYERLIST_RANK",             ///< RESULTTYPE_PLAYERLIST_RANK,             ///< プレイヤリストランキング
"PLAYERLIST_RANKORNONE",       ///< RESULTTYPE_PLAYERLIST_RANKORNONE,       ///< プレイヤリストランキング(スコアなしはランクなし)
"PLAYERLIST_RANK_UNEVENBARS",  ///< RESULTTYPE_PLAYERLIST_RANK_UNEVENBARS,  ///< プレイヤリストランキング(段違い平行棒)
"PLAYERLIST_COURSE",           ///< RESULTTYPE_PLAYERLIST_COURSE,           ///< プレイヤリストコース
"PLAYERLIST_SCORE_NONE",       ///< RESULTTYPE_PLAYERLIST_SCORE_NONE,       ///< プレイヤリストスコアなし
"TEAMLIST_RANK",               ///< RESULTTYPE_TEAMLIST_RANK,               ///< チームリストランキング
"TEAMLIST_RANKORNONE",         ///< RESULTTYPE_TEAMLIST_RANKORNONE,         ///< チームリストランキング(スコアなしはランクなし)
"TEAMLIST_RANKVS",             ///< RESULTTYPE_TEAMLIST_RANKVS,             ///< チームリストランキング(VS)
"TEAMLIST_COURSE",             ///< RESULTTYPE_TEAMLIST_COURSE,             ///< チームリストコース
"1VS1_SCORE"                   ///< RESULTTYPE_1VS1_SCORE,                  ///< 1VS1
"2VS2_SCORE"                   ///< RESULTTYPE_2VS2_SCORE,                  ///< 2VS2
"4VS4_SCORE"                   ///< RESULTTYPE_4VS4_SCORE,                  ///< 4VS4
"4VS1_SCORE"                   ///< RESULTTYPE_4VS1_SCORE,                  ///< 4VS1
"1VS1_RESULT"                  ///< RESULTTYPE_1VS1_RESULT,                 ///< 1VS1(セットスコアなし)


//===========================
// カメラ基準タイプ
//===========================
"NORMAL"              ///< 4:3基準  標準 
"UPDOWNCUT"           ///< 16:9基準 標準時の上下カット 


ReadMe_Setting.txt

*****************************************************
*
* 競技スクリプトのパラメータ説明
*
*****************************************************

//===========================
// 影タイプ
//===========================
"NONE"       ///< 影なし
"SIMPLE"     ///< 丸影
"SHADOWMAP"  ///< シャドウマップ

//===========================
// リプレイフォーカスカメラタイプ
//===========================
"CAMERA1"       ///< カメラ1固定
"BESTRANKUSER"  ///< ベストランクユーザカメラ

//===========================
// 競技モード
//===========================
"*"            ///< 全競技
"NORMAL"       ///< GAMEMODE_NORMAL,	///< 通常
"TEAM"         ///< GAMEMODE_TEAM,	///< 協力
"VS_SINGLE"    ///< GAMEMODE_VS_SINGLE, ///< 個人対戦
"VS_TEAM"      ///< GAMEMODE_VS_TEAM,	///< チーム対戦


ReadMe_StartInformation.txt

*****************************************************
*
* 開始前演出スクリプトのパラメータ説明
*
*****************************************************


//===========================
// 競技モード
//===========================
"*"            ///< 全競技
"NORMAL"       ///< GAMEMODE_NORMAL,	///< 通常
"TEAM"         ///< GAMEMODE_TEAM,	///< 協力
"VS_SINGLE"    ///< GAMEMODE_VS_SINGLE, ///< 個人対戦
"VS_TEAM"      ///< GAMEMODE_VS_TEAM,	///< チーム対戦

//===========================
// カメラ
//===========================
"DEFAULT"                      ///< RESULTCAMERATYPE_DEFAULT,               ///< デフォルト

//===========================
// 開始前演出(リザルト)タイプ
//===========================
"NONE"                         ///< RESULTTYPE_NONE,
"PLAYERLIST_RANK"              ///< RESULTTYPE_PLAYERLIST_RANK,             ///< プレイヤリストランキング
"PLAYERLIST_RANK_UNEVENBARS"   ///< RESULTTYPE_PLAYERLIST_RANK_UNEVENBARS,  ///< プレイヤリストランキング(段違い平行棒)
"PLAYERLIST_COURSE"            ///< RESULTTYPE_PLAYERLIST_COURSE,           ///< プレイヤリストコース
"TEAMLIST_RANK"                ///< RESULTTYPE_TEAMLIST_RANK,               ///< チームリストランキング
"TEAMLIST_RANKORNONE"          ///< RESULTTYPE_TEAMLIST_RANKORNONE,         ///< チームリストランキング(スコアなしはランクなし)
"TEAMLIST_RANKVS"              ///< RESULTTYPE_TEAMLIST_RANKVS,             ///< チームリストランキング(VS)
"TEAMLIST_COURSE"              ///< RESULTTYPE_TEAMLIST_COURSE,             ///< チームリストコース
"1VS1"                         ///< RESULTTYPE_1VS1,                        ///< 1VS1
"2VS2"                         ///< RESULTTYPE_2VS2,                        ///< 2VS2
"4VS4"                         ///< RESULTTYPE_4VS4,                        ///< 4VS4
"4VS1"                         ///< RESULTTYPE_4VS1,                        ///< 4VS1
"1VS1_SB_COURCE"               ///< RESULTTYPE_1VS1_SB_COURCE,              ///< 1VS1(スコアボードはコース)


//===========================
// カメラ基準タイプ
//===========================
"NORMAL"              ///< 4:3基準  標準 
"UPDOWNCUT"           ///< 16:9基準 標準時の上下カット 



Internal Project Name

In the main folder is a large file called William.cpk that contains mainly all of the game's files, almost certainly named in honor of the Prince. The subdirectories inside this file are also preceded by "William" as well.