/************************************************************************* * * Orca * Copyright 2023 Martin Fouilleul and the Orca project contributors * See LICENSE.txt for licensing information * **************************************************************************/ #ifndef __TYPEDEFS_H_ #define __TYPEDEFS_H_ #include //FLT_MAX/MIN etc... #include #include #ifndef __cplusplus #include #endif //__cplusplus typedef uint8_t byte; typedef uint8_t u8; typedef uint16_t u16; typedef uint32_t u32; typedef uint64_t u64; typedef int8_t i8; typedef int16_t i16; typedef int32_t i32; typedef int64_t i64; typedef float f32; typedef double f64; typedef union { struct { f32 x; f32 y; }; f32 c[2]; } oc_vec2; typedef union { struct { f32 x; f32 y; f32 z; }; f32 c[3]; } oc_vec3; typedef union { struct { i32 x; i32 y; }; i32 c[2]; } oc_vec2i; typedef union { struct { f32 x; f32 y; f32 z; f32 w; }; f32 c[4]; } oc_vec4; typedef struct oc_mat2x3 { f32 m[6]; } oc_mat2x3; typedef union { struct { f32 x; f32 y; f32 w; f32 h; }; struct { oc_vec2 xy; oc_vec2 wh; }; f32 c[4]; } oc_rect; #endif //__TYPEDEFS_H_