Commit graph

668 commits

Author SHA1 Message Date
Pedro J. Estébanez
ef64bfd687 Fix no mouse if touch device present in X11
Plus several improvements in this area.

Sadly, grabbing has been disabled until a better solution is found.

Fixes #14427.
2017-12-10 07:14:59 +01:00
Andreas Haas
94a573bb39
X11: Process entire event queue at startup.
Should fix #14336
2017-12-09 23:24:25 +01:00
Stefano Bonicatti
c067cf2c6a Fixes vsync setting ignored when using a separate thread for rendering
Setting the vsync in the main thread, after the rendering thread starts
and takes the OpenGL context fails, so we need to do that before.
Also, for some reason, the main thread cannot make current the context
anymore.

Fixes #13447
2017-12-09 01:43:23 +01:00
Rémi Verschelde
13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
Pedro J. Estébanez
6decbec461 Implement multitouch on X11 2017-12-06 23:47:09 +01:00
Rhody Lugo
a65c0939fd disable caching for targets using helper functions 2017-11-28 23:24:12 -04:00
Rhody Lugo
a4a222d62d use the same cache for all branches for appveyor 2017-11-28 03:23:33 -04:00
Rémi Verschelde
450bdda97a
Merge pull request #12387 from santouits/x1111
Fix x11 boot logo position in fullscreen and in maximized
2017-11-20 15:48:08 +01:00
Rémi Verschelde
ecf80fbbba
Merge pull request #12988 from akien-mga/xdg-home-paths
Add support for XDG Base Directory spec
2017-11-20 00:42:51 +01:00
Rémi Verschelde
32c12a92a5 Add initial support for the XDG Base Directory spec
Spec version 0.7 from https://standards.freedesktop.org/basedir-spec/basedir-spec-0.7.html
(latest as of this commit).

Three virtual methods are added to OS for the various XDG paths we will use:
- OS::get_data_path gives XDG_DATA_HOME, or if missing:
  ~/.local/share on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows
- OS::get_config_path gives XDG_CONFIG_HOME, or if missing:
  ~/.config on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows
- OS::get_cache_path gives XDG_CACHE_HOME, or if missing:
  ~/.cache on X11, ~/Library/Caches on macOS and %APPDATA% on Windows

So for Windows there are no changes, for Linux we follow the full split spec
and for macOS stuff will move from ~/.godot to ~/Library/Application Support/Godot.

Support for system-wide installation of templates on Unix was removed for now,
as it's a bit hackish and I don't think anyone uses it.

user:// will still be OS::get_data_path() + "/godot/app_userdata/$name" by
default, but when using the application/config/use_shared_user_dir option
it will now use XDG_DATA_HOME/$name, e.g. ~/.local/share/MyGame.

For now everything still goes in EditorSettings::get_settings_dir(), but
this will be changed in a later commit to make use of the new splitting
where relevant.

Part of #3513.
2017-11-19 20:54:24 +01:00
Rémi Verschelde
9f134aa5d1 Cleanup old references to GLES2 renderer
There are still some left in the Android Java code, even stuff to swap between
GLES1 and GLES2 support from early Godot days... would be good to see some cleanup
there too one day.

