mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-23 14:41:38 -04:00
51 lines
753 B
C
51 lines
753 B
C
#ifndef M_VIEW_H
|
|
#define M_VIEW_H
|
|
|
|
#include "types.h"
|
|
#include "libu64/u64types.h"
|
|
#include "m_olib.h"
|
|
#include "graph.h"
|
|
#include "PR/mbi.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* sizeof(struct view_s) == 0x120 */
|
|
typedef struct view_s {
|
|
GRAPH* graph;
|
|
|
|
rect screen;
|
|
f32 fovY;
|
|
f32 near, far;
|
|
f32 scale;
|
|
xyz_t eye;
|
|
xyz_t center;
|
|
xyz_t up;
|
|
|
|
Vp viewport;
|
|
|
|
Mtx mtx_projection;
|
|
Mtx mtx_viewing;
|
|
Mtx* p_projection;
|
|
Mtx* p_viewing;
|
|
|
|
struct stretch_s {
|
|
xyz_t target_rotate;
|
|
xyz_t target_scale;
|
|
f32 step; /* step speed between rotate/scale -> target_rotation/target_scale */
|
|
xyz_t rotate;
|
|
xyz_t scale;
|
|
} stretch;
|
|
|
|
u16 normal;
|
|
int flag;
|
|
int _unused_pad0;
|
|
} View;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|