Commit graph

271 commits

Author SHA1 Message Date
Rémi Verschelde
9d28a5e7d9 Merge pull request #8159 from Hinsbart/last_id
Input: Remove usage of platform dependent event IDs.
2017-03-27 08:52:58 +02:00
Rémi Verschelde
d8f32637be SCons: Add option to toggle warnings (on by default)
All the warnings are factored out of the platform-specific files and moved to
SConstruct. Will have to check that it does not introduce regressions on some
platforms/compilers.

(cherry picked from commit 31107daa1a)
2017-03-26 21:58:37 +02:00
Andreas Haas
c0b6756875
Input: Remove usage of platform dependent event IDs.
The ID property for InputEvents is set by `SceneTree` when sending the event down the tree.
So there's no need for the platform specific code to set this value when it will later be overriden anyway...
2017-03-26 15:59:32 +02:00
Rémi Verschelde
debeee56f7 Fix typos in source code using codespell
From https://github.com/lucasdemarchi/codespell
2017-03-24 21:45:31 +01:00
Juan Linietsky
c37fad650f Export working (for linux at least) 2017-03-21 19:34:26 -03:00
Andreas Haas
fc84ccc468
X11: Don't reset mouse cursor theme.
On KDE (and possibly others) the "default" cursor theme is actually some system default, not the one you've set in the desktop setting.
This was especially annoying when using a white cursor, as Godot would then reset back to a dark one.
In my case it was also keeping the cursor from changing its shape.
2017-03-18 12:13:14 +01:00
Rémi Verschelde
5dbf1809c6 A Whole New World (clang-format edition)
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?

I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon

A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format

A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
2017-03-05 16:44:50 +01:00
Rémi Verschelde
e1c1d7d1d7 Add a bunch of missing Godot headers in own files 2017-03-05 15:47:28 +01:00
Rémi Verschelde
49c065d29c Refactoring: rename tools/editor/ to editor/
The other subfolders of tools/ had already been moved to either
editor/, misc/ or thirdparty/, so the hiding the editor code that
deep was no longer meaningful.
2017-03-05 14:21:25 +01:00
Julian Murgia
94103c0c02 Add API to access battery power state
Done:
- X11, server (tested)
- Windows (developed, would be nice to retest)
- OSX (not tested)
Prepared (not developed):
- Android (code is here, but may not compile)
- iphone
- winrt
- bb10
- haiku
- javascript
2017-03-04 18:04:29 +01:00
Shlomi Fish
0ef3d22d98 Fix failing build on mageia v6 x64 linux.
There was an error about undeclared malloc()+free().
2017-02-27 21:24:46 +02:00
Rémi Verschelde
34a0aa6900 Merge pull request #7862 from Hinsbart/joypad_connections
Better handling of joypad device IDs.
2017-02-26 21:30:24 +01:00
Andreas Haas
a175ac7032
Better handling of joypad device IDs.
Now InputDefault is responsible for giving out joypad device IDs to the platform, instead of each platform handling this itself.
This makes it possible for c++ modules to add their own "custom" gamepad devices, without the risk of messing up events in case the user also has regular gamepads attached (using the OS code).
For now, it's implemented for the main desktop platforms.
Possible targets for future work: android, uwp, javascript
2017-02-26 21:01:31 +01:00
Rémi Verschelde
7902444f38 Merge pull request #7834 from hpvb/x11-return-to-cwd-at-exit
X11 return to cwd at exit
2017-02-26 20:25:09 +01:00
Shlomi Fish
0a2c387d5c Fix some compilation warnings.
Redone the commit based on the input in
https://github.com/godotengine/godot/pull/7851 . Not all warnings were
fixed but it's a start.
2017-02-21 11:59:19 +02:00
Juan Linietsky
f6950956bd Editor Export Settings Dialog is completed!! Now on to make some exporters.. 2017-02-19 23:21:35 -03:00
Hein-Pieter van Braam
d0c2015fe1 X11 return to cwd at exit
During runtime godot calls chdir() several times. This doesn't really
matter normally but when using tools such as gprof the location of the
profiling data is kind of hard to intuit.

With this PR we simply store the current working directory at start and
restore it once we're almost done exiting.

This doesn't use the OS abstractions as when we need to get the current
workdir we haven't yet initialized it (by necessity). This would break
if we tried to build X11 for windows, but since the X11 target is
hardcoded to use the UNIX abstractions I don't think it matters.
2017-02-18 12:41:26 +01:00
Hein-Pieter van Braam
f70afbe129 X11: Move audio driver finalize to the start of cleanup
The audio driver cleanup needs to happen at the start of finish
otherwise a race still seems to exist with the destruction of the
audioserver. I think that destroying the X resoures before has something
to do with it.
2017-02-17 17:59:06 +01:00
Hein-Pieter van Braam
a7fcdad16d X11: Finalize audiodrivers on exit
The audiodrivers loaded by OS_X11 are not destroyed before the
audioserver is. This causes a segfault on exit.

