Commit Graph

528 Commits

Author SHA1 Message Date
jordan4ibanez e0577ace2b I'm actually having fun with C++ 2023-11-26 05:14:31 -05:00
jordan4ibanez aad38e8a49 Now we're climbing up the ladder 2023-11-26 05:10:04 -05:00
jordan4ibanez 9483f17816 Entering the realm of JSON
who is jason?
2023-11-26 03:50:44 -05:00
jordan4ibanez d99208418f Start building up the staircase 2023-11-26 03:37:35 -05:00
jordan4ibanez 8e4e9e3ae9 We're gonna work with JSON for a bit 2023-11-26 03:21:28 -05:00
jordan4ibanez 191596bce5 Let's see if we can see an actual file 2023-11-26 03:09:50 -05:00
jordan4ibanez a3f07d10b7 It works! 2023-11-26 02:53:55 -05:00
jordan4ibanez 9f39338793 Simplify this disaster 2023-11-26 02:39:42 -05:00
jordan4ibanez 781435d642 Now we have a new problem to solve 2023-11-26 02:07:00 -05:00
jordan4ibanez 59409df189 now load it 2023-11-26 02:03:38 -05:00
jordan4ibanez a20637b3f4 Fixes 2023-11-26 02:03:32 -05:00
jordan4ibanez 8a0b6ee447 Now load it 2023-11-26 01:53:47 -05:00
jordan4ibanez f593446141 Now it's serious time 2023-11-26 01:51:27 -05:00
jordan4ibanez bb1bb8f7df again 2023-11-26 01:51:12 -05:00
jordan4ibanez 3571fd7e64 test it again 2023-11-26 01:50:45 -05:00
jordan4ibanez 0de87768fd test my integration in discord 2023-11-26 01:50:27 -05:00
jordan4ibanez 6406dbb9df Wow, there's still nothing, incredible 2023-11-26 01:48:13 -05:00
jordan4ibanez 1a95a435b6 The 2023-11-26 01:43:26 -05:00
jordan4ibanez 3f327ce710 It's a model type now, yay 2023-11-26 01:38:53 -05:00
jordan4ibanez e1c59c07c0 I have no idea if this is necessary 2023-11-26 01:36:36 -05:00
jordan4ibanez 7468b42317 Copy Josiah again 2023-11-26 01:35:08 -05:00
jordan4ibanez d5360a20a6 Shamelessly copy Josiah 2023-11-26 01:34:57 -05:00
jordan4ibanez 650ccf9844 Dump the entire json library in 2023-11-26 01:31:01 -05:00
jordan4ibanez 8f54e69d33 Update .gitignore 2023-11-26 01:21:27 -05:00
numzero 85081d6fe0 Fix off-by-one error in the TGA RLE decompressor 2023-11-01 14:40:11 +01:00
numzero eafc282efd Add unit tests for image loaders 2023-11-01 14:40:11 +01:00
numzero 8c2ad025b1 Add CTest 2023-11-01 14:40:11 +01:00
numzero a07cfc0f7a Require C++17 at the top level 2023-11-01 14:40:11 +01:00
sfan5 f725b68c57 Remove irrUString.h
now unused
2023-10-31 10:10:31 +01:00
sfan5 99be15f40b Bump revision 2023-10-27 17:48:29 +02:00
sfan5 6fccc79270 Convert built-in font to PNG 2023-10-25 16:54:43 +02:00
Loic Blot 7cade6f27f cleanup: remove _IRR_COMPILE_ANDROID_ASSET_READER_ build flag
it's enabled inconditionally on android

