mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Replace _IRR_DEBUG_BREAK_IF
with assertions
This commit is contained in:
parent
2f464843cb
commit
5f1ff453c9
22 changed files with 96 additions and 91 deletions
|
@ -11,6 +11,7 @@
|
|||
#include "IIndexBuffer.h"
|
||||
#include "EHardwareBufferFlags.h"
|
||||
#include "EPrimitiveTypes.h"
|
||||
#include <cassert>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
@ -121,7 +122,7 @@ public:
|
|||
/** \return Pointer to indices array. */
|
||||
inline const u16 *getIndices() const
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(getIndexBuffer()->getType() != video::EIT_16BIT);
|
||||
assert(getIndexBuffer()->getType() == video::EIT_16BIT);
|
||||
return static_cast<const u16*>(getIndexBuffer()->getData());
|
||||
}
|
||||
|
||||
|
@ -129,7 +130,7 @@ public:
|
|||
/** \return Pointer to indices array. */
|
||||
inline u16 *getIndices()
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(getIndexBuffer()->getType() != video::EIT_16BIT);
|
||||
assert(getIndexBuffer()->getType() == video::EIT_16BIT);
|
||||
return static_cast<u16*>(getIndexBuffer()->getData());
|
||||
}
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#pragma once
|
||||
|
||||
#include "irrTypes.h"
|
||||
#include <cassert>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
@ -118,7 +119,7 @@ public:
|
|||
bool drop() const
|
||||
{
|
||||
// someone is doing bad reference counting.
|
||||
_IRR_DEBUG_BREAK_IF(ReferenceCounter <= 0)
|
||||
assert(ReferenceCounter > 0);
|
||||
|
||||
--ReferenceCounter;
|
||||
if (!ReferenceCounter) {
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#include <list>
|
||||
#include <optional>
|
||||
#include <string>
|
||||
#include <cassert>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
@ -268,7 +269,7 @@ public:
|
|||
return false;
|
||||
|
||||
// The iterator must be set since the parent is not null.
|
||||
_IRR_DEBUG_BREAK_IF(!child->ThisIterator.has_value());
|
||||
assert(child->ThisIterator.has_value());
|
||||
auto it = *child->ThisIterator;
|
||||
child->ThisIterator = std::nullopt;
|
||||
child->Parent = nullptr;
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "CVertexBuffer.h"
|
||||
#include "CIndexBuffer.h"
|
||||
#include "S3DVertex.h"
|
||||
#include <cassert>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
@ -200,7 +201,7 @@ public:
|
|||
//! append the vertices and indices to the current buffer
|
||||
void append(const void *const vertices, u32 numVertices, const u16 *const indices, u32 numIndices) override
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(true);
|
||||
assert(false);
|
||||
}
|
||||
|
||||
//! Describe what kind of primitive geometry is used by the meshbuffer
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include <algorithm>
|
||||
#include <iterator>
|
||||
#include <vector>
|
||||
#include <cassert>
|
||||
|
||||
#include "irrTypes.h"
|
||||
#include "irrMath.h"
|
||||
|
@ -108,7 +109,7 @@ public:
|
|||
\param index: Where position to insert the new element. */
|
||||
void insert(const T &element, u32 index = 0)
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(index > m_data.size()) // access violation
|
||||
assert(index <= m_data.size());
|
||||
auto pos = std::next(m_data.begin(), index);
|
||||
m_data.insert(pos, element);
|
||||
is_sorted = false;
|
||||
|
@ -190,32 +191,28 @@ public:
|
|||
//! Direct access operator
|
||||
T &operator[](u32 index)
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(index >= m_data.size()) // access violation
|
||||
|
||||
assert(index < m_data.size());
|
||||
return m_data[index];
|
||||
}
|
||||
|
||||
//! Direct const access operator
|
||||
const T &operator[](u32 index) const
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(index >= m_data.size()) // access violation
|
||||
|
||||
assert(index < m_data.size());
|
||||
return m_data[index];
|
||||
}
|
||||
|
||||
//! Gets last element.
|
||||
T &getLast()
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(m_data.empty()) // access violation
|
||||
|
||||
assert(!m_data.empty());
|
||||
return m_data.back();
|
||||
}
|
||||
|
||||
//! Gets last element
|
||||
const T &getLast() const
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(m_data.empty()) // access violation
|
||||
|
||||
assert(!m_data.empty());
|
||||
return m_data.back();
|
||||
}
|
||||
|
||||
|
@ -365,7 +362,7 @@ public:
|
|||
\param index: Index of element to be erased. */
|
||||
void erase(u32 index)
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(index >= m_data.size()) // access violation
|
||||
assert(index < m_data.size());
|
||||
auto it = std::next(m_data.begin(), index);
|
||||
m_data.erase(it);
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include <cstdio>
|
||||
#include <cstring>
|
||||
#include <cwchar>
|
||||
#include <cassert>
|
||||
|
||||
/* HACK: import these string methods from MT's util/string.h */
|
||||
extern std::wstring utf8_to_wide(std::string_view input);
|
||||
|
@ -174,9 +175,9 @@ public:
|
|||
}
|
||||
|
||||
if constexpr (sizeof(T) != sizeof(B)) {
|
||||
_IRR_DEBUG_BREAK_IF(
|
||||
(uintptr_t)c >= (uintptr_t)(str.data()) &&
|
||||
(uintptr_t)c < (uintptr_t)(str.data() + str.size()));
|
||||
assert(
|
||||
(uintptr_t)c < (uintptr_t)(str.data()) ||
|
||||
(uintptr_t)c >= (uintptr_t)(str.data() + str.size()));
|
||||
}
|
||||
|
||||
if ((void *)c == (void *)c_str())
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <cassert>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
@ -65,22 +66,6 @@ typedef char fschar_t;
|
|||
|
||||
} // end namespace irr
|
||||
|
||||
//! define a break macro for debugging.
|
||||
#if defined(_DEBUG)
|
||||
#if defined(_IRR_WINDOWS_API_) && defined(_MSC_VER)
|
||||
#include <crtdbg.h>
|
||||
#define _IRR_DEBUG_BREAK_IF(_CONDITION_) \
|
||||
if (_CONDITION_) { \
|
||||
_CrtDbgBreak(); \
|
||||
}
|
||||
#else
|
||||
#include <assert.h>
|
||||
#define _IRR_DEBUG_BREAK_IF(_CONDITION_) assert(!(_CONDITION_));
|
||||
#endif
|
||||
#else
|
||||
#define _IRR_DEBUG_BREAK_IF(_CONDITION_)
|
||||
#endif
|
||||
|
||||
//! deprecated macro for virtual function override
|
||||
/** prefer to use the override keyword for new code */
|
||||
#define _IRR_OVERRIDE_ override
|
||||
|
@ -89,13 +74,13 @@ typedef char fschar_t;
|
|||
// Note: an assert(false) is included first to catch this in debug builds
|
||||
#if defined(__cpp_lib_unreachable)
|
||||
#include <utility>
|
||||
#define IRR_CODE_UNREACHABLE() do { _IRR_DEBUG_BREAK_IF(1) std::unreachable(); } while(0)
|
||||
#define IRR_CODE_UNREACHABLE() do { assert(false); std::unreachable(); } while(0)
|
||||
#elif defined(__has_builtin)
|
||||
#if __has_builtin(__builtin_unreachable)
|
||||
#define IRR_CODE_UNREACHABLE() do { _IRR_DEBUG_BREAK_IF(1) __builtin_unreachable(); } while(0)
|
||||
#define IRR_CODE_UNREACHABLE() do { assert(false); __builtin_unreachable(); } while(0)
|
||||
#endif
|
||||
#elif defined(_MSC_VER)
|
||||
#define IRR_CODE_UNREACHABLE() do { _IRR_DEBUG_BREAK_IF(1) __assume(false); } while(0)
|
||||
#define IRR_CODE_UNREACHABLE() do { assert(false); __assume(false); } while(0)
|
||||
#endif
|
||||
#ifndef IRR_CODE_UNREACHABLE
|
||||
#define IRR_CODE_UNREACHABLE() (void)0
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#include "aabbox3d.h"
|
||||
#include "rect.h"
|
||||
#include "IrrCompileConfig.h" // for IRRLICHT_API
|
||||
#include <cassert>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
@ -1198,10 +1199,10 @@ inline CMatrix4<T> &CMatrix4<T>::buildProjectionMatrixPerspectiveFovRH(
|
|||
f32 fieldOfViewRadians, f32 aspectRatio, f32 zNear, f32 zFar, bool zClipFromZero)
|
||||
{
|
||||
const f64 h = reciprocal(tan(fieldOfViewRadians * 0.5));
|
||||
_IRR_DEBUG_BREAK_IF(aspectRatio == 0.f); // divide by zero
|
||||
assert(aspectRatio != 0.f); // divide by zero
|
||||
const T w = static_cast<T>(h / aspectRatio);
|
||||
|
||||
_IRR_DEBUG_BREAK_IF(zNear == zFar); // divide by zero
|
||||
assert(zNear != zFar); // divide by zero
|
||||
M[0] = w;
|
||||
M[1] = 0;
|
||||
M[2] = 0;
|
||||
|
@ -1240,10 +1241,10 @@ inline CMatrix4<T> &CMatrix4<T>::buildProjectionMatrixPerspectiveFovLH(
|
|||
f32 fieldOfViewRadians, f32 aspectRatio, f32 zNear, f32 zFar, bool zClipFromZero)
|
||||
{
|
||||
const f64 h = reciprocal(tan(fieldOfViewRadians * 0.5));
|
||||
_IRR_DEBUG_BREAK_IF(aspectRatio == 0.f); // divide by zero
|
||||
assert(aspectRatio != 0.f); // divide by zero
|
||||
const T w = static_cast<T>(h / aspectRatio);
|
||||
|
||||
_IRR_DEBUG_BREAK_IF(zNear == zFar); // divide by zero
|
||||
assert(zNear != zFar); // divide by zero
|
||||
M[0] = w;
|
||||
M[1] = 0;
|
||||
M[2] = 0;
|
||||
|
@ -1282,7 +1283,7 @@ inline CMatrix4<T> &CMatrix4<T>::buildProjectionMatrixPerspectiveFovInfinityLH(
|
|||
f32 fieldOfViewRadians, f32 aspectRatio, f32 zNear, f32 epsilon)
|
||||
{
|
||||
const f64 h = reciprocal(tan(fieldOfViewRadians * 0.5));
|
||||
_IRR_DEBUG_BREAK_IF(aspectRatio == 0.f); // divide by zero
|
||||
assert(aspectRatio != 0.f); // divide by zero
|
||||
const T w = static_cast<T>(h / aspectRatio);
|
||||
|
||||
M[0] = w;
|
||||
|
@ -1313,9 +1314,9 @@ template <class T>
|
|||
inline CMatrix4<T> &CMatrix4<T>::buildProjectionMatrixOrthoLH(
|
||||
f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar, bool zClipFromZero)
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(widthOfViewVolume == 0.f); // divide by zero
|
||||
_IRR_DEBUG_BREAK_IF(heightOfViewVolume == 0.f); // divide by zero
|
||||
_IRR_DEBUG_BREAK_IF(zNear == zFar); // divide by zero
|
||||
assert(widthOfViewVolume != 0.f); // divide by zero
|
||||
assert(heightOfViewVolume != 0.f); // divide by zero
|
||||
assert(zNear != zFar); // divide by zero
|
||||
M[0] = (T)(2 / widthOfViewVolume);
|
||||
M[1] = 0;
|
||||
M[2] = 0;
|
||||
|
@ -1352,9 +1353,9 @@ template <class T>
|
|||
inline CMatrix4<T> &CMatrix4<T>::buildProjectionMatrixOrthoRH(
|
||||
f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar, bool zClipFromZero)
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(widthOfViewVolume == 0.f); // divide by zero
|
||||
_IRR_DEBUG_BREAK_IF(heightOfViewVolume == 0.f); // divide by zero
|
||||
_IRR_DEBUG_BREAK_IF(zNear == zFar); // divide by zero
|
||||
assert(widthOfViewVolume != 0.f); // divide by zero
|
||||
assert(heightOfViewVolume != 0.f); // divide by zero
|
||||
assert(zNear != zFar); // divide by zero
|
||||
M[0] = (T)(2 / widthOfViewVolume);
|
||||
M[1] = 0;
|
||||
M[2] = 0;
|
||||
|
@ -1391,9 +1392,9 @@ template <class T>
|
|||
inline CMatrix4<T> &CMatrix4<T>::buildProjectionMatrixPerspectiveRH(
|
||||
f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar, bool zClipFromZero)
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(widthOfViewVolume == 0.f); // divide by zero
|
||||
_IRR_DEBUG_BREAK_IF(heightOfViewVolume == 0.f); // divide by zero
|
||||
_IRR_DEBUG_BREAK_IF(zNear == zFar); // divide by zero
|
||||
assert(widthOfViewVolume != 0.f); // divide by zero
|
||||
assert(heightOfViewVolume != 0.f); // divide by zero
|
||||
assert(zNear != zFar); // divide by zero
|
||||
M[0] = (T)(2 * zNear / widthOfViewVolume);
|
||||
M[1] = 0;
|
||||
M[2] = 0;
|
||||
|
@ -1431,9 +1432,9 @@ template <class T>
|
|||
inline CMatrix4<T> &CMatrix4<T>::buildProjectionMatrixPerspectiveLH(
|
||||
f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar, bool zClipFromZero)
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(widthOfViewVolume == 0.f); // divide by zero
|
||||
_IRR_DEBUG_BREAK_IF(heightOfViewVolume == 0.f); // divide by zero
|
||||
_IRR_DEBUG_BREAK_IF(zNear == zFar); // divide by zero
|
||||
assert(widthOfViewVolume != 0.f); // divide by zero
|
||||
assert(heightOfViewVolume != 0.f); // divide by zero
|
||||
assert(zNear != zFar); // divide by zero
|
||||
M[0] = (T)(2 * zNear / widthOfViewVolume);
|
||||
M[1] = 0;
|
||||
M[2] = 0;
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
#include <functional>
|
||||
#include <array>
|
||||
#include <cassert>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include <functional>
|
||||
#include <array>
|
||||
#include <cassert>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#include <array>
|
||||
#include <cstddef>
|
||||
#include <cstring>
|
||||
#include <cassert>
|
||||
#include <limits>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
|
@ -797,7 +798,7 @@ std::optional<std::vector<u16>> SelfType::MeshExtractor::getIndices(
|
|||
if (index == std::numeric_limits<u16>::max())
|
||||
throw std::runtime_error("invalid index");
|
||||
} else {
|
||||
_IRR_DEBUG_BREAK_IF(!std::holds_alternative<Accessor<u32>>(accessor));
|
||||
assert(std::holds_alternative<Accessor<u32>>(accessor));
|
||||
u32 indexWide = std::get<Accessor<u32>>(accessor).get(elemIdx);
|
||||
// Use >= here for consistency.
|
||||
if (indexWide >= std::numeric_limits<u16>::max())
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
#include "os.h"
|
||||
#include "SoftwareDriver2_helper.h"
|
||||
|
||||
#include <cassert>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace video
|
||||
|
@ -20,7 +22,7 @@ CImage::CImage(ECOLOR_FORMAT format, const core::dimension2d<u32> &size, void *d
|
|||
IImage(format, size, deleteMemory)
|
||||
{
|
||||
if (ownForeignMemory) {
|
||||
_IRR_DEBUG_BREAK_IF(!data)
|
||||
assert(data);
|
||||
Data = reinterpret_cast<u8*>(data);
|
||||
if (reinterpret_cast<uintptr_t>(data) % sizeof(u32) != 0)
|
||||
os::Printer::log("CImage created with foreign memory that's not aligned", ELL_WARNING);
|
||||
|
|
|
@ -1680,10 +1680,10 @@ const c8 *CIrrDeviceLinux::getTextFromSelection(Atom selection, core::stringc &t
|
|||
},
|
||||
(XPointer)&args);
|
||||
|
||||
_IRR_DEBUG_BREAK_IF(!(event_ret.type == SelectionNotify &&
|
||||
assert(event_ret.type == SelectionNotify &&
|
||||
event_ret.xselection.requestor == XWindow &&
|
||||
event_ret.xselection.selection == selection &&
|
||||
event_ret.xselection.target == X_ATOM_UTF8_STRING));
|
||||
event_ret.xselection.target == X_ATOM_UTF8_STRING);
|
||||
|
||||
Atom property_set = event_ret.xselection.property;
|
||||
if (event_ret.xselection.property == None) {
|
||||
|
|
|
@ -16,11 +16,13 @@
|
|||
#include "irrString.h"
|
||||
#include "Keycodes.h"
|
||||
#include "COSOperator.h"
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include "SIrrCreationParameters.h"
|
||||
#include <SDL_video.h>
|
||||
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cassert>
|
||||
|
||||
#ifdef _IRR_EMSCRIPTEN_PLATFORM_
|
||||
#include <emscripten.h>
|
||||
#endif
|
||||
|
@ -599,7 +601,7 @@ bool CIrrDeviceSDL::createWindowWithContext()
|
|||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES);
|
||||
break;
|
||||
default:
|
||||
_IRR_DEBUG_BREAK_IF(1);
|
||||
assert(false);
|
||||
}
|
||||
|
||||
if (CreationParams.DriverDebug) {
|
||||
|
|
|
@ -521,10 +521,10 @@ target_link_libraries(IrrlichtMt PRIVATE
|
|||
)
|
||||
|
||||
if(WIN32)
|
||||
target_compile_definitions(IrrlichtMt INTERFACE _IRR_WINDOWS_API_) # used in _IRR_DEBUG_BREAK_IF definition in a public header
|
||||
target_compile_definitions(IrrlichtMt INTERFACE _IRR_WINDOWS_API_)
|
||||
endif()
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
target_compile_definitions(IrrlichtMt INTERFACE _DEBUG) # same
|
||||
target_compile_definitions(IrrlichtMt INTERFACE _DEBUG)
|
||||
endif()
|
||||
if(APPLE OR ANDROID OR EMSCRIPTEN)
|
||||
target_compile_definitions(IrrlichtMt PUBLIC IRR_MOBILE_PATHS)
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
#include "SAnimatedMesh.h"
|
||||
#include "os.h"
|
||||
|
||||
#include <cassert>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace scene
|
||||
|
@ -118,14 +120,14 @@ void CMeshManipulator::recalculateNormals(scene::IMesh *mesh, bool smooth, bool
|
|||
template <typename T>
|
||||
void copyVertices(const scene::IVertexBuffer *src, scene::CVertexBuffer<T> *dst)
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(T::getType() != src->getType());
|
||||
assert(T::getType() == src->getType());
|
||||
auto *data = static_cast<const T*>(src->getData());
|
||||
dst->Data.assign(data, data + src->getCount());
|
||||
}
|
||||
|
||||
static void copyIndices(const scene::IIndexBuffer *src, scene::SIndexBuffer *dst)
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(src->getType() != video::EIT_16BIT);
|
||||
assert(src->getType() == video::EIT_16BIT);
|
||||
auto *data = static_cast<const u16*>(src->getData());
|
||||
dst->Data.assign(data, data + src->getCount());
|
||||
}
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
#include "IReferenceCounted.h"
|
||||
#include "IRenderTarget.h"
|
||||
|
||||
#include <cassert>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace video
|
||||
|
@ -1092,7 +1094,7 @@ void CNullDriver::drawBuffers(const scene::IVertexBuffer *vb,
|
|||
|
||||
if (vb->getHWBuffer() || ib->getHWBuffer()) {
|
||||
// subclass is supposed to override this if it supports hw buffers
|
||||
_IRR_DEBUG_BREAK_IF(1);
|
||||
assert(false);
|
||||
}
|
||||
|
||||
drawVertexPrimitiveList(vb->getData(), vb->getCount(), ib->getData(),
|
||||
|
@ -1138,7 +1140,7 @@ CNullDriver::SHWBufferLink *CNullDriver::getBufferLink(const scene::IIndexBuffer
|
|||
|
||||
void CNullDriver::registerHardwareBuffer(SHWBufferLink *HWBuffer)
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(!HWBuffer)
|
||||
assert(HWBuffer);
|
||||
HWBuffer->ListPosition = HWBufferList.size();
|
||||
HWBufferList.push_back(HWBuffer);
|
||||
}
|
||||
|
@ -1168,7 +1170,7 @@ void CNullDriver::deleteHardwareBuffer(SHWBufferLink *HWBuffer)
|
|||
if (!HWBuffer)
|
||||
return;
|
||||
const size_t pos = HWBuffer->ListPosition;
|
||||
_IRR_DEBUG_BREAK_IF(HWBufferList.at(pos) != HWBuffer)
|
||||
assert(HWBufferList.at(pos) == HWBuffer);
|
||||
if (HWBufferList.size() < 2 || pos == HWBufferList.size() - 1) {
|
||||
HWBufferList.erase(HWBufferList.begin() + pos);
|
||||
} else {
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
|
||||
#include "mt_opengl.h"
|
||||
|
||||
#include <cassert>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace video
|
||||
|
@ -101,7 +103,7 @@ class COpenGLCoreCacheHandler
|
|||
#endif
|
||||
|
||||
auto name = static_cast<const TOpenGLTexture *>(texture)->getOpenGLTextureName();
|
||||
_IRR_DEBUG_BREAK_IF(name == 0)
|
||||
assert(name != 0);
|
||||
GL.BindTexture(curTextureType, name);
|
||||
} else {
|
||||
texture = 0;
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include <cassert>
|
||||
|
||||
#include "SMaterialLayer.h"
|
||||
#include "ITexture.h"
|
||||
#include "EDriverFeatures.h"
|
||||
|
@ -48,10 +50,10 @@ public:
|
|||
TextureName(0), InternalFormat(GL_RGBA), PixelFormat(GL_RGBA), PixelType(GL_UNSIGNED_BYTE), MSAA(0), Converter(0), LockReadOnly(false), LockImage(0), LockLayer(0),
|
||||
KeepImage(false), MipLevelStored(0)
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(srcImages.empty())
|
||||
assert(!srcImages.empty());
|
||||
|
||||
DriverType = Driver->getDriverType();
|
||||
_IRR_DEBUG_BREAK_IF(Type == ETT_2D_MS) // not supported by this constructor
|
||||
assert(Type != ETT_2D_MS); // not supported by this constructor
|
||||
TextureType = TextureTypeIrrToGL(Type);
|
||||
HasMipMaps = Driver->getTextureCreationFlag(ETCF_CREATE_MIP_MAPS);
|
||||
KeepImage = Driver->getTextureCreationFlag(ETCF_ALLOW_MEMORY_COPY);
|
||||
|
@ -142,7 +144,7 @@ public:
|
|||
MipLevelStored(0)
|
||||
{
|
||||
DriverType = Driver->getDriverType();
|
||||
_IRR_DEBUG_BREAK_IF(Type == ETT_2D_ARRAY) // not supported by this constructor
|
||||
assert(Type != ETT_2D_ARRAY); // not supported by this constructor
|
||||
TextureType = TextureTypeIrrToGL(Type);
|
||||
HasMipMaps = false;
|
||||
IsRenderTarget = true;
|
||||
|
@ -242,7 +244,7 @@ public:
|
|||
MipLevelStored = mipmapLevel;
|
||||
|
||||
if (KeepImage) {
|
||||
_IRR_DEBUG_BREAK_IF(LockLayer > Images.size())
|
||||
assert(LockLayer < Images.size());
|
||||
|
||||
if (mipmapLevel == 0) {
|
||||
LockImage = Images[LockLayer];
|
||||
|
@ -252,7 +254,7 @@ public:
|
|||
|
||||
if (!LockImage) {
|
||||
core::dimension2d<u32> lockImageSize(IImage::getMipMapsSize(Size, MipLevelStored));
|
||||
_IRR_DEBUG_BREAK_IF(lockImageSize.Width == 0 || lockImageSize.Height == 0)
|
||||
assert(lockImageSize.Width > 0 && lockImageSize.Height > 0);
|
||||
|
||||
LockImage = Driver->createImage(ColorFormat, lockImageSize);
|
||||
|
||||
|
@ -512,7 +514,7 @@ protected:
|
|||
{
|
||||
// Compressed textures cannot be pre-allocated and are initialized on upload
|
||||
if (IImage::isCompressedFormat(ColorFormat)) {
|
||||
_IRR_DEBUG_BREAK_IF(IsRenderTarget)
|
||||
assert(!IsRenderTarget);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -587,7 +589,7 @@ protected:
|
|||
TEST_GL_ERROR(Driver);
|
||||
break;
|
||||
default:
|
||||
_IRR_DEBUG_BREAK_IF(1)
|
||||
assert(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -628,7 +630,7 @@ protected:
|
|||
GL.TexSubImage3D(tmpTextureType, level, 0, 0, layer, width, height, 1, PixelFormat, PixelType, tmpData);
|
||||
break;
|
||||
default:
|
||||
_IRR_DEBUG_BREAK_IF(1)
|
||||
assert(false);
|
||||
break;
|
||||
}
|
||||
TEST_GL_ERROR(Driver);
|
||||
|
@ -643,7 +645,7 @@ protected:
|
|||
Driver->irrGlCompressedTexImage2D(tmpTextureType, level, InternalFormat, width, height, 0, dataSize, data);
|
||||
break;
|
||||
default:
|
||||
_IRR_DEBUG_BREAK_IF(1)
|
||||
assert(false);
|
||||
break;
|
||||
}
|
||||
TEST_GL_ERROR(Driver);
|
||||
|
@ -671,7 +673,7 @@ protected:
|
|||
{
|
||||
GLenum tmp = TextureType;
|
||||
if (tmp == GL_TEXTURE_CUBE_MAP) {
|
||||
_IRR_DEBUG_BREAK_IF(layer > 5)
|
||||
assert(layer < 6);
|
||||
tmp = GL_TEXTURE_CUBE_MAP_POSITIVE_X + layer;
|
||||
}
|
||||
return tmp;
|
||||
|
|
|
@ -710,7 +710,7 @@ void COpenGLDriver::drawVertexPrimitiveList(const void *vertices, u32 vertexCoun
|
|||
}
|
||||
} else {
|
||||
// avoid passing broken pointer to OpenGL
|
||||
_IRR_DEBUG_BREAK_IF(ColorBuffer.size() == 0);
|
||||
assert(!ColorBuffer.empty());
|
||||
glColorPointer(colorSize, GL_UNSIGNED_BYTE, 0, &ColorBuffer[0]);
|
||||
}
|
||||
}
|
||||
|
@ -983,7 +983,7 @@ void COpenGLDriver::draw2DVertexPrimitiveList(const void *vertices, u32 vertexCo
|
|||
}
|
||||
} else {
|
||||
// avoid passing broken pointer to OpenGL
|
||||
_IRR_DEBUG_BREAK_IF(ColorBuffer.size() == 0);
|
||||
assert(!ColorBuffer.empty());
|
||||
glColorPointer(colorSize, GL_UNSIGNED_BYTE, 0, &ColorBuffer[0]);
|
||||
}
|
||||
}
|
||||
|
@ -1124,7 +1124,7 @@ void COpenGLDriver::draw2DImage(const video::ITexture *texture, const core::posi
|
|||
if (FeatureAvailable[IRR_ARB_vertex_array_bgra] || FeatureAvailable[IRR_EXT_vertex_array_bgra])
|
||||
glColorPointer(colorSize, GL_UNSIGNED_BYTE, sizeof(S3DVertex), &(static_cast<const S3DVertex *>(Quad2DVertices))[0].Color);
|
||||
else {
|
||||
_IRR_DEBUG_BREAK_IF(ColorBuffer.size() == 0);
|
||||
assert(!ColorBuffer.empty());
|
||||
glColorPointer(colorSize, GL_UNSIGNED_BYTE, 0, &ColorBuffer[0]);
|
||||
}
|
||||
|
||||
|
@ -1204,7 +1204,7 @@ void COpenGLDriver::draw2DImage(const video::ITexture *texture, const core::rect
|
|||
if (FeatureAvailable[IRR_ARB_vertex_array_bgra] || FeatureAvailable[IRR_EXT_vertex_array_bgra])
|
||||
glColorPointer(colorSize, GL_UNSIGNED_BYTE, sizeof(S3DVertex), &(static_cast<const S3DVertex *>(Quad2DVertices))[0].Color);
|
||||
else {
|
||||
_IRR_DEBUG_BREAK_IF(ColorBuffer.size() == 0);
|
||||
assert(!ColorBuffer.empty());
|
||||
glColorPointer(colorSize, GL_UNSIGNED_BYTE, 0, &ColorBuffer[0]);
|
||||
}
|
||||
|
||||
|
@ -1352,7 +1352,7 @@ void COpenGLDriver::draw2DImageBatch(const video::ITexture *texture,
|
|||
if (FeatureAvailable[IRR_ARB_vertex_array_bgra] || FeatureAvailable[IRR_EXT_vertex_array_bgra])
|
||||
glColorPointer(colorSize, GL_UNSIGNED_BYTE, sizeof(S3DVertex), &(static_cast<const S3DVertex *>(Quad2DVertices))[0].Color);
|
||||
else {
|
||||
_IRR_DEBUG_BREAK_IF(ColorBuffer.size() == 0);
|
||||
assert(!ColorBuffer.empty());
|
||||
glColorPointer(colorSize, GL_UNSIGNED_BYTE, 0, &ColorBuffer[0]);
|
||||
}
|
||||
|
||||
|
@ -1519,7 +1519,7 @@ void COpenGLDriver::draw2DRectangle(const core::rect<s32> &position,
|
|||
if (FeatureAvailable[IRR_ARB_vertex_array_bgra] || FeatureAvailable[IRR_EXT_vertex_array_bgra])
|
||||
glColorPointer(colorSize, GL_UNSIGNED_BYTE, sizeof(S3DVertex), &(static_cast<const S3DVertex *>(Quad2DVertices))[0].Color);
|
||||
else {
|
||||
_IRR_DEBUG_BREAK_IF(ColorBuffer.size() == 0);
|
||||
assert(!ColorBuffer.empty());
|
||||
glColorPointer(colorSize, GL_UNSIGNED_BYTE, 0, &ColorBuffer[0]);
|
||||
}
|
||||
|
||||
|
@ -1555,7 +1555,7 @@ void COpenGLDriver::draw2DLine(const core::position2d<s32> &start,
|
|||
if (FeatureAvailable[IRR_ARB_vertex_array_bgra] || FeatureAvailable[IRR_EXT_vertex_array_bgra])
|
||||
glColorPointer(colorSize, GL_UNSIGNED_BYTE, sizeof(S3DVertex), &(static_cast<const S3DVertex *>(Quad2DVertices))[0].Color);
|
||||
else {
|
||||
_IRR_DEBUG_BREAK_IF(ColorBuffer.size() == 0);
|
||||
assert(!ColorBuffer.empty());
|
||||
glColorPointer(colorSize, GL_UNSIGNED_BYTE, 0, &ColorBuffer[0]);
|
||||
}
|
||||
|
||||
|
@ -2478,7 +2478,7 @@ void COpenGLDriver::draw3DLine(const core::vector3df &start,
|
|||
if (FeatureAvailable[IRR_ARB_vertex_array_bgra] || FeatureAvailable[IRR_EXT_vertex_array_bgra])
|
||||
glColorPointer(colorSize, GL_UNSIGNED_BYTE, sizeof(S3DVertex), &(static_cast<const S3DVertex *>(Quad2DVertices))[0].Color);
|
||||
else {
|
||||
_IRR_DEBUG_BREAK_IF(ColorBuffer.size() == 0);
|
||||
assert(!ColorBuffer.empty());
|
||||
glColorPointer(colorSize, GL_UNSIGNED_BYTE, 0, &ColorBuffer[0]);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
||||
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
|
||||
#include "CSceneManager.h"
|
||||
#include "IVideoDriver.h"
|
||||
|
@ -305,7 +306,7 @@ void CSceneManager::render()
|
|||
//! returns the axis aligned bounding box of this node
|
||||
const core::aabbox3d<f32> &CSceneManager::getBoundingBox() const
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(true) // Bounding Box of Scene Manager should never be used.
|
||||
assert(false); // Bounding Box of Scene Manager should never be used.
|
||||
|
||||
static const core::aabbox3d<f32> dummy{{0.0f, 0.0f, 0.0f}};
|
||||
return dummy;
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include "SSkinMeshBuffer.h"
|
||||
#include "os.h"
|
||||
#include <vector>
|
||||
#include <cassert>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
@ -620,19 +621,19 @@ SkinnedMesh::SJoint *SkinnedMeshBuilder::addJoint(SJoint *parent)
|
|||
|
||||
void SkinnedMeshBuilder::addPositionKey(SJoint *joint, f32 frame, core::vector3df pos)
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(!joint);
|
||||
assert(joint);
|
||||
joint->keys.position.pushBack(frame, pos);
|
||||
}
|
||||
|
||||
void SkinnedMeshBuilder::addScaleKey(SJoint *joint, f32 frame, core::vector3df scale)
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(!joint);
|
||||
assert(joint);
|
||||
joint->keys.scale.pushBack(frame, scale);
|
||||
}
|
||||
|
||||
void SkinnedMeshBuilder::addRotationKey(SJoint *joint, f32 frame, core::quaternion rot)
|
||||
{
|
||||
_IRR_DEBUG_BREAK_IF(!joint);
|
||||
assert(joint);
|
||||
joint->keys.rotation.pushBack(frame, rot);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue