mirror of
https://github.com/pret/pmd-red.git
synced 2026-10-02 07:29:48 -04:00
Give names to ds only game option struct fields
This commit is contained in:
+211
-167
@@ -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)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user