diff --git a/src/_ZN14UnchainedChomp13InitResourcesEv.cpp b/src/_ZN14UnchainedChomp13InitResourcesEv.cpp index 8154f13942..95c125a899 100644 --- a/src/_ZN14UnchainedChomp13InitResourcesEv.cpp +++ b/src/_ZN14UnchainedChomp13InitResourcesEv.cpp @@ -3,15 +3,7 @@ #include "SharedFilePtr.h" #include "UnchainedChomp.h" - -struct PathPtr { - char pad_00[8]; - - PathPtr(); - void FromID(u32 id); - u32 NumNodes() const; - void GetNode(Vector3 &out, u32 index) const; -}; +#include "PathPtr.h" extern "C" { void LoadSilverStarAndNumber(); diff --git a/src/_ZN5Shark8BehaviorEv.cpp b/src/_ZN5Shark8BehaviorEv.cpp index d01cdbc31c..68eb62457f 100644 --- a/src/_ZN5Shark8BehaviorEv.cpp +++ b/src/_ZN5Shark8BehaviorEv.cpp @@ -2,6 +2,7 @@ // @symbol _ZN5Shark8BehaviorEv #include "Shark.h" +#include "PathPtr.h" struct SharkCallbackOwner; typedef void (SharkCallbackOwner::*SharkCallback)(); @@ -11,14 +12,6 @@ struct SharkBehaviorState { SharkCallback callback; }; -struct PathPtr { - char pad_00[8]; - - PathPtr(); - void FromID(u32 id); - void GetNode(Vector3 &out, u32 index) const; -}; - extern "C" { u16 DecIfAbove0_Short(u16 *value); void Vec3_Sub(Vector3 *out, Vector3 *a, Vector3 *b); diff --git a/src/_ZN8MantaRay13InitResourcesEv.cpp b/src/_ZN8MantaRay13InitResourcesEv.cpp index ede1e8e11a..01a01dd6a4 100644 --- a/src/_ZN8MantaRay13InitResourcesEv.cpp +++ b/src/_ZN8MantaRay13InitResourcesEv.cpp @@ -21,18 +21,11 @@ * and a hardcoded position. That is a scripted placement, not a spawn. */ #include "MantaRay.h" +#include "PathPtr.h" struct SharedFilePtr; struct BMD_File; struct dActor_c; -struct PathPtr { - char pad[8]; - PathPtr(); - void FromID(unsigned int id); - int NumNodes() const; - void GetNode(Vector3& out, unsigned int idx) const; -}; - extern "C" { BMD_File* _ZN5Model8LoadFileER13SharedFilePtr(SharedFilePtr& p); int _ZN9ModelBase7SetFileEP8BMD_Fileii(void* self, BMD_File* f, int a, int b); diff --git a/src/_ZN8MantaRay8BehaviorEv.cpp b/src/_ZN8MantaRay8BehaviorEv.cpp index dd455a2181..b89d237f87 100644 --- a/src/_ZN8MantaRay8BehaviorEv.cpp +++ b/src/_ZN8MantaRay8BehaviorEv.cpp @@ -20,17 +20,11 @@ * are dActor_c's speed slots, repurposed as a vector. */ #include "MantaRay.h" +#include "PathPtr.h" struct C3; typedef void (C3::*Fn)(); struct Obj { char pad[8]; Fn fn; }; -struct PathPtr { - char pad[8]; - PathPtr(); - void FromID(unsigned int id); - void GetNode(Vector3& out, unsigned int idx) const; -}; - extern "C" { unsigned short DecIfAbove0_Short(unsigned short* p); void Vec3_Sub(Vector3* out, Vector3* a, Vector3* b); diff --git a/src/func_ov019_0211127c.cpp b/src/func_ov019_0211127c.cpp index 8a0eff6f16..079a85eb14 100644 --- a/src/func_ov019_0211127c.cpp +++ b/src/func_ov019_0211127c.cpp @@ -2,13 +2,10 @@ // @symbol func_ov019_0211127c /* recovered: shared common types */ #include "common.h" +#include "PathPtr.h" typedef int Fix12i; -struct PathPtr { - void GetNode(Vector3 &, unsigned int) const; -}; - extern "C" Fix12i Vec3_HorzDist(const Vector3 *a, const Vector3 *b); extern "C" int func_ov019_0211127c(char *c, Vector3 *arg, unsigned int j) { diff --git a/src/func_ov062_0211c2f4.cpp b/src/func_ov062_0211c2f4.cpp index 40364e6bf3..0ee6e7492b 100644 --- a/src/func_ov062_0211c2f4.cpp +++ b/src/func_ov062_0211c2f4.cpp @@ -5,14 +5,7 @@ #include "decl_common.h" /* recovered: shared common types */ #include "common.h" -struct PathPtr { - int a; - int b; - PathPtr(); - void FromID(u32 id); - void GetNode(Vector3 &out, u32 idx) const; -}; - +#include "PathPtr.h" extern "C" { extern s16 Vec3_HorzAngle(const void *a, const void *b); extern int ApproachAngle(void *p, int target, int a, int b, int c); diff --git a/src/func_ov092_021313b0.cpp b/src/func_ov092_021313b0.cpp index 0026cb7f05..5923a11460 100644 --- a/src/func_ov092_021313b0.cpp +++ b/src/func_ov092_021313b0.cpp @@ -3,11 +3,9 @@ // @symbol func_ov092_021313b0 /* recovered: shared common types */ #include "common.h" +#include "PathPtr.h" #define LA(p) (p) -struct PathPtr { - int GetNode(Vector3 &v, unsigned int i) const; -}; extern "C" s16 Vec3_HorzAngle(const struct Vector3 *v0, const struct Vector3 *v1); extern "C" void func_ov092_021313b0(void *t) {