mirror of
https://github.com/Ed94/metadesk.git
synced 2026-06-12 23:51:37 -07:00
0ab226f739
They'll be removed on demand in libgen repo
68 lines
1.3 KiB
C
68 lines
1.3 KiB
C
#ifdef INTELLISENSE_DIRECTIVES
|
|
# pragma once
|
|
# include "base_types.h"
|
|
#endif
|
|
|
|
////////////////////////////////
|
|
//~ rjf: Basic Types & Spaces
|
|
|
|
typedef enum MD_Dimension MD_Dimension;
|
|
enum MD_Dimension
|
|
{
|
|
MD_Dimension_X,
|
|
MD_Dimension_Y,
|
|
MD_Dimension_Z,
|
|
MD_Dimension_W,
|
|
};
|
|
|
|
typedef enum MD_Side MD_Side;
|
|
enum MD_Side
|
|
{
|
|
MD_Side_Invalid = -1,
|
|
MD_Side_Min,
|
|
MD_Side_Max,
|
|
MD_Side_COUNT,
|
|
};
|
|
#define side_flip(s) ((MD_Side)(!(s)))
|
|
|
|
typedef enum MD_Axis2 MD_Axis2;
|
|
enum MD_Axis2
|
|
{
|
|
MD_Axis2_Invalid = -1,
|
|
MD_Axis2_X,
|
|
MD_Axis2_Y,
|
|
MD_Axis2_COUNT,
|
|
};
|
|
#define axis2_flip(a) ((MD_Axis2)(!(a)))
|
|
|
|
typedef enum MD_corner MD_corner;
|
|
enum MD_corner
|
|
{
|
|
MD_Corner_Invalid = -1,
|
|
MD_Corner_00,
|
|
MD_Corner_01,
|
|
MD_Corner_10,
|
|
MD_Corner_11,
|
|
MD_Corner_COUNT
|
|
};
|
|
|
|
typedef enum MD_Dir2 MD_Dir2;
|
|
enum MD_Dir2
|
|
{
|
|
MD_Dir2_Invalid = -1,
|
|
MD_Dir2_Left,
|
|
MD_Dir2_Up,
|
|
MD_Dir2_Right,
|
|
MD_Dir2_Down,
|
|
MD_Dir2_COUNT
|
|
};
|
|
|
|
#define md_axis2_from_dir2(d) (((d) & 1) ? MD_Axis2_Y : MD_Axis2_X)
|
|
#define md_side_from_dir2(d) (((d) < MD_Dir2_Right) ? MD_Side_Min : MD_Side_Max)
|
|
|
|
////////////////////////////////
|
|
//~ rjf: Enum -> Sign
|
|
|
|
inline MD_S32 md_sign_from_side_S32(MD_Side side) { return((side == MD_Side_Min) ? -1 : 1 ); }
|
|
inline MD_F32 md_sign_from_side_F32(MD_Side side) { return((side == MD_Side_Min) ? -1.f : 1.f); }
|