summaryrefslogtreecommitdiff
path: root/modules/gdnative/gdnative.h
AgeCommit message (Collapse)Author
2021-02-11Improve resource load cachereduz
-Added a new method in Resource: reset_state , used for reloading the same resource from disk -Added a new cache mode "replace" in ResourceLoader, which reuses existing loaded sub-resources but resets their data from disk (or replaces them if they chaged type) -Because the correct sub-resource paths are always loaded now, this fixes bugs with subresource folding or subresource ordering when saving.
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-04-20Exposed RenderingDevice to script APIJuan Linietsky
Also added an easier way to load native GLSL shaders. Extras: Had to fix no-cache for subresources in resource loader, it was not properly working, making shaders not properly reload. Note: The precommit hooks are broken because they don't seem to support enums from one class being used in another. Feel free to fix this after merging this PR.
2020-03-17Style: Set clang-format Standard to Cpp11Rémi Verschelde
For us, it practically only changes the fact that `A<A<int>>` is now used instead of the C++03 compatible `A<A<int> >`. Note: clang-format 10+ changed the `Standard` arguments to fully specified `c++11`, `c++14`, etc. versions, but we can't use `c++17` now if we want to preserve compatibility with clang-format 8 and 9. `Cpp11` is still supported as deprecated alias for `Latest`.
2020-02-28Removed interactive loader, added proper thread loading.Juan Linietsky
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-07-02Fix various memory leaks and errorsBojidar Marinov
2019-06-19Made use of semicolons more consitent, fixed formattingJohnJLight
2019-06-18Unexpose subclasses of ResourceFormatLoader and -SaverRémi Verschelde
ResourceFormatLoader and ResourceFormatSaver are meant to be overridden to add support for different formats in ResourceLoader and ResourceSaver. Those should be exposed as they can be overridden in plugins. On the other hand, all predefined subclasses of those two base classes are only meant to register support for new file and resource types, but should not and cannot be used directly from script, so they should not be exposed. Also unexposed ResourceImporterOGGVorbis (and thus its base class ResourceImporter) which are editor-only.
2019-05-12Fix GDNative library resource loading.Fabio Alessandrelli
Store general properties in ConfigFile too when modifying them. Additionally set config_file property as internal as it's not editable from inspector. It also does not appear to get saved in a meaningful way (saved as Object(ConfigFile, ...))
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-12-15Added basic support for custom resource savers and loadersMarc Gilleron
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
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-04-04[GDNative] enable saving GDNativeLibrary as sub resourcekarroffel
2018-04-04[GDNative] easier GDNativeLib handlingkarroffel
2018-01-06[GDNative] added reload propertykarroffel
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-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-07Style: Apply new clang-format 5.0 style to all filesRémi Verschelde
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-20Merge pull request #13094 from karroffel/gdnative-api-register-nativecallThomas Herzog
[GDNative] add a way to register call types
2017-11-20[GDNative] add a way to register call typesKarroffel
2017-11-20[GDNative] removed static linking fieldsKarroffel
2017-11-03[GDNative] removed anchorsKarroffel
2017-11-03[GDNative] use feature tags, added load once optionKarroffel
2017-10-14[GDNative] removed native_raw_callKarroffel
2017-10-03[GDnative] replace gdnative_api_struct.h by a json-based autogenerated systemEmmanuel Leblond
2017-09-17[GDnative] create godot_gdnative_api_struct and pass it to ↵Emmanuel Leblond
godot_gdnative_init_options
2017-09-03[GDNative] added singleton GDNativeLibrariesKarroffel
A GDNativeLibrary now has a field "gdnative_singleton" which can be used to let the `godot_gdnative_singleton` procedure be executed on Godot's startup. In future this can be used to register new scripting languages or resource importer types.
2017-09-03merged gdnative and nativescript moduleKarroffel
2017-08-30Make GDNative work on AndroidRuslan Mustakov
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-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-12Updated function argument namesWilson E. Alvarez
2017-08-04Dont call nativescript callbacks if lib is not initializedRuslan Mustakov
2017-08-02[GDNative] better header include pathsKarroffel
The old include paths caused some problems on some compilers, for example including "string.h" was ambiguous.
2017-07-24[GDNative] new GDNative APIKarroffel
This adds GDNative as a separate class type. It can be used to interface with native libraries by using "native calls", which can be registered by modules (and in future other GDNative libraries?). It also reworks the currently called "GDNativeScript" into a "NativeScript" that just makes use of the new GDNative instead of it being the component that implements that functionality.
2017-06-27Better user expirence with external text editors.geequlim
Implements open_in_external_editor for subclasses of ScriptLanguage. Add option 'Debug with external editor' to debug menu to control the behavoir of script opened by editor.
2017-05-19Finish implementation of GDnative builtins bindingsEmmanuel Leblond
2017-04-17[GDNative] added "new" method and fixed headersKarroffel
2017-04-09renamed dlscript module to gdnativeKarroffel