The "graphics/api" option for Android exports is removed, as only GLES 3.0 is supported.
It can be readded when GLES 2.0 support comes back. Fixes #13004.
2017-11-19 17:52:18 +01:00
Rémi Verschelde
73049d115e Rename OS::get_data_dir to OS::get_user_data_dir
Will be needed to avoid confusion with system data path (XDG_DATA_HOME)
and editor data dir in upcoming refactoring.
2017-11-17 20:55:09 +01:00
Juan Linietsky
d09160a8b6 Make video mode initialization more intuitive, fixes #12022 2017-11-09 13:02:26 -03:00
Juan Linietsky
7715a261d5
Merge pull request #12262 from AndreaCatania/pplug
Physics server plug
2017-11-03 23:39:44 -03:00
AndreaCatania
7a9ca08f16 Implemented physics plug
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
2017-11-04 03:25:51 +01:00
Rémi Verschelde
cefdb34f6c SCons: make use_lto a global option and opt-in for iphone
Supersedes #12553, see discussion in #12552.
2017-11-02 09:11:50 +01:00
N0hbdy
f3fc07272c Add Colemak keybindings to editor for osx 2017-10-30 22:51:02 +01:00
Marcelo Fernandez
be6ac69f75 Implemented OS get_latin_keyboard_variant on x11 2017-10-30 12:14:40 -03:00
Rémi Verschelde
37f1bb3298 Travis: Simplify matrix, disable iphone and add X11 tools=no/clang
Travis always has massive backlog of macOS builds, so we can't rely on them
too much.
The iphone build was mostly useful to spot tools=no or target=release_debug
issues, so replacing it by an appropriate X11 build.
2017-10-27 19:56:37 +02:00
santouits
55fae24710 Fix x11 boot logo position in fullscreen and in maximized 2017-10-26 01:06:26 +03:00
Marcelo Fernandez
2baf54526b Fix BSD compile issues 2017-10-17 16:50:41 +00:00
J08nY
b1252caa10
Use binary names instead of absolute paths in calls to OS::execute.
Now that #12009 is merged, we should let the system find the binary on
the users $PATH and don't assume we know where to look for them in
different distributions.
2017-10-13 16:45:24 +02:00
Rémi Verschelde
79e247d74e Drop unusued LEGACYGL_ENABLED check
[ci skip]
2017-10-13 00:18:04 +02:00
Poommetee Ketson
478fd21e07 Merge pull request #11575 from marcelofg55/move_path_to_trash
FileSystemDock will now remove files/dirs to trashcan using OS::move_to_trash
2017-10-02 23:52:09 +07:00
Felix M. Cobos
ec644ccb69 Reduce gcc lto build time by telling the linker to
use the number of jobs indicated by -j
2017-09-26 17:04:04 +02:00
Marcelo Fernandez
20918587d3 FileSystemDock will now remove files/dirs to trashcan using OS::move_to_trash 2017-09-25 21:49:01 -03:00
Elliott Sales de Andrade
3e69d19116 Use BoolVariable in platform-specific options. 2017-09-25 14:36:30 -04:00
Elliott Sales de Andrade
45a9a680a3 Use BoolVariable for third-party options. 2017-09-25 14:36:30 -04:00
Elliott Sales de Andrade
ffab67b8da Use BoolVariable in target/component/advanced options. 2017-09-25 14:36:02 -04:00
Elliott Sales de Andrade
f9e463bce2 Use EnumVariable for choice-based build options. 2017-09-25 14:36:01 -04:00
Rémi Verschelde
4ac7f5acf9 Merge pull request #11519 from hpvb/fix-gcc-lto
Fix gcc lto

[ci skip]
2017-09-24 13:32:00 +02:00
Rémi Verschelde
df5dab738a Merge pull request #11527 from QuLogic/system-zstd
Enable building against system zstd.
2017-09-24 08:58:38 +02:00
Elliott Sales de Andrade
00c03bdd2b Add support for OpenSSL 1.1.0.
This release hides many struct members which provides easier forward
compatibility but is a break from previous releases. A few small macros
provide compatibility between both 1.1.0 and 1.0.x.

Fixes #8624.
2017-09-24 02:11:02 -04:00
Elliott Sales de Andrade
a408388623 Enable building against system zstd. 2017-09-23 23:46:47 -04:00
Hein-Pieter van Braam
43757fcc85 Fix gcc lto
This repairs LTO on X11 and adds it to MingW targets. The difference in
linktime is substantial, but runtime performance is quite a bit better.
2017-09-23 22:55:26 +02:00
Rémi Verschelde
e8a0c5da77 Merge pull request #11243 from hpvb/add-debug-info-on-release
Create separate debug info files by default
2017-09-21 10:30:17 +02:00
Rémi Verschelde
0eec37e247 Merge pull request #11141 from fcobos/x11_borderless_switch_fix
X11 - Adding borders back to a borderless window was not working.
2017-09-21 10:23:52 +02:00
letheed
5ad9be4c24 Rename pos to position in user facing methods and variables
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:

* pos -> position
* rot -> rotation
* loc -> location

C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Marcelo Fernandez
9a0aa45d5c Fix crash handler not including stdlib.h 2017-09-19 11:21:45 -03:00
Marcelo Fernandez
ff1e0a3e2c Prevent running the crash_handler when a debugger is present on windows 2017-09-18 16:29:23 -03:00
Rémi Verschelde
53bbc046ee Merge pull request #11252 from marcelofg55/fix_noaudio_crash
Fix crash when no audio driver is available
2017-09-17 22:48:22 +02:00
Marcelo Fernandez
3528b1e571 Fix x11 exported executables not getting the +x flag 2017-09-17 14:40:58 -03:00
Hein-Pieter van Braam
88be952fc9 Create separate debug info files by default
Now that we have a built-in stacktrace on a segfault it would be useful
to have debug information on debug_release builds so that bugreports can
include this information. Without this debug info we will still get
function names in the backtrace but not file location.

This commit will by default build all targets with minimal debug info
and then strip the information into separate files. On MacOS this is a
.dSYM file, on Linux/MingW this is a .debug file. MacOSX will
automatically load a dSYM file if it exists in its debugger. On
Linux/MingW we create a 'gnu debuglink' meaning that gdb and friends
will automatically find the debug symbols if they exist.

Existing workflow for developers does not change at all, except that we
now create two instead of one build artifact by default.

