summaryrefslogtreecommitdiffstats
path: root/modules/dds
Commit message (Collapse)AuthorAgeFilesLines
* DDS: Add support for loading layered texturesBlueCube33102024-10-291-214/+308
|
* SCons: Add unobtrusive type hints in SCons filesThaddeus Crews2024-09-251-0/+1
|
* Add support for loading less common DDS formatsBlueCube33102024-08-161-28/+160
|
* Add 'override' mark to ResourceFormat classppphp2024-03-251-4/+4
|
* Support unspecified linear size in DDS filesLunaticInAHat2023-12-191-2/+5
| | | | Not all exporters choose to populate that (optional) header field.
* Add support for loading more DDS formatsBlueCube33102023-12-141-2/+204
|
* Refactor DDS loading codeBlueCube33102023-12-081-161/+121
|
* Fix grayscale dds loadingBlueCube33102023-08-291-3/+2
|
* Revert "Implement loading DDS textures at run-time"clayjohn2023-08-294-477/+357
| | | | This reverts commit 34ab1c8a36e61b386c210fb908b9ebfa86513149.
* Make DDS loading code only check for R channel mask when loading grayscale ↵BlueCube33102023-08-211-2/+2
| | | | images.
* Remove DDS_Indexed from DDSFormat enumBlueCube33102023-08-151-1/+0
|
* Implement loading DDS textures at run-timeMarcin Nowak2023-07-314-357/+478
|
* Extract and reorganize texture resource classesHendrik Brucker2023-07-142-1/+1
|
* Remove (or make verbose only) various debug prints.bruvzg2023-03-201-1/+1
|
* One Copyright Update to rule them allRémi Verschelde2023-01-054-116/+116
| | | | | | | | | | | | | | | | | | | | As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
* Add static methods for creating Image and ImageTexturekobewi2022-07-081-3/+1
|
* Merge pull request #60723 from reduz/refactor-module-initializationRémi Verschelde2022-05-042-4/+14
|\
| * Refactor module initializationreduz2022-05-042-4/+14
| | | | | | | | | | | | | | * Changed to use the same stages as extensions. * Makes the initialization more coherent, helping solve problems due to lack of stages. * Makes it easier to port between module and extension. * removed the DRIVER initialization level (no longer needed).
* | Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio2022-05-032-11/+11
|/ | | | | | These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
* Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde2022-05-021-1/+1
| | | | | | | | | | | Didn't commit all the changes where it wants to initialize a struct with `{}`. Should be reviewed in a separate PR. Option `IgnoreArrays` enabled for now to be conservative, can be disabled to see if it proposes more useful changes. Also fixed manually a handful of other missing initializations / moved some from constructors.
* Make FileAccess and DirAccess classes reference counted.bruvzg2022-04-111-3/+3
|
* Change some math macros to constexprkobewi2022-03-091-2/+2
| | | | Changes `MAX`, `MIN`, `ABS`, `CLAMP` and `SIGN`.
* Update copyright statements to 2022Rémi Verschelde2022-01-034-8/+8
| | | | Happy new year to the wonderful Godot community!
* Rename `instance()`->`instantiate()` when it's a verbLightning_A2021-06-191-1/+1
|
* Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde2021-06-111-1/+1
| | | | | File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
* Improve resource load cachereduz2021-02-112-2/+2
| | | | | | -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.
* Initialize class/struct variables with default values in modules/Rafał Mikrut2021-02-081-5/+5
|
* Update copyright statements to 2021Rémi Verschelde2021-01-014-8/+8
| | | | | | | | | | | | | | 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 🎆
* Remove empty lines around braces with the formatting scriptAaron Franke2020-11-161-2/+0
|
* DDS: Fix loading files without DDSD_CAPS or DDSD_PIXELFORMATRémi Verschelde2020-06-151-4/+6
| | | | | | | | | | | | | | | | | MSDN says: > When you write .dds files, you should set the DDSD_CAPS and > DDSD_PIXELFORMAT flags, and for mipmapped textures you should also > set the DDSD_MIPMAPCOUNT flag. However, when you read a .dds file, > you should not rely on the DDSD_CAPS, DDSD_PIXELFORMAT, and > DDSD_MIPMAPCOUNT flags being set because some writers of such a file > might not set these flags. https://docs.microsoft.com/en-us/windows/win32/direct3ddds/dds-header ¯\_(ツ)_/¯ Fixes #39516.
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-141-12/+23
| | | | | 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-142-45/+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.
* Exposed RenderingDevice to script APIJuan Linietsky2020-04-202-2/+2
| | | | | | | | | | | | | 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.
* Replace NULL with nullptrlupoDharkael2020-04-021-1/+1
|
* SCons: Format buildsystem files with psf/blackRémi Verschelde2020-03-302-2/+3
| | | | | | | | | | | | | | | | | | | | | 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.
* Adding missing include guards to header files identified by LGTM.Rajat Goswami2020-03-231-0/+5
| | | | This addresses the issue godotengine/godot#37143
* Removed interactive loader, added proper thread loading.Juan Linietsky2020-02-282-2/+2
|
* PoolVector is gone, replaced by VectorJuan Linietsky2020-02-181-7/+7
| | | | | Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
* Texture refactorJuan Linietsky2020-02-111-1/+1
| | | | | | | | -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
* Update copyright statements to 2020Rémi Verschelde2020-01-014-8/+8
| | | | | | | | | | | 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.
* Added some obvious errors explanationsqarmin2019-09-251-3/+3
|
* Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in rest of 'modules/'Robin Hübner2019-08-121-7/+3
|
* Added release function to PoolVector::Access.Ibrahn Sahir2019-07-061-5/+0
| | | | | | For clarity, assign-to-release idiom for PoolVector::Read/Write replaced with a function call. Existing uses replaced (or removed if already handled by scope)
* Fix few GCC9 warnings:Martin Liska2019-07-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | thirdparty/assimp/include/assimp/material.inl: In member function 'aiReturn aiMaterial::Get(const char*, unsigned int, unsigned int, aiColor3D&) const': thirdparty/assimp/include/assimp/material.inl:176:33: error: implicitly-declared 'aiColor3D& aiColor3D::operator=(const aiColor3D&)' is deprecated [-Werror=deprecated-copy] 176 | pOut = aiColor3D(c.r,c.g,c.b); modules/dds/texture_loader_dds.cpp:167:50: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare] 167 | if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("DXT1")) { | ^ [ 28%] modules/dds/texture_loader_dds.cpp:170:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare] 170 | } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("DXT3")) { | ^ modules/dds/texture_loader_dds.cpp:174:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare] 174 | } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("DXT5")) { | ^ modules/dds/texture_loader_dds.cpp:177:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare] 177 | } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("ATI1")) { | ^ modules/dds/texture_loader_dds.cpp:180:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare] 180 | } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("ATI2")) { | ^ modules/dds/texture_loader_dds.cpp:183:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare] 183 | } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("A2XY")) { | ^ thirdparty/assimp/include/assimp/material.inl: In member function 'aiReturn aiMaterial::Get(const char*, unsigned int, unsigned int, aiColor3D&) const': thirdparty/assimp/include/assimp/material.inl:176:33: error: implicitly-declared 'aiColor3D& aiColor3D::operator=(const aiColor3D&)' is deprecated [-Werror=deprecated-copy] 176 | pOut = aiColor3D(c.r,c.g,c.b);
* Unexpose subclasses of ResourceFormatLoader and -SaverRémi Verschelde2019-06-181-1/+0
| | | | | | | | | | | | | | 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.
* Fixes to the DDS loaderDaniel Rakos2019-05-071-8/+17
| | | | | * Added missing format info entries for ATI1 and ATI2 formats * Added missing A2XY format
* Style: Apply new changes from clang-format 8.0Rémi Verschelde2019-04-091-1/+2
| | | | | | It seems to stay compatible with formatting done by clang-format 6.0 and 7.0, so contributors can keep using those versions for now (they will not undo those changes).
* Add -Wshadow=local to warnings and fix reported issues.marxin2019-02-201-5/+5
| | | | Fixes #25316.
* Update copyright statements to 2019Rémi Verschelde2019-01-014-8/+8
| | | | Happy new year to the wonderful Godot community!
* Added basic support for custom resource savers and loadersMarc Gilleron2018-12-152-3/+5
|