Commit Graph

291 Commits

Author SHA1 Message Date
sfan5 d767d27ca8 CXMeshFileLoader: revise error checking
Even when an error was encountered ::load() would still attempt
to assemble the mesh, this was a pretty big problem.
2023-09-29 13:49:03 +02:00
sfan5 6f4f7c4d75 CXMeshFileLoader: fix buffer overreads with text format 2023-09-29 13:49:03 +02:00
sfan5 103ab16679 CB3DMeshFileLoader: fix string read primitive 2023-09-29 13:49:03 +02:00
sfan5 64688f4490 CB3DMeshFileLoader: add some bounds checks 2023-09-29 13:49:03 +02:00
sfan5 827710f74a COBJMeshFileLoader: properly check indices 2023-09-29 13:49:03 +02:00
sfan5 80e160935d COBJMeshFileLoader: fix buffer overruns 2023-09-29 13:49:03 +02:00
sfan5 4506d23dc3 CImageLoaderBMP: add bound checks to RLE decompression 2023-09-29 13:49:03 +02:00
sfan5 028cb8dbed CImageLoaderBMP: check bitmap data against required size 2023-09-29 13:49:03 +02:00
sfan5 a5c9945bb8 CImageLoaderBMP: fix palette overreads 2023-09-29 13:49:03 +02:00
numzero cfb73d07d7 Remove more obsolete files 2023-09-26 17:42:00 +02:00
numzero 87f7cf3438 Drop unused resource script 2023-09-26 17:42:00 +02:00
numzero b0a070d980 Drop Irrlicht icon 2023-09-26 17:42:00 +02:00
numzero b89455f385 Build OpenGL3 by default 2023-09-17 21:07:07 +02:00
numzero 6a5fceb8fd Hide OpenGL3 behind SDL2 (it won’t build otherwise anyway) 2023-09-17 21:07:07 +02:00
Gregor Parzefall 0b9ee5884f Fix Android build after #231 2023-09-17 20:34:43 +02:00
sfan5 679dfd3343 Fix CNullDriver::removeTexture() segfault
`Textures` is not an one-to-one mapping.
Minetest still crashes with this commit but that's because
it attempts to double-free a texture.
broken by 7298b46504
2023-09-13 15:16:57 +02:00
Desour 03fd4ff533 Remove unused IVideoDriver::getTextureByIndex and IVideoDriver::renameTexture
* getTextureByIndex is pretty useless (apart from iterating over all texture,
  which we don't do), as you can't get an id.
* renameTexture is broken anyway: The sort call does nothing because the array
  is still flagged as sorted.
2023-09-13 13:24:08 +02:00
Desour b7292226b4 Remove the unnecessary sort in CNullDriver::addTexture 2023-09-13 13:24:08 +02:00
sfan5 7298b46504 Use binary search in CNullDriver::removeTexture() 2023-09-13 12:33:50 +02:00
Caleb Butler 00dd1f8ef3 Remove deprecated functionality of SMaterial 2023-09-05 17:21:35 +02:00
Caleb Butler 364cb37698 Remove deprecated methods from IVideoDriver 2023-09-05 17:21:35 +02:00
Caleb Butler 3492fd0d2d Remove primitive types not supported in OpenGL 3+
I removed old primitive types that do not work with modern OpenGL.
2023-09-05 17:21:35 +02:00
Kai Giebeler c6b06533f3
Deduplicate KP_5 from KP_HOME 2023-09-01 15:54:55 +02:00
sfan5 e609f5f263 Remove leftovers from D3D 2023-09-01 12:45:56 +02:00
sfan5 ddecc0fae2 Inline a pointless function 2023-09-01 12:26:43 +02:00
sfan5 dd3a34d674 Remove unused (I)Timer methods 2023-09-01 12:22:27 +02:00
Desour 0735220f86 Suppress a -Wunused-but-set-variable warning 2023-08-29 17:33:25 +02:00
Jessica Clarke ef3bab610d CIrrDeviceLinux: Fix type for NET_WM_PID XChangeProperty
This uses format=32 which in X11's API means a C type of long (with
restricted range when > 32 bits). pid_t is of unknown type, though on
Linux and FreeBSD it's a 32-bit type, so does not have the same size as
long on 64-bit architectures, and thus XChangeProperty reads outside its
bounds. Fix this by casting to and passing a long.
2023-08-15 20:42:12 +02:00
Loïc Blot d98dc90b38
cleanup: only build some files on WIN32 and compile EGL only if needed 2023-08-01 20:53:25 +02:00
Loic Blot e0d4d7d8b4 cleanup: get rid of the legacy #ifndef #define craziness 2023-07-20 16:29:09 +02:00
Gregor Parzefall fb7a0e4298 2D rendering: Enable bilinear filter for downscaling textures
This looks much better and doesn't have any downsides (e.g. regarding pixel art).
2023-07-16 13:02:48 +02:00
Gregor Parzefall a994c31ccf Expose all OpenGL filtering modes, use OpenGL names for them
Because of a review comment by numberZero.
2023-07-16 13:02:48 +02:00
Gregor Parzefall c40045a40a Rename SMaterial::TextureLayer -> SMaterial::TextureLayers
It's not the "texture layer" of the material, but an array of texture layers.
2023-07-16 13:02:48 +02:00
Gregor Parzefall 5ececc7d29 Split up texture filtering properties of SMaterialLayer into MinFilter and MagFilter
You can now set the filter used when scaling textures down and the filter used when scaling textures up separately.
2023-07-16 13:02:26 +02:00
Gregor Parzefall 9e0189019e Refactor the way you set material properties
Instead	of using SMaterial::setFlag, you now set them directly on SMaterial or SMaterialLayer.
2023-07-16 13:02:25 +02:00
ndren b249e4523d
Use precise y-direction scroll values in SDL 2023-07-03 22:46:08 +02:00
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