also remove some _IRR_COMPILE_WITH_ANDROID_DEVICE_ which are useless because cmake is already properly configured
2023-10-22 12:19:14 +02:00
Loic Blot ae63f1bf02 build: drop _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
it's enabled inconditionally
2023-10-22 12:19:14 +02:00
Loic Blot dd14486d3f cleanup: replace remaining #ifndef #define with #pragma once 2023-10-22 12:19:14 +02:00
cutealien 4a7d3de89a Merging r6555 through r6560 from branch releases/1.8 to trunk
- Fixing buffer overflow in tga loader

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6561 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-21 17:27:11 +02:00
cutealien 631c0fa77b Add warning about rotateXZBy using right handed rotation
Rest of Irrlicht is using left-handed rotatations.
But 2d vector rotations all uses ccw which is kinda the same direction as this one if you consider those as rotations around Y, so I guess that was maybe the reason back then.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6536 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:54:48 +02:00
cutealien 9813b460e1 Fix number overflows in TGA loader causing crashes
Image size calculation could overflow s32 in one place (but not others where it was done correct), which first lead to wrong amount of memory getting allocated for image data and later crash in the CColorConverter.
Thanks @sfan5 for his fuzzing tests @https://github.com/minetest/irrlicht/issues/236
and @erlehmann for passing them on: https://irrlicht.sourceforge.io/forum/viewtopic.php?t=52925
Also updating changes.txt with TGA loader changes from this and previous commits.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6535 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:54:39 +02:00
cutealien 565f14677c Fix crash caused by memory overwriting in TGA loader caused by bad RLE data
From sfan5's fuzzing test reported in Minetest here: https://github.com/minetest/irrlicht/issues/236
Was missing test if it writes beyond allocated memory which can be triggered by TGA's which lie in their RLE data.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6534 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:54:24 +02:00
cutealien f53af0f2cf TGA images with palettes in 24 or 32 bit now create 32 bit images
Was creating 16-bit images for those before.
Could also support 24-bit images, but either we need another convert function or another palette for that (the 16 and 32 bit both work with 32 bit palettes, the 24 bit conversion function only with 24 bit palettes)

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6533 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:54:21 +02:00
cutealien 05ebc43222 Fix TGA's with bad palette colors reading from behind palette memory
TGA's can claim to use less palette colors than they later do.
We only support 8-bit palettes, so to make this safer lets just always allocate at least 256 bytes.
Thanks @erlehmann for report and testcase: https://irrlicht.sourceforge.io/forum/viewtopic.php?p=307191
Based on Minetest bug report: https://github.com/minetest/irrlicht/issues/236

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6532 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:54:16 +02:00
cutealien c01de80583 Merging r6511 through r6520 from branch releases/1.8 to trunk
Note: Due to OSX always failing merge OSX it's rather applying a second patch
from Ryan Schmidt from bugreport #462 to trunk
(Not sure why svn merging always fails for OSX. Probably related to MacOSX files getting moved in the past. Was that done without svn move commands? I guess that can't be fixed anymore now)

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6521 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:49:54 +02:00
cutealien fbdc4ee8d5 Optimization in quaternion::rotationFromTo from Robert Eisele
Turns out we can avoid a square root and a division.
Patch comes even with proof: https://raw.org/proof/quaternion-from-two-vectors
(I also tested it a while and indeed got same results)

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6511 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:47:43 +02:00
cutealien 2c086e5fdc Improve documentation
What Irrlicht calls ShaderConstants is called uniforms by everyone else. So let's mention this at least.
Also reworked setVertexShaderConstant interface had an example for the old interface in the header.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6497 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:45:50 +02:00
cutealien 627a3a5172 Spelling fixes
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6475 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:39:42 +02:00
cutealien 01e05f3c94 Fix recently broken scroll behaviour of listbox with moveOverSelect
This also fixes the combobox which users the listbox like that.
This got broken in [r6454] which had fixed the events send out by the listbox
Note: Still a bit strange behaviour when leaving the combobox at the bottom, but that was already that way in Irrlicht 1.8, so I've got to investigate that on it's own.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6463 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:38:24 +02:00
cutealien b673a4b2bb Tiny spelling fixes
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6462 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:38:06 +02:00
cutealien 5e01152f56 Avoid warning in VS 2022
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6460 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:37:30 +02:00
cutealien c2dd664fc6 CIrrDeviceWin32::yield() now uses Sleep(0) instead of Sleep(1).
We had changed that once before in the other direction in svn r421
Reason back then was "Sleep(0) doesn't allow any lower priority threads to execute"
But Microsoft changed the behaviour of Sleep(0) after Windows XP so that's no longer true.
And the costs of it is pretty high - due to this using a timer with a 15ms resolutions it meant not just giving up the thread but it also always waited for 15ms on Windows.
I also replaced a few sleep calls in examples for that reason with yield() calls.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6459 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:37:26 +02:00
cutealien 774d3d6d2b Spelling fixes
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6458 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:36:47 +02:00
cutealien e1f41edd29 Spelling fixes
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6456 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-10-15 13:36:22 +02:00