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.
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.
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.
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.
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 :)
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.
As mentioned by upstream, Xiph.Org [0]:
> The Speex codec has been obsoleted by Opus. It will continue to be
> available, but since Opus is better than Speex in all aspects,
> users are encouraged to switch.
[0] http://www.speex.org/
-Most 2D drawing is implemented
-Missing shaders
-Missing all 3D
-Editor needs to be set on update always to be used, otherwise it does not refresh
-Large parts of editor not working
If ARB_framebuffer_object is not supported, try to fall-back to
EXT_framebuffer_object if present.
In current version of godot, the way framebuffers are used is backward
compatible with the older EXT_framebuffer_object extension.
Fixes#6591
Done with SuperUserNameMan
Under Windows, Scons is now capable of detecting and compiling with
standalone MSVC compilers (aka "Visual C++ Build Tools").
http://landinghub.visualstudio.com/visual-cpp-build-tools
Tried with version 2015, and native x86 and x64 compilers under
Windows 10 pro 64 and Windows 8.1 64, with the default Win8 SDK
provided by the "Visual C++ Build Tools" web-installer.
Follow the same compiling instructions than for compiling with Visual
Studio, except that Visual Studio is no more required.
KNOWN ISSUES :
- ``methods.detect_visual_c_compiler_version()`` will emit a warning message
on computers where the ``VSINSTALLDIR`` environement variable is not present.
But it should compile just fine and still automatically detects the 32 or
64 bits according to the compiler you picked.
TODO :
- eventually, update ``platform/winrt/dectet.py`` with function
``methods.msvc_is_detected()`` and try to compile winrt/UWP with
these standalone compilers (if you did not select Win10 SDK when
installing the standalone tools, you can run it again).
- update doc to make users aware of "Visual C++ Build Tools" aka
"stadalone MSVC".
- eventually, update ``methods.detect_visual_c_compiler_version()``
The macro USE_LIGHT_SHADOW_COLOR actually was being defined when the shader used SHADOW (the output shadow color), not the shadow color set for the light so it's better named USE_OUTPUT_SHADOW_COLOR. In 3D there's not that difference but renaming as well for consistency.
- Add a proper function to retrieve IP addresses.
- Solve issues with Windows FileAccess and DirAccess to use the same code
for WinRT.
- Add patches to the GLES2 rasterizer to workaround ANGLE issues.
-Added anti-aliasing on lines
-Improved draw performance enormously
-Removed sequence ports for most nodes, current visual scripts will likely be broken now. Sorry!
The engine will still segfault, but the error message should be displayed by the
OS in a blocking manner, so that it will only crash once users have acknowledged
the error dialog.
Closes#1162.
The only differences we have with the upstream tarball are marked with
`// -GODOT-` comments for clarity. The changes we currently have are
just some defines for cross-platform configuration, and could likely be
moved to the SCons buildsystem (ideally in a sub-environment to avoid
having RtAudio-specific defines pollute the whole build log).
One change for WinRT was not kept, if it is needed it should ideally be
integrated upstream:
```
#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__) || defined(__WINDOWS_WASAPI__)
-#ifdef WINRT_ENABLED
- #define MUTEX_INITIALIZE(A) InitializeCriticalSectionEx(A, 0, 0)
-#else
#define MUTEX_INITIALIZE(A) InitializeCriticalSection(A)
-#endif
```
Multi-character character constants are implementation defined,
and therefore they are risky to use for use when trying to be compatible
with so many different platforms. Fixes#2540.
Warning: libpng 1.6 is strict about iCCp chunks being incorrect,
solution is to fix the profile. On *nix ImageMagicks "convert" works
on windows optiPNG.
- prevent audio resampler errors when number of channels is 0,
- don't check for 'audio_done' when there is no audio data.
(cherry picked from commit 763b29f34e)
This removes a custom redefinition of glewGetProcAddress,
which was apparently necessary for older Macs with buggy OpenGL
(see #5087).
The added source files are as provided in the upstream tarball.
This allows us not to have to hack our definitions in the upstream files,
making it easier to upgrade to newer versions in the future.
For the include paths to work, the headers are moved to a GL subfolder to
match their upstream location.
Can't create user data folder when project name has ``\ / : * ? " < > |`` characters on OS_Windows & OS_Unix.
So, change it to ``-`` to be able to make folder.
fixes#4928 and it's altanative to #4986.
-Rearrange favorites in fs dock with drag and drop
-Removed import -> sub-scene, moved to scenetree contextual menu
-Removed import -> re-import , moved and integrated to FS dock
-Added ability in FS dock to re-import more than one resource
simultaneously
-Added ability to drag from native filesystem explorer to Godot, only
works on Windows though
-Removed scene reimport merge options, never worked well. Eventually
merging materials should be re-added
-Added ability to set custom root node type when importing scenes
-Re-Import is now automatic, can be configured back to manual in editor
settings
-Added resource previews in property list for many resource types
* Fixed capturing groups matching to invalid results
* Fixed parents of recursive quantifiers not expanding properly
* Fixed LookAhead sometimes adding to result
- Also updated the docs to reflect this.
- Added some vim temp files to gitignore
- Changed NaCL to be consistent with the other OS_Unix::get_date implementation
(added 1 to month to map to 1-12)
Ticket:
https://github.com/godotengine/godot/issues/4025
-Made asset sharing support https
-Many fixes to HTTPRequest
-Added an asset installer dialog
-Visual cleanups to asset sharing tab
-Fixed some issues in ScrollContainer, hope it does not break things
-Asset sharing tab is not visible (hidden on purpose) for now.
* Add overflow checked intrinsic abstractions that check on overflow.
* Use them for memory allocation code.
* Use size_t type for memory allocation code to support full platform dependent width.
Fixes#3756.
After implementing unit testing to nrex I caught and fixed some errors
so it should behave more like Python's RegEx In addition, I've added
version numbering so it should be able to tell if the library needs
updating. Here are a list of changes:
- Fixed zero count quantifiers failing.
- Fixed infinite recursion if quantifying zero length token.
- Fixed `$` (as a string pattern on its own) not matching.
- Fixed look behind rewinding beyond the start of the string.
- Added support for alternative back reference format `\g{1}` similar to
Python. This allows digits to be used immediately after back references.
- Number of capture groups are still limited to 9 by default but can now
be manually set, with option for no limit at all. (Python has no limit)
- Curly bracket quantifiers `{0}` no longer interpreted as a literal
string if previous token is not quantifiable. (Python behaviour)
This is achieved using the "no specific formatting" \E[0m tag.
Fixes#2566.
Also remove the hardcoded black background colour and use default bolded terminal font for error message.
Error logs should now look good both on terminals with a dark and light background colour.
Previously all types of errors would be shown as ERROR, thus making for example warnings (WARN_PRINT) somewhat aggressive.
ERROR is displayed in red, WARNING in yellow and SCRIPT ERROR in magenta (though the latter does not seem used so far).
Fixes#1127.
add version_info and icon sections in "export to windows platform".
add version_info and icon to godot exe file (editor & template exe).
fix an problem in image class.
change all default icons to android export icon (a little more rounded).
create an python script for convert file to cpp byte array for use in
'splash.h'.
The original, uncommited fix simply changed compiler flag /MT to /MD. This
would link the C runtime dynamically instead of statically. This is bad,
because some users would have to install the c runtime before starting the
editor.
You can find alot of info about this error, which can happen after
upgrading to VS 2015, and there are workarounds. But I realized, that the
only place, where iob_func is used, is in e_os.h of the openssl library.
The latest version already contains a workaround. I simply updated the
part in e_os.h.
Reference: https://github.com/openssl/openssl/blob/master/e_os.h#L268
Reference: https://software.intel.com/en-us/forums/intel-parallel-studio-beta-archived/topic/266345
Reference: https://connect.microsoft.com/VisualStudio/feedback/details/1144980/error-lnk2001-unresolved-external-symbol-imp-iob-func
Reference: http://stackoverflow.com/questions/757418/should-i-compile-with-md-or-mt
Here's the original error message:
Creating library bin\godot.windows.tools.lib and object bin\godot.windows.tools.exp
drivers1.windows.tools.lib(t1_enc.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func
drivers1.windows.tools.lib(txt_db.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func
drivers1.windows.tools.lib(d1_enc.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func
drivers1.windows.tools.lib(ui_openssl.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func
drivers1.windows.tools.lib(cryptlib.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func
drivers1.windows.tools.lib(pem_lib.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func
drivers1.windows.tools.lib(d1_both.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func
drivers1.windows.tools.lib(rsa_sign.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func
bin\godot.windows.tools.exe : fatal error LNK1120: 1 unresolved externals
scons: *** [bin\godot.windows.tools.exe] Error 1120
-Visible 2D and 3D Shapes, Polygons, Tile collisions, etc.
-Visible Navmesh and Navpoly
-Visible collision contacts for 2D and 3D as a red point
-Customizable colors in project settings
some fixes for android build script.
remove armv6,x86 options and add "android_arch" option for select
compiler architecture (armv7,armv6,x86)(default armv7).
add architecture suffix for output files and you can compile for several
architecture simultaneously.
example:
libgodot.android.opt.debug.armv7.so
libgodot.android.opt.debug.armv7.neon.so
libgodot.android.opt.debug.armv6.so
libgodot.android.opt.debug.x86.so
now we can enable/disable neon on armv7 with "android_neon" option
(default enable).
add "NDK_TARGET_X86" option for select toolchain to use for the NDK x86
(default x86-4.8).
change inputs model for "ndk_platform" option (default android-15).
fix armv7 ccflags.
with this patch, must put libgodot_android.so file in specific
architecture folder:
armv7 (default): <android-java>/libs/armeabi-v7a/
armv6: <android-java>/libs/armeabi/
x86: <android-java>/libs/x86/
-Fixes long-standing issues regarding to playing a single stream multiple times simultanteously
-Fixes wrong-looping, starting, caching, etc. Issues resulting from bad original design
-Allows more interesting kinds of streams (stream graphs with streams inside streams!) in the future