Commit Graph

267 Commits

Author SHA1 Message Date
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
cutealien
8557a1f7e6 Merging r6140 through r6144 from trunk to ogl-es branch.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6145 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-11-02 22:26:23 +00:00
cutealien
8b9947f9f6 Merging r6128 through r6139 from trunk to ogl-es branch.
Note: I could not merge 2 OSX project files as I'm not sure how to correctly resolve their conflicts.
Maybe old version for those files are still OK, as ogl-es branch got updated once before (leaving trunk behind).
In case it causes problems I hope someone can send another patch for those 2 files:
source/Irrlicht/Irrlicht.xcodeproj/xcshareddata/xcschemes
source/Irrlicht/Irrlicht.xcodeproj/project.pbxproj


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6140 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-09-29 20:22:28 +00:00
cutealien
048aa500b9 Merging r6122 through r6127 from trunk to ogl-es branch
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6128 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-06-20 15:26:29 +00:00
cutealien
eaefca2cd1 Merging r6120 through r6121 from trunk to ogl-es branch
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6122 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-06-14 20:52:53 +00:00
cutealien
a471c1ee78 Merging r6117 through r6119 from trunk to ogl-es branch
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6120 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-06-13 14:59:16 +00:00
cutealien
87c0b1fb93 Add missing parameters in CEAGLManager::activateContext.
Thanks to Maksym Hamarnyk for the patch.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6118 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-06-13 14:49:38 +00:00
cutealien
562c0fb6f1 Merging r6107 through r6116 from trunk to ogl-es branch
Caught up with trunk again.
Not yet tested beside compiling (quick test failed, but seems like nothing from the new changes).


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6117 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-06-12 20:47:40 +00:00
cutealien
20b3d56987 Merging r6075 through r6106 from trunk to ogl-es branch.
Burnings renderer changes.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6116 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-06-12 20:41:49 +00:00
cutealien
084e0e669a Merging r6073 through r6074 from trunk to ogl-es branch.
The support for UINT shader constants added in this is just returning warnings in GLES drivers as this would need ES 3.0


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6115 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-06-11 20:27:29 +00:00
cutealien
cb62c685de Merging r6039 through r6072 from trunk to ogl-es branch.
Note: Not yet caught up with trunk.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6114 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-06-10 22:19:09 +00:00
cutealien
3e26f3d7a9 Fix problem with glGenerateMipMap in GLES2
Thanks @wolfgang for report and patch: http://irrlicht.sourceforge.net/forum/viewtopic.php?f=7&t=52625


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6112 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-06-10 20:57:08 +00:00
cutealien
2ae2a551a6 Merging r5975 through r6036 from trunk to ogl-es branch.
GLES drivers adapted, but only did make compile-tests.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6038 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-01-03 19:05:16 +00:00