Commit Graph

437 Commits

Author SHA1 Message Date
Hugo Locurcio 55a2bffac9
Always detect and use hiDPI in the project manager if needed
This makes its hiDPI behavior consistent with the editor.
2018-02-13 22:35:20 +01:00
Brandon DeRosier ae579a256e
Add Xbox One Elite and Xbox 360 Afterglow pads 2018-02-13 00:43:54 -08:00
Zephilinox 1c473a47e5 Print FPS setting now only prints the game FPS 2018-01-23 23:40:24 +00:00
volzhs 56d4456bea Rename Fixed Fps to Physics Fps on Project Settings
Fixes #15981
2018-01-23 06:01:31 +09:00
Rémi Verschelde 9f479f096c Fix typos in code and docs with codespell
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
Mariano Suligoy ff59c562f7 Fix crash when closing the editor 2018-01-16 22:27:40 +01:00
Paul Joannon 3f8a4cc719 Fix bug when launching a game with no main scene
Check for a main scene after loading project settings and exit if there's none (except if launching in editor mode).
2018-01-15 12:52:54 +01:00
Ruslan Mustakov 5092098947 Destroy AudioServer after other non-core types are unregistered
This is important for some GDNative bindings and probably for Mono. They
may keep references to audio objects which are freed when they are
unregistered. If AudioServer is already deleted at that point, it causes
segfaults.
2018-01-11 17:03:38 +07:00
Rémi Verschelde 42ee9541fd
Merge pull request #15297 from poke1024/runner-limit-errs
Limit number of errors and messages sent by runner
2018-01-07 12:38:08 +01:00
Pedro J. Estébanez ee2c31d306 Add new window setting: always on top
Implemented for Windows and Linux.
2018-01-05 21:31:04 +01: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
Bernhard Liebl c7c764220c Limit number of errors and messages sent by runner 2018-01-03 17:23:09 +01: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
Andreas Haas 3434971496
Editor: Respect -w command line flag. 2017-12-29 20:10:15 +01:00
Chong-U Lim 0f223783dc Fix editor crash on "save and exit" bug
If a scene is modified and a user closes the editor and selects the "Save
and exit" option in the modal dialog -- the editor crashes. This appears
to be a result of the message queue being memdeleted AFTER visual servers
have been destroyed. Remnant textures handled by the message queue throw a
NRE when their own ~Texture destructors reference the visual servers.

This fixes bugs: #12946 and #12813.
2017-12-20 08:34:04 +00:00
Hein-Pieter van Braam 7a10d3ab78 Correct license headers in main.cpp and voxel_light_baker.cpp
Sorry for the churn
2017-12-20 01:04:30 +01:00
Hein-Pieter van Braam 9fa5a588f0 Fix lightbaker clang-format issue and add license headers 2017-12-20 01:02:03 +01:00
Juan Linietsky fc103566e6 Added font oversampling support 2017-12-19 18:48:30 -03:00
Guilherme Silva a392dbdbe3 Add implementation for custom hardware cursor 2017-12-17 13:40:29 -02:00
Juan Linietsky db22aec51a fixed reference to splash file 2017-12-16 16:20:36 -03:00
Juan Linietsky cf84ee22a9 Added custom editor splash (including sponsor logo). 2017-12-16 16:11:13 -03:00
Andrew Silver 47e866e748 Updated input_default.cpp again (new maps take priority)
Fixes #14639
2017-12-14 22:24:53 +01:00
Juan Linietsky 93a63a5e1a GDScript files are converted to binary on export now. 2017-12-14 15:34:47 -03:00
Andrew Silver 15a501b113 Updated controller mappings for windows/mac/linux 2017-12-10 16:58:34 +01:00
Daniel J. Ramirez 38f6fdf007 Added splash screen with sponsors 2017-12-09 19:37:59 -06: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
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
Juan Linietsky 9cf44c1c53 Disable logger by default. 2017-11-26 14:58:30 -03: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
Juan Linietsky 640856f4d4
Merge pull request #11895 from m4nu3lf/rendering/separate_thread
Restore rendering on a separate thread
2017-11-21 14:31:14 -03: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
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 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
Rémi Verschelde d40b1825fc Revert "change low cpu delay to 1 usec, should make editor smoother and not really use"
This reverts commit ca19403306.

See discussion in ca19403306 (commitcomment-25715906)
It also did not fix the issue it claimed to fix.
2017-11-19 21:40:25 +01:00
Rémi Verschelde 992a40a50d
Merge pull request #12961 from eska014/platform-doc
Facilitate documenting platform-exclusive classes
2017-11-19 16:19:47 +01:00
m4nu3lf 871c47a2bb Restore rendering on a separate thread 2017-11-18 18:35:25 +00:00
Leon Krause 63b1a096eb Facilitate exposing platform-exclusive interfaces to all platforms
This makes the interfaces available, without implementation, in other
platforms and the editor, which facilitates documenting platform-exclusive
classes.