This commit also adds a 'debug_symbols' option to X11, MacOS, and MingW
targets. The default is 'yes' which corresponds to -g1. The alternatives
are 'no' (don't generate debug infos at all) or 'full' which runs with
-g2. A target=debug build will now build with -g3.
2017-09-16 12:00:46 +02:00
Thomas Herzog
7dffed485b Merge pull request #11230 from maxim-sheronov/fix_enum_bindings
Fix enums bindings
2017-09-15 08:43:35 +02:00
Andreas Haas
9488f06e4a
X11: Fix gamepads not being added whith udev.
Seems like this property isn't present on some gamepads...
Fixes #10958
2017-09-14 22:50:40 +02:00
Marcelo Fernandez
7a4c0ff35e Fix crash when no audio driver is available 2017-09-13 20:54:55 -03:00
Maxim Sheronov
0fffa45158 Fix enums bindings
Add missed bindings for enums
Move some enums to class to have correct output of api.json
2017-09-13 20:57:07 +03:00
Marcelo Fernandez
83fe937362 Added a crash handler to dump the backtrace on Windows, Linux and OS X 2017-09-13 10:07:23 -03:00
Felix M. Cobos
2e74bf488b Adding borders back to a borderless window was not working. 2017-09-12 18:53:34 +02:00
Felix M. Cobos
3b5ee014bd Hint the window manager to disable desktop compositing in fullscreen mode. 2017-09-09 23:24:19 +02:00
Poommetee Ketson
459f526119 Fix typos 'a' and 'an' 2017-09-02 21:19:06 +07:00
Rémi Verschelde
0cee288c11 Merge pull request #10148 from leezh/pcre2
Replacement of internal RegEx with PCRE2
2017-08-31 11:56:19 +02:00
Hein-Pieter van Braam
d44414c711 Disable -ffast-math for etc2comp
Apparently -ffast-math generates incorrect code with recent versions of
GCC and Clang. The manual page for GCC warns about this possibility.

In my tests it doesn't actually appear to be measurably slower in this
case, and this is used in a batch process so it seems safe to disable
this.

This fixes #10758 and fixes #10070
2017-08-30 11:51:24 +02:00
Rémi Verschelde
7ad14e7a3e Dead code tells no tales 2017-08-27 22:13:45 +02:00
Rémi Verschelde
bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Rémi Verschelde
612099e377 Merge pull request #10591 from Rubonnek/possible-null-ptr-dereference
Added/Fixed null pointer checks
2017-08-27 02:10:56 +02:00
Rémi Verschelde
ea55b400d9 Merge pull request #10598 from Rubonnek/free-memory
Free memory when Main::setup returns an error
2017-08-27 02:10:41 +02:00
Wilson E. Alvarez
7a07895920 Added/Fixed null pointer checks 2017-08-26 16:58:47 -04:00
Wilson E. Alvarez
bd257153dc Free memory when Main::setup returns an error 2017-08-25 21:12:19 -04:00
Wilson E. Alvarez
1577f41653 Fixed several memory leaks 2017-08-25 08:47:05 -04:00
Rémi Verschelde
7f49e2a7a0 Merge pull request #10487 from marcelofg55/curscr_as_default
p_screen param from get_screen_* funcs now default to the current screen
2017-08-22 08:12:04 +02:00
Marcelo Fernandez
63f847b306 p_screen param from get_screen_* funcs now default to the current screen 2017-08-21 18:28:29 -03:00
Wilson E. Alvarez
738d2ab969 Removed unnecessary assignments 2017-08-21 15:15:55 -04:00
Zher Huei Lee
e3e2f06324 Replacement of internal RegEx with PCRE2
The pattern and replacement matching behaviour has been changed purely
due to the nature of switching to a standards-compliant library.

One mistake in the previous behaviour was that named groups didn't have
a number. This has been corrected.

As names are actually just an alias of numbered groups,
RegExMatch::get_name_dict() is now get_names() and is a dict
referring to the group number it represents.

Duplicate names are enabled and the with the first matching instance
used.

Due the lack of a suitable equivalent in PCRE2, RegExMatch::expand() was
removed.
2017-08-19 19:29:14 +08:00
Richard Adenling
398e0930dc Set the X11 class hint before mapping the window
Setting the class hint before mapping the window will allow some
window managers to determine if a window should be treated specially.
This is also in accordance with the ICCCM spec which says that
WM_CLASS should only be changed when a window is in a
withdrawn (unmapped) state.

Fixes #10429
2017-08-19 00:16:46 +02:00
TwistedTwigleg
00f6c85928 Synchronize parameter names in definition and declaration
Fixes #10244.
2017-08-16 17:22:23 +02:00
Rémi Verschelde
2bb8ab7b89 Merge pull request #10045 from marcelofg55/audioserver_finish
Fix double finalisation of audio drivers
2017-08-07 11:11:03 +02:00
Bojidar Marinov
7b7c7c8dc0
Rename KEY_RETURN to KEY_ENTER and KEY_ENTER to KEY_KP_ENTER
Closes #7695
2017-08-06 16:26:07 +03:00
Marcelo Fernandez
1ca107a057 Fix double finalisation of audio drivers 2017-08-02 11:45:19 -03:00
Rémi Verschelde
411f09a512 Merge pull request #9887 from StraToN/power-fix-x11
Fix power management on x11 platform and removes explicit NULL pointer dereference
2017-07-27 08:53:27 +02:00
Julian Murgia
71dcb7fcc4 Fixes power management on x11 platform and removes explicit NULL pointer dereference. 2017-07-26 23:29:51 +02:00
bruvzg
7de7ca8ae4 Remove duplicate keycode constant for Numpad Enter key. 2017-07-26 14:43:02 +03:00
Jia Wang
2f5b7f8777 Workaround to allow pasting unicode characters from X selection.
Fixes #2491.
Fixes #9787.
2017-07-25 08:00:48 +08:00
Juan Linietsky
25678b1876 -Renamed GlobalConfig to ProjectSettings, makes more sense.
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Marcelo Fernandez
11dbca419c Fix fullscreen on X11 for non-resizable windows 2017-07-13 13:08:38 -03:00
geequlim
7358766ff6 IME window follow the input cursor.
Abstruct set_ime_position to OS class.
Update ime position for LineEdit and TextEdit.
2017-07-11 18:36:20 +08:00
Poommetee Ketson
2fd204c35e Refactor 'treshold' to 'threshold' 2017-07-08 22:24:56 +07:00
Marcelo Fernandez
c3563b266f Implemented borderless window functions on Linux. 2017-07-05 12:19:24 -03:00
Rémi Verschelde
a2586a2119 Merge pull request #9396 from sowfelicity/x11-ime-echo
Workaround for IME and echo events on Linux (fixes #29 #7106 #9381):
2017-07-03 23:48:57 +02:00
Rémi Verschelde
e91a267a7c Buildsystem: Improve detect.py readability and fix issues
Tried to organize the configure(env) calls in sections, using the same order
for all platforms whenever possible.

Apart from cosmetic changes, the following issues were fixed:
- Android: cleanup linkage, remove GLESv1_CM and GLESv2
- iPhone: Remove obsolete "ios_gles22_override" option
- OSX:
  * Fix bits detection (default to 64) and remove obsolete "force_64_bits" option
    (closes #9449)
  * Make "fat" bits argument explicit
- Server: sync with X11
- Windows: clean up old DirectX 9 stuff
- X11:
  * Do not require system OpenSSL for building (closes #9443)
  * Fix typo'ed use_leak_sanitizer option
  * Fix .llvm suffix overriding custom extra_suffix
2017-07-01 08:20:51 +02:00
Jia Wang
098a888ec0 Workaround for IME and echo events on Linux:
Request detectable auto-repeat (Require XKB extension) to support
    echo events and IME at the same time. Fixes #29, #7106 and #9381.
2017-06-29 19:26:06 +08:00
Juan Linietsky
e79e135841 Revert "Workaround for IME on Linux." 2017-06-25 20:09:16 -03:00
Rémi Verschelde
87fd71244b Merge pull request #9334 from Noshyaar/pr-genh
BuildSystem: generated files have .gen.extension
2017-06-25 11:08:36 +02:00
Poommetee Ketson
e3998528e0 BuildSystem: generated files have .gen.extension 2017-06-25 07:55:01 +07:00
Jia Wang
41029eb1f0 Workaround for IME on Linux(fixes #29 #7106):
Workaround for supporting input method frameworks like SCIM,
    IBus, Fcitx, etc.

    The locale is set when the application starts.

    Workaround for input when the input context within the specified
    input method is not available.
2017-06-25 08:17:56 +08:00
Juan Linietsky
612ab8fcdb -Restored multithread capability to VisualServer
-Restored resource previews!
2017-06-09 00:24:18 -03:00
Andreas Haas
9bc5348961
InputEvent: Renamed "pos" property to "position"
Make the naming consistent with other classes.
2017-06-03 11:26:39 +02:00
Andreas Haas
d6333066fc
X11: Turn warning about not finding cursor theme into verbose output.
Failing to get the cursor theme should not cause any issues since we're then using the default one anyway.
So I removed the warning and made it a verbose-only print instead, as people tend to mistake it for a real error..
(pretty much like `iCCP: known incorrect sRGB profile` :P)
2017-05-29 20:41:18 +02:00
Juan Linietsky
5b3709d309 Removal of InputEvent as built-in Variant type..
this might cause bugs I haven't found yet..
2017-05-20 17:05:38 -03:00
Juan Linietsky
98a3296702 Removal of Image from Variant, converted to a Resource. 2017-05-17 07:37:45 -03:00
Rémi Verschelde
c8aea60324 Improve documentation of thirdparty code snippets 2017-05-07 11:42:37 +02:00
Rémi Verschelde
2976801012 X11: Abort build if using OpenSSL 1.1.0+
Workaround until #8624 is fixed.
2017-05-06 19:01:10 +02:00
Rémi Verschelde
515f92d03b Fix property warnings and hide some debug prints
"ALL IS GOOD" was a lie.

In particular, removes verbose "path not recognized" false positive.

The actual logic is to (somewhat naively) check all ResourceFormatLoaders
and to pick the first good match, so no need to warn about the formats
that do not match the type hint.
2017-04-23 11:17:32 +02:00
Sergey Pusnei
8589ca3903 Rename [gs]et_pos to [gs]et_position for Controls
Control set_pos -> set_position
Control set_global_pos -> set_global_position
[gs]et_mouse_pos -> [gs]et_mouse_position
[gs]et_global_mouse_pos -> [gs]et_global_mouse_position
fixes #8005
2017-04-10 08:27:34 +02:00
Rémi Verschelde
df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Juan Linietsky
ce948ed63b Revert "8145 - Mouse Position is unknown until first mouse event on X11" 2017-04-06 13:08:42 -03:00
Sergey Pusnei
c79e998d1f 8145 - Mouse Position is unknown until first mouse event on X11 & Win
- X11 update input->pos on EnterNotify
- X11 & Win call first-time events processing before main initialization
2017-03-28 19:18:40 -04:00
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
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
Anton Yabchinskiy
52f1bab6d5 Include stdlib.h for alloca() on OpenBSD 2015-11-20 23:35:53 +03:00
Anton Yabchinskiy
0931eed7be Enable ALSA only for Linux 2015-11-20 23:35:19 +03:00
Juan Linietsky
2769da7744 compile fixes 2015-11-19 20:24:43 -03:00
Juan Linietsky
dd09215c90 Revert "libao audio driver" 2015-11-19 20:05:26 -03:00
Juan Linietsky
43ce972ddb Merge pull request #903 from a12n/libao
libao audio driver
2015-11-19 19:31:56 -03:00
Anton Yabchinskiy
3b9868d2e4 Merge branch 'master' of github.com:okamstudio/godot 2015-11-02 20:25:01 +03:00
Saracen
e723488aa3 Moved deleting sample player in OS finalize methods to before deleting audio server to prevent crash when exiting. 2015-11-02 16:36:41 +00:00
Phobos Tro
2d2ab92680 Made the Atom net_wm_icon local 2015-10-26 01:36:27 +08:00
Phobos Tro
746ef7cbd6 Fixing memory leaks 2015-10-25 22:15:56 +08:00
Juan Linietsky
97f483af0a fixes broken 3D in editor 2015-10-17 23:05:39 -03:00
Juan Linietsky
4a8bc25f18 Merge pull request #2485 from masoudbh3/fix-x11-editor-boot-splash
Fix X11 Editor Boot Splash (Maximized Boot Splash)
2015-10-17 10:12:34 -03:00
Juan Linietsky
b3cda43a0f Merge branch 'master' of https://github.com/okamstudio/godot
Conflicts:
	platform/windows/detect.py
2015-10-13 01:19:32 -03:00
Juan Linietsky
c858515785 Fixed theora playback. Removed theoraplayer.
Still need to get proper audio output latency in some platforms.
2015-09-26 14:50:42 -03:00
Juan Linietsky
9962518ffd Merge branch 'master' of https://github.com/okamstudio/godot 2015-09-24 18:07:13 -03:00
Juan Linietsky
82a3304458 Added ability to set custom mouse cursors. Not hardware accelerated yet. 2015-09-24 18:06:15 -03:00
Juan Linietsky
ce6fefced8 Properly implement OS.alert() from script, and use xmessage on X11 2015-09-21 09:39:46 -03:00
masoud bh
3c466afb68 Fix X11 Editor Boot Splash 2015-09-17 05:19:43 +04:30
Juan Linietsky
56c907ad04 fix to builtin freetype defines on linux 2015-09-10 22:15:00 -03:00
Juan Linietsky
751202768c fix to freetype detection 2015-09-10 21:40:34 -03:00
Juan Linietsky
cf57a654d7 new editor settings customization of where to run the game from the editor 2015-08-30 23:36:46 -03:00
Juan Linietsky
3a59747c62 -fixes to capture mode
-ability to drag spinboxes and tree ranges to change values, like in Unity or Unreal
2015-08-29 01:43:21 -03:00
Juan Linietsky
700fdf5c0c fix build issue with ssl, closes #2384 2015-08-23 20:54:13 -03:00
Juan Linietsky
e1e54d39e4 damn github built-in editor 2015-08-21 22:33:49 -03:00
Juan Linietsky
2de5e12116 fix for built-in ssl (easier to build 32 bits export) 2015-08-21 22:31:06 -03:00
Anton Yabchinskiy
dc8df8a91a Merge branch 'master' of github.com:okamstudio/godot 2015-07-29 23:01:36 +03:00
Jari Ronkainen
983fd0dfc3 Use tabs instead of spaces. 2015-07-23 19:35:47 +03:00
Jari Ronkainen
8027a3f004 Fix audio driver setup if the first driver fails. 2015-07-23 19:32:10 +03:00
Juan Linietsky
4e46143499 some optimizations in godot memory handling 2015-06-12 18:27:48 -03:00
Juan Linietsky
9df77d2765 ability to run 2D physics in a thread
also, 2D physics is now thread safe too.
see physics_2d/thread_model
2015-05-26 01:06:05 -03:00
Rémi Verschelde
5f0bb18d55 Fix building release target with debug symbols
This forced the -g2 CCFLAG in release builds, making them relatively heavy.
Fixes #1781.
2015-05-22 22:19:16 +02:00
ehriche
897a1aade5 optional formal changes 2015-05-06 01:22:31 +02:00
Juan Linietsky
21939ce08b -some cleanups
-added tesselation function to curve and curve2d
2015-04-30 10:06:18 -03:00
Juan Linietsky
59154cccf9 -Changed Godot exit to be clean.
-Added more debug information on memory cleanliness on exit (if run with -v)
-Fixed several memory leaks, fixes #1731, fixes #755
2015-04-20 19:38:02 -03:00
Juan Linietsky
fdaa2920eb Updated copyright year in all headers 2015-04-18 14:38:54 -03:00
Juan Linietsky
2dfa1279ea improved save path error messages for scene, textures and audio, fixes #1514 2015-04-12 16:45:59 -03:00
Juan Linietsky
87c51b6fc0 Modified OSX11 to try alternative audio drivers if pulseaudio does not work or user dislikes lennart potering , fixes #1511 2015-04-12 16:11:26 -03:00
Anton Yabchinskiy
16746f157f Merge branch 'master' of github.com:okamstudio/godot 2015-04-04 09:31:21 +03:00
rollenrolm
ca0b3ce1f6 New API: build fixes for x11 2015-03-23 01:31:38 +01:00
Juan Linietsky
c68563aeb4 Merge pull request #1542 from jotson/wmclass
Reverted change to classHint
2015-03-22 19:18:44 -03:00
Juan Linietsky
23e13ce3c2 fixes to new window management API
-needs testing on Linux
-needs testing on Windows
-NEED SOMEONE TO IMPLEMENT IT ON OSX!! PLEASE HELP!
2015-03-22 19:00:50 -03:00
John Watson
182c86de3f Reverted change to classHint
Using `char wmclass[] = "Godot"` causes `xprop` to report the
following for WM_CLASS:

`WM_CLASS(STRING) = "\200\326\322\365\377\177", "\200\326\322\365\377\177"`

This makes the Unity window manager fail to connect the running app
with the icon on the launcher.
2015-03-22 14:05:24 -07:00
hurikhan
52a4e8495c fix introduced bug 2015-03-08 04:24:21 -05:00
Anton Yabchinskiy
e024ff89b2 Merge branch 'master' of https://github.com/okamstudio/godot 2015-02-17 15:57:24 +03:00
hurikhan
f5d2e1f42c Renamed EXPERIMENTAL_WM_API to NEW_WM_API 2015-02-15 18:26:49 +08:00
hurikhan
ee81d4b359 Merge remote-tracking branch 'upstream/master' into x11-window-management 2015-02-15 17:49:34 +08:00
Juan Linietsky
d2f86cc09b fixes to mouse warp
-can warp now from viewport and control, in their respective coordinate
systems
-warp is now local to the window on Windows and OSX.

IF YOU RUN OSX, PLEASE TEST THIS! And make sure it works!, new code is
in OS_OSX::warp_mouse_pos. I don't have OSX so i can't test!
2015-02-14 19:22:06 -03:00
hurikhan
a13e180052 Merge remote-tracking branch 'upstream/master' into x11-window-management 2015-02-12 15:58:29 +01:00
hurikhan
df7d26ff5b cleanup + MouseGrab 2015-02-12 15:58:00 +01:00
sambler
8baa00a6e4 Adjust x11/detect.py
Test if clang is defined in CC/CXX/LD - this allows a specific version of clang to be defined
move appending -DTYPED_METHOD_BIND to keep clang options together
move sanitize option out of use_llvm test, gcc48+ also supports sanitize=address
2015-01-27 20:40:17 +10:30
hurikhan
94d94a0855 * fix compilation without scons experimental_wm_api=yes
* Extended the demo with an addional MouseGrab Test
2015-01-22 01:14:50 +09:00
hurikhan
dfb5a1d5e1 * multi_screen testing + bugfixes
* ALT-TAB is working
* tested on Ubuntu 14.10 Unity + LXDE
* minor cleanup
2015-01-18 00:28:04 +09:00
Anton Yabchinskiy
fa38e9b838 Merge branch 'master' of github.com:okamstudio/godot 2015-01-17 18:27:08 +03:00
hurikhan
dee27ce991 Merge remote-tracking branch 'upstream/master' into x11-window-management 2015-01-17 22:19:57 +09:00
Juan Linietsky
7ac7956baf Merge pull request #1188 from hurikhan/scons_colored
Scons colored
2015-01-17 09:47:02 -03:00
hurikhan
f1dc00e380 * cleanup window state handling
* first attemps in handling ALT+TABa (WIP)
2015-01-17 19:43:12 +09:00
hurikhan
6185949f6a Make it set_minimized() + set_maximized() work in both worlds: Unity and LXDE 2015-01-17 02:36:07 +09:00
hurikhan
716971655e added the following methods:
* set_minimized(bool)
 * bool is_minimized()
 * set_maximized(bool)
 * bool is_maximized()
2015-01-17 00:18:45 +09:00
hurikhan
f1b9953d0b fixing the warnings in os_x11.cpp 2015-01-16 14:44:41 +09:00
Nathan Warden
c2ffdb05d4 Set the default Linux extension to nothing. 2015-01-15 13:00:33 -05:00
hurikhan
d269344bbd WIP -- set_resizable() + is_resizable added 2015-01-15 22:50:23 +09:00
Anton Yabchinskiy
d6998995b5 Merge branch 'master' of github.com:okamstudio/godot
Conflicts:
	platform/x11/detect.py
2015-01-14 23:17:15 +03:00
hurikhan
8a30feebbe Merge remote-tracking branch 'upstream/master' into x11-window-management
Conflicts:
	platform/x11/detect.py
2015-01-14 13:31:16 +08:00
hurikhan
7222e195e5 minor cleanup 2015-01-14 13:19:27 +08:00
hurikhan
790d8ecbb9 get_screen() + set_screen() added 2015-01-14 12:02:59 +08:00
Juan Linietsky
823d7ae3b5 Merge branch 'master' of https://github.com/okamstudio/godot 2015-01-13 11:23:05 -03:00
Juan Linietsky
7c7ab30c4e fixes 2015-01-13 11:22:56 -03:00
hurikhan
f55c0e9285 Using Xinerama extension for getting screen info 2015-01-13 21:01:24 +08:00
hurikhan
ce7c7a862e get_screen_position() added 2015-01-13 17:25:50 +08:00
hurikhan
c0d3632667 introduced the scons experimental_wm_api switch:
================================================

Usage:
    scons p=x11 experimental_wm_api=yes
2015-01-13 15:44:39 +08:00
hurikhan
f9a4e6890b SCons: colored compilation 2015-01-12 12:54:17 +08:00
hurikhan
f9d0de0d2a get_screen_size() added 2015-01-11 19:35:53 +08:00
hurikhan
3c8b047b11 get_screen_count() added 2015-01-11 18:52:42 +08:00
hurikhan
466e251abe get_window_size() + set_window_size() added 2015-01-11 17:36:56 +08:00
hurikhan
ac558c15ea get_window_position() + set_window_position() added 2015-01-11 15:47:27 +08:00
hurikhan
291d7992ce Merge branch 'master' into x11-fullscreen 2015-01-11 08:06:31 +08:00
Juan Linietsky
8997084831 2D Rewrite Step [1]
-=-=-=-=-=-=-=-=-=-

-Moved drawing code to a single function that takes linked list (should make it easier to optimize in the future).
-Implemented Z ordering of 2D nodes. Node2D and those that inherit have a visibility/Z property that affects drawing order (besides the tree order)
-Removed OpenGL ES 1.x support. Good riddance!
2015-01-10 17:35:26 -03:00
hurikhan
a8e3c5c0b7 First attempt of restoring the window at the old position 2015-01-11 01:07:23 +08:00
hurikhan
5d9de48d8d Make fullscreen-switching is working with LXDE/Openbox 2015-01-10 21:50:31 +08:00
hurikhan
0d2ec19082 API change to set_fullscreen(enabled,screen) 2015-01-10 18:38:30 +08:00
hurikhan
cd90215cec Make GDScript-Function ( bool OS.is_fullscreen() ) work 2015-01-10 16:01:01 +08:00
hurikhan
97d290e466 x11-fullscreen support through GDScript( OS.set_fullscreen(bool) ) 2015-01-10 15:47:34 +08:00
Anton Yabchinskiy
4ab1bcde35 Merge branch 'master' of github.com:okamstudio/godot
Conflicts:
	drivers/SCsub
	platform/x11/detect.py
	platform/x11/os_x11.h
2014-12-23 23:44:07 +03:00
Juan Linietsky
f7f197c409 -ability to set default textures in shader (needed for visual shader editing)
-work in progress new graph system (will replace current one)
-crash fix in s3m loader (out of bounds acess)
-fixed vbox overriding of separation (fixes empty line between section tabs)
2014-12-21 11:42:44 -03:00
Alexander Stillich
f2843209a5 Implemented PulseAudio backend and fixed audio driver selection on X11 2014-12-19 13:44:34 +01:00
Anton Yabchinskiy
99676d7e74 Merge branch 'master' of https://github.com/okamstudio/godot 2014-12-04 16:32:43 +03:00
Juan Linietsky
e361e8539c -Ability to ask for documents/pictures/etc system dirs.
-Fixes to animationplayer
-fixes to collada importer
2014-12-02 14:02:41 -03:00
Anton Yabchinskiy
e696dba522 Merge branch 'libao' 2014-11-22 17:43:20 +03:00
Anton Yabchinskiy
c26a1b9d7b Use libao driver on X11 platform 2014-11-22 13:37:50 +03:00
Anton Yabchinskiy
7ed9a8a007 Disable X11 joystick functions also for OpenBSD 2014-11-22 13:23:38 +03:00
Anton Yabchinskiy
c7ff604164 Include string.h for memset() on OpenBSD 2014-11-22 13:23:31 +03:00
Anton Yabchinskiy
e136033e1c Include stdlib.h for alloca() on OpenBSD 2014-11-22 13:23:22 +03:00
Anton Yabchinskiy
4a1fd94f0d Enable ALSA only for Linux 2014-11-22 13:23:12 +03:00
Gerold31
ab0974448b Fix compilation error on 32-bit linux 2014-11-09 10:09:41 +01:00
Juan Linietsky
e82dc40205 -Much improvement to baked light baker
-Fixed many bugs in stretch mode
-Fixes to camera project and unproject as consequence of the above
-added setget to script (documented in script doc)
-more fixes to collada exporter for blender
2014-10-27 22:54:32 -03:00
Juan Linietsky
0fa94a9690 Build System Changes
-=-=-=-=-=-=-=-=-=-=

Build System:
-Big clean up of SCons, changed how builds are done to a much cleaner method (check the Github Wiki for instructions).
-Deactivated BlackBerry10 (sorry), if no mantainer found (or BlackBerry does not send us a Passort ;), platform will be removed as we have no longer devices to test.

Engine:
-Removed deprecated object and scene format (was in there just for compatibility, not in use since a long time).
-Added ability to open scenes even if a node type was removed (will try to guess the closest type).
-Removed deprecated node types.
2014-10-07 01:31:49 -03:00
Juan Linietsky
0a557f3bf5 - more fixes on #672 on windows
- added #660, but need help on osx, help please I don't have a mac!
- fixed #667 and #668 (eol detection in comments)
- added #670 (hint when using method without () )
2014-09-19 21:01:41 -03:00
Juan Linietsky
337fe6770f Merge pull request #635 from adolson/wutf
removed output "WUTF" when show/hide mouse cursor
2014-09-17 09:58:17 -03:00
Dana Olson
29fa278c6a re-added old method for openbox/lxde (possibly others) 2014-09-16 03:22:29 -04:00
Dana Olson
103cc7ffda cleanup 2014-09-16 02:49:31 -04:00
Dana Olson
f93712d0ae removed old method 2014-09-16 02:01:35 -04:00
Dana Olson
fb7e27f9ed fullscreen fix on ubuntu 2014-09-16 01:40:03 -04:00
Dana Olson
dbae857b29 borderless fullscreen window support for x11
move disable resize x11 code from context_gl to os_x11
2014-08-25 02:54:38 -04:00
Dana Olson
3c99d58a39 removed output "WUTF" when show/hide mouse cursor 2014-08-20 16:48:24 -04:00
Juan Linietsky
678948068b Small Issues & Maintenance
-=-=-=-=-=-=-=-=-=-=-=-=-=

-Begin work on Navigation Meshes (simple pathfinding for now, will improve soon)
-More doc on theme overriding
-Upgraded OpenSSL to version without bugs
-Misc bugfixes
2014-08-01 22:10:38 -03:00
reduz
5f5cd5e6d1 Merge pull request #445 from Raventara/master
added XClassHint to windows in OS_X11::initialize
2014-06-11 01:21:35 -03:00
Juan Linietsky
1cad087969 Making Godot Easier to Use..
-=-=-=-=-=-=-=-=-=-=-=-=-=-=

-Auto indenter in code editor, this makes it much easier to paste external code.
-Zoom in 2D viewport now uses the mouse pointer as reference.
-Obscure hack to see where code/line of GDScript in C++ backtrace.
-Fixed a bug where keys would get stuck on X11 if pressed simultaneously
-Added Api on IP singleton to request local IPs.
-Premultiplied alpha support when importing texture, editing PNGs and as a blend mode.
2014-05-24 01:35:47 -03:00