summaryrefslogtreecommitdiff
path: root/include/f_op/f_op_camera_mng.h
blob: af93129e1c1bd92b55cd7ce65458314d681095d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#ifndef F_F_OP_CAMERA_MNG_H_
#define F_F_OP_CAMERA_MNG_H_

#include "SSystem/SComponent/c_sxyz.h"
#include "f_op/f_op_camera.h"

struct fopCamM_prm_class {
    /* 0x00 */ fopAcM_prmBase_class base;
};  // Size: 0x18

inline void fopCamM_SetAngleX(camera_class* i_camera, s16 angleX) {
    i_camera->mAngle.x = angleX;
}

inline void fopCamM_SetAngleY(camera_class* i_camera, s16 angleY) {
    i_camera->mAngle.y = angleY;
}

inline void fopCamM_SetAngleZ(camera_class* i_camera, s16 angleZ) {
    i_camera->mAngle.z = angleZ;
}

inline void fopCamM_SetNear(camera_class* i_this, f32 near) {
    i_this->mNear = near;
}

inline void fopCamM_SetFar(camera_class* i_this, f32 far) {
    i_this->mFar = far;
}

inline void fopCamM_SetFovy(camera_class* i_this, f32 fovy) {
    i_this->mFovy = fovy;
}

inline void fopCamM_SetAspect(camera_class* i_this, f32 aspect) {
    i_this->mAspect = aspect;
}

inline void fopCamM_SetEye(camera_class* i_this, f32 x, f32 y, f32 z) {
    i_this->mLookat.mEye.set(x, y, z);
}

inline void fopCamM_SetCenter(camera_class* i_this, f32 x, f32 y, f32 z) {
    i_this->mLookat.mCenter.set(x, y, z);
}

inline void fopCamM_SetUp(camera_class* i_this, f32 x, f32 y, f32 z) {
    i_this->mLookat.mUp.set(x, y, z);
}

inline void fopCamM_SetBank(camera_class* i_this, s16 bank) {
    i_this->mBank = bank;
}

inline void fopCamM_SetPrm1(camera_class* i_this, int prm1) {
    i_this->mPrm1 = prm1;
}

inline void fopCamM_SetPrm2(camera_class* i_this, int prm2) {
    i_this->mPrm2 = prm2;
}

inline void fopCamM_SetPrm3(camera_class* i_this, int prm3) {
    i_this->mPrm3 = prm3;
}

inline s16 fopCamM_GetAngleX(camera_class* i_camera) {
    return i_camera->mAngle.x;
}

inline s16 fopCamM_GetAngleY(camera_class* i_camera) {
    return i_camera->mAngle.y;
}

inline s16 fopCamM_GetAngleZ(camera_class* i_camera) {
    return i_camera->mAngle.z;
}

inline f32 fopCamM_GetFovy(camera_class* i_camera) {
    return i_camera->mFovy;
}

inline cXyz* fopCamM_GetEye_p(camera_class* i_camera) {
    return &i_camera->mLookat.mEye;
}

inline cXyz* fopCamM_GetCenter_p(camera_class* i_camera) {
    return &i_camera->mLookat.mCenter;
}

inline cXyz* fopCamM_GetUp_p(camera_class* i_camera) {
    return &i_camera->mLookat.mUp;
}


inline s16 fopCamM_GetBank(camera_class* i_camera) {
    return i_camera->mBank;
}

fpc_ProcID fopCamM_Create(int i_cameraIdx, s16 pProcName, void* i_append);
void fopCamM_Management(void);
u32 fopCamM_GetParam(camera_class* pCamera);
void fopCamM_Init(void);

#endif