switch fully to battle type constants

This commit is contained in:
red031000 2023-08-12 00:12:28 +01:00
parent 1521acf3f0
commit d5a1d28c99
No known key found for this signature in database
GPG Key ID: D27E50C050AE0CE1
3 changed files with 35 additions and 23 deletions

View File

@ -1,5 +1,6 @@
#include "global.h"
#include "encounter.h"
#include "constants/battle.h"
#include "constants/game_stats.h"
#include "event_data.h"
#include "field_system.h"
@ -120,7 +121,7 @@ static BOOL GetEncounterResult(Encounter *encounter) {
}
static void sub_020465E4(BattleSetup *setup, FieldSystem *fieldSystem) {
if (!(setup->flags & BATTLE_SETUP_FLAG_UNK_31)) {
if (!(setup->flags & BATTLE_TYPE_DEBUG)) {
sub_02047F38(setup, fieldSystem);
}
}
@ -146,7 +147,7 @@ static BOOL Task_StartEncounter(TaskManager *taskManager) { //todo: better name
break;
case 3:
sub_020465E4(encounter->setup, fieldSystem);
if (encounter->setup->flags == BATTLE_SETUP_FLAG_NONE || encounter->setup->flags == BATTLE_SETUP_FLAG_UNK_8 || encounter->setup->flags == (BATTLE_SETUP_FLAG_UNK_1 | BATTLE_SETUP_FLAG_UNK_3 | BATTLE_SETUP_FLAG_UNK_6)) {
if (encounter->setup->flags == BATTLE_TYPE_NONE || encounter->setup->flags == BATTLE_TYPE_8 || encounter->setup->flags == (BATTLE_TYPE_DOUBLES | BATTLE_TYPE_MULTI | BATTLE_TYPE_6)) {
sub_02061080(fieldSystem, encounter->setup->unk134, encounter->setup->winFlag);
}
@ -440,7 +441,7 @@ static BOOL Task_SafariEncounter(TaskManager *taskManager) {
sub_020465E4(encounter->setup, fieldSystem);
if (encounter->setup->winFlag == 4) {
SafariZone *safariZone = Save_SafariZone_Get(fieldSystem->saveData);
Pokemon *pokemon = GetPartyMonByIndex(encounter->setup->party[1], 0);
Pokemon *pokemon = GetPartyMonByIndex(encounter->setup->party[BATTLER_ENEMY], 0);
sub_02060FE0(safariZone, pokemon);
}
@ -488,7 +489,7 @@ static BOOL Task_SafariEncounter(TaskManager *taskManager) {
void SetupAndStartHoneyTreeBattle(TaskManager *taskManager, u32 *winFlag) {
FieldSystem *fieldSystem = TaskManager_GetFieldSystem(taskManager);
sub_0205DD40(fieldSystem->unk90);
BattleSetup *setup = BattleSetup_New(HEAP_ID_FIELD, BATTLE_SETUP_FLAG_NONE);
BattleSetup *setup = BattleSetup_New(HEAP_ID_FIELD, BATTLE_TYPE_NONE);
BattleSetup_InitFromFieldSystem(setup, fieldSystem);
setup->unk150 = 0;
@ -504,7 +505,7 @@ void SetupAndStartWildBattle(TaskManager *taskManager, u16 species, u8 level, u3
BattleSetup *setup;
FieldSystem *fieldSystem = TaskManager_GetFieldSystem(taskManager);
sub_0205DD40(fieldSystem->unk90);
setup = BattleSetup_New(HEAP_ID_FIELD, BATTLE_SETUP_FLAG_NONE);
setup = BattleSetup_New(HEAP_ID_FIELD, BATTLE_TYPE_NONE);
BattleSetup_InitFromFieldSystem(setup, fieldSystem);
ov06_0223CD7C(fieldSystem, species, level, setup);
@ -571,7 +572,7 @@ void sub_02046F70(FieldSystem *fieldSystem, BattleSetup *setup) {
void SetupAndStartFirstBattle(TaskManager *taskManager, u16 species, u8 level) {
FieldSystem *fieldSystem = TaskManager_GetFieldSystem(taskManager);
BattleSetup *setup = BattleSetup_New(HEAP_ID_FIELD, 0);
BattleSetup *setup = BattleSetup_New(HEAP_ID_FIELD, BATTLE_TYPE_NONE);
BattleSetup_InitFromFieldSystem(setup, fieldSystem);
ov06_0223CD7C(fieldSystem, species, level, setup);

View File

@ -4,20 +4,6 @@
#include "global.h"
#include "party.h"
#define BATTLE_SETUP_FLAG_NONE (0)
#define BATTLE_SETUP_FLAG_UNK_0 (1 << 0)
#define BATTLE_SETUP_FLAG_UNK_1 (1 << 1)
#define BATTLE_SETUP_FLAG_UNK_2 (1 << 2)
#define BATTLE_SETUP_FLAG_UNK_3 (1 << 3)
#define BATTLE_SETUP_FLAG_UNK_4 (1 << 4)
#define BATTLE_SETUP_FLAG_UNK_5 (1 << 5)
#define BATTLE_SETUP_FLAG_UNK_6 (1 << 6)
#define BATTLE_SETUP_FLAG_UNK_8 (1 << 8)
#define BATTLE_SETUP_FLAG_UNK_9 (1 << 9)
#define BATTLE_SETUP_FLAG_UNK_10 (1 << 10)
#define BATTLE_SETUP_FLAG_HEAL_AFTER_DEFEAT (1 << 11)
#define BATTLE_SETUP_FLAG_UNK_31 (1 << 31)
typedef struct BattleSetupUnkSub138 {
u32 unk0;
u32 unk4;

View File

@ -1,5 +1,30 @@
#ifndef POKEDIAMOND_BATTLE_H
#define POKEDIAMOND_BATTLE_H
#ifndef POKEDIAMOND_CONSTANTS_BATTLE_H
#define POKEDIAMOND_CONSTANTS_BATTLE_H
//Battler IDs
#define BATTLER_NONE 0xFF
#define BATTLER_PLAYER 0
#define BATTLER_ENEMY 1
#define BATTLER_PLAYER2 2
#define BATTLER_ENEMY2 3
//Battle Type
#define BATTLE_TYPE_NONE 0
#define BATTLE_TYPE_TRAINER (1 << 0)
#define BATTLE_TYPE_DOUBLES (1 << 1)
#define BATTLE_TYPE_LINK (1 << 2)
#define BATTLE_TYPE_MULTI (1 << 3)
#define BATTLE_TYPE_INGAME_PARTNER (1 << 4)
#define BATTLE_TYPE_SAFARI (1 << 5)
#define BATTLE_TYPE_6 (1 << 6)
#define BATTLE_TYPE_TOWER (1 << 7)
#define BATTLE_TYPE_8 (1 << 8)
#define BATTLE_TYPE_PAL_PARK (1 << 9)
#define BATTLE_TYPE_TUTORIAL (1 << 10)
#define BATTLE_TYPE_11 (1 << 11)
#define BATTLE_TYPE_DEBUG (1 << 31)
#define BATTLE_TYPE_NO_EXP (BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_TOWER | BATTLE_TYPE_PAL_PARK)
#define MOVE_EFFECT_NORMAL_HIT 0
#define MOVE_EFFECT_SLEEP 1
@ -280,4 +305,4 @@
#define MOVE_EFFECT_CHARGE_BEAM 276
#endif //POKEDIAMOND_BATTLE_H
#endif //POKEDIAMOND_CONSTANTS_BATTLE_H