virtualx-engine/editor
Rémi Verschelde 2e99d0b26f
glTF: Fix parsing image data with mimeType undefined
The glTF 2.0 spec only makes `mimeType` mandatory for `bufferView` image data,
so the previous logic to handle URIs with base64-encoded images could fail if
`mimeType` is undefined.

The logic was documented and refactored to better handle the spec, notably:

- `uri` and `bufferView` are now mutually exclusive, and only the latter fails
  if `mimeType` is undefined.
- `uri` with a file path will now respect the `mimeType` if defined, and thus
  attempt loading the file with the specified format (even if its extension is
  not the one expected for this format). So we can support bad extensions (PNG
  data with `.jpg` extension) or custom ones (PNG data in `.img` file for
  example).
- `uri` with base64 encoded data will infer MIME type from `data:image/png` or
  `data:image/jpeg` if it was not documented in `mimeType` initially.
- `uri` with base64 encoded data, no `mimeType` and `application/octet-stream`
  or `application/gltf-buffer` will fall back to trying both PNG and JPEG
  loaders.

Fully fixes #33796 (and fixes up #42501).
2020-10-05 13:06:50 +02:00
..
debugger Added debugger plugin support 2020-08-26 11:24:51 +05:30
fileserver Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
icons Replace AutoKey icon with a more universally understood "record" button 2020-09-25 11:43:17 +02:00
import glTF: Fix parsing image data with mimeType undefined 2020-10-05 13:06:50 +02:00
plugins Updated getters and setters names for toplevel 2020-10-02 19:09:01 -04:00
translations i18n: Rename pt_PT to pt 2020-09-24 16:50:44 +02:00
animation_bezier_editor.cpp Fix timeline cursor not updating on zoom change in the Bezier editor 2020-07-02 16:07:28 -03:00
animation_bezier_editor.h Add override keywords. 2020-07-10 13:56:54 +01:00
animation_track_editor.cpp Renamed toplevel to be top_level 2020-10-01 03:17:33 -04:00
animation_track_editor.h Add override keywords. 2020-07-10 13:56:54 +01:00
animation_track_editor_plugins.cpp Style: Enforce braces around if blocks and loops 2020-05-14 21:57:34 +02:00
animation_track_editor_plugins.h Add override keywords. 2020-07-10 13:56:54 +01:00
array_property_edit.cpp Style: Enforce braces around if blocks and loops 2020-05-14 21:57:34 +02:00
array_property_edit.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
audio_stream_preview.cpp Style: Enforce braces around if blocks and loops 2020-05-14 21:57:34 +02:00
audio_stream_preview.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
code_editor.cpp Remove breakpoints from editor settings 2020-09-10 20:35:28 +01:00
code_editor.h Add and convert editor to use CodeEdit 2020-09-10 20:35:27 +01:00
connections_dialog.cpp Show correct name of signal when editing an existing one 2020-09-15 12:20:45 +02:00
connections_dialog.h Added search box to signals dock. 2020-08-08 14:15:46 +10:00
create_dialog.cpp Small naming and tooltip tweaks 2020-07-23 20:17:43 -03:00
create_dialog.h Add override keywords. 2020-07-10 13:56:54 +01:00
dependency_editor.cpp Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
dependency_editor.h Add override keywords. 2020-07-10 13:56:54 +01:00
dictionary_property_edit.cpp Style: Enforce braces around if blocks and loops 2020-05-14 21:57:34 +02:00
dictionary_property_edit.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
doc_data.cpp Rewrite ProjectSettings editor advanced options 2020-08-10 17:32:01 +02:00
doc_data.h Docs: Ignore OS specific values (constants, project settings, properties). 2020-07-15 12:24:59 +03:00
editor_about.cpp i18n: Sync translations with Weblate 2020-09-08 15:18:17 +02:00
editor_about.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
editor_asset_installer.cpp fix item_edited behavior on Asset Installer. 2020-07-10 17:21:43 +08:00
editor_asset_installer.h Merge pull request #40253 from madmiraal/add-override-keywords 2020-07-10 21:04:23 +02:00
editor_atlas_packer.cpp Style: Enforce braces around if blocks and loops 2020-05-14 21:57:34 +02:00
editor_atlas_packer.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
editor_audio_buses.cpp Renamed toplevel to be top_level 2020-10-01 03:17:33 -04:00
editor_audio_buses.h Ensure assignment operators return by reference to avoid unnecessary copies. 2020-09-04 09:18:19 +01:00
editor_autoload_settings.cpp Fix TTR misuse 2020-07-24 15:15:23 +02:00
editor_autoload_settings.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
editor_builders.py Remove unused Python local variables. 2020-09-11 11:39:15 +01:00
editor_data.cpp Don't write global script class information if there is none 2020-10-03 04:36:07 -04:00
editor_data.h Style: Enforce braces around if blocks and loops 2020-05-14 21:57:34 +02:00
editor_dir_dialog.cpp Fix cancel/OK button order on macOS 2020-07-10 15:10:11 -05:00
editor_dir_dialog.h Add override keywords. 2020-07-10 13:56:54 +01:00
editor_export.cpp iOS: Fix multiple issues with PVRTC import, disable ETC1 2020-09-23 11:22:51 +02:00
editor_export.h iOS: Fix multiple issues with PVRTC import, disable ETC1 2020-09-23 11:22:51 +02:00
editor_feature_profile.cpp doc: Sync classref with current source 2020-09-04 10:43:11 +02:00
editor_feature_profile.h Make the Import dock depend on the FileSystem dock 2020-08-27 02:01:14 -04:00
editor_file_dialog.cpp Updated getters and setters names for toplevel 2020-10-02 19:09:01 -04:00
editor_file_dialog.h Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
editor_file_system.cpp Rename the ".import" folder to ".godot/imported" 2020-09-28 05:23:45 -04:00
editor_file_system.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
editor_folding.cpp Remove String::find_last (same as rfind) 2020-07-03 15:26:22 +02:00
editor_folding.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
editor_fonts.cpp Change how default fonts are created, fixes #39235 2020-07-03 21:29:12 -03:00
editor_fonts.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
editor_help.cpp [Complex Test Layouts] Change String to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
editor_help.h Remove ToolButton in favor of Button 2020-06-19 20:49:49 +02:00
editor_help_search.cpp Revert "Adds fuzzy search for help search dialog" 2020-07-01 03:19:24 +12:00
editor_help_search.h Remove ToolButton in favor of Button 2020-06-19 20:49:49 +02:00
editor_inspector.cpp Renamed toplevel to be top_level 2020-10-01 03:17:33 -04:00
editor_inspector.h Revert "Fix editor inspector refresh not working" 2020-09-25 15:50:05 +02:00
editor_layouts_dialog.cpp Style: Enforce braces around if blocks and loops 2020-05-14 21:57:34 +02:00
editor_layouts_dialog.h Add override keywords. 2020-07-10 13:56:54 +01:00
editor_log.cpp Improvement for the Copy button in the Output Log 2020-09-14 21:57:54 +03:00
editor_log.h Remove unused class PaneDrag 2020-07-02 13:50:31 +02:00
editor_node.cpp Merge pull request #42018 from Leleat/create-user-dir-if-nonexistant 2020-09-24 15:21:01 +02:00
editor_node.h Expose methods to play scene from plugin code 2020-07-06 17:39:16 +03:00
editor_path.cpp Style: Enforce braces around if blocks and loops 2020-05-14 21:57:34 +02:00
editor_path.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
editor_plugin.cpp Added inspector_only option to inspect_object in EditorInterface. 2020-09-23 13:56:44 -04:00
editor_plugin.h Added inspector_only option to inspect_object in EditorInterface. 2020-09-23 13:56:44 -04:00
editor_plugin_settings.cpp Add a separate application focus/in notification out from Window focus notification. 2020-06-30 10:40:06 -03:00
editor_plugin_settings.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
editor_properties.cpp Accept DynamicFontData for Fonts 2020-08-25 18:12:35 +02:00
editor_properties.h Add override keywords. 2020-07-10 13:56:54 +01:00
editor_properties_array_dict.cpp Style: Enforce braces around if blocks and loops 2020-05-14 21:57:34 +02:00
editor_properties_array_dict.h Add override keywords. 2020-07-10 13:56:54 +01:00
editor_resource_preview.cpp Fixes FileSystem tree preview icon size on HiDPI 2020-09-30 15:46:52 +08:00
editor_resource_preview.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
editor_run.cpp [Complex Test Layouts] Change String to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
editor_run.h Expose methods to play scene from plugin code 2020-07-06 17:39:16 +03:00
editor_run_native.cpp Improve editor tooltips related to debugging 2020-08-03 14:20:08 +02:00
editor_run_native.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
editor_run_script.cpp Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
editor_run_script.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
editor_scale.cpp Style: Enforce separation line between function definitions 2020-05-14 16:54:55 +02:00
editor_scale.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
editor_sectioned_inspector.cpp Fix filtering of search results in SectionedInspector 2020-09-02 17:11:13 +07:00
editor_sectioned_inspector.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
editor_settings.cpp Remove breakpoints from editor settings 2020-09-10 20:35:28 +01:00
editor_settings.h Removed unnecessary keyword, fix comment style 2020-09-29 10:30:02 +02:00
editor_spin_slider.cpp Renamed toplevel to be top_level 2020-10-01 03:17:33 -04:00
editor_spin_slider.h Add override keywords. 2020-07-10 13:56:54 +01:00
editor_sub_scene.cpp Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
editor_sub_scene.h Add override keywords. 2020-07-10 13:56:54 +01:00
editor_themes.cpp Fixes DefaultProjectIcon scaling with editor scale 2020-09-22 15:38:44 +02:00
editor_themes.h Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
editor_translation_parser.cpp Updated Translation architecture to have TranslationPO, did some commit fixes and updated class Reference. 2020-08-19 03:01:53 +02:00
editor_translation_parser.h Update POT generation to handle context and plurals 2020-08-19 03:01:52 +02:00
editor_vcs_interface.cpp Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
editor_vcs_interface.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
export_template_manager.cpp Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
export_template_manager.h Add override keywords. 2020-07-10 13:56:54 +01:00
filesystem_dock.cpp Fixed expand/collapse folder option not showing in FileSystemDock 2020-09-07 22:09:53 +10:00
filesystem_dock.h Modified FileSystemDock so folders can be selected for reimport. 2020-08-14 00:04:37 -07:00
find_in_files.cpp [Complex Test Layouts] Change String to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
find_in_files.h Add override keywords. 2020-07-10 13:56:54 +01:00
groups_editor.cpp Remove ToolButton in favor of Button 2020-06-19 20:49:49 +02:00
groups_editor.h Remove ToolButton in favor of Button 2020-06-19 20:49:49 +02:00
import_dock.cpp check the params section exist before erasing it in import_dock 2020-05-20 01:04:21 +02:00
import_dock.h Fix multiple issues with the "Import" dock 2020-02-13 23:08:05 -03:00
input_map_editor.cpp [Complex Test Layouts] Change String to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
input_map_editor.h Refactor Project Settings: 2020-07-14 11:03:51 +02:00
inspector_dock.cpp Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
inspector_dock.h Remove ToolButton in favor of Button 2020-06-19 20:49:49 +02:00
localization_editor.cpp Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
localization_editor.h Refactor Project Settings: 2020-07-14 11:03:51 +02:00
multi_node_edit.cpp Style: Enforce braces around if blocks and loops 2020-05-14 21:57:34 +02:00
multi_node_edit.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
node_3d_editor_gizmos.cpp Rename RayCast's cast_to property to target_position 2020-09-10 19:06:56 +02:00
node_3d_editor_gizmos.h Add override keywords. 2020-07-10 13:56:54 +01:00
node_dock.cpp Remove ToolButton in favor of Button 2020-06-19 20:49:49 +02:00
node_dock.h Remove ToolButton in favor of Button 2020-06-19 20:49:49 +02:00
plugin_config_dialog.cpp Style: Enforce braces around if blocks and loops 2020-05-14 21:57:34 +02:00
plugin_config_dialog.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
pot_generator.cpp Update GDScriptTranslationParserPlugin to use GDSriptParser instead of RegEx. 2020-08-19 03:10:51 +02:00
pot_generator.h Update POT generation to handle context and plurals 2020-08-19 03:01:52 +02:00
progress_dialog.cpp Style: Enforce braces around if blocks and loops 2020-05-14 21:57:34 +02:00
progress_dialog.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
project_export.cpp Adds PCK encryption support (using script encryption key for export). 2020-09-05 14:53:39 +03:00
project_export.h Adds PCK encryption support (using script encryption key for export). 2020-09-05 14:53:39 +03:00
project_manager.cpp Rename the ".import" folder to ".godot/imported" 2020-09-28 05:23:45 -04:00
project_manager.h Fix not saving new filter order 2020-08-29 15:39:34 +02:00
project_settings_editor.cpp Add placeholders to the searchbars in the Project/Editor settings 2020-08-28 18:39:19 -03:00
project_settings_editor.h Fixed issues with adding custom project settings and added confirmation dialog when deleting settings. 2020-08-18 09:12:02 +10:00
property_editor.cpp Make all String float conversion methods be 64-bit 2020-07-27 18:38:53 -04:00
property_editor.h Fix custom property editor layout 2020-06-10 18:03:32 +03:00
property_selector.cpp Improve search and display in the editor property/method selector 2020-08-19 18:31:52 +02:00
property_selector.h Signals: Port more uses of connect_compat 2020-02-28 14:24:09 +01:00
pvrtc_compress.cpp Style: Enforce braces around if blocks and loops 2020-05-14 21:57:34 +02:00
pvrtc_compress.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
quick_open.cpp Improve quick open performance and update some behaviour 2020-07-14 14:02:06 +02:00
quick_open.h Improve quick open performance and update some behaviour 2020-07-14 14:02:06 +02:00
register_exporters.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
rename_dialog.cpp Minor visual improvements to the "Batch Rename" dialog 2020-08-14 15:57:07 -03:00
rename_dialog.h Add override keywords. 2020-07-10 13:56:54 +01:00
reparent_dialog.cpp Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
reparent_dialog.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
run_settings_dialog.cpp Style: Enforce braces around if blocks and loops 2020-05-14 21:57:34 +02:00
run_settings_dialog.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00
scene_tree_dock.cpp Fix changing icons' colors when switch dark and light theme 2020-09-17 09:33:19 +07:00
scene_tree_dock.h Fix changing icons' colors when switch dark and light theme 2020-09-17 09:33:19 +07:00
scene_tree_editor.cpp Merge pull request #38743 from arrowinaknee/node-config-warnings 2020-10-01 14:03:29 +02:00
scene_tree_editor.h Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
script_create_dialog.cpp Fix being able to create invalid scripts by pressing enter inside "Path" 2020-08-31 22:24:09 -03:00
script_create_dialog.h Add override keywords. 2020-07-10 13:56:54 +01:00
SCsub SCons: Refactor running commands through builders 2020-07-28 00:09:21 +03:00
settings_config_dialog.cpp Rename ShortCut to Shortcut which is more grammatically correct 2020-09-09 21:54:54 +02:00
settings_config_dialog.h Add override keywords. 2020-07-10 13:56:54 +01:00
shader_globals_editor.cpp Style: Enforce separation line between function definitions 2020-05-14 16:54:55 +02:00
shader_globals_editor.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2020-05-14 16:54:55 +02:00