summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data-de/event_scripts.s11
-rw-r--r--data-de/text/bard.inc18
-rw-r--r--include/global.h2
-rw-r--r--src/mauville_old_man.c70
4 files changed, 48 insertions, 53 deletions
diff --git a/data-de/event_scripts.s b/data-de/event_scripts.s
index 4d809241c..a6bb9e015 100644
--- a/data-de/event_scripts.s
+++ b/data-de/event_scripts.s
@@ -4771,16 +4771,7 @@ BattleTower_Lobby_EventScript_1AE30F:: @ 81AE30F
.include "data/scripts/gabby_and_ty.inc"
- .include "data/scripts/bard.inc"
- .include "data/scripts/hipster.inc"
- .include "data/text/trader.inc"
- .include "data/scripts/trader.inc"
- .include "data/text/storyteller.inc"
- .include "data/scripts/storyteller.inc"
- .include "data/text/giddy.inc"
- .include "data/scripts/giddy.inc"
- .include "data/text/bard.inc"
- .include "data/text/hipster.inc"
+ .include "data/scripts/mauville_man.inc"
.include "data/field_move_scripts.inc"
.include "data/item_ball_scripts.inc"
diff --git a/data-de/text/bard.inc b/data-de/text/bard.inc
index 089741d00..dbfb7d400 100644
--- a/data-de/text/bard.inc
+++ b/data-de/text/bard.inc
@@ -1,20 +1,20 @@
-UnknownString_81B0A83: @ 81B0A83
+gTextBard_BardTesting: @ 81B0A83
.string "BARDEN Test.$"
-MauvilleCity_PokemonCenter_1F_Text_1B0A91:: @ 81B0A91
+gTextBard_HiImTheBard:: @ 81B0A91
.string "Hallo, ich bin der BARDE.\n"
.string "Möchtest du meinem Lied lauschen?$"
-MauvilleCity_PokemonCenter_1F_Text_1B0AC3:: @ 81B0AC3
+gTextBard_OhYouveLeftMe:: @ 81B0AC3
.string "Oh...\n"
.string "Du überlässt mich meinem Blues?$"
-MauvilleCity_PokemonCenter_1F_Text_1B0AED:: @ 81B0AED
+gTextBard_OhWhatAMovingSong:: @ 81B0AED
.string "Hach, was für ein bewegendes Lied...\n"
.string "Ich wünschte, ich könnte es für\l"
.string "andere spielen...$"
-MauvilleCity_PokemonCenter_1F_Text_1B0B2C:: @ 81B0B2C
+gTextBard_SoHowDoYouLikeMySong:: @ 81B0B2C
.string "So?\n"
.string "Wie fandest du mein Lied?\p"
.string "Ich bin noch nicht ganz zufrieden mit\n"
@@ -22,17 +22,17 @@ MauvilleCity_PokemonCenter_1F_Text_1B0B2C:: @ 81B0B2C
.string "Hast du nicht Lust, den Text für mich\n"
.string "neu zu schreiben?$"
-MauvilleCity_PokemonCenter_1F_Text_1B0BA6:: @ 81B0BA6
+gTextBard_OhYouveLeftMe2:: @ 81B0BA6
.string "Oh... Und wieder werde ich meinem\n"
.string "Blues überlassen.$"
-MauvilleCity_PokemonCenter_1F_Text_1B0BD0:: @ 81B0BD0
+gTextBard_ThankYouKindly:: @ 81B0BD0
.string "Vielen herzlichen Dank!\n"
.string "Ich möchte für dich singen.$"
-MauvilleCity_PokemonCenter_1F_Text_1B0BFA:: @ 81B0BFA
+gTextBard_WasThatHowYouWanted:: @ 81B0BFA
.string "Hast du dir dein Lied so vorgestellt?$"
-MauvilleCity_PokemonCenter_1F_Text_1B0C23:: @ 81B0C23
+gTextBard_OkayThatsIt:: @ 81B0C23
.string "Okay! Das ist es! Dieses Lied werde\n"
.string "ich nun für eine Weile singen.$"
diff --git a/include/global.h b/include/global.h
index 32a6beb2b..6c0fc28ef 100644
--- a/include/global.h
+++ b/include/global.h
@@ -460,7 +460,7 @@ struct MauvilleManBard
/*0x00*/ u8 id;
/*0x01*/ u8 unk_2D95;
/*0x02*/ u16 songLyrics[6];
- /*0x0E*/ u16 mauvilleOldMan_ecArray2[6];
+ /*0x0E*/ u16 temporaryLyrics[6];
/*0x1A*/ u8 playerName[8];
/*0x22*/ u8 filler_2DB6[0x3];
/*0x25*/ u8 playerTrainerId[4];
diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c
index 3bf682ca0..4edcb1417 100644
--- a/src/mauville_old_man.c
+++ b/src/mauville_old_man.c
@@ -314,28 +314,29 @@ void ScrSpecial_SaveBardSongLyrics(void)
bard->playerTrainerId[i] = gSaveBlock2.playerTrainerId[i];
for (i = 0; i < 6; i++)
- bard->songLyrics[i] = bard->mauvilleOldMan_ecArray2[i];
+ bard->songLyrics[i] = bard->temporaryLyrics[i];
bard->hasChangedSong = TRUE;
}
+// prepare song?
void sub_80F7BA0(void)
{
struct MauvilleManBard *bard = &gSaveBlock1.mauvilleMan.bard;
u16 specialVar = gSpecialVar_0x8004; // It's a bit odd to use this temp variable, but it seems needed to match.
- u16 *r5;
+ u16 *lyrics;
u16 i;
u8 *ptr;
u8 *r4;
- r5 = bard->mauvilleOldMan_ecArray2;
+ lyrics = bard->temporaryLyrics;
if (specialVar == 0)
- r5 = bard->songLyrics;
+ lyrics = bard->songLyrics;
ptr = gStringVar4;
r4 = ptr;
for (i = 0; i < 2; i++)
{
- ptr = sub_80EB3FC(ptr, *(r5++));
+ ptr = sub_80EB3FC(ptr, *(lyrics++));
while (ptr != r4)
{
if (*r4 == 0)
@@ -344,7 +345,7 @@ void sub_80F7BA0(void)
}
r4++;
*(ptr++) = CHAR_SPACE;
- ptr = sub_80EB3FC(ptr, *(r5++));
+ ptr = sub_80EB3FC(ptr, *(lyrics++));
while (ptr != r4)
{
if (*r4 == 0)
@@ -353,7 +354,7 @@ void sub_80F7BA0(void)
}
r4++;
*(ptr++) = CHAR_NEWLINE;
- ptr = sub_80EB3FC(ptr, *(r5++));
+ ptr = sub_80EB3FC(ptr, *(lyrics++));
while (ptr != r4)
{
if (*r4 == 0)
@@ -780,7 +781,7 @@ void BardSingWord(struct Task *task, struct UnkBard2 *b)
if (gSpecialVar_0x8004 == 0)
r2 = bard->songLyrics;
else
- r2 = bard->mauvilleOldMan_ecArray2;
+ r2 = bard->temporaryLyrics;
for (i = 0; i < 6; i++)
b->var0C[i] = r2[i];
for (i = 0; i < 6; i++)
@@ -868,12 +869,15 @@ void BardSingWord(struct Task *task, struct UnkBard2 *b)
}
}
+#define tState data[0]
+#define tCharIndex data[3]
+
void Task_BardSong(u8 taskId)
{
struct Task *task = &gTasks[taskId]; // r5
BardSingWord(task, &gUnknown_03005DA0);
- switch (task->data[0])
+ switch (task->tState)
{
case 0:
sub_80F7BA0();
@@ -881,19 +885,19 @@ void Task_BardSong(u8 taskId)
sub_8002EB0(gMenuWindowPtr, gStringVar4, 2, 4, 15);
task->data[1] = 0;
task->data[2] = 0;
- task->data[3] = 0;
+ task->tCharIndex = 0;
task->data[4] = 0;
FadeOutBGMTemporarily(4);
- task->data[0] = 1;
+ task->tState = 1;
break;
case 1:
if (IsBGMPausedOrStopped())
- task->data[0] = 2;
+ task->tState = 2;
break;
case 2:
{
struct MauvilleManBard *bard = &gSaveBlock1.mauvilleMan.bard;
- u8 *string = gStringVar4 + task->data[3];
+ u8 *string = gStringVar4 + task->tCharIndex;
u16 wordLen = 0;
// Can't get it to match without hacking
u32 temp;
@@ -910,7 +914,7 @@ void Task_BardSong(u8 taskId)
if (task->data[5] == 0)
gUnknown_020388BC = MACRO1(bard->songLyrics[task->data[4]]);
else
- gUnknown_020388BC = MACRO1(bard->mauvilleOldMan_ecArray2[task->data[4]]);
+ gUnknown_020388BC = MACRO1(bard->temporaryLyrics[task->data[4]]);
temp = gUnknown_03005DA0.var04 / wordLen;
zero = 0;
gUnknown_03005DA0.var04 = temp;
@@ -918,50 +922,50 @@ void Task_BardSong(u8 taskId)
gUnknown_03005DA0.var04 = 1;
task->data[4]++;
if (task->data[2] == 0)
- task->data[0] = 3;
+ task->tState = 3;
else
- task->data[0] = 5;
+ task->tState = 5;
task->data[1] = zero;
}
break;
case 5:
if (task->data[2] == 0)
- task->data[0] = 3;
+ task->tState = 3;
else
task->data[2]--;
break;
case 3:
- if (gStringVar4[task->data[3]] == EOS)
+ if (gStringVar4[task->tCharIndex] == EOS)
{
FadeInNewBGM(BGM_POKECEN, 6);
m4aMPlayFadeOutTemporarily(&gMPlay_SE2, 2);
EnableBothScriptContexts();
DestroyTask(taskId);
}
- else if (gStringVar4[task->data[3]] == CHAR_SPACE)
+ else if (gStringVar4[task->tCharIndex] == CHAR_SPACE)
{
sub_8003418(gMenuWindowPtr);
- task->data[3]++;
- task->data[0] = 2;
+ task->tCharIndex++;
+ task->tState = 2;
task->data[2] = 0;
}
- else if (gStringVar4[task->data[3]] == CHAR_NEWLINE)
+ else if (gStringVar4[task->tCharIndex] == CHAR_NEWLINE)
{
- task->data[3]++;
- task->data[0] = 2;
+ task->tCharIndex++;
+ task->tState = 2;
task->data[2] = 0;
}
- else if (gStringVar4[task->data[3]] == EXT_CTRL_CODE_BEGIN)
+ else if (gStringVar4[task->tCharIndex] == EXT_CTRL_CODE_BEGIN)
{
- task->data[3] += 2; // skip over control codes
- task->data[0] = 2;
+ task->tCharIndex += 2; // skip over control codes
+ task->tState = 2;
task->data[2] = 8;
}
- else if (gStringVar4[task->data[3]] == 0x37) // What is 0x37 supposed to be?
+ else if (gStringVar4[task->tCharIndex] == 0x37) // What is 0x37 supposed to be?
{
- gStringVar4[task->data[3]] = 0;
+ gStringVar4[task->tCharIndex] = CHAR_SPACE;
sub_8003418(gMenuWindowPtr);
- task->data[3]++;
+ task->tCharIndex++;
task->data[2] = 0;
}
else
@@ -976,10 +980,10 @@ void Task_BardSong(u8 taskId)
task->data[1]++;
break;
case 2:
- task->data[3]++;
+ task->tCharIndex++;
task->data[1] = 0;
task->data[2] = gUnknown_03005DA0.var04;
- task->data[0] = 4;
+ task->tState = 4;
break;
}
}
@@ -987,7 +991,7 @@ void Task_BardSong(u8 taskId)
case 4:
task->data[2]--;
if (task->data[2] == 0)
- task->data[0] = 3;
+ task->tState = 3;
break;
}
}