Commit graph

281 commits

Author SHA1 Message Date
Marcelo Fernandez
150423203b Added OS::center_window to center the window precisely on desktop platforms
(cherry picked from commit ea1d726a46)
2018-02-19 22:14:05 +01:00
Ariel Manzur
81426ff0a8 - Improves portability in joystick buttons enum
- Fixes linking bug in modules split library
2018-01-24 19:12:54 -03:00
Rémi Verschelde
e4213e66b2 Add missing copyright headers and fix formatting
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-05 01:22:23 +01:00
Emmanuel Leblond
e315c94900 Change OS::initialize signature to return Error (fix segfault on x11) 2018-01-04 15:15:55 +01:00
firefly2442
f066991aa7 found via cppcheck:
remove code that will never run
make definition and declaration names for parameters match
change floats that were being set to bool values
remove pointer that is never used
2018-01-03 21:23:48 -07:00
Rémi Verschelde
6322b0bbb7
Merge pull request #12814 from guilhermefelipecgs/add_hardware_custom_cursor
Custom hardware-accelerated mouse cursor
2018-01-03 08:35:59 +01:00
Rémi Verschelde
b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Juan Linietsky
988d29bdd8 Reimport now checks source path changes and imported files and their md5, fixes #14728 2017-12-27 15:22:04 -03:00
Juan Linietsky
4a2eef4ad8 Removed the InputEvent ID field, which was unused and can cause bugs. 2017-12-26 09:49:31 -03:00
Juan Linietsky
021f3c924b -Removed OpenMP support, replaced by a custom class.
-Disabled Opus, implementation is wrong.
2017-12-24 09:32:12 -03:00
Guilherme Silva
a392dbdbe3 Add implementation for custom hardware cursor 2017-12-17 13:40:29 -02:00
Rémi Verschelde
6afb90c846
Merge pull request #14635 from poke1024/getline
Faster FileAccess::get_line()
2017-12-17 14:24:07 +01:00
Juan Linietsky
652c98a7be Add epic hack so vsync can be toggled in run-time from script. Fixes #14458.
Call needs to be routed via visual server to reach the proper thread.
2017-12-16 17:11:02 -03:00
poke1024
a3f1ed9af9 Faster FileAccess::get_line() 2017-12-16 16:27:21 +01:00
Ruslan Mustakov
9d6d20e67c Remove get_stack_bottom
It's not used in godot-nim any longer and there were no other uses for
it.
2017-12-16 13:10:26 +07:00
Rémi Verschelde
fb84b49d87 Fix type mismatch in OS::set_borderless_window
Closes #14663.
2017-12-14 19:16:20 +01:00
Juan Linietsky
f3ad14224e -Add lightmapper
-Fixes to unwrapper (remove degenerates), makes Thekla not crash
-Added optional cancel button in EditorProgress
-Added function to force processing of events (needed for cancel button)
2017-12-14 09:01:27 -03: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
d5ca9e2f6f Style: Apply clang-format again on all files
Fixes issues introduced by newer clang-format versions or commits
pushed directly without using the clang-format pre-commit hook.
2017-12-07 08:02:00 +01:00
Pedro J. Estébanez
7fb9508cfa Fix Windows-to-Linux export error
Now chmod() returns ERR_UNAVAILABLE by default, to signal the caller the problem is lack of support instead of a failed operation.
2017-12-06 20:46:38 +01:00
Juan Linietsky
9678231b10 Changed the dynamic library open function to allow setting the path of the library to open extra libraries. 2017-11-30 10:00:55 -03:00
Rémi Verschelde
af9c67db0c Allow customizing user:// path (folder in OS::get_data_path())
This allows to specify any valid folder name (including with subfolders) to use
as user:// on all platforms. The folder is constrained to the platform-specific
OS::get_data_path() (typically what `XDG_DATA_HOME` resolves to).

