summaryrefslogtreecommitdiff
path: root/arm9/src
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/src')
-rw-r--r--arm9/src/brightness.c198
-rw-r--r--arm9/src/communication_error.c4
-rw-r--r--arm9/src/error_message_reset.c4
-rw-r--r--arm9/src/main.c6
-rw-r--r--arm9/src/oam.c169
-rw-r--r--arm9/src/unk_02008AA4.c2
-rw-r--r--arm9/src/unk_02009EAC.c169
-rw-r--r--arm9/src/unk_0200A104.c178
-rw-r--r--arm9/src/unk_0200BB14.c6
-rw-r--r--arm9/src/wfc_user_info_warning.c4
10 files changed, 380 insertions, 360 deletions
diff --git a/arm9/src/brightness.c b/arm9/src/brightness.c
new file mode 100644
index 00000000..59e96fd3
--- /dev/null
+++ b/arm9/src/brightness.c
@@ -0,0 +1,198 @@
+#include "global.h"
+#include "brightness.h"
+#include "GX_g2.h"
+#include "MI_memory.h"
+
+struct BrightnessData mainScreenBrightnessData;
+
+struct BrightnessData subScreenBrightnessData;
+
+THUMB_FUNC void DoBrightnessTransitionStep(struct BrightnessData *brightness)
+{
+ BOOL transitionFinished = FALSE;
+
+ if (brightness->target_brightness !=
+ brightness->current_brightness +
+ brightness->transition_direction * brightness->step_size_integer &&
+ brightness->current_brightness != brightness->target_brightness)
+ {
+ brightness->current_brightness +=
+ brightness->transition_direction * brightness->step_size_integer;
+ brightness->fractional_count += brightness->step_size_fractional;
+
+ if (brightness->fractional_count >= brightness->step_count)
+ {
+ brightness->current_brightness += brightness->transition_direction;
+ if (brightness->current_brightness != brightness->target_brightness)
+ {
+ brightness->fractional_count -= brightness->step_count;
+ }
+ else
+ {
+ transitionFinished = TRUE;
+ }
+ }
+ }
+ else
+ {
+ brightness->current_brightness = brightness->target_brightness;
+ transitionFinished = TRUE;
+ }
+
+ if ((brightness->screenMask & 1) != 0)
+ {
+ G2x_SetBlendBrightness_(
+ &reg_G2_BLDCNT, brightness->surfaceMask, brightness->current_brightness);
+ }
+ else if ((brightness->screenMask & 2) != 0)
+ {
+ G2x_SetBlendBrightness_(
+ &reg_G2S_DB_BLDCNT, brightness->surfaceMask, brightness->current_brightness);
+ }
+
+ if (transitionFinished == TRUE)
+ {
+ brightness->transitionActive = FALSE;
+ }
+}
+
+THUMB_FUNC void InitBrightnessTransition(struct BrightnessData *brightnessData,
+ u16 step_count,
+ s16 target_brightness,
+ s16 start_brightness,
+ fx32 surfaceMask,
+ u32 screenMask)
+{
+ GF_ASSERT(!brightnessData->transitionActive);
+
+ brightnessData->transitionActive = TRUE;
+ brightnessData->surfaceMask = (u8)surfaceMask;
+ brightnessData->screenMask = (u8)screenMask;
+ brightnessData->step_count = step_count;
+ brightnessData->target_brightness = target_brightness;
+ brightnessData->current_brightness = start_brightness;
+ brightnessData->brightness_diff = (s16)(start_brightness - target_brightness);
+
+ if (brightnessData->brightness_diff > 0)
+ {
+ brightnessData->transition_direction = -1;
+ }
+ else
+ {
+ brightnessData->transition_direction = 1;
+ brightnessData->brightness_diff *= -1;
+ }
+
+ brightnessData->step_size_integer = (s16)(brightnessData->brightness_diff / step_count);
+ brightnessData->step_size_fractional = (u16)(brightnessData->brightness_diff % step_count);
+ brightnessData->fractional_count = 0;
+}
+
+THUMB_FUNC void StartBrightnessTransition(
+ u16 step_count, s16 target_brightness, s16 start_brightness, fx32 surfaceMask, u32 screenMask)
+{
+ if (step_count != 0)
+ {
+ if ((screenMask & 1) != 0)
+ {
+ G2x_SetBlendBrightness_(&reg_G2_BLDCNT, surfaceMask, start_brightness);
+ InitBrightnessTransition(&mainScreenBrightnessData,
+ step_count,
+ target_brightness,
+ start_brightness,
+ surfaceMask,
+ 1);
+ }
+
+ if ((screenMask & 2) != 0)
+ {
+ G2x_SetBlendBrightness_(&reg_G2S_DB_BLDCNT, surfaceMask, start_brightness);
+ InitBrightnessTransition(&subScreenBrightnessData,
+ step_count,
+ target_brightness,
+ start_brightness,
+ surfaceMask,
+ 2);
+ }
+ }
+}
+
+THUMB_FUNC void SetBrightness(fx32 brightness, fx32 surfaceMask, u32 screenMask)
+{
+
+ if ((screenMask & 1) != 0)
+ {
+ G2x_SetBlendBrightness_(&reg_G2_BLDCNT, surfaceMask, brightness);
+ }
+
+ if ((screenMask & 2) != 0)
+ {
+ G2x_SetBlendBrightness_(&reg_G2S_DB_BLDCNT, surfaceMask, brightness);
+ }
+
+ InitScreenBrightnessData(screenMask);
+}
+
+THUMB_FUNC void InitAllScreenBrightnessData(void)
+{
+ MI_CpuFill8(&mainScreenBrightnessData, 0, sizeof(struct BrightnessData));
+ MI_CpuFill8(&subScreenBrightnessData, 0, sizeof(struct BrightnessData));
+
+ mainScreenBrightnessData.transitionActive = FALSE;
+ subScreenBrightnessData.transitionActive = FALSE;
+}
+
+THUMB_FUNC void InitScreenBrightnessData(u32 screenMask)
+{
+ if (screenMask & 1)
+ {
+ MI_CpuFill8(&mainScreenBrightnessData, 0, sizeof(struct BrightnessData));
+ mainScreenBrightnessData.transitionActive = FALSE;
+ }
+
+ if (screenMask & 2)
+ {
+ MI_CpuFill8(&subScreenBrightnessData, 0, sizeof(struct BrightnessData));
+ subScreenBrightnessData.transitionActive = FALSE;
+ }
+}
+
+THUMB_FUNC void DoAllScreenBrightnessTransitionStep(void)
+{
+ if (mainScreenBrightnessData.transitionActive)
+ {
+ DoBrightnessTransitionStep(&mainScreenBrightnessData);
+ }
+
+ if (subScreenBrightnessData.transitionActive)
+ {
+ DoBrightnessTransitionStep(&subScreenBrightnessData);
+ }
+}
+
+THUMB_FUNC BOOL IsBrightnessTransitionActive(u32 screenMask)
+{
+ if (screenMask == 3)
+ {
+ if (!mainScreenBrightnessData.transitionActive && !subScreenBrightnessData.transitionActive)
+ {
+ return TRUE;
+ }
+ }
+ else if (screenMask == 1)
+ {
+ if (!mainScreenBrightnessData.transitionActive)
+ {
+ return TRUE;
+ }
+ }
+ else if (screenMask == 2)
+ {
+ if (!subScreenBrightnessData.transitionActive)
+ {
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
diff --git a/arm9/src/communication_error.c b/arm9/src/communication_error.c
index 9a34fc75..4401d9b8 100644
--- a/arm9/src/communication_error.c
+++ b/arm9/src/communication_error.c
@@ -6,7 +6,7 @@
#include "msgdata.h"
#include "msgdata/msg.naix"
#include "text.h"
-#include "unk_0200A104.h"
+#include "brightness.h"
extern void FUN_0200CB00(struct BgConfig* bg_config, enum GFBgLayer layer, u32 num_tiles, u32, u8, u32 heap_id);
extern void FUN_0200CCA4(struct Window* window, BOOL copy_to_vram, u16 fill_value, u32 palette_num);
@@ -149,7 +149,7 @@ THUMB_FUNC void ShowCommunicationError(u32 heap_id, u32 error, u32 error_code)
GX_BothDispOn();
FUN_0200E394(PM_LCD_TOP);
FUN_0200E394(PM_LCD_BOTTOM);
- FUN_0200A274(0, 0x3F, 3);
+ SetBrightness(0, 0x3F, 3);
RemoveWindow(&window);
DestroyMsgData(error_message_data);
diff --git a/arm9/src/error_message_reset.c b/arm9/src/error_message_reset.c
index bf8ad0f1..93bc898d 100644
--- a/arm9/src/error_message_reset.c
+++ b/arm9/src/error_message_reset.c
@@ -6,7 +6,7 @@
#include "bg_window.h"
#include "PAD_pad.h"
#include "font.h"
-#include "unk_0200A104.h"
+#include "brightness.h"
const struct WindowTemplate UNK_020FF49C = {
@@ -124,7 +124,7 @@ THUMB_FUNC void PrintErrorMessageAndReset()
GX_BothDispOn();
FUN_0200E394(0);
FUN_0200E394(1);
- FUN_0200A274(0, 0x3f, 3);
+ SetBrightness(0, 0x3f, 3);
FUN_02032DAC();
while (1)
diff --git a/arm9/src/main.c b/arm9/src/main.c
index aa4da4bb..312d222c 100644
--- a/arm9/src/main.c
+++ b/arm9/src/main.c
@@ -18,7 +18,7 @@
#include "wfc_user_info_warning.h"
#include "module_52.h"
#include "font.h"
-#include "unk_0200A104.h"
+#include "brightness.h"
FS_EXTERN_OVERLAY(MODULE_52);
FS_EXTERN_OVERLAY(MODULE_63);
@@ -96,7 +96,7 @@ THUMB_FUNC void NitroMain(void)
gMain.unk6C = 1;
gMain.unk30 = 0;
InitializeMainRNG();
- FUN_0200A2AC();
+ InitAllScreenBrightnessData();
FUN_02015E30();
UNK_02016FA4 = 0;
for (;;)
@@ -126,7 +126,7 @@ THUMB_FUNC void NitroMain(void)
OS_WaitIrq(1, 1);
gMain.unk2C++;
gMain.unk30 = 0;
- FUN_0200A318();
+ DoAllScreenBrightnessTransitionStep();
FUN_0200E2D8();
if (gMain.vBlankIntr)
gMain.vBlankIntr(gMain.vBlankIntrArg);
diff --git a/arm9/src/oam.c b/arm9/src/oam.c
new file mode 100644
index 00000000..ff3405d4
--- /dev/null
+++ b/arm9/src/oam.c
@@ -0,0 +1,169 @@
+#include "global.h"
+#include "oam.h"
+#include "GX_g2.h"
+#include "MI_memory.h"
+#include "heap.h"
+
+extern void FUN_020213A0(void);
+extern void FUN_0202135C(void *param0,
+ u32 *param1,
+ u32 (*param2)(u32, u32),
+ u32 (*param3)(u32),
+ void (*param4)(void),
+ u32 param5,
+ u32 param6);
+extern void FUN_020203CC(u32 heap_id);
+extern void FUN_02020404(u32 heap_id);
+
+struct OamData *oamData;
+
+THUMB_FUNC void FUN_02009EAC(s32 param0,
+ s32 param1,
+ s32 param2,
+ s32 param3,
+ u32 param4,
+ u32 param5,
+ u32 param6,
+ u32 param7,
+ u32 param8)
+{
+ s32 r0;
+ if (param0 < 4)
+ {
+ r0 = 4;
+ if (param1 > 0x7c)
+ {
+ param1 = param1 - (4 - param0);
+ }
+ }
+ else
+ {
+ r0 = param0;
+ }
+
+ s32 r2;
+ if (param2 < 1)
+ {
+ r2 = 1;
+ if (param3 > 0x1e)
+ {
+ param3 = param3 - (1 - param2);
+ }
+ }
+ else
+ {
+ r2 = param2;
+ }
+
+ InitOamData(r0, param1, r2, param3, param4, param5, param6, param7, param8);
+}
+
+THUMB_FUNC void InitOamData(s32 param0,
+ s32 param1,
+ s32 param2,
+ s32 param3,
+ u32 param4,
+ u32 param5,
+ u32 param6,
+ u32 param7,
+ u32 heap_id)
+{
+ GF_ASSERT(oamData == NULL);
+ oamData = AllocFromHeap(heap_id, sizeof(struct OamData));
+ GF_ASSERT(oamData);
+
+ oamData->heap_id = heap_id;
+
+ GF_ASSERT(NNS_G2dGetNewOamManagerInstance(
+ &oamData->oamManagers[0], (u16)param0, (u16)param1, (u16)param2, (u16)param3, 0));
+ GF_ASSERT(NNS_G2dGetNewOamManagerInstance(
+ &oamData->oamManagers[1], (u16)param4, (u16)param5, (u16)param6, (u16)param7, 1));
+}
+
+THUMB_FUNC void ApplyAndResetOamManagerBuffer(void)
+{
+ if (oamData != NULL)
+ {
+ NNS_G2dApplyAndResetOamManagerBuffer(&oamData->oamManagers[0]);
+ NNS_G2dApplyAndResetOamManagerBuffer(&oamData->oamManagers[1]);
+ }
+}
+
+THUMB_FUNC void DeinitOamData(void)
+{
+ GF_ASSERT(oamData);
+
+ FUN_0200A064(oamData->heap_id);
+ FUN_0200A06C(oamData->heap_id);
+
+ FreeToHeap(oamData);
+ oamData = NULL;
+}
+
+THUMB_FUNC void FUN_02009FD8(void *param0, u32 *param1, u32 param2, u32 param3)
+{
+ GF_ASSERT(oamData);
+
+ if (param2 == 1)
+ {
+ FUN_0202135C(param0, param1, EntryOamManagerOamWithAffineIdxMainScreen, EntryOamManagerAffineMainScreen, FUN_020213A0, param2, param3);
+ return;
+ }
+
+ FUN_0202135C(param0, param1, EntryOamManagerOamWithAffineIdxSubScreen, EntryOamManagerAffineSubScreen, FUN_020213A0, param2, param3);
+}
+
+THUMB_FUNC NNSG2dOamManager *GetOamManager(u32 screen)
+{
+ GF_ASSERT(oamData);
+ if (screen == 0)
+ {
+ return &oamData->oamManagers[0];
+ }
+ else
+ {
+ return &oamData->oamManagers[1];
+ }
+}
+
+THUMB_FUNC void FUN_0200A064(u32 heap_id)
+{
+ FUN_020203CC(heap_id);
+}
+
+THUMB_FUNC void FUN_0200A06C(u32 heap_id)
+{
+ FUN_02020404(heap_id);
+}
+
+THUMB_FUNC u32 EntryOamManagerOamWithAffineIdxMainScreen(u32 param0, u32 param1)
+{
+ u32 res = NNS_G2dEntryOamManagerOamWithAffineIdx(&oamData->oamManagers[0], param0, param1);
+ GF_ASSERT(res);
+
+ return res;
+}
+
+THUMB_FUNC u32 EntryOamManagerOamWithAffineIdxSubScreen(u32 param0, u32 param1)
+{
+ u32 res = NNS_G2dEntryOamManagerOamWithAffineIdx(&oamData->oamManagers[1], param0, param1);
+ GF_ASSERT(res);
+
+ return res;
+}
+
+THUMB_FUNC u32 EntryOamManagerAffineMainScreen(u32 param0)
+{
+ u32 res = NNS_G2dEntryOamManagerAffine(&oamData->oamManagers[0], param0);
+ GF_ASSERT(res != 0xFFFE);
+
+ return res;
+}
+
+THUMB_FUNC u32 EntryOamManagerAffineSubScreen(u32 param0)
+{
+ u32 res = NNS_G2dEntryOamManagerAffine(&oamData->oamManagers[1], param0);
+ GF_ASSERT(res != 0xFFFE);
+
+ return res;
+}
diff --git a/arm9/src/unk_02008AA4.c b/arm9/src/unk_02008AA4.c
index 9a7dfc75..300967fc 100644
--- a/arm9/src/unk_02008AA4.c
+++ b/arm9/src/unk_02008AA4.c
@@ -4,7 +4,7 @@
#include "heap.h"
#include "unk_0200BB14.h"
#include "unk_02008DEC.h"
-#include "unk_02009EAC.h"
+#include "oam.h"
extern void FUN_0202134C(void *, u32);
extern u32 FUN_0201FCB0(u32 *);
diff --git a/arm9/src/unk_02009EAC.c b/arm9/src/unk_02009EAC.c
deleted file mode 100644
index b673eb1b..00000000
--- a/arm9/src/unk_02009EAC.c
+++ /dev/null
@@ -1,169 +0,0 @@
-#include "global.h"
-#include "unk_02009EAC.h"
-#include "GX_g2.h"
-#include "MI_memory.h"
-#include "heap.h"
-
-extern void FUN_020213A0(void);
-extern void FUN_0202135C(void *param0,
- u32 *param1,
- u32 (*param2)(u32, u32),
- u32 (*param3)(u32),
- void (*param4)(void),
- u32 param5,
- u32 param6);
-extern void FUN_020203CC(u32 heap_id);
-extern void FUN_02020404(u32 heap_id);
-
-struct UnkStruct_02009EAC *UNK_021C4670;
-
-THUMB_FUNC void FUN_02009EAC(s32 param0,
- s32 param1,
- s32 param2,
- s32 param3,
- u32 param4,
- u32 param5,
- u32 param6,
- u32 param7,
- u32 param8)
-{
- s32 r0;
- if (param0 < 4)
- {
- r0 = 4;
- if (param1 > 0x7c)
- {
- param1 = param1 - (4 - param0);
- }
- }
- else
- {
- r0 = param0;
- }
-
- s32 r2;
- if (param2 < 1)
- {
- r2 = 1;
- if (param3 > 0x1e)
- {
- param3 = param3 - (1 - param2);
- }
- }
- else
- {
- r2 = param2;
- }
-
- FUN_02009EF0(r0, param1, r2, param3, param4, param5, param6, param7, param8);
-}
-
-THUMB_FUNC void FUN_02009EF0(s32 param0,
- s32 param1,
- s32 param2,
- s32 param3,
- u32 param4,
- u32 param5,
- u32 param6,
- u32 param7,
- u32 heap_id)
-{
- GF_ASSERT(UNK_021C4670 == NULL);
- UNK_021C4670 = AllocFromHeap(heap_id, sizeof(struct UnkStruct_02009EAC));
- GF_ASSERT(UNK_021C4670);
-
- UNK_021C4670->heap_id = heap_id;
-
- GF_ASSERT(NNS_G2dGetNewOamManagerInstance(
- &UNK_021C4670->oamManagers[0], (u16)param0, (u16)param1, (u16)param2, (u16)param3, 0));
- GF_ASSERT(NNS_G2dGetNewOamManagerInstance(
- &UNK_021C4670->oamManagers[1], (u16)param4, (u16)param5, (u16)param6, (u16)param7, 1));
-}
-
-THUMB_FUNC void FUN_02009F80(void)
-{
- if (UNK_021C4670 != NULL)
- {
- NNS_G2dApplyAndResetOamManagerBuffer(&UNK_021C4670->oamManagers[0]);
- NNS_G2dApplyAndResetOamManagerBuffer(&UNK_021C4670->oamManagers[1]);
- }
-}
-
-THUMB_FUNC void FUN_02009FA0(void)
-{
- GF_ASSERT(UNK_021C4670);
-
- FUN_0200A064(UNK_021C4670->heap_id);
- FUN_0200A06C(UNK_021C4670->heap_id);
-
- FreeToHeap(UNK_021C4670);
- UNK_021C4670 = NULL;
-}
-
-THUMB_FUNC void FUN_02009FD8(void *param0, u32 *param1, u32 param2, u32 param3)
-{
- GF_ASSERT(UNK_021C4670);
-
- if (param2 == 1)
- {
- FUN_0202135C(param0, param1, FUN_0200A074, FUN_0200A0B8, FUN_020213A0, param2, param3);
- return;
- }
-
- FUN_0202135C(param0, param1, FUN_0200A094, FUN_0200A0DC, FUN_020213A0, param2, param3);
-}
-
-THUMB_FUNC NNSG2dOamManager *FUN_0200A03C(u32 param0)
-{
- GF_ASSERT(UNK_021C4670);
- if (param0 == 0)
- {
- return &UNK_021C4670->oamManagers[0];
- }
- else
- {
- return &UNK_021C4670->oamManagers[1];
- }
-}
-
-THUMB_FUNC void FUN_0200A064(u32 heap_id)
-{
- FUN_020203CC(heap_id);
-}
-
-THUMB_FUNC void FUN_0200A06C(u32 heap_id)
-{
- FUN_02020404(heap_id);
-}
-
-THUMB_FUNC u32 FUN_0200A074(u32 param0, u32 param1)
-{
- u32 res = NNS_G2dEntryOamManagerOamWithAffineIdx(&UNK_021C4670->oamManagers[0], param0, param1);
- GF_ASSERT(res);
-
- return res;
-}
-
-THUMB_FUNC u32 FUN_0200A094(u32 param0, u32 param1)
-{
- u32 res = NNS_G2dEntryOamManagerOamWithAffineIdx(&UNK_021C4670->oamManagers[1], param0, param1);
- GF_ASSERT(res);
-
- return res;
-}
-
-THUMB_FUNC u32 FUN_0200A0B8(u32 param0)
-{
- u32 res = NNS_G2dEntryOamManagerAffine(&UNK_021C4670->oamManagers[0], param0);
- GF_ASSERT(res != 0xFFFE);
-
- return res;
-}
-
-THUMB_FUNC u32 FUN_0200A0DC(u32 param0)
-{
- u32 res = NNS_G2dEntryOamManagerAffine(&UNK_021C4670->oamManagers[1], param0);
- GF_ASSERT(res != 0xFFFE);
-
- return res;
-}
diff --git a/arm9/src/unk_0200A104.c b/arm9/src/unk_0200A104.c
deleted file mode 100644
index 407ac34d..00000000
--- a/arm9/src/unk_0200A104.c
+++ /dev/null
@@ -1,178 +0,0 @@
-#include "global.h"
-#include "unk_0200A104.h"
-#include "GX_g2.h"
-#include "MI_memory.h"
-
-struct UnkStruct_0200A104 UNK_021C4694;
-
-struct UnkStruct_0200A104 UNK_021C4674;
-
-THUMB_FUNC void FUN_0200A104(struct UnkStruct_0200A104 *param0)
-{
- u32 r4 = 0;
-
- if (param0->unk0a != param0->unk1a + param0->unk10 * param0->unk14 &&
- param0->unk1a != param0->unk0a)
- {
- param0->unk1a += param0->unk10 * param0->unk14;
- param0->unk18 += param0->unk16;
-
- if (param0->unk18 >= param0->unk08)
- {
- param0->unk1a += param0->unk10;
- if (param0->unk1a != param0->unk0a)
- {
- param0->unk18 -= param0->unk08;
- }
- else
- {
- r4 = 1;
- }
- }
- }
- else
- {
- param0->unk1a = param0->unk0a;
- r4 = 1;
- }
-
- if ((param0->unk04 & 1) != 0)
- {
- G2x_SetBlendBrightness_(reg_addr_G2_BLDCNT, param0->unk00, param0->unk1a);
- }
- else if ((param0->unk04 & 2) != 0)
- {
- G2x_SetBlendBrightness_(reg_addr_G2S_DB_BLDCNT, param0->unk00, param0->unk1a);
- }
-
- if (r4 == 1)
- {
- param0->unk1c = 0;
- }
-}
-
-THUMB_FUNC void FUN_0200A1A0(
- struct UnkStruct_0200A104 *param0, u16 param1, s16 param2, s16 param3, fx32 param4, u32 param5)
-{
- GF_ASSERT(param0->unk1c == 0);
-
- param0->unk1c = 1;
- param0->unk00 = (u8)param4;
- param0->unk04 = (u8)param5;
- param0->unk08 = param1;
- param0->unk0a = param2;
- param0->unk1a = param3;
- param0->unk12 = (s16)(param3 - param2);
-
- if (param0->unk12 > 0)
- {
- param0->unk10 = -1;
- }
- else
- {
- param0->unk10 = 1;
- param0->unk12 *= -1;
- }
-
- param0->unk14 = (s16)(param0->unk12 / param1);
- param0->unk16 = (u16)(param0->unk12 % param1);
- param0->unk18 = 0;
-}
-
-THUMB_FUNC void FUN_0200A208(u16 param0, s16 param1, s16 param2, fx32 param3, u32 param4)
-{
- if (param0 != 0)
- {
- if ((param4 & 1) != 0)
- {
- G2x_SetBlendBrightness_(reg_addr_G2_BLDCNT, param3, param2);
- FUN_0200A1A0(&UNK_021C4694, param0, param1, param2, param3, 1);
- }
-
- if ((param4 & 2) != 0)
- {
- G2x_SetBlendBrightness_(reg_addr_G2S_DB_BLDCNT, param3, param2);
- FUN_0200A1A0(&UNK_021C4674, param0, param1, param2, param3, 2);
- }
- }
-}
-
-THUMB_FUNC void FUN_0200A274(fx32 brightness, fx32 param1, u32 param2)
-{
-
- if ((param2 & 1) != 0)
- {
- G2x_SetBlendBrightness_(reg_addr_G2_BLDCNT, param1, brightness);
- }
-
- if ((param2 & 2) != 0)
- {
- G2x_SetBlendBrightness_(reg_addr_G2S_DB_BLDCNT, param1, brightness);
- }
-
- FUN_0200A2D8(param2);
-}
-
-THUMB_FUNC void FUN_0200A2AC(void)
-{
- MI_CpuFill8(&UNK_021C4694, 0, sizeof(struct UnkStruct_0200A104));
- MI_CpuFill8(&UNK_021C4674, 0, sizeof(struct UnkStruct_0200A104));
-
- UNK_021C4694.unk1c = 0;
- UNK_021C4674.unk1c = 0;
-}
-
-THUMB_FUNC void FUN_0200A2D8(u32 param0)
-{
- if (param0 & 1)
- {
- MI_CpuFill8(&UNK_021C4694, 0, sizeof(struct UnkStruct_0200A104));
- UNK_021C4694.unk1c = 0;
- }
-
- if (param0 & 2)
- {
- MI_CpuFill8(&UNK_021C4674, 0, sizeof(struct UnkStruct_0200A104));
- UNK_021C4674.unk1c = 0;
- }
-}
-
-THUMB_FUNC void FUN_0200A318(void)
-{
- if (UNK_021C4694.unk1c)
- {
- FUN_0200A104(&UNK_021C4694);
- }
-
- if (UNK_021C4674.unk1c)
- {
- FUN_0200A104(&UNK_021C4674);
- }
-}
-
-THUMB_FUNC u32 FUN_0200A344(u32 param0)
-{
- if (param0 == 3)
- {
- if (UNK_021C4694.unk1c == 0 && UNK_021C4674.unk1c == 0)
- {
- return 1;
- }
- }
- else if (param0 == 1)
- {
- if (UNK_021C4694.unk1c == 0)
- {
- return 1;
- }
- }
- else if (param0 == 2)
- {
- if (UNK_021C4674.unk1c == 0)
- {
- return 1;
- }
- }
-
- return 0;
-}
diff --git a/arm9/src/unk_0200BB14.c b/arm9/src/unk_0200BB14.c
index d862ad2d..093d35c1 100644
--- a/arm9/src/unk_0200BB14.c
+++ b/arm9/src/unk_0200BB14.c
@@ -4,7 +4,7 @@
#include "heap.h"
#include "unk_02008AA4.h"
#include "unk_02008DEC.h"
-#include "unk_02009EAC.h"
+#include "oam.h"
extern void FUN_0201D060(u32 *param0, u32 param1, u32 param2);
extern void FUN_0201E00C(u32 param0, u32 param1);
@@ -158,7 +158,7 @@ THUMB_FUNC void FUN_0200BC1C(u32 *param0)
THUMB_FUNC void FUN_0200BC30()
{
- FUN_02009F80();
+ ApplyAndResetOamManagerBuffer();
}
THUMB_FUNC void FUN_0200BC38()
@@ -205,7 +205,7 @@ THUMB_FUNC void FUN_0200BCB0(u32 *param0)
if (param0[2] == 1)
{
- FUN_02009FA0();
+ DeinitOamData();
}
}
diff --git a/arm9/src/wfc_user_info_warning.c b/arm9/src/wfc_user_info_warning.c
index 4ba4166c..370cf314 100644
--- a/arm9/src/wfc_user_info_warning.c
+++ b/arm9/src/wfc_user_info_warning.c
@@ -10,7 +10,7 @@
#include "string16.h"
#include "text.h"
#include "wfc_user_info_warning.h"
-#include "unk_0200A104.h"
+#include "brightness.h"
extern void FUN_02002ED0(enum GFBgLayer layer, u32 base_addr, u32 heap_id);
extern void FUN_0200CB00(struct BgConfig* bg_config, enum GFBgLayer layer, u32 num_tiles, u32, u8, u32 heap_id);
@@ -118,7 +118,7 @@ THUMB_FUNC void ShowWFCUserInfoWarning(u32 heap_id, u32 a1)
GX_BothDispOn();
FUN_0200E394(0);
FUN_0200E394(1);
- FUN_0200A274(0, 0x3F, 3);
+ SetBrightness(0, 0x3F, 3);
while (TRUE)
{