From 52d40a9ce77f030c3c770834e1fc8d5f6b17eafc Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Mon, 30 Oct 2023 00:08:57 -0400 Subject: [PATCH] JStage all match --- configure.py | 14 +++--- include/JSystem/JStage/JSGActor.h | 33 ++++++++++++ include/JSystem/JStage/JSGAmbientLight.h | 16 ++++++ include/JSystem/JStage/JSGCamera.h | 39 +++++++++++++++ include/JSystem/JStage/JSGFog.h | 23 +++++++++ include/JSystem/JStage/JSGLight.h | 29 +++++++++++ include/JSystem/JStage/JSGObject.h | 23 +++++++++ include/JSystem/JStage/JSGSystem.h | 28 +++++++++++ include/d/d_demo.h | 7 ++- src/JSystem/JStage/JSGActor.cpp | 63 +++++++++-------------- src/JSystem/JStage/JSGAmbientLight.cpp | 14 +++--- src/JSystem/JStage/JSGCamera.cpp | 64 +++++++++--------------- src/JSystem/JStage/JSGFog.cpp | 35 ++++++------- src/JSystem/JStage/JSGLight.cpp | 35 +++++-------- src/JSystem/JStage/JSGObject.cpp | 50 ++++++++++-------- src/JSystem/JStage/JSGSystem.cpp | 23 ++++----- 16 files changed, 323 insertions(+), 173 deletions(-) create mode 100644 include/JSystem/JStage/JSGActor.h create mode 100644 include/JSystem/JStage/JSGAmbientLight.h create mode 100644 include/JSystem/JStage/JSGCamera.h create mode 100644 include/JSystem/JStage/JSGFog.h create mode 100644 include/JSystem/JStage/JSGLight.h create mode 100644 include/JSystem/JStage/JSGObject.h create mode 100644 include/JSystem/JStage/JSGSystem.h diff --git a/configure.py b/configure.py index 38fedf4e4..086653a91 100644 --- a/configure.py +++ b/configure.py @@ -582,13 +582,13 @@ config.libs = [ JSystemLib( "JStage", [ - Object(NonMatching, "JSystem/JStage/JSGActor.cpp"), - Object(NonMatching, "JSystem/JStage/JSGAmbientLight.cpp"), - Object(NonMatching, "JSystem/JStage/JSGCamera.cpp"), - Object(NonMatching, "JSystem/JStage/JSGFog.cpp"), - Object(NonMatching, "JSystem/JStage/JSGLight.cpp"), - Object(NonMatching, "JSystem/JStage/JSGObject.cpp"), - Object(NonMatching, "JSystem/JStage/JSGSystem.cpp"), + Object(Matching, "JSystem/JStage/JSGActor.cpp"), + Object(Matching, "JSystem/JStage/JSGAmbientLight.cpp"), + Object(Matching, "JSystem/JStage/JSGCamera.cpp"), + Object(Matching, "JSystem/JStage/JSGFog.cpp"), + Object(Matching, "JSystem/JStage/JSGLight.cpp"), + Object(Matching, "JSystem/JStage/JSGObject.cpp"), + Object(Matching, "JSystem/JStage/JSGSystem.cpp"), ], ), JSystemLib( diff --git a/include/JSystem/JStage/JSGActor.h b/include/JSystem/JStage/JSGActor.h new file mode 100644 index 000000000..2fe29a9d7 --- /dev/null +++ b/include/JSystem/JStage/JSGActor.h @@ -0,0 +1,33 @@ +#ifndef JSGACTOR_H +#define JSGACTOR_H + +#include "JSystem/JStage/JSGObject.h" + +namespace JStage { + struct TActor : public TObject { + virtual ~TActor() = 0; + virtual s32 JSGFGetType() const; + virtual void JSGGetTranslation(Vec*) const; + virtual void JSGSetTranslation(Vec const&); + virtual void JSGGetScaling(Vec*) const; + virtual void JSGSetScaling(Vec const&); + virtual void JSGGetRotation(Vec*) const; + virtual void JSGSetRotation(Vec const&); + virtual s32 JSGGetShape() const; + virtual void JSGSetShape(u32); + virtual s32 JSGGetAnimation() const; + virtual void JSGSetAnimation(u32); + virtual f32 JSGGetAnimationFrame() const; + virtual void JSGSetAnimationFrame(f32); + virtual f32 JSGGetAnimationFrameMax() const; + virtual f32 JSGGetAnimationTransition() const; + virtual void JSGSetAnimationTransition(f32); + virtual s32 JSGGetTextureAnimation() const; + virtual void JSGSetTextureAnimation(u32); + virtual f32 JSGGetTextureAnimationFrame() const; + virtual void JSGSetTextureAnimationFrame(f32); + virtual f32 JSGGetTextureAnimationFrameMax() const; + }; +}; + +#endif /* JSGACTOR_H */ diff --git a/include/JSystem/JStage/JSGAmbientLight.h b/include/JSystem/JStage/JSGAmbientLight.h new file mode 100644 index 000000000..5007906a5 --- /dev/null +++ b/include/JSystem/JStage/JSGAmbientLight.h @@ -0,0 +1,16 @@ +#ifndef JSGAMBIENTLIGHT_H +#define JSGAMBIENTLIGHT_H + +#include "JSystem/JStage/JSGObject.h" +#include "dolphin/gx/GXStruct.h" + +namespace JStage { + struct TAmbientLight : public TObject { + virtual ~TAmbientLight() = 0; + virtual s32 JSGFGetType() const; + virtual GXColor JSGGetColor() const; + virtual void JSGSetColor(GXColor); + }; +}; + +#endif /* JSGAMBIENTLIGHT_H */ diff --git a/include/JSystem/JStage/JSGCamera.h b/include/JSystem/JStage/JSGCamera.h new file mode 100644 index 000000000..55b7287de --- /dev/null +++ b/include/JSystem/JStage/JSGCamera.h @@ -0,0 +1,39 @@ +#ifndef JSGCAMERA_H +#define JSGCAMERA_H + +#include "JSystem/JStage/JSGObject.h" + +namespace JStage { + struct TECameraProjection {}; + + struct TECameraView {}; + + struct TCamera : public TObject { + virtual ~TCamera() = 0; + virtual s32 JSGFGetType() const; + virtual bool JSGGetProjectionType() const; + virtual void JSGSetProjectionType(JStage::TECameraProjection); + virtual f32 JSGGetProjectionNear() const; + virtual void JSGSetProjectionNear(f32); + virtual f32 JSGGetProjectionFar() const; + virtual void JSGSetProjectionFar(f32); + virtual f32 JSGGetProjectionFovy() const; + virtual void JSGSetProjectionFovy(f32); + virtual f32 JSGGetProjectionAspect() const; + virtual void JSGSetProjectionAspect(f32); + virtual void JSGGetProjectionField(f32*) const; + virtual void JSGSetProjectionField(f32 const*); + virtual bool JSGGetViewType() const; + virtual void JSGSetViewType(JStage::TECameraView); + virtual void JSGGetViewPosition(Vec*) const; + virtual void JSGSetViewPosition(Vec const&); + virtual void JSGGetViewUpVector(Vec*) const; + virtual void JSGSetViewUpVector(Vec const&); + virtual void JSGGetViewTargetPosition(Vec*) const; + virtual void JSGSetViewTargetPosition(Vec const&); + virtual f32 JSGGetViewRoll() const; + virtual void JSGSetViewRoll(f32); + }; +}; + +#endif /* JSGCAMERA_H */ diff --git a/include/JSystem/JStage/JSGFog.h b/include/JSystem/JStage/JSGFog.h new file mode 100644 index 000000000..dfedcc8ff --- /dev/null +++ b/include/JSystem/JStage/JSGFog.h @@ -0,0 +1,23 @@ +#ifndef JSGFOG_H +#define JSGFOG_H + +#include "JSystem/JStage/JSGObject.h" +#include "dolphin/gx/GXEnum.h" +#include "dolphin/gx/GXStruct.h" + +namespace JStage { + struct TFog : public TObject { + virtual ~TFog() = 0; + virtual s32 JSGFGetType() const; + virtual bool JSGGetFogFunction() const; + virtual void JSGSetFogFunction(GXFogType); + virtual f32 JSGGetStartZ() const; + virtual void JSGSetStartZ(f32); + virtual f32 JSGGetEndZ() const; + virtual void JSGSetEndZ(f32); + virtual GXColor JSGGetColor() const; + virtual void JSGSetColor(GXColor); + }; +}; + +#endif /* JSGFOG_H */ diff --git a/include/JSystem/JStage/JSGLight.h b/include/JSystem/JStage/JSGLight.h new file mode 100644 index 000000000..91ef3d922 --- /dev/null +++ b/include/JSystem/JStage/JSGLight.h @@ -0,0 +1,29 @@ +#ifndef JSGLIGHT_H +#define JSGLIGHT_H + +#include "JSystem/JStage/JSGObject.h" +#include "dolphin/gx/GXEnum.h" +#include "dolphin/gx/GXStruct.h" + +namespace JStage { + enum TELight {}; + + struct TLight : public TObject { + virtual ~TLight() = 0; + virtual s32 JSGFGetType() const; + virtual bool JSGGetLightType() const; + virtual void JSGSetLightType(JStage::TELight); + virtual void JSGGetPosition(Vec*) const; + virtual void JSGSetPosition(Vec const&); + virtual GXColor JSGGetColor() const; + virtual void JSGSetColor(GXColor); + virtual void JSGGetDistanceAttenuation(f32*, f32*, GXDistAttnFn*) const; + virtual void JSGSetDistanceAttenuation(f32, f32, GXDistAttnFn); + virtual void JSGGetAngleAttenuation(f32*, GXSpotFn*) const; + virtual void JSGSetAngleAttenuation(f32, GXSpotFn); + virtual void JSGGetDirection(Vec*) const; + virtual void JSGSetDirection(Vec const&); + }; +}; + +#endif /* JSGLIGHT_H */ diff --git a/include/JSystem/JStage/JSGObject.h b/include/JSystem/JStage/JSGObject.h new file mode 100644 index 000000000..f3e9c9532 --- /dev/null +++ b/include/JSystem/JStage/JSGObject.h @@ -0,0 +1,23 @@ +#ifndef JSGOBJECT_H +#define JSGOBJECT_H + +#include "dolphin/mtx/mtxvec.h" + +namespace JStage { + struct TObject { + virtual ~TObject() = 0; + virtual s32 JSGFGetType() const = 0; + virtual bool JSGGetName() const; + virtual bool JSGGetFlag() const; + virtual void JSGSetFlag(u32); + virtual bool JSGGetData(u32, void*, u32) const; + virtual void JSGSetData(u32, void const*, u32); + virtual void JSGGetParent(JStage::TObject**, u32*) const; + virtual void JSGSetParent(JStage::TObject*, u32); + virtual void JSGSetRelation(bool, JStage::TObject*, u32); + virtual s32 JSGFindNodeID(char const*) const; + virtual int JSGGetNodeTransformation(u32, MtxP) const; + }; +}; + +#endif /* JSGOBJECT_H */ diff --git a/include/JSystem/JStage/JSGSystem.h b/include/JSystem/JStage/JSGSystem.h new file mode 100644 index 000000000..f08b2ca8f --- /dev/null +++ b/include/JSystem/JStage/JSGSystem.h @@ -0,0 +1,28 @@ +#ifndef JSGSYSTEM_H +#define JSGSYSTEM_H + +#include "JSystem/JStage/JSGObject.h" + +namespace JStage { + enum TEObject { + /* 0x0 */ TOBJ_ACTOR_UNK, + /* 0x1 */ TOBJ_UNK1, + /* 0x2 */ TOBJ_ACTOR, + /* 0x3 */ TOBJ_CAMERA, + /* 0x4 */ TOBJ_AMBIENT, + /* 0x5 */ TOBJ_LIGHT, + /* 0x6 */ TOBJ_FOG, + }; + + struct TSystem : public TObject { + virtual ~TSystem() = 0; + virtual s32 JSGFGetType() const; + virtual bool JSGFindObject(char const*, JStage::TEObject) const; + virtual bool JSGCreateObject(char const*, JStage::TEObject, u32); + virtual void JSGDestroyObject(JStage::TObject*); + virtual bool JSGGetSystemData(u32); + virtual void JSGSetSystemData(u32, u32); + }; +}; + +#endif /* JSGSYSTEM_H */ diff --git a/include/d/d_demo.h b/include/d/d_demo.h index d8cec07c7..ec6c76577 100644 --- a/include/d/d_demo.h +++ b/include/d/d_demo.h @@ -2,6 +2,10 @@ #define D_DEMO_H #include "dolphin/types.h" +#include "JSystem/JStage/JSGActor.h" +#include "SSystem/SComponent/c_xyz.h" +#include "SSystem/SComponent/c_sxyz.h" +#include "JSystem/J3DGraphAnimator/J3DModel.h" class dDemo_actor_c; class dDemo_camera_c; @@ -12,14 +16,13 @@ class TControl; class dMesg_tControl; class fopAc_ac_c; -class dDemo_actor_c /* : public JStage::TActor */ { +class dDemo_actor_c : public JStage::TActor { public: void setActor(fopAc_ac_c*); bool checkEnable(u16 mask) { return mFlags & mask; } csXyz* getRatate() { return &mRotation; } - /* 0x00 */ u8 parent_placeholder[0x04 - 0x00]; /* 0x04 */ u16 mFlags; /* 0x06 */ u8 field_0x06[0x08 - 0x06]; /* 0x08 */ cXyz mTranslation; diff --git a/src/JSystem/JStage/JSGActor.cpp b/src/JSystem/JStage/JSGActor.cpp index 96bfe3559..3f5b44633 100644 --- a/src/JSystem/JStage/JSGActor.cpp +++ b/src/JSystem/JStage/JSGActor.cpp @@ -3,116 +3,103 @@ // Translation Unit: JSGActor.cpp // -#include "JSGActor.h" +#include "JSystem/JStage/JSGActor.h" #include "dolphin/types.h" /* 8026DBBC-8026DC1C .text __dt__Q26JStage6TActorFv */ JStage::TActor::~TActor() { - /* Nonmatching */ } /* 8026DC1C-8026DC24 .text JSGFGetType__Q26JStage6TActorCFv */ -void JStage::TActor::JSGFGetType() const { - /* Nonmatching */ +s32 JStage::TActor::JSGFGetType() const { + return 2; } /* 8026DC24-8026DC28 .text JSGGetTranslation__Q26JStage6TActorCFP3Vec */ void JStage::TActor::JSGGetTranslation(Vec*) const { - /* Nonmatching */ } /* 8026DC28-8026DC2C .text JSGSetTranslation__Q26JStage6TActorFRC3Vec */ void JStage::TActor::JSGSetTranslation(const Vec&) { - /* Nonmatching */ } /* 8026DC2C-8026DC30 .text JSGGetScaling__Q26JStage6TActorCFP3Vec */ void JStage::TActor::JSGGetScaling(Vec*) const { - /* Nonmatching */ } /* 8026DC30-8026DC34 .text JSGSetScaling__Q26JStage6TActorFRC3Vec */ void JStage::TActor::JSGSetScaling(const Vec&) { - /* Nonmatching */ } /* 8026DC34-8026DC38 .text JSGGetRotation__Q26JStage6TActorCFP3Vec */ void JStage::TActor::JSGGetRotation(Vec*) const { - /* Nonmatching */ } /* 8026DC38-8026DC3C .text JSGSetRotation__Q26JStage6TActorFRC3Vec */ void JStage::TActor::JSGSetRotation(const Vec&) { - /* Nonmatching */ } /* 8026DC3C-8026DC44 .text JSGGetShape__Q26JStage6TActorCFv */ -void JStage::TActor::JSGGetShape() const { - /* Nonmatching */ +s32 JStage::TActor::JSGGetShape() const { + return -1; } /* 8026DC44-8026DC48 .text JSGSetShape__Q26JStage6TActorFUl */ -void JStage::TActor::JSGSetShape(unsigned long) { - /* Nonmatching */ +void JStage::TActor::JSGSetShape(u32) { } /* 8026DC48-8026DC50 .text JSGGetAnimation__Q26JStage6TActorCFv */ -void JStage::TActor::JSGGetAnimation() const { - /* Nonmatching */ +s32 JStage::TActor::JSGGetAnimation() const { + return -1; } /* 8026DC50-8026DC54 .text JSGSetAnimation__Q26JStage6TActorFUl */ -void JStage::TActor::JSGSetAnimation(unsigned long) { - /* Nonmatching */ +void JStage::TActor::JSGSetAnimation(u32) { } /* 8026DC54-8026DC5C .text JSGGetAnimationFrame__Q26JStage6TActorCFv */ -void JStage::TActor::JSGGetAnimationFrame() const { - /* Nonmatching */ +f32 JStage::TActor::JSGGetAnimationFrame() const { + return 0.0f; } /* 8026DC5C-8026DC60 .text JSGSetAnimationFrame__Q26JStage6TActorFf */ -void JStage::TActor::JSGSetAnimationFrame(float) { - /* Nonmatching */ +void JStage::TActor::JSGSetAnimationFrame(f32) { } /* 8026DC60-8026DC68 .text JSGGetAnimationFrameMax__Q26JStage6TActorCFv */ -void JStage::TActor::JSGGetAnimationFrameMax() const { - /* Nonmatching */ +f32 JStage::TActor::JSGGetAnimationFrameMax() const { + return 0.0f; } /* 8026DC68-8026DC70 .text JSGGetAnimationTransition__Q26JStage6TActorCFv */ -void JStage::TActor::JSGGetAnimationTransition() const { - /* Nonmatching */ +f32 JStage::TActor::JSGGetAnimationTransition() const { + return 0.0f; } /* 8026DC70-8026DC74 .text JSGSetAnimationTransition__Q26JStage6TActorFf */ -void JStage::TActor::JSGSetAnimationTransition(float) { - /* Nonmatching */ +void JStage::TActor::JSGSetAnimationTransition(f32) { } /* 8026DC74-8026DC7C .text JSGGetTextureAnimation__Q26JStage6TActorCFv */ -void JStage::TActor::JSGGetTextureAnimation() const { - /* Nonmatching */ +s32 JStage::TActor::JSGGetTextureAnimation() const { + return -1; } /* 8026DC7C-8026DC80 .text JSGSetTextureAnimation__Q26JStage6TActorFUl */ -void JStage::TActor::JSGSetTextureAnimation(unsigned long) { - /* Nonmatching */ +void JStage::TActor::JSGSetTextureAnimation(u32) { } /* 8026DC80-8026DC88 .text JSGGetTextureAnimationFrame__Q26JStage6TActorCFv */ -void JStage::TActor::JSGGetTextureAnimationFrame() const { - /* Nonmatching */ +f32 JStage::TActor::JSGGetTextureAnimationFrame() const { + return 0.0f; } /* 8026DC88-8026DC8C .text JSGSetTextureAnimationFrame__Q26JStage6TActorFf */ -void JStage::TActor::JSGSetTextureAnimationFrame(float) { - /* Nonmatching */ +void JStage::TActor::JSGSetTextureAnimationFrame(f32) { } /* 8026DC8C-8026DC94 .text JSGGetTextureAnimationFrameMax__Q26JStage6TActorCFv */ -void JStage::TActor::JSGGetTextureAnimationFrameMax() const { - /* Nonmatching */ +f32 JStage::TActor::JSGGetTextureAnimationFrameMax() const { + return 0.0f; } diff --git a/src/JSystem/JStage/JSGAmbientLight.cpp b/src/JSystem/JStage/JSGAmbientLight.cpp index 02fb93611..6d89bed6d 100644 --- a/src/JSystem/JStage/JSGAmbientLight.cpp +++ b/src/JSystem/JStage/JSGAmbientLight.cpp @@ -3,26 +3,24 @@ // Translation Unit: JSGAmbientLight.cpp // -#include "JSGAmbientLight.h" +#include "JSystem/JStage/JSGAmbientLight.h" #include "dolphin/types.h" /* 8026DC94-8026DCF4 .text __dt__Q26JStage13TAmbientLightFv */ JStage::TAmbientLight::~TAmbientLight() { - /* Nonmatching */ } /* 8026DCF4-8026DCFC .text JSGFGetType__Q26JStage13TAmbientLightCFv */ -void JStage::TAmbientLight::JSGFGetType() const { - /* Nonmatching */ +s32 JStage::TAmbientLight::JSGFGetType() const { + return 4; } /* 8026DCFC-8026DD10 .text JSGGetColor__Q26JStage13TAmbientLightCFv */ -void JStage::TAmbientLight::JSGGetColor() const { - /* Nonmatching */ +GXColor JStage::TAmbientLight::JSGGetColor() const { + return (GXColor){0xFF, 0xFF, 0xFF, 0xFF}; } /* 8026DD10-8026DD14 .text JSGSetColor__Q26JStage13TAmbientLightF8_GXColor */ -void JStage::TAmbientLight::JSGSetColor(_GXColor) { - /* Nonmatching */ +void JStage::TAmbientLight::JSGSetColor(GXColor) { } diff --git a/src/JSystem/JStage/JSGCamera.cpp b/src/JSystem/JStage/JSGCamera.cpp index 3789c3c6e..808e7855e 100644 --- a/src/JSystem/JStage/JSGCamera.cpp +++ b/src/JSystem/JStage/JSGCamera.cpp @@ -3,126 +3,110 @@ // Translation Unit: JSGCamera.cpp // -#include "JSGCamera.h" +#include "JSystem/JStage/JSGCamera.h" #include "dolphin/types.h" /* 8026DD14-8026DD74 .text __dt__Q26JStage7TCameraFv */ JStage::TCamera::~TCamera() { - /* Nonmatching */ } /* 8026DD74-8026DD7C .text JSGFGetType__Q26JStage7TCameraCFv */ -void JStage::TCamera::JSGFGetType() const { - /* Nonmatching */ +s32 JStage::TCamera::JSGFGetType() const { + return 3; } /* 8026DD7C-8026DD84 .text JSGGetProjectionType__Q26JStage7TCameraCFv */ -void JStage::TCamera::JSGGetProjectionType() const { - /* Nonmatching */ +bool JStage::TCamera::JSGGetProjectionType() const { + return true; } /* 8026DD84-8026DD88 .text JSGSetProjectionType__Q26JStage7TCameraFQ26JStage18TECameraProjection */ void JStage::TCamera::JSGSetProjectionType(JStage::TECameraProjection) { - /* Nonmatching */ } /* 8026DD88-8026DD90 .text JSGGetProjectionNear__Q26JStage7TCameraCFv */ -void JStage::TCamera::JSGGetProjectionNear() const { - /* Nonmatching */ +f32 JStage::TCamera::JSGGetProjectionNear() const { + return 0.0f; } /* 8026DD90-8026DD94 .text JSGSetProjectionNear__Q26JStage7TCameraFf */ -void JStage::TCamera::JSGSetProjectionNear(float) { - /* Nonmatching */ +void JStage::TCamera::JSGSetProjectionNear(f32) { } /* 8026DD94-8026DD9C .text JSGGetProjectionFar__Q26JStage7TCameraCFv */ -void JStage::TCamera::JSGGetProjectionFar() const { - /* Nonmatching */ +f32 JStage::TCamera::JSGGetProjectionFar() const { + return FLOAT_MAX; } /* 8026DD9C-8026DDA0 .text JSGSetProjectionFar__Q26JStage7TCameraFf */ -void JStage::TCamera::JSGSetProjectionFar(float) { - /* Nonmatching */ +void JStage::TCamera::JSGSetProjectionFar(f32) { } /* 8026DDA0-8026DDA8 .text JSGGetProjectionFovy__Q26JStage7TCameraCFv */ -void JStage::TCamera::JSGGetProjectionFovy() const { - /* Nonmatching */ +f32 JStage::TCamera::JSGGetProjectionFovy() const { + return 0.0f; } /* 8026DDA8-8026DDAC .text JSGSetProjectionFovy__Q26JStage7TCameraFf */ -void JStage::TCamera::JSGSetProjectionFovy(float) { - /* Nonmatching */ +void JStage::TCamera::JSGSetProjectionFovy(f32) { } /* 8026DDAC-8026DDB4 .text JSGGetProjectionAspect__Q26JStage7TCameraCFv */ -void JStage::TCamera::JSGGetProjectionAspect() const { - /* Nonmatching */ +f32 JStage::TCamera::JSGGetProjectionAspect() const { + return 0.0f; } /* 8026DDB4-8026DDB8 .text JSGSetProjectionAspect__Q26JStage7TCameraFf */ -void JStage::TCamera::JSGSetProjectionAspect(float) { - /* Nonmatching */ +void JStage::TCamera::JSGSetProjectionAspect(f32) { } /* 8026DDB8-8026DDBC .text JSGGetProjectionField__Q26JStage7TCameraCFPf */ -void JStage::TCamera::JSGGetProjectionField(float*) const { - /* Nonmatching */ +void JStage::TCamera::JSGGetProjectionField(f32*) const { } /* 8026DDBC-8026DDC0 .text JSGSetProjectionField__Q26JStage7TCameraFPCf */ -void JStage::TCamera::JSGSetProjectionField(const float*) { - /* Nonmatching */ +void JStage::TCamera::JSGSetProjectionField(const f32*) { } /* 8026DDC0-8026DDC8 .text JSGGetViewType__Q26JStage7TCameraCFv */ -void JStage::TCamera::JSGGetViewType() const { - /* Nonmatching */ +bool JStage::TCamera::JSGGetViewType() const { + return true; } /* 8026DDC8-8026DDCC .text JSGSetViewType__Q26JStage7TCameraFQ26JStage12TECameraView */ void JStage::TCamera::JSGSetViewType(JStage::TECameraView) { - /* Nonmatching */ } /* 8026DDCC-8026DDD0 .text JSGGetViewPosition__Q26JStage7TCameraCFP3Vec */ void JStage::TCamera::JSGGetViewPosition(Vec*) const { - /* Nonmatching */ } /* 8026DDD0-8026DDD4 .text JSGSetViewPosition__Q26JStage7TCameraFRC3Vec */ void JStage::TCamera::JSGSetViewPosition(const Vec&) { - /* Nonmatching */ } /* 8026DDD4-8026DDD8 .text JSGGetViewUpVector__Q26JStage7TCameraCFP3Vec */ void JStage::TCamera::JSGGetViewUpVector(Vec*) const { - /* Nonmatching */ } /* 8026DDD8-8026DDDC .text JSGSetViewUpVector__Q26JStage7TCameraFRC3Vec */ void JStage::TCamera::JSGSetViewUpVector(const Vec&) { - /* Nonmatching */ } /* 8026DDDC-8026DDE0 .text JSGGetViewTargetPosition__Q26JStage7TCameraCFP3Vec */ void JStage::TCamera::JSGGetViewTargetPosition(Vec*) const { - /* Nonmatching */ } /* 8026DDE0-8026DDE4 .text JSGSetViewTargetPosition__Q26JStage7TCameraFRC3Vec */ void JStage::TCamera::JSGSetViewTargetPosition(const Vec&) { - /* Nonmatching */ } /* 8026DDE4-8026DDEC .text JSGGetViewRoll__Q26JStage7TCameraCFv */ -void JStage::TCamera::JSGGetViewRoll() const { - /* Nonmatching */ +f32 JStage::TCamera::JSGGetViewRoll() const { + return 0.0f; } /* 8026DDEC-8026DDF0 .text JSGSetViewRoll__Q26JStage7TCameraFf */ -void JStage::TCamera::JSGSetViewRoll(float) { - /* Nonmatching */ +void JStage::TCamera::JSGSetViewRoll(f32) { } diff --git a/src/JSystem/JStage/JSGFog.cpp b/src/JSystem/JStage/JSGFog.cpp index 94f80529c..30213515d 100644 --- a/src/JSystem/JStage/JSGFog.cpp +++ b/src/JSystem/JStage/JSGFog.cpp @@ -3,56 +3,51 @@ // Translation Unit: JSGFog.cpp // -#include "JSGFog.h" +#include "JSystem/JStage/JSGFog.h" #include "dolphin/types.h" /* 8026DDF0-8026DE50 .text __dt__Q26JStage4TFogFv */ JStage::TFog::~TFog() { - /* Nonmatching */ } /* 8026DE50-8026DE58 .text JSGFGetType__Q26JStage4TFogCFv */ -void JStage::TFog::JSGFGetType() const { - /* Nonmatching */ +s32 JStage::TFog::JSGFGetType() const { + return 6; } /* 8026DE58-8026DE60 .text JSGGetFogFunction__Q26JStage4TFogCFv */ -void JStage::TFog::JSGGetFogFunction() const { - /* Nonmatching */ +bool JStage::TFog::JSGGetFogFunction() const { + return false; } /* 8026DE60-8026DE64 .text JSGSetFogFunction__Q26JStage4TFogF10_GXFogType */ -void JStage::TFog::JSGSetFogFunction(_GXFogType) { - /* Nonmatching */ +void JStage::TFog::JSGSetFogFunction(GXFogType) { } /* 8026DE64-8026DE6C .text JSGGetStartZ__Q26JStage4TFogCFv */ -void JStage::TFog::JSGGetStartZ() const { - /* Nonmatching */ +f32 JStage::TFog::JSGGetStartZ() const { + return 0.0f; } /* 8026DE6C-8026DE70 .text JSGSetStartZ__Q26JStage4TFogFf */ -void JStage::TFog::JSGSetStartZ(float) { - /* Nonmatching */ +void JStage::TFog::JSGSetStartZ(f32) { } /* 8026DE70-8026DE78 .text JSGGetEndZ__Q26JStage4TFogCFv */ -void JStage::TFog::JSGGetEndZ() const { - /* Nonmatching */ +f32 JStage::TFog::JSGGetEndZ() const { + return FLOAT_MAX; } /* 8026DE78-8026DE7C .text JSGSetEndZ__Q26JStage4TFogFf */ -void JStage::TFog::JSGSetEndZ(float) { - /* Nonmatching */ +void JStage::TFog::JSGSetEndZ(f32) { } /* 8026DE7C-8026DE90 .text JSGGetColor__Q26JStage4TFogCFv */ -void JStage::TFog::JSGGetColor() const { - /* Nonmatching */ +GXColor JStage::TFog::JSGGetColor() const { + return (GXColor){0xFF, 0xFF, 0xFF, 0xFF}; } /* 8026DE90-8026DE94 .text JSGSetColor__Q26JStage4TFogF8_GXColor */ -void JStage::TFog::JSGSetColor(_GXColor) { - /* Nonmatching */ +void JStage::TFog::JSGSetColor(GXColor) { } diff --git a/src/JSystem/JStage/JSGLight.cpp b/src/JSystem/JStage/JSGLight.cpp index 5b43a5aab..2eb88c919 100644 --- a/src/JSystem/JStage/JSGLight.cpp +++ b/src/JSystem/JStage/JSGLight.cpp @@ -3,76 +3,65 @@ // Translation Unit: JSGLight.cpp // -#include "JSGLight.h" +#include "JSystem/JStage/JSGLight.h" #include "dolphin/types.h" /* 8026DE94-8026DEF4 .text __dt__Q26JStage6TLightFv */ JStage::TLight::~TLight() { - /* Nonmatching */ } /* 8026DEF4-8026DEFC .text JSGFGetType__Q26JStage6TLightCFv */ -void JStage::TLight::JSGFGetType() const { - /* Nonmatching */ +s32 JStage::TLight::JSGFGetType() const { + return 5; } /* 8026DEFC-8026DF04 .text JSGGetLightType__Q26JStage6TLightCFv */ -void JStage::TLight::JSGGetLightType() const { - /* Nonmatching */ +bool JStage::TLight::JSGGetLightType() const { + return true; } /* 8026DF04-8026DF08 .text JSGSetLightType__Q26JStage6TLightFQ26JStage7TELight */ void JStage::TLight::JSGSetLightType(JStage::TELight) { - /* Nonmatching */ } /* 8026DF08-8026DF1C .text JSGGetColor__Q26JStage6TLightCFv */ -void JStage::TLight::JSGGetColor() const { - /* Nonmatching */ +GXColor JStage::TLight::JSGGetColor() const { + return (GXColor){0xFF, 0xFF, 0xFF, 0xFF}; } /* 8026DF1C-8026DF20 .text JSGSetColor__Q26JStage6TLightF8_GXColor */ -void JStage::TLight::JSGSetColor(_GXColor) { - /* Nonmatching */ +void JStage::TLight::JSGSetColor(GXColor) { } /* 8026DF20-8026DF24 .text JSGGetDistanceAttenuation__Q26JStage6TLightCFPfPfP13_GXDistAttnFn */ -void JStage::TLight::JSGGetDistanceAttenuation(float*, float*, _GXDistAttnFn*) const { - /* Nonmatching */ +void JStage::TLight::JSGGetDistanceAttenuation(f32*, f32*, GXDistAttnFn*) const { } /* 8026DF24-8026DF28 .text JSGSetDistanceAttenuation__Q26JStage6TLightFff13_GXDistAttnFn */ -void JStage::TLight::JSGSetDistanceAttenuation(float, float, _GXDistAttnFn) { - /* Nonmatching */ +void JStage::TLight::JSGSetDistanceAttenuation(f32, f32, GXDistAttnFn) { } /* 8026DF28-8026DF2C .text JSGGetAngleAttenuation__Q26JStage6TLightCFPfP9_GXSpotFn */ -void JStage::TLight::JSGGetAngleAttenuation(float*, _GXSpotFn*) const { - /* Nonmatching */ +void JStage::TLight::JSGGetAngleAttenuation(f32*, GXSpotFn*) const { } /* 8026DF2C-8026DF30 .text JSGSetAngleAttenuation__Q26JStage6TLightFf9_GXSpotFn */ -void JStage::TLight::JSGSetAngleAttenuation(float, _GXSpotFn) { - /* Nonmatching */ +void JStage::TLight::JSGSetAngleAttenuation(f32, GXSpotFn) { } /* 8026DF30-8026DF34 .text JSGGetPosition__Q26JStage6TLightCFP3Vec */ void JStage::TLight::JSGGetPosition(Vec*) const { - /* Nonmatching */ } /* 8026DF34-8026DF38 .text JSGSetPosition__Q26JStage6TLightFRC3Vec */ void JStage::TLight::JSGSetPosition(const Vec&) { - /* Nonmatching */ } /* 8026DF38-8026DF3C .text JSGGetDirection__Q26JStage6TLightCFP3Vec */ void JStage::TLight::JSGGetDirection(Vec*) const { - /* Nonmatching */ } /* 8026DF3C-8026DF40 .text JSGSetDirection__Q26JStage6TLightFRC3Vec */ void JStage::TLight::JSGSetDirection(const Vec&) { - /* Nonmatching */ } diff --git a/src/JSystem/JStage/JSGObject.cpp b/src/JSystem/JStage/JSGObject.cpp index ea00ed958..42fc54d82 100644 --- a/src/JSystem/JStage/JSGObject.cpp +++ b/src/JSystem/JStage/JSGObject.cpp @@ -3,61 +3,67 @@ // Translation Unit: JSGObject.cpp // -#include "JSGObject.h" +#include "JSystem/JStage/JSGObject.h" #include "dolphin/types.h" /* 8026DF40-8026DF88 .text __dt__Q26JStage7TObjectFv */ JStage::TObject::~TObject() { - /* Nonmatching */ } /* 8026DF88-8026DF90 .text JSGGetName__Q26JStage7TObjectCFv */ -void JStage::TObject::JSGGetName() const { - /* Nonmatching */ +bool JStage::TObject::JSGGetName() const { + return false; } /* 8026DF90-8026DF98 .text JSGGetFlag__Q26JStage7TObjectCFv */ -void JStage::TObject::JSGGetFlag() const { - /* Nonmatching */ +bool JStage::TObject::JSGGetFlag() const { + return false; } /* 8026DF98-8026DF9C .text JSGSetFlag__Q26JStage7TObjectFUl */ -void JStage::TObject::JSGSetFlag(unsigned long) { - /* Nonmatching */ +void JStage::TObject::JSGSetFlag(u32) { } /* 8026DF9C-8026DFA4 .text JSGGetData__Q26JStage7TObjectCFUlPvUl */ -void JStage::TObject::JSGGetData(unsigned long, void*, unsigned long) const { - /* Nonmatching */ +bool JStage::TObject::JSGGetData(u32, void*, u32) const { + return false; } /* 8026DFA4-8026DFA8 .text JSGSetData__Q26JStage7TObjectFUlPCvUl */ -void JStage::TObject::JSGSetData(unsigned long, const void*, unsigned long) { - /* Nonmatching */ +void JStage::TObject::JSGSetData(u32, const void*, u32) { } /* 8026DFA8-8026DFAC .text JSGGetParent__Q26JStage7TObjectCFPPQ26JStage7TObjectPUl */ -void JStage::TObject::JSGGetParent(JStage::TObject**, unsigned long*) const { - /* Nonmatching */ +void JStage::TObject::JSGGetParent(JStage::TObject**, u32*) const { } /* 8026DFAC-8026DFB0 .text JSGSetParent__Q26JStage7TObjectFPQ26JStage7TObjectUl */ -void JStage::TObject::JSGSetParent(JStage::TObject*, unsigned long) { - /* Nonmatching */ +void JStage::TObject::JSGSetParent(JStage::TObject*, u32) { } /* 8026DFB0-8026DFB4 .text JSGSetRelation__Q26JStage7TObjectFbPQ26JStage7TObjectUl */ -void JStage::TObject::JSGSetRelation(bool, JStage::TObject*, unsigned long) { - /* Nonmatching */ +void JStage::TObject::JSGSetRelation(bool, JStage::TObject*, u32) { } /* 8026DFB4-8026DFBC .text JSGFindNodeID__Q26JStage7TObjectCFPCc */ -void JStage::TObject::JSGFindNodeID(const char*) const { - /* Nonmatching */ +s32 JStage::TObject::JSGFindNodeID(const char*) const { + return -1; } /* 8026DFBC-8026DFF8 .text JSGGetNodeTransformation__Q26JStage7TObjectCFUlPA4_f */ -void JStage::TObject::JSGGetNodeTransformation(unsigned long, float(*)[4]) const { - /* Nonmatching */ +int JStage::TObject::JSGGetNodeTransformation(u32, MtxP mtx) const { + mtx[0][0] = 0.0f; + mtx[0][1] = 0.0f; + mtx[0][2] = 0.0f; + mtx[0][3] = 0.0f; + mtx[1][0] = 0.0f; + mtx[1][1] = 0.0f; + mtx[1][2] = 0.0f; + mtx[1][3] = 0.0f; + mtx[2][0] = 0.0f; + mtx[2][1] = 0.0f; + mtx[2][2] = 0.0f; + mtx[2][3] = 0.0f; + return 0; } diff --git a/src/JSystem/JStage/JSGSystem.cpp b/src/JSystem/JStage/JSGSystem.cpp index 0edf6c9c5..e448073bf 100644 --- a/src/JSystem/JStage/JSGSystem.cpp +++ b/src/JSystem/JStage/JSGSystem.cpp @@ -3,41 +3,38 @@ // Translation Unit: JSGSystem.cpp // -#include "JSGSystem.h" +#include "JSystem/JStage/JSGSystem.h" #include "dolphin/types.h" /* 8026DFF8-8026E058 .text __dt__Q26JStage7TSystemFv */ JStage::TSystem::~TSystem() { - /* Nonmatching */ } /* 8026E058-8026E060 .text JSGFGetType__Q26JStage7TSystemCFv */ -void JStage::TSystem::JSGFGetType() const { - /* Nonmatching */ +s32 JStage::TSystem::JSGFGetType() const { + return 1; } /* 8026E060-8026E068 .text JSGFindObject__Q26JStage7TSystemCFPCcQ26JStage8TEObject */ -void JStage::TSystem::JSGFindObject(const char*, JStage::TEObject) const { - /* Nonmatching */ +bool JStage::TSystem::JSGFindObject(const char*, JStage::TEObject) const { + return false; } /* 8026E068-8026E070 .text JSGCreateObject__Q26JStage7TSystemFPCcQ26JStage8TEObjectUl */ -void JStage::TSystem::JSGCreateObject(const char*, JStage::TEObject, unsigned long) { - /* Nonmatching */ +bool JStage::TSystem::JSGCreateObject(const char*, JStage::TEObject, u32) { + return false; } /* 8026E070-8026E074 .text JSGDestroyObject__Q26JStage7TSystemFPQ26JStage7TObject */ void JStage::TSystem::JSGDestroyObject(JStage::TObject*) { - /* Nonmatching */ } /* 8026E074-8026E07C .text JSGGetSystemData__Q26JStage7TSystemFUl */ -void JStage::TSystem::JSGGetSystemData(unsigned long) { - /* Nonmatching */ +bool JStage::TSystem::JSGGetSystemData(u32) { + return false; } /* 8026E07C-8026E080 .text JSGSetSystemData__Q26JStage7TSystemFUlUl */ -void JStage::TSystem::JSGSetSystemData(unsigned long, unsigned long) { - /* Nonmatching */ +void JStage::TSystem::JSGSetSystemData(u32, u32) { }