Platform-exclusive APIs must be set up in platform/<platform>/api/api.cpp.
Provide noop method-implementations where necessary.

Also setup and document the HTML5 platform's JavaScript singleton.
2017-11-18 03:54:21 +01:00
Juan Linietsky ca19403306 change low cpu delay to 1 usec, should make editor smoother and not really use
a lot more cpu. Fixes #11030
2017-11-17 21:22:37 -03:00
Rémi Verschelde 4cfc29611e GDScript: Refactor "GD" class prefix to "GDScript" 2017-11-16 18:54:56 +01:00
Leon Krause 9b7b46143d Move singleton management from ProjectSettings to Engine 2017-11-14 15:15:13 +01:00
Juan Linietsky 192a4d7de5 Reworked how servers preallocate RIDs, should fix #10970 2017-11-09 23:35:34 -03:00
Juan Linietsky 5cb1d064bc fixes to initialization order 2017-11-09 13:56:13 -03: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
santouits 55fae24710 Fix x11 boot logo position in fullscreen and in maximized 2017-10-26 01:06:26 +03:00
Daniel J. Ramirez a97c8504fb Improved monitors units and colors. 2017-10-23 02:11:02 -05:00
Poommetee Ketson 9cadb9e5f3 Bind unbound enums, rearrange some by value 2017-10-22 01:58:02 +07:00
Poommetee Ketson 9b634180aa Refactor Fixed to Physics 2017-10-21 21:28:08 +07:00
geequlim eeacae563c Fix window display shrink can't set to float numbers 2017-10-20 12:52:18 +02:00
Rémi Verschelde 4b45ebb3de Merge pull request #12080 from djrm/pr_new_splash
New splash screen.
2017-10-14 10:06:46 +02:00
BastiaanOlij cc37d43f86 Redoing the ARVR GDNative interface as module and tighter implementation 2017-10-14 09:10:18 +11:00
Daniel J. Ramirez 51393eb2b2 New splash screen. 2017-10-13 16:40:22 -05:00
Rémi Verschelde c30ab882d7 Merge pull request #11539 from BastiaanOlij/remove_directory_scan
Removed directory scan from project load
2017-10-11 23:37:10 +02:00
Ignacio Etcheverry 740ef3dc97 Merge pull request #11954 from neikeq/d
Added 'exposed' field to ClassInfo for registered classes
2017-10-11 13:54:34 +02:00
BastiaanOlij e9c606fd29 Made directory scan optional 2017-10-10 23:45:54 +11:00
Ignacio Etcheverry 0c2e882210 Adds 'exposed' field to ClassInfo
This field represents if the class is exposed to the scripting API.
The value is 'true' if the class was registered manually ('ClassDB::register_*class()'), otherwise it's false (registered on '_post_initialize').
- Added missing registration of classes that are meant to be exposed.
2017-10-09 23:49:17 +02:00
Juan Linietsky d938de67ff Make sure to obey hidpi to off by default, as present in project settings. Set it to on by default for editor.
Many integrated GPUs can't really get enough performance to play games at hidpi, so this should be enabled manually.
2017-10-05 16:41:42 -03:00
Juan Linietsky 3d87b70f7a Added the set/get_setting function in Editor/Project settings. Renamed has() to has_setting. Fixes #11844 2017-10-05 15:34:34 -03:00
Andreas Haas 132ba0ed97 Merge pull request #11568 from endragor/loggers
Extract logging logic
2017-10-02 23:51:26 +02:00
Andreas Haas 5303efb2fa Merge pull request #11659 from AndreaCatania/prephysics
Renamed fixed_process to physics_process
2017-10-02 23:10:36 +02:00
AndreaCatania 4537977d6d Renamed fixed_process to physics_process 2017-09-30 16:19:07 +02:00
Indah Sylvia 392a94686c Fixed typo: 'texure' to 'texture' 2017-09-29 04:40:01 +07:00
Ruslan Mustakov 1a2311e350 Extract logging logic
Previously logging logic was scattered over OS class implementations
with plenty of duplication. Major changes in this commit:

 - Extracted logging logic into a separate Logger hierarchy. It allows
   easy configuration of logging mechanism depending on compile-time or
   run-time configuration.

 - Implemented RotatedFileLogger which is usually used with StdLogger,
   providing persistency of logs. It is often important to be able to
   obtain logs of the game even in production to be able to understand
   what happened prior to some problem. On mobile there previously was
   no way to obtain the logs aside from having the device connected to
   your machine.

 - flush() is not performed in release mode for every logged line. It
   is only performed for errors.
