document options, add constants file for options

This commit is contained in:
RavePossum
2024-04-14 08:31:56 -04:00
parent 554577e509
commit 30b684ed8a
9 changed files with 154 additions and 102 deletions

View File

@@ -0,0 +1,54 @@
#ifndef POKEPLATINUM_CONSTANTS_GAME_OPTIONS_H
#define POKEPLATINUM_CONSTANTS_GAME_OPTIONS_H
enum OptionsTextSpeed {
OPTIONS_TEXT_SPEED_SLOW = 0,
OPTIONS_TEXT_SPEED_NORMAL,
OPTIONS_TEXT_SPEED_FAST
};
enum OptionsSoundMethod {
OPTIONS_SOUND_METHOD_STEREO = 0,
OPTIONS_SOUND_METHOD_MONO
};
enum OptionsBattleStyle {
OPTIONS_BATTLE_STYLE_SHIFT = 0,
OPTIONS_BATTLE_STYLE_SET
};
enum OptionsBattleScene {
OPTIONS_BATTLE_SCENE_ON = 0,
OPTIONS_BATTLE_SCENE_OFF
};
enum OptionsButtonMode {
OPTIONS_BUTTON_MODE_NORMAL = 0,
OPTIONS_BUTTON_MODE_START_IS_X,
OPTIONS_BUTTON_MODE_L_IS_A
};
enum OptionsFrame {
OPTIONS_FRAME_1 = 0,
OPTIONS_FRAME_2,
OPTIONS_FRAME_3,
OPTIONS_FRAME_4,
OPTIONS_FRAME_5,
OPTIONS_FRAME_6,
OPTIONS_FRAME_7,
OPTIONS_FRAME_8,
OPTIONS_FRAME_9,
OPTIONS_FRAME_10,
OPTIONS_FRAME_11,
OPTIONS_FRAME_12,
OPTIONS_FRAME_13,
OPTIONS_FRAME_14,
OPTIONS_FRAME_15,
OPTIONS_FRAME_16,
OPTIONS_FRAME_17,
OPTIONS_FRAME_18,
OPTIONS_FRAME_19,
OPTIONS_FRAME_20
};
#endif // POKEPLATINUM_CONSTANTS_GAME_OPTIONS_H

View File

@@ -13,22 +13,22 @@ typedef struct Options {
u16 : 1;
} Options;
Options * sub_020279FC(u32 param0);
void sub_02027A10(const Options * param0, Options * param1);
void sub_02027A1C(Options * param0);
void sub_02027A68(SaveData * param0, int param1);
int sub_02027AA4(const Options * param0);
void sub_02027AAC(Options * param0, int param1);
u8 sub_02027AC0(const Options * param0);
int sub_02027ADC(const Options * param0);
void sub_02027AE4(Options * param0, int param1);
int GameConfig_BattleAnimations(const Options * param0);
void sub_02027B00(Options * param0, int param1);
int sub_02027B14(const Options * param0);
void sub_02027B1C(Options * param0, int param1);
int sub_02027B30(const Options * param0);
void sub_02027B38(Options * param0, int param1);
int sub_02027B50(const Options * param0);
void sub_02027B58(Options * param0, int param1);
Options* Options_AllocMemory(u32 heapID);
void Options_Copy(const Options *src, Options *dest);
void Options_Init(Options *options);
void Options_SetSystemButtonMode(SaveData *saveData, int buttonMode);
int Options_TextSpeed(const Options *options);
void Options_SetTextSpeed(Options *options, int textSpeed);
u8 sub_02027AC0(const Options *options);
int Options_SoundMethod(const Options *options);
void Options_SetSoundMethod(Options *options, int soundMethod);
int Options_BattleScene(const Options *options);
void Options_SetBattleScene(Options *options, int battleScene);
int Options_BattleStyle(const Options *options);
void Options_SetBattleStyle(Options *options, int battleStyle);
int Options_ButtonMode(const Options *options);
void Options_SetButtonMode(Options *options, int buttonMode);
int sub_02027B50(const Options *options);
void Options_SetFrame(Options *options, int frame);
#endif // POKEPLATINUM_GAME_OPTIONS_H

View File

