mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-23 06:34:18 -04:00
Converting ac_mikuji to also use structure actor
This commit is contained in:
+2
-8
@@ -2,7 +2,7 @@
|
||||
#define AC_MIKUJI_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "ac_structure.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -13,13 +13,7 @@ typedef struct actor_mikuji_s MIKUJI_ACTOR;
|
||||
typedef void (*MIKUJI_PROC)(MIKUJI_ACTOR*, GAME_PLAY*);
|
||||
|
||||
struct actor_mikuji_s{
|
||||
ACTOR actor_class;
|
||||
u8 pad[0x2A0 - 0x174];
|
||||
MIKUJI_PROC proc;
|
||||
u8 pad2[0x2B4 - 0x2A4];
|
||||
int current_action;
|
||||
int next_action;
|
||||
u8 pad3[0x2DC - 0x2BC];
|
||||
STRUCTURE_ACTOR structure_class;
|
||||
};
|
||||
|
||||
extern ACTOR_PROFILE Mikuji_Profile;
|
||||
|
||||
+22
-21
@@ -189,33 +189,34 @@ typedef u16* (*aSTR_GET_PAL_SEGMENT_PROC)(s16);
|
||||
|
||||
typedef void (*aSTR_MOVE_PROC)(ACTOR*, GAME*);
|
||||
|
||||
// sizeof(actor_structure_s) == 0x2DC
|
||||
struct actor_structure_s {
|
||||
ACTOR actor_class;
|
||||
int keyframe_state;
|
||||
cKF_SkeletonInfo_R_c keyframe;
|
||||
int keyframe_saved_keyframe;
|
||||
s_xyz work_area[15];
|
||||
s_xyz morph_area[15];
|
||||
aSTR_MOVE_PROC action_proc;
|
||||
int _2A4;
|
||||
int structure_type; /* aSTR_TYPE_* */
|
||||
int structure_pal; /* aSTR_PAL_* */
|
||||
int request_type;
|
||||
int action;
|
||||
/* 0x000*/ ACTOR actor_class;
|
||||
/* 0x174*/ int keyframe_state;
|
||||
/* 0x178*/ cKF_SkeletonInfo_R_c keyframe;
|
||||
/* 0x1E8*/ int keyframe_saved_keyframe;
|
||||
/* 0x1EC*/ s_xyz work_area[15];
|
||||
/* 0x246*/ s_xyz morph_area[15];
|
||||
/* 0x2A0*/ aSTR_MOVE_PROC action_proc;
|
||||
/* 0x2A4*/ int _2A4;
|
||||
/* 0x2A8*/ int structure_type; /* aSTR_TYPE_* */
|
||||
/* 0x2AC*/ int structure_pal; /* aSTR_PAL_* */
|
||||
/* 0x2B0*/ int request_type;
|
||||
/* 0x2B4*/ int action;
|
||||
|
||||
/* general purpose members with unique usage between structure actors */
|
||||
int arg0;
|
||||
int arg1;
|
||||
int arg2;
|
||||
int arg3;
|
||||
/* 0x2B8*/ int arg0;
|
||||
/* 0x2BC*/ int arg1;
|
||||
/* 0x2C0*/ int arg2;
|
||||
/* 0x2C4*/ int arg3;
|
||||
|
||||
/* general purpose float members with unique usage between structure actors*/
|
||||
f32 arg0_f;
|
||||
f32 arg1_f;
|
||||
f32 arg2_f;
|
||||
f32 arg3_f;
|
||||
/* 0x2C8*/ f32 arg0_f;
|
||||
/* 0x2CC*/ f32 arg1_f;
|
||||
/* 0x2D0*/ f32 arg2_f;
|
||||
/* 0x2D4*/ f32 arg3_f;
|
||||
|
||||
u32 season;
|
||||
/* 0x2D8*/ u32 season;
|
||||
};
|
||||
|
||||
typedef struct actor_overlay_info_s {
|
||||
|
||||
@@ -15,11 +15,11 @@ static void aMIK_set_bgOffset(MIKUJI_ACTOR* mikuji, int offs)
|
||||
offset = height_table[offs];
|
||||
|
||||
for(i = 0; i < 2; i++){
|
||||
pos.z = mikuji->actor_class.home.position.z + addZ[i];
|
||||
pos.x = mikuji->actor_class.home.position.x + addX[0];
|
||||
pos.z = mikuji->structure_class.actor_class.home.position.z + addZ[i];
|
||||
pos.x = mikuji->structure_class.actor_class.home.position.x + addX[0];
|
||||
mCoBG_SetPluss5PointOffset_file(pos, *offset, __FILE__, 97);
|
||||
offset++;
|
||||
pos.x = mikuji->actor_class.home.position.x + addX[1];
|
||||
pos.x = mikuji->structure_class.actor_class.home.position.x + addX[1];
|
||||
mCoBG_SetPluss5PointOffset_file(pos, *offset, __FILE__, 101);
|
||||
offset++;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user