tilemap-editor 3.2.4__tar.gz → 3.2.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tilemap_editor-3.2.4/src/tilemap_editor.egg-info → tilemap_editor-3.2.6}/PKG-INFO +1 -1
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/pyproject.toml +1 -1
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/editor.py +13 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6/src/tilemap_editor.egg-info}/PKG-INFO +1 -1
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor.egg-info/SOURCES.txt +1 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/layer_selector.py +9 -9
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/tile_selector.py +29 -45
- tilemap_editor-3.2.6/src/widgets/ui/confirm_dialog.py +149 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/LICENSE +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/MANIFEST.in +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/README.md +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/fonts/jetbrain-fonts/JetBrainsMono-Bold.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/fonts/jetbrain-fonts/JetBrainsMono-BoldItalic.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/fonts/jetbrain-fonts/JetBrainsMono-Italic.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/fonts/jetbrain-fonts/JetBrainsMono-Regular.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/fonts/noto/NotoSans-Bold.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/fonts/noto/NotoSans-BoldItalic.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/fonts/noto/NotoSans-Italic.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/fonts/noto/NotoSans-Regular.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/arrow-down.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/check.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/checked.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/close.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/duplicate.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/error.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/file.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/filedead.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/fit.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/folder.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/grid.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/image.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/info.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/load.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/loop.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/pan.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/pause.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/pencil.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/play.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/plus.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/radio.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/reset.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/save.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/stop.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/tilemap.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/tileset.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/unchecked.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/warning.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/zoomin.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/icons/zoomout.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/setup.cfg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/configs/themes.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/constants.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/event_map.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/layers.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/main.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/__init__.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/character_collision/__init__.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/character_collision/editor.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/character_collision/models.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/character_collision/protocols.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/character_collision/shape_editor.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/character_collision/standalone.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/object_tileset_collision/__init__.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/object_tileset_collision/editor.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/object_tileset_collision/models.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/object_tileset_collision/protocols.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/object_tileset_collision/standalone.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_animation/__init__.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_animation/__main__.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_animation/clipboard_util.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_animation/editor.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_animation/frame_picker.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_animation/models.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_animation/preview.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_animation/protocols.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_animation/runtime_load.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_animation/standalone.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_animation/timeline.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_animation/validation.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_editor/__init__.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_editor/editor.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_editor/standalone.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/tileset_collision/__init__.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/tileset_collision/collision_painter.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/tileset_collision/editor.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/tileset_collision/models.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/tileset_collision/protocols.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/tileset_collision/standalone.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/standalone_automap.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/standalone_error_console.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/standalone_filemanager.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/standalone_image_viewer.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/__init__.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/__main__.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/__init__.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/fonts/jetbrain-fonts/JetBrainsMono-Bold.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/fonts/jetbrain-fonts/JetBrainsMono-BoldItalic.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/fonts/jetbrain-fonts/JetBrainsMono-Italic.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/fonts/jetbrain-fonts/JetBrainsMono-Regular.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/fonts/noto/NotoSans-Bold.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/fonts/noto/NotoSans-BoldItalic.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/fonts/noto/NotoSans-Italic.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/fonts/noto/NotoSans-Regular.ttf +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/ToolMove.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/arrow-down.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/check.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/checked.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/close.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/duplicate.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/error.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/file.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/filedead.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/fit.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/folder.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/grid.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/image.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/info.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/load.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/loop.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/pan.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/pause.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/pencil.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/play.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/plus.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/radio.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/reset.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/save.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/stop.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/tilemap.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/tileset.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/unchecked.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/warning.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/zoomin.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/zoomout.svg +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/cli.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/main.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/settings.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor.egg-info/dependency_links.txt +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor.egg-info/entry_points.txt +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor.egg-info/requires.txt +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor.egg-info/top_level.txt +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/ttypes/__init__.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/ttypes/tilemap.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/utils/__init__.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/utils/editor_preference.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/utils/error_handler.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/utils/font_manager.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/utils/history.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/utils/icon_manager.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/utils/icons_cache.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/utils/log_capture.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/utils/project_paths.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/utils/serialization.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/utils/standalone.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/utils/validation.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/__init__.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/automap_models.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/autotile_template.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/autotiler.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/filemanager.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/input.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/map_properties.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/mapsetup.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/regex_automap_designer.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/spritesheet_grid.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/tile_grid.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/collision_layer_mask.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/collision_layer_sidebar.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/draw_utils.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/fileinput.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/layer_type_dialog.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/menubar.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/mode_indicator.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/notification.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/property_editor.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/region_selector.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/status_bar.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/theme.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/tileset_type_dialog.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/toolbar.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/widgets/ui/tooltip.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/tests/test_animation_library_grid_offset.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/tests/test_collision_layer_mask.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/tests/test_collision_layer_sidebar.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/tests/test_editor_pan_mode.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/tests/test_project_paths.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/tests/test_render_scale.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/tests/test_sprite_animation_editor_grid.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/tests/test_tile_grid_selection.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/tests/test_tile_selector_pick.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/tests/test_tilemap_save.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/tests/test_timeline_invalidate_cache.py +0 -0
- {tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/tests/test_toolbar_tools.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tilemap-editor"
|
|
7
|
-
version = "3.2.
|
|
7
|
+
version = "3.2.6"
|
|
8
8
|
description = "Pygame tilemap editor with SVG icons, professional UI, and sprite animation tools"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -27,6 +27,7 @@ from widgets.tile_grid import TileGrid
|
|
|
27
27
|
from widgets.layer_selector import LayerSelector
|
|
28
28
|
from widgets.ui.fileinput import FilenameInput
|
|
29
29
|
from widgets.ui.tileset_type_dialog import TilesetTypeDialog
|
|
30
|
+
from widgets.ui.confirm_dialog import ConfirmDialog
|
|
30
31
|
from widgets.ui.layer_type_dialog import LayerTypeDialog
|
|
31
32
|
from widgets.ui.menubar import MenuBar
|
|
32
33
|
from widgets.ui.toolbar import Toolbar
|
|
@@ -208,6 +209,7 @@ class Editor:
|
|
|
208
209
|
on_cancel=lambda: None,
|
|
209
210
|
)
|
|
210
211
|
self.tileset_type_dialog = TilesetTypeDialog(editor_rect)
|
|
212
|
+
self.confirm_dialog = ConfirmDialog(editor_rect)
|
|
211
213
|
self.layer_type_dialog = LayerTypeDialog(editor_rect)
|
|
212
214
|
|
|
213
215
|
self.menubar = MenuBar(self, self.width, 30)
|
|
@@ -542,6 +544,8 @@ class Editor:
|
|
|
542
544
|
|
|
543
545
|
if hasattr(self, "tileset_type_dialog") and self.tileset_type_dialog:
|
|
544
546
|
self.tileset_type_dialog.editor_rect = rect_full
|
|
547
|
+
if hasattr(self, "confirm_dialog") and self.confirm_dialog:
|
|
548
|
+
self.confirm_dialog.editor_rect = rect_full
|
|
545
549
|
if hasattr(self, "layer_type_dialog") and self.layer_type_dialog:
|
|
546
550
|
self.layer_type_dialog.editor_rect = rect_full
|
|
547
551
|
|
|
@@ -1052,6 +1056,10 @@ class Editor:
|
|
|
1052
1056
|
self.tileset_type_dialog.handle_event(event)
|
|
1053
1057
|
continue
|
|
1054
1058
|
|
|
1059
|
+
if self.confirm_dialog.active:
|
|
1060
|
+
self.confirm_dialog.handle_event(event)
|
|
1061
|
+
continue
|
|
1062
|
+
|
|
1055
1063
|
if self.layer_type_dialog.active:
|
|
1056
1064
|
self.layer_type_dialog.handle_event(event)
|
|
1057
1065
|
continue
|
|
@@ -1261,6 +1269,11 @@ class Editor:
|
|
|
1261
1269
|
overlay.fill((0, 0, 0, 150))
|
|
1262
1270
|
self.screen.blit(overlay, (0, 0))
|
|
1263
1271
|
self.tileset_type_dialog.draw(self.screen)
|
|
1272
|
+
if self.confirm_dialog.active:
|
|
1273
|
+
overlay = pygame.Surface((self.width, self.height), pygame.SRCALPHA)
|
|
1274
|
+
overlay.fill((0, 0, 0, 150))
|
|
1275
|
+
self.screen.blit(overlay, (0, 0))
|
|
1276
|
+
self.confirm_dialog.draw(self.screen)
|
|
1264
1277
|
if self.layer_type_dialog.active:
|
|
1265
1278
|
overlay = pygame.Surface((self.width, self.height), pygame.SRCALPHA)
|
|
1266
1279
|
overlay.fill((0, 0, 0, 150))
|
|
@@ -164,6 +164,7 @@ src/widgets/tile_grid.py
|
|
|
164
164
|
src/widgets/tile_selector.py
|
|
165
165
|
src/widgets/ui/collision_layer_mask.py
|
|
166
166
|
src/widgets/ui/collision_layer_sidebar.py
|
|
167
|
+
src/widgets/ui/confirm_dialog.py
|
|
167
168
|
src/widgets/ui/draw_utils.py
|
|
168
169
|
src/widgets/ui/fileinput.py
|
|
169
170
|
src/widgets/ui/layer_type_dialog.py
|
|
@@ -382,13 +382,6 @@ class LayerSelector:
|
|
|
382
382
|
pygame.draw.rect(screen, color, item_rect)
|
|
383
383
|
pygame.draw.rect(screen, COLORS.border_soft, item_rect, 1)
|
|
384
384
|
|
|
385
|
-
if i == self.renaming_layer_idx:
|
|
386
|
-
pygame.draw.rect(
|
|
387
|
-
screen,
|
|
388
|
-
COLORS.selected,
|
|
389
|
-
Rect(item_rect.x + 4, item_rect.y + 4, 120, 20),
|
|
390
|
-
border_radius=SHAPE.radius_sm,
|
|
391
|
-
)
|
|
392
385
|
mx, my = pygame.mouse.get_pos()
|
|
393
386
|
eye_rect = self._get_eye_icon_rect(i, (mx, my))
|
|
394
387
|
lock_rect = self._get_lock_icon_rect(i, (mx, my))
|
|
@@ -396,13 +389,20 @@ class LayerSelector:
|
|
|
396
389
|
self.editor.tooltip.show("Toggle Visibility", (mx + 10, my + 10))
|
|
397
390
|
elif lock_rect and lock_rect.collidepoint(mx, my):
|
|
398
391
|
self.editor.tooltip.show("Toggle Lock", (mx + 10, my + 10))
|
|
392
|
+
|
|
393
|
+
if i == self.renaming_layer_idx:
|
|
394
|
+
pygame.draw.rect(
|
|
395
|
+
screen,
|
|
396
|
+
COLORS.selected,
|
|
397
|
+
Rect(item_rect.x + 4, item_rect.y + 4, 120, 20),
|
|
398
|
+
border_radius=SHAPE.radius_sm,
|
|
399
|
+
)
|
|
399
400
|
name_txt = self.font_layer.render(
|
|
400
401
|
self.rename_text + "|", True, self.text_color
|
|
401
402
|
)
|
|
402
|
-
screen.blit(name_txt, (item_rect.x + 5, item_rect.y + 5))
|
|
403
403
|
else:
|
|
404
404
|
name_txt = self.font_layer.render(layer.name, True, self.text_color)
|
|
405
|
-
|
|
405
|
+
screen.blit(name_txt, (item_rect.x + 5, item_rect.y + 5))
|
|
406
406
|
|
|
407
407
|
eye_x = item_rect.right - 25
|
|
408
408
|
eye_y = item_rect.y + 7
|
|
@@ -348,66 +348,56 @@ class TileSelector:
|
|
|
348
348
|
if path.exists():
|
|
349
349
|
try:
|
|
350
350
|
surf = pygame.image.load(path).convert_alpha()
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
)
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
)
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
self.
|
|
365
|
-
self.active_idx = len(self.tilesets) - 1
|
|
366
|
-
self.tileset_map[self.active_idx] = tileset_data
|
|
367
|
-
if tileset_type == "object":
|
|
368
|
-
self.selected_tile = (0, 0, surf.get_width(), surf.get_height())
|
|
369
|
-
else:
|
|
370
|
-
print("Tileset isnt multiple of tile size")
|
|
351
|
+
tileset_data = TilesetData(
|
|
352
|
+
path.name, path, surf, tileset_type=tileset_type
|
|
353
|
+
)
|
|
354
|
+
tileset_data.properties = properties
|
|
355
|
+
tileset_data.tile_properties = {
|
|
356
|
+
int(k): v for k, v in tile_properties.items()
|
|
357
|
+
}
|
|
358
|
+
self._load_collision_data_for_tileset(tileset_data)
|
|
359
|
+
|
|
360
|
+
self.tilesets.append(tileset_data)
|
|
361
|
+
self.active_idx = len(self.tilesets) - 1
|
|
362
|
+
self.tileset_map[self.active_idx] = tileset_data
|
|
363
|
+
if tileset_type == "object":
|
|
364
|
+
self.selected_tile = (0, 0, surf.get_width(), surf.get_height())
|
|
371
365
|
except Exception as e:
|
|
372
366
|
error_handler.capture(e, context="load_tileset_surface")
|
|
373
367
|
|
|
374
368
|
def _on_tileset_type_selected(self, tileset_type: str):
|
|
375
369
|
"""Callback when user selects tileset type from dialog."""
|
|
376
|
-
print(f"DEBUG: Tileset type selected: {tileset_type}")
|
|
377
370
|
if not hasattr(self, "_pending_tileset_path"):
|
|
378
|
-
print("DEBUG: No pending tileset path!")
|
|
379
371
|
return
|
|
380
372
|
|
|
381
|
-
path = self._pending_tileset_path
|
|
382
373
|
surf = self._pending_tileset_surf
|
|
383
374
|
|
|
384
375
|
if tileset_type == "tile" and not is_image_multipleof(
|
|
385
376
|
surf.get_size(), self.editor.tilemap.tile_size
|
|
386
377
|
):
|
|
387
|
-
|
|
388
|
-
|
|
378
|
+
w, h = surf.get_size()
|
|
379
|
+
tw, th = self.editor.tilemap.tile_size
|
|
380
|
+
self.editor.confirm_dialog.show(
|
|
381
|
+
title="Tileset Size Warning",
|
|
382
|
+
message=f"Image size ({w}x{h}) is not an exact multiple of tile size ({tw}x{th}). "
|
|
383
|
+
f"Some pixels at the edges will be ignored. Proceed?",
|
|
384
|
+
on_confirm=lambda: self._commit_tileset_load(tileset_type),
|
|
385
|
+
on_cancel=self._on_tileset_type_cancel,
|
|
389
386
|
)
|
|
390
|
-
delattr(self, "_pending_tileset_path")
|
|
391
|
-
delattr(self, "_pending_tileset_surf")
|
|
392
|
-
if self._pending_tileset_queue:
|
|
393
|
-
error_handler.capture(
|
|
394
|
-
Exception(
|
|
395
|
-
f"Queue error continuation: {len(self._pending_tileset_queue)} items"
|
|
396
|
-
),
|
|
397
|
-
context="tileset_queue_error",
|
|
398
|
-
severity="info",
|
|
399
|
-
)
|
|
400
|
-
# Delay slightly to allow dialog to fully close
|
|
401
|
-
pygame.time.set_timer(pygame.USEREVENT + 1, 100, 1)
|
|
402
|
-
self._queue_timer_active = True
|
|
403
387
|
return
|
|
404
388
|
|
|
389
|
+
self._commit_tileset_load(tileset_type)
|
|
390
|
+
|
|
391
|
+
def _commit_tileset_load(self, tileset_type: str):
|
|
392
|
+
path = self._pending_tileset_path
|
|
393
|
+
surf = self._pending_tileset_surf
|
|
394
|
+
|
|
405
395
|
tileset_data = TilesetData(path.name, path, surf, tileset_type=tileset_type)
|
|
406
396
|
self._load_collision_data_for_tileset(tileset_data)
|
|
407
397
|
self.tilesets.append(tileset_data)
|
|
408
398
|
self.active_idx = len(self.tilesets) - 1
|
|
409
399
|
self.tileset_map[self.active_idx] = tileset_data
|
|
410
|
-
|
|
400
|
+
|
|
411
401
|
if tileset_type == "object":
|
|
412
402
|
self.selected_tile = (0, 0, surf.get_width(), surf.get_height())
|
|
413
403
|
else:
|
|
@@ -416,14 +406,8 @@ class TileSelector:
|
|
|
416
406
|
delattr(self, "_pending_tileset_path")
|
|
417
407
|
delattr(self, "_pending_tileset_surf")
|
|
418
408
|
if self._pending_tileset_queue:
|
|
419
|
-
print(
|
|
420
|
-
f"DEBUG: Continuing queue, {len(self._pending_tileset_queue)} items remaining"
|
|
421
|
-
)
|
|
422
|
-
# Delay slightly to allow dialog to fully close
|
|
423
409
|
pygame.time.set_timer(pygame.USEREVENT + 1, 100, 1)
|
|
424
410
|
self._queue_timer_active = True
|
|
425
|
-
else:
|
|
426
|
-
print("DEBUG: Queue processing complete")
|
|
427
411
|
|
|
428
412
|
def _load_collision_data_for_tileset(self, tileset_data: TilesetData) -> None:
|
|
429
413
|
"""Attach existing collision data for tilesets that have sidecar files."""
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import pygame
|
|
2
|
+
from pygame import Rect, Surface
|
|
3
|
+
from typing import Callable, Optional
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class ConfirmDialog:
|
|
7
|
+
def __init__(self, editor_rect: Rect):
|
|
8
|
+
self.editor_rect = editor_rect
|
|
9
|
+
self.rect = Rect(0, 0, 420, 180)
|
|
10
|
+
self.rect.center = editor_rect.center
|
|
11
|
+
|
|
12
|
+
self.active = False
|
|
13
|
+
self.title = ""
|
|
14
|
+
self.message = ""
|
|
15
|
+
self.on_confirm: Optional[Callable[[], None]] = None
|
|
16
|
+
self.on_cancel: Optional[Callable[[], None]] = None
|
|
17
|
+
|
|
18
|
+
self.bg_color = (40, 40, 40)
|
|
19
|
+
self.border_color = (100, 100, 100)
|
|
20
|
+
self.text_color = (255, 255, 255)
|
|
21
|
+
self.warn_color = (255, 200, 60)
|
|
22
|
+
self.button_color = (60, 100, 180)
|
|
23
|
+
self.button_hover_color = (80, 120, 200)
|
|
24
|
+
|
|
25
|
+
self.btn_proceed = Rect(0, 0, 110, 30)
|
|
26
|
+
self.btn_cancel = Rect(0, 0, 110, 30)
|
|
27
|
+
|
|
28
|
+
self.font_title = pygame.font.SysFont("Arial", 18, bold=True)
|
|
29
|
+
self.font_text = pygame.font.SysFont("Arial", 14)
|
|
30
|
+
self.font_btn = pygame.font.SysFont("Arial", 14, bold=True)
|
|
31
|
+
|
|
32
|
+
self.btn_proceed_hover = False
|
|
33
|
+
self.btn_cancel_hover = False
|
|
34
|
+
self._layout()
|
|
35
|
+
|
|
36
|
+
def _layout(self):
|
|
37
|
+
self.rect.center = self.editor_rect.center
|
|
38
|
+
btn_y = self.rect.bottom - 50
|
|
39
|
+
cx = self.rect.centerx
|
|
40
|
+
self.btn_cancel = Rect(cx - 120, btn_y, 110, 30)
|
|
41
|
+
self.btn_proceed = Rect(cx + 10, btn_y, 110, 30)
|
|
42
|
+
|
|
43
|
+
def show(
|
|
44
|
+
self,
|
|
45
|
+
title: str,
|
|
46
|
+
message: str,
|
|
47
|
+
on_confirm: Callable[[], None],
|
|
48
|
+
on_cancel: Callable[[], None],
|
|
49
|
+
):
|
|
50
|
+
if self.active:
|
|
51
|
+
self.hide()
|
|
52
|
+
self.active = True
|
|
53
|
+
self.title = title
|
|
54
|
+
self.message = message
|
|
55
|
+
self.on_confirm = on_confirm
|
|
56
|
+
self.on_cancel = on_cancel
|
|
57
|
+
self.btn_proceed_hover = False
|
|
58
|
+
self.btn_cancel_hover = False
|
|
59
|
+
self._layout()
|
|
60
|
+
|
|
61
|
+
def hide(self):
|
|
62
|
+
self.active = False
|
|
63
|
+
|
|
64
|
+
def handle_event(self, event: pygame.event.Event) -> bool:
|
|
65
|
+
if not self.active:
|
|
66
|
+
return False
|
|
67
|
+
|
|
68
|
+
self._layout()
|
|
69
|
+
mouse_pos = pygame.mouse.get_pos()
|
|
70
|
+
|
|
71
|
+
if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
|
|
72
|
+
if self.btn_proceed.collidepoint(mouse_pos):
|
|
73
|
+
if self.on_confirm:
|
|
74
|
+
self.on_confirm()
|
|
75
|
+
self.hide()
|
|
76
|
+
return True
|
|
77
|
+
if self.btn_cancel.collidepoint(mouse_pos):
|
|
78
|
+
if self.on_cancel:
|
|
79
|
+
self.on_cancel()
|
|
80
|
+
self.hide()
|
|
81
|
+
return True
|
|
82
|
+
|
|
83
|
+
elif event.type == pygame.KEYDOWN:
|
|
84
|
+
if event.key == pygame.K_ESCAPE:
|
|
85
|
+
if self.on_cancel:
|
|
86
|
+
self.on_cancel()
|
|
87
|
+
self.hide()
|
|
88
|
+
return True
|
|
89
|
+
elif event.key == pygame.K_RETURN:
|
|
90
|
+
if self.on_confirm:
|
|
91
|
+
self.on_confirm()
|
|
92
|
+
self.hide()
|
|
93
|
+
return True
|
|
94
|
+
|
|
95
|
+
elif event.type == pygame.MOUSEMOTION:
|
|
96
|
+
self.btn_proceed_hover = self.btn_proceed.collidepoint(mouse_pos)
|
|
97
|
+
self.btn_cancel_hover = self.btn_cancel.collidepoint(mouse_pos)
|
|
98
|
+
|
|
99
|
+
return False
|
|
100
|
+
|
|
101
|
+
def draw(self, surface: Surface):
|
|
102
|
+
if not self.active:
|
|
103
|
+
return
|
|
104
|
+
|
|
105
|
+
self._layout()
|
|
106
|
+
pygame.draw.rect(surface, self.bg_color, self.rect)
|
|
107
|
+
pygame.draw.rect(surface, self.border_color, self.rect, 2)
|
|
108
|
+
|
|
109
|
+
title_surf = self.font_title.render(self.title, True, self.warn_color)
|
|
110
|
+
title_rect = title_surf.get_rect(topleft=(self.rect.x + 20, self.rect.y + 15))
|
|
111
|
+
surface.blit(title_surf, title_rect)
|
|
112
|
+
|
|
113
|
+
lines = self._wrap_text(self.message, self.rect.width - 40)
|
|
114
|
+
y = self.rect.y + 50
|
|
115
|
+
for line in lines:
|
|
116
|
+
line_surf = self.font_text.render(line, True, self.text_color)
|
|
117
|
+
surface.blit(line_surf, (self.rect.x + 20, y))
|
|
118
|
+
y += 22
|
|
119
|
+
|
|
120
|
+
proceed_color = self.button_hover_color if self.btn_proceed_hover else self.button_color
|
|
121
|
+
cancel_color = self.button_hover_color if self.btn_cancel_hover else (60, 60, 60)
|
|
122
|
+
|
|
123
|
+
pygame.draw.rect(surface, cancel_color, self.btn_cancel)
|
|
124
|
+
pygame.draw.rect(surface, proceed_color, self.btn_proceed)
|
|
125
|
+
|
|
126
|
+
cancel_text = self.font_btn.render("Cancel", True, self.text_color)
|
|
127
|
+
proceed_text = self.font_btn.render("Proceed", True, self.text_color)
|
|
128
|
+
|
|
129
|
+
cancel_text_rect = cancel_text.get_rect(center=self.btn_cancel.center)
|
|
130
|
+
proceed_text_rect = proceed_text.get_rect(center=self.btn_proceed.center)
|
|
131
|
+
|
|
132
|
+
surface.blit(cancel_text, cancel_text_rect)
|
|
133
|
+
surface.blit(proceed_text, proceed_text_rect)
|
|
134
|
+
|
|
135
|
+
def _wrap_text(self, text: str, max_width: int):
|
|
136
|
+
words = text.split()
|
|
137
|
+
lines = []
|
|
138
|
+
current = ""
|
|
139
|
+
for word in words:
|
|
140
|
+
test = f"{current} {word}".strip()
|
|
141
|
+
if self.font_text.size(test)[0] <= max_width:
|
|
142
|
+
current = test
|
|
143
|
+
else:
|
|
144
|
+
if current:
|
|
145
|
+
lines.append(current)
|
|
146
|
+
current = word
|
|
147
|
+
if current:
|
|
148
|
+
lines.append(current)
|
|
149
|
+
return lines
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/fonts/jetbrain-fonts/JetBrainsMono-Bold.ttf
RENAMED
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/fonts/jetbrain-fonts/JetBrainsMono-Italic.ttf
RENAMED
|
File without changes
|
{tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/assets/fonts/jetbrain-fonts/JetBrainsMono-Regular.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/character_collision/shape_editor.py
RENAMED
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/object_tileset_collision/__init__.py
RENAMED
|
File without changes
|
{tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/object_tileset_collision/editor.py
RENAMED
|
File without changes
|
{tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/object_tileset_collision/models.py
RENAMED
|
File without changes
|
{tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/object_tileset_collision/protocols.py
RENAMED
|
File without changes
|
{tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/object_tileset_collision/standalone.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/sprite_animation/clipboard_util.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/plugins/tileset_collision/collision_painter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/fonts/noto/NotoSans-Bold.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor/assets/icons/arrow-down.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.4 → tilemap_editor-3.2.6}/src/tilemap_editor.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|