@@ -188,6 +188,19 @@ extern "C" {
188188 */
189189#define AssertColorSame (...) RAYLIB_ASSERT_VA_SELECT(AssertColorSame, __VA_ARGS__)
190190
191+ /**
192+ * Assert whether two Vector2s are the same.
193+ *
194+ * @param vector1 The first Vector2 to check.
195+ * @param vector2 The second Vector2 to check.
196+ * @param message (Optional) The message to provide on failed assertions.
197+ * @param p1 (Optional) The first parameter in the message.
198+ * @param p2 (Optional) The second parameter in the message.
199+ * @param p3 (Optional) The third parameter in the message.
200+ * @param p4 (Optional) The fourth parameter in the message.
201+ */
202+ #define AssertVector2Same (...) RAYLIB_ASSERT_VA_SELECT(AssertVector2Same, __VA_ARGS__)
203+
191204// Assert()
192205#ifdef RAYLIB_ASSERT_NDEBUG
193206#define Assert_0 ()
@@ -345,6 +358,31 @@ extern "C" {
345358#define AssertColorSame_7 (color1 , color2 , message , p1 , p2 , p3 , p4 ) AssertColorSame_3(color1, color2, RAYLIB_ASSERT_TEXTFORMAT(message, p1, p2, p3, p4))
346359#endif
347360
361+ // AssertVector2Same()
362+ #ifdef RAYLIB_ASSERT_NDEBUG
363+ #define AssertVector2Same_0 ()
364+ #define AssertVector2Same_1 (vector )
365+ #define AssertVector2Same_2 (vector1 , vector2 )
366+ #define AssertVector2Same_3 (vector1 , vector2 , message )
367+ #define AssertVector2Same_4 (vector1 , vector2 , message , p1 )
368+ #define AssertVector2Same_5 (vector1 , vector2 , message , p1 , p2 )
369+ #define AssertVector2Same_6 (vector1 , vector2 , message , p1 , p2 , p3 )
370+ #define AssertVector2Same_7 (vector1 , vector2 , message , p1 , p2 , p3 , p4 )
371+ #else
372+ #define AssertVector2Same_0 () AssertFail_1("Vectors not provided to AssertVector2Same()")
373+ #define AssertVector2Same_1 (vector ) AssertFail_1("Expected two vectors for AssertVector2Same()")
374+ #define AssertVector2Same_2 (vector1 , vector2 ) AssertVector2Same_5(vector1, vector2, "AssertVector2Same(%s, %s) - vectors do not match", #vector1, #vector2)
375+ #define AssertVector2Same_3 (vector1 , vector2 , message ) do { \
376+ if (vector1.x != vector2.x || vector1.y != vector2.y) { \
377+ AssertFail_1(message); \
378+ }\
379+ } while (0)
380+ #define AssertVector2Same_4 (vector1 , vector2 , message , p1 ) AssertVector2Same_3(vector1, vector2, RAYLIB_ASSERT_TEXTFORMAT(message, p1))
381+ #define AssertVector2Same_5 (vector1 , vector2 , message , p1 , p2 ) AssertVector2Same_3(vector1, vector2, RAYLIB_ASSERT_TEXTFORMAT(message, p1, p2))
382+ #define AssertVector2Same_6 (vector1 , vector2 , message , p1 , p2 , p3 ) AssertVector2Same_3(vector1, vector2, RAYLIB_ASSERT_TEXTFORMAT(message, p1, p2, p3))
383+ #define AssertVector2Same_7 (vector1 , vector2 , message , p1 , p2 , p3 , p4 ) AssertVector2Same_3(vector1, vector2, RAYLIB_ASSERT_TEXTFORMAT(message, p1, p2, p3, p4))
384+ #endif
385+
348386#ifdef __cplusplus
349387}
350388#endif
0 commit comments