Commit Graph

409 Commits

Author SHA1 Message Date
cutealien
3d2a55e788 Replace header guards in source folder to avoid using identifiers reserved by c++
Basically fixing original Bug#427 reported by MArkus Elfring.
Unfortunately there are still more defines (in IrrCompileConfig.h) which also are not nice c++
Lots of files touched for very minor cleanup *sigh*

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6253 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-27 15:55:04 +00:00
cutealien
0c6385cb92 Replace public header guards to avoid using indentifiers reserved by c++
Usually something like __IRR_SOME_GUARD_INCLUDED__ replaced by IRR_SOME_GUARD_INCLUDED.
Removing underscores at the end wasn't necessary, but more symmetric (probably the reason they got added there as well).
While this touches every header it shouldn't affect users (I hope).

Also a few whitespace changes to unify whitespace usage a bit.
And a bunch of spelling fixes in comments.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6252 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-27 15:03:34 +00:00
cutealien
ffd7b63af0 API BREAKER: Replacing defines in irrTypes.h which are conflicting with c++ reserved identifier rules.
C++ has undefined behavior for identifiers starting with __ or with _ followed by an uppercase letter.
We still have many more (in IrrCompileConfig.h and in all header-guards), will likely replace those later as well.
As a workaround for users which might use irrlicht defines in their code, I've added the header irrLegacyDefines.h
Including that allows to continue using old defines for a while - or make it easier to have code which compiles 
with old and new Irrlicht library versions.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6251 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-27 12:55:10 +00:00
cutealien
ee180dbd24 Unify VS project files and add a few more headers into them.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6250 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-27 10:47:05 +00:00
cutealien
dba40bb36f PACK_STRUCT was likely ignored in ieee654 struct.
clang warned about that and I think warning made sense. Also still works on gcc - will test on VS tomorrow.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6248 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-26 21:32:17 +00:00
cutealien
9564827d57 Avoid clang warning.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6247 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-26 21:30:44 +00:00
cutealien
8e149ffb40 Avoid gcc warning and fix some indention/whitespace.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6246 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-26 21:09:08 +00:00
cutealien
0c2049610a Add missing _IRR_OVERRIDE_
Clang complained.
Slightly interesting case - pure virtual function with override - I suppose for documentation purposes.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6245 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-26 21:00:31 +00:00
cutealien
7812d914f2 Add comments in IRenderTarget interface.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6244 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-26 16:49:47 +00:00
cutealien
d03881b83a Reworking IRenderTarget interface to avoid constant memory allocations.
setTexture functions for single textures (more or less the usual case) IRenderTarget no longer need memory allocations 
on each call.
Also calling IRenderTarget::setTexture with a nullpointer no longer sets a rendertarget with an array which contains a single nullpointer but clears the array instead.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6243 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-26 16:45:20 +00:00
cutealien
075c64bebb Add equals and set_data functions to core::array for easier working with blocks of data.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6242 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-26 16:41:14 +00:00
cutealien
a5f38804a3 Fix singular/plural in some variable names used in rendertargets.
Still can't decide on fixing/leaving function names... brr

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6241 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-26 14:09:35 +00:00
cutealien
ef85ff7fba Add comment in path.h that the corresponding functions for path are in coreutil.h
Not going to change that as it breaks too much code moving it into another namespace (and arguably both are ok),
but should at least be mentioned somehwere.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6240 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-25 17:39:35 +00:00
cutealien
502376efbd Add some stuff which is defined-out by default to doxygen documentation.
leakhunter and profiler now have correct docs.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6239 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-25 17:29:23 +00:00
cutealien
806665354d Fix include guard in leakHunter.h
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6238 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-25 17:23:16 +00:00
cutealien
feb3d07466 SIrrlichtCreationParameters::IgnoreInput set to false works again on X11.
Thanks @ Victor Gaydov for report + patch + very good test cases! (bug #401)
This had been broken since Irrlicht 1.6
The reason was that Irrlicht 1.6 wanted to ensure Irrlicht renders to given parent window instead of creating a child window in the parent window. That still works, but only with SIrrlichtCreationParameters::IgnoreInput set to true.
Added a few comments about further improvements as rendering to the given parent Window is likely also possible for this case, but that will need more work.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6237 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-25 14:33:22 +00:00
cutealien
4cebe6fbde Remove commented out code.
Forgot to remove that earlier.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6235 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-20 16:44:23 +00:00
cutealien
fab0c53b85 Add steer parameter to CSceneNodeAnimatorFollowSpline which allows rotating node toward direction of movement.
Thanks @ Bate for the patch (patch #175 with minor changes).

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6234 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-20 16:39:37 +00:00
cutealien
54e10d0dbe Fix problem with legacy mipmap code on legacy ATI radeon X cards.
This was patch #285 from Danyal Zia and is about old radeon cards not supporting npot textures despite claiming so I think.
Was never applied as needed some rewrite first (did string-comparisons a bit too often), so got stuck on patch-tracker.
Well, lets hope this fixes it in case anyone ever needs that specific combination ever again ;-)


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6233 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-20 14:46:12 +00:00
cutealien
7ce229a658 Add missing break in CGUIModalScreen::OnEvent.
Recently added code to allow using tab-key's inside modal dialogs could also be called when moving the mouse while the tab-key was pressed.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6232 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-20 12:27:05 +00:00
cutealien
e98b3bed57 Cast away warning in gcc
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6231 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-20 12:22:44 +00:00
cutealien
84b1fa30f0 Add a workaround for XWarpPointer bug mentioned reported by vikaig (#450)
Problem is that the mouse jumps when users have set a coordinate transformation matrix for their mouse on X11.
XWarpPointer first sets the correct coordinates, but X11 then moves the mouse wrongly to the scaled position on the next mouse event.
On X-Org bugtracker it's this bug: https://gitlab.freedesktop.org/xorg/xserver/-/issues/600
The fix needs compiling with _IRR_LINUX_X11_XINPUT2_ enabled (so far disabled by default)
Note: We only use XINPUT2 so far for touch-input... I hope this patch won't conflict with that.
Also I mix now IInput2 and X11 functions as getting the mouse-position still uses X11. But seems to work in my tests.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6230 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-19 17:25:08 +00:00
cutealien
34f4ae4797 Cast away gcc warning.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6229 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-16 13:04:43 +00:00
cutealien
27db3a6a0c Make sure all headers in include can be compiled independently
Also adding some to VS2010 project file (for better project search)
Some empty line removal.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6228 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-07-29 18:50:03 +00:00
cutealien
b0876d1e1a Fix compiling with _IRR_COMPILE_WITH_PROFILING_ enabled
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6227 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-07-20 18:46:21 +00:00
cutealien
ccd0b13fd0 Add documentation about LOCALE_DECIMAL_POINTS
Include fast_atof.h header in VS2010 project file.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6226 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-07-15 19:33:28 +00:00
cutealien
38e2aa1338 createTorusMesh can now create a partial torus
Capping the torus also supported.
Bit arguably if caps belong in this function, but default for caps is off and they can be useful.
(one could also code partial minor circles ... but I'm stopping there)


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6225 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-06-28 14:33:08 +00:00
cutealien
28fd5f8a4f Reduce warnings in CGeometryCreator::createTorusMesh
Also simplify it a bit.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6224 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-06-28 12:22:04 +00:00
cutealien
dfba4bd4e5 Comment fix.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6223 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-06-25 16:28:44 +00:00
cutealien
9ba392e902 Add createTorusMesh function to IGeometryCreator
Mmmm .... Donuts!


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6222 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-06-25 16:19:11 +00:00
cutealien
479358755b No longer try loading broken image files twice with same image loader
This is mainly about getting rid of double error messages for same file.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6221 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-06-11 15:32:24 +00:00
cutealien
e7143ef977 Make CImageLoaderJPG thread safe. Thanks @ Edoardo Lolletti for report and patch (patch #324)
Replace a static variable which was used in error-reporting but wasn't thread-safe.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6220 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-06-11 15:09:02 +00:00
cutealien
224d7c5e2c Vertex texture sampling support in Direct3D 9 now controlled via texture-flag ETCF_SUPPORT_VERTEXT_TEXTURE
It's no longer enabled by default as it causes some costs to all texture switches.
Thanks @ edo9300 for reporting (http://irrlicht.sourceforge.net/forum/viewtopic.php?f=7&t=52721)

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6219 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-06-04 12:17:01 +00:00
cutealien
ca48a1ac69 CGUIListBox now serializes the state of 'Selected'.
Feature wish by chronologicaldot (http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=52719)


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6218 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-06-01 11:05:54 +00:00
cutealien
f31c1be792 Remove CD3D9Driver::getViewPort overload which did the exact same thing as base class.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6217 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-05-31 13:36:25 +00:00
cutealien
2acce15bcd Stop grabbing mouse cursor when the window is not active in example 18
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6216 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-05-31 12:43:37 +00:00
cutealien
f103ea3dac Bugfix: Changing focus with tab-keys now also work when elements are inside a modal screen.
Event got eaten before. It passes it now on partly (enough to arrive at CGUIEnvironment) when the focus will stay inside the modal screen.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6215 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-05-26 13:57:12 +00:00
cutealien
9147d4ade8 COBJMeshFileLoader using a bit more exact color conversion for 0-1 to 0-255 range
Same now as SColorf::toSColor


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6214 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-05-07 12:41:57 +00:00
cutealien
e611f2c571 Speedup for COBJMeshWriter
Avoiding some memory allocations.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6213 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-05-06 15:01:05 +00:00
cutealien
678e06baeb Add blinkMode parameter to IGUIEnvironment::addModalScreen, so blinking can be suppressed
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6212 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-05-05 13:22:02 +00:00
cutealien
af07435064 Fix comment
(was from earlier failed experiment)


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6211 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-05-02 13:07:23 +00:00
cutealien
22a7280e95 GUIEditor clears now existing elements before loading new ones.
Thanks @Artem Shoobovych for the patch (#323)
I changed it a bit, but basically same idea.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6210 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-05-02 12:59:55 +00:00
cutealien
9417b22b86 Remove superfluous includes in GUIEditor
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6209 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-05-02 11:30:23 +00:00
engineer_apple
1766fc7060 reduce warning.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6208 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-04-17 23:02:44 +00:00
cutealien
451134322d Add changes to Makefile
Add -fPIC to linker flags (additional to compiler flags).
This is sometimes necessary as chronologicaldot reported in the forum: 
http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=52708
Also gcc manual says this about the -shared flag: 
"For predictable results, you must also specify the same set of options used for compilation (-fpic, -fPIC, or model suboptions) when you specify this linker option."
Add TODO for this about sharedlib_osx as I can't test that.

Add documentation when "make clean" is needed. So far we only have a single set of .o files written in the same folder.
So this has to be called basically on all changes.

Use CPPFLAGS instead of CFLAGS, CXXFLAGS in a few places for options which should be used for all files.

Add CFLAGS and CXXFLAGS for dependency files (not 100% certain about those, just seems to make more sense to me)



git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6207 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-04-17 13:57:33 +00:00
cutealien
bfaffe1171 Speedup: Avoid string copy in CXMLReaderImpl::getAttributeByName
string has operator== for char_type which can save a lot of string allocations when loading xml's.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6206 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-04-16 12:59:29 +00:00
cutealien
b709d2a772 Update release_checklist a bit.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6205 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-03-18 21:53:31 +00:00
cutealien
c481179825 Update tutorial.html's in example folders
Add some for newer examples which didn't have those so far.
Only updating this once now as some were broken. 
Next time on release.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6204 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-03-18 21:50:11 +00:00
cutealien
d1e3905f42 Update scripts to build tutorials.
Adding some more sed magic and error checking.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6203 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-03-18 21:37:48 +00:00
cutealien
5f3fc797f4 Merging r6201 from branch releases/1.8 to trunk
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6202 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-03-18 20:57:08 +00:00