0ef9102ac6
Fix 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
582bb54ce2
Avoid ambigious conversions when compiling with c++20 Yay, more ugly casts needed.
cutealien
2022-09-25 11:18:55 +00:00
07f17647d2
Merging r6405 through r6424 from trunk to ogl-es branch
cutealien
2022-09-22 21:55:03 +00:00
1803413b49
Fix: 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
a69969d6f9
Fix 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
88b7bed20f
Merging r6286 through r6421 from branch releases/1.8 to trunk
cutealien
2022-09-21 20:09:28 +00:00
e9f205f952
Avoid using XIWarpPointer on certain setups where it's broken
sfan5
2022-09-12 16:19:44 +02:00
d733e03430
Fix glHint parameter, type size and add more null checks (#130)
Herman Semenov
2022-09-02 09:40:02 +03:00
ca7000aea8
Fix documentation of IMeshManipulator::transform (I forgot normal update is certainly also needed on rotation)
cutealien
2022-08-26 14:23:18 +00:00
eafbe063be
IMeshManipulator::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
662001566b
ILightManager 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
31965fe599
CMeshManipulator::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
38e5bfe234
Fix Collada (.dae) writing with 32 bit meshbuffers Was still handling them as 16-bit buffers.
cutealien
2022-08-24 12:55:45 +00:00
f0766c845f
Fix crash in COGLES1Driver (#128)
savilli
2022-08-22 19:12:40 +02:00
9025fcc377
Add 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
6064e12133
Remove dead code detected by Coverity (#116)
JosiahWI
2022-07-03 12:34:12 -05:00
7d2dbdd0c8
Unify & 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
30834665ff
Example 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
17c7a1bd6e
CGUIContextMenu 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
f2896fae5a
Fix some comments in example 28
cutealien
2022-06-21 18:50:45 +00:00
2dc5d89967
Make example 27 run with burnings again. Sorry, last change removed a bit too much.
cutealien
2022-06-21 18:28:13 +00:00
501185e9cc
Fix 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
338af5c0ea
Simplify example 27 slightly. Also use tab instead of spaces (as usual in Irrlicht)
cutealien
2022-06-20 19:57:35 +00:00
d70d96031b
Show 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
8dbeba57cd
Fix 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
53e1b52ff4
Reset blend equation in 2D mode in OGLES1 and OGLES2 drivers
Dmitry Kostenko
2022-06-09 21:56:09 +02:00
aa095d9525
Remove more dead code (#108)
sfan5
2022-06-01 15:03:52 +02:00
94e84b1686
Prevent crash when creating CCameraSceneNode while rendertarget has height 0
cutealien
2022-05-30 20:13:28 +00:00
128cf1696c
Remove core::list and replace uses with std::list (#105)
1.9.0mt6
paradust7
2022-05-21 15:00:32 -07:00
3e81f38098
Make irrArray backed by std::vector (#101)
paradust7
2022-05-21 14:56:36 -07:00
593103a261
Refactor SDL device to use the same abstraction as other devices
sfan5
2022-05-21 15:19:57 +02:00
0732807cc8
Improve IrrCompileConfig handling in cmake
sfan5
2022-05-21 14:26:52 +02:00
00a7741cd4
Remove irrMap and use std::map instead
paradust7
2022-05-09 06:00:12 +00:00
ddc14ea87e
Merging r6383 through r6403 from trunk to ogl-es branch
cutealien
2022-05-15 16:02:08 +00:00
4450b532c2
Amendment 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
5d27ca38a7
Minor 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
f9e5ef76bd
IVideoDriver::getOcclusionQueryResult works now with const node pointer.
cutealien
2022-05-15 11:51:42 +00:00
ea0f2555ed
type in changes.txt
cutealien
2022-05-14 18:54:21 +00:00
06415994ce
Partly 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
0f7eb1f6e1
core::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
ca4bbcb71f
Fix compiling on MinGW (broke in [r6394])
cutealien
2022-05-14 15:10:22 +00:00
66dcb86e5f
Make 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
bd7e357f77
Add checks for valid skin pointer in CGUIMenu Found with VS analyser
cutealien
2022-05-14 14:03:30 +00:00
3eee408cac
Avoid potential call to GetProcAddress with 0 for HMODULE Found by VS code analyser
cutealien
2022-05-13 15:03:27 +00:00
c0f5b839a0
Avoid potential number overflows. Found by VS code analyser
cutealien
2022-05-13 14:56:22 +00:00
d90d1ae93b
Make some local variables in public headers const Shutting up code analyser.
cutealien
2022-05-13 14:42:13 +00:00
cc9edcb973
CIrrMeshFileLoader::readMeshBuffer avoid accessing pointer before it's not 0 check.
cutealien
2022-05-13 14:20:41 +00:00
dd7020c27b
Cleanup: Adding break Just safer in case we add more cases. Also shuts up code analyser.
cutealien
2022-05-13 12:31:00 +00:00
51ae495c4a
Remove extra memcpy in ogles2 driver
paradust7
2022-05-11 04:25:50 -07:00
6928c7eb6f
Add hash for vector2d and vector3d (#93)
Richard Try
2022-05-10 20:26:24 +03:00
10f0e39e46
Change 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
51dad49d8b
Unit tests for irrArray (#103)
paradust7
2022-05-07 02:21:41 -07:00
72b1522083
Add 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
76d013d9d6
Fix 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
fc4eda0f44
Properly strip windows binaries produced by CI
1.9.0mt5
sfan5
2022-05-06 14:05:16 +02:00
156463da4f
Simplify/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
296824e8b6
COSOperator::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
d19d6939d4
GUIText 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
3285a0147a
a) 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