@@ -1027,7 +1027,7 @@ BOOL BattleSystem_AnimationsOn(BattleSystem *battleSys)
return TRUE;
}
return GameConfig_BattleAnimations(battleSys->unk_1B0) == 0;
return Options_BattleScene(battleSys->unk_1B0) == 0;
}
int ov16_0223EDE0 (BattleSystem * param0)
@@ -1046,7 +1046,7 @@ u8 BattleSystem_TextSpeed (BattleSystem * param0)
int BattleSystem_Ruleset (BattleSystem * param0)
{
return sub_02027B14(param0->unk_1B0);
return Options_BattleStyle(param0->unk_1B0);
}
PokemonAnimationSys * ov16_0223EE28 (BattleSystem * param0)

View File

@@ -1,133 +1,131 @@
#include <nitro.h>
#include <string.h>
#include "constants/game_options.h"
#include "core_sys.h"
#include "savedata.h"
#include "heap.h"
#include "unk_02025E08.h"
#include "game_options.h"
#include "core_sys.h"
Options * sub_020279FC (u32 param0)
Options* Options_AllocMemory (u32 heapID)
{
Options * v0;
Options *options = Heap_AllocFromHeap(heapID, sizeof(Options));
Options_Init(options);
v0 = Heap_AllocFromHeap(param0, sizeof(Options));
sub_02027A1C(v0);
return v0;
return options;
}
void sub_02027A10 (const Options * param0, Options * param1)
void Options_Copy (const Options *src, Options *dest)
{
MI_CpuCopy8(param0, param1, sizeof(Options));
MI_CpuCopy8(src, dest, sizeof(Options));
}
void sub_02027A1C (Options * param0)
void Options_Init (Options *options)
{
MI_CpuFill8(param0, 0, sizeof(Options));
MI_CpuFill8(options, 0, sizeof(Options));
param0->textSpeed = 1;
param0->soundMethod = 0;
param0->battleStyle = 0;
param0->battleScene = 0;
param0->buttonMode = 0;
param0->frame = 0;
options->textSpeed = OPTIONS_TEXT_SPEED_NORMAL;
options->soundMethod = OPTIONS_SOUND_METHOD_STEREO;
options->battleStyle = OPTIONS_BATTLE_STYLE_SHIFT;
options->battleScene = OPTIONS_BATTLE_SCENE_ON;
options->buttonMode = OPTIONS_BUTTON_MODE_NORMAL;
options->frame = OPTIONS_FRAME_1;
}
void sub_02027A68 (SaveData * param0, int param1)
void Options_SetSystemButtonMode (SaveData *saveData, int buttonMode)
{
Options * v0;
if (param0 != NULL) {
param1 = sub_02027B30(sub_02025E44(param0));
if (saveData != NULL) {
buttonMode = Options_ButtonMode(sub_02025E44(saveData));
}
switch (param1) {
case 1:
gCoreSys.buttonMode = 1;
switch (buttonMode) {
case OPTIONS_BUTTON_MODE_START_IS_X:
gCoreSys.buttonMode = BUTTON_MODE_START_IS_X;
break;
case 2:
gCoreSys.buttonMode = 3;
case OPTIONS_BUTTON_MODE_L_IS_A:
gCoreSys.buttonMode = BUTTON_MODE_L_IS_A;
break;
case 0:
case OPTIONS_BUTTON_MODE_NORMAL:
default:
gCoreSys.buttonMode = 0;
gCoreSys.buttonMode = BUTTON_MODE_NORMAL;
break;
}
}
int sub_02027AA4 (const Options * param0)
int Options_TextSpeed (const Options *options)
{
return param0->textSpeed;
return options->textSpeed;
}
void sub_02027AAC (Options * param0, int param1)
void Options_SetTextSpeed (Options *options, int textSpeed)
{
param0->textSpeed = param1;
options->textSpeed = textSpeed;
}
u8 sub_02027AC0 (const Options * param0)
//ravetodo Options_GetTextFrameDelay
u8 sub_02027AC0 (const Options *options)
{
int v0 = sub_02027AA4(param0);
int speed = Options_TextSpeed(options);
if (v0 == 0) {
if (speed == OPTIONS_TEXT_SPEED_SLOW) {
return 8;
} else if (v0 == 1) {
} else if (speed == OPTIONS_TEXT_SPEED_NORMAL) {
return 4;
} else {
return 1;
}
}
int sub_02027ADC (const Options * param0)
int Options_SoundMethod (const Options *options)
{
return param0->soundMethod;
return options->soundMethod;
}
void sub_02027AE4 (Options * param0, int param1)
void Options_SetSoundMethod (Options *options, int soundMethod)
{
param0->soundMethod = param1;
options->soundMethod = soundMethod;
}
int GameConfig_BattleAnimations (const Options * param0)
int Options_BattleScene (const Options *options)
{
return param0->battleScene;
return options->battleScene;
}
void sub_02027B00 (Options * param0, int param1)
void Options_SetBattleScene (Options *options, int battleScene)
{
param0->battleScene = param1;
options->battleScene = battleScene;
}
int sub_02027B14 (const Options * param0)
int Options_BattleStyle (const Options *options)
{
return param0->battleStyle;
return options->battleStyle;
}
void sub_02027B1C (Options * param0, int param1)
void Options_SetBattleStyle (Options *options, int battleStyle)
{
param0->battleStyle = param1;
options->battleStyle = battleStyle;
}
int sub_02027B30 (const Options * param0)
int Options_ButtonMode (const Options *options)
{
return param0->buttonMode;
return options->buttonMode;
}
void sub_02027B38 (Options * param0, int param1)
void Options_SetButtonMode (Options *options, int buttonMode)
{
param0->buttonMode = param1;
options->buttonMode = buttonMode;
}
int sub_02027B50 (const Options * param0)
//ravetodo Options_Frame
int sub_02027B50 (const Options *options)
{
return param0->frame;
return options->frame;
}
void sub_02027B58 (Options * param0, int param1)
void Options_SetFrame (Options *options, int frame)
{
param0->frame = param1;
options->frame = frame;
}

View File

@@ -130,7 +130,7 @@ static int ov57_021D0E34 (OverlayManager * param0, int * param1)
UnkStruct_02025CCC * v1 = sub_02025CCC(v0);
ov57_021D0F30(77, v0);
sub_02027A68(v0, 0);
Options_SetSystemButtonMode(v0, 0);
if (!sub_02025D10(v1) || !sub_02025D40(v1)) {
sub_02025DE8(sub_02025CD8(v0));

View File

@@ -110,11 +110,11 @@ int ov74_021D0D80 (OverlayManager * param0, int * param1)
v0 = OverlayManager_NewData(param0, sizeof(UnkStruct_ov74_021D0D80), 38);
memset(v0, 0, sizeof(UnkStruct_ov74_021D0D80));
v0->unk_18.unk_00_0 = sub_02027AA4(v1);
v0->unk_18.unk_00_6 = GameConfig_BattleAnimations(v1);
v0->unk_18.unk_00_7 = sub_02027B14(v1);
v0->unk_18.unk_00_4 = sub_02027ADC(v1);
v0->unk_18.unk_00_8 = sub_02027B30(v1);
v0->unk_18.unk_00_0 = Options_TextSpeed(v1);
v0->unk_18.unk_00_6 = Options_BattleScene(v1);
v0->unk_18.unk_00_7 = Options_BattleStyle(v1);
v0->unk_18.unk_00_4 = Options_SoundMethod(v1);
v0->unk_18.unk_00_8 = Options_ButtonMode(v1);
v0->unk_18.unk_00_10 = sub_02027B50(v1);
v0->unk_00 = 38;
v0->unk_1C = v1;
@@ -137,14 +137,14 @@ int ov74_021D0E58 (OverlayManager * param0, int * param1)
v0->unk_18.unk_00_10 = v0->unk_5C[5].unk_02;
}
sub_02027AAC(v0->unk_1C, v0->unk_18.unk_00_0);
sub_02027B00(v0->unk_1C, v0->unk_18.unk_00_6);
sub_02027B1C(v0->unk_1C, v0->unk_18.unk_00_7);
sub_02027AE4(v0->unk_1C, v0->unk_18.unk_00_4);
sub_02027B38(v0->unk_1C, v0->unk_18.unk_00_8);
sub_02027B58(v0->unk_1C, v0->unk_18.unk_00_10);
Options_SetTextSpeed(v0->unk_1C, v0->unk_18.unk_00_0);
Options_SetBattleScene(v0->unk_1C, v0->unk_18.unk_00_6);
Options_SetBattleStyle(v0->unk_1C, v0->unk_18.unk_00_7);
Options_SetSoundMethod(v0->unk_1C, v0->unk_18.unk_00_4);
Options_SetButtonMode(v0->unk_1C, v0->unk_18.unk_00_8);
Options_SetFrame(v0->unk_1C, v0->unk_18.unk_00_10);
sub_02004FB8(v0->unk_18.unk_00_4);
sub_02027A68(NULL, v0->unk_18.unk_00_8);
Options_SetSystemButtonMode(NULL, v0->unk_18.unk_00_8);
sub_02002AC8(1);
OverlayManager_FreeData(param0);
Heap_Destroy(v0->unk_00);
@@ -632,9 +632,9 @@ static void ov74_021D17CC (UnkStruct_ov74_021D0D80 * param0, u16 param1)
if (param1 == 1) {
sub_02004FB8(param0->unk_5C[param1].unk_02);
} else if (param1 == 4) {
sub_02027A68(NULL, param0->unk_5C[param1].unk_02);
Options_SetSystemButtonMode(NULL, param0->unk_5C[param1].unk_02);
} else if (param1 == 0) {
sub_02027AAC(param0->unk_1C, param0->unk_5C[param1].unk_02);
Options_SetTextSpeed(param0->unk_1C, param0->unk_5C[param1].unk_02);
ov74_021D1BE4(param0, param1, 0);
}

View File

@@ -29,7 +29,7 @@ void Player_Init (UnkStruct_02025E0C * param0)
{
MI_CpuClearFast(param0, sizeof(UnkStruct_02025E0C));
sub_02027A1C(&param0->unk_00);
Options_Init(&param0->unk_00);
TrainerInfo_Init(&param0->unk_04);
Coins_Init(&param0->unk_24);
sub_0202CBE4(&param0->unk_26);

View File

@@ -494,7 +494,7 @@ void sub_0202F8AC (BattleParams * param0)
v2->unk_14C[v0] = Sound_Chatter(param0->unk_F0[v0]);
}
sub_02027A10(param0->unk_108, &v1->unk_1BE8);
Options_Copy(param0->unk_108, &v1->unk_1BE8);
}
void sub_0202FAA8 (int param0, u32 param1)
@@ -572,7 +572,7 @@ void sub_0202FAFC (BattleParams * param0, SaveData * param1)
param0->unk_194[v0] = v1->unk_00.unk_14C[v0];
}
sub_02027A10(sub_02025E44(param1), param0->unk_108);
Options_Copy(sub_02025E44(param1), param0->unk_108);
param0->unk_108->frame = v1->unk_1BE8.frame;
if (param0->unk_108->frame >= 20) {

View File

@@ -104,7 +104,7 @@ BattleParams * sub_02051D8C (int param0, u32 param1)
v1->unk_E0 = sub_0207D3C0(param0);
v1->unk_E8 = sub_02026324(param0);
v1->unk_108 = sub_020279FC(param0);
v1->unk_108 = Options_AllocMemory(param0);
v1->unk_10C = sub_0206D140(param0);
v1->unk_E4 = NULL;
v1->unk_190 = NULL;
@@ -173,7 +173,7 @@ BattleParams * sub_02051F4C (int param0, const FieldSystem * param1)
MessageLoader_Free(v2);
TrainerInfo_SetGender(v4->unk_D0[0], TrainerInfo_Gender(v0) ^ 1);
sub_0205281C(v4, param1);
sub_02027A10(v1, v4->unk_108);
Options_Copy(v1, v4->unk_108);
v4->unk_138 = sub_02055BA8(param1);
sub_0207D570(v4->unk_E0, 4, 20, param0);
@@ -276,7 +276,7 @@ void sub_020521B8 (BattleParams * param0, const FieldSystem * param1, SaveData *
sub_02052164(param0, v1, 0);
sub_0207D3EC(v2, param0->unk_E0);
sub_02026338(v3, param0->unk_E8);
sub_02027A10(v5, param0->unk_108);
Options_Copy(v5, param0->unk_108);
sub_020521A4(param0, v4, 0);
param0->unk_EC = SaveData_PCBoxes(param2);
@@ -337,7 +337,7 @@ void sub_02052348 (BattleParams * param0, const FieldSystem * param1, int param2
Heap_FreeToHeap(v8);
sub_0207D3EC(v4, param0->unk_E0);
sub_02026338(v5, param0->unk_E8);
sub_02027A10(v7, param0->unk_108);
Options_Copy(v7, param0->unk_108);
sub_020521A4(param0, v6, 0);
param0->unk_EC = SaveData_PCBoxes(param1->saveData);
@@ -407,7 +407,7 @@ void sub_020524E4 (BattleParams * param0, const FieldSystem * param1, const Part
sub_0207D3EC(v1, param0->unk_E0);
sub_02026338(v2, param0->unk_E8);
sub_02027A10(v4, param0->unk_108);
Options_Copy(v4, param0->unk_108);
sub_020521A4(param0, v3, 0);
param0->unk_EC = SaveData_PCBoxes(param1->saveData);