2 non-matching

This commit is contained in:
Thar0
2023-01-18 05:52:05 +00:00
parent ab8d34b8dc
commit 0c25cbeb1d
8 changed files with 901 additions and 119 deletions
+7 -7
View File
@@ -164,7 +164,7 @@ f64 func_80086CEC(f64 param_1);
s32 func_80086CF8(f32 param_1);
s32 func_80086D08(f64 param_1);
// void func_80086D18(void);
f64 func_80086D24(f64);
f64 nearbyint(f64);
s32 func_80086D30(f32 param_1);
s32 func_80086D40(f64 param_1);
// void func_80086D50(void);
@@ -2687,12 +2687,12 @@ void func_80183070(void);
// void func_801832B0(void);
// void func_8018332C(void);
// void func_8018340C(void);
void func_80183430(SkeletonInfo* skeletonInfo, void* arg1, void* arg2, Vec3s* arg3, Vec3s* arg4, UnkKeyframeCallback* callbacks);
void func_8018349C(UNK_PTR arg0);
void func_801834A8(SkeletonInfo* skeletonInfo, void* arg1);
void func_80183430(SkeletonInfo* skeleton, Struct_801BFA14_Arg1* arg1, SkeletonInfo_1C* arg2, Vec3s* frameData, s16* arg4, UnkKeyframeCallback* callbacks);
void func_8018349C(SkeletonInfo* skeleton);
void func_801834A8(SkeletonInfo* skeleton, SkeletonInfo_1C* arg1);
// void func_80183510(void);
// void func_80183580(void);
void func_801835EC(UNK_PTR arg0, UNK_PTR arg1);
void func_801835EC(SkeletonInfo* skeleton, SkeletonInfo_1C* arg1);
// void func_80183658(void);
// void func_801836CC(void);
// void func_8018373C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9);
@@ -2702,9 +2702,9 @@ void func_801835EC(UNK_PTR arg0, UNK_PTR arg1);
// void func_80183A3C(void);
// void func_80183B08(void);
// void func_80183B68(void);
s32 func_80183DE0(SkeletonInfo* skeletonInfo);
s32 func_80183DE0(SkeletonInfo* skeleton);
// void func_8018410C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
void func_8018450C(PlayState* play, SkeletonInfo* skeleton, Mtx* mtx, OverrideKeyframeDrawScaled overrideKeyframeDraw, PostKeyframeDrawScaled postKeyframeDraw, Actor* actor);
void func_8018450C(PlayState* play, SkeletonInfo* skeleton, Mtx* mtx, OverrideKeyframeDrawScaled overrideKeyframeDraw, PostKeyframeDrawScaled postKeyframeDraw, void* arg);
// void func_801845A4(void);
// void func_801845C8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// void func_80184638(void);
+1
View File
@@ -51,6 +51,7 @@
#include "z64subs.h"
#include "z64transition.h"
#include "z64view.h"
#include "z64keyframe.h"
#include "regs.h"
#define Z_THREAD_ID_IDLE 1
-69
View File
@@ -255,73 +255,4 @@ typedef struct AnimationSpeedInfo {
/* 0xC */ f32 morphFrames;
} AnimationSpeedInfo; // size = 0x10
struct SkeletonInfo;
typedef s32 (*UnkKeyframeCallback)(struct PlayState* play, struct SkeletonInfo* skeletonInfo, s32* arg2, Gfx** dList,
u8* arg4, void* arg5);
// Keyframe limb?
typedef struct {
/* 0x0 */ Gfx* dList;
/* 0x4 */ u8 unk_4;
/* 0x5 */ u8 flags;
/* 0x6 */ Vec3s root;
} Struct_801BFA14_Arg1_Field4; // size = 0xC
// Other limb type?
typedef struct {
/* 0x0 */ Gfx* dList;
/* 0x4 */ u8 unk_4;
/* 0x5 */ u8 flags;
/* 0x6 */ u8 unk_6; // transform limb draw index
} Struct_801BFA14_Arg1_Field4_2; // size = 0x8
typedef struct {
/* 0x00 */ u8 limbCount;
/* 0x01 */ u8 unk_1; // non-zero in object files, number of non-null-dlist limbs?
/* 0x04 */ union {
Struct_801BFA14_Arg1_Field4* unk_4; // arrays
Struct_801BFA14_Arg1_Field4_2* unk_4_2;
};
/* 0x08 */ s16* unk_8;
/* 0x0C */ s16* unk_C;
/* 0x10 */ char unk_10[0x2];
/* 0x12 */ s16 unk_12;
} Struct_801BFA14_Arg1; // size = 0x14
typedef struct {
/* 0x00 */ u16* unk_0;
/* 0x04 */ s16* unk_4;
/* 0x08 */ s16* unk_8;
/* 0x0C */ s16* unk_C;
/* 0x10 */ char unk_10[0x2];
/* 0x12 */ s16 unk_12;
} SkeletonInfo_1C; // size = 0x14
typedef struct {
/* 0x00 */ f32 unk_0;
/* 0x04 */ f32 unk_4;
/* 0x08 */ f32 unk_8;
/* 0x0C */ f32 unk_C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ s32 unk_14;
} FrameControl; // size = 0x18
// FlexKeyframeSkeleton ?
typedef struct SkeletonInfo {
/* 0x00 */ FrameControl frameCtrl;
/* 0x18 */ Struct_801BFA14_Arg1* unk_18; // array
/* 0x1C */ SkeletonInfo_1C* unk_1C;
/* 0x20 */ UnkKeyframeCallback* unk_20; // pointer to array of functions
/* 0x24 */ f32 unk_24; // duration? current time?
/* 0x28 */ Vec3s* frameData; // array of 3 Vec3s
/* 0x2C */ s16* unk_2C;
} SkeletonInfo; // size = 0x30
typedef s32 (*OverrideKeyframeDrawScaled)(struct PlayState* play, SkeletonInfo* skeletonInfo, s32 limbIndex, Gfx** dList,
u8* flags, struct Actor* actor, Vec3f* scale, Vec3s* rot, Vec3f* pos);
typedef void (*PostKeyframeDrawScaled)(struct PlayState* play, SkeletonInfo* skeleton, s32 limbIndex, Gfx** dList,
u8* flags, struct Actor* actor, Vec3f* scale, Vec3s* rot, Vec3f* pos);
#endif
+96
View File
@@ -0,0 +1,96 @@
#ifndef Z64_KEYFRAME_H
#define Z64_KEYFRAME_H
#include "ultra64.h"
#include "z64math.h"
struct PlayState;
#define KEYFRAME_OPA (0 << 0)
#define KEYFRAME_XLU (1 << 0)
struct SkeletonInfo;
struct SkeletonInfo2;
typedef s32 (*OverrideKeyframeDraw)(struct PlayState* play, struct SkeletonInfo2* skeleton, s32 limbIndex, Gfx** dList,
u8* flags, void* arg, Vec3s* rot, Vec3f* pos);
typedef void (*PostKeyframeDraw)(struct PlayState* play, struct SkeletonInfo2* skeleton, s32 limbIndex, Gfx** dList,
u8* flags, void* arg, Vec3s* rot, Vec3f* pos);
typedef s32 (*OverrideKeyframeDrawScaled)(struct PlayState* play, struct SkeletonInfo* skeleton, s32 limbIndex, Gfx** dList,
u8* flags, void* arg, Vec3f* scale, Vec3s* rot, Vec3f* pos);
typedef void (*PostKeyframeDrawScaled)(struct PlayState* play, struct SkeletonInfo* skeleton, s32 limbIndex, Gfx** dList,
u8* flags, void* arg, Vec3f* scale, Vec3s* rot, Vec3f* pos);
typedef s32 (*UnkKeyframeCallback)(struct PlayState* play, struct SkeletonInfo* skeletonInfo, s32* arg2, Gfx** dList, u8* arg4, void*);
// Keyframe limb?
typedef struct {
/* 0x00 */ Gfx* dList;
/* 0x04 */ u8 unk_4;
/* 0x05 */ u8 flags;
/* 0x06 */ Vec3s root;
} Struct_801BFA14_Arg1_Field4; // size = 0xC
// Other limb type?
typedef struct {
/* 0x00 */ Gfx* dList;
/* 0x04 */ u8 unk_4;
/* 0x05 */ u8 flags;
/* 0x06 */ u8 unk_6; // transform limb draw index
} Struct_801BFA14_Arg1_Field4_2; // size = 0x8
typedef struct {
/* 0x00 */ u8 limbCount;
/* 0x01 */ u8 unk_1; // non-zero in object files, number of non-null-dlist limbs?
/* 0x04 */ union {
Struct_801BFA14_Arg1_Field4* unk_4; // arrays
Struct_801BFA14_Arg1_Field4_2* unk_4_2;
};
/* 0x08 */ s16* unk_8;
/* 0x0C */ s16* unk_C;
/* 0x0C */ char unk_10[0x2];
/* 0x12 */ s16 unk_12;
} Struct_801BFA14_Arg1;
typedef struct {
/* 0x00 */ u16* unk_0;
/* 0x04 */ s16* unk_4;
/* 0x08 */ s16* unk_8;
/* 0x0C */ s16* unk_C;
/* 0x0C */ char unk_10[0x2];
/* 0x12 */ s16 unk_12;
} SkeletonInfo_1C;
typedef struct {
/* 0x00 */ f32 unk_0;
/* 0x04 */ f32 unk_4;
/* 0x08 */ f32 unk_8;
/* 0x0C */ f32 unk_C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ s32 unk_14;
} FrameControl;
// FlexKeyframeSkeleton ?
typedef struct SkeletonInfo {
/* 0x00 */ FrameControl frameCtrl;
/* 0x18 */ Struct_801BFA14_Arg1* unk_18; // array
/* 0x1C */ SkeletonInfo_1C* unk_1C;
/* 0x20 */ UnkKeyframeCallback* unk_20; // pointer to array of functions
/* 0x24 */ f32 unk_24; // duration? current time?
/* 0x28 */ Vec3s* frameData; // array of 3 Vec3s
/* 0x2C */ s16* unk_2C;
} SkeletonInfo;
// KeyframeSkeleton ?
typedef struct SkeletonInfo2 {
/* 0x00 */ FrameControl frameCtrl;
/* 0x18 */ Struct_801BFA14_Arg1* unk_18; // array
/* 0x1C */ SkeletonInfo_1C* unk_1C;
/* 0x20 */ f32 unk_20; // duration? current time?
/* 0x24 */ Vec3s* frameData;
/* 0x28 */ s16* unk_28;
/* 0x2C */ Vec3s* unk_2C;
} SkeletonInfo2;
#endif
+794 -40
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -3044,7 +3044,7 @@ void DynaPoly_ExpandSRT(PlayState* play, DynaCollisionContext* dyna, s32 bgId, s
newPoly->normal.z = COLPOLY_SNORMAL(newNormal.z);
}
newPoly->dist = func_80086D24(-DOTXYZ(newNormal, vtxA));
newPoly->dist = nearbyint(-DOTXYZ(newNormal, vtxA));
if (newNormal.y > 0.5f) {
s16 polyId = *polyStartIndex + i;
+1 -1
View File
@@ -192,7 +192,7 @@
0x80086CF8:("func_80086CF8",),
0x80086D08:("func_80086D08",),
0x80086D18:("func_80086D18",),
0x80086D24:("func_80086D24",),
0x80086D24:("nearbyint",),
0x80086D30:("func_80086D30",),
0x80086D40:("func_80086D40",),
0x80086D50:("func_80086D50",),
+1 -1
View File
@@ -189,7 +189,7 @@ asm/non_matchings/boot/fp/func_80086CEC.s,func_80086CEC,0x80086CEC,0x3
asm/non_matchings/boot/fp/func_80086CF8.s,func_80086CF8,0x80086CF8,0x4
asm/non_matchings/boot/fp/func_80086D08.s,func_80086D08,0x80086D08,0x4
asm/non_matchings/boot/fp/func_80086D18.s,func_80086D18,0x80086D18,0x3
asm/non_matchings/boot/fp/func_80086D24.s,func_80086D24,0x80086D24,0x3
asm/non_matchings/boot/fp/nearbyint.s,nearbyint,0x80086D24,0x3
asm/non_matchings/boot/fp/func_80086D30.s,func_80086D30,0x80086D30,0x4
asm/non_matchings/boot/fp/func_80086D40.s,func_80086D40,0x80086D40,0x4
asm/non_matchings/boot/fp/func_80086D50.s,func_80086D50,0x80086D50,0x7
1 asm/non_matchings/boot/boot_main/bootproc.s bootproc 0x80080060 0x3C
189 asm/non_matchings/boot/fp/func_80086CF8.s func_80086CF8 0x80086CF8 0x4
190 asm/non_matchings/boot/fp/func_80086D08.s func_80086D08 0x80086D08 0x4
191 asm/non_matchings/boot/fp/func_80086D18.s func_80086D18 0x80086D18 0x3
192 asm/non_matchings/boot/fp/func_80086D24.s asm/non_matchings/boot/fp/nearbyint.s func_80086D24 nearbyint 0x80086D24 0x3
193 asm/non_matchings/boot/fp/func_80086D30.s func_80086D30 0x80086D30 0x4
194 asm/non_matchings/boot/fp/func_80086D40.s func_80086D40 0x80086D40 0x4
195 asm/non_matchings/boot/fp/func_80086D50.s func_80086D50 0x80086D50 0x7