Commit Graph

367 Commits

Author SHA1 Message Date
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
0732807cc8 Improve IrrCompileConfig handling in cmake 2022-05-21 15:26:38 +02:00
00a7741cd4 Remove irrMap and use std::map instead 2022-05-18 13:12:47 +02:00
51ae495c4a Remove extra memcpy in ogles2 driver 2022-05-11 13:25:50 +02:00
401e769114 Enable GL_ALPHA_TEST in OpenGL driver for custom transparent alpha shaders 2022-05-04 17:35:31 +02:00
24594ce226 Add missing overrides to fix compiler warnings 2022-04-30 16:53:53 +02:00
ba0396e93d Replace HWBufferMap with a list and back pointers (#99) 2022-04-29 12:04:22 +02:00
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
df908ef4ea Get rid of various old compiler and platform checks 2022-02-26 12:11:27 +01:00
95af6d7c08 Get rid of all sprintf calls 2022-02-26 12:11:27 +01:00
00dd274510 Fix uninitialized variable in previous commit 2022-02-26 12:11:27 +01:00
d59bcdbd07 Create OpenGL context using CreateContextAttribsARB 2022-02-20 23:18:17 +01:00
09b8837ef9 Fix SDL2 include paths
closes #96
2022-02-14 18:26:59 +01:00
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
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
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
7d1dc8b2d5 Get rid of ancient workaround
...that probably negatively impacted performance or something else
2022-01-22 21:01:17 +01:00
53db262bd2 Update CIrrDeviceSDL to support SDL2 (#85) 2022-01-16 12:16:15 +01:00
195759100f CB3DMeshFileLoader: abort if offsets point outside of file
fixes #70
2022-01-15 16:06:30 +01:00
2fec5e5dd3 Reset mesh animation state before recalculating normals (#90) 2022-01-02 20:41:03 +01:00
52e03a8485 Remove unused attribute saving and loading (#86) 2021-12-29 23:00:56 +01:00
dd09fdcb4e Remove more unused code (#87) 2021-12-29 13:12:09 +01:00
4bdecbc6b7 Automatically use SSE registers for FP operations on i386 (#83) 2021-12-15 16:33:20 +01:00
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
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
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
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
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
dbd39120e7 Limit dimensions of all image loaders to 23000x23000 2021-10-05 11:17:36 +02:00
594de99153 CImageLoaderJPG: protect size calculation from overflow by rejecting huge dimensions 2021-09-14 20:07:44 +02:00
ac57007c55 Readd TGA format support (#64) 2021-09-13 21:21:26 +02:00
4389a15e0f Remove unused locale-like code, utf8 functions and headers 2021-08-30 22:42:13 +02:00
8f386999a6 Change clipboard to UTF-8 on macOS
(untested)
2021-08-30 21:53:12 +02:00
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
75b4c05741 Drop _IRR_WCHAR_FILESYSTEM
never used and never worked for us.
2021-08-30 20:55:06 +02:00
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
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
c26ff3476f CIrrDeviceLinux: Add support For TouchInput.touchedCount 2021-08-27 10:58:46 +02:00
da33f80bb8 Readd CSceneCollisionManager with only the method we need 2021-08-26 22:17:35 +02:00
5bf68b5731 Add a unified cross platform OpenGL core profile binding (#52) 2021-08-07 21:56:00 +02:00
6c78f181b5 Fix .x material slot parsing
Co-authored-by: hecktest <>
2021-07-29 05:05:34 +02:00
4ab3de3bab Delete lots of unused features (#48) 2021-07-23 16:23:44 +02:00
1d66c921c2 Drop unused and unportable "fast math" code 2021-07-17 00:02:37 +02:00
22c3219ff0 Set correct flags for static builds
this is only really relevant on Windows
2021-07-16 23:12:49 +02:00
b2b000597a CIrrDeviceOSX: drop all video mode code 2021-07-16 23:12:45 +02:00
0afd799002 Remove various ancient support code 2021-07-16 22:01:37 +02:00
729c214c00 Drop XML implementation, related code and dependent features 2021-07-07 17:04:05 +02:00
d62e0424f2 Fix path issues when imported as subdirectory 2021-06-30 21:13:59 +02:00
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