Fixes #13236.
2017-11-26 19:02:32 +01:00
Juan Linietsky
bc2e8d99e5 Made Vector::ptrw explicit for writing, compiler was sometimes using the wrong function,
leading to unnecesary copy on writes and reduced performance.
2017-11-25 00:09:40 -03:00
Andreas Haas
c76a9b99b0
Core: Bind InputEventGesture events. 2017-11-24 19:23:04 +01:00
Juan Linietsky
62d86b1588 Modified low processor sleep to 8000 and made it customizable (should be customizable for editor too) 2017-11-22 14:41:45 -03:00
Rémi Verschelde
bedcbdd420
Merge pull request #13130 from endragor/gdnative-android-export
Proper GDNative export on Android
2017-11-21 23:59:01 +01:00
Juan Linietsky
30dadb1228
Merge pull request #11933 from cxong/master
Use "Command" instead of "Meta" for macOS (#1619)
2017-11-21 14:25:09 -03:00
Ruslan Mustakov
ebf9b80a47 Proper GDNative export on Android 2017-11-21 20:40:31 +07:00
Rémi Verschelde
6c9ee1f125
Merge pull request #13133 from endragor/resurrect-file-logging
Return and repair file logging
2017-11-21 14:25:33 +01:00
Ruslan Mustakov
d42c5646a5 Return and repair file logging
And make it configurable, too.
2017-11-21 16:43:44 +07:00
Bernhard Liebl
80ad8afc85 Native pan and zoom for macOS 2017-11-21 09:11:39 +01:00
Ruslan Mustakov
8f0f327f02 Allow configuring iOS export
- EditorExportPlugin's _export_begin accepts all the arguments related
   to the current export (is_debug, path, flags).

 - EditorExportPlugin API is extended with methods allowing to configure
   iOS export: add_ios_framework, add_ios_plist_content,
   add_ios_linker_flags, add_ios_bundle_file.

 - iOS export template now contains Godot as a static library so that
   it can be linked with third-party Frameworks and GDNative static
   libraries.

 - Adds method to DirAccess for recursive copying of a directory.

 - Fixes iOS export to work with Xcode 9 (released recently).
2017-11-21 01:16:49 +07: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
4d5b82811f
Merge pull request #13006 from hoelzl/pr-placement-delete
Add placement deletes to avoid warnings on VC++
2017-11-20 13:16:23 +01:00
Rémi Verschelde
6947bed015 Pass engine name and version parts as proper strings
Removes the need for _MKSTR all over the place which has the drawback of
converting _MKSTR(UNKNOWN_DEFINE) to "UKNOWN_DEFINE" instead of throwing
a compilation error.
2017-11-20 00:51:14 +01:00
Matthias Hoelzl
4c76c6892c Add placement deletes to avoid warnings on VC++
When compiling with VC++ 2017, Godot generates huge numbers of
C4291 warnings about missing placement delete.

I have not found a way to disable these warnings using compiler
options: AFAICT there is no equivalent to `-f-no-exceptions` for
VC++ (there is only /EH to change the exception-handling model,
/GX is deprecated) and adding /wd4291  to the
`disable_nonessential_warnings` list in the `SConstruct` file
or even compiling with `warnings=no` does not disable the
messages.

Placement delete is only called when placement new throws an
exception, since Godot doesn't use exceptions this change should
have no runtime effect.

Fixes #12654 (probably, difficult to say without log)
2017-11-19 21:25:18 +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
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
Rémi Verschelde
ed57f0a0d4 Remove get_default_video_mode definition on OSX/iOS
It had been missed in d09160a8b6 and broke compilation
for those platforms.

Took the opportunity to run clang-format on the code base to fix some corner cases
that went through our static tests/were overlooked recently.
2017-11-09 23:36:08 +01:00
Juan Linietsky
d09160a8b6 Make video mode initialization more intuitive, fixes #12022 2017-11-09 13:02:26 -03:00
Bastiaan Olij
2a230d571d Increase joystick axis from 8 to 10 2017-11-08 19:56:30 +11:00
N0hbdy
f3fc07272c Add Colemak keybindings to editor for osx 2017-10-30 22:51:02 +01:00
santouits
55fae24710 Fix x11 boot logo position in fullscreen and in maximized 2017-10-26 01:06:26 +03:00
jagt
4e94292573 move button/joy constants to enums 2017-10-23 13:36:50 +08:00
Poommetee Ketson
8265ff4c20 Bind MainLoop.notif_wm_go_back_request 2017-10-22 14:07:24 +07:00
Patrick Yates
c433d83d81 Fix InputEventJoypadMotion::action_match for 0 axis values.
Make action_match ignore the sign if axis value is 0.
This means that an axis value of 0 will match actions defined for both positive and negative values, as expected.

Fixes #12223
2017-10-21 16:06:24 +11:00
Rémi Verschelde
20a32d6a2e Merge pull request #12039 from Hinsbart/expose_joy_connection
Input: expose joy_connection_changed()

[ci skip]
2017-10-11 23:01:33 +02:00
Andreas Haas
8f1ed9aaee
Input: expose joy_connection_changed() 2017-10-11 18:55:57 +02:00
Rémi Verschelde
e8b9cca614 Merge pull request #11810 from marcelofg55/osx_export_improv
OS X export code improvements
2017-10-09 12:20:39 +02:00
Cong
dd684eaaa0 Use "Command" instead of "Meta" for macOS (#1619) 2017-10-08 17:23:05 +10:00