Commit Graph

262 Commits

Author SHA1 Message Date
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
Lars
3de3ff524a Avoid reskinning joints for animated meshes twice for each frame. 2023-01-07 16:59:02 -08:00
sfan5
7d3142b969 Remove leftover code from software rendering 2023-01-02 21:21:53 +01:00
sfan5
a9230e5f49 Delete profiler 2023-01-02 21:05:07 +01:00
sfan5
b5a6dc0a15 Delete leak hunter 2023-01-02 20:37:18 +01:00
x2048
2ae816b5a6
Use swap_control from MESA and EXT before SGI (#151)
SGI extension does not support interval == 0 (disabling VSync)
2022-12-29 23:42:52 +01:00
x2048
61af99adfa Use swap_control from MESA and EXT before SGI
SGI does not support disabling vsync (interval == 0)
2022-12-29 22:48:36 +01:00
SmallJoker
afbe41019c CGUITabControl: Center selected tab whenever possible
This greatly improves the navigation speed by clicking through the tabs
without losing track of the current scroll position.
2022-12-23 20:07:15 +01:00
sfan5
05a00a8d91 Completely remove irrAllocator 2022-12-23 19:56:21 +01:00
sfan5
07fd32da50 Replace core::string implementation with std::basic_string 2022-12-23 19:17:08 +01:00
DS
1579ce2740
SDL: implement cursor icon API (#135) 2022-11-12 15:52:39 +01:00
Andrei E
a549d0bfed Add setRelativeMode for SDL driver (#123) 2022-10-24 21:19:11 +02:00
sfan5
cac4e62852 Fix buffer overflow in COBJMeshFileLoader 2022-10-24 11:07:51 +02:00
Lars Müller
e46ab74859
Fix line drawing: Explicitly draw both first & last pixel (#110) 2022-10-16 23:47:51 +02:00
DS
57705d57cf
SDL: Always set X, Y, Shift and Control in mouse input events 2022-10-16 17:42:15 +02:00
sfan5
2709c937d9 Fix SDL device to work with null driver 2022-10-15 11:13:20 +02:00
JosiahWI
59fc4401f1 Replace _IRR_OVERRIDE_ macro with override keyword
The commit also establishes a precedent of leaving off the `virtual`
keyword in overrides. Although not strictly necessary, I believe this is
good for readability because it makes it clear it is an override and not
a pure virtual function, and it helps keep line lengths shorter. We
should move towards eliminating the macro altogether, but the definition
has been left in with a note on deprecation so that in-progress work
will not suffer merge conflicts.
2022-10-15 01:09:09 +02:00
Riceball LEE
1128d9deab
win32: use the unicode window instead of ansi window (#138) 2022-10-14 15:52:10 +02:00
Tobias Frost
1cf0f3bef0
Fix typo in CXMeshFileLoader.cpp (#133)
This patch was provided from J. Puydt to Debian.
Origin: https://salsa.debian.org/games-team/minetest/-/blob/master/debian/patches/fix-typos.patch
2022-09-21 10:47:19 +02:00
sfan5
e9f205f952 Avoid using XIWarpPointer on certain setups where it's broken
fixes minetest/minetest#12697
2022-09-12 16:20:31 +02:00
Herman Semenov
d733e03430
Fix glHint parameter, type size and add more null checks (#130) 2022-09-02 08:40:02 +02:00
savilli
f0766c845f
Fix crash in COGLES1Driver (#128) 2022-08-22 19:12:40 +02:00
sfan5
f6ec00e1c4 Include revision in SOVERSION for (in)compatibility checks 2022-07-21 20:04:34 +02:00
sfan5
91edd214aa Enable XInput2 by default (and improve CMake detection)
closes #73
2022-07-18 21:42:43 +02:00
sfan5
538c9e5cde Drop gamma ramp code
We definitely won't be wanting to set the gamma for the entire display in the future.
2022-07-18 21:22:38 +02:00
ndren
67c0cb5740
Support Unicode characters properly in SDL2 (#114) 2022-07-17 12:08:37 +02:00
sfan5
a7b306f702 Drop Console and Framebuffer device
fbdev is long legacy and the console was just an ASCII art gimmick
2022-07-09 23:53:04 +02:00
sfan5
074e81f78f Stop dlopening libGL(ESv2).so
GLX/EGL are supposed to abstract exactly this away,
this is a bad hack at best and might totally break stuff at worst.
2022-07-09 23:03:53 +02:00
sfan5
25ae156944 Fix CreateContextAttribsARB fallback behaviour
fixes minetest/minetest#12518
2022-07-09 22:04:51 +02:00
JosiahWI
b787ec3e3e
Cleaner ListItem initialization (#117)
Should fix Coverity report CIDs 1516434 and 1518460.
2022-07-07 21:44:15 +02:00
JosiahWI
6db035e0aa
Fix null dereference reported by coverity (#115) 2022-07-04 12:12:33 +02:00
JosiahWI
6064e12133
Remove dead code detected by Coverity (#116)
fixes coverity reports CID 1518478, 1518465
2022-07-03 19:34:12 +02:00
Dmitry Kostenko
53e1b52ff4 Reset blend equation in 2D mode in OGLES1 and OGLES2 drivers 2022-06-10 08:35:05 +02:00
Dmitry Kostenko
a04a0d2a4b Reset blend operation in 2d mode 2022-06-09 08:20:23 +02:00
paradust7
392df9bae3 Use CGWarpMouseCursorPosition 2022-06-06 12:03:16 +02:00
sfan5
426730bf91 Don't crash attempting to scale zero-sized images
fixes minetest/minetest#12393
2022-06-01 23:33:17 +02:00
sfan5
aa095d9525
Remove more dead code (#108) 2022-06-01 15:03:52 +02:00
paradust7
128cf1696c
Remove core::list and replace uses with std::list (#105) 2022-05-22 00:00:32 +02:00
paradust7
3e81f38098
Make irrArray backed by std::vector (#101) 2022-05-21 23:56:36 +02:00
sfan5
593103a261 Refactor SDL device to use the same abstraction as other devices
In particular this makes the OpenGL procedure stuff work.
fixes https://github.com/minetest/minetest/issues/12265
2022-05-21 15:26:38 +02:00
sfan5
0732807cc8 Improve IrrCompileConfig handling in cmake 2022-05-21 15:26:38 +02:00
paradust7
00a7741cd4 Remove irrMap and use std::map instead 2022-05-18 13:12:47 +02:00
paradust7
51ae495c4a
Remove extra memcpy in ogles2 driver 2022-05-11 13:25:50 +02:00
paradust7
401e769114 Enable GL_ALPHA_TEST in OpenGL driver for custom transparent alpha shaders 2022-05-04 17:35:31 +02:00
ndren
24594ce226
Add missing overrides to fix compiler warnings 2022-04-30 16:53:53 +02:00
paradust7
ba0396e93d
Replace HWBufferMap with a list and back pointers (#99) 2022-04-29 12:04:22 +02:00
sfan5
e469c54f76 Fix COSOperator::getSystemMemory
The values it returns are in Kilobytes and it was broken on macOS.
2022-03-09 22:52:11 +01:00
sfan5
df908ef4ea Get rid of various old compiler and platform checks 2022-02-26 12:11:27 +01:00
sfan5
95af6d7c08 Get rid of all sprintf calls 2022-02-26 12:11:27 +01:00
sfan5
00dd274510 Fix uninitialized variable in previous commit 2022-02-26 12:11:27 +01:00
sfan5
d59bcdbd07 Create OpenGL context using CreateContextAttribsARB 2022-02-20 23:18:17 +01:00
sfan5
09b8837ef9 Fix SDL2 include paths
closes #96
2022-02-14 18:26:59 +01:00
cutealien
4fb1c55ec5 IBillboardSceneNode got functions to access meshbuffers.
So uv-coordinates can now be modified directly (previously only possible via texture matrix).

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6299 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-02-09 19:09:04 +01:00
cutealien
684293f527 Prefer static_cast to reinterpret_cast where possible.
Just safer. Could probably do in a lot more places... another time.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6293 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-02-09 19:05:49 +01:00
sfan5
fa2a7dc236 Gracefully handle lack of bundle on macOS
should fix https://github.com/minetest/minetest/issues/10170
2022-01-31 21:03:21 +01:00
sfan5
7d1dc8b2d5 Get rid of ancient workaround
...that probably negatively impacted performance or something else
2022-01-22 21:01:17 +01:00
Emmanuel Hansen
53db262bd2
Update CIrrDeviceSDL to support SDL2 (#85) 2022-01-16 12:16:15 +01:00
sfan5
195759100f CB3DMeshFileLoader: abort if offsets point outside of file
fixes #70
2022-01-15 16:06:30 +01:00
x2048
2fec5e5dd3
Reset mesh animation state before recalculating normals (#90) 2022-01-02 20:41:03 +01:00
ROllerozxa
52e03a8485
Remove unused attribute saving and loading (#86) 2021-12-29 23:00:56 +01:00
sfan5
dd09fdcb4e
Remove more unused code (#87) 2021-12-29 13:12:09 +01:00
William L. DeRieux IV
4bdecbc6b7 Automatically use SSE registers for FP operations on i386 (#83) 2021-12-15 16:33:20 +01:00
JosiahWI
6d133e1bcc Fix various GCC warnings
- fix overload hiding
- handle missing enumeration values in switch
- remove extraenous semicolons
- always have defaults in color converter switch
- fix root cause of stringop warning
2021-11-24 22:07:26 +01:00
JosiahWI
d4119ba664 Remove unused functions
renderLine16_Blend(), renderLine16_Decal(), renderLine32_Blend(), renderLine32_Decal()
clipLine()
frand()
drawRectangle() and drawLine()

remove unused private fields
2021-11-24 22:06:12 +01:00
sfan5
d322b73e4c Get rid of MATERIAL_MAX_TEXTURES_USED
Another configurable knob of questionable usefulness,
especially since this inhibits certain optimizations
by making loop length dependent on a global variable.
2021-11-19 20:16:57 +01:00
sfan5
6779cb7254 Unconditionally load first texture matrix in OpenGL driver
This used to work in Irrlicht 1.8 and I tried to figure out
why it no longer did, but failed.
fixes minetest/minetest#11206
2021-11-19 19:34:53 +01:00
x2048
39cad3e618
Fix updating of vertex normals for animated meshes (#77)
Updates cached positions and normals of animated vertices
from the mesh. Useful when using meshManipulator to update
the normals.
2021-11-16 12:30:31 +01:00
sfan5
dbd39120e7 Limit dimensions of all image loaders to 23000x23000 2021-10-05 11:17:36 +02:00
sfan5
594de99153 CImageLoaderJPG: protect size calculation from overflow by rejecting huge dimensions 2021-09-14 20:07:44 +02:00
ROllerozxa
ac57007c55
Readd TGA format support (#64) 2021-09-13 21:21:26 +02:00
sfan5
4389a15e0f Remove unused locale-like code, utf8 functions and headers 2021-08-30 22:42:13 +02:00
sfan5
8f386999a6 Change clipboard to UTF-8 on macOS
(untested)
2021-08-30 21:53:12 +02:00
sfan5
34f1f8d089 Make clipboard UTF-8 on Windows too 2021-08-30 21:51:24 +02:00
DS
9c4b6f25ab
Fix X11 selections (#55)
This fixes all the issues with the X11 selection in addition to switching the clipboard to always be UTF-8.
2021-08-30 21:44:56 +02:00
sfan5
75b4c05741 Drop _IRR_WCHAR_FILESYSTEM
never used and never worked for us.
2021-08-30 20:55:06 +02:00
JosiahWI
2dc2846c3f
Add support for OpenBSD
There were three patches OpenBSD applied to build Irrlicht, and I implemented two of them. The first required turning off joystick events on OpenBSD, and the second (which I didn't confirm was necessary) required some defines in os.h. The third patch would have added an include to CIrrDeviceLinux.cpp, but the file had changed quite a bit and I could not tell whether this was necessary, so I left it out, and it appears Irrlicht builds fine.
2021-08-28 18:12:40 +02:00
cutealien
9690c1b3e3 Merging r6196 through r6248 from trunk to ogl-es branch
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6249 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-27 10:59:31 +02:00
TheBrokenRail
c26ff3476f
CIrrDeviceLinux: Add support For TouchInput.touchedCount 2021-08-27 10:58:46 +02:00
sfan5
da33f80bb8 Readd CSceneCollisionManager with only the method we need 2021-08-26 22:17:35 +02:00
hecks
5bf68b5731
Add a unified cross platform OpenGL core profile binding (#52) 2021-08-07 21:56:00 +02:00
hecks
6c78f181b5
Fix .x material slot parsing
Co-authored-by: hecktest <>
2021-07-29 05:05:34 +02:00
hecks
4ab3de3bab
Delete lots of unused features (#48) 2021-07-23 16:23:44 +02:00
sfan5
1d66c921c2 Drop unused and unportable "fast math" code 2021-07-17 00:02:37 +02:00
sfan5
22c3219ff0 Set correct flags for static builds
this is only really relevant on Windows
2021-07-16 23:12:49 +02:00
sfan5
b2b000597a CIrrDeviceOSX: drop all video mode code 2021-07-16 23:12:45 +02:00
sfan5
0afd799002 Remove various ancient support code 2021-07-16 22:01:37 +02:00
sfan5
729c214c00 Drop XML implementation, related code and dependent features 2021-07-07 17:04:05 +02:00
sfan5
d62e0424f2 Fix path issues when imported as subdirectory 2021-06-30 21:13:59 +02:00
NeroBurner
924178ebf6
Set includes and libs on object targets
Instead of using the global `include_directories()` and
`link_libraries()` calls use the target versions
`target_include_directories()` and `target_include_libraries()` with
`PRIVATE` keyword instead.

The dependencies are libraries only, the headers are added to the build
instructions in a separate call. So the `target_link_libraries()` calls
are not needed for the object-libraries to be built.
2021-06-27 23:04:56 +02:00
Vincent Robinson
78d1a3f73e
Fix getViewPort returning incorrect results 2021-06-21 23:16:38 +02:00
sfan5
0500a7798b CXMeshFileLoader: initialize normals to zero during loading 2021-06-19 22:22:47 +02:00
sfan5
c84d8acff9 CIrrDeviceWin32: readd fullscreen using borderless maximized window 2021-06-15 18:52:38 +02:00
sfan5
02b8fc1ab6 CIrrDeviceWin32: drop all video mode code 2021-06-15 18:28:10 +02:00
sfan5
57a51e7ac4 CIrrDeviceLinux: reimplement fullscreen using NetWM hint 2021-06-15 17:46:22 +02:00
sfan5
39c45024ed CIrrDeviceLinux: drop all video mode support code 2021-06-15 17:36:31 +02:00
JosiahWI
393793f28a
Improved IrrlichtMt target structure (#31) 2021-05-24 20:32:26 +02:00
sfan5
05c109a1d5 COGLES2Driver: fix swapped color screenshots 2021-05-08 20:57:24 +02:00
JosiahWI
826de9f6dc
Work around bug installing targets created in a subdirectory 2021-04-24 11:03:09 +02:00
sfan5
3152a6cc46 CNullDriver: store real size for dummy textures 2021-04-21 18:18:47 +02:00
sfan5
688debb643 CIrrDeviceLinux: don't create input context if no window
This broke the Null driver.
2021-04-21 17:34:10 +02:00
yw05
21cb990e75 Fix misbehaving input after IME changes (Linux) 2021-04-19 21:41:51 +02:00
sfan5
4719f3c114 Fix Android build (again)
closes #27
2021-04-17 17:47:09 +02:00
sfan5
bd95662f03 WGLManager: fix wglCreateContextAttribsARB not being used 2021-04-17 16:07:17 +02:00
sfan5
4c0aff5aa8 Always use system OpenGL extension headers 2021-04-17 00:05:46 +02:00
JosiahWI
9840eeabe8
CMake Config and Version exports (#22) 2021-04-13 21:08:16 +02:00
sfan5
aa294a8107 Fix Android build 2021-04-09 21:28:31 +02:00
sfan5
4f90019dcb Fix segfault if non-i18n fallback input is used on Linux 2021-04-05 17:10:55 +02:00
yw05
3ef5902815 Add support for IMEs on Linux 2021-04-02 23:17:27 +02:00
yw05
32004b9c5f Prepare GUI for IME support 2021-04-02 23:17:27 +02:00
sfan5
d7127df9f8 Do not distort images scaled by integer multiples 2021-03-31 17:11:19 +02:00
sfan5
3fb23fc423 Skip unnecessary C compiler checks 2021-03-26 23:08:09 +01:00
sfan5
279530a230 Make compiling using MSVC work 2021-03-26 16:48:28 +01:00
sfan5
f05f84b33b Rename library to IrrlichtMt
for clarity and to avoid conflicts
closes #16
2021-03-25 15:47:33 +01:00
sfan5
7c428c6dc2 CIrrDeviceLinux: fix dead key/compose handling 2021-03-25 12:30:52 +01:00
sfan5
7f0e0a57b8 CIrrDeviceLinux: fix dumb key fallback behaviour
Turns out giving the application KEY_UNKNOWN + the correct char
to work with is better than returning nonsense EKEY_CODEs.
2021-03-24 20:14:46 +01:00
Jordan Snelling
fa7a5dbdef Fix Irrlicht not properly resizing on macOS due to incorrect window size; thanks @torleif 2021-03-16 22:12:43 +01:00
sfan5
a3d848ff8b CMemoryFile: fix seek bounds-checking 2021-03-12 18:28:10 +01:00
sfan5
57ff34b1ed CGLXManager: Use GLX window correctly
fixes #17
2021-03-12 17:47:00 +01:00
sfan5
0335a52479 Fix pixel-perfect draw2DLine on OpenGL 2021-03-12 16:30:44 +01:00
sfan5
0a09f98c74 macOS: silence OpenGL deprecation warnings 2021-03-08 13:36:44 +01:00
sfan5
97631c39fe Android: import back button patch 2021-03-07 02:09:32 +01:00
sfan5
dfe077134d Android: import touchedCount patch 2021-03-07 02:05:10 +01:00
sfan5
10a188e967 Restore Android support 2021-03-07 01:08:58 +01:00
sfan5
bfba19d67a Restore Windows and OSX support 2021-03-06 22:39:35 +01:00
sfan5
752401a450 Remove other left-over build systems 2021-03-06 21:40:05 +01:00
sfan5
6ce98dce77 Add CMake as new build system 2021-03-06 21:40:05 +01:00
sfan5
94aafaef15 Fix Windows, Android build 2021-02-25 21:17:36 +01:00
numzero
c4503eaf17 GLX window is *not* an X11 window 2021-02-25 19:07:58 +01:00
sfan5
264f8b72c1 Throw out support for Bzip, LZMA and encrypted ZIPs 2021-02-25 18:34:17 +01:00
sfan5
67f1402410 Remove bundled libraries 2021-02-25 18:22:38 +01:00
cutealien
08a2846a93 Merging r6194 from trunk to ogl-es branch.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6195 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-02-21 19:09:14 +00:00
cutealien
3a54e8d6b8 Merging r6186 through r6192 from trunk to ogl-es branch
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6193 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-02-21 16:37:56 +00:00
cutealien
1f7c1830cb Whitespace fixes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6186 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-01-06 14:59:13 +00:00
cutealien
838ecd6bf8 Merging r6181 through r6184 from trunk to ogl-es branch
- Changes to touch-input handling on X11


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6185 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-01-06 14:52:49 +00:00
cutealien
a9f7c2abc9 Merging r6173 through r6179 from trunk to ogl-es branch
- Adding optional support for touch input in X11


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6180 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-12-30 18:39:20 +00:00
cutealien
1e6fe54cf5 Merging r6173 through r6176 from trunk to ogl-es branch
Also adding -DPNG_ARM_NEON_OPT=0 to other places in Makefile as we don't have arm optimization for neon currently in our png lib.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6177 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-12-22 21:30:35 +00:00
cutealien
124cc0be1e Make it possible again to enable ES1 on Linux.
Seems Debian 11 adds it back.
Thanks @TheBrokenRail for patch.
Hidden in comments for patch #322: https://sourceforge.net/p/irrlicht/patches/322


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6175 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-12-22 21:14:45 +00:00
cutealien
fa0b1cb509 Merging r6145 through r6171 from trunk to ogl-es branch
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6172 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-12-19 15:03:11 +00:00
cutealien
01920bf808 Fix compiler error caused by merge.
Thanks @ Maksym for report.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6152 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-11-04 23:32:24 +00:00
cutealien
6d16303add Remove headers from source-file sections in XCode project file.
Thanks @ Maksym for the patch.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6151 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-11-03 22:00:19 +00:00
cutealien
64725ca8a6 Another OSX build file patch.
It should work now.
Thanks @maksym for help.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6150 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-11-03 21:54:02 +00:00
cutealien
55f109762d Another fix for OSX build file.
And a bit unifying it with trunk.
Likely one more bug in there... so another patch coming.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6149 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-11-03 21:29:57 +00:00
cutealien
9d3cc25f75 Fix some more problems with OSX build file.
Probably will need one more patch...


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6148 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-11-03 21:14:42 +00:00
cutealien
caf7e44098 Trying to merge build patch from Maksym Hamarnyk to build OS X
See a56263fbc1
Will need further testing.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6146 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-11-02 22:41:39 +00:00