summaryrefslogtreecommitdiffstats
path: root/modules/opensimplex
Commit message (Collapse)AuthorAgeFilesLines
* Add FastNoiseLite / general noise overhaulHendrik Brucker2022-03-2011-1014/+0
| | | | | | - replace OpenSimplexNoise Co-authored-by: Cory Petkovsek <tinmanjuggernaut@users.noreply.github.com>
* Add an XML schema for documentationHugo Locurcio2022-02-152-2/+2
| | | | | | | | This makes it easier to spot syntax errors when editing the class reference. The schema is referenced locally so validation can still work offline. Each class XML's schema conformance is also checked on GitHub Actions.
* Update copyright statements to 2022Rémi Verschelde2022-01-036-12/+12
| | | | Happy new year to the wonderful Godot community!
* Make OpenSimplex and VisualScript modules not depend on the editorAaron Franke2021-11-121-3/+0
|
* Fix example in `NoiseTexture` docYuri Roubinsky2021-11-061-2/+3
|
* Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`Hugo Locurcio2021-11-031-1/+1
| | | | | This is consistent with other constants that include `NO`, such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
* Don't generate empty doc sections and reduce code duplicationAaron Franke2021-09-202-6/+0
|
* doc: Use self-closing tags for `return` and `argument`Rémi Verschelde2021-07-301-48/+24
| | | | | | | | For the time being we don't support writing a description for those, preferring having all details in the method's description. Using self-closing tags saves half the lines, and prevents contributors from thinking that they should write the argument or return documentation there.
* Optimize StringName usagereduz2021-07-181-2/+2
| | | | | | | | | | | * Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
* Implement the ability to disable classesreduz2021-07-131-2/+2
| | | | | | | * This PR adds the ability to disable classes when building. * For now it's only possible to do this via command like: `scons disable_classes=RayCast2D,Area3D` * Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
* Merge pull request #49583 from timothyqiu/texture-crashRémi Verschelde2021-06-241-0/+2
|\ | | | | Fix crash when freeing GradientTexture and NoiseTexture
| * Fix crash when freeing GradientTexture and NoiseTextureHaoyu Qiu2021-06-141-0/+2
| |
* | Better format arguments in variant parserMichael Alexsander Silva Dias2021-06-182-2/+2
|/
* Rename Reference to RefCountedPedro J. Estébanez2021-06-112-2/+2
|
* Add support for generating noise images with an offset.Casey Foote2021-05-206-6/+31
|
* Rename Texture.get_data() to get_image()Marcel Admiraal2021-03-283-12/+13
|
* Document seamless noise having a lower contrast than non-seamless noiseHugo Locurcio2021-02-252-0/+2
| | | | See #41787.
* Removed _change_notifyreduz2021-02-101-1/+1
| | | | | | -For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap. -For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed() -Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
* Initialize class/struct variables with default values in modules/Rafał Mikrut2021-02-084-28/+13
|
* Merge pull request #37547 from aaronfranke/tauRémi Verschelde2021-02-011-3/+3
|\ | | | | Use Math_TAU and deg2rad/etc in more places and optimize code
| * Use Math_TAU and deg2rad/rad2deg in more places and optimize codeAaron Franke2021-01-091-3/+3
| |
* | Modernize ThreadPedro J. Estébanez2021-01-292-12/+6
|/ | | | | | | | | - Based on C++11's `thread` and `thread_local` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed (except for the few cases of non-portable functions) - Simpler for `NO_THREADS` - Thread ids are now the same across platforms (main is 1; others follow)
* Merge pull request #44832 from nathansmith339/opensimplex-optimizationRémi Verschelde2021-01-072-16/+8
|\ | | | | OpenSimplex data optimization
| * Optimize data format for OpenSimplex imagesnevarek2021-01-062-16/+8
| | | | | | | | | | | | | | The previous RGBA format included unused RGB data. Using the LA8 format removes the need to store the extra data. The Docs have been updated to reflect the format changes.
* | Merge pull request #44862 from Calinou/opensimplex-no-max-octaves-defineRémi Verschelde2021-01-011-5/+5
|\ \ | | | | | | Use `static const int` instead of `#define` for OpenSimplexNoise octaves
| * | Use `static const int` instead of `#define` for OpenSimplexNoise octavesHugo Locurcio2021-01-011-5/+5
| |/ | | | | | | This closes #44860.
* / Update copyright statements to 2021Rémi Verschelde2021-01-016-12/+12
|/ | | | | | | | | | | | | | 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 🎆
* Consistently use normal_mapMarcel Admiraal2020-12-293-18/+18
|
* SCons: Add explicit dependencies on thirdparty code in cloned envRémi Verschelde2020-12-181-3/+14
| | | | | | | | | | | | | | Since we clone the environments to build thirdparty code, we don't get an explicit dependency on the build objects produced by that environment. So when we update thirdparty code, Godot code using it is not necessarily rebuilt (I think it is for changed headers, but not for changed .c/.cpp files), which can lead to an invalid compilation output (linking old Godot .o files with a newer, potentially ABI breaking version of thirdparty code). This was only seen as really problematic with bullet updates (leading to crashes when rebuilding Godot after a bullet update without cleaning .o files), but it's safer to fix it everywhere, even if it's a LOT of hacky boilerplate.
* doc: Sync classref with current sourceRémi Verschelde2020-12-041-8/+8
| | | | | | | | And fixups: - Add missing bindings in RenderingServer - Remove duplicate ArrayMesh enum bindings (they're in Mesh already) - Remove redundant _unhandled_key_input binding in Control (it's in Node already)
* Updated open-simplex to have const noise functionsSacha Waked2020-12-042-19/+19
| | | "open-simplex-noise-in-c" now updated to master and "opensimplex" module refactored accordingly
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-072-4/+4
| | | | | | -Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
* Optimize SVG using `svgcleaner --multipass`Hugo Locurcio2020-10-251-3/+1
| | | | This decreases the editor binary size by about 8 KB.
* Add override keywords.Marcel Admiraal2020-07-101-6/+6
|
* Fix OpenSimplexNoise get_image() swap axesRaphaelHunter2020-07-011-1/+1
|
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-142-13/+26
| | | | | Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-143-23/+0
| | | | | | | | | | | | | | Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
* Style: clang-format: Disable AllowShortIfStatementsOnASingleLineRémi Verschelde2020-05-102-9/+18
| | | | | | | Part of #33027, also discussed in #29848. Enforcing the use of brackets even on single line statements would be preferred, but `clang-format` doesn't have this functionality yet.
* NoiseTexture: prevent race condition because of Ref::unref()lupoDharkael2020-04-061-3/+8
|
* Replace NULL with nullptrlupoDharkael2020-04-021-2/+2
|
* SCons: Format buildsystem files with psf/blackRémi Verschelde2020-03-302-5/+8
| | | | | | | | | | | | | | | | | | | | | Configured for a max line length of 120 characters. psf/black is very opinionated and purposely doesn't leave much room for configuration. The output is mostly OK so that should be fine for us, but some things worth noting: - Manually wrapped strings will be reflowed, so by using a line length of 120 for the sake of preserving readability for our long command calls, it also means that some manually wrapped strings are back on the same line and should be manually merged again. - Code generators using string concatenation extensively look awful, since black puts each operand on a single line. We need to refactor these generators to use more pythonic string formatting, for which many options are available (`%`, `format` or f-strings). - CI checks and a pre-commit hook will be added to ensure that future buildsystem changes are well-formatted.
* Renaming of servers for coherency.Juan Linietsky2020-03-271-5/+5
| | | | | | | | | | VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.
* Adding missing include guards to header files identified by LGTM.Rajat Goswami2020-03-231-0/+5
| | | | This addresses the issue godotengine/godot#37143
* Fix missing module editor iconsAndrii Doroshenko (Xrayez)2020-03-081-0/+0
| | | | | | | Module icons need to be renamed to PascalCase as well for them to be registered in 4.0. See godotengine/godot#36513.
* Signals: Manually port most of remaining connect_compat usesRémi Verschelde2020-02-281-3/+2
| | | | | | | | It's tedious work... Some can't be ported as they depend on private or protected methods of different classes, which is not supported by callable_mp (even if it's a class inherited by the current one).
* Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.Juan Linietsky2020-02-252-4/+4
| | | | | | | | | | | | | | | | | | | | | - Renames PackedIntArray to PackedInt32Array. - Renames PackedFloatArray to PackedFloat32Array. - Adds PackedInt64Array and PackedFloat64Array. - Renames Variant::REAL to Variant::FLOAT for consistency. Packed arrays are for storing large amount of data and creating stuff like meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of memory. That said, many users requested the ability to have 64 bits packed arrays for their games, so this is just an optional added type. For Variant, the float datatype is always 64 bits, and exposed as `float`. We still have `real_t` which is the datatype that can change from 32 to 64 bits depending on a compile flag (not entirely working right now, but that's the idea). It affects math related datatypes and code only. Neither Variant nor PackedArray make use of real_t, which is only intended for math precision, so the term is removed from there to keep only float.
* Reworked signal connection system, added support for Callable and Signal ↵Juan Linietsky2020-02-201-2/+2
| | | | objects and made them default.
* PoolVector is gone, replaced by VectorJuan Linietsky2020-02-181-4/+4
| | | | | Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
* doc: Sync classref with current sourceRémi Verschelde2020-02-121-3/+2
| | | | | | | | Lots of internal API changes and some docstrings were lost in the conversion. I manually salvaged many of them but for all the rendering-related ones, an additional pass is needed. Added missing enum bindings in BaseMaterial3D and VisualServer.
* Texture refactorJuan Linietsky2020-02-112-19/+18
| | | | | | | | -Texture renamed to Texture2D -TextureLayered as base now inherits 2Darray, cubemap and cubemap array -Removed all references to flags in textures (they will go in the shader) -Texture3D gone for now (will come back later done properly) -Create base rasterizer for RenderDevice, RasterizerRD