Set up battle_controller_player.c

This commit is contained in:
Adrienn Tindall 2023-06-25 02:54:16 -05:00
parent 5378f2bf83
commit 5ff50bcdf2
5 changed files with 23 additions and 36 deletions

View File

@ -6,41 +6,6 @@
.text
thumb_func_start BattleContext_New
BattleContext_New: ; 0x02248660
push {r3, r4, r5, lr}
ldr r1, _022486A4 ; =0x00003158
add r5, r0, #0
mov r0, #5
bl AllocFromHeap
add r4, r0, #0
ldr r2, _022486A4 ; =0x00003158
mov r0, #0
add r1, r4, #0
bl MIi_CpuClearFast
add r0, r4, #0
bl BattleContext_Init
add r0, r5, #0
add r1, r4, #0
bl ov12_02251038
add r0, r5, #0
add r1, r4, #0
bl ov12_0224E384
ldr r0, _022486A8 ; =0x000003DE
add r0, r4, r0
bl LoadMoveTbl
mov r0, #5
bl LoadAllItemData
ldr r1, _022486AC ; =0x00002120
str r0, [r4, r1]
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_022486A4: .word 0x00003158
_022486A8: .word 0x000003DE
_022486AC: .word 0x00002120
thumb_func_end BattleContext_New
thumb_func_start BattleMain
BattleMain: ; 0x022486B0
push {r3, r4, r5, lr}

View File

@ -1,6 +1,7 @@
#ifndef POKEHEARTGOLD_BATTLE_H
#define POKEHEARTGOLD_BATTLE_H
#include "item.h"
#include "move.h"
#include "pokemon_storage_system.h"
#include "trainer_data.h"
@ -119,7 +120,7 @@ typedef struct UnkBtlCtxSub_76 {
u16 unkA0[2];
u8 unkA4[4];
MOVE moveData[468];
u32 unk27C;
ITEMDATA *itemData;
u16 unk280[4];
u16 unk288[4];
} UnkBtlCtxSub_76;

View File

@ -3,6 +3,10 @@
#include "battle.h"
BATTLECONTEXT *BattleContext_New(BattleSystem *bsys);
//The following functions haven't been decompiled yet
void BattleSystem_CheckMoveHitEffect(BattleSystem *bsys, BATTLECONTEXT *ctx, int battlerIdA, int battlerIdB, int moveMsgNo);
void ov12_0224E384(BattleSystem *bsys, BATTLECONTEXT *ctx);
#endif

View File

@ -567,6 +567,7 @@ Overlay OVY_12
Object asm/overlay_12_battle_system.o
Object src/battle/battle_command.o
Object asm/overlay_12_battle_command.o
Object src/battle/battle_controller_player.o
Object asm/overlay_12_battle_controller_player.o
Object src/battle/overlay_12_0224E4FC.o
Object asm/overlay_12_0224E4FC_s.o

View File

@ -0,0 +1,16 @@
#include "battle_controller_player.h"
#include "overlay_12_0224E4FC.h"
#include "heap.h"
BATTLECONTEXT *BattleContext_New(BattleSystem *bsys) {
BATTLECONTEXT *ctx = (BATTLECONTEXT *) AllocFromHeap(HEAP_ID_BATTLE, sizeof(BATTLECONTEXT));
MIi_CpuClearFast(0, (u32 *)ctx, sizeof(BATTLECONTEXT));
BattleContext_Init(ctx);
ov12_02251038(bsys, ctx);
ov12_0224E384(bsys, ctx);
LoadMoveTbl(ctx->unk_334.moveData);
ctx->unk_334.itemData = LoadAllItemData(HEAP_ID_BATTLE);
return ctx;
}