Give names to ds only game option struct fields

This commit is contained in:
DizzyEggg 2025-06-17 18:14:08 +02:00
parent 6e05f62e04
commit 35c1065e22
11 changed files with 249 additions and 201 deletions

View File

@ -42,11 +42,15 @@ enum windowColor
NUM_WINDOW_COLORS,
};
enum GameControls
{
CONTROLS_GBA,
CONTROLS_DS,
};
// size: 0x10
typedef struct GameOptions
{
// TODO: find where Controls/Touch Screen are in this structure in PMD Blue
/* 0x0 */ u8 dungeonSpeed;
/* 0x1 */ u8 FarOffPals;
/* 0x2 */ bool8 damageTurn;
@ -54,8 +58,8 @@ typedef struct GameOptions
/* 0x4 */ u8 mapOption;
/* 0x5 */ u8 fill5[3];
/* 0x8 */ u8 windowColor;
/* 0x9 */ u8 unk9; // maybe Controls?
/* 0xA */ u8 unkA; // maybe Touch Screen?
/* 0x9 */ u8 controls; // DS only
/* 0xA */ bool8 touchScreen; // DS only
/* 0xB */ u8 playerGender;
/* 0xC */ u8 unkC;
} GameOptions;
@ -63,9 +67,9 @@ typedef struct GameOptions
extern GameOptions *gGameOptionsRef;
GameOptions *GetGameOptions(void);
bool8 GameOptionsNotChange(GameOptions *);
bool8 GameOptionsNotChange(GameOptions *newOptions);
void InitializeGameOptions(bool8 initializeGender);
void LoadGameOptions(void);
void SetWindowBGColor(void);
#endif // GUARD_GAME_OPTIONS_H
#endif // GUARD_GAME_OPTIONS_H

View File

