14#define PROJ_PERSPECTIVE 1
18typedef struct _Scissor {
25typedef struct _HSD_RectS16 {
32typedef struct _HSD_RectF32 {
149#define HSD_COBJ(o) ((HSD_CObj*) (o))
150#define HSD_COBJ_INFO(i) ((HSD_CObjInfo*) (i))
151#define HSD_COBJ_METHOD(o) HSD_COBJ_INFO(HSD_OBJECT_METHOD(o))
GXProjectionType
Definition GXEnum.h:14
void HSD_CObjSetRight(HSD_CObj *cobj, f32 right)
Definition cobj.c:1010
int HSD_CObjGetUpVector(HSD_CObj *cobj, Vec3 *up)
Definition cobj.c:682
void HSD_CObjGetInterest(HSD_CObj *cobj, Vec3 *interest)
Definition cobj.c:547
HSD_WObj * HSD_CObjGetEyePositionWObj(HSD_CObj *cobj)
Definition cobj.c:535
MtxPtr HSD_CObjGetInvViewingMtxPtr(HSD_CObj *cobj)
Definition cobj.c:807
#define PROJ_ORTHO
Definition cobj.h:16
void HSD_CObjGetEyePosition(HSD_CObj *cobj, Vec3 *cam_pos)
Definition cobj.c:559
#define PROJ_FRUSTUM
Definition cobj.h:15
void HSD_CObjRemoveAnimByFlags(HSD_CObj *cobj, u32 flags)
Definition cobj.c:75
HSD_WObj * HSD_CObjGetInterestWObj(HSD_CObj *cobj)
Definition cobj.c:523
void HSD_CObjSetMtxDirty(HSD_CObj *cobj)
Definition cobj.c:748
void HSD_CObjAnim(HSD_CObj *cobj)
Definition cobj.c:173
void HSD_CObjSetInterestWObj(HSD_CObj *cobj, HSD_WObj *interest)
Definition cobj.c:529
void HSD_CObjSetUpVector(HSD_CObj *cobj, Vec3 *up)
Definition cobj.c:701
void HSD_CObjSetProjectionType(HSD_CObj *, u32)
Definition cobj.c:1135
HSD_CObj * HSD_CObjGetCurrent(void)
Definition cobj.c:1233
void HSD_CObjEndCurrent(void)
Definition cobj.c:517
void HSD_CObjSetViewportfx4(HSD_CObj *, f32, f32, f32, f32)
Definition cobj.c:1115
void HSD_CObjSetFlags(HSD_CObj *, u32)
Definition cobj.c:1217
GXProjectionType makeProjectionMtx(HSD_CObj *cobj, Mtx44 mtx)
Definition cobj.c:199
void HSD_CObjSetInterest(HSD_CObj *cobj, Vec3 *)
Definition cobj.c:553
void HSD_CObjEraseScreen(HSD_CObj *cobj, s32 enable_color, s32 enable_alpha, s32 enable_depth)
Definition cobj.c:34
void HSD_CObjAddAnim(HSD_CObj *cobj, HSD_CameraAnim *canim)
Definition cobj.c:100
f32 HSD_CObjGetTop(HSD_CObj *cobj)
Definition cobj.c:878
f32 HSD_CObjGetFov(HSD_CObj *cobj)
Definition cobj.c:846
void HSD_CObjGetScissor(HSD_CObj *cobj, Scissor *)
Definition cobj.c:1057
void HSD_CObjInit(HSD_CObj *cobj, HSD_CObjDesc *desc)
Definition cobj.c:1304
void HSD_CObjSetScissorx4(HSD_CObj *, u16 left, u16 right, u16 top, u16 bottom)
Definition cobj.c:1073
f32 HSD_CObjGetAspect(HSD_CObj *cobj)
Definition cobj.c:862
void HSD_CObjSetFov(HSD_CObj *, f32)
Definition cobj.c:854
HSD_CObj * HSD_CObjAlloc(void)
Definition cobj.c:1248
void HSD_CObjSetEyePositionWObj(HSD_CObj *cobj, HSD_WObj *eyepos)
Definition cobj.c:541
MtxPtr HSD_CObjGetViewingMtxPtr(HSD_CObj *cobj)
Definition cobj.c:787
u32 HSD_CObjGetFlags(HSD_CObj *cobj)
Definition cobj.c:1212
int HSD_CObjGetEyeVector(HSD_CObj *cobj, Vec3 *eye)
Definition cobj.c:571
f32 HSD_CObjGetEyeDistance(HSD_CObj *cobj)
Definition cobj.c:592
void HSD_CObjSetViewportf(HSD_CObj *cobj, HSD_RectF32 *)
Definition cobj.c:1107
f32 HSD_CObjGetRight(HSD_CObj *cobj)
Definition cobj.c:991
#define PROJ_PERSPECTIVE
Definition cobj.h:14
int HSD_CObjGetLeftVector(HSD_CObj *cobj, Vec3 *left)
Definition cobj.c:725
void HSD_CObjSetRoll(HSD_CObj *cobj, f32)
Definition cobj.c:827
void HSD_CObjSetTop(HSD_CObj *cobj, f32 top)
Definition cobj.c:903
void HSD_CObjSetDefaultClass(HSD_ClassInfo *info)
Definition cobj.c:1238
void HSD_CObjReqAnim(HSD_CObj *cobj, f32 startframe)
Definition cobj.c:184
HSD_CObj * HSD_CObjLoadDesc(HSD_CObjDesc *desc)
Definition cobj.c:1312
void HSD_CObjGetPerspective(HSD_CObj *cobj, f32 *top, f32 *bottom)
Definition cobj.c:1179
void HSD_CObjRemoveAnim(HSD_CObj *cobj)
Definition cobj.c:91
f32 HSD_CObjGetFar(HSD_CObj *)
Definition cobj.c:1042
static MtxPtr HSD_CObjGetViewingMtxPtrDirect(HSD_CObj *cobj)
Definition cobj.h:224
void HSD_CObjSetScissor(HSD_CObj *cobj, Scissor *)
Definition cobj.c:1065
bool HSD_CObjMtxIsDirty(HSD_CObj *)
Definition cobj.c:753
MtxPtr HSD_CObjGetInvViewingMtxPtrDirect(HSD_CObj *cobj)
Definition cobj.c:775
void HSD_CObjSetupViewingMtx(HSD_CObj *cobj)
Definition cobj.c:463
int HSD_CObjGetProjectionType(HSD_CObj *)
Definition cobj.c:1127
f32 HSD_CObjGetNear(HSD_CObj *)
Definition cobj.c:1027
f32 HSD_CObjGetLeft(HSD_CObj *cobj)
Definition cobj.c:955
f32 HSD_CObjGetBottom(HSD_CObj *cobj)
Definition cobj.c:920
void HSD_CObjSetBottom(HSD_CObj *cobj, f32 bottom)
Definition cobj.c:938
bool HSD_CObjSetCurrent(HSD_CObj *)
Definition cobj.c:481
void HSD_CObjGetViewingMtx(HSD_CObj *cobj, Mtx mtx)
Definition cobj.c:770
void HSD_CObjSetEyePosition(HSD_CObj *cobj, Vec3 *)
Definition cobj.c:565
void HSD_CObjSetOrtho(HSD_CObj *, f32 top, f32 bottom, f32 left, f32 right)
Definition cobj.c:1166
void HSD_CObjSetViewport(HSD_CObj *cobj, HSD_RectS16 *viewport)
Uses s16 -> float cast literal.
Definition cobj.c:1096
void HSD_CObjSetNear(HSD_CObj *cobj, f32 near)
Definition cobj.c:1035
void HSD_CObjSetLeft(HSD_CObj *cobj, f32 left)
Definition cobj.c:974
void HSD_CObjGetViewportf(HSD_CObj *cobj, HSD_RectF32 *)
Definition cobj.c:1085
void HSD_CObjSetAspect(HSD_CObj *cobj, f32 aspect)
Definition cobj.c:870
struct _cobj_Unk1 cobj_Unk1
Definition cobj.h:147
void HSD_CObjSetFrustum(HSD_CObj *, f32 top, f32 bottom, f32 left, f32 right)
Definition cobj.c:1153
void HSD_CObjSetFar(HSD_CObj *cobj, f32 far)
Definition cobj.c:1050
void HSD_CObjClearFlags(HSD_CObj *, u32)
Definition cobj.c:1225
void HSD_CObjSetPerspective(HSD_CObj *cobj, f32 fov, f32 aspect)
Definition cobj.c:1143
void HSD_CObjGetOrtho(HSD_CObj *, f32 *top, f32 *bottom, f32 *left, f32 *right)
Definition cobj.c:1192
Annotations describing how archive data is laid out, for the parts a C declaration cannot express: ho...
static HSD_WObjDesc eyepos
Definition if_2FF2.c:19
static HSD_WObjDesc interest
Definition if_2FF2.c:25
f32(* MtxPtr)[4]
Definition mtx.h:53
f32 Mtx44[4][4]
Definition mtx.h:51
f32 Mtx[3][4]
Definition mtx.h:50
signed int s32
Definition types.h:12
unsigned int u32
Definition types.h:13
signed short int s16
Definition types.h:6
float f32
Definition types.h:18
unsigned short int u16
Definition types.h:7
unsigned char u8
Definition types.h:5
HSD_ObjInfo parent
Definition cobj.h:137
int(* load)(HSD_CObj *cobj, HSD_CObjDesc *desc)
Definition cobj.h:138
f32 left
Definition cobj.h:61
f32 bottom
Definition cobj.h:60
f32 right
Definition cobj.h:62
f32 top
Definition cobj.h:59
f32 bottom
Definition cobj.h:67
f32 left
Definition cobj.h:68
f32 right
Definition cobj.h:69
f32 top
Definition cobj.h:66
f32 aspect
Definition cobj.h:55
f32 fov
Definition cobj.h:54
union HSD_CObj::HSD_CObj_projection_param projection_param
Mtx view_mtx
Definition cobj.h:73
f32 near
Definition cobj.h:50
HSD_WObj * eyepos
Definition cobj.h:44
union HSD_CObj::HSD_CObj_u u
HSD_Obj parent
Definition cobj.h:40
HSD_RectF32 viewport
Definition cobj.h:42
u8 projection_type
Definition cobj.h:72
Scissor scissor
Definition cobj.h:43
Mtx * proj_mtx
Definition cobj.h:75
HSD_WObj * interest
Definition cobj.h:45
f32 far
Definition cobj.h:51
HSD_AObj * aobj
Definition cobj.h:74
u32 flags
Definition cobj.h:41
HSD_WObjAnim * interest_anim
Definition cobj.h:144
HSD_AObjDesc * aobjdesc
Definition cobj.h:142
HSD_WObjAnim * eye_anim
Definition cobj.h:143
f32 roll
Definition cobj.h:86
u16 projection_type
Definition cobj.h:81
u16 flags
Definition cobj.h:80
Vec3 * up_vector
Definition cobj.h:87
f32 ffar
Definition cobj.h:89
HSD_RectS16 viewport
Definition cobj.h:82
HSD_WObjDesc * eyepos
Definition cobj.h:84
Scissor scissor
Definition cobj.h:83
char * class_name
Definition cobj.h:79
HSD_WObjDesc * interest
Definition cobj.h:85
f32 nnear
Definition cobj.h:88
f32 ffar
Definition cobj.h:103
u16 flags
Definition cobj.h:94
HSD_RectS16 viewport
Definition cobj.h:96
f32 right
Definition cobj.h:107
HSD_WObjDesc * eyepos
Definition cobj.h:98
HSD_WObjDesc * interest
Definition cobj.h:99
f32 bottom
Definition cobj.h:105
Scissor scissor
Definition cobj.h:97
f32 left
Definition cobj.h:106
u16 projection_type
Definition cobj.h:95
Vec3 * up_vector
Definition cobj.h:101
f32 roll
Definition cobj.h:100
char * class_name
Definition cobj.h:93
f32 nnear
Definition cobj.h:102
f32 top
Definition cobj.h:104
f32 roll
Definition cobj.h:118
u16 flags
Definition cobj.h:112
u16 projection_type
Definition cobj.h:113
HSD_RectS16 viewport
Definition cobj.h:114
f32 aspect
Definition cobj.h:123
HSD_WObjDesc * eyepos
Definition cobj.h:116
f32 fov
Definition cobj.h:122
HSD_WObjDesc * interest
Definition cobj.h:117
f32 nnear
Definition cobj.h:120
char * class_name
Definition cobj.h:111
Vec3 * up_vector
Definition cobj.h:119
f32 ffar
Definition cobj.h:121
Scissor scissor
Definition cobj.h:115
f32 xmin
Definition cobj.h:33
f32 xmax
Definition cobj.h:34
f32 ymin
Definition cobj.h:35
f32 ymax
Definition cobj.h:36
s16 ymin
Definition cobj.h:28
s16 xmax
Definition cobj.h:27
s16 xmin
Definition cobj.h:26
s16 ymax
Definition cobj.h:29
u16 top
Definition cobj.h:21
u16 bottom
Definition cobj.h:22
u16 right
Definition cobj.h:20
u16 left
Definition cobj.h:19
char *class_name DAT_IF(false)
HSD_CameraDescPerspective perspective DAT_IF(projection_type==PROJ_PERSPECTIVE)
HSD_CameraDescFrustum frustum DAT_IF(projection_type==PROJ_FRUSTUM)
HSD_CameraDescCommon common DAT_IF(false)
HSD_CameraDescFrustum ortho DAT_IF(projection_type==PROJ_ORTHO)
struct HSD_CObj::HSD_CObj_projection_param::HSD_CObj_projection_param_frustum frustum
struct HSD_CObj::HSD_CObj_projection_param::HSD_CObj_projection_param_ortho ortho
struct HSD_CObj::HSD_CObj_projection_param::HSD_CObj_projection_param_perspective perspective
f32 roll
Definition cobj.h:47
Vec3 up
Definition cobj.h:48