2017-09-25 16:19:21 +07:00
Hein-Pieter van Braam 1f4685375f Fix typo in fixed-fps help line 2017-09-24 20:24:41 +02:00
Rémi Verschelde 4fa486430e main: Add --version switch and git hash to --help
Also fix some help strings.
2017-09-24 11:56:07 +02:00
Rémi Verschelde ffec7cf193 Merge pull request #11299 from marcelofg55/fix_seticon_default
Fix setting the default icon briefly with tools=no
2017-09-21 10:30:36 +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
Rémi Verschelde 67aa409f59 Merge pull request #11405 from karroffel/new-hashmap
added OAHashMap type
2017-09-19 16:57:58 +02:00
Karroffel add040d381 added OAHashMap type 2017-09-19 16:48:53 +02:00
Marcelo Fernandez ff1e0a3e2c Prevent running the crash_handler when a debugger is present on windows 2017-09-18 16:29:23 -03:00
Marcelo Fernandez 092509cbad Fix setting the default icon briefly with tools=no 2017-09-17 11:56:33 -03:00
Juan Linietsky 844c5e12e6 Fixed to InputDefault, button mask was wrong. Fixes to editor camera interpolation. 2017-09-16 12:12:41 -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
Rémi Verschelde e73e00d369 Style: Apply clang-format to @reduz's changes
[ci skip]
2017-09-13 09:13:34 +02:00
Juan Linietsky 4f929a0fdf Changed the doc class generation to individual files per class. It is also possible to save module files in module directories and the build system will
recognize them.
2017-09-12 17:45:41 -03:00
Juan Linietsky 50bc1f2922 Merged docs and small correction to lowdpi feature (it supports windows now) 2017-09-12 11:40:18 -03:00
Hein-Pieter van Braam b2a38854fd Fix unused variable warnings
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
Juan Linietsky 1eeda0f32f Restored auto snapping of controls to pixels, fixes #10847 and probably several more issues. Made it optional in the project settings but defaults to true. 2017-09-07 11:22:07 -03:00
Rémi Verschelde 1e0fc4dc4e Merge pull request #10318 from endragor/ordered-hash-map
Implement OrderedHashMap
2017-09-01 13:09:30 +02:00
Rémi Verschelde 6f762ad709 Merge pull request #10422 from endragor/gdnative-android
Make GDNative work on Android
2017-08-31 13:51:10 +02:00
Gustav Lund 417113edf3 Renderer/Simulator flags
Now hopefully with correct code style
2017-08-30 14:22:43 +02:00
Ruslan Mustakov 5ccdeccb6e Make GDNative work on Android
The changes include work done to ensure that GDNative apps and Nim
integration specifically can run on Android. The changes have been
tested on our WIP game, which uses godot-nim and depends on several
third-party .so libs, and Platformer demo to ensure nothing got broken.

 - .so libraries are exported to lib/ folder in .apk, instead of assets/,
   because that's where Android expects them to be and it resolves the
   library name into "lib/<ABI>/<name>", where <ABI> is the ABI matching
   the current device. So we establish the convention that Android .so
   files in the project must be located in the folder corresponding to
   the ABI they were compiled for.

 - Godot callbacks (event handlers) are now called from the same thread
   from which Main::iteration is called. It is also what Godot now
   considers to be the main thread, because Main::setup is also called
   from there. This makes threading on Android more consistent with
   other platforms, making the code that depends on Thread::get_main_id
   more portable (GDNative has such code).

 - Sizes of GDNative API types have been fixed to work on 32-bit
   platforms.
2017-08-30 18:14:19 +07:00
Juan Linietsky 089cf8176e removed DISCARD built in variable, replaced by actual discard GLSL instruction, fixes #9677 2017-08-29 10:15:49 -03:00
Rémi Verschelde a91d12ab94 Merge pull request #10531 from RandomShaper/remove-old-android-setting
Sanitize Android debug
2017-08-29 00:09:27 +02:00
Matthias Hoelzl b6e1e47e3a Make build scripts Python3 compatible
- The Windows, UWP, Android (on Windows) and Linux builds are
  tested with Scons 3.0 alpha using Python 3.
- OSX and iOS should hopefully work but are not tested since
  I don't have a Mac.
- Builds using SCons 2.5 and Python 2 should not be impacted.
2017-08-27 23:05:39 +02:00
Matthias Hoelzl a919a013f5 Fix mixed tab/whitespace in build files 2017-08-27 23:05:39 +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
Hein-Pieter van Braam cacced7e50 Convert Object::cast_to() to the static version
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.

This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.

It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-24 23:08:24 +02:00
Wilson E. Alvarez baa94a3758 Removed unnecessary returns and break statements 2017-08-22 13:01:57 -04:00
Pedro J. Estébanez 2a5ee5dec9 Fix Android remote debug not hitting breakpoints
A change in `Main`'s API is needed. Please read the comment in the diff for an explanation.
2017-08-22 17:24:20 +02:00
Rémi Verschelde df590fc2d3 Merge pull request #10340 from Rubonnek/remove-unnecessary-assignments
Removed unnecessary assignments
2017-08-22 00:58:12 +02:00
Juan Linietsky 2cc8309249 Merge pull request #10351 from neikeq/enums-are-for-the-weak
ClassDB: Provide the enum name of integer constants
2017-08-21 19:56:08 -03:00