Files
dusklight/include/m_Do/m_Do_lib.h
T
Luke Street 3b8300d0d2 Merge decomp/main into dusk
Merges 44 upstream commits from zeldaret/tp decomp/main.

Conflict resolutions:
- .github/workflows/build.yml: keep deleted (not needed for PC port)
- README.md: keep PC port README
- J3DAnimation.h: keep OFFSET_PTR macro + add upstream forward decl
- J3DModelLoader.h: keep BE(u32) mBlockNum + add field_0x1c
- d_com_inf_game.h: keep PC port inlines + add upstream declarations
- global.h: keep MULTI_CHAR macro + add FABSF macro
- JUTConsole.cpp: keep uintptr_t cast for 64-bit
- JUTDbPrint.cpp: keep PC enter_() helper + add cstring include
- JUTResFont.cpp: take upstream loop/struct improvements with BE types
- JUTCacheFont.cpp: take upstream decomp fix
- float.h: use upstream !PLATFORM_GCN guard
- d_a_npc_bouS/theB.cpp: keep MULTI_CHAR() for PC portability
- d_a_npc_henna.cpp: keep uintptr_t + use upstream var name
- d_demo.cpp: keep near_/far_ field renames for PC
- d_resorce.cpp: keep uintptr_t + fix var name to res
- d_s_room.cpp, m_Do_graphic.cpp: keep dusk includes + add cstring
- m_Do_main.cpp: keep JHIComPortManager + use JAS_GLOBAL_INSTANCE_INIT
- angle_utils.h: remove redundant types.h include
2026-02-28 13:33:16 -07:00

50 lines
1.2 KiB
C

#ifndef M_DO_M_DO_LIB_H
#define M_DO_M_DO_LIB_H
#include "JSystem/J3DU/J3DUClipper.h"
typedef struct _GXTexObj GXTexObj;
typedef struct _GXTlutObj GXTlutObj;
typedef struct Vec Vec;
struct ResTIMG;
struct mDoLib_clipper {
static void setup(f32, f32, f32, f32);
static void changeFar(f32 far_) {
mClipper.setFar(far_);
mClipper.calcViewFrustum();
}
static int clip(const Mtx m, const Vec* param_1, const Vec* param_2) {
return mClipper.clip(m, (Vec*)param_1, (Vec*)param_2);
}
static s32 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 J3DUClipper mClipper;
static f32 mSystemFar;
static f32 mFovyRate;
};
void mDoLib_project(Vec* src, Vec* dst);
u32 mDoLib_setResTimgObj(ResTIMG const* res, GXTexObj* o_texObj, u32 tlut_name,
GXTlutObj* o_tlutObj);
void mDoLib_pos2camera(Vec* src, Vec* dst);
#if PLATFORM_WII
void mDoLib_2Dto3D(f32, f32, f32, Vec*);
#endif
#endif /* M_DO_M_DO_LIB_H */