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 */