Add JSystem PCH to fix weak function order (#904)

* Add JSystem PCH

* Fix build issues, remove weak order fakematches, and fix functionvalue weak func order
This commit is contained in:
LagoLunatic
2025-12-05 12:11:53 -05:00
committed by GitHub
parent 70d78b4933
commit 8ce8d2f541
225 changed files with 466 additions and 41 deletions
+2 -2
View File
@@ -105,14 +105,14 @@ inline Iterator findUpperBound_binary_end(Iterator first, Iterator last, const T
}
template <typename Iterator, typename T, typename Predicate>
Iterator findUpperBound_binary_current(Iterator first, Iterator last, Iterator current, const T& val, Predicate p) {
inline Iterator findUpperBound_binary_current(Iterator first, Iterator last, Iterator current, const T& val, Predicate p) {
return current == last || p(val, *current) ?
findUpperBound_binary_end(first, current, val, p) :
findUpperBound_binary_begin(current, last, val, p);
}
template <typename Iterator, typename T>
Iterator findUpperBound_binary_current(Iterator first, Iterator last, Iterator current, const T& val) {
inline Iterator findUpperBound_binary_current(Iterator first, Iterator last, Iterator current, const T& val) {
return findUpperBound_binary_current(first, last, current, val, std::less<T>());
}
+1 -3
View File
@@ -28,9 +28,7 @@ public:
static GXCompare stCompare[8];
static GXAlphaOp stAlphaOp[4];
// ~JPABaseShape should defined in the header but that breaks the order of weak functions in JPABaseShape.cpp.
// Instead we define it in JPABaseShape.cpp in order to fakematch the order and explicitly mark it as inline.
inline virtual ~JPABaseShape();
virtual ~JPABaseShape() {}
virtual u8 getType() = 0;
virtual u8 getDirType() = 0;
virtual u8 getRotType() = 0;
@@ -158,7 +158,6 @@ private:
class TFunctionValue_constant : public TFunctionValue {
public:
TFunctionValue_constant();
virtual ~TFunctionValue_constant() {}
virtual u32 getType() const;
virtual TFunctionValueAttributeSet getAttributeSet();
@@ -197,7 +196,6 @@ public:
typedef TFunctionValue_composite::TData (*GetCompositeFunc)(const void*);
TFunctionValue_composite();
virtual ~TFunctionValue_composite() {}
virtual u32 getType() const;
virtual TFunctionValueAttributeSet getAttributeSet();
@@ -234,7 +232,6 @@ class TFunctionValue_transition : public TFunctionValue,
public TFunctionValueAttribute_interpolate {
public:
TFunctionValue_transition();
virtual ~TFunctionValue_transition() {}
virtual u32 getType() const;
virtual TFunctionValueAttributeSet getAttributeSet();
@@ -266,7 +263,6 @@ public:
typedef f64 (*update_INTERPOLATE)(const TFunctionValue_list&, const TIndexData_&);
TFunctionValue_list();
virtual ~TFunctionValue_list() {}
virtual u32 getType() const;
virtual TFunctionValueAttributeSet getAttributeSet();
@@ -382,7 +378,6 @@ public:
typedef f64 (*update_INTERPOLATE)(const TFunctionValue_list_parameter&, f64);
TFunctionValue_list_parameter();
virtual ~TFunctionValue_list_parameter() {}
virtual u32 getType() const;
virtual TFunctionValueAttributeSet getAttributeSet();
@@ -497,7 +492,6 @@ public:
};
TFunctionValue_hermite();
virtual ~TFunctionValue_hermite() {}
virtual u32 getType() const;
virtual TFunctionValueAttributeSet getAttributeSet();
-1
View File
@@ -118,7 +118,6 @@ public:
class TObject_control : public TObject {
public:
TObject_control(void const*, u32);
~TObject_control() {}
};
// Manages TObjects
@@ -27,7 +27,6 @@ struct TAdaptor_particle : public JStudio::TAdaptor_particle {
{
}
virtual ~TJPACallback_() { } // _08 (weak)
virtual void execute(JPABaseEmitter*); // _0C
/* 0x04 */ TAdaptor_particle* mAdaptor;
-2
View File
@@ -7,8 +7,6 @@ class JKRFile;
class JSUFileInputStream : public JSURandomInputStream {
public:
virtual ~JSUFileInputStream() {}
// TODO: fix return values
JSUFileInputStream(JKRFile*);
u32 readData(void*, s32);
+10
View File
@@ -0,0 +1,10 @@
#ifndef JSYSTEM_H
#define JSYSTEM_H
#ifdef __MWERKS__
#include "JSystem/JSystem.mch" // IWYU pragma: export
#else
#include "JSystem/JSystem.pch" // IWYU pragma: export
#endif
#endif /* JSYSTEM_H */
+7
View File
@@ -0,0 +1,7 @@
#ifndef JSYSTEM_PCH
#define JSYSTEM_PCH
#include "JSystem/JSupport/JSUList.h"
#include "JSystem/J3DGraphBase/J3DShape.h"
#endif /* JSYSTEM_PCH */