Commit Graph

228 Commits

Author SHA1 Message Date
sfan5 77ce40cf44 Refactor parts of CGUITTFont 2025-11-26 22:13:09 +01:00
sfence f5f26bff66
macOS 11 CI (#15069)
* Build from sources with prebuilt dependencies. Cross build for x86_64 and older macOS SDKs.
2025-11-25 16:45:10 +01:00
sfan5 0062f82fc0 Fix fog disable in OpenGL3 renderer 2025-11-23 21:18:07 +01:00
Lars Müller e7f305fedd
Refactor skinned mesh weight data structure (#16655) 2025-11-23 21:17:58 +01:00
SmallJoker 5f49deb239
IrrlichtMt: Implement Page Up/Down navigation on edit boxes (#16654) 2025-11-22 09:47:38 +01:00
sfan5 aff1abd05d Some random code cleanups 2025-11-19 20:00:09 +01:00
sfan5 bf01cdf823 Reapply "Prefer GL3 driver over legacy GL driver"
This reverts commit 0fa56a9f7c.
2025-11-18 12:01:08 +01:00
sfan5 37c3c89b03
Implement Vsync for SDL device (#16683) 2025-11-18 12:00:46 +01:00
SmallJoker 36c261c1f0
IrrlichtMt: Initial SDL3 support (#16583)
This commit implements support for SDL3, more specifically, >= 3.2.0 (the first released version).
Almost all changes were made according to https://github.com/libsdl-org/SDL/blob/release-3.2.10/docs/README-migration.md?plain=1 and the suggestions provided by `SDL3/SDL_oldnames.h`.
2025-11-17 20:55:52 +01:00
grorp fcd96e9244
Dynamic shadows with the ogles2 driver on OpenGL ES 3.0+ (#16661) 2025-11-17 17:55:13 +01:00
sfan5 c3790dd7af Introduce EMT_INVALID as safe placeholder 2025-11-09 18:26:17 +01:00
sfan5 298a27c743
Port most shaders to GLSL ES 3.0 (#16639) 2025-11-06 19:31:35 +01:00
sfan5 8042b5512f Irrlicht: remove some dead code 2025-11-05 11:56:05 +01:00
sfan5 8350fb734a Default-initialize SColor 2025-11-02 21:36:39 +01:00
sfan5 de5ef4ca29
Introduce array textures for node rendering (#16574) 2025-11-01 17:21:41 +01:00
Lars Müller 1ead48c58b
Refactor: Remove obsolete `IAnimatedMeshSceneNode` interface (#16631) 2025-10-30 17:34:45 +01:00
sfan5 04a443e392 Irrlicht: fix mipmaps regenerated multiple times 2025-10-30 15:19:30 +01:00
sfan5 ae6aac8aa9 Irrlicht: upload array textures more efficiently 2025-10-30 15:19:27 +01:00
sfan5 3c60b348a6 Irrlicht: expose MaxArrayTextureLayers 2025-10-30 15:19:26 +01:00
sfan5 e924f425f2
Remove Irrlicht devices except SDL (#16580) 2025-10-30 13:39:44 +01:00
SmallJoker 6ff4a2a3d2
IrrlichtMt: Implement double- and triple-click text selection (#16559) 2025-10-15 00:20:46 +02:00
SmallJoker 9213b7f164
Driver: Handle errors during texture creation (#16565)
The OpenGL drivers do accept 'nullptr' textures, however the
recent Mip-Mapping change did not respect that.
Furthermore, errors during texture creation for the pipeline are
now properly handled and shown as an error to the user.
2025-10-11 19:38:38 +02:00
y5nw f2be1c39c8 SDL: Remove SDL_syswm.h include 2025-10-05 14:44:14 +02:00
SmallJoker 4f77a91e04 IrrlichtMt: Fix Win32 device compile error (non-SDL)
This issue was caused by one of the recent header refactoring commits.
2025-10-04 12:57:14 +02:00
Lars Müller 4238aa423b
Fix a memory leak: Use irr_ptr for bones (#16530) 2025-10-01 12:53:01 +02:00
y5nw 2eded3f078
Add missing IsWritable checks (#16504) 2025-09-21 21:12:42 +02:00
SmallJoker 39f2727503 IrrlichtMt: Add scrollbar support to CGUIEditBox 2025-09-20 13:44:40 +02:00
SmallJoker ecabcb5c58 IrrlichtMt: import scrollbar changes 2025-09-20 13:44:40 +02:00
SmallJoker 70fbef112c IrrlichtMt: Import code from guiEditBox.cpp
This does not include the scrollbar.
2025-09-20 13:44:40 +02:00
SmallJoker 2cab46280b IrrlichtMt: expose CGUIEditBox 2025-09-20 13:44:40 +02:00
SmallJoker 176cadc377 IrrlichtMt: Fix 2D texture rendering regression
Caused by 024e1d2.
2025-09-07 10:00:36 +02:00
SmallJoker 024e1d2d27
IrrlichtMt: Implement mip-mapping for RTTs (#16434)
This can be helpful to draw fonts memory-efficiently at varying scales.

Adds ETCF_CREATE_RTT_MIP_MAPS to generate mip-maps on request.
2025-09-04 18:58:23 +02:00
Lars Mueller 550b042076 Make bone interpolation work again 2025-08-24 19:01:35 +02:00
sfan5 079169612d Fix Irrlicht snprintf problems and UB in my_string_to_double 2025-08-24 19:01:18 +02:00
sfan5 6da927a548 Add more texture size limit checks
closes #16014
2025-08-14 12:33:35 +02:00
sfan5 b6065797ce Clarify some keycode names
fixes #16258
2025-08-14 12:33:35 +02:00
sfan5 b1cb5fcb9f
Improve texture creation logging and checking 2025-08-08 13:42:36 +02:00
Lars a0547b3435 Fix non-SDL compilation on Linux after #16324 2025-08-02 14:53:13 +02:00
Lucas OH 93dd22b901
Clean up unused Forward Declarations (#16324) 2025-08-02 10:07:45 +02:00
sfan5 e8e5ef0369 Deleted unused parts of blitter 2025-07-16 11:42:21 +02:00
Lars Müller 23bf50a07c
Document & extend testing for rotation conventions (#16200)
* Document Luanti rotation conventions
* Add test for setPitchYawRollRad (entity) rotation conventions
* Test and document that `vector.rotate` uses (extrinsic) Z-X-Y rotation order
2025-07-13 17:11:12 +02:00
Lucas OH ce2380b58e
Include header files in CMake sources (#16297) 2025-07-12 13:23:35 +02:00
Lucas OH f71e1447c9
Fix downward shadows at time 12000 (#16326) 2025-07-12 13:23:17 +02:00
Lars Müller 61551cfc3a
Remove `irr` namespace (#16309) 2025-07-09 10:35:52 +02:00
Lucas OH 51a453ca7b
Formspec: Fix newline conversion on Windows (#16311)
Strings with CR+LF (\r+\n) were wrongly fixed into \r, which is enough to display them correctly, but the missing \n became important once the text was saved/reloaded.

By removing the \r instead of the \n, then the text is displayed correctly and saved correctly.
2025-07-06 22:10:51 +02:00
Lars Müller 08bc036311
Remove obsolete SMeshBuffer.h (#16308) 2025-07-03 17:32:35 +02:00
Miguel P.L 49f48e0a7c
Update links and names in the documentation (#16153) 2025-06-22 22:04:42 +02:00
Lars Müller fde6384a09
Fix and clean up skeletal animation (#15722)
* Fix attachments lagging behind their parents (#14818)
* Fix animation blending (#14817)
* Bring back cool guy as another .x smoke test
* Add .x mesh loader unittest
* Do bounding box & matrix calculation at proper point in time
* Remove obsolete `SAnimatedMesh`
2025-06-01 23:21:35 +02:00
sfan5 1214a1d4a6
Refactor ITextureSource use in main menu (#16135) 2025-05-24 22:49:29 +02:00
Lars Müller 7ac5502fdf
Fix handling of skinned meshes for nodes
Second try after the revert in 8a28339 due to an unexpected regression.

- Rigidly animated models (e.g. the glTF frog node) were not working correctly,
  since cloning the mesh ignored the transformation matrices.
  Note that scaling the mesh needs to occur *after* transforming the vertices.
- Visual scale did not apply to skinned models,
  as resetting the animation overwrote scaled vertex data with static positions & normals.
  For backwards compatibility, we now apply a 10x scale to static, non-glTF models.

We now do scale static meshes, as the bug that caused meshes not to be scaled was limited to skeletally animated meshes,
hence we ought not to reproduce it for skinned meshes that do not take advantage of skeletal animations (e.g. current MTG doors).

However, glTF models (e.g. Wuzzy's eyeballs) up until recently were always affected due to technical reasons
(using skeletal animation for rigid animation).

Thus, to preserve behavior, we:

1. Do not apply 10x scale to glTF models.
2. Apply 10x scale to obj models.
3. Apply 10x scale to static x or b3d models, but not to animated ones.

See also: #16141
2025-05-20 18:37:33 +02:00