summaryrefslogtreecommitdiff
path: root/editor/editor_export.cpp
AgeCommit message (Collapse)Author
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
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-18Export filters: Relax match to allow paths without leading res://Rémi Verschelde
Previously to include "file.txt", you had to set either "res://file.txt", "*file.txt" or "*.txt" as filter. Now you can use "file.txt".
2018-04-29Merge pull request #18455 from neikeq/export-pck-zip-debugHein-Pieter van Braam
Make 'Export PCK/ZIP' work well with EditorExportPlugin
2018-04-27Fix use64 used without being initializedMarcelo Fernandez
2018-04-26Make 'Export PCK/ZIP' work well with EditorExportPluginIgnacio Etcheverry
Add debug flag to the 'Export PCK/ZIP' option Make 'Export PCK/ZIP' notify when the export process begins. This is necessary to receive the 'EditorExportPlugin::_export_begin' callback
2018-03-06Improved error checking at EditorExportPlatformPC::export_projectMarcelo Fernandez
2018-02-24Merge pull request #16957 from akien-mga/version-macrosRémi Verschelde
Refactor version macros and fix related bugs
2018-02-23Refactor version macros and fix related bugsRémi Verschelde
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-22EditorExport: Allow export plugins to add shared librariesIgnacio Etcheverry
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
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-04Clean up \n from end of translation stringsArtem Varaksa
2018-01-04Add support from properly exporting shared objects, needed for GDNative exportJuan Linietsky
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-18Use a different strategy for path remaps, try loading from a remap file instead.Juan Linietsky
This ensures multiple PCK exports still work.
2017-12-16Merge pull request #14597 from NathanWarden/linux_extensionsRémi Verschelde
Updated Linux template extensions to match architecture.
2017-12-15-Added new scene conversion to binary on export (disabled by default, please ↵Juan Linietsky
test) -This method works by directly converting text to binary, so the scene does not need to be loaded and saved
2017-12-12Updated Linux template extensions to match architecture.Nathan Warden
2017-12-08Fix Manage Export Templates linkMattUV
In some cases, the link to download export templates was missing. Fixes #14391
2017-12-05Export icon and splash images directly to final packageGeorge Marques
They need to bypass the path remapping to be loaded as images during the start routine.
2017-11-21Allow configuring iOS exportRuslan Mustakov
- 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-20Pass engine name and version parts as proper stringsRémi Verschelde
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-19Use new XDG folders to dehardcode pathsRémi Verschelde
2017-11-19Add initial support for the XDG Base Directory specRémi Verschelde
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-17EditorSettings: Rename settings_path to settings_dirRémi Verschelde
Also to prepare for upcoming refactoring for XDG support.
2017-11-15[GDNative] export pluginKarroffel
2017-10-21Cleanup unnecessary debug printsRémi Verschelde
2017-10-03fixed the OS.has_feature() API, and added support for 32 and 64.Juan Linietsky
2017-09-26Enhance iOS exportRuslan Mustakov
- The export process now builds complete .ipa on macOS, instead of just creating XCode project. - The project includes Capabilities games usually require: Game Center, Push Notifications, In-App Purchase. - Icons and launch screens can be specified in export preset.
2017-09-20Rename pos to position in user facing methods and variablesletheed
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-17Fix x11 exported executables not getting the +x flagMarcelo Fernandez
2017-09-15Added type on export file callback, and initial export function.Juan Linietsky
2017-09-14Re-Added export plugins with a more interesting API, as well as the ability ↵Juan Linietsky
to do path remapping. Also added ability to tell the exporter that a shared object needs to be bundled in the build.
2017-09-08Fix unused variable warningsHein-Pieter van Braam
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-01Fix files headerPoommetee Ketson
2017-08-27Dead code tells no talesRémi Verschelde
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-21Merge pull request #10351 from neikeq/enums-are-for-the-weakJuan Linietsky
ClassDB: Provide the enum name of integer constants
2017-08-21Fixes for new two-dash long command line argumentsRémi Verschelde
- Fixes some single-dash leftovers that were missed in the previous commit - Reorder the help output for clarity, and document missing options - Drop obsolete options: --noop, --pack, --editor-scene, --level, --import, --import-script, --no-quit - Improve error message on malformed arguments and do not display help on error - Always use long form of arguments when starting a new Godot process from C++, for clarity and easy grepping - Cleanup obsolete code here and there
2017-08-20ClassDB: Provide the enum name of integer constantsIgnacio Etcheverry
2017-08-19Revert "Second take at making command-line arguments more UNIX-like + ↵Juan Linietsky
main.cpp and help cleanup"
2017-08-19Fixes for new two-dash long command line argumentsRémi Verschelde
- Fixes some single-dash leftovers that were missed in the previous commit - Reorder the help output for clarity, and document missing options - Drop obsolete options: --noop, --pack, --editor-scene, --level, --import, --import-script, --no-quit - Improve error message on malformed arguments and do not display help on error - Cleanup obsolete code here and there
2017-08-14Use include/exclude export filters. Fixes #9860Ruslan Mustakov
2017-08-10Removes type information from method bindsIgnacio Etcheverry
2017-07-20custom_features: fix typoMartin Capitanio
2017-07-19-Renamed GlobalConfig to ProjectSettings, makes more sense.Juan Linietsky
-Added system for feature overrides, it's pretty cool :)
2017-06-16Complete changing of resource extensionsGeorge Marques
Some places were missing in e42d59f.
2017-06-10Fix `network/debug/remote_port` editor setting not working properlyFabio Alessandrelli
2017-05-09Display remote_host/port in network->debug settingsFabio Alessandrelli
2017-05-05Fix template loadingJ08nY
2017-05-01Rename project file to "project.godot"Rémi Verschelde
Slimmed down variant from the reverted #8375. The rationale behind the name change is to give Godot's project file a unique extension (".godot") that can be registered on the OS to be associated with the Godot binary (OS registration not implemented here). This PR also adds the possibility to start the game or editor if launched with the project.godot passed as argument, which paves the way for allowing a similar behaviour on a double-click in the OS file manager (code originally by @Hinsbart). Closes #6915.