f989112dcbFix: Listbox was sometimes sending EGET_LISTBOX_SELECTED_AGAIN instead of EGET_LISTBOX_CHANGED. When pressed mouse was moved over an item before releasing the mouse button it was sending immediately EGET_LISTBOX_SELECTED_AGAIN instead of expected EGET_LISTBOX_CHANGED (mouse move changes do not send any events).
cutealien
2023-03-06 14:34:16 +00:00
620f4869a1Drop obsolete video drivers
numzero
2023-03-02 01:22:04 +03:00
b4b28c367cDocument some shader behaviour S3DVertexTangents also documents that it's passed as TEXCOORD1 and TEXCOORD2, but easy to miss, so added some comments to the hlsl shader. Also not all materials work well as base materials.
cutealien
2023-02-28 20:21:00 +00:00
6c8767397bAdd a comment to addSkyDomeSceneNode
cutealien
2023-02-05 13:29:51 +00:00
3c8541d0c0Rename 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 +00:00
cfc4b29a2cUse qualifed id instead of virtual function calls in CVertexBuffer constructors Another find by cppcheck tool
cutealien
2023-01-19 23:26:20 +00:00
8f13ae81e5Merge pull request #154 from lhofhansl/skinned
lhofhansl
2023-01-12 11:02:52 -08:00
3de3ff524aAvoid reskinning joints for animated meshes twice for each frame.
Lars
2023-01-07 16:59:02 -08:00
bda6bb8595Avoid 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 +00:00
44a61505c4Fix spelling of enums in header comments
cutealien
2022-12-22 14:56:44 +00:00
cfa42b743cAdd comment that createScreenShot only supports ERT_FRAME_BUFFER Thanks @Eduuu for bringing this to attention
cutealien
2022-11-29 21:38:35 +00:00
29a448de4dPoint to Irrlicht license in root
Andrei E
2022-11-26 14:24:23 +00:00
817d59f379Prevent 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 +00:00
fc96c50e53Fix newly added Irrlicht17.sln file for VC2022 Was internally still using a VC16 project file
cutealien
2022-11-19 14:28:27 +00:00
e57a713377Fix 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 +00:00
1579ce2740SDL: implement cursor icon API (#135)
DS
2022-11-12 15:52:39 +01:00
b9e0641203Add unittests for irrString
sfan5
2022-11-11 16:25:49 +01:00
6f98515f34Fix two irrString bugs
sfan5
2022-11-11 16:24:27 +01:00
a549d0bfedAdd setRelativeMode for SDL driver (#123)
Andrei E
2022-08-01 21:28:36 +01:00
a0af653c3dBump revision early
sfan5
2022-10-24 21:14:41 +02:00
cac4e62852Fix buffer overflow in COBJMeshFileLoader
sfan5
2022-10-24 11:07:51 +02:00
d6766fb8f4Add Windows build steps to README (#129)
Herman Semenov
2022-10-20 20:02:37 +00:00
e46ab74859Fix line drawing: Explicitly draw both first & last pixel (#110)
Lars Müller
2022-10-16 23:47:51 +02:00
57705d57cfSDL: Always set X, Y, Shift and Control in mouse input events
DS
2022-10-16 17:42:15 +02:00
3f372af486Fix 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 +00:00
e9908ca545Add build with SDL2 to CI
sfan5
2022-10-15 11:06:20 +02:00
2709c937d9Fix SDL device to work with null driver
sfan5
2022-10-15 11:12:54 +02:00
59fc4401f1Replace _IRR_OVERRIDE_ macro with override keyword
JosiahWI
2022-10-09 13:57:28 -05:00
f3a1f9f656Move Ubuntu builds into docker to keep them working
sfan5
2022-10-14 16:08:51 +02:00
1128d9deabwin32: use the unicode window instead of ansi window (#138)
Riceball LEE
2022-10-14 21:52:10 +08:00
9b541f2948Fix buffer size for wchar-multibyte conversion
sfan5
2022-10-14 15:44:57 +02:00
3f00ea004eAvoid 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 +00:00
3c5a2387cfHandle 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 +00:00
b3fff12423Handle missing 3d models in example 07 No more crashing if some models are not found
cutealien
2022-10-07 18:10:50 +00:00
b627ce805dAdd 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 +00:00
91f281229bFix: 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 +00:00
5114c18b79Fix 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 +00:00
a883d464f9Add 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 +00:00