|
3 | 3 | * raylib-assert - Assertion library for raylib. |
4 | 4 | * https://github.com/robloach/raylib-assert |
5 | 5 | * |
6 | | -* Version: v2.0.0 |
| 6 | +* Version: v3.0.0 |
7 | 7 | * |
8 | 8 | * Copyright 2023 Rob Loach (@RobLoach) |
9 | 9 | * |
10 | 10 | * DEPENDENCIES: |
11 | | -* raylib 4.5+ https://www.raylib.com |
| 11 | +* raylib 5.5+ https://www.raylib.com |
12 | 12 | * |
13 | 13 | * LICENSE: zlib/libpng |
14 | 14 | * |
@@ -201,6 +201,19 @@ extern "C" { |
201 | 201 | */ |
202 | 202 | #define AssertVector2Same(...) RAYLIB_ASSERT_VA_SELECT(AssertVector2Same, __VA_ARGS__) |
203 | 203 |
|
| 204 | +/** |
| 205 | + * Assert whether two Vector3s are the same. |
| 206 | + * |
| 207 | + * @param vector1 The first Vector3 to check. |
| 208 | + * @param vector2 The second Vector3 to check. |
| 209 | + * @param message (Optional) The message to provide on failed assertions. |
| 210 | + * @param p1 (Optional) The first parameter in the message. |
| 211 | + * @param p2 (Optional) The second parameter in the message. |
| 212 | + * @param p3 (Optional) The third parameter in the message. |
| 213 | + * @param p4 (Optional) The fourth parameter in the message. |
| 214 | + */ |
| 215 | +#define AssertVector3Same(...) RAYLIB_ASSERT_VA_SELECT(AssertVector3Same, __VA_ARGS__) |
| 216 | + |
204 | 217 | // Assert() |
205 | 218 | #ifdef RAYLIB_ASSERT_NDEBUG |
206 | 219 | #define Assert_0() |
@@ -275,21 +288,21 @@ extern "C" { |
275 | 288 |
|
276 | 289 | // AssertImage() |
277 | 290 | #define AssertImage_0() AssertFail_1("No image provided for AssertImage()") |
278 | | -#define AssertImage_1(image) Assert_3(IsImageReady(image), "AssertImage(%s) - Image not loaded", #image) |
279 | | -#define AssertImage_2(image, message) Assert_2(IsImageReady(image), message) |
280 | | -#define AssertImage_3(image, message, p1) Assert_3(IsImageReady(image), message, p1) |
281 | | -#define AssertImage_4(image, message, p1, p2) Assert_4(IsImageReady(image), message, p1, p2) |
282 | | -#define AssertImage_5(image, message, p1, p2, p3) Assert_5(IsImageReady(image), message, p1, p2, p3) |
283 | | -#define AssertImage_6(image, message, p1, p2, p3, p4) Assert_6(IsImageReady(image), message, p1, p2, p3, p4) |
| 291 | +#define AssertImage_1(image) Assert_3(IsImageValid(image), "AssertImage(%s) - Image not loaded", #image) |
| 292 | +#define AssertImage_2(image, message) Assert_2(IsImageValid(image), message) |
| 293 | +#define AssertImage_3(image, message, p1) Assert_3(IsImageValid(image), message, p1) |
| 294 | +#define AssertImage_4(image, message, p1, p2) Assert_4(IsImageValid(image), message, p1, p2) |
| 295 | +#define AssertImage_5(image, message, p1, p2, p3) Assert_5(IsImageValid(image), message, p1, p2, p3) |
| 296 | +#define AssertImage_6(image, message, p1, p2, p3, p4) Assert_6(IsImageValid(image), message, p1, p2, p3, p4) |
284 | 297 |
|
285 | 298 | // AssertTexture() |
286 | 299 | #define AssertTexture_0() AssertFail_1("No texture provided for AssertTexture()") |
287 | | -#define AssertTexture_1(texture) Assert_3(IsTextureReady(texture), "AssertTexture(%s) - Texture not loaded", #texture) |
288 | | -#define AssertTexture_2(texture, message) Assert_2(IsTextureReady(texture), message) |
289 | | -#define AssertTexture_3(texture, message, p1) Assert_3(IsTextureReady(texture), message, p1) |
290 | | -#define AssertTexture_4(texture, message, p1, p2) Assert_4(IsTextureReady(texture), message, p1, p2) |
291 | | -#define AssertTexture_5(texture, message, p1, p2, p3) Assert_5(IsTextureReady(texture), message, p1, p2, p3) |
292 | | -#define AssertTexture_6(texture, message, p1, p2, p3, p4) Assert_6(IsTextureReady(texture), message, p1, p2, p3, p4) |
| 300 | +#define AssertTexture_1(texture) Assert_3(IsTextureValid(texture), "AssertTexture(%s) - Texture not loaded", #texture) |
| 301 | +#define AssertTexture_2(texture, message) Assert_2(IsTextureValid(texture), message) |
| 302 | +#define AssertTexture_3(texture, message, p1) Assert_3(IsTextureValid(texture), message, p1) |
| 303 | +#define AssertTexture_4(texture, message, p1, p2) Assert_4(IsTextureValid(texture), message, p1, p2) |
| 304 | +#define AssertTexture_5(texture, message, p1, p2, p3) Assert_5(IsTextureValid(texture), message, p1, p2, p3) |
| 305 | +#define AssertTexture_6(texture, message, p1, p2, p3, p4) Assert_6(IsTextureValid(texture), message, p1, p2, p3, p4) |
293 | 306 |
|
294 | 307 | // AssertImageSame() |
295 | 308 | #ifdef RAYLIB_ASSERT_NDEBUG |
@@ -383,6 +396,31 @@ extern "C" { |
383 | 396 | #define AssertVector2Same_7(vector1, vector2, message, p1, p2, p3, p4) AssertVector2Same_3(vector1, vector2, RAYLIB_ASSERT_TEXTFORMAT(message, p1, p2, p3, p4)) |
384 | 397 | #endif |
385 | 398 |
|
| 399 | +// AssertVector3Same() |
| 400 | +#ifdef RAYLIB_ASSERT_NDEBUG |
| 401 | +#define AssertVector3Same_0() |
| 402 | +#define AssertVector3Same_1(vector) |
| 403 | +#define AssertVector3Same_2(vector1, vector2) |
| 404 | +#define AssertVector3Same_3(vector1, vector2, message) |
| 405 | +#define AssertVector3Same_4(vector1, vector2, message, p1) |
| 406 | +#define AssertVector3Same_5(vector1, vector2, message, p1, p2) |
| 407 | +#define AssertVector3Same_6(vector1, vector2, message, p1, p2, p3) |
| 408 | +#define AssertVector3Same_7(vector1, vector2, message, p1, p2, p3, p4) |
| 409 | +#else |
| 410 | +#define AssertVector3Same_0() AssertFail_1("Vectors not provided to AssertVector2Same()") |
| 411 | +#define AssertVector3Same_1(vector) AssertFail_1("Expected two vectors for AssertVector2Same()") |
| 412 | +#define AssertVector3Same_2(vector1, vector2) AssertVector3Same_5(vector1, vector2, "AssertVector2Same(%s, %s) - vectors do not match", #vector1, #vector2) |
| 413 | +#define AssertVector3Same_3(vector1, vector2, message) do { \ |
| 414 | + if (vector1.x != vector2.x || vector1.y != vector2.y || vector1.z != vector2.z) { \ |
| 415 | + AssertFail_1(message); \ |
| 416 | + }\ |
| 417 | +} while (0) |
| 418 | +#define AssertVector3Same_4(vector1, vector2, message, p1) AssertVector3Same_3(vector1, vector2, RAYLIB_ASSERT_TEXTFORMAT(message, p1)) |
| 419 | +#define AssertVector3Same_5(vector1, vector2, message, p1, p2) AssertVector3Same_3(vector1, vector2, RAYLIB_ASSERT_TEXTFORMAT(message, p1, p2)) |
| 420 | +#define AssertVector3Same_6(vector1, vector2, message, p1, p2, p3) AssertVector3Same_3(vector1, vector2, RAYLIB_ASSERT_TEXTFORMAT(message, p1, p2, p3)) |
| 421 | +#define AssertVector3Same_7(vector1, vector2, message, p1, p2, p3, p4) AssertVector3Same_3(vector1, vector2, RAYLIB_ASSERT_TEXTFORMAT(message, p1, p2, p3, p4)) |
| 422 | +#endif |
| 423 | + |
386 | 424 | #ifdef __cplusplus |
387 | 425 | } |
388 | 426 | #endif |
|
0 commit comments