Commit Graph

305 Commits

Author SHA1 Message Date
Gregor Parzefall 83699a835d Remove content-less comments 2023-06-15 10:01:34 +02:00
Gregor Parzefall 98589d2fd2 Remove unused fixed function materials 2023-06-15 10:01:34 +02:00
Desour cbc7aeb302 Bump C++ std to 17 2023-06-14 09:45:16 +02:00
Gregor Parzefall 09af5ac00d Actually fix Android build 2023-06-06 16:20:06 +02:00
sfan5 2c6efbdf06 Remove native_app_glue linkage
We don't provide android_main(), Minetest does. This also didn't even work correctly.
2023-06-04 19:56:30 +02:00
JosiahWI 510976f130
Prefer GLVND at CMake>=3.11
CMake 3.10 introduced GLVND support. CMake 3.11 introduced CMP0072,
which prefers GLVND when NEW behavior is set. I set default policies to
3.11 for CMake versions >=3.11 and did not bother with requesting GLVND
for CMake 3.10.
2023-05-14 20:54:03 +02:00
numzero b958fdc271 Fix casing for Android device name (`MATCHES` is case sensitive) 2023-05-11 22:34:08 +02:00
numzero 1387370260 OpenGL3: Sort out texture color format support 2023-04-29 13:07:57 +02:00
Desour 49b6ccde72 SDL: Implement getDisplayDensity() and setWindowIcon() 2023-04-29 13:06:35 +02:00
Desour acbc90a000 Add the platform-dependent stuff from renderingengine.cpp 2023-04-29 13:06:35 +02:00
Desour 6a2a569233 Add IImage::copyToNoScaling
(Useful for const-correctness.)
2023-04-29 13:06:35 +02:00
numzero 1f15fd0805 OpenGL3: Support min/max blend modes 2023-04-24 21:43:36 +02:00
numzero 81ad195aa3 OpenGL3: New extension listing system 2023-04-23 09:48:04 +02:00
Vitaliy 13680ef42d OpenGL3: Use DrawBuffer[s] from mt_opengl 2023-04-18 23:22:53 +02:00
numzero 44f7c22bbf OpenGL3: Version asserts 2023-04-18 23:22:53 +02:00
numzero 2e477a07d1 OpenGL3: Add version check helper 2023-04-18 23:22:53 +02:00
numzero 78d0819a2c Add missing include 2023-04-18 23:22:53 +02:00
numzero df07b3bf99 OpenGL3: Remove stencil buffer presence test 2023-04-18 23:22:53 +02:00
numzero 523590e16c OpenGL3: Refuse 3.0 and 3.1 2023-04-18 23:22:53 +02:00
numzero 8cf02ea27f OpenGL3: ExtensionHandler::initExtensionsNew: use GetInteger 2023-04-18 23:22:53 +02:00
numzero efb660e7ed OpenGL3: drop unused ExtensionHandler functions 2023-04-18 23:22:53 +02:00
numzero 5f88555ed3 OpenGL3: restore MRT support 2023-04-18 23:22:53 +02:00
numzero 4ee1ab261e OpenGL3: Add driver-dependent feature checks 2023-04-18 23:22:53 +02:00
numzero ab628e641c OpenGL3: Add two missing OpenGL extensions to COGLESCoreExtensionHandler 2023-04-18 23:22:53 +02:00
numzero 1d782702e1 OpenGL3: new version format 2023-04-18 23:22:53 +02:00
rubenwardy 896c825b9e
Fix ComboBox changing on scroll when in a scroll container (#192) 2023-04-14 19:58:13 +01:00
nephele 7a3fc62ada
Haiku: build fix 2023-04-11 20:16:35 +02:00
sfan5 2d81374b34 Revert "Fix: Listbox was sometimes sending EGET_LISTBOX_SELECTED_AGAIN instead of EGET_LISTBOX_CHANGED."
This broke scrolling in listboxes, as they would always reset to top position.
reverts commit 1967d71cfb
2023-04-11 14:36:44 +02:00
Vitaliy aa1696a7e6
Use a buffer for quads indices
also use glDrawRangeElements for quad drawing
2023-04-08 19:08:03 +02:00
numzero e01f285c8f Extract and use singular CNullDriver::checkImage 2023-04-08 19:07:16 +02:00
numzero 5eb607f86f Drop createImagesFromFile in favor of createImageFromFile 2023-04-08 19:07:16 +02:00
numzero fc0440ff89 Drop IImageLoader::loadImages as only IImageLoader::loadImage is usable 2023-04-08 19:07:16 +02:00
numzero 6a152e8629 OpenGL3: Drop unused material property uniforms 2023-04-07 17:42:54 +02:00
numzero 718ba69e1b OpenGL3: Drop unused fixed-function emulation materials 2023-04-07 17:42:54 +02:00
sfan5 54314691ec
Fix mistake in a677f5a01a 2023-04-06 15:00:12 +02:00
sfan5 36a3a7f349 Don't compile unused driver sources 2023-04-06 12:38:25 +02:00
sfan5 ca5f005b74 Fix OpenGL3 driver to compile standalone
also test this configuration in CI
2023-04-06 12:38:25 +02:00
sfan5 e850bd102a Minor adjustments to configuration flow 2023-04-06 12:12:46 +02:00
sfan5 a677f5a01a Only try to link libraries when relevant feature is enabled
fixes #182
2023-04-06 11:56:04 +02:00
sfan5 3a074e4124 Merge branch 'opengl3' of https://github.com/numberZero/irrlicht 2023-04-06 11:20:03 +02:00
numzero 70ee4b05aa Indicate chosen OpenGL ES 2 driver during configuration 2023-04-05 22:52:43 +03:00
DS ba1cd19983
Use non-static member vars for SDL clipboard / primary selection buffers 2023-03-26 14:13:58 +02:00
sfan5 a67f3003de Revert "Avoid some broken calculations for IBoneSceneNode positions."
This was reported to cause broken models in some cases.
reverts commit edb381bd50
2023-03-26 14:09:40 +02:00
numzero 4dda28450f Provide sources as private to IRRVIDEOOBJ 2023-03-25 11:26:52 +03:00
numzero 219b7fd7d2 Fix line endings in the new driver 2023-03-25 11:11:09 +03:00
numzero d97d1708d6 Resolve conflicts with master 2023-03-25 10:42:47 +03:00
Desour 799c8b936f SDL: Support primary selection
Requires SDL >= 2.25.0 (newest master).
2023-03-24 17:59:06 +01:00
Desour 8da1bcf58b SDL: Support clipboard 2023-03-24 17:59:06 +01:00
Desour d86abb40c1 CGUIEditBox: Use primary selection
This is essentially the same as the commit in the minetest repo for GUIEditBox.
2023-03-24 17:59:06 +01:00
Desour 53b9eaa831 Implement X11 primary selection 2023-03-24 17:59:06 +01:00
cutealien 1967d71cfb Fix: 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).

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6454 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien 939b3f7bfb 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.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6447 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien 6f3435f349 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

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6443 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien edb381bd50 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.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6438 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien 8ffa7eafea Fix warning
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6434 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien 2bff147904 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)

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6431 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien 98df6eae77 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

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6414 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien 3ce4b2b5dc Prevent crash when creating CCameraSceneNode while rendertarget has height 0
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6405 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien 424eb85f4d Minor const changes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6402 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien 6a9e0f109c Avoid potential number overflows.
Found by VS code analyser

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6393 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
engineer_apple 15e3f15b48 SpriteBank: error check on non existing textureNumber
seen in broken Fonts. unified getFrameNr

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6368 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien 739a9eaf7c IVideoDriver::setMaterialRendererName now using u32 for index like other similar functions
Other functions like getMaterialRendererName got switched to u32 in the past. I can see no reason why this one was left out, so changing it to be same as the rest.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6300 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
numzero 52a0b9d8e5 Drop dependency on FileSystem from SceneManager 2023-03-19 19:47:43 +01:00
numzero 0160cdc51d Drop unused dependency of SceneManager on GUIEnvironment 2023-03-19 19:47:43 +01:00
numzero 5a1565072a Drop unused dependency on FileSystem in mesh loaders 2023-03-19 19:47:43 +01:00
numzero 25a7074c9a Remove all mentions of iOS 2023-03-14 17:54:08 +01:00
numzero df8881898d Remove CIrrDeviceiOS 2023-03-14 17:54:08 +01:00
numzero ba77d01c91 Error out early on unsupported SDL2+GLES1 combo 2023-03-13 19:16:06 +03:00
numzero ea0ca7f917 Small Fixes 2023-03-13 18:33:58 +03:00
numzero 82d1feb933 Accommodate lack of ETS_TEXTURE_1 2023-03-13 18:17:47 +03:00
numzero d81db9dd6d Merge branch 'drop-irr-compile-config' into opengl3 2023-03-13 18:07:25 +03:00
Vitaliy 5a5a7d04b7
Drop IrrCompileConfig (#163) 2023-03-11 15:04:09 +01:00
numzero ceb53be9e3 Merge branch 'master' into opengl3 2023-03-03 22:01:30 +03:00
numzero df28a4cc46 Fix ifdefs around includes in CIrrDeviceSDL 2023-03-03 21:23:07 +03:00
numzero 8dd8652f5f Split new GL3/GLES2 drivers
The classes are tiny wrappers currently but should they be customized, they are there
2023-03-03 20:29:36 +03:00
numzero 2932065346 Report as OpenGL 3 2023-03-02 03:03:17 +03:00
numzero 1326dfbcb1 Error out on unsupported configurations 2023-03-02 02:44:52 +03:00
numzero 1bbe341daa Support both OpenGL3 and GLES2 on SDL2 2023-03-02 02:44:52 +03:00
numzero d6716ec31b Support GLES2 2023-03-02 02:41:58 +03:00
numzero 05384fdc5e Unify drawing functions 2023-02-28 00:51:29 +03:00
numzero 48270029cd Drop obsolete stuff 2023-02-27 23:36:56 +03:00
numzero c5ce853148 Unify quad drawing 2023-02-27 23:36:47 +03:00
numzero 4fba496917 Unify plain image drawing 2023-02-27 21:27:23 +03:00
numzero 79fdab0551 Drop obsolete IVideoDriver features 2023-02-27 21:26:46 +03:00
numzero 608aa150ff Load extensions the OpenGL 3 way 2023-02-27 20:32:06 +03:00
numzero 1f750cd7b2 Add debug handler 2023-02-27 20:31:51 +03:00
numzero 8c521939b9 Enumerate extensions in the OpenGL 3 way 2023-02-27 17:41:03 +03:00
numzero cfa8dd7845 Request OpenGL 3.2 2023-02-27 17:39:28 +03:00
numzero 01295c9ce6 Add OpenGL3 renderer 2023-02-27 17:05:11 +03:00
numzero 5a95b40a0e Reduce IrrCompileConfig usage to files that actually need it 2023-02-22 21:11:12 +03:00
numzero 8efd4527f6 Drop _IRR_MATERIAL_MAX_TEXTURES_ 2023-02-22 21:11:12 +03:00
numzero a0e1e39ea7 Drop _IRR_SCENEMANAGER_DEBUG 2023-02-22 21:11:12 +03:00
numzero d8e09f14bd Drop _IRR_COMPILE_WITH_GUI_ 2023-02-22 21:11:12 +03:00
numzero 67f852be57 Drop obsolete configuration macros 2023-02-22 21:11:12 +03:00
numzero 5a2b807890 Move import/export macros into CMake 2023-02-22 21:11:12 +03:00
numzero 06db7b7ab7 Move platform detection to CMake 2023-02-22 21:11:12 +03:00
Desour ea297196b7 Resolve some -Wreorder warnings 2023-02-22 11:43:42 +01:00
DS 5527b9f373
SDL: Use SDL_WINDOW_FULLSCREEN_DESKTOP and allow to maximize+fullscreen at once (#156) 2023-02-20 13:22:28 +01:00
ndren cd3e784534
Refactor SDL input code to fix menu exit (#146) 2023-02-18 16:16:17 +01:00
DS 51dffc416a
Add WindowMaximized creation parameter and isWindowMaximized() (#142) 2023-02-06 15:05:44 +01:00