Commit graph

274 commits

Author SHA1 Message Date
Rémi Verschelde c32766a482 Revert "libpng: Fix erroneously linking against libpng12 on old distros"
This reverts commits 5fa1bb331a
and ec4be71fad.

Looks like Debian/Ubuntu are not even shipping libpng16 nowadays in their
stable releases, we'll have to go back to statically linking our own
libpng16 to wait for them to stop being 5 years behind everybody.
2016-11-19 13:39:03 +01:00
Rémi Verschelde 5fa1bb331a libpng: Fix erroneously linking against libpng12 on old distros
This bit us for 2.1.1 binaries built on Ubuntu 12.04 LTS where
libpng.pc apparently prioritizes libpng12.
2016-11-19 12:59:48 +01:00
Andreas Haas 8d3efe2b7d
X11: Fix maximized boot splash
When instructing the window manager to (un)maximize a window, the resulting resolution
is recieved via an XEvent of type "ConfigureNotify".

The problem here was that these events were only handled in the `OS_X11::process_xevents()` method,
which is initially called on the first iteration of the main loop.
Because of this, the VideoMode still hadn't been updated yet when doing the boot splash setup.
2016-11-16 02:04:39 +01:00
ISylvox b5c383fd61 vsnc --> vsync 2016-11-08 21:06:57 +07:00
Rémi Verschelde cc95d4448c scons: Reorder options for clarity
Also prefix all thirdparty-related toggles with `builtin`.
2016-11-03 07:45:08 +01:00
Rémi Verschelde 817dd7ccbb style: Fix PEP8 blank lines issues in Python files
Done with `autopep8 --select=E3,W3`, fixes:

- E301 - Add missing blank line.
- E302 - Add missing 2 blank lines.
- E303 - Remove extra blank lines.
- E304 - Remove blank line following function decorator.
- E309 - Add missing blank line.
- W391 - Remove trailing blank lines.
2016-11-01 00:35:16 +01:00
Rémi Verschelde d4c17700aa style: Fix PEP8 whitespace issues in Python files
Done with `autopep8 --select=E2,W2`, fixes:

- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Rémi Verschelde 97c8508f5e style: Start applying PEP8 to Python files, indentation issues
Done with `autopep8 --select=E1`, fixes:

