diff options
Diffstat (limited to 'src/bard_music.c')
-rw-r--r-- | src/bard_music.c | 47 |
1 files changed, 22 insertions, 25 deletions
diff --git a/src/bard_music.c b/src/bard_music.c index ce2a1e9ec..593376f35 100644 --- a/src/bard_music.c +++ b/src/bard_music.c @@ -2,36 +2,33 @@ #include "bard_music.h" #include "easy_chat.h" -extern struct BardSound *gBardMusicTable[]; +extern struct UnkBard (*gBardMusicTable[])[][6]; extern s16 *gUnknown_08417068[]; extern u32 gUnknown_084170F4[]; -static s16 sub_814A2B8(u32 arg0, u32 arg1) +static s16 CalcWordPitch(u32 arg0, u32 songPos) { - return gUnknown_08417068[arg0][arg1]; + return gUnknown_08417068[arg0][songPos]; } #if ENGLISH -struct BardSound *sub_814A2D0(u16 arg0, u16 arg1) +struct UnkBard *GetWordSoundInfo(u16 group, u16 word) { - struct BardSound *sounds = gBardMusicTable[arg0]; + struct UnkBard (*sounds)[][6] = gBardMusicTable[group]; - return &sounds[arg1]; + return (*sounds)[word]; } #elif GERMAN -struct BardSound *sub_814A2D0(u16 arg0, u16 arg1) +struct UnkBard *GetWordSoundInfo(u16 group, u16 word) { - u32 index; - struct BardSound *sounds; + struct UnkBard (*sounds)[][6] = gBardMusicTable[group]; + u32 index = de_sub_80EB748(group, word); - sounds = gBardMusicTable[arg0]; - index = de_sub_80EB748(arg0, arg1); - - return &sounds[index]; + return (*sounds)[index]; } #endif -s32 sub_814A2EC(struct UnkBard2 *dest, struct UnkBard *src, u16 arg2) +s32 GetWordPhonemes(struct BardSong *song, struct UnkBard *src, u16 arg2) { s32 i; s32 j; @@ -39,25 +36,25 @@ s32 sub_814A2EC(struct UnkBard2 *dest, struct UnkBard *src, u16 arg2) for (i = 0; i < 6; i++) { - dest->var18[i].var00 = src[i].var00; + song->phonemes[i].sound = src[i].var00; if (src[i].var00 != 0xFF) { - s32 r1 = src[i].var01 +gUnknown_084170F4[src[i].var00]; + s32 r1 = src[i].var01 + gUnknown_084170F4[src[i].var00]; - dest->var18[i].var02 = r1; - dest->var18[i].var06 = src[i].var04; - dest->var04 += r1; + song->phonemes[i].length = r1; + song->phonemes[i].volume = src[i].volume; + song->var04 += r1; } } for (j = 0, thirty = 30; j < i; j++) - dest->var18[j].var04 = sub_814A2B8(thirty + arg2, j); + song->phonemes[j].pitch = CalcWordPitch(thirty + arg2, j); - dest->var00++; - dest->var01 = 0; - dest->var02 = 0; - dest->var03 = 0; - dest->var0A = 0; + song->currWord++; + song->currPhoneme = 0; + song->phonemeTimer = 0; + song->state = 0; + song->voiceInflection = 0; //warning: no return statement in function returning non-void } |