From 15228aa8d43ca3807e44e01e235f9efd68976c8b Mon Sep 17 00:00:00 2001 From: "brotenko@gmail.com" Date: Sat, 13 Feb 2021 17:58:00 +0100 Subject: [PATCH] refactor functions according to reviews. --- include/common_structs.h | 2 +- src/code_1AC760.c | 8 ++++---- src/code_1AF230.c | 24 +++++++++++++++++++----- 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/include/common_structs.h b/include/common_structs.h index 0c4c9f881c..27d60555e9 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -1725,7 +1725,7 @@ typedef struct { typedef struct EffectInstanceData { /* 0x00 */ s32 unk_00; - /* 0x0C */ Vec3f pos; + /* 0x04 */ Vec3f pos; /* 0x10 */ Vec3f rotation; /* 0x1C */ Vec3f scale; /* 0x28 */ char unk_28[0x4]; diff --git a/src/code_1AC760.c b/src/code_1AC760.c index a9b1288344..8dc7ff1a96 100644 --- a/src/code_1AC760.c +++ b/src/code_1AC760.c @@ -3,7 +3,6 @@ void dispatch_event_partner(s8 lastEventType) { BattleStatus* battleStatus = &gBattleStatus; - s32 temp_ret; Actor* partnerActor = battleStatus->partnerActor; ScriptInstance* onHitScript = partnerActor->onHitScript; ScriptID onHitID = partnerActor->onHitID; @@ -37,7 +36,7 @@ void dispatch_event_partner_continue_turn(s8 lastEventType) { partnerActor->onHitScript = script; partnerActor->onHitID = script->id; script->owner1.actorID = ActorID_PARTNER; - + if (onHitScript != NULL) { kill_script_by_ID(onHitID); } @@ -113,7 +112,7 @@ ApiStatus func_8027FC90(ScriptInstance* script, s32 isInitialCall) { hitResult = calc_partner_damage_enemy(); show_damage_popup(actor->movePos.goal.x, actor->movePos.goal.y, actor->movePos.goal.z, battleStatus->lastAttackDamage); set_variable(script, outVar, hitResult); - + return ApiStatus_DONE2; } #else @@ -149,7 +148,7 @@ ApiStatus func_8028070C(ScriptInstance* script, s32 isInitialCall) { Actor* actor = get_actor(script->owner1.actorID); s32 damageAmount = get_variable(script, *args++); s32 event = get_variable(script, *args++); - + battleStatus->currentTargetID = actor->targetActorID; battleStatus->currentTargetPart = actor->targetPartIndex; @@ -162,6 +161,7 @@ ApiStatus func_8028070C(ScriptInstance* script, s32 isInitialCall) { ApiStatus DeletePartner(ScriptInstance* script, s32 isInitialCall) { BattleStatus* battleStatus = &gBattleStatus; + delete_actor(battleStatus->partnerActor); return ApiStatus_DONE2; } diff --git a/src/code_1AF230.c b/src/code_1AF230.c index 1517c80783..6968fb2644 100644 --- a/src/code_1AF230.c +++ b/src/code_1AF230.c @@ -1,19 +1,33 @@ #include "common.h" -typedef struct StarPower { void* dmaStart; void* dmaEnd; void* dmaDest; Bytecode* init; } StarPower; +typedef struct StarPowerEntry { + /* 0x04 */ void* dmaStart; + /* 0x08 */ void* dmaEnd; + /* 0x0C */ void* dmaDest;S + /* 0x10 */ Bytecode* init; +} StarPowerEntry; // size = 0x14 -extern StarPower D_8029C7D0[13]; +extern StarPowerEntry D_8029C7D0[13]; -typedef struct WhateverThisIs { s8 starpoints; s8 a; s8 b; s8 c; s32 w; s32 x; s32 y; s32 z; } WhateverThisIs; +typedef struct StarPowerDesc { + /* 0x00 */ s8 starPoints; + /* 0x01 */ s8 a; + /* 0x02 */ s8 b; + /* 0x03 */ s8 c; + /* 0x04 */ s32 w; + /* 0x08 */ s32 x; + /* 0x0C */ s32 y; + /* 0x10 */ s32 z; +} StarPowerDesc; // size = 0x14 -extern WhateverThisIs D_8008F071[]; +extern StarPowerDesc D_8008F071[]; ApiStatus LoadStarPowerScript(ScriptInstance *script, s32 isInitialCall) { BattleStatus *battleStatus = &gBattleStatus; PlayerData *playerData = &gPlayerData; s16 selectedItemID; - playerData->specialBarsFilled -= D_8008F071[battleStatus->selectedMoveID].starpoints * 256; + playerData->specialBarsFilled -= D_8008F071[battleStatus->selectedMoveID].starPoints * 256; selectedItemID = battleStatus->selectedItemID; dma_copy((&D_8029C7D0[selectedItemID])->dmaStart, (&D_8029C7D0[selectedItemID])->dmaEnd, (&D_8029C7D0[selectedItemID])->dmaDest); script->varTable[0] = (&D_8029C7D0[selectedItemID])->init;