mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-07-07 20:11:51 -04:00
link m_actor_shadow
This commit is contained in:
+16
-2
@@ -339,6 +339,22 @@ typedef struct actor_shape_info_s {
|
||||
/* 0x2F */ u8 unused_2F[0x48-0x2F];
|
||||
} Shape_Info;
|
||||
|
||||
typedef struct actor_shadow_s{
|
||||
/* 0x00 */ xyz_t position;
|
||||
/* 0x0C */ f32 groundY;
|
||||
/* 0x10 */ f32 unk10;
|
||||
/* 0x14 */ f32 unk14;
|
||||
/* 0x18 */ f32 unk18;
|
||||
/* 0x1C */ f32 unk1C;
|
||||
/* 0x20 */ s16 unk20;
|
||||
/* 0x22 */ s16 unk22;
|
||||
/* 0x24 */ s16 unk24;
|
||||
/* 0x26 */ s16 unk26;
|
||||
/* 0x28 */ char pad28[0xC];
|
||||
/* 0x34 */ int unk34;
|
||||
/* 0x38 */ int kind;
|
||||
}Shadow_Info;
|
||||
|
||||
/* sizeof(struct actor_s) == 0x174 */
|
||||
struct actor_s {
|
||||
/* 0x000 */ s16 id; /* unique actor type ID */
|
||||
@@ -446,8 +462,6 @@ extern Hilite* HiliteReflect_xlu_init(xyz_t* pos, xyz_t* eye, xyz_t* light_direc
|
||||
extern void Setpos_HiliteReflect_init(xyz_t* pos, GAME_PLAY* play);
|
||||
extern void Setpos_HiliteReflect_xlu_init(xyz_t* pos, GAME_PLAY* play);
|
||||
|
||||
extern void mAc_ActorShadowCircle(ACTOR* actor, LightsN* lightsN, GAME_PLAY* play);
|
||||
extern void mAc_ActorShadowEllipse(ACTOR* actor, LightsN* lightsN, GAME_PLAY* play);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
#ifndef M_ACTOR_SHADOW_H
|
||||
#define M_ACTOR_SHADOW_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
|
||||
int mActorShadow_OperateScrollLimit(int, int, int);
|
||||
Gfx* mActorShadow_TileScroll2(u32 *, u32 *, int, int, int, int, int, int, u32 *, u32 *, int, int, int, int, int, int, GAME *);
|
||||
void mActorShadow_AdjustRate(f32 *);
|
||||
void mActorShadow_GetTimeAngleY_TimeAlpha(Shadow_Info *, GAME_PLAY *);
|
||||
void mActorShadow_GetGroundAverageAngle(Shadow_Info *);
|
||||
void mActorShadow_GetDistanceRate(Shadow_Info *, f32);
|
||||
f32 mActorShadow_GetAbsBigger(f32, f32);
|
||||
void mActorShadow_RadiusScaleRate(ACTOR *, Shadow_Info *);
|
||||
void mActorShadow_GetShadowTopPos_GetSlideS(Shadow_Info *);
|
||||
Gfx* mActorShadow_SetTexScroll(ACTOR *, Shadow_Info *, GAME *);
|
||||
void mActorShadow_GetLastAlphaScale(f32 *, u8 *, ACTOR *, Shadow_Info *);
|
||||
void mActorShadow_DrawActorShadow(ACTOR *, Shadow_Info *, GAME_PLAY *, int, xyz_t, f32);
|
||||
void mActorShadow_GetShadowPosition(ACTOR *, xyz_t *);
|
||||
int mActorShadow_GetShadowKind(void);
|
||||
f32 mAc_GetShadowGroundY_NoneForce(const Shadow_Info *);
|
||||
f32 mAc_GetShadowGroundY_Force(const Shadow_Info *);
|
||||
void mAc_DecideShadowRadius_IamNotFish(Shadow_Info *, ACTOR *, f32 *);
|
||||
void mAc_DecideShadowRadius_IamFish(Shadow_Info *, ACTOR *, f32 *);
|
||||
void mAc_ActorShadowDraw_ShadowDrawFlagOff(ACTOR *, GAME_PLAY *, int, xyz_t, f32);
|
||||
void mAc_ActorShadowDraw_ShadowDrawFlagOn(ACTOR *, GAME_PLAY *, int, xyz_t, f32);
|
||||
void mAc_ActorShadowDraw(ACTOR *, GAME_PLAY *, int, xyz_t, f32);
|
||||
void mActorShadow_SetForceShadowPos(ACTOR *, xyz_t *);
|
||||
void mActorShadow_UnSetForceShadowPos(ACTOR *);
|
||||
void mAc_NormalActorShadow(ACTOR *, GAME_PLAY *, f32);
|
||||
void mAc_UnagiActorShadow(ACTOR *, GAME_PLAY *, xyz_t);
|
||||
void mAc_ActorShadowCircle(ACTOR *, LightsN *, GAME_PLAY *);
|
||||
void mAc_ActorShadowEllipse(ACTOR *, LightsN *, GAME_PLAY *);
|
||||
|
||||
#endif
|
||||
@@ -106,6 +106,7 @@ extern u32 mCoBG_Wpos2BgAttribute_Original(xyz_t wpos);
|
||||
extern u32 mCoBG_Wpos2Attribute(xyz_t wpos, char* is_diggable);
|
||||
extern int mCoBG_CheckWaterAttribute(u32 attribute);
|
||||
extern f32 mCoBG_GetBgY_AngleS_FromWpos(s_xyz* angle_to_ground, xyz_t wpos, f32 offset_y);
|
||||
extern f32 mCoBG_GetShadowBgY_AngleS_FromWpos(f32, s_xyz*, xyz_t);
|
||||
extern int mCoBG_CheckWaterAttribute_OutOfSea(u32 attribute);
|
||||
extern int mCoBG_CheckHole_OrgAttr(u32 attribute);
|
||||
extern f32 mCoBG_GetBgY_OnlyCenter_FromWpos2(xyz_t wpos, f32 foot_dist);
|
||||
|
||||
+5
-2
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "m_lights.h"
|
||||
#include "game.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -38,7 +39,9 @@ typedef struct kankyo_s {
|
||||
/* 0x00 */ Lights sun_light;
|
||||
/* 0x0E */ u8 pad[0x9A - 0x0E];
|
||||
/* 0x9A */ u8 ambientColor[3];
|
||||
/* 0x9E */ u8 pad2[0xC8 - 0x9E];
|
||||
/* 0x9E */ u8 pad2[0xC0 - 0x9E];
|
||||
/* 0xC0 */ f32 unkC0;
|
||||
/* 0xC4 */ u8 unkC4;
|
||||
/* 0xC8 */ Nature nature;
|
||||
} Kankyo;
|
||||
|
||||
@@ -47,7 +50,7 @@ extern int mEnv_NowWeather();
|
||||
extern int mEnv_WindMove();
|
||||
extern void mEnv_ManagePointLight(GAME_PLAY*, Kankyo*, Global_light*);
|
||||
extern void Global_kankyo_set(GAME_PLAY*, Kankyo*, Global_light*);
|
||||
|
||||
extern void mEnv_GetShadowPrimColor_Light(u8*,u8*,u8*,GAME*);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user