mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-23 07:19:53 -04:00
3b8300d0d2
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
50 lines
1.2 KiB
C
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 */
|