summaryrefslogtreecommitdiff
path: root/platform/server
AgeCommit message (Collapse)Author
2019-06-19Png driver reworked to use libpng 1.6 simplified APIIbrahn Sahir
Wrapped libpng usage in a pair of functions under PNGDriverCommon, which convert between Godot Image and png data. Switched to libpng 1.6 simplified API for ease of maintenance. Implemented ImageLoaderPNG and ResourceSaverPNG in terms of PNGDriverCommon functions. Travis, switched to builtin libpng (thus builtin freetype and zlib also) so we can build on Xenial.
2019-06-11bullet: Sync with current upstream master branchRémi Verschelde
This updates our local copy to commit 5ec8339b6fc491e3f09a34a4516e82787f053fcc. We need a recent master commit for some new features that we use in Godot (see #25543 and #28909). To avoid warnings generated by Bullet headers included in our own module, we include those headers with -isystem on GCC and Clang. Fixes #29503.
2019-05-21added a const keyword for a methods that return constant literal...hbina085
2019-04-30SCons: Always use env.Prepend for CPPPATHRémi Verschelde
Include paths are processed from left to right, so we use Prepend to ensure that paths to bundled thirdparty files will have precedence over system paths (e.g. `/usr/include` should have lowest priority).
2019-04-24SCons: Review uses of CCFLAGS, CXXFLAGS and CPPFLAGSRémi Verschelde
Many contributors (me included) did not fully understand what CCFLAGS, CXXFLAGS and CPPFLAGS refer to exactly, and were thus not using them in the way they are intended to be. As per the SCons manual: https://www.scons.org/doc/HTML/scons-user/apa.html - CCFLAGS: General options that are passed to the C and C++ compilers. - CFLAGS: General options that are passed to the C compiler (C only; not C++). - CXXFLAGS: General options that are passed to the C++ compiler. By default, this includes the value of $CCFLAGS, so that setting $CCFLAGS affects both C and C++ compilation. - CPPFLAGS: User-specified C preprocessor options. These will be included in any command that uses the C preprocessor, including not just compilation of C and C++ source files [...], but also [...] Fortran [...] and [...] assembly language source file[s]. TL;DR: Compiler options go to CCFLAGS, unless they must be restricted to either C (CFLAGS) or C++ (CXXFLAGS). Preprocessor defines go to CPPFLAGS.
2019-04-15Add Input::get_current_cursor_shapeGuilherme Felipe
[Clean up] Removed unused/unnecessary methods.
2019-04-06Remove unused importsHendrikto
2019-04-05SCons: add `methods.using_clang` to check used compilerRémi Verschelde
Also rename `use_gcc` to `using_gcc` to make it clear that it returns a config but does not alter it.
2019-04-03SCons: Fix python3 compat for builtin_bullet=noRémi Verschelde
2019-03-05Update the server platform's `detect.py` to match x11'sHugo Locurcio
This adds support for LTO, UBSAN/ASAN/LSAN, debugging symbols options and `optimize=size` in the `server` platform.
2019-02-20Drop RtAudio driver on WindowsRémi Verschelde
We've been defaulting to WASAPI since 3.0 and it's superior to RtAudio in all aspects. Obsoletes and closes #25503. Also enable WINMIDI on MinGW, this had been missed initially. Fix os_windows.cpp and crash_handler_windows.cpp which had weird dependencies on RtAudio.h's includes (ugh).
2019-02-12Platform: Ensure classes match their header filenameRémi Verschelde
Also drop some unused files. Renamed: - `platform/iphone/sem_iphone.h` -> `semaphore_iphone.h` (same for `osx`) - `platform/uwp/gl_context_egl.h` -> `context_egl_uwp.h` - in `platform/windows`: `context_gl_win.h`, `crash_handler_win.h`, `godot_win.cpp`, `joypad.h` and `key_mapping_win.h` all renamed to use `windows`. Some classes renamed accordingly too. - `EditorExportAndroid` and `EditorExportUWP` renamed to `EditorExportPlatformAndroid` and `EditorExportPlatformUWP` - `power_android` and `power_osx` renamed to `PowerAndroid` and `PowerOSX` - `OSUWP` renamed to `OS_UWP` Dropped: - `platform/windows/ctxgl_procaddr.h`
2019-01-09Don't use -ffast-math or other unsafe math optimizationsHein-Pieter van Braam
Godot supports many different compilers and for production releases we have to support 3 currently: GCC8, Clang6, and MSVC2017. These compilers all do slightly different things with -ffast-math and it is causing issues now. See #24841, #24540, #10758, #10070. And probably other complaints about physics differences between release and release_debug builds. I've done some performance comparisons on Linux x86_64. All tests are ran 20 times. Bunnymark: (higher is better) (bunnies) min max stdev average fast-math 7332 7597 71 7432 this pr 7379 7779 108 7621 (102%) FPBench (gdscript port http://fpbench.org/) (lower is better) (ms) fast-math 15441 16127 192 15764 this pr 15671 16855 326 16001 (99%) Float_add (adding floats in a tight loop) (lower is better) (sec) fast-math 5.49 5.78 0.07 5.65 this pr 5.65 5.90 0.06 5.76 (98%) Float_div (dividing floats in a tight loop) (lower is better) (sec) fast-math 11.70 12.36 0.18 11.99 this pr 11.92 12.32 0.12 12.12 (99%) Float_mul (multiplying floats in a tight loop) (lower is better) (sec) fast-math 11.72 12.17 0.12 11.93 this pr 12.01 12.62 0.17 12.26 (97%) I have also looked at FPS numbers for tps-demo, 3d platformer, 2d platformer, and sponza and could not find any measurable difference. I believe that given the issues and oft-reported (physics) glitches on release builds I believe that the couple of percent of tight-loop floating point performance regression is well worth it. This fixes #24540 and fixes #24841
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2019-01-01Fix missing/malformed license headersRémi Verschelde
2018-12-15Added basic support for custom resource savers and loadersMarc Gilleron
2018-10-30Allow the server platform to build on linux again.Ibrahn Sahir
Fixed a logic error in platform/server/detect.py that prevented building the server platform on linux.
2018-10-29Server platform works on OS X tooMarcelo Fernandez
2018-10-06Remove redundant "== true" codeAaron Franke
If it can be compared to a boolean, it can be evaluated as one in-place.
2018-09-28SCons: Build thirdparty code in own env, disable warningsRémi Verschelde
Also remove unnecessary `Export('env')` in other SCsubs, Export should only be used when exporting *new* objects.
2018-09-25Server platform builds (dummy) mobile_vr module.Fabio Alessandrelli
Protect GL functions in mobile_vr with ifdefs.
2018-09-25SCons: Fix checks for clang in env['CXX']Rémi Verschelde
They would match the whole path instead of only the filename.
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-07-20Fix some more build issues after c69de2ba4Rémi Verschelde
Fixes #20301.
2018-07-20Fix build issues and typos after c69de2ba4Rémi Verschelde
2018-06-28Optimize images losslessly using `oxipng -o6 --strip all --zopfli`Hugo Locurcio
2018-06-07SCons: Allow unbundling libwebsockets and miniupnpcRémi Verschelde
2018-05-09Dummy texture importerGustav Lund
Added a dummy importer for textures to use with the server platform. Allows for running a project in headless mode without crashing when loading scenes containing textured objects Also as a result decreases load time as no image files have to be loaded.
2018-03-04SCons: Fix linking system pcre2 on server platformRémi Verschelde
Fixes #17245.
2018-03-01Fix server build on FreeBSDFabio Alessandrelli
2018-02-22server: Add support for statically linking libgcc and libstdc++Rémi Verschelde
2018-02-15Add dummy audio driver, fix dummy rasterizerK. S. Ernest (iFire) Lee
2018-02-15Fixes to OS_Server and DummyRasterizer to match new signaturesFabio Alessandrelli
2018-02-15server platform now compiles and run on linux.Fabio Alessandrelli
Seems to also be able to do exports of some demos I tried.
2018-02-14Deleting OpenSSL module and libraryFabio Alessandrelli
2018-01-26Bullet: allow unbundling only if > 2.87Rémi Verschelde
Looks like we are using cutting edge methods which are not even if the current stable 2.87.
2018-01-13SCons: Allow unbundling bullet on Linux (only 2.87+)Rémi Verschelde
2018-01-05SCons: Fix usage of LD when we meant LINKRémi Verschelde
Also made LINK and CXXFLAGS configurable as command line options. Note that LINK currently expects the *compiler* that will be used for linking and will call its configured linker behind the scenes (so g++, clang++, etc., not ld.gold). See #15364 for details.
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
2018-01-04Fix macOS and other builds after #15299Duy-Nguyen TA
Commit ammended by @akien-mga to fix more platforms.
2018-01-04Change OS::initialize signature to return Error (fix segfault on x11)Emmanuel Leblond
2018-01-03Merge pull request #12814 from guilhermefelipecgs/add_hardware_custom_cursorRémi Verschelde
Custom hardware-accelerated mouse cursor
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-17Add implementation for custom hardware cursorGuilherme Silva
2017-12-05Improve slang, especially in user-visible partsUnknown
2017-11-28disable caching for targets using helper functionsRhody Lugo
2017-11-28use the same cache for all branches for appveyorRhody Lugo
2017-11-17Rename OS::get_data_dir to OS::get_user_data_dirRémi Verschelde
Will be needed to avoid confusion with system data path (XDG_DATA_HOME) and editor data dir in upcoming refactoring.
2017-11-09Make video mode initialization more intuitive, fixes #12022Juan Linietsky
2017-11-04Implemented physics plugAndreaCatania
Moved init_physics Implemented physics 2D plug Fix clang Fix clang Fix static check Fix clang Fix static check Moved physics server initialization Moved physics server settings initialization