Commit Graph

86 Commits

Author SHA1 Message Date
Hein-Pieter van Braam 0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
This commit makes operator[] on Vector const and adds a write proxy to it.  From
now on writes to Vectors need to happen through the .write proxy. So for
instance:

Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;

Failing to use the .write proxy will cause a compilation error.

In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.

_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
Nathan Harrell 6831bc422b Add ability to import projects via ZIP archive. 2018-06-22 00:55:16 -04:00
Ibrahn Sahir 8afb00a8ec fixup project_manager and find_in_files for text_changed signal change.
Background:
Commit 2abec59db9 removing text_changed
signal emmision from LineEdit::set_text broke the project manager and
find_in_files.
2018-05-20 16:45:22 +01:00
DmitryKrutskikh 965b6ac273 Disable 'run' button if any project not selected and tiny refactoring 2018-05-09 19:13:53 +03:00
Felix Yang 164dceab28 Fix for Issue#18457 - Folder name with trailing space on Windows 2018-05-03 10:19:43 +02:00
Hugo Locurcio 61bf0d10d5
Overhaul the display scaling editor settings
This adds more scaling options, in addition to a custom scaling option
which allows any scale between 0.75 and 3.0 to be used.
2018-03-23 14:04:39 +01:00
Emanuele Fornara 0071c04dcb skip demo download prompt if ssl is unavailable 2018-03-05 17:08:39 +01:00
Rémi Verschelde 23ebae01dc Refactor version macros and fix related bugs
The previous logic with VERSION_MKSTRING was a bit unwieldy, so there were
several places hardcoding their own variant of the version string, potentially
with bugs (e.g. forgetting the patch number when defined).

The new logic defines:

- VERSION_BRANCH, the main 'major.minor' version (e.g. 3.1)
- VERSION_NUMBER, which can be 'major.minor' or 'major.minor.patch',
  depending on whether the latter is defined (e.g. 3.1.4)
- VERSION_FULL_CONFIG, which contains the version status (e.g. stable)
  and the module-specific suffix (e.g. mono)
- VERSION_FULL_BUILD, same as above but with build/reference name
  (e.g. official, custom_build, mageia, etc.)
  Note: Slight change here, as the previous format had the build name
  *before* the module-specific suffix; now it's after
- VERSION_FULL_NAME, same as before, so VERSION_FULL_BUILD prefixed
  with "Godot v" for readability

Bugs fixed thanks to that:

- Export templates version matching now properly takes VERSION_PATCH
  into account by relying on VERSION_FULL_CONFIG.
- ClassDB hash no longer takes the build name into account, but limits
  itself to VERSION_FULL_CONFIG (build name is cosmetic, not relevant
  for the API hash).
- Docs XML no longer hardcode the VERSION_STATUS, this was annoying.
- Small cleanup in Windows .rc file thanks to new macros.
2018-02-23 20:15:29 +01:00
Bernhard Liebl 1d2d08da5b Add show path button to project manager 2018-02-19 21:56:28 +01:00
Rémi Verschelde 7839076f95 Improve error reporting of ProjectSettings::setup()
And use it to better report errors in the console and project manager
when a project.godot file is corrupted.

