mirror of
https://github.com/zeldaret/ss
synced 2026-05-25 23:35:13 -04:00
67 lines
1.5 KiB
C++
67 lines
1.5 KiB
C++
#ifndef M3D_M_SCNLEAF_H
|
|
#define M3D_M_SCNLEAF_H
|
|
|
|
#include "egg/core/eggDisposer.h"
|
|
#include "m/m_allocator.h"
|
|
#include "nw4r/g3d/g3d_scnobj.h"
|
|
|
|
namespace m3d {
|
|
|
|
// NON-OFFICIAL
|
|
enum ScnLeafType_e {
|
|
SCN_LEAF_MODEL = 0,
|
|
SCN_LEAF_PROC = 2,
|
|
};
|
|
|
|
class UnkClass {
|
|
public:
|
|
UnkClass() {}
|
|
};
|
|
|
|
class scnLeaf_c : UnkClass, EGG::Disposer {
|
|
public:
|
|
scnLeaf_c();
|
|
virtual ~scnLeaf_c();
|
|
virtual int getType() const = 0;
|
|
virtual void remove();
|
|
virtual int entry();
|
|
|
|
void setOption(u32 flag, u32 set);
|
|
void setScale(f32, f32, f32);
|
|
void setScale(const nw4r::math::VEC3 &);
|
|
void getScale(nw4r::math::VEC3 *) const;
|
|
|
|
void setLocalMtx(const nw4r::math::MTX34 *);
|
|
void getLocalMtx(nw4r::math::MTX34 *) const;
|
|
const nw4r::math::MTX34 *getLocalMtx() const;
|
|
void getWorldMtx(nw4r::math::MTX34 *) const;
|
|
void getViewMtx(nw4r::math::MTX34 *) const;
|
|
|
|
void setCallback(nw4r::g3d::IScnObjCallback *cb);
|
|
nw4r::g3d::IScnObjCallback *swapCallback(nw4r::g3d::IScnObjCallback *cb);
|
|
|
|
void enableCallbackTiming(nw4r::g3d::ScnObj::Timing);
|
|
void enableCallbackOp(nw4r::g3d::ScnObj::ExecOp);
|
|
|
|
void calc(bool);
|
|
void calcVtx(bool);
|
|
void calcView(void *, bool);
|
|
|
|
void setPriorityDraw(int, int);
|
|
|
|
inline nw4r::g3d::ScnLeaf *getG3dObject() {
|
|
return mpScnLeaf;
|
|
}
|
|
|
|
inline const nw4r::g3d::ScnLeaf *getG3dObject() const {
|
|
return mpScnLeaf;
|
|
}
|
|
|
|
protected:
|
|
/* 0x14 */ nw4r::g3d::ScnLeaf *mpScnLeaf;
|
|
};
|
|
|
|
} // namespace m3d
|
|
|
|
#endif
|