修改这个src\main_menu.c文件的函数Task_NewGameBirchSpeech_BoyOrGirl
static void Task_NewGameBirchSpeech_BoyOrGirl(u8 taskId)
{
// 直接设置男主性别
gSaveBlock2Ptr->playerGender = MALE;
// 设置默认男主名字(使用第一个预设名字)
NewGameBirchSpeech_SetDefaultPlayerName(0);
// 跳过性别选择和取名流程,直接进入游戏
BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK);
gTasks[taskId].func = Task_NewGameBirchSpeech_Cleanup;
}修改Task_HandleMainMenuAPressed函数,当选择"从头开始"时,跳过博士介绍的初始剧情,直接设置男主性别和名字,然后调用CB2_NewGame函数进入游戏。
switch (action) {
case ACTION_NEW_GAME:
default:
gPlttBufferUnfaded[0] = RGB_BLACK;
gPlttBufferFaded[0] = RGB_BLACK;
// 直接设置男主性别
gSaveBlock2Ptr->playerGender = MALE;
// 设置默认男主名字(使用第一个预设名字)
NewGameBirchSpeech_SetDefaultPlayerName(0);
// 跳过博士介绍的初始剧情,直接进入游戏
SetMainCallback2(CB2_NewGame);
DestroyTask(taskId);
break;</code></pre><p>这里删除了gTasks[taskId].func = Task_NewGameBirchSpeech_Init;</p><p>这个文件src\overworld.c,修改CB2_NewGame函数</p><pre class="enlighter-pre"><code class="gl">void CB2_NewGame(void)
{
FieldClearVBlankHBlankCallbacks();
StopMapMusic();
ResetSafariZoneFlag_();
NewGameInitData();
ResetInitialPlayerAvatarState();
PlayTimeCounter_Start();
ScriptContext_Init();
UnlockPlayerFieldControls();
gFieldCallback = NULL; // 跳过卡车动画
gFieldCallback2 = NULL;
DoMapLoadLoop(&gMain.state);
SetFieldVBlankCallback();
SetMainCallback1(CB1_Overworld);
SetMainCallback2(CB2_Overworld);</code></pre><p>修改SetUpCopyrightScreen函数,让它在版权封面结束后直接跳转到标题屏幕,而不是继续播放介绍动画。</p><pre class="enlighter-pre"><code class="gl">case COPYRIGHT_START_INTRO:
if (UpdatePaletteFade())
break;
// 跳过介绍动画,直接进入标题屏幕
SetMainCallback2(CB2_InitTitleScreen);
if (gMultibootProgramStruct.gcmb_field_2 != 0)
{
if (gMultibootProgramStruct.gcmb_field_2 == 2)
{
// check the multiboot ROM header game code to see if we already did this
if (*(u32 *)(EWRAM_START + 0xAC) == COLOSSEUM_GAME_CODE)
{
CpuCopy16(&gMultiBootProgram_PokemonColosseum_Start, (void *)EWRAM_START, sizeof(gMultiBootProgram_PokemonColosseum_Start));
*(u32 *)(EWRAM_START + 0xAC) = COLOSSEUM_GAME_CODE;
}
GameCubeMultiBoot_ExecuteProgram(&gMultibootProgramStruct);
}
}</code></pre></div>
发表评论