Commit Graph

  • 6c8767397b Add a comment to addSkyDomeSceneNode cutealien 2023-02-05 13:29:51 +0000
  • 3c8541d0c0 Rename variable ISceneNode::UpdateAbsolutePosBehavior -> AbsPosUpdateBehavior Pretty new internal (protected) variable, so renaming shouldn't break yet too much. Reason is that VS code completion often showed that variable as first option before the way more used updateAbsolutePosition function. Which was a bit annoying. cutealien 2023-01-23 21:12:06 +0000
  • cfc4b29a2c Use qualifed id instead of virtual function calls in CVertexBuffer constructors Another find by cppcheck tool cutealien 2023-01-19 23:26:20 +0000
  • 8f13ae81e5
    Merge pull request #154 from lhofhansl/skinned lhofhansl 2023-01-12 11:02:52 -0800
  • 3de3ff524a Avoid reskinning joints for animated meshes twice for each frame. Lars 2023-01-07 16:59:02 -0800
  • bda6bb8595 Avoid undefined arithmetic on nullptr in buffer_offset function Not quite sure why it was done that way. Maybe to ensure we work with byte-pointers of correct size or something? Anyway, this doesn't seem to be defined in c++, so let's try working with a cast instead. Just something cppcheck tool complained about. cutealien 2023-01-04 19:51:24 +0000
  • f2c93d80be Prevent memory leaks when loding broken ms3d files cutealien 2023-01-04 19:02:42 +0000
  • 7d3142b969 Remove leftover code from software rendering sfan5 2023-01-02 21:21:53 +0100
  • a9230e5f49 Delete profiler sfan5 2023-01-02 21:05:07 +0100
  • b5a6dc0a15 Delete leak hunter sfan5 2023-01-02 20:37:18 +0100
  • ce0d29df93 Update workflow to address deprecations 1.9.0mt9 sfan5 2022-12-31 12:29:33 +0100
  • 2ae816b5a6
    Use swap_control from MESA and EXT before SGI (#151) x2048 2022-12-29 23:42:52 +0100
  • 61af99adfa Use swap_control from MESA and EXT before SGI x2048 2022-12-29 22:44:03 +0100
  • afbe41019c CGUITabControl: Center selected tab whenever possible SmallJoker 2022-07-09 22:15:34 +0200
  • 05a00a8d91 Completely remove irrAllocator sfan5 2022-12-23 19:56:21 +0100
  • 07fd32da50 Replace core::string implementation with std::basic_string sfan5 2022-12-22 23:55:35 +0100
  • 735af8eec6 Add missing string tests sfan5 2022-12-23 17:13:32 +0100
  • 44a61505c4 Fix spelling of enums in header comments cutealien 2022-12-22 14:56:44 +0000
  • cfa42b743c Add comment that createScreenShot only supports ERT_FRAME_BUFFER Thanks @Eduuu for bringing this to attention cutealien 2022-11-29 21:38:35 +0000
  • 29a448de4d Point to Irrlicht license in root Andrei E 2022-11-26 14:24:23 +0000
  • 817d59f379 Prevent potential 0 pointer access when release not acquired joystick. Found by clang analyser. Not sure if it could really ever have happened, but won't hurt to fix cutealien 2022-11-19 16:41:11 +0000
  • fc96c50e53 Fix newly added Irrlicht17.sln file for VC2022 Was internally still using a VC16 project file cutealien 2022-11-19 14:28:27 +0000
  • f1a572e8a7 Add VC17 (VS 2022) project files and solutions cutealien 2022-11-19 14:22:50 +0000
  • e57a713377 Fix some bitfield sizes in SMaterial Bitfields for PolygonOffsetDirection, ZWriteEnable and BlendOperation were chosen too small. As we have pre c++11 code and therefore didn't use unsigned qualifiers for enums they were generally signed (up to compiler in theory, but I think they all choose signed). Which means the bitfield also had a sign. So for example setting PolygonOffsetDirection to EPO_FRONT set it to -1 instead of 1. Which then would fail with comparison checks (PolygonOffsetDirection == EPO_FRONT would be false). We kind of got lucky that we usually not checked for the last enum inside Irrlicht, so it worked to due being the "else" case. Or in the ZWriteEnable case the last one was identical to the default return value so it also worked accidentally. But obviously still wrong and user code could be messed up. cutealien 2022-11-17 16:42:39 +0000
  • 1579ce2740
    SDL: implement cursor icon API (#135) DS 2022-11-12 15:52:39 +0100
  • b9e0641203 Add unittests for irrString sfan5 2022-11-11 16:25:49 +0100
  • 6f98515f34 Fix two irrString bugs sfan5 2022-11-11 16:24:27 +0100
  • a549d0bfed Add setRelativeMode for SDL driver (#123) Andrei E 2022-08-01 21:28:36 +0100
  • a0af653c3d Bump revision early sfan5 2022-10-24 21:14:41 +0200
  • cac4e62852 Fix buffer overflow in COBJMeshFileLoader sfan5 2022-10-24 11:07:51 +0200
  • d6766fb8f4
    Add Windows build steps to README (#129) Herman Semenov 2022-10-20 20:02:37 +0000
  • e46ab74859
    Fix line drawing: Explicitly draw both first & last pixel (#110) Lars Müller 2022-10-16 23:47:51 +0200
  • 57705d57cf
    SDL: Always set X, Y, Shift and Control in mouse input events DS 2022-10-16 17:42:15 +0200
  • 3f372af486 Fix some problems with CMatrix4::getRotationDegrees - Only the getRotationDegrees without parameter is allowed to try fixing scale. My fault when I added a new function which takes scale parameter, that one is not allowed to be changed. On the up-side - we know have for the first time an option which works in cases only scale and rotation had been used and the user still has the correct scale. Before any solution for that was broken - getRotationDegrees fixes 2 places which caused wrong results due to floating point inaccuracies New test for that got added - Document the current restrains and problems of getRotationDegrees and getScale some more. - Improve docs for other matrix4 functions. - Add some comments about further improvements (I'll try if I find time) cutealien 2022-10-15 15:46:03 +0000
  • e9908ca545 Add build with SDL2 to CI sfan5 2022-10-15 11:06:20 +0200
  • 2709c937d9 Fix SDL device to work with null driver sfan5 2022-10-15 11:12:54 +0200
  • 59fc4401f1 Replace _IRR_OVERRIDE_ macro with override keyword JosiahWI 2022-10-09 13:57:28 -0500
  • f3a1f9f656 Move Ubuntu builds into docker to keep them working sfan5 2022-10-14 16:08:51 +0200
  • 1128d9deab
    win32: use the unicode window instead of ansi window (#138) Riceball LEE 2022-10-14 21:52:10 +0800
  • 9b541f2948 Fix buffer size for wchar-multibyte conversion sfan5 2022-10-14 15:44:57 +0200
  • 3f00ea004e Avoid some broken calculations for IBoneSceneNode positions. This is based on bugreport #458 reported by viwrap who also made a nice test-case model. Note: While solution seems to work and would even be faster, I'm not 100% sure yet if there are no downsides. The other solution seems to regard last column in matrices - thought I don't think we ever set or use that. And I also haven't found out yet _why_ the original solution goes wrong. But animation system uses right-hand quaternions unlike rest of Irrlicht which is obviously a bit dangerous, will have to check the conversions some day. cutealien 2022-10-11 22:54:44 +0000
  • 3c5a2387cf Handle missing 3d models in example 08 Ugly replacement if dwarf is missing. Doing this because Debian currently discussing to remove the dwarf due to a conflict of it's license with Debian policy. cutealien 2022-10-07 18:28:04 +0000
  • b3fff12423 Handle missing 3d models in example 07 No more crashing if some models are not found cutealien 2022-10-07 18:10:50 +0000
  • 41f2f8654f Fix warning cutealien 2022-10-04 12:32:27 +0000
  • 51f1ff6716 Avoid newly introduced reorder warnings in ISceneNode cutealien 2022-09-29 19:03:51 +0000
  • b627ce805d Add option to allow nodes to ignore the scale/rotation parts of their parents transformation. ISceneNode::setUpdateAbsolutePosBehavior can now control what ISceneNode::updateAbsolutePosition really does. Having only the position and not the rotation/scale of a child node affected by the parent transformation was previously impossible inside the scene-graph. So people always had to break the scene-graph and code it themselves. Old behaviour is default. Extra check for new variable has a small cost, thought new behaviour can actually be faster when it's used. cutealien 2022-09-29 16:34:37 +0000
  • 91f281229b Fix: Make CBillboardSceneNode bounding-box large enough to fit the billboard inside. It still won't work yet for scaled boundingboxes (or parents being scaled). But at least it's now large enough for typical unscaled boundingboxes. Before it was always too small - even for the simplest quadratic billboard case seen without rotation. Now it's always a bit too large, but that's way less of a problem (collisions still work and culling simply happens a bit less often, but not too often which is way worse) cutealien 2022-09-29 14:12:12 +0000
  • 5114c18b79 Fix and simplify IGUISpinBox::getOldValue Was going wrong when setValue was called inside an event function for EGET_SPINBOX_CHANGED. But last solution was overly complicated anyway as I tried too hard to avoid extra getValue calculations. But noticing now those calculations got done anyway in all places where the event is triggered. cutealien 2022-09-28 14:56:22 +0000
  • a883d464f9 Add IGUISpinBox functions getValueFor and getOldValue Also documenting some missing feature (decimal places ignored with direct text input) getValueFor allows to check the value a given text would have getOldValue can be used to check the previous value in a EGET_SPINBOX_CHANGED event cutealien 2022-09-28 14:25:18 +0000
  • 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 +0000
  • 582bb54ce2 Avoid ambigious conversions when compiling with c++20 Yay, more ugly casts needed. cutealien 2022-09-25 11:18:55 +0000
  • 389ec11a58 Add comment when running tests on Linux how to see results Thanks @juozas for mentioning this (https://irrlicht.sourceforge.io/forum/viewtopic.php?p=306758#p306758) cutealien 2022-09-24 13:55:03 +0000
  • 07f17647d2 Merging r6405 through r6424 from trunk to ogl-es branch cutealien 2022-09-22 21:55:03 +0000
  • 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 +0000
  • 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 +0000
  • 88b7bed20f Merging r6286 through r6421 from branch releases/1.8 to trunk cutealien 2022-09-21 20:09:28 +0000
  • 1cf0f3bef0
    Fix typo in CXMeshFileLoader.cpp (#133) Tobias Frost 2022-09-21 10:47:19 +0200
  • 3225007e8d Bump revision 1.9.0mt8 sfan5 2022-09-16 19:39:46 +0200
  • e9f205f952 Avoid using XIWarpPointer on certain setups where it's broken sfan5 2022-09-12 16:19:44 +0200
  • d733e03430
    Fix glHint parameter, type size and add more null checks (#130) Herman Semenov 2022-09-02 09:40:02 +0300
  • ca7000aea8 Fix documentation of IMeshManipulator::transform (I forgot normal update is certainly also needed on rotation) cutealien 2022-08-26 14:23:18 +0000
  • 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 +0000
  • 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 +0000
  • 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 +0000
  • 38e5bfe234 Fix Collada (.dae) writing with 32 bit meshbuffers Was still handling them as 16-bit buffers. cutealien 2022-08-24 12:55:45 +0000
  • f0766c845f
    Fix crash in COGLES1Driver (#128) savilli 2022-08-22 19:12:40 +0200
  • 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 +0000
  • ff645cc876 Bump revision 1.9.0mt7 sfan5 2022-07-21 20:20:13 +0200
  • f6ec00e1c4 Include revision in SOVERSION for (in)compatibility checks sfan5 2022-07-21 19:49:36 +0200
  • 51f0acb7c1 Replace std::min in irrArray.h sfan5 2022-07-20 22:09:07 +0200
  • 91edd214aa Enable XInput2 by default (and improve CMake detection) sfan5 2022-07-18 21:34:47 +0200
  • 538c9e5cde Drop gamma ramp code sfan5 2022-07-18 21:19:30 +0200
  • abebac8bd4 Return nullptr pointer for empty core::array sfan5 2022-07-17 12:22:10 +0200
  • 67c0cb5740
    Support Unicode characters properly in SDL2 (#114) ndren 2022-07-17 11:08:37 +0100
  • 748e005794 Update README a bit sfan5 2022-07-10 00:11:49 +0200
  • a7b306f702 Drop Console and Framebuffer device sfan5 2022-07-09 23:53:04 +0200
  • 074e81f78f Stop dlopening libGL(ESv2).so sfan5 2022-07-09 22:49:15 +0200
  • 25ae156944 Fix CreateContextAttribsARB fallback behaviour sfan5 2022-07-09 22:04:51 +0200
  • c4ca31313f
    Add MSVC CI build (#26) LoneWolfHT 2022-07-07 12:44:48 -0700
  • b787ec3e3e
    Cleaner ListItem initialization (#117) JosiahWI 2022-07-07 14:44:15 -0500
  • 6db035e0aa
    Fix null dereference reported by coverity (#115) JosiahWI 2022-07-04 05:12:33 -0500
  • 6064e12133
    Remove dead code detected by Coverity (#116) JosiahWI 2022-07-03 12:34:12 -0500
  • 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 +0000
  • 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 +0000
  • 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 +0000
  • f2896fae5a Fix some comments in example 28 cutealien 2022-06-21 18:50:45 +0000
  • 2dc5d89967 Make example 27 run with burnings again. Sorry, last change removed a bit too much. cutealien 2022-06-21 18:28:13 +0000
  • 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 +0000
  • 338af5c0ea Simplify example 27 slightly. Also use tab instead of spaces (as usual in Irrlicht) cutealien 2022-06-20 19:57:35 +0000
  • 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 +0000
  • 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 +0000
  • 53e1b52ff4 Reset blend equation in 2D mode in OGLES1 and OGLES2 drivers Dmitry Kostenko 2022-06-09 21:56:09 +0200
  • a04a0d2a4b Reset blend operation in 2d mode Dmitry Kostenko 2022-06-08 23:04:06 +0200
  • 392df9bae3 Use CGWarpMouseCursorPosition paradust7 2022-06-06 03:05:07 +0000
  • 426730bf91 Don't crash attempting to scale zero-sized images sfan5 2022-06-01 23:31:50 +0200
  • aa095d9525
    Remove more dead code (#108) sfan5 2022-06-01 15:03:52 +0200
  • 94e84b1686 Prevent crash when creating CCameraSceneNode while rendertarget has height 0 cutealien 2022-05-30 20:13:28 +0000
  • 128cf1696c
    Remove core::list and replace uses with std::list (#105) 1.9.0mt6 paradust7 2022-05-21 15:00:32 -0700
  • 3e81f38098
    Make irrArray backed by std::vector (#101) paradust7 2022-05-21 14:56:36 -0700
  • 593103a261 Refactor SDL device to use the same abstraction as other devices sfan5 2022-05-21 15:19:57 +0200