The code is taken from os_windows.cpp which did have the cleanup code.
2017-02-17 10:41:41 +01:00
Rémi Verschelde
251e014b59 Merge pull request #7578 from baekdahl/master
x11: don't wait for window to be mapped
2017-02-02 08:21:05 +01:00
Rémi Verschelde
869d710198 Merge pull request #7683 from marcelofg55/master
Fix issues with set_window_resizable on x11
2017-02-02 08:17:14 +01:00
Rémi Verschelde
44d386ee80 Merge pull request #7645 from tagcup/x11_optimization_flags_v2
Use -Ofast on x11. Also introduced use_lto option.
2017-02-02 08:06:06 +01:00
marcelofg55
474e3ac055 Fix issues with set_window_resizable on x11 2017-01-30 13:25:48 -03:00
Ferenc Arn
7a85d25218 Use -Ofast on x11. Also introduced use_lto option.
debug_release doesn't turn off optimizations for release target now. Ensure that sanitizer options apply to both C and C++ files.

Built-in optimization/debug flags are prepended such that user-specified flags can override them.

Based on and around the discussion in PR #5194.
2017-01-26 19:32:27 -06:00
Juan Linietsky
96de0141cc Removed import/export system, will start new one from scratch. 2017-01-25 21:57:08 -03:00
Ilija Boshkov
1005a56e5a Added focus tracking in X11 and Windows classes, added new confined mouse mode (#7162) 2017-01-25 19:21:41 +01:00
Juan Linietsky
0aa7242624 WIP new AudioServer, with buses, effects, etc. 2017-01-21 19:01:00 -03:00
Jesper Bækdahl
8f7a3884fd x11: don't wait for window to be mapped 2017-01-19 09:38:40 +01:00
Rémi Verschelde
2a0ddc1e89 Style: Various fixes to play nice with clang-format 2017-01-16 08:49:52 +01:00
Juan Linietsky
b400c69cd4 Oops! Audio engine has vanished :D 2017-01-15 16:07:51 -03:00
Rémi Verschelde
93ab45b6b5 Style: Fix whole-line commented code
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Juan Linietsky
a97551902e rename Input.get_mouse_speed() to Input.get_last_mouse_speed() 2017-01-13 19:24:28 -03:00
Andreas Haas
4a6428aaee
Rename "joypad_linux" class to "JoypadLinux"
Named this class in GodotCase, so it fits with the rest of the codebase.
2017-01-08 22:22:00 +01:00
Rémi Verschelde
5bfa4227b3 Finish replacement of joystick by joypad
Some parts were forgotten in 547a577.
2017-01-08 21:33:37 +01:00
Juan Linietsky
547a57777b renamed joystick to joypad everywhere around source code! 2017-01-08 17:06:33 -03:00
Rémi Verschelde
d945c4e58e x11: Improve logic for cross-dependencies between freetype, zlib and libpng
Fixes #7373.
2017-01-08 17:17:05 +01:00
Juan Linietsky
2ab83e1abb Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector 2017-01-07 18:26:38 -03:00
Rémi Verschelde
2a38a5eaa8 Remove bundled glew, obsoleted by glad
Also make Haiku load the glad header for GLES3 too,
though I haven't test it.
2017-01-06 22:56:51 +01:00
Rémi Verschelde
dc0d08cc93 Move glad files to thirdparty dir 2017-01-06 22:42:19 +01:00
Rémi Verschelde
3f3f5a5359 Merge remote-tracking branch 'origin/gles3' into gles3-on-master
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
Rémi Verschelde
c7bc44d5ad Welcome in 2017, dear changelog reader!
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
2017-01-01 22:03:33 +01:00
Juan Linietsky
37f558cd7b Some BRDF fixes 2016-12-21 14:22:17 -03:00
Gustav Lund
2495e8a941 fix for crash when no ALSA or Pulse installed on linux 2016-12-12 10:47:41 +01:00
Rémi Verschelde
f18470c199 Revert "X11: Fix maximized boot splash"
This reverts commit 8d3efe2b7d.
It introduced crashes for some users when trying to capture
the XConfigureNotify event.
2016-11-23 07:53:31 +01:00
Juan Linietsky
9d635f0629 Migrated from GLES to GLAD, fixes many issues. 2016-11-22 20:51:56 -03:00
Rémi Verschelde
d5a9102a88 Merge pull request #7125 from Hinsbart/x11_maximize
X11: Fix maximized boot splash
2016-11-21 11:54:49 +01:00
Rémi Verschelde
4965ddfaa1 png: Allow building shared freetype with bundled libpng
This was the behaviour when building Godot 2.1, which allows to build against
Ubuntu 12.04 and its freetype that links old libpng12, while still bundling
libpng16.
2016-11-19 14:09:01 +01:00
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