tp/include/m_Do/m_Do_lib.h

53 lines
1.4 KiB
C

#ifndef M_DO_M_DO_LIB_H
#define M_DO_M_DO_LIB_H
#include "JSystem/J3DU/J3DUClipper.h"
#include "dolphin/types.h"
typedef struct _GXTexObj GXTexObj;
typedef struct _GXTlutObj GXTlutObj;
typedef struct Vec Vec;
struct ResTIMG;
struct mDoLib_clipper {
/* 8001528C */ void setup(f32, f32, f32, f32);
static void changeFar(f32 far) {
mClipper.setFar(far);
mClipper.calcViewFrustum();
}
static u32 clip(const Mtx m, const Vec* param_1, const Vec* param_2) {
return mClipper.clip(m, (Vec*)param_1, (Vec*)param_2);
}
static u32 clip(const Mtx m, Vec param_1, f32 param_2) {
return mClipper.clip(m, param_1, param_2);
}
static f32 getFar() { return mSystemFar; }
static f32 getFovyRate() { return mFovyRate; }
static void resetFar() {
mClipper.setFar(mSystemFar);
mClipper.calcViewFrustum();
}
static void setup(f32, f32, f32, f32);
static J3DUClipper mClipper;
static f32 mSystemFar;
static f32 mFovyRate;
};
void mDoLib_project(Vec* src, Vec* dst);
u8 mDoLib_setResTimgObj(ResTIMG const* res, GXTexObj* o_texObj, u32 tlut_name,
GXTlutObj* o_tlutObj);
void mDoLib_pos2camera(Vec* src, Vec* dst);
inline u32 calcAlphaCmpID(u32 param_1, u32 param_2, u32 param_3) {
return ((param_1 & 0xff) << 5) + ((param_2 & 0xff) << 3) + (param_3 & 0xff);
}
#endif /* M_DO_M_DO_LIB_H */