blob: daf0032331d6e46d8182c9ccef81b90ba5e91f43 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
#include "global.h"
#include "bard_music.h"
#include "easy_chat.h"
struct BardSound
{
/*0x00*/ u8 var00;
/*0x01*/ s8 var01;
/*0x02*/ u16 var02;
/*0x04*/ u16 volume;
/*0x06*/ u16 var06;
};
extern const struct BardSound (*const gBardMusicTable[])[][6];
extern s16 *gUnknown_08417068[];
extern u32 gUnknown_084170F4[];
static s16 CalcWordPitch(u32 arg0, u32 songPos)
{
return gUnknown_08417068[arg0][songPos];
}
#if ENGLISH
const struct BardSound *GetWordSounds(u16 group, u16 word)
{
const struct BardSound (*sounds)[][6] = gBardMusicTable[group];
return (*sounds)[word];
}
#elif GERMAN
const struct BardSound *GetWordSounds(u16 group, u16 word)
{
const struct BardSound (*sounds)[][6] = gBardMusicTable[group];
u32 index = de_sub_80EB748(group, word);
return (*sounds)[index];
}
#endif
s32 GetWordPhonemes(struct BardSong *song, const struct BardSound *src, u16 arg2)
{
s32 i;
s32 j;
s32 thirty;
for (i = 0; i < 6; i++)
{
song->phonemes[i].sound = src[i].var00;
if (src[i].var00 != 0xFF)
{
s32 length = src[i].var01 + gUnknown_084170F4[src[i].var00];
song->phonemes[i].length = length;
song->phonemes[i].volume = src[i].volume;
song->var04 += length;
}
}
for (j = 0, thirty = 30; j < i; j++)
song->phonemes[j].pitch = CalcWordPitch(thirty + arg2, j);
song->currWord++;
song->currPhoneme = 0;
song->phonemeTimer = 0;
song->state = 0;
song->voiceInflection = 0;
//warning: no return statement in function returning non-void
}
|