summaryrefslogtreecommitdiff
path: root/arm9/src/unk_0201B8B8.c
blob: b8e978f27ff4583d4b8291867ad7a05a098b7065 (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
#include "global.h"
#include "unk_0201B8B8.h"

#pragma thumb on

const u16 * MsgArray_SkipControlCode(const u16 * r4)
{
    GF_ASSERT(*r4 == 0xFFFE);
    if (*r4 == 0xFFFE) {
        u16 r0 = r4[2];
        r4 += 3;
        r4 += r0;
    }
    return r4;
}

u32 MsgArray_GetControlCode(const u16 * r4)
{
    GF_ASSERT(*r4 == 0xFFFE);
    return r4[1];
}

BOOL MsgArray_ControlCodeIsStrVar(const u16 * r4)
{
    return (MsgArray_GetControlCode(r4) & 0xFF00) == 0x100;
}

u32 MsgArray_ControlCodeGetField(const u16 * r5, u32 r4)
{
    GF_ASSERT(*r5 == 0xFFFE);
    GF_ASSERT(r4 < r5[2]);
    return r5[3 + r4];
}