When godot is in release mode, GDscript compiler does not generate
bytecodes for OPCODE_LINE and OPCODE_BREAKPOINT anymore.
This optimizes GDscript execution speed when the script contains a lot
of comments in blocs executed in loops.
Fixes#6487
(cherry picked from commit 217e09c79d)
The reordering of the SConscript includes allows to ensure that
stuff like the builtin zlib headers will be available for libpng.
Also moved glew back into global env, otherwise windows seems
not to find it... Kind of shooting in the dark with this multi-env
setup.
(cherry picked from commit 248bc9159c)
Comment out the weird workaround for building on Windows at it might
not be needed anymore. Testing needed to confirm.
(cherry picked from commit edbc0c0d0b)
Not fully happy about the way this one interacts with the various
platforms. Maybe the platform_config.h should be generated by the
SCsub instead of passing a define just to know where is the header.
(cherry picked from commit 36738ddda4)
This allows to pass include paths and flags only to a given thirdparty
library, thus preventing conflicts between their files (e.g. between
opus and openssl which both provide modes.h.
This also has the nice effect of making the compilation command smaller
for each module as it no longer related to all other modules, only the
final linking brings them together.
This however requires adding manually the ogg include path in opus
and vorbis when building against the builtin ogg, since it is no longer
in the global env.
Also simplified template 'thirdparty_<module>_sources' to
'thirdparty_sources'.
"Core" modules like cscript, gdscript, gridmap, ik and virtual_script
still use the main env_modules, but it could be changed if need be.
(cherry picked from commit da09c6131b)
Obviously removed the parts about enet and visual_script.
Took the opportunity to undo the Godot changed made to the
opus source. The opus module should eventually be built in its
own environment to avoid polluting others with too many include
dirs and defines.
TODO: Fix the platform/ stuff for opus.
(cherry picked from commit d9a291f641)
speex module was only added while cherry-picking, as speex is removed
in the master branch but we don't want to break compatibility in 2.1.x.
Unbundling wasn't done as the module uses the internal speex_free,
so it would require some more work.
Note that there are two Godot-specific changes made to libwebp
for the javascript/HTML5 platform. They are documented in the
README.md.
(cherry picked from commit ee3cf211c6)
They are not particularly packaged in Linux distros so we do not
facilitate unbundling via SCons. There could be done if/when there
is interest.
Also s/pnm/pbm/, long-lived typo :)
(cherry picked from commit b1e8889d96)
Uses the new structure agreed upon in #6157, but the thirdparty/ folder
does not behave following a logic similar to that of modules/ yet.
The png driver can't be moved to a module as discussed in #6157, as it's
required by core together with a few other ImageLoader implementations
(see drivers/register_driver_types.cpp:register_core_driver_types())
Dropped the possibility to disable PNG support, it's a core component
of Godot.
(cherry picked from commit 5fef84a135)
Fixes#3881
Vibration support is not optimal yet as it doesn't try to emulate the "weak" and "strong" motor strength,
but just takes the parameter with the highest value for the vibration gain.
(cherry picked from commit 8c886b9d7a)
Previously, mappings that contained whitespace (most likely after a comma seperator) would not parse
correctly.
Consider the following mapping as an example:
"_test_guid_, test controller, a:b0, b:b1, leftx:a0 ,"
(cherry picked from commit fa502b7ccc)
Previous behaviour was to show it when an AnimationPlayer has been detected in the scene, now you actually have to select it.
Fixes#6213
(cherry picked from commit 86fd40b06c)
This give a proper fix for #4280 - #3106 , allowing absolute paths
that starts from the file system, not the resource folder
(cherry picked from commit 2f2cea070e)
Fixed hover sometimes not resetting when mouse leaves widget.
Fixed text position not taking into account stylebox's content margins.
(cherry picked from commit f5830e0973)