Documented some fields in oak_speech.c
This commit is contained in:
+91
-80
@@ -23,7 +23,7 @@ struct OakSpeechResources
|
||||
void * trainerPicTilemapBuffer;
|
||||
void * unk_0008;
|
||||
u8 filler_000C[4];
|
||||
u16 unk_0010;
|
||||
u16 hasPlayerBeenNamed;
|
||||
u16 unk_0012;
|
||||
u16 unk_0014[4];
|
||||
u8 textColor[3];
|
||||
@@ -91,7 +91,7 @@ static void DestroyOaksSpeechTrainerPic(void);
|
||||
static void CreateFadeInTask(u8 taskId, u8 state);
|
||||
static void CreateFadeOutTask(u8 taskId, u8 state);
|
||||
static void PrintNameChoiceOptions(u8 taskId, u8 state);
|
||||
static void GetDefaultName(u8 arg0, u8 namePick);
|
||||
static void GetDefaultName(u8 hasPlayerBeenNamed, u8 rivalNameChoice);
|
||||
|
||||
extern const u8 gText_Controls[];
|
||||
extern const u8 gText_ABUTTONNext[];
|
||||
@@ -463,6 +463,14 @@ static const u8 *const sRivalNameChoices[] = {
|
||||
#endif
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
MALE_PLAYER_ID,
|
||||
FEMALE_PLAYER_ID,
|
||||
RIVAL_ID,
|
||||
OAK_ID
|
||||
};
|
||||
|
||||
static void VBlankCB_NewGameOaksSpeech(void)
|
||||
{
|
||||
LoadOam();
|
||||
@@ -487,6 +495,9 @@ void StartNewGameScene(void)
|
||||
SetMainCallback2(CB2_NewGameOaksSpeech);
|
||||
}
|
||||
|
||||
#define tTrainerPicPosX data[1]
|
||||
#define tTrainerPicFadeState data[2]
|
||||
|
||||
static void Task_OaksSpeech1(u8 taskId)
|
||||
{
|
||||
switch (gMain.state)
|
||||
@@ -880,7 +891,7 @@ static void Task_OakSpeech9(u8 taskId)
|
||||
CopyToBgTilemapBuffer(1, sOakSpeech_BackgroundTilemap, 0, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CreateNidoranFSprite(taskId);
|
||||
LoadOaksSpeechTrainerPic(3, 0);
|
||||
LoadOaksSpeechTrainerPic(OAK_ID, 0);
|
||||
CreatePikaOrGrassPlatformSpriteAndLinkToCurrentTask(taskId, 1);
|
||||
PlayBGM(MUS_ROUTE24);
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 5, 16, 0, RGB_BLACK);
|
||||
@@ -1040,13 +1051,13 @@ static void Task_OakSpeech18(u8 taskId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
|
||||
if (data[2] != 0)
|
||||
if (tTrainerPicFadeState != 0)
|
||||
{
|
||||
if (data[3] != 0)
|
||||
data[3]--;
|
||||
else
|
||||
{
|
||||
data[1] = -60;
|
||||
tTrainerPicPosX = -60;
|
||||
DestroyOaksSpeechTrainerPic();
|
||||
OaksSpeechPrintMessage(gOakText_AskPlayerGender, sOakSpeechResources->textSpeed);
|
||||
gTasks[taskId].func = Task_OakSpeech19;
|
||||
@@ -1110,9 +1121,9 @@ static void Task_OakSpeech21(u8 taskId)
|
||||
static void Task_OakSpeech22(u8 taskId)
|
||||
{
|
||||
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||
LoadOaksSpeechTrainerPic(MALE, 0);
|
||||
LoadOaksSpeechTrainerPic(MALE_PLAYER_ID, 0);
|
||||
else
|
||||
LoadOaksSpeechTrainerPic(FEMALE, 0);
|
||||
LoadOaksSpeechTrainerPic(FEMALE_PLAYER_ID, 0);
|
||||
CreateFadeOutTask(taskId, 2);
|
||||
gTasks[taskId].data[3] = 32;
|
||||
gTasks[taskId].func = Task_OakSpeech23;
|
||||
@@ -1122,13 +1133,13 @@ static void Task_OakSpeech23(u8 taskId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
|
||||
if (data[2] != 0)
|
||||
if (tTrainerPicFadeState != 0)
|
||||
{
|
||||
if (data[3] != 0)
|
||||
data[3]--;
|
||||
else
|
||||
{
|
||||
data[1] = 0;
|
||||
tTrainerPicPosX = 0;
|
||||
OaksSpeechPrintMessage(gOakText_AskPlayerName, sOakSpeechResources->textSpeed);
|
||||
gTasks[taskId].func = Task_OakSpeech24;
|
||||
}
|
||||
@@ -1140,7 +1151,7 @@ static void Task_OakSpeech24(u8 taskId)
|
||||
if (!IsTextPrinterActive(0))
|
||||
{
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
|
||||
sOakSpeechResources->unk_0010 = 0;
|
||||
sOakSpeechResources->hasPlayerBeenNamed = FALSE;
|
||||
gTasks[taskId].func = Task_OakSpeech25;
|
||||
}
|
||||
}
|
||||
@@ -1150,16 +1161,16 @@ static void Task_OakSpeech35(u8 taskId)
|
||||
|
||||
if (!IsTextPrinterActive(0))
|
||||
{
|
||||
if (data[1] > -60)
|
||||
if (tTrainerPicPosX > -60)
|
||||
{
|
||||
data[1] -= 2;
|
||||
tTrainerPicPosX -= 2;
|
||||
gSpriteCoordOffsetX += 2;
|
||||
ChangeBgX(2, 0x200, 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
data[1] = -60;
|
||||
PrintNameChoiceOptions(taskId, sOakSpeechResources->unk_0010);
|
||||
tTrainerPicPosX = -60;
|
||||
PrintNameChoiceOptions(taskId, sOakSpeechResources->hasPlayerBeenNamed);
|
||||
gTasks[taskId].func = Task_OakSpeech29;
|
||||
}
|
||||
}
|
||||
@@ -1167,8 +1178,8 @@ static void Task_OakSpeech35(u8 taskId)
|
||||
|
||||
static void Task_OakSpeech28(u8 taskId)
|
||||
{
|
||||
PrintNameChoiceOptions(taskId, sOakSpeechResources->unk_0010);
|
||||
if (sOakSpeechResources->unk_0010 == 0)
|
||||
PrintNameChoiceOptions(taskId, sOakSpeechResources->hasPlayerBeenNamed);
|
||||
if (sOakSpeechResources->hasPlayerBeenNamed == FALSE)
|
||||
{
|
||||
OaksSpeechPrintMessage(gOakText_AskPlayerName, 0);
|
||||
}
|
||||
@@ -1192,7 +1203,7 @@ static void Task_OakSpeech29(u8 taskId)
|
||||
PlaySE(SE_SELECT);
|
||||
ClearStdWindowAndFrameToTransparent(data[13], TRUE);
|
||||
RemoveWindow(data[13]);
|
||||
GetDefaultName(sOakSpeechResources->unk_0010, input - 1);
|
||||
GetDefaultName(sOakSpeechResources->hasPlayerBeenNamed, input - 1);
|
||||
data[15] = 1;
|
||||
gTasks[taskId].func = Task_OakSpeech26;
|
||||
break;
|
||||
@@ -1210,8 +1221,8 @@ static void Task_OakSpeech25(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
GetDefaultName(sOakSpeechResources->unk_0010, 0);
|
||||
if (sOakSpeechResources->unk_0010 == 0)
|
||||
GetDefaultName(sOakSpeechResources->hasPlayerBeenNamed, 0);
|
||||
if (sOakSpeechResources->hasPlayerBeenNamed == FALSE)
|
||||
{
|
||||
DoNamingScreen(NAMING_SCREEN_PLAYER, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, CB2_ReturnFromNamingScreen);
|
||||
}
|
||||
@@ -1234,7 +1245,7 @@ static void Task_OakSpeech26(u8 taskId)
|
||||
{
|
||||
if (data[15] == 1)
|
||||
{
|
||||
if (sOakSpeechResources->unk_0010 == 0)
|
||||
if (sOakSpeechResources->hasPlayerBeenNamed == FALSE)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, gOakText_FinalizePlayerName);
|
||||
}
|
||||
@@ -1267,7 +1278,7 @@ static void Task_OakSpeech27(u8 taskId)
|
||||
case 0:
|
||||
PlaySE(SE_SELECT);
|
||||
gTasks[taskId].data[3] = 40;
|
||||
if (sOakSpeechResources->unk_0010 == 0)
|
||||
if (sOakSpeechResources->hasPlayerBeenNamed == FALSE)
|
||||
{
|
||||
ClearDialogWindowAndFrame(0, 1);
|
||||
CreateFadeInTask(taskId, 2);
|
||||
@@ -1283,7 +1294,7 @@ static void Task_OakSpeech27(u8 taskId)
|
||||
case 1:
|
||||
case -1:
|
||||
PlaySE(SE_SELECT);
|
||||
if (sOakSpeechResources->unk_0010 == 0)
|
||||
if (sOakSpeechResources->hasPlayerBeenNamed == FALSE)
|
||||
gTasks[taskId].func = Task_OakSpeech24;
|
||||
else
|
||||
gTasks[taskId].func = Task_OakSpeech28;
|
||||
@@ -1295,7 +1306,7 @@ static void Task_OakSpeech30(u8 taskId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
|
||||
if (data[2] != 0)
|
||||
if (tTrainerPicFadeState != 0)
|
||||
{
|
||||
DestroyOaksSpeechTrainerPic();
|
||||
if (data[3] != 0)
|
||||
@@ -1318,9 +1329,9 @@ static void Task_OakSpeech31(u8 taskId)
|
||||
static void Task_OakSpeech32(u8 taskId)
|
||||
{
|
||||
ChangeBgX(2, 0, 0);
|
||||
gTasks[taskId].data[1] = 0;
|
||||
gTasks[taskId].tTrainerPicPosX = 0;
|
||||
gSpriteCoordOffsetX = 0;
|
||||
LoadOaksSpeechTrainerPic(2, 0);
|
||||
LoadOaksSpeechTrainerPic(RIVAL_ID, 0);
|
||||
CreateFadeOutTask(taskId, 2);
|
||||
gTasks[taskId].func = Task_OakSpeech34;
|
||||
}
|
||||
@@ -1329,10 +1340,10 @@ static void Task_OakSpeech34(u8 taskId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
|
||||
if (data[2] != 0)
|
||||
if (tTrainerPicFadeState != 0)
|
||||
{
|
||||
OaksSpeechPrintMessage(gOakText_IntroduceRival, sOakSpeechResources->textSpeed);
|
||||
sOakSpeechResources->unk_0010 = 1;
|
||||
sOakSpeechResources->hasPlayerBeenNamed = TRUE;
|
||||
gTasks[taskId].func = Task_OakSpeech35;
|
||||
}
|
||||
}
|
||||
@@ -1341,7 +1352,7 @@ static void Task_OakSpeech33(u8 taskId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
|
||||
if (data[2] != 0)
|
||||
if (tTrainerPicFadeState != 0)
|
||||
{
|
||||
DestroyOaksSpeechTrainerPic();
|
||||
if (data[3] != 0)
|
||||
@@ -1349,10 +1360,10 @@ static void Task_OakSpeech33(u8 taskId)
|
||||
else
|
||||
{
|
||||
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||
LoadOaksSpeechTrainerPic(MALE, 0);
|
||||
LoadOaksSpeechTrainerPic(MALE_PLAYER_ID, 0);
|
||||
else
|
||||
LoadOaksSpeechTrainerPic(FEMALE, 0);
|
||||
gTasks[taskId].data[1] = 0;
|
||||
LoadOaksSpeechTrainerPic(FEMALE_PLAYER_ID, 0);
|
||||
gTasks[taskId].tTrainerPicPosX = 0;
|
||||
gSpriteCoordOffsetX = 0;
|
||||
ChangeBgX(2, 0, 0);
|
||||
CreateFadeOutTask(taskId, 2);
|
||||
@@ -1363,7 +1374,7 @@ static void Task_OakSpeech33(u8 taskId)
|
||||
|
||||
static void Task_OakSpeech36(u8 taskId)
|
||||
{
|
||||
if (gTasks[taskId].data[2] != 0)
|
||||
if (gTasks[taskId].tTrainerPicFadeState != 0)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, gOakText_LegendAboutToUnfold);
|
||||
OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->textSpeed);
|
||||
@@ -1399,8 +1410,8 @@ static void Task_OakSpeech38_3(u8 taskId)
|
||||
s16 * data = gTasks[taskId].data;
|
||||
SetBgAttribute(2, 6, 1);
|
||||
data[0] = 0;
|
||||
data[1] = 0;
|
||||
data[2] = 256;
|
||||
tTrainerPicPosX = 0;
|
||||
tTrainerPicFadeState = 256;
|
||||
data[15] = 0;
|
||||
gTasks[taskId].func = Task_OakSpeech39;
|
||||
}
|
||||
@@ -1416,12 +1427,12 @@ static void Task_OakSpeech39(u8 taskId)
|
||||
{
|
||||
if (sOakSpeechResources->unk_0012 == 40)
|
||||
PlaySE(SE_WARP_IN);
|
||||
r0 = data[2];
|
||||
data[2] -= 32;
|
||||
r0 = tTrainerPicFadeState;
|
||||
tTrainerPicFadeState -= 32;
|
||||
x = Q_8_8_inv(r0 - 8);
|
||||
y = Q_8_8_inv(data[2] - 16);
|
||||
y = Q_8_8_inv(tTrainerPicFadeState - 16);
|
||||
SetBgAffine(2, 0x7800, 0x5400, 0x78, 0x54, x, y, 0);
|
||||
if (data[2] <= 96)
|
||||
if (tTrainerPicFadeState <= 96)
|
||||
{
|
||||
data[15] = 1;
|
||||
data[0] = 36;
|
||||
@@ -1435,8 +1446,8 @@ static void Task_OakSpeech38_1(u8 taskId)
|
||||
u8 taskId2 = CreateTask(Task_OakSpeech38_sub1, 1);
|
||||
s16 * data = gTasks[taskId2].data;
|
||||
data[0] = 0;
|
||||
data[1] = 0;
|
||||
data[2] = 0;
|
||||
tTrainerPicPosX = 0;
|
||||
tTrainerPicFadeState = 0;
|
||||
data[15] = 0;
|
||||
BeginNormalPaletteFade(0xFFFF0FCF, 4, 0, 16, RGB_BLACK);
|
||||
}
|
||||
@@ -1446,14 +1457,14 @@ static void Task_OakSpeech38_sub1(u8 taskId)
|
||||
s16 * data = gTasks[taskId].data;
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
if (data[1] != 0)
|
||||
if (tTrainerPicPosX != 0)
|
||||
{
|
||||
DestroyTask(taskId);
|
||||
DestroyLinkedPikaOrGrassPlatformSprites(taskId, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
data[1]++;
|
||||
tTrainerPicPosX++;
|
||||
BeginNormalPaletteFade(0x0000F000, 0, 0, 16, RGB_BLACK);
|
||||
}
|
||||
}
|
||||
@@ -1464,8 +1475,8 @@ static void Task_OakSpeech38_2(u8 taskId)
|
||||
u8 taskId2 = CreateTask(Task_OakSpeech38_sub2, 2);
|
||||
s16 * data = gTasks[taskId2].data;
|
||||
data[0] = 8;
|
||||
data[1] = 0;
|
||||
data[2] = 8;
|
||||
tTrainerPicPosX = 0;
|
||||
tTrainerPicFadeState = 8;
|
||||
data[14] = 0;
|
||||
data[15] = 0;
|
||||
}
|
||||
@@ -1479,12 +1490,12 @@ static void Task_OakSpeech38_sub2(u8 taskId)
|
||||
data[0]--;
|
||||
else
|
||||
{
|
||||
if (data[1] <= 0 && data[2] != 0)
|
||||
data[2]--;
|
||||
if (tTrainerPicPosX <= 0 && tTrainerPicFadeState != 0)
|
||||
tTrainerPicFadeState--;
|
||||
BlendPalette(0x40, 0x20, data[14], RGB_WHITE);
|
||||
data[14]++;
|
||||
data[1]--;
|
||||
data[0] = data[2];
|
||||
tTrainerPicPosX--;
|
||||
data[0] = tTrainerPicFadeState;
|
||||
if (data[14] > 14)
|
||||
{
|
||||
for (i = 0; i < 32; i++)
|
||||
@@ -1583,16 +1594,16 @@ static void CB2_ReturnFromNamingScreen(void)
|
||||
break;
|
||||
case 6:
|
||||
taskId = CreateTask(Task_OakSpeech26, 0);
|
||||
if (sOakSpeechResources->unk_0010 == 0)
|
||||
if (sOakSpeechResources->hasPlayerBeenNamed == FALSE)
|
||||
{
|
||||
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||
LoadOaksSpeechTrainerPic(MALE, 0);
|
||||
LoadOaksSpeechTrainerPic(MALE_PLAYER_ID, 0);
|
||||
else
|
||||
LoadOaksSpeechTrainerPic(FEMALE, 0);
|
||||
LoadOaksSpeechTrainerPic(FEMALE_PLAYER_ID, 0);
|
||||
}
|
||||
else
|
||||
LoadOaksSpeechTrainerPic(2, 0);
|
||||
gTasks[taskId].data[1] = -60;
|
||||
LoadOaksSpeechTrainerPic(RIVAL_ID, 0);
|
||||
gTasks[taskId].tTrainerPicPosX = -60;
|
||||
gSpriteCoordOffsetX += 60;
|
||||
ChangeBgX(2, -0x3C00, 0);
|
||||
CreatePikaOrGrassPlatformSpriteAndLinkToCurrentTask(taskId, 1);
|
||||
@@ -1704,19 +1715,19 @@ static void LoadOaksSpeechTrainerPic(u16 whichPic, u16 tileOffset)
|
||||
|
||||
switch (whichPic)
|
||||
{
|
||||
case 0: // FIRE
|
||||
case MALE_PLAYER_ID:
|
||||
LoadPalette(sOakSpeechGfx_RedPal, 0x40, 0x40);
|
||||
LZ77UnCompVram(sOakSpeechGfx_RedPic, (void *)0x06000600 + tileOffset);
|
||||
break;
|
||||
case 1: // LEAF
|
||||
case FEMALE_PLAYER_ID:
|
||||
LoadPalette(sOakSpeechGfx_LeafPal, 0x40, 0x40);
|
||||
LZ77UnCompVram(sOakSpeechGfx_LeafPic, (void *)0x06000600 + tileOffset);
|
||||
break;
|
||||
case 2: // BLUE
|
||||
case RIVAL_ID:
|
||||
LoadPalette(sOakSpeechGfx_RivalPal, 0x60, 0x40);
|
||||
LZ77UnCompVram(sOakSpeechGfx_RivalPic, (void *)0x06000600 + tileOffset);
|
||||
break;
|
||||
case 3: // OAK
|
||||
case OAK_ID:
|
||||
LoadPalette(sOakSpeechGfx_OakPal, 0x60, 0x40);
|
||||
LZ77UnCompVram(sOakSpeechGfx_OakPic, (void *)0x06000600 + tileOffset);
|
||||
break;
|
||||
@@ -1743,9 +1754,9 @@ static void DestroyOaksSpeechTrainerPic(void)
|
||||
static void Task_SlowFadeIn(u8 taskId)
|
||||
{
|
||||
u8 i = 0;
|
||||
if (gTasks[taskId].data[1] == 0)
|
||||
if (gTasks[taskId].tTrainerPicPosX == 0)
|
||||
{
|
||||
gTasks[gTasks[taskId].data[0]].data[2] = 1;
|
||||
gTasks[gTasks[taskId].data[0]].tTrainerPicFadeState = 1;
|
||||
DestroyTask(taskId);
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
@@ -1759,16 +1770,16 @@ static void Task_SlowFadeIn(u8 taskId)
|
||||
else
|
||||
{
|
||||
gTasks[taskId].data[4] = gTasks[taskId].data[3];
|
||||
gTasks[taskId].data[1]--;
|
||||
gTasks[taskId].data[2]++;
|
||||
if (gTasks[taskId].data[1] == 8)
|
||||
gTasks[taskId].tTrainerPicPosX--;
|
||||
gTasks[taskId].tTrainerPicFadeState++;
|
||||
if (gTasks[taskId].tTrainerPicPosX == 8)
|
||||
{
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
gSprites[gTasks[taskId].data[7 + i]].invisible ^= TRUE;
|
||||
}
|
||||
}
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].data[2] * 256) + gTasks[taskId].data[1]);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].tTrainerPicFadeState * 256) + gTasks[taskId].tTrainerPicPosX);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1781,11 +1792,11 @@ static void CreateFadeInTask(u8 taskId, u8 state)
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0x10);
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
gTasks[taskId].data[2] = 0;
|
||||
gTasks[taskId].tTrainerPicFadeState = 0;
|
||||
taskId2 = CreateTask(Task_SlowFadeIn, 0);
|
||||
gTasks[taskId2].data[0] = taskId;
|
||||
gTasks[taskId2].data[1] = 16;
|
||||
gTasks[taskId2].data[2] = 0;
|
||||
gTasks[taskId2].tTrainerPicPosX = 16;
|
||||
gTasks[taskId2].tTrainerPicFadeState = 0;
|
||||
gTasks[taskId2].data[3] = state;
|
||||
gTasks[taskId2].data[4] = state;
|
||||
for (i = 0; i < 3; i++)
|
||||
@@ -1798,11 +1809,11 @@ static void Task_SlowFadeOut(u8 taskId)
|
||||
{
|
||||
u8 i = 0;
|
||||
|
||||
if (gTasks[taskId].data[1] == 16)
|
||||
if (gTasks[taskId].tTrainerPicPosX == 16)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
gTasks[gTasks[taskId].data[0]].data[2] = 1;
|
||||
gTasks[gTasks[taskId].data[0]].tTrainerPicFadeState = 1;
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -1813,16 +1824,16 @@ static void Task_SlowFadeOut(u8 taskId)
|
||||
else
|
||||
{
|
||||
gTasks[taskId].data[4] = gTasks[taskId].data[3];
|
||||
gTasks[taskId].data[1] += 2;
|
||||
gTasks[taskId].data[2] -= 2;
|
||||
if (gTasks[taskId].data[1] == 8)
|
||||
gTasks[taskId].tTrainerPicPosX += 2;
|
||||
gTasks[taskId].tTrainerPicFadeState -= 2;
|
||||
if (gTasks[taskId].tTrainerPicPosX == 8)
|
||||
{
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
gSprites[gTasks[taskId].data[7 + i]].invisible ^= TRUE;
|
||||
}
|
||||
}
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].data[2] * 256) + gTasks[taskId].data[1]);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].tTrainerPicFadeState * 256) + gTasks[taskId].tTrainerPicPosX);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1835,11 +1846,11 @@ static void CreateFadeOutTask(u8 taskId, u8 state)
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0x1000);
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
gTasks[taskId].data[2] = 0;
|
||||
gTasks[taskId].tTrainerPicFadeState = 0;
|
||||
taskId2 = CreateTask(Task_SlowFadeOut, 0);
|
||||
gTasks[taskId2].data[0] = taskId;
|
||||
gTasks[taskId2].data[1] = 0;
|
||||
gTasks[taskId2].data[2] = 16;
|
||||
gTasks[taskId2].tTrainerPicPosX = 0;
|
||||
gTasks[taskId2].tTrainerPicFadeState = 16;
|
||||
gTasks[taskId2].data[3] = state;
|
||||
gTasks[taskId2].data[4] = state;
|
||||
for (i = 0; i < 3; i++)
|
||||
@@ -1848,7 +1859,7 @@ static void CreateFadeOutTask(u8 taskId, u8 state)
|
||||
}
|
||||
}
|
||||
|
||||
static void PrintNameChoiceOptions(u8 taskId, u8 state)
|
||||
static void PrintNameChoiceOptions(u8 taskId, u8 hasPlayerBeenNamed)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
const u8 *const * textPtrs;
|
||||
@@ -1859,7 +1870,7 @@ static void PrintNameChoiceOptions(u8 taskId, u8 state)
|
||||
DrawStdFrameWithCustomTileAndPalette(data[13], 1, GetStdWindowBaseTileNum(), 14);
|
||||
FillWindowPixelBuffer(gTasks[taskId].data[13], 0x11);
|
||||
AddTextPrinterParameterized(data[13], 2, gOtherText_NewName, 8, 1, 0, NULL);
|
||||
if (state == 0)
|
||||
if (hasPlayerBeenNamed == FALSE)
|
||||
textPtrs = gSaveBlock2Ptr->playerGender == MALE ? sMaleNameChoices : sFemaleNameChoices;
|
||||
else
|
||||
textPtrs = sRivalNameChoices;
|
||||
@@ -1871,13 +1882,13 @@ static void PrintNameChoiceOptions(u8 taskId, u8 state)
|
||||
CopyWindowToVram(data[13], COPYWIN_BOTH);
|
||||
}
|
||||
|
||||
static void GetDefaultName(u8 arg0, u8 namePick)
|
||||
static void GetDefaultName(u8 hasPlayerBeenNamed, u8 rivalNameChoice)
|
||||
{
|
||||
const u8 * src;
|
||||
u8 * dest;
|
||||
u8 i;
|
||||
|
||||
if (arg0 == 0)
|
||||
if (hasPlayerBeenNamed == FALSE)
|
||||
{
|
||||
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||
src = sMaleNameChoices[Random() % 19];
|
||||
@@ -1887,7 +1898,7 @@ static void GetDefaultName(u8 arg0, u8 namePick)
|
||||
}
|
||||
else
|
||||
{
|
||||
src = sRivalNameChoices[namePick];
|
||||
src = sRivalNameChoices[rivalNameChoice];
|
||||
dest = gSaveBlock1Ptr->rivalName;
|
||||
}
|
||||
for (i = 0; i < PLAYER_NAME_LENGTH && src[i] != EOS; i++)
|
||||
|
||||
Reference in New Issue
Block a user