Prevent redefinition errors when the includes are not ordered
In the Nim language bindings we have no control over the order the includes are generated. Code didn't compile in some cases, now works.
This commit is contained in:
parent
445ce51e51
commit
33d5271d5d
29
src/raylib.h
29
src/raylib.h
|
|
@ -140,13 +140,13 @@
|
||||||
// Other modules (raymath, rlgl) also require some of those types, so,
|
// Other modules (raymath, rlgl) also require some of those types, so,
|
||||||
// to be able to use those other modules as standalone (not depending on raylib)
|
// to be able to use those other modules as standalone (not depending on raylib)
|
||||||
// this defines are very useful for internal check and avoid type (re)definitions
|
// this defines are very useful for internal check and avoid type (re)definitions
|
||||||
#define RL_COLOR_TYPE
|
// #define RL_COLOR_TYPE
|
||||||
#define RL_RECTANGLE_TYPE
|
// #define RL_RECTANGLE_TYPE
|
||||||
#define RL_VECTOR2_TYPE
|
// #define RL_VECTOR2_TYPE
|
||||||
#define RL_VECTOR3_TYPE
|
// #define RL_VECTOR3_TYPE
|
||||||
#define RL_VECTOR4_TYPE
|
// #define RL_VECTOR4_TYPE
|
||||||
#define RL_QUATERNION_TYPE
|
// #define RL_QUATERNION_TYPE
|
||||||
#define RL_MATRIX_TYPE
|
// #define RL_MATRIX_TYPE
|
||||||
|
|
||||||
// Some Basic Colors
|
// Some Basic Colors
|
||||||
// NOTE: Custom raylib color palette for amazing visuals on WHITE background
|
// NOTE: Custom raylib color palette for amazing visuals on WHITE background
|
||||||
|
|
@ -189,19 +189,26 @@
|
||||||
#define RL_BOOL_TYPE
|
#define RL_BOOL_TYPE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(RL_VECTOR2_TYPE)
|
||||||
// Vector2, 2 components
|
// Vector2, 2 components
|
||||||
typedef struct Vector2 {
|
typedef struct Vector2 {
|
||||||
float x; // Vector x component
|
float x; // Vector x component
|
||||||
float y; // Vector y component
|
float y; // Vector y component
|
||||||
} Vector2;
|
} Vector2;
|
||||||
|
#define RL_VECTOR2_TYPE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(RL_VECTOR3_TYPE)
|
||||||
// Vector3, 3 components
|
// Vector3, 3 components
|
||||||
typedef struct Vector3 {
|
typedef struct Vector3 {
|
||||||
float x; // Vector x component
|
float x; // Vector x component
|
||||||
float y; // Vector y component
|
float y; // Vector y component
|
||||||
float z; // Vector z component
|
float z; // Vector z component
|
||||||
} Vector3;
|
} Vector3;
|
||||||
|
#define RL_VECTOR3_TYPE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(RL_VECTOR4_TYPE)
|
||||||
// Vector4, 4 components
|
// Vector4, 4 components
|
||||||
typedef struct Vector4 {
|
typedef struct Vector4 {
|
||||||
float x; // Vector x component
|
float x; // Vector x component
|
||||||
|
|
@ -209,10 +216,16 @@ typedef struct Vector4 {
|
||||||
float z; // Vector z component
|
float z; // Vector z component
|
||||||
float w; // Vector w component
|
float w; // Vector w component
|
||||||
} Vector4;
|
} Vector4;
|
||||||
|
#define RL_VECTOR4_TYPE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(RL_QUATERNION_TYPE)
|
||||||
// Quaternion, 4 components (Vector4 alias)
|
// Quaternion, 4 components (Vector4 alias)
|
||||||
typedef Vector4 Quaternion;
|
typedef Vector4 Quaternion;
|
||||||
|
#define RL_QUATERNION_TYPE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(RL_MATRIX_TYPE)
|
||||||
// Matrix, 4x4 components, column major, OpenGL style, right handed
|
// Matrix, 4x4 components, column major, OpenGL style, right handed
|
||||||
typedef struct Matrix {
|
typedef struct Matrix {
|
||||||
float m0, m4, m8, m12; // Matrix first row (4 components)
|
float m0, m4, m8, m12; // Matrix first row (4 components)
|
||||||
|
|
@ -220,6 +233,8 @@ typedef struct Matrix {
|
||||||
float m2, m6, m10, m14; // Matrix third row (4 components)
|
float m2, m6, m10, m14; // Matrix third row (4 components)
|
||||||
float m3, m7, m11, m15; // Matrix fourth row (4 components)
|
float m3, m7, m11, m15; // Matrix fourth row (4 components)
|
||||||
} Matrix;
|
} Matrix;
|
||||||
|
#define RL_MATRIX_TYPE
|
||||||
|
#endif
|
||||||
|
|
||||||
// Color, 4 components, R8G8B8A8 (32bit)
|
// Color, 4 components, R8G8B8A8 (32bit)
|
||||||
typedef struct Color {
|
typedef struct Color {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user