Fixes #14963.
2018-02-19 16:41:43 +01:00
Poommetee Ketson 499a0b77dc ProjectManager: prevent installing project template in non-empty dir 2018-01-28 21:48:27 +07: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
Rémi Verschelde 7b4e45b794
Merge pull request #15803 from Noshyaar/pm
ProjectManager: show error/warning by default
2018-01-18 14:30:18 +01:00
Poommetee Ketson 61d1604da2 ProjectManager: show error/warning by default
Deprecate "That's a BINGO" message
2018-01-18 19:11:58 +07:00
bruvzg 2317364ac6
Disallow creating new projects in a non-empty folder. 2018-01-18 12:29:31 +02: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
Bernhard Liebl 25c5848e7e Project Manager: fix random breaking of scrolling 2018-01-04 15:24:20 +01:00
Rémi Verschelde 0b235a5efa
Merge pull request #15102 from YeldhamDev/project_manager_changes
Changes to the Project Manager's New Project/Export dialogs
2018-01-03 11:06:37 +01:00
Rémi Verschelde 9821562b30
Merge pull request #15230 from RyanStein/bugfix-14989
Move Project Manager favorite icon back to center.
2018-01-02 11:34:30 +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
Ryan Stein 67c158fe9f Move Project Manager favorite icon back to center. 2017-12-31 19:58:17 -05:00
Michael Alexsander Silva Dias 0930f4cbcb Changes to the Project Manager's New Project/Export dialogs. 2017-12-27 16:13:13 -02:00
Poommetee Ketson 9fd7aec2b4 ProjectManager: enhance dialog ok button text 2017-12-23 09:06:03 +07: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
qichunren 7d1c3b5391 Fixed project name line edit lost input focus. 2017-12-06 11:24:01 +08:00
volzhs 216baf1c47 Unnecessary use of TTR 2017-12-02 08:35:28 +09:00
Juan Linietsky c6f2db393e Ask users to explore official projects when none is loaded. 2017-11-26 15:31:48 -03: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
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
Leon Krause 9b7b46143d Move singleton management from ProjectSettings to Engine 2017-11-14 15:15:13 +01:00
Daniel J. Ramirez e524cc7135 Fixed project manager and dialog fonts. 2017-11-09 19:38:48 -06:00
Rémi Verschelde 277e730d34 Fix typo in project manager
[ci skip]
2017-10-29 18:48:42 +01:00
sheepandshepherd 53188abed0 Add language option button to project manager
Closes #4901
2017-10-26 14:40:07 -05:00
Rémi Verschelde 8ed5e64656 Merge pull request #11998 from DmitryKrutskikh/filter-input-events-in-project-manager-3-0
Skip unhandled input events on asset library tab. (3.0)

[ci skip]
2017-10-11 22:31:46 +02:00
DmitryKrutskikh 3df42cdefb Skip unhandled input events on asset library tab. 2017-10-10 18:23:11 +03:00
Rémi Verschelde 2e0c7bb22a Merge pull request #11718 from poke1024/retina
Fixes some retina problems on multi monitor setups
2017-10-09 11:04:46 +02: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
Bernhard Liebl a7f18798aa fixes several scaling problems on multi monitor retina/non-retina setups on OS X 2017-10-05 08:12:17 +02:00
Andreas Haas 20eb17a685
EditorSettings: Move interface/ properties to interface/editor
Fixes inconsistent behaviour where clicking on the "Interface"
in the Editor Settings wouldn't collapse the category as is the
case for all the other categories.
2017-09-29 18:52:56 +02:00
Rémi Verschelde f577efd47e Merge pull request #11424 from groud/control_node_presets
Implements set_margins_preset(...)
2017-09-26 00:11:46 +02:00
Daniel J. Ramirez de3018703f Improved New Project and Import project experience 2017-09-23 22:50:37 -05:00
Gilles Roudiere 05bb8e0c10 Remove set_area_as_parent_rect and replace it by set_anchors_and_margins_preset(PRESET_WIDE) 2017-09-22 11:39:44 +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
Hein-Pieter van Braam bdb07fcf4d Merge pull request #11031 from nabor/rename-dialog
Added support to rename projects on manager
2017-09-14 09:01:29 +02:00
Nabor Erices b79ec86b64 Deleted unnecessary print 2017-09-13 18:43:37 -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 84ccda4e1d Merge pull request #11058 from hpvb/fix-11043
Don't set editor_hint true for project manager
2017-09-12 11:41:44 +02:00
Marcelo Fernandez dcdcf358db Not found projects are grayed instead of removed at the Project Manager 2017-09-11 02:01:20 -03:00
Hein-Pieter van Braam 390a2025fe Don't set editor_hint true for project manager
Due to this setting several callbacks get initialized but never used.
For instance void discoverer_callback(). This callback only initializes
the GDNativeSingletonDiscover *discoverer when called. This doesn't
happen in project manager and this in turn causes a call to
memdelete(NULL) which is invalid. This also seems to speed up startup a
little.

This fixes #11043 and fixes #10992
2017-09-10 23:59:22 +02:00
Nabor Erices 1c8cc1ab50 Added support to rename projects on manager 2017-09-06 21:10:30 -03:00