@ -13,7 +13,7 @@ void sub_8012A18()
{
UpdateSoundEffectCounters();
DrawDialogueBoxString();
nullsub_8(gGameOptionsRef->unkA);
nullsub_8(gGameOptionsRef->touchScreen);
sub_8005180();
sub_80060EC();
WaitForNextFrameAndAdvanceRNG();

View File

@ -4,7 +4,12 @@
#include "game_options.h"
#include "event_flag.h"
#include "ground_main.h"
#include "ground_place.h"
#include "code_80A26CC.h"
#include "constants/ground_map.h"
#include "constants/friend_area.h"
// This file effectively does nothing on GBA.
struct unkStruct_3001B68
{
@ -16,47 +21,48 @@ struct unkStruct_3001B68
u8 unkD;
u8 unkE;
u32 unk10;
s16 unk14;
s16 unk16;
u8 unk18;
s16 mapId;
s16 groundPlaceId;
u8 friendAreaId;
u8 unk19;
u32 unk1C;
u8 unk20;
};
static IWRAM_INIT struct unkStruct_3001B68 *gUnknown_3001B68 = {NULL};
static IWRAM_INIT struct unkStruct_3001B68 *sUnknown_3001B68 = {NULL};
UNUSED static const u8 sUnused[4] = {0};
void sub_809C63C();
u8 sub_809C740(void);
void nullsub_107();
void nullsub_108();
void nullsub_109();
void nullsub_110();
void nullsub_111();
void nullsub_112();
void nullsub_113();
void nullsub_114();
void nullsub_115();
void nullsub_116();
bool8 sub_809C740(void);
void sub_809C63C(void);
static void nullsub_107();
static void nullsub_108();
static void nullsub_109();
static void nullsub_110();
static void nullsub_111();
static void nullsub_112();
static void nullsub_113();
static void nullsub_114();
static void nullsub_115();
static void nullsub_116();
void sub_809C5C4(void)
{
gUnknown_3001B68 = MemoryAlloc(sizeof(struct unkStruct_3001B68), 6);
gUnknown_3001B68->unk0 = 0;
gUnknown_3001B68->unk4 = 0;
gUnknown_3001B68->unk8 = 0;
gUnknown_3001B68->unkA = 0;
gUnknown_3001B68->unkD = 0;
gUnknown_3001B68->unkE = 0;
gUnknown_3001B68->unk10 = 0;
gUnknown_3001B68->unk14 = 0xffff;
gUnknown_3001B68->unk16 = 0x23;
gUnknown_3001B68->unk18 = 0;
gUnknown_3001B68->unk19 = 0x3f;
gUnknown_3001B68->unk1C = 0;
gUnknown_3001B68->unk20 = 0;
sUnknown_3001B68 = MemoryAlloc(sizeof(struct unkStruct_3001B68), 6);
sUnknown_3001B68->unk0 = 0;
sUnknown_3001B68->unk4 = 0;
sUnknown_3001B68->unk8 = 0;
sUnknown_3001B68->unkA = 0;
sUnknown_3001B68->unkD = 0;
sUnknown_3001B68->unkE = 0;
sUnknown_3001B68->unk10 = 0;
sUnknown_3001B68->mapId = -1;
sUnknown_3001B68->groundPlaceId = GROUND_PLACE_DIRECTION;
sUnknown_3001B68->friendAreaId = 0;
sUnknown_3001B68->unk19 = 0x3f;
sUnknown_3001B68->unk1C = 0;
sUnknown_3001B68->unk20 = 0;
nullsub_107();
sub_809C63C();
}
@ -66,20 +72,19 @@ void sub_809C618(void)
sub_809C63C();
nullsub_107();
nullsub_108();
MemoryFree(gUnknown_3001B68);
gUnknown_3001B68 = NULL;
FREE_AND_SET_NULL(sUnknown_3001B68);
}
void sub_809C63C(void)
{
nullsub_108();
gUnknown_3001B68->unk1C = 0;
gUnknown_3001B68->unk20 = 0;
sUnknown_3001B68->unk1C = 0;
sUnknown_3001B68->unk20 = 0;
}
void sub_809C658(void)
{
switch(gUnknown_3001B68->unkA) {
switch(sUnknown_3001B68->unkA) {
case 3:
nullsub_111();
nullsub_112();
@ -108,10 +113,9 @@ void sub_809C658(void)
void sub_809C6CC(u16 param_1)
{
if(gUnknown_3001B68->unk8 != param_1)
{
gUnknown_3001B68->unk8 = param_1;
gUnknown_3001B68->unkE = 0;
if (sUnknown_3001B68->unk8 != param_1) {
sUnknown_3001B68->unk8 = param_1;
sUnknown_3001B68->unkE = 0;
}
}
@ -130,139 +134,137 @@ void sub_809C6EC(void)
}
}
u16 sub_809C724(void)
UNUSED static u16 sub_809C724(void)
{
return gUnknown_3001B68->unk8;
return sUnknown_3001B68->unk8;
}
u8 sub_809C730(void)
bool8 sub_809C730(void)
{
return sub_809C740();
return sub_809C740();
}
u8 sub_809C740(void)
bool8 sub_809C740(void)
{
if(gUnknown_3001B68->unk0 == 0)
return 1;
else
return 0;
if (sUnknown_3001B68->unk0 == 0)
return TRUE;
else
return FALSE;
}
// Called in a number of places, like when the player changes the team leader in sub_80278B4().
void nullsub_104(void)
{ }
{
}
void sub_809C760(void)
{
gUnknown_3001B68->unkE = 1;
sUnknown_3001B68->unkE = 1;
}
void sub_809C770(s16 param_1, s16 param_2)
void sub_809C770(s16 mapId_, s16 groundPlaceId_)
{
u8 uVar2;
u8 friendAreaId;
u8 uVar3;
s32 iVar5;
u32 uVar6;
s32 mapId = mapId_;
s32 groundPlaceId = groundPlaceId_;
s32 param_1_s32;
s32 param_2_s32;
param_1_s32 = param_1;
param_2_s32 = param_2;
if (gUnknown_3001B68->unkE != 0) {
gUnknown_3001B68->unkE = 0;
if (sUnknown_3001B68->unkE != 0) {
sUnknown_3001B68->unkE = 0;
return;
}
if (gUnknown_3001B68->unk8 == 0) {
if (sUnknown_3001B68->unk8 == 0) {
sub_809C6EC();
}
uVar2 = gUnknown_3001B68->unk18;
uVar3 = gUnknown_3001B68->unk19;
switch(param_2_s32) {
case 9:
uVar2 = MapIdToFriendAreaId(param_1_s32);
if (uVar2 == 0) {
friendAreaId = sUnknown_3001B68->friendAreaId;
uVar3 = sUnknown_3001B68->unk19;
switch (groundPlaceId) {
case GROUND_PLACE_FRIEND_AREAS:
friendAreaId = MapIdToFriendAreaId(mapId);
if (friendAreaId == FRIEND_AREA_NONE) {
return;
}
uVar6 = 1;
break;
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 10:
case 0xb:
case GROUND_PLACE_SQUARE:
case GROUND_PLACE_SQUARE_2:
case GROUND_PLACE_POKEMON_SQUARE:
case GROUND_PLACE_WHISCASH_POND:
case GROUND_PLACE_PELIPPER_POST_OFFICE:
case GROUND_PLACE_PELIPPER_POST_OFFICE_INSIDE:
case GROUND_PLACE_MAKUHITA_DOJO:
case GROUND_PLACE_MAKUHITA_DOJO_INSIDE:
case GROUND_PLACE_LUMINOUS_CAVE:
case GROUND_PLACE_TEAM_BASE:
case GROUND_PLACE_TEAM_BASE_INSIDE:
uVar6 = 1;
uVar2 = 0;
friendAreaId = FRIEND_AREA_NONE;
break;
case 0x23:
switch((s16)(param_1_s32)) {
case 0xA4:
case 0xA5:
case 0xA8:
case 0xA9:
case 0xAA:
case 0xAE:
case 0xAF:
case 0xB0:
case 0xB1:
case GROUND_PLACE_DIRECTION:
switch((s16)(mapId)) {
case MAP_FUGITIVES_FISSURE:
case MAP_FUGITIVES_FIRE:
case MAP_FUGITIVES_SNOW_ROAD:
case MAP_FUGITIVES_SNOW_FOREST:
case MAP_FUGITIVES_BLIZZARD_ROAD:
case MAP_NIGHTMARE:
case MAP_NIGHT_SKY_1:
case MAP_NIGHT_SKY_2:
case MAP_THE_END:
uVar6 = 0;
break;
default:
return;
}
break;
case 0x24:
case 0x25:
case 0x26:
case GROUND_PLACE_NEW_GAME:
case GROUND_PLACE_SCENE:
case GROUND_PLACE_INVALIDITY:
uVar6 = 0;
break;
default:
switch((s16)(param_2_s32 - 0xc)) {
case 1:
switch((s16)(groundPlaceId)) {
case GROUND_PLACE_TINY_WOODS:
iVar5 = 0;
break;
case 6:
case 7:
case GROUND_PLACE_MT_THUNDER:
case GROUND_PLACE_MT_THUNDER_MID:
iVar5 = 7;
break;
case 8:
case 9:
case GROUND_PLACE_GREAT_CANYON:
case GROUND_PLACE_HILL_OF_THE_ANCIENTS:
iVar5 = 9;
break;
case 10:
case GROUND_PLACE_LAPIS_CAVE:
iVar5 = 10;
break;
case 0xc:
case 0xd:
case GROUND_PLACE_MT_BLAZE:
case GROUND_PLACE_MT_BLAZE_MID:
iVar5 = 0xb;
break;
case 0xe:
case 0xf:
case GROUND_PLACE_FROSTY_FOREST:
case GROUND_PLACE_FROSTY_CLEARING:
iVar5 = 0xd;
break;
case 0x10:
case 0x11:
case GROUND_PLACE_MT_FREEZE:
case GROUND_PLACE_MT_FREEZE_MID:
iVar5 = 0xf;
break;
case 0x12:
case 0x13:
case GROUND_PLACE_MAGMA_CAVERN:
case GROUND_PLACE_MAGMA_CAVERN_MID:
iVar5 = 0x11;
break;
case 0x14:
case 0x15:
case GROUND_PLACE_SKY_TOWER:
case GROUND_PLACE_SKY_TOWER_MID:
iVar5 = 0x13;
break;
case 0x16:
case GROUND_PLACE_WESTERN_CAVE:
iVar5 = 0x20;
break;
case 0:
case GROUND_PLACE_DUNGEON:
default:
iVar5 = (s16)GetScriptVarValue(NULL,DUNGEON_ENTER);
break;
@ -275,70 +277,70 @@ void sub_809C770(s16 param_1, s16 param_2)
uVar6 = 2;
break;
}
if (gUnknown_3001B68->unk10 != uVar6) {
gUnknown_3001B68->unk0 = 2;
gUnknown_3001B68->unkC = 1;
gUnknown_3001B68->unk20 = 1;
if (sUnknown_3001B68->unk10 != uVar6) {
sUnknown_3001B68->unk0 = 2;
sUnknown_3001B68->unkC = 1;
sUnknown_3001B68->unk20 = 1;
}
else
{
else {
if (uVar6 == 1) {
if ((uVar2 != gUnknown_3001B68->unk18) ||
(gUnknown_3001B68->unk14 != param_1_s32)) {
gUnknown_3001B68->unkC = 1;
gUnknown_3001B68->unk20 = 1;
if (friendAreaId != sUnknown_3001B68->friendAreaId || sUnknown_3001B68->mapId != mapId) {
sUnknown_3001B68->unkC = 1;
sUnknown_3001B68->unk20 = 1;
}
else {
if ((uVar2 == 0) && (gUnknown_3001B68->unk16 != param_2_s32)) {
gUnknown_3001B68->unkC = 1;
if (friendAreaId == FRIEND_AREA_NONE && sUnknown_3001B68->groundPlaceId != groundPlaceId) {
sUnknown_3001B68->unkC = 1;
}
}
}
else if ((uVar6 == 2) &&
((uVar3 != gUnknown_3001B68->unk19 || (gUnknown_3001B68->unk16 != param_2_s32))))
else if (uVar6 == 2 &&
(uVar3 != sUnknown_3001B68->unk19 || (sUnknown_3001B68->groundPlaceId != groundPlaceId)))
{
gUnknown_3001B68->unkC = 1;
gUnknown_3001B68->unk20 = 1;
sUnknown_3001B68->unkC = 1;
sUnknown_3001B68->unk20 = 1;
}
}
if (gUnknown_3001B68->unkC != 0) {
gUnknown_3001B68->unk10 = uVar6;
gUnknown_3001B68->unk14 = param_1_s32;
gUnknown_3001B68->unk16 = param_2_s32;
gUnknown_3001B68->unk18 = uVar2;
gUnknown_3001B68->unk19 = uVar3;
if (gUnknown_3001B68->unk8 != 4) {
gUnknown_3001B68->unkC = 0;
gUnknown_3001B68->unk20 = 0;
if (sUnknown_3001B68->unkC != 0) {
sUnknown_3001B68->unk10 = uVar6;
sUnknown_3001B68->mapId = mapId;
sUnknown_3001B68->groundPlaceId = groundPlaceId;
sUnknown_3001B68->friendAreaId = friendAreaId;
sUnknown_3001B68->unk19 = uVar3;
if (sUnknown_3001B68->unk8 != 4) {
sUnknown_3001B68->unkC = 0;
sUnknown_3001B68->unk20 = 0;
}
}
}
void nullsub_105(void) {}
void nullsub_105(void)
{
}
void sub_809CA20(void)
{
u16 *puVar1;
if (gUnknown_3001B68->unk0 != 0) {
gUnknown_3001B68->unk0 = 0;
gUnknown_3001B68->unk4 = 0x1f;
gUnknown_3001B68->unkC = 1;
if (sUnknown_3001B68->unk0 != 0) {
sUnknown_3001B68->unk0 = 0;
sUnknown_3001B68->unk4 = 0x1f;
sUnknown_3001B68->unkC = 1;
}
if (gUnknown_3001B68->unkC != 0) {
puVar1 = &gUnknown_3001B68->unk8;
gUnknown_3001B68->unkA = *puVar1;
if ((*puVar1 == 4) && (gUnknown_3001B68->unk10 == 0)) {
gUnknown_3001B68->unkA = 2;
gUnknown_3001B68->unk1C = 0;
gUnknown_3001B68->unk20 = 0;
if (sUnknown_3001B68->unkC != 0) {
sUnknown_3001B68->unkA = sUnknown_3001B68->unk8;
if (sUnknown_3001B68->unk8 == 4 && sUnknown_3001B68->unk10 == 0) {
sUnknown_3001B68->unkA = 2;
sUnknown_3001B68->unk1C = 0;
sUnknown_3001B68->unk20 = 0;
}
switch(gUnknown_3001B68->unkA) {
switch (sUnknown_3001B68->unkA) {
case 3:
nullsub_111();
nullsub_113();
nullsub_112();
gUnknown_3001B68->unkD = 1;
sUnknown_3001B68->unkD = 1;
break;
case 4:
nullsub_114();
@ -359,11 +361,10 @@ void sub_809CA20(void)
nullsub_108();
break;
}
gUnknown_3001B68->unkC = 0;
sUnknown_3001B68->unkC = 0;
}
else {
switch(gUnknown_3001B68->unkA) {
switch (sUnknown_3001B68->unkA) {
case 3:
nullsub_113();
break;
@ -378,14 +379,57 @@ void sub_809CA20(void)
}
}
void nullsub_106(void) {}
void nullsub_107(void) {}
void nullsub_108(void) {}
void nullsub_109(void) {}
void nullsub_110(void) {}
void nullsub_111(void) {}
void nullsub_112(void) {}
void nullsub_113(void) {}
void nullsub_114(void) {}
void nullsub_115(void) {}
void nullsub_116(void) {}
void nullsub_106(void)
{
}
static void nullsub_107(void)
{
}
static void nullsub_108(void)
{
}
static void nullsub_109(void)
{
}
static void nullsub_110(void)
{
}
static void nullsub_111(void)
{
}
static void nullsub_112(void)
{
}
static void nullsub_113(void)
{
}
static void nullsub_114(void)
{
}
static void nullsub_115(void)
{
}
static void nullsub_116(void)
{
}

View File

@ -143,7 +143,7 @@ UNUSED static void DebugMapViewer(void)
DrawDialogueBoxString();
sub_8005838(NULL, 0);
sub_80060EC();
nullsub_8(gGameOptionsRef->unkA);
nullsub_8(gGameOptionsRef->touchScreen);
sub_8005180();
sub_8099BE4();
sub_8099744();

View File

@ -356,7 +356,7 @@ void DungeonHandlePlayerInput(void)
break;
}
if (gGameOptionsRef->unk9 == 0
if (gGameOptionsRef->controls == CONTROLS_GBA
&& (gRealInputs.pressed & B_BUTTON || (!unkBool && bPress))
&& unkPtr->unk1821A != 0)
{
@ -386,7 +386,7 @@ void DungeonHandlePlayerInput(void)
}
highlightTiles = FALSE;
if (gGameOptionsRef->unk9 == 0) {
if (gGameOptionsRef->controls == CONTROLS_GBA) {
if (gRealInputs.shortPress & R_BUTTON || rPress || gRealInputs.pressed & START_BUTTON) {
highlightTiles = TRUE;
}

View File

@ -937,7 +937,7 @@ static void PrintHintsMenu(void)
static void ShowChosenHintWindow(s32 hintId)
{
bool8 unk9 = (gGameOptionsRef->unk9 != 0);
bool8 dsControls = (gGameOptionsRef->controls != CONTROLS_GBA);
while (1) {
bool8 dpadPressed = FALSE;
@ -981,7 +981,7 @@ static void ShowChosenHintWindow(s32 hintId)
gDungeonMenu.leftRightArrowsPos.y = ((gWindows[0].y + 1) * 8) - 2;
sub_80073B8(0);
PrintFormattedStringOnWindow(16 + hintId * 8, 0, gHintsNames[hintId], 0, '\0');
PrintFormattedStringOnWindow(8, 16, gHintsDescriptions[unk9][hintId], 0, '\0');
PrintFormattedStringOnWindow(8, 16, gHintsDescriptions[dsControls][hintId], 0, '\0');
sub_80073E0(0);
while (1) {

View File

@ -210,7 +210,7 @@ static void sub_803E490(u32 unused)
if(gDungeon->unk181e8.unk18215 != 0 && gDungeon->unk1BDD4.unk1C06C != 3)
sub_8004AF0(gUnknown_203B40D, gUnknown_202EE8C, 0xA0, 0x20, gDungeonBrightness, gDungeon->colorRamp);
nullsub_8(gGameOptionsRef->unkA);
nullsub_8(gGameOptionsRef->touchScreen);
sub_8005180();
nullsub_12();
sub_80060EC();
@ -243,7 +243,7 @@ static void sub_803E490(u32 unused)
void sub_803E668(u32 unused)
{
gUnknown_202EDD4++;
nullsub_8(gGameOptionsRef->unkA);
nullsub_8(gGameOptionsRef->touchScreen);
sub_8005180();
nullsub_12();
sub_8005838(NULL, 0);

View File

@ -378,7 +378,7 @@ void FriendAreasMap_RunFrameActions(void)
AnimateSprites();
sub_8004AF0(FadeScreen(), gFriendAreasMapPtr->unk4C4C, 0xB0, 16, gFriendAreasMapPtr->brightness, NULL);
sub_8005838(NULL, 0);
nullsub_8(gGameOptionsRef->unkA);
nullsub_8(gGameOptionsRef->touchScreen);
sub_8005180();
sub_80060EC();
IncrementPlayTime(gPlayTimeRef);

View File

@ -30,8 +30,8 @@ void InitializeGameOptions(bool8 initializeGender)
{
gGameOptionsRef->playerGender = MALE;
}
gGameOptionsRef->unk9 = 0;
gGameOptionsRef->unkA = 0;
gGameOptionsRef->controls = CONTROLS_GBA;
gGameOptionsRef->touchScreen = 0;
gGameOptionsRef->dungeonSpeed = DUNGEON_SPEED_SLOW;
gGameOptionsRef->FarOffPals = FAROFFPALS_LOCK;
gGameOptionsRef->damageTurn = TRUE;
@ -41,27 +41,27 @@ void InitializeGameOptions(bool8 initializeGender)
SetWindowBGColor();
}
bool8 GameOptionsNotChange(GameOptions *r0)
bool8 GameOptionsNotChange(GameOptions *newOptions)
{
if (gGameOptionsRef->windowColor != r0->windowColor)
if (gGameOptionsRef->windowColor != newOptions->windowColor)
return FALSE;
if (gGameOptionsRef->unk9 != r0->unk9)
if (gGameOptionsRef->controls != newOptions->controls)
return FALSE;
if (gGameOptionsRef->unkA != r0->unkA)
if (gGameOptionsRef->touchScreen != newOptions->touchScreen)
return FALSE;
if (gGameOptionsRef->playerGender != r0->playerGender)
if (gGameOptionsRef->playerGender != newOptions->playerGender)
return FALSE;
if (gGameOptionsRef->dungeonSpeed != r0->dungeonSpeed)
if (gGameOptionsRef->dungeonSpeed != newOptions->dungeonSpeed)
return FALSE;
if (gGameOptionsRef->FarOffPals != r0->FarOffPals)
if (gGameOptionsRef->FarOffPals != newOptions->FarOffPals)
return FALSE;
if (gGameOptionsRef->damageTurn != r0->damageTurn)
if (gGameOptionsRef->damageTurn != newOptions->damageTurn)
return FALSE;
if (gGameOptionsRef->gridEnable != r0->gridEnable)
if (gGameOptionsRef->gridEnable != newOptions->gridEnable)
return FALSE;
if (gGameOptionsRef->mapOption != r0->mapOption)
if (gGameOptionsRef->mapOption != newOptions->mapOption)
return FALSE;
if (gGameOptionsRef->unkC != r0->unkC)
if (gGameOptionsRef->unkC != newOptions->unkC)
return FALSE;
return TRUE;
@ -79,7 +79,7 @@ void WriteGameOptionsBits(DataSerializer *param_1)
WriteBits(param_1, &gGameOptionsRef->windowColor, 2);
if(gGameOptionsRef->unk9 != 0)
if (gGameOptionsRef->controls != CONTROLS_GBA)
{
puVar2 = &neg_1;
}
@ -89,7 +89,7 @@ void WriteGameOptionsBits(DataSerializer *param_1)
}
WriteBits(param_1, puVar2, 1);
if(gGameOptionsRef->unkA != 0)
if(gGameOptionsRef->touchScreen)
{
puVar2 = &neg_1;
}
@ -160,10 +160,10 @@ void ReadGameOptionsBits(DataSerializer *param_1)
gGameOptionsRef->windowColor = byteArray[0] & NUM_WINDOW_COLORS;
ReadBits(param_1, byteArray, 1);
gGameOptionsRef->unk9 = byteArray[0] & 1;
gGameOptionsRef->controls = byteArray[0] & 1;
ReadBits(param_1, byteArray, 1);
gGameOptionsRef->unkA = byteArray[0] & 1;
gGameOptionsRef->touchScreen = byteArray[0] & 1;
ReadBits(param_1, byteArray, 1);
gGameOptionsRef->playerGender = byteArray[0] & 1;

View File

@ -281,7 +281,7 @@ static void MainLoops_RunFrameActions(u32 unused)
{
DrawDialogueBoxString();
sub_8005838(NULL, 0);
nullsub_8(gGameOptionsRef->unkA);
nullsub_8(gGameOptionsRef->touchScreen);
sub_8005180();
// Extra call here in blue. Seems to be for 2nd screen sprites

View File

@ -404,7 +404,7 @@ static void WorldMap_RunFrameActions(void)
AnimateSprites(TRUE);
FadeScreen();
sub_8005838(NULL, 0);
nullsub_8(gGameOptionsRef->unkA);
nullsub_8(gGameOptionsRef->touchScreen);
sub_8005180();
sub_80060EC();
IncrementPlayTime(gPlayTimeRef);