Adds additional check before adding isometric projections.
Details
- Reviewers
wraitii - Group Reviewers
Restricted Owners Package (Owns No Changed Paths) - Commits
- rP22319: Adds Camera test for frustum.
- Apply the patch and compile tests
- Run tests
- Make sure that the added test passed
Diff Detail
- Repository
- rP 0 A.D. Public Repository
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
Event Timeline
Build failure - The Moirai have given mortals hearts that can endure.
Linter detected issues:
Link to build: https://jenkins.wildfiregames.com/job/differential/1521/display/redirect
Test pass in release and debug mode for me.
Got this in the debug output but it's unrelated to your patch
inkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(67) : Assertion failed: ((destination)) != NULL && ((size_in_elements)) > 0 minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(67) : Assertion failed: ((destination)) != NULL && ((size_in_elements)) > 0 minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(67) : Assertion failed: ((destination)) != NULL && ((size_in_elements)) > 0 minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(68) : Assertion failed: (((source))) != NULL minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(67) : Assertion failed: ((destination)) != NULL && ((size_in_elements)) > 0 minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(81) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(81) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(81) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(218) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(218) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(218) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(25) : Assertion failed: ((destination)) != NULL && ((size_in_elements)) > 0 minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(25) : Assertion failed: ((destination)) != NULL && ((size_in_elements)) > 0 minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(25) : Assertion failed: ((destination)) != NULL && ((size_in_elements)) > 0 minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(26) : Assertion failed: (((source))) != NULL minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(25) : Assertion failed: ((destination)) != NULL && ((size_in_elements)) > 0 minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(39) : Assertion failed: (L"String is not null terminated" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(50) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(50) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(50) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(50) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(50) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(155) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(155) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(155) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(155) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\inc\corecrt_internal_string_templates.h(155) : Assertion failed: (L"Buffer is too small" && 0) minkernel\crts\ucrt\src\appcrt\stdio\output.cpp(277) : Assertion failed: ("Buffer too small", 0) minkernel\crts\ucrt\src\appcrt\stdio\output.cpp(277) : Assertion failed: ("Buffer too small", 0) minkernel\crts\ucrt\src\appcrt\stdio\output.cpp(266) : Assertion failed: buffer != nullptr && buffer_count > 0 minkernel\crts\ucrt\src\appcrt\stdio\output.cpp(266) : Assertion failed: buffer != nullptr && buffer_count > 0 minkernel\crts\ucrt\src\appcrt\stdio\output.cpp(265) : Assertion failed: format != nullptr minkernel\crts\ucrt\src\appcrt\stdio\output.cpp(277) : Assertion failed: ("Buffer too small", 0) minkernel\crts\ucrt\src\appcrt\stdio\output.cpp(277) : Assertion failed: ("Buffer too small", 0) minkernel\crts\ucrt\src\appcrt\stdio\output.cpp(266) : Assertion failed: buffer != nullptr && buffer_count > 0 minkernel\crts\ucrt\src\appcrt\stdio\output.cpp(266) : Assertion failed: buffer != nullptr && buffer_count > 0 minkernel\crts\ucrt\src\appcrt\stdio\output.cpp(265) : Assertion failed: format != nullptr 'test_dbg.exe' (Win32): Loaded 'D:\Dev\0ad-svn\ps\trunk\binaries\system\libsodiumd.dll'. Cannot find or open the PDB file. Exception thrown at 0x7769C762 in test_dbg.exe: Microsoft C++ exception: PSERROR_Serialize_ScriptError at memory location 0x0057E5A0. Exception thrown at 0x7769C762 in test_dbg.exe: Microsoft C++ exception: PSERROR_Serialize_OutOfBounds at memory location 0x0057F9FC. Exception thrown at 0x7769C762 in test_dbg.exe: Microsoft C++ exception: PSERROR_Serialize_OutOfBounds at memory location 0x0057F9FC. Exception thrown at 0x7769C762 in test_dbg.exe: Microsoft C++ exception: PSERROR_Serialize_InvalidScriptValue at memory location 0x0057E200. Detected memory leaks! Dumping objects -> {1888676} normal block at 0x07E367A8, 192 bytes long. Data: </ > 2F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 {1888669} normal block at 0x07E35C68, 192 bytes long. Data: </ > 2F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Object dump complete. The program '[17052] test_dbg.exe' has exited with code 0 (0x0).
source/graphics/tests/test_Camera.h | ||
---|---|---|
89 ↗ | (On Diff #8172) | Nah the => <= way :) |
Thank you!
Got this in the debug output but it's unrelated to your patch
Probably we need to fix them somewhen too :)
source/graphics/tests/test_Camera.h | ||
---|---|---|
89 ↗ | (On Diff #8172) | Ah, we don't compare by less/greater, we check equality. But we can't just compare float point numbers, we have to use epsilon. So |x - expected| < EPS means that the x is lying inside an epsilon neighbourhood of expected. |
I think it really depends on a compiler. Theoretically std::fabs can be faster because of less number of arithmetic operations and less number of comparisons.