mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
Start linking some TUs on debug and PAL (#2612)
* Fix clang union handling (affects all TUs including d_camera.h) Union members with non-trivial ctors/dtors is undefined behavior and clangd normally throws a fit and refuses to parse the whole union, but it seems to be possible to ifdef the problematic ctors out for non-mwerks compilers and explicitly tell modern compilers to use the defaults instead. Thanks to encounter for this fix. * Link all TUs that already match on debug In order to link TUs for debug, most functions seem to need to have their alignment set to 16 in symbols.txt. There are a few hundred functions that seem to be the exception and break when their alignment is set to 16, but I don't know the reason for this. * Remove some fakematches (nosyminline/sym off) for weak func order in retail * Fix clang not knowing that MSL_C++ is C++ * Link more debug TUs * Fix missing PAL split * Fix wrong slashes being used in includes * RZDE01_00: Fix incorrect capitalization in config.yml * Add RZDE01_00 to configure task * Revert configure.py to use MatchingFor * Fix PAL splits and symbols, link matching PAL TUs
This commit is contained in:
@@ -52,6 +52,7 @@ struct JFWSystem {
|
||||
static JUTResFont* systemFont;
|
||||
static JUTConsoleManager* systemConsoleManager;
|
||||
static JUTConsole* systemConsole;
|
||||
static bool sInitCalled;
|
||||
};
|
||||
|
||||
#endif /* JFWSYSTEM_H */
|
||||
|
||||
@@ -254,7 +254,6 @@ struct TObject_actor : public TObject {
|
||||
/* 80286910 */ TObject_actor(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_actor*);
|
||||
|
||||
/* 802881A4 */ virtual ~TObject_actor() {}
|
||||
/* 8028694C */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
@@ -272,7 +271,6 @@ struct TObject_ambientLight : public TObject {
|
||||
/* 80286CFC */ TObject_ambientLight(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_ambientLight*);
|
||||
|
||||
/* 80288144 */ virtual ~TObject_ambientLight() {}
|
||||
/* 80286D38 */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
@@ -306,7 +304,6 @@ struct TObject_camera : public TObject {
|
||||
/* 80286E7C */ TObject_camera(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_camera*);
|
||||
|
||||
/* 802880E4 */ virtual ~TObject_camera() {}
|
||||
/* 80286EB8 */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
@@ -330,7 +327,6 @@ struct TObject_fog : public TObject {
|
||||
/* 802871DC */ TObject_fog(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_fog*);
|
||||
|
||||
/* 80288084 */ virtual ~TObject_fog() {}
|
||||
/* 80287218 */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
@@ -362,7 +358,6 @@ struct TObject_light : public TObject {
|
||||
/* 80287368 */ TObject_light(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_light*);
|
||||
|
||||
/* 80288024 */ virtual ~TObject_light() {}
|
||||
/* 802873A4 */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
@@ -376,7 +371,6 @@ struct TObject_message : public TObject {
|
||||
/* 80287640 */ TObject_message(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_message*);
|
||||
|
||||
/* 80287FC4 */ virtual ~TObject_message() {}
|
||||
/* 8028767C */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
@@ -411,7 +405,6 @@ struct TObject_particle : public TObject {
|
||||
/* 8028776C */ TObject_particle(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_particle*);
|
||||
|
||||
/* 80287F64 */ virtual ~TObject_particle() {}
|
||||
/* 802877A8 */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
@@ -450,7 +443,6 @@ struct TObject_sound : public TObject {
|
||||
/* 80287B9C */ TObject_sound(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_sound*);
|
||||
|
||||
/* 80287F04 */ virtual ~TObject_sound() {}
|
||||
/* 80287BD8 */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
|
||||
@@ -118,7 +118,6 @@ public:
|
||||
class TObject_control : public TObject {
|
||||
public:
|
||||
/* 80289068 */ TObject_control(void const*, u32);
|
||||
/* 80289134 */ ~TObject_control() {}
|
||||
};
|
||||
|
||||
// Manages TObjects
|
||||
|
||||
@@ -44,7 +44,6 @@ struct TAdaptor_particle : public JStudio::TAdaptor_particle {
|
||||
pOld = NULL;
|
||||
JUT_ASSERT(113, pThis_!=0);
|
||||
}
|
||||
/* 8028E700 */ virtual ~TJPACallback_emitter_() {}
|
||||
/* 8028ECC0 */ virtual void execute(JPABaseEmitter*);
|
||||
/* 8028F060 */ virtual void executeAfter(JPABaseEmitter*);
|
||||
/* 8028F098 */ virtual void draw(JPABaseEmitter*);
|
||||
|
||||
@@ -11,8 +11,6 @@ class JKRFile;
|
||||
*/
|
||||
class JSUFileInputStream : public JSURandomInputStream {
|
||||
public:
|
||||
virtual ~JSUFileInputStream() {}
|
||||
|
||||
// TODO: fix return values
|
||||
/* 802DC638 */ JSUFileInputStream(JKRFile*);
|
||||
/* 802DC67C */ u32 readData(void*, s32);
|
||||
|
||||
@@ -13,9 +13,15 @@ public:
|
||||
const static cSAngle _90;
|
||||
const static cSAngle _180;
|
||||
const static cSAngle _270;
|
||||
#ifdef __MWERKS__
|
||||
cSAngle() {}
|
||||
~cSAngle() {}
|
||||
cSAngle(const cSAngle&);
|
||||
#else
|
||||
cSAngle() = default;
|
||||
~cSAngle() = default;
|
||||
cSAngle(const cSAngle&) = default;
|
||||
#endif
|
||||
cSAngle(s16);
|
||||
cSAngle(float);
|
||||
s16 Val() const { return this->mAngle; }
|
||||
@@ -132,17 +138,23 @@ public:
|
||||
cSAngle mInclination; // original: V
|
||||
cSAngle mAzimuth; // original: U
|
||||
|
||||
#ifdef __MWERKS__
|
||||
cSGlobe() {}
|
||||
~cSGlobe() {}
|
||||
cSGlobe(const cSGlobe&);
|
||||
#else
|
||||
cSGlobe() = default;
|
||||
~cSGlobe() = default;
|
||||
cSGlobe(const cSGlobe&) = default;
|
||||
#endif
|
||||
|
||||
void R(f32 i_radius) { mRadius = i_radius; }
|
||||
void U(cSAngle const& i_azimuth) { mAzimuth = i_azimuth.Val(); }
|
||||
void V(cSAngle const& i_inclination) { mInclination = i_inclination.Val(); }
|
||||
|
||||
cSGlobe(const cSGlobe&);
|
||||
cSGlobe(float, short, short);
|
||||
cSGlobe(float, const cSAngle&, const cSAngle&);
|
||||
cSGlobe(const cXyz&);
|
||||
~cSGlobe() {}
|
||||
cSGlobe& Formal(void);
|
||||
void Val(const cSGlobe&);
|
||||
void Val(float, short, short);
|
||||
|
||||
@@ -13,18 +13,24 @@ struct cXyz : Vec {
|
||||
static const cXyz BaseXZ;
|
||||
static const cXyz BaseYZ;
|
||||
static const cXyz BaseXYZ;
|
||||
/* 80009184 */ ~cXyz() {}
|
||||
/* inlined */ cXyz() {}
|
||||
#ifdef __MWERKS__
|
||||
cXyz() {}
|
||||
~cXyz() {}
|
||||
cXyz(const cXyz& vec) {
|
||||
x = vec.x;
|
||||
y = vec.y;
|
||||
z = vec.z;
|
||||
}
|
||||
#else
|
||||
cXyz() = default;
|
||||
~cXyz() = default;
|
||||
cXyz(const cXyz& vec) = default;
|
||||
#endif
|
||||
cXyz(f32 x, f32 y, f32 z) {
|
||||
this->x = x;
|
||||
this->y = y;
|
||||
this->z = z;
|
||||
}
|
||||
cXyz(const cXyz& vec) {
|
||||
this->x = vec.x;
|
||||
this->y = vec.y;
|
||||
this->z = vec.z;
|
||||
}
|
||||
cXyz(const Vec& vec) {
|
||||
this->x = vec.x;
|
||||
this->y = vec.y;
|
||||
|
||||
@@ -101,7 +101,6 @@ class Z2CreatureRide;
|
||||
struct Z2RideSoundStarter : public Z2SoundStarter {
|
||||
/* 802C5234 */ Z2RideSoundStarter(Z2CreatureRide*);
|
||||
|
||||
/* 802C5078 */ virtual ~Z2RideSoundStarter() {}
|
||||
/* 802C5284 */ virtual bool startSound(JAISoundID, JAISoundHandle*,
|
||||
JGeometry::TVec3<f32> const*, u32, f32, f32, f32, f32,
|
||||
f32, u32);
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
struct Z2SpeechStarter : public Z2SoundStarter {
|
||||
/* 802CCFB8 */ Z2SpeechStarter();
|
||||
|
||||
/* 802CBCEC */ virtual ~Z2SpeechStarter() {}
|
||||
/* 802CCFF8 */ virtual bool startSound(JAISoundID, JAISoundHandle*,
|
||||
JGeometry::TVec3<f32> const*, u32, f32, f32, f32, f32,
|
||||
f32, u32);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#ifndef DOLZEL_PCH
|
||||
#define DOLZEL_PCH
|
||||
|
||||
#include "d/dolzel_base.pch"
|
||||
#include "d/dolzel_base.pch" // IWYU pragma: export
|
||||
|
||||
#endif // DOLZEL_PCH
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
#include "Z2AudioLib/Z2Calc.h" // IWYU pragma: export
|
||||
|
||||
// Fixes weak function ordering
|
||||
#include "cmath.h"
|
||||
#include "string.h"
|
||||
#include "cmath.h" // IWYU pragma: export
|
||||
#include "string.h" // IWYU pragma: export
|
||||
#include "d/d_com_inf_game.h" // IWYU pragma: export
|
||||
#include "d/d_bg_w.h" // IWYU pragma: export
|
||||
#include "m_Do/m_Do_graphic.h" // IWYU pragma: export
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#ifndef DOLZEL_REL_PCH
|
||||
#define DOLZEL_REL_PCH
|
||||
|
||||
#include "d/dolzel_base.pch"
|
||||
#include "d/dolzel_base.pch" // IWYU pragma: export
|
||||
|
||||
#endif // DOLZEL_REL_PCH
|
||||
|
||||
@@ -8,8 +8,6 @@
|
||||
int mDoGph_Create();
|
||||
void mDoGph_drawFilterQuad(s8 param_0, s8 param_1);
|
||||
|
||||
extern bool data_80450BE7; // AutoForcus
|
||||
|
||||
struct ResTIMG;
|
||||
class mDoGph_gInf_c {
|
||||
public:
|
||||
@@ -71,8 +69,8 @@ public:
|
||||
static void setBlureRate(u8 i_rate) { mBlureRate = i_rate; }
|
||||
static u8 getBlureRate() { return mBlureRate; }
|
||||
static MtxP getBlureMtx() { return mBlureMtx; }
|
||||
static void offAutoForcus() { data_80450BE7 = 0; }
|
||||
static BOOL isAutoForcus() { return data_80450BE7; }
|
||||
static void offAutoForcus() { mAutoForcus = 0; }
|
||||
static BOOL isAutoForcus() { return mAutoForcus; }
|
||||
static void setTickRate(u32 rate) { JFWDisplay::getManager()->setTickRate(rate); }
|
||||
static void waitBlanking(int wait) { JFWDisplay::getManager()->waitBlanking(wait); }
|
||||
|
||||
@@ -174,6 +172,7 @@ public:
|
||||
static bool mBlureFlag;
|
||||
static u8 mBlureRate;
|
||||
static u8 mFade;
|
||||
static bool mAutoForcus;
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
static cXyz m_nowEffPos;
|
||||
|
||||
Reference in New Issue
Block a user