mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-21 14:07:29 -04:00
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:
@@ -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>());
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -7,8 +7,6 @@ class JKRFile;
|
||||
|
||||
class JSUFileInputStream : public JSURandomInputStream {
|
||||
public:
|
||||
virtual ~JSUFileInputStream() {}
|
||||
|
||||
// TODO: fix return values
|
||||
JSUFileInputStream(JKRFile*);
|
||||
u32 readData(void*, s32);
|
||||
|
||||
@@ -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 */
|
||||
@@ -0,0 +1,7 @@
|
||||
#ifndef JSYSTEM_PCH
|
||||
#define JSYSTEM_PCH
|
||||
|
||||
#include "JSystem/JSupport/JSUList.h"
|
||||
#include "JSystem/J3DGraphBase/J3DShape.h"
|
||||
|
||||
#endif /* JSYSTEM_PCH */
|
||||
Reference in New Issue
Block a user