- E101 - Reindent all lines.
- E112 - Fix under-indented comments.
- E113 - Fix over-indented comments.
- E115 - Fix under-indented comments.
- E116 - Fix over-indented comments.
- E121 - Fix a badly indented line.
- E122 - Fix a badly indented line.
- E123 - Fix a badly indented line.
- E124 - Fix a badly indented line.
- E125 - Fix indentation undistinguish from the next logical line.
- E126 - Fix a badly indented line.
- E127 - Fix a badly indented line.
- E128 - Fix a badly indented line.
- E129 - Fix a badly indented line.
2016-11-01 00:33:51 +01:00
Rémi Verschelde c6c13eb8fc Merge pull request #6490 from zaps166/webm-pr
Add WebM support
2016-10-30 18:12:00 +01:00
Błażej Szczygieł d710b265f8 Add WebM module
Use already existing libraries: libvorbis and libopus. Also use newly
added libraries: libvpx, libwebm, libsimplewebm.
2016-10-23 02:46:06 +02:00
Błażej Szczygieł 2bf4553fe0 SCons: Use colored output if available, change "colored"->"verbose" 2016-10-17 22:40:14 +02:00
Rémi Verschelde e96c49f849 Merge pull request #6850 from akien-mga/pr-scsub-shebang
SCsub: Add python shebang as a hint for syntax highlighting
2016-10-17 20:13:18 +02:00
Rémi Verschelde fc8ccd5b8c SCsub: Add python shebang as a hint for syntax highlighting
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
Błażej Szczygieł 4ffa8f224d Theora: Don't compile unnecessary files, rename "x86_opt_*" 2016-10-16 22:31:27 +02:00
Rémi Verschelde edbc0c0d0b freetype: Make it a module and split thirdparty library
Comment out the weird workaround for building on Windows at it might
not be needed anymore. Testing needed to confirm.
2016-10-15 18:10:17 +02:00
Rémi Verschelde cbf52606f4 zlib: Split thirdparty files, simplify scons option 2016-10-15 12:20:47 +02:00
Rémi Verschelde 36738ddda4 glew: Split thirdparty files and isolate env
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.
2016-10-15 12:01:28 +02:00
Rémi Verschelde 8311a78df5 squish: Move to a module and split thirdparty lib 2016-10-15 12:01:28 +02:00
Rémi Verschelde cfcc8a20e8 theora: Move to a module and split thirdparty lib
Same rationale as the previous commits.
2016-10-15 11:50:41 +02:00
Rémi Verschelde 422196759f openssl: Move to a module and split thirdparty lib
Same rationale as the previous commits.
2016-10-15 11:50:41 +02:00
Rémi Verschelde d9a291f641 ogg/vorbis/opus: Make them modules and unbundle thirdparty libs
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.
2016-10-15 11:50:40 +02:00
Rémi Verschelde ee3cf211c6 webp: Make it a module and unbundle libwebp thirdparty files
Note that there are two Godot-specific changes made to libwebp
for the javascript/HTML5 platform. They are documented in the
README.md.
2016-10-15 11:50:39 +02:00
Rémi Verschelde c31ad71f10 enet: Split enet thirdparty files and allow unbundling
Building against shared libraries only implemented for Linux X11 so far.
TODO: Document Godot's modifications of upstream enet.
2016-10-15 11:50:39 +02:00
Rémi Verschelde 5fef84a135 png: Split library to thirdparty dir and allow unbundling
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.
2016-10-15 11:50:39 +02:00
Juan Linietsky 22d83bc9f6 Begining of GLES3 renderer:
-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
2016-10-03 21:35:16 +02:00
romeojulietthotel 94d6757a0d Use pkgconfig to locate ALSA libs (#6119)
* This allows building when ALSA libs are in a non-standard location. PKG_CONFIG_PATH alone is not enough as the final link fails. Adding this makes the final link succeed.

* The extra LIBS flag for alsa is not needed so removing.
2016-09-23 07:38:57 +02:00
Andreas Haas 6fcf2b2bd8
x11: Fix event.is_action() for release of modifier keys
The bug was that the release events for these also had the modifier state set, so the event comparison
failed.

Fixes #5901
2016-09-22 12:24:44 +02:00
Andreas Haas f59860f464
x11: Use proper sonames for loading libXrandr. 2016-08-11 17:40:59 +02:00
Rémi Verschelde 82d18f4c1c Merge pull request #5845 from hurikhan/x11_cleanup
Code cleanup in platform/x11
2016-07-22 08:35:26 +02:00
Mario Schlack 503f9ab9d9 Code cleanup in platform/x11 2016-07-21 21:11:34 +02:00
Mario Schlack d04ada3973 Implement OS.request_attention() for X11 2016-07-21 19:40:36 +02:00
Juan Linietsky 587826f879 remove GLU dependency, closes #3787 2016-07-18 17:25:03 -03:00
Juan Linietsky 864c0e84de line/col label was changing size with each cursor move, forcing the GUI to resize upwards and costing considerably CPU usage.
It has been changed so it won't resize the UI when modified.
This will make the code editor feel a lot smoother.
2016-07-09 14:56:08 -03:00
Juan Linietsky 7e3044981e Avoid crash if setting modifiers fails, closes #5158 2016-07-08 11:28:09 -03:00
Rémi Verschelde b6ac91c0e6 Removed unused variables (first pass)
Fixes various gcc 5.4.0 warnings for -Wunused-variable and -Wunused-but-set-variable
2016-07-07 23:15:03 +02:00
eska a2386bd2b2 Link libdl only on Linux, fix BSD build 2016-07-04 18:39:27 +02:00
Ferdinand Thiessen 9e751178eb Fix compiling for X11 on non-86, this fixes #5444 2016-06-27 03:03:42 +02:00
paper-pauper dd1ad31757 Changes X11 res_name to "Godot_Engine"
Add additional/alternative WM_CLASS; only affects the game window, avoids redundancy and allows finer control in WMs (#5265)
2016-06-25 07:15:21 +02:00
J08nY 0ab05b09e4
Fixed iCCp chunk in pngs
neccesary for libpng 1.6.27 to work silently
2016-06-22 21:13:29 +02:00
Wilhem Barbier 5d95072879 Remove the vibration effect from the joystick when stopping 2016-06-20 11:01:07 +02:00
Dennis Brakhane 3d85a14404 fix memset calls
Order is "mem, val, count", not "mem, count, val"
2016-06-19 02:07:51 +02:00
Rémi Verschelde a7fc04626a Add missing license headers in our source files (#5255)
Also removes a couple wrong Godot headers from third-party source files.
2016-06-18 14:46:12 +02:00
Wilhem Barbier f665200df7 Add joystick vibration support on Linux (#5043) 2016-06-15 07:25:35 +02:00
Andreas Haas eaa34f2123 x11: fix XRandr GetMonitors 2016-06-12 15:29:02 +02:00
Juan Linietsky 3b2c96139b Merge pull request #4905 from Hinsbart/x11_dpi
x11: Implemented dpi detection
2016-06-11 17:52:10 -03:00
Juan Linietsky 94a6ff3d7a -make freetype build for all platforms the same, default as builtin except on x11.
closes #5119
2016-06-09 21:28:07 -03:00
Andreas Haas 18c941bbec x11: Implemented dpi detection
depends on XRandR.
Had to dynamically load `XRRGetMonitors` as Ubuntu 12.04 doesn't have it.
Also removed libudev from travis install list.
2016-06-09 18:54:06 +02:00
Rémi Verschelde 768e925271 GLEW: Define static + enabled and includes via SCons
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.
2016-06-08 00:16:27 +02:00
Andreas Haas 5cd7611a9a x11: fix vsync support 2016-06-07 00:19:01 +02:00
Ariel Manzur 942de803f9 temporary fix for vsync call on x11 2016-06-05 22:25:01 -03:00
Juan Linietsky 2420e46b44 vsync support
-works on windows
-may not work on X11, if so please fix
-OSX does not seem to support disabling vsync
2016-06-05 19:14:33 -03:00
Rémi Verschelde d31696e3db Merge pull request #4874 from Hinsbart/x11_dragndrop
x11: Add support for filesystem drag & drop using xdnd
2016-05-29 18:40:27 +02:00
Andreas Haas 2c9b28df13 xdnd: can handle more than 3 different target types
Now dropping also works with Nemo and PCManFM(gtk)
2016-05-29 17:40:08 +02:00
Juan Linietsky 3e8eb396d7 Finalized DynamicFont implementation
-DynamicFont uses Freetype by default
-Editor fonts are now scalable thanks to this
-Cleaned up documentation browser and added fonts for this
2016-05-29 11:37:52 -03:00
Andreas Haas ae0a59731e x11: Add support for filesystem drag & drop using xdnd 2016-05-28 21:35:42 +02:00
Ignacio Etcheverry 5907a007dc x11: Flush the X output buffer after changing mouse mode 2016-04-12 16:20:28 +02:00
MSC 391095e0ef memdelete 'joy_thread' + 'joy_mutex' on ::~joystick_linux() 2016-04-03 19:24:39 +02:00
Rémi Verschelde 0a5472e697 Remove trailing spaces 2016-04-02 20:26:12 +02:00
Hubert Jarosz 4b14c18d13 fix possible crash in platform/x11/joystick_linux.cpp
ev may be tainted and out of MAX_KEY range,
which will cause joy->key_map[ev.code] to crash
2016-03-09 00:16:56 +01:00
Hubert Jarosz 4a4f247914
remove trailing whitespace 2016-03-09 00:00:52 +01:00
hinsbart 1e54fd142b x11: fix joysticks not recognizing some buttons
dpad on x360 pads with kernel < 4.3 is working now
2016-02-24 12:18:30 +01:00
Rémi Verschelde 130f8fa193 Rename KEY_KP_SUBSTRACT to KEY_KP_SUBTRACT
The former name was incorrect in English, though for us latin lovers it's an understandable mistake.
Second part of and closes #3626.
2016-02-17 23:01:27 +01:00
hondres 3065187300 include libudev only on udev builds 2016-02-15 15:09:48 +01:00
hondres b350ece864 x11: make dependancy on libudev optional 2016-02-14 15:13:11 +01:00
punto- 63fc7ef798 Merge pull request #3615 from Hinsbart/joy_check_fix
x11: more verbose checking for joystick capabilities
2016-02-07 00:49:54 -03:00
hondres fef92c0fab x11: more verbose checking for joystick capabilities 2016-02-07 00:17:16 +01:00
Juan Linietsky 9010a25c01 added option to link libstdc++ statically 2016-02-04 20:47:19 -03:00
Rémi Verschelde cefca4429c Merge pull request #3575 from Hinsbart/_net_wm_name
x11: set _net_wm_name property
2016-02-04 07:19:52 +01:00
hondres 61c1b6f60e x11: set _net_wm_name property 2016-02-04 00:39:53 +01:00
Rémi Verschelde c0aade4ba4 Merge pull request #3493 from Hinsbart/wm_class
x11: use different strings for WM_CLASS depending on context
2016-02-03 11:30:22 +01:00
Rémi Verschelde fc65a57ff5 Merge pull request #3538 from Hinsbart/temp
remove pc_joystick_map.h
2016-02-03 11:18:43 +01:00
hondres f7b1ab843c x11: fix non-gamepad devices being detected as joysticks 2016-02-02 23:23:20 +01:00
hondres f4fa74fe28 remove pc_joystick_map.h 2016-02-01 14:28:53 +01:00
hondres 2809b31f8c close file descriptor if ioctls failed 2016-02-01 13:39:50 +01:00
hondres 11e4c128ac x11: use different strings for WM_CLASS depending on context 2016-01-27 21:53:37 +01:00
hondres 29353808f0 remove dependancy on libevdev 2016-01-26 23:04:57 +01:00
George Marques f4a39692b9 Change default window size for desktop
Fix #3149
2016-01-24 17:52:33 -02:00
punto- 7393e40452 Merge pull request #3272 from Hinsbart/joy-binding
Add some joystick functions to input. Enables manipulation of mapping…
2016-01-12 03:59:19 -03:00
eska 56e65f9e29 Enable ALSA driver in non-linux X11 when available 2016-01-10 17:52:15 +01:00
eska a6c1a5c6d0 Fix pthread renaming in Open/FreeBSD 2016-01-09 15:56:31 +01:00
hondres c632c13c66 Add some joystick functions to input. Enables manipulation of mappings at runtime 2016-01-08 00:40:41 +01:00
Rémi Verschelde a98aa0bbbe Make joydev build using udev and evdev opt-out but blocking (linux)
It is enabled by default, users have to specifically ask for it if they don't want gamepad support. If libudev or libevdev are missing, the build aborts and tells the user the reason and that they can disable gamepad support with the "gamepad=no" option.
2016-01-06 19:21:37 +01:00
hondres c0e4d8fbfd fix x11 crash on exit 2016-01-05 23:35:54 +01:00
Juan Linietsky 908f75c23f having active items is pointless in input map 2016-01-03 18:52:42 -03:00
hondres 17d664cf1d send axis events only once per frame on linux 2016-01-03 02:24:43 +01:00
hondres c60e1648ba make num_buttons local, no need to keep in joystick struct 2016-01-02 03:52:44 +01:00
George Marques 5be9ff7b67 Update copyright to 2016 in headers 2016-01-01 11:50:53 -02:00
Juan Linietsky 586e482a98 -Fix parsing of comments in VariantParser, fixes #3175 2015-12-31 10:25:21 -03:00
hondres 541c9039c5 Check pkg-config for libudev and enable gamepad code only if found. Linux only for now 2015-12-21 22:39:03 +01:00
Juan Linietsky 46dee92c8e -fixed build system to use pkg-config for evdev 2015-12-21 10:37:26 -03:00
hondres 87dab29f4b Use tabs instead of spaces for new gamepad code 2015-12-18 19:15:32 +01:00
hondres af633c7941 Better gamepad support 2015-12-18 06:12:53 +01:00
Juan Linietsky cc7880fba5 -added windowed mode with -w, fixes #3020
-changed default windowed resolution to 1280x720
2015-12-12 12:06:53 -03:00
Juan Linietsky 708ff381d6 changed a bit to use system() 2015-12-08 20:36:48 -03:00
Juan Linietsky 78b5404434 improve detection of linux, fixes #3201 2015-12-08 20:35:40 -03:00
Juan Linietsky ac414c5581 Merge pull request #2849 from a12n/compobsd2
Compile on OpenBSD
2015-12-08 17:16:45 -03:00
koalefant bd396c5cfa Enabled debug symbols for x11 when using platform=release_debug and debug_release=yes together 2015-11-29 20:56:27 +01:00
Juan Linietsky b987d2113b 0theora compilation fixes 2015-11-25 00:28:03 -03:00
Anton Yabchinskiy b14c90801f Disable X11 joystick functions also for OpenBSD 2015-11-20 23:36:34 +03:00
Anton Yabchinskiy 523e64d30b Include string.h for memset() on OpenBSD 2015-11-20 23:36:14 +03:00