0ef9102ac6Fix IGUIElements not getting a tab order because of invisible or disabled parents. First problem was that IGUIElement::getNextElement wasn't passing includeInvisible and includeDisabled flags recursively, so anything deeper than one level could fail if an element was disabled/invisible in between while it was created. Second problem was that setTabOrder(-1) did ignore disabled elements. So when any parent was disabled when elements were created they never got a tab order.
cutealien
2022-09-27 16:02:39 +00:00
582bb54ce2Avoid ambigious conversions when compiling with c++20 Yay, more ugly casts needed.
cutealien
2022-09-25 11:18:55 +00:00
07f17647d2Merging r6405 through r6424 from trunk to ogl-es branch
cutealien
2022-09-22 21:55:03 +00:00
1803413b49Fix: SDL device can support FPS camera animator again Also no longer restricting mouse position to 0-windowsize (restriction for other devices got removed earlier) And adding some commented out lines to Makesfile for easier testing of SDL. We probably should use some parameter which can be passed to Makefiles for that in the future. Note: This does not fix all cursor troubles for SDL - it still does not support relative rectangle Bit arguably how to handle setting/getting mouse position for SDL, for example it still doesn't support a reference rectangle.
cutealien
2022-09-22 21:47:19 +00:00
a69969d6f9Fix MouseButtonStates for mouse events in CIrrDeviceSDL when middle or right button are released Needed to use bitwise not instead of logical not to clear bits for EMBSM_RIGHT and EMBSM_MIDDLE. Thanks @gcc for it's warnings
cutealien
2022-09-22 21:34:08 +00:00
88b7bed20fMerging r6286 through r6421 from branch releases/1.8 to trunk
cutealien
2022-09-21 20:09:28 +00:00
1cf0f3bef0Fix typo in CXMeshFileLoader.cpp (#133)
Tobias Frost
2022-09-21 10:47:19 +02:00
e9f205f952Avoid using XIWarpPointer on certain setups where it's broken
sfan5
2022-09-12 16:19:44 +02:00
d733e03430Fix glHint parameter, type size and add more null checks (#130)
Herman Semenov
2022-09-02 09:40:02 +03:00
ca7000aea8Fix documentation of IMeshManipulator::transform (I forgot normal update is certainly also needed on rotation)
cutealien
2022-08-26 14:23:18 +00:00
eafbe063beIMeshManipulator::transform can now also normalize normals Also only update normals now using inner 3x3 matrix (same result usually as last column is 0,0,0 but faster) And adding some comments.
cutealien
2022-08-26 14:09:04 +00:00
662001566bILightManager now uses empty instead of pure virtual functions Making it a bit more comfortable for users to implement the class.
cutealien
2022-08-26 10:38:14 +00:00
31965fe599CMeshManipulator::createMeshWelded now cloning buffers it can't weld. Not optimal, but making this real 32-bit is sadly a bit more work. This way at lest meshes with mixed 16/32 bit buffers can weld the 16-bit ones. And hopefully a bit of step in the right direction to fully support 32-bit another day.
cutealien
2022-08-24 22:14:50 +00:00
38e5bfe234Fix Collada (.dae) writing with 32 bit meshbuffers Was still handling them as 16-bit buffers.
cutealien
2022-08-24 12:55:45 +00:00
f0766c845fFix crash in COGLES1Driver (#128)
savilli
2022-08-22 19:12:40 +02:00
9025fcc377Add IMeshBuffer::getColor functions Lazy access function - same as for all other members of S3DVertex (getPosition/getNormal/getTCoords). Not sure why color was missing, maybe got added later? Would probably be better to have a getS3DVertex function instead which would cover them all, but it's only some slow (but nice) helper function anyway.
cutealien
2022-08-19 12:33:56 +00:00
6064e12133Remove dead code detected by Coverity (#116)
JosiahWI
2022-07-03 12:34:12 -05:00
7d2dbdd0c8Unify & improve log messages Lots of places where coders did not realize our Printer::log with hint adds a ": " string between message and hint Which caused uglier messages in a few places (added documentation for that, maybe helps?) Some added info in a few places Some whitespace unification Some spelling unification
cutealien
2022-06-30 16:23:48 +00:00
30834665ffExample 27.PostProcessing turn off depth buffer again BurningVideo Shader emulation pp_opengl.frag/vert frag_BFT_385_0xa0194718 - currently only implemented with depth-buffer disabled inside CTRTextureGouraudNoZ2 - special case of not power of 2 RTT TextureSampler without mipmap and no bilinear filter
engineer_apple
2022-06-25 07:24:55 +00:00
17c7a1bd6eCGUIContextMenu no longer marks EMIE_MOUSE_MOVED as handled This got in the way of allowing to move a camera with right-mouse-button while having a context menu. Hard to tell which way is "more" correct as this break of behavior probably can also mess up some situations. There also would be 3rd option of only catching the event when highlighting happens. Anyway - usually if this should be caught it should be caught for all ui elements and people will check focused or hovered.
cutealien
2022-06-23 13:25:55 +00:00
f2896fae5aFix some comments in example 28
cutealien
2022-06-21 18:50:45 +00:00
2dc5d89967Make example 27 run with burnings again. Sorry, last change removed a bit too much.
cutealien
2022-06-21 18:28:13 +00:00
501185e9ccFix checkDataSizeLimit test in png loader. I thought BitDepth was per pixel back then, but it's per channel. So limit could be broken.
cutealien
2022-06-21 18:19:00 +00:00
338af5c0eaSimplify example 27 slightly. Also use tab instead of spaces (as usual in Irrlicht)
cutealien
2022-06-20 19:57:35 +00:00
d70d96031bShow number polygons in example 26 Just useful to understand what's going on. Also removing the _CRT_SECURE_NO_WARNINGS as I don't get warnings my VS versions and other examples don't do that (so maybe that was fixed otherwise?)
cutealien
2022-06-16 14:26:53 +00:00
8dbeba57cdFix camera render when it wasn't animated. Tiny improvement for fps camera animator. Add documentation. Cameras can render even when they are not in the scenemanager or onAnimate didn't get called for example because they are their parent are invisible. So let's be safe and add another call to updateAbsolutePosition(). Some cost, but usually we don't have that many rendering cameras, so shouldn't matter (if it ever matters I suppose we could override OnAnimate and add a flag if it _was_ animated since last render call. Maybe that's even useful in general for SceneNodes?). Similar CSceneNodeAnimatorCameraFPS was using getAbsolutePosition which was only updated after animators, so it was one frame behind. And documented ICameraSceneNode functions a bit. Especially updateMatrices is a bit of a confusing name unfortunately.
cutealien
2022-06-16 13:59:58 +00:00
53e1b52ff4Reset blend equation in 2D mode in OGLES1 and OGLES2 drivers
Dmitry Kostenko
2022-06-09 21:56:09 +02:00
aa095d9525Remove more dead code (#108)
sfan5
2022-06-01 15:03:52 +02:00
94e84b1686Prevent crash when creating CCameraSceneNode while rendertarget has height 0
cutealien
2022-05-30 20:13:28 +00:00
128cf1696cRemove core::list and replace uses with std::list (#105)
1.9.0mt6
paradust7
2022-05-21 15:00:32 -07:00
3e81f38098Make irrArray backed by std::vector (#101)
paradust7
2022-05-21 14:56:36 -07:00
593103a261Refactor SDL device to use the same abstraction as other devices
sfan5
2022-05-21 15:19:57 +02:00
0732807cc8Improve IrrCompileConfig handling in cmake
sfan5
2022-05-21 14:26:52 +02:00
00a7741cd4Remove irrMap and use std::map instead
paradust7
2022-05-09 06:00:12 +00:00
ddc14ea87eMerging r6383 through r6403 from trunk to ogl-es branch
cutealien
2022-05-15 16:02:08 +00:00
4450b532c2Amendment to [r6389] Change all CColorConverter functions to work with u32 instead of s32 for sizes Missed it as that part is only use by OGL_ES branch.
cutealien
2022-05-15 15:51:55 +00:00
5d27ca38a7Minor const changes. Also kicked out "Use constexpr for constants" warning in VS analyser ruleset (we haven't switched to c++11 yet)
cutealien
2022-05-15 13:43:32 +00:00
f9e5ef76bdIVideoDriver::getOcclusionQueryResult works now with const node pointer.
cutealien
2022-05-15 11:51:42 +00:00
ea0f2555edtype in changes.txt
cutealien
2022-05-14 18:54:21 +00:00
06415994cePartly revert previous commit. Works only for linear search functions, binary_search changes were wrong. Sorry, didn't think it through. Seemed to work at first, but works only if sort() ended up creating the same sorting as is used then for search. While often the case, this is obviously not guaranteed. And can't do sort per type easily (this works with flags which remember if sorting had been done).
cutealien
2022-05-14 18:53:28 +00:00
0f7eb1f6e1core::array search functions can now work with other template types. Previously search functions only worked when called with the same type as the array elements had. Which forced users sometimes to create dummy objects to be able to search for elements by another type. linear_search and linear_reverse_search now work with any type for which <T>::operator== is implemented. Similar binary_search now works when <T>::operator< is implemented in both directions (T < E and E < T). Note: It might be possible to further improve binary_search so only one operator< is needed (I think STL managed that somehow). So if someone likes a challenge - have a go at it! :-)
cutealien
2022-05-14 18:27:35 +00:00
ca4bbcb71fFix compiling on MinGW (broke in [r6394])
cutealien
2022-05-14 15:10:22 +00:00
66dcb86e5fMake SCollisionHit::TriangleSelector and SCollisionTriangleRange::Selector both const. Avoids lots of const casts and there shouldn't be a good reason to have those non-const.
cutealien
2022-05-14 14:29:56 +00:00
bd7e357f77Add checks for valid skin pointer in CGUIMenu Found with VS analyser
cutealien
2022-05-14 14:03:30 +00:00
3eee408cacAvoid potential call to GetProcAddress with 0 for HMODULE Found by VS code analyser
cutealien
2022-05-13 15:03:27 +00:00
c0f5b839a0Avoid potential number overflows. Found by VS code analyser
cutealien
2022-05-13 14:56:22 +00:00
d90d1ae93bMake some local variables in public headers const Shutting up code analyser.
cutealien
2022-05-13 14:42:13 +00:00
cc9edcb973CIrrMeshFileLoader::readMeshBuffer avoid accessing pointer before it's not 0 check.
cutealien
2022-05-13 14:20:41 +00:00
dd7020c27bCleanup: Adding break Just safer in case we add more cases. Also shuts up code analyser.
cutealien
2022-05-13 12:31:00 +00:00
51ae495c4aRemove extra memcpy in ogles2 driver
paradust7
2022-05-11 04:25:50 -07:00
6928c7eb6fAdd hash for vector2d and vector3d (#93)
Richard Try
2022-05-10 20:26:24 +03:00
10f0e39e46Change all CColorConverter functions to work with u32 instead of s32 for sizes. Nothing good could come out of putting negative values into any of those functions. And they are used a lot in image loaders which often can be tricked into passing large enough values to make those functions be called with negative numbers.
cutealien
2022-05-08 15:40:38 +00:00
f64732cd7eCBillboardTextSceneNode null-pointer check on missing Texture
engineer_apple
2022-05-08 14:43:24 +00:00
51dad49d8bUnit tests for irrArray (#103)
paradust7
2022-05-07 02:21:41 -07:00
72b1522083Add IImage::checkDataSizeLimit and make IImage getDataSizeFromFormat return size_t It's to allow image loader to check for sane limits for image sizes. Idea came from this patch from sfan5 for Minetest: dbd39120e7 Thought solution is a bit different. Image loader checks not yet added (will come soon). Also note that limit is to s32. While u32 might work mostly it will run into some troubles with color converter for now (which maybe could be changes). Also 2GB ought to be enough for anybody, right?
cutealien
2022-05-06 19:47:38 +00:00
76d013d9d6Fix crash with large jpg files. Based somewhat on a patch in Minetest from sfan5 594de99153 There might be more problems which may be the reason they checked for other values in Minetest, but don't have more info for now and so far this works. Forum: https://irrlicht.sourceforge.io/forum/viewtopic.php?f=2&t=52819&p=306518
cutealien
2022-05-06 16:00:26 +00:00
fc4eda0f44Properly strip windows binaries produced by CI
1.9.0mt5
sfan5
2022-05-06 14:05:16 +02:00
156463da4fSimplify/unify IGUIListBox interface. Only needs one addItem function when using default parameters for icon. Add default parameters for setIcon, insertIcon so they can be used easier with pure text.
cutealien
2022-05-05 15:19:35 +00:00
296824e8b6COSOperator::getSystemMemory now returns some value on OSX. Also it's kb not bytes. Before the value was checked, but not put into the return variables. Header update to show that information in kb not bytes (on all systems, was just documented wrong) Some cleanup of code.
cutealien
2022-05-02 15:19:37 +00:00
d19d6939d4GUIText a) SpriteBank. error check on non existing textureNumber. Seen in broken Fonts. unified getFrameNr b) CBillboardTextSceneNode. use getOriginalSize
engineer_apple
2022-05-01 09:50:32 +00:00
3285a0147aa) debug Camera Matrices. enable with _IRR_COMPILE_WITH_90_DEGREE_CAMERA. - allow ICameraSceneNode to accept any values and correct in buildCameraLookAtMatrixLH with normalize_camera_direction. if disabled defaults to the current v1.9 normalize b) add initial Rotation to MayaCamera Constructor default 0,0 c) switchToMayaCamera in Examples. Clones FPSCamera default disabled
engineer_apple
2022-05-01 01:11:45 +00:00