JStage all match

This commit is contained in:
LagoLunatic
2023-10-30 00:08:57 -04:00
parent bd0f72893c
commit 52d40a9ce7
16 changed files with 323 additions and 173 deletions
+33
View File
@@ -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 */
+16
View File
@@ -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 */
+39
View File
@@ -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 */
+23
View File
@@ -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 */
+29
View File
@@ -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 */
+23
View File
@@ -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 */
+28
View File
@@ -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 */
+5 -2
View File
@@ -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;