reduz
746dddc067
Replace most uses of Map by HashMap
...
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
(order matters) but use is discouraged.
There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
Vitika9
aef3b5681d
Changed signals of ItemList
2022-05-06 13:09:04 +05:30
Rémi Verschelde
c273ddc3ee
Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
...
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.
2022-05-02 16:28:25 +02:00
kobewi
142d0e7d75
Change Place Random Tiles to an icon
2022-05-01 22:13:30 +02:00
Rémi Verschelde
8dfa12cae7
Merge pull request #59979 from bruvzg/cpp_check2
2022-04-27 10:08:26 +02:00
FireForge
3073b85de9
Rename theme properties to include underscores
...
- check_vadjust -> check_v_adjust
- close_h_ofs -> close_h_offset
- close_v_ofs -> close_v_offset
- commentfocus -> comment_focus
- hseparation -> h_separation
- ofs -> offset
- selectedframe -> selected_frame
- state_machine_selectedframe -> state_machine_selected_frame
- table_hseparation -> table_h_separation
- table_vseparation -> table_v_separation
- vseparation -> v_separation
2022-04-23 11:16:18 -05:00
bruvzg
de4c97758a
Fix more issues found by cppcheck.
2022-04-20 10:34:00 +03:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck.
2022-04-06 14:34:37 +03:00
Rémi Verschelde
f8ab79e68a
Zero initialize all pointer class and struct members
...
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
Michael Alexsander
deb1342036
Make TabBar/Container
default their alignments to the left instead of center
2022-03-17 18:12:23 -03:00
kobewi
42078dec9f
Allow negative indexes in ItemList and PopupMenu
2022-03-12 01:14:03 +01:00
Igor Kordiukiewicz
ed0da06958
Added property hint to id property in tile set atlas source editor
2022-03-02 20:33:03 +01:00
bruvzg
74ff5921d6
Improve popup window handling.
...
Add window FLAG_POPUP and a platform specific routines to control popup auto-hiding and event forwarding.
2022-02-25 09:33:27 +02:00
kobewi
b727b81468
Fix source picking with sort
2022-02-24 01:20:21 +01:00
SaracenOne
04535bdc7d
Fix contextual tileset editor and ensure button is always visible when tileset is available
2022-02-21 13:34:11 +00:00
Rémi Verschelde
009254d87c
Merge pull request #58187 from jakobbouchard/notification-switch-chunk-c
...
Convert _notification methods to switch - Chunk C
2022-02-16 20:58:55 +01:00
Jakob Bouchard
6553f5c242
Convert _notification methods to switch - Chunk C
2022-02-16 13:03:05 -05:00
kobewi
547786650f
Automatically select source of the picked tile
2022-02-16 00:39:00 +01:00
Rémi Verschelde
11572c6e30
Editor: Cleanup some includes dependencies
...
Removes some unnecessary includes from `editor_node.h`, and instead add
those where they're used.
Removes unnecessary `editor_node.h` includes in various editor classes.
Renames `dynamicfont` to `dynamic_font` in a couple files.
Misc cleanup while jumping through that rabbit hole.
2022-02-15 14:54:15 +01:00
Rémi Verschelde
6d708dfd6a
Merge pull request #57329 from Ev01/tileset-editor-minimum-zoom
2022-02-15 14:20:22 +01:00
trollodel
05b56f316d
Remove most EditorNode constructor parameters and fields
2022-02-14 14:16:24 +01:00
Hendrik Brucker
b396fd4eef
Improve compilation speed (forward declarations/includes cleanup)
2022-02-12 02:46:22 +01:00
Rémi Verschelde
fc076ece3d
Revert "Add missing SNAME macro optimization to all theme methods call"
...
This reverts commit a988fad9a0
.
As discussed in #57725 and clarified in #57788 , `SNAME` is not meant to be used
everywhere but only in critical code paths. For theme methods specifically, it
was by design that only getters use `SNAME` and not setters.
2022-02-08 10:17:25 +01:00
jmb462
a988fad9a0
Add missing SNAME macro optimization to all theme methods call
2022-02-06 23:06:11 +01:00
jmb462
1ce81dc5f2
Add missing SNAME macro optimization in some function calls
2022-02-06 15:54:04 +01:00
Rémi Verschelde
3db1d689ce
Merge pull request #57631 from groud/terrain_fix_with_empty_cells
2022-02-04 19:03:44 +01:00
Gilles Roudière
64e53cdc55
Fixes terrain painting on TileMaps when using empty terrain bits
2022-02-04 18:10:12 +01:00
bruvzg
244db37508
Cleanup and move char functions to the char_utils.h
header.
2022-02-04 11:35:01 +02:00
Markus Sauermann
51b5b51653
Fix TileMap Display Grid fadeout
2022-02-01 18:58:27 +01:00
Ev01
c66ab56544
Set a minimum zoom of 1% and a maximum zoom of 10,000% on the tileset editor
...
Fixes issue #57292 where zooming out too much stops
you from being able to zoom back in
2022-01-30 13:45:14 +11:00
Rémi Verschelde
e22a162003
Merge pull request #57365 from pycbouh/editor-icons-uniformity
2022-01-28 23:53:23 +01:00
Yuri Sizov
876345191f
Fix theme application in various curve editors
2022-01-29 01:03:43 +03:00
Rémi Verschelde
b8b33df178
TileSetAtlasSource: Make get_tile_data
return TileData *
...
This is now possible thanks to `Variant` changes.
Also unbind some `_` prefixed methods which don't need to be exposed.
2022-01-28 14:27:12 +01:00
Igor Kordiukiewicz
a6b20c1816
Fixes TileMap editor not disappearing
2022-01-27 02:49:29 +01:00
kobewi
e793331cd7
Allow sorting tileset sources
2022-01-26 13:58:32 +01:00
kobewi
98692d68c3
Minor tweaks and fixes to panning
2022-01-23 13:49:53 +01:00
kobewi
74bfe88267
Add ViewPanner to 2D editor
2022-01-21 18:35:06 +01:00
Rémi Verschelde
472b5b1167
Merge pull request #56249 from PucklaMotzer09/physics_layer_tooltip
2022-01-14 21:04:28 +01:00
luz paz
858bcd5058
Fix various typos
...
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inh,inout,leapyear,lod,nd,numer,ois,ony,paket,ro,seeked,sinc,switchs,te,uint,varn,vew`
2022-01-13 23:20:01 -05:00
PucklaMotzer09
56b47b673e
Add tooltips to all tile data editor properties
2022-01-13 16:04:54 +01:00
Rémi Verschelde
52c41e6cc0
Merge pull request #56253 from PucklaMotzer09/tile_editor_select
2022-01-13 11:45:15 +01:00
kobewi
ba7ed05792
Unify panning in sub-editors and make it configurable
2022-01-11 13:57:19 +01:00
kobewi
562fc4cc0d
Rename TextureRect.expand to ignore_texture_size
2022-01-07 20:21:17 +01:00
Rémi Verschelde
6994602e4f
Merge pull request #56429 from PucklaMotzer09/tile_set_editor_hide
2022-01-04 10:22:47 +01:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
PucklaMotzer09
65881a9734
Correctly show and hide tile set editor panel
2022-01-02 15:22:51 +01:00
PucklaMotzer09
d45cab99ec
Correctly deselect properties of TileDataCollisionEditor
2021-12-26 16:26:58 +01:00
Rémi Verschelde
4129c1d140
Merge pull request #55299 from nathanfranke/renames
2021-12-09 10:22:24 +01:00
Nathan Franke
41a20171eb
align to horizontal_alignment, valign to vertical_alignment, related
2021-12-09 01:38:46 -06:00
kobewi
3f4728fe54
Fix some containers disabling wrong scrollbars
2021-12-09 00:25:17 +01:00
kobewi
841a9ef820
ScrollContainer's scrollbar visibility is now enum
2021-12-07 18:27:12 +01:00
Aaron Franke
24f57886d0
Expose max_axis_index and max_axis_index for Vector2(i)
...
Some cleanup with Vector3(i)'s methods so that it is consistent with Vector2, for example it returns enums internally (GDScript still gets ints).
2021-12-02 23:45:41 -06:00
Fazil Babu
61c2d397d6
Right-clicking with copied tiles cancels it
2021-11-30 00:23:44 +05:30
Lightning_A
e078f970db
Rename remove()
to remove_at()
when removing by index
2021-11-23 18:58:57 -07:00
Yuri Roubinsky
eabf8f5edf
Added reset_size
method to Control
and Window
classes
2021-11-22 16:55:21 +03:00
Aaron Franke
3c0fdcc8ac
Use "enum class" for input enums
2021-11-12 15:37:54 -06:00
Gilles Roudière
1224d7a25c
Implement texture padding in TileSetAtlasSources
2021-11-12 15:14:10 +01:00
Rémi Verschelde
57ae154e86
Merge pull request #53987 from groud/tile_data_inspector_plugin
2021-11-12 15:10:54 +01:00
Brian Semrau
a90e318a19
Fix previews sometimes displaying wrong/blank image
2021-11-05 12:58:14 -04:00
Brian Semrau
ac24070056
Use Callable in RS::request_frame_drawn_callback
2021-11-05 01:59:38 -04:00
Rémi Verschelde
529968df30
Merge pull request #54396 from groud/implement_terrain_other_brushes
2021-11-01 22:27:06 +01:00
Gilles Roudière
699f020f1d
Fix TileSet editor drag and drop not working
2021-11-01 10:22:41 +01:00
Gilles Roudière
c609d39214
Implement missing TileMap brushes for terrains
2021-10-29 19:46:42 +02:00
Yuri Sizov
12838bd99d
Add focus font color to Button and derivatives
2021-10-26 17:42:40 +03:00
Gilles Roudière
cec004adf0
Implement polygons editors in the tiles selection mode
2021-10-26 12:38:36 +02:00
Rémi Verschelde
01afa39d21
Merge pull request #54073 from groud/terrains_for_procgen
2021-10-26 08:15:07 +02:00
bruvzg
ebbc25e89c
Ignore empty Font resources as theme override.
...
Add range hint to font_size properties.
Remove excessive `base_size` Font property.
2021-10-25 14:05:37 +03:00
Gilles Roudière
d1aef45072
Allow updating TileMap cells using surrounding terrains
2021-10-21 16:57:28 +02:00
Rémi Verschelde
c942d567eb
Merge pull request #53926 from YeldhamDev/i_am_tabbar_now
2021-10-20 15:42:41 +02:00
Gilles Roudière
5317b79a1d
Remove the tilemap/tileset editor switch, move it to tabs
2021-10-19 17:11:34 +02:00
Michael Alexsander
67acb7de6e
Rename Tabs
to TabBar
2021-10-19 11:37:31 -03:00
Gilles Roudière
1a95f893c4
Implement TileMap patterns palette
2021-10-19 11:57:37 +02:00
Rémi Verschelde
4387f9645b
Merge pull request #52940 from groud/toast_notification
2021-10-19 09:57:13 +02:00
Rémi Verschelde
21f1ac8bf3
Merge pull request #53805 from groud/name_to_tileset_sources
2021-10-19 09:56:19 +02:00
Gilles Roudière
3b42660105
Add a name to TileSet sources
2021-10-14 14:54:48 +02:00
Gilles Roudière
0587e5e018
Implement toast notifications in the editor
2021-10-14 13:30:54 +02:00
kobewi
0afd47d8bc
Add tool quick-select to tile editor
2021-10-14 02:24:39 +02:00
Rémi Verschelde
004b44e915
Merge pull request #53767 from groud/improve_tile_set_change_performances
2021-10-13 16:03:31 +02:00
Gilles Roudière
0de2fce3e1
Greatly improve editor performances by deferring tiles related updates
...
Solve few update problems
2021-10-13 14:49:47 +02:00
Gilles Roudière
b9151860f3
Prevent tiles outside atlas texture
2021-10-13 13:44:02 +02:00
Rémi Verschelde
94ce83beff
Merge pull request #53678 from groud/fix_tilemap_selection_not_updating
2021-10-11 18:11:55 +02:00
Gilles Roudière
1f82d617e2
Fix selection not updating when erasing tiles
2021-10-11 17:34:20 +02:00
Gilles Roudière
ae3ce8beaf
Fix TileSet selection not updating when selecting on TileMap
2021-10-11 14:09:44 +02:00
Gilles Roudière
bfbaa4b461
Allow editing several tiles animations at once
2021-10-06 13:20:29 +02:00
kobewi
6397eaa27e
Fix some leftover references to idle_frame
2021-10-04 20:57:31 +02:00
Lightning_A
c63b18507d
Use range iterators for Map
2021-09-30 15:09:12 -06:00
Gilles Roudière
f2caab4691
Improve TileMap physics for moving platforms and conveyor belts like movements
2021-09-29 17:56:30 +02:00
Rémi Verschelde
ad635567b1
Merge pull request #53189 from AnilBK/use-class-specific-funcs
2021-09-29 07:40:52 +02:00
Rémi Verschelde
50c0cee44e
Merge pull request #53186 from groud/tiles_fixes
2021-09-29 07:05:19 +02:00
Anilforextra
fc9767abb1
Use functions defined in the their classes.
2021-09-29 09:36:34 +05:45
Gilles Roudière
27b9b3ef3c
Various tiles-related fixes
2021-09-28 19:25:49 +02:00
Rémi Verschelde
46607ec08e
Merge pull request #53064 from YeldhamDev/template_manager_mirror_icon
2021-09-28 12:14:13 +02:00
kobewi
a402bf0ea4
Fix tile size property
2021-09-26 19:32:30 +02:00
Michael Alexsander
e84861d596
Make some buttons in editor use the lighter version of the TabMenu icon
2021-09-25 15:30:11 -03:00
Anilforextra
cdd912c48e
Construct values only when necessary.
2021-09-25 14:46:45 +05:45
Anilforextra
cc51b045da
Construct values only when necessary.
2021-09-23 22:26:07 +05:45
Gilles Roudière
f9e6329496
Implement animated tiles
2021-09-23 17:24:37 +02:00
Nicholas Huelin
d625901032
Fix paint tool duplicate shortcut
...
This pull request fixes an issue where the pain tool in tile_map_editor.cpp had two different shortcuts for the same tool.
2021-09-21 23:04:46 -04:00
Anilforextra
90908cd67d
Add Get Center Method for Rect2/Rect2i and AABB.
2021-09-21 21:14:17 +05:45
Gilles Roudière
73cc6f94bf
Fix transform of TileMap nodes and tilemap selection
2021-09-14 12:18:36 +02:00
Gilles Roudière
b0fd7ae642
Merge pull request #52459 from groud/fix_terrain_editor_reset
...
Fix TileSet terrain painting reset to no terrain
2021-09-08 09:19:39 +02:00
Gilles Roudière
f361796771
Fix TileSet terrain painting reset to no terrain
2021-09-07 14:59:58 +02:00
Gilles Roudière
4bd7700e89
Implement properties arrays in the Inspector.
2021-09-07 09:51:28 +02:00
Hugo Locurcio
cbe6c25c6b
Rename polygon editor settings for better display in the Editor Settings
2021-08-23 17:59:19 +02:00
reduz
5cecdfa8af
Entirely removes BIND_VMETHOD in favor of GDVIRTUAL
...
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions.
* Everything else converted to GDVIRTUAL
* BIND_VMETHOD is gone, always use the new syntax from now on.
Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-23 08:10:13 -03:00
Gilles Roudière
ad8b5cd5a4
Implements TileMap layers and move TileSetPlugins's functions to the TileMap node instead
2021-08-02 13:54:39 +02:00
Haoyu Qiu
284c6c81eb
Make action names translatable
2021-07-31 22:19:51 +08:00
Nicholas Huelin
28f45e923c
Fix duplicate shortcut in TileMap Editor
...
This pull request fixes an issue where the paint and erase tools in the TileMap editor had the same shortcut (E). The erase tool having "E" be its shortcut makes more sense than the paint tool having that be its shortcut. So I changed the paint tool's shortcut to be "D" since nothing else uses it and it's short for "draw", it's also right next to "S" on the keyboard which happens to be the selection tool.
2021-07-28 17:33:17 -04:00
kobewi
bba76e45ff
Fix undo for bucket tool in tile map
2021-07-26 11:24:34 +02:00
Rémi Verschelde
ff0b5f8fa1
Merge pull request #50809 from akien-mga/iterators-const-references
2021-07-25 12:52:58 +02:00
Rémi Verschelde
ac3322b0af
Use const references where possible for List range iterators
2021-07-25 12:22:25 +02:00
luz paz
3564c16cb8
Fix various typos with codespell
...
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25 11:21:51 +02:00
Aaron Franke
4e6efd1b07
Use C++ iterators for Lists in many situations
2021-07-23 17:38:28 -04:00
Gilles Roudière
5d34a81e52
Implement atlas merging and tile proxies
2021-07-21 12:36:37 +02:00
Michael Alexsander
be1d5b0e73
Minor enhancements for the TileMap editor
2021-07-20 11:20:14 -03:00
Rémi Verschelde
a0d13995c8
Merge pull request #50621 from KoBeWi/feel_good_scroll
...
Add scrolling to tile atlas view
2021-07-20 13:04:32 +02:00
kobewi
1bb2340652
Add scrolling to tile atlas view
2021-07-20 12:36:01 +02:00
foxydevloper
42d740d641
Make various strings translatable
2021-07-19 18:30:52 -04:00
reduz
6631f66c2a
Optimize StringName usage
...
* 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.
2021-07-18 21:20:02 -03:00
Gilles Roudière
30a615dd94
Implement painting properties over TileSets
2021-06-29 11:07:46 +02:00
Lightning_A
e28fd07b2b
Rename instance()
->instantiate()
when it's a verb
2021-06-19 20:49:18 -06:00
Lightning_A
b6af2a29eb
Rename is_valid_integer()
to is_valid_int()
...
Method from `String`
2021-06-16 10:32:22 -06:00
kobewi
7ff135b015
Consistently prefix bound virtual methods with _
2021-06-12 00:55:52 +02:00
Gilles Roudière
78ad206d74
Add TileMap grid editor settings.
2021-05-25 10:23:57 +02:00
Gilles Roudière
7d80480b72
Fixes TileSet Y-sort not working and TileSet not saving correctly
2021-05-21 10:13:37 +02:00
Rémi Verschelde
a6a75e2c09
Merge pull request #48812 from groud/tilemap_scenes_painting
...
Implement scenes tiles in TileMaps
2021-05-20 14:32:40 +02:00
Gilles Roudière
d8bb53cd21
Implement scenes tiles in TileMaps
2021-05-20 13:12:03 +02:00
Rémi Verschelde
4219a4cb6f
Fix typos with codespell
...
Using codespell 2.0.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2021-05-20 12:38:56 +02:00
trollodel
bca0d36fe6
Improve TreeItem API and allow to move nodes
2021-05-17 22:06:46 +02:00
Rémi Verschelde
6c367f8e0d
Merge pull request #48168 from LightningAA/control-to-ctrl-4.0
2021-05-17 17:38:02 +02:00
Michael Alexsander
6dad72db69
Fix small issues with capitalization in the new TileMap editor
2021-05-10 18:08:07 -03:00
Lightning_A
97fecd1b69
Rename "Control" key to "Ctrl" and add "_pressed" suffix to all InputEventWithModifiers properties/methods
2021-05-07 14:00:50 -06:00
Gilles Roudière
a3dda2df85
Rework the TileSet resource and TileMap nodes:
...
- Move most properties from TileMap to TileSet,
- Make TileSet more flexible, supporting more feature (several
collision layers, etc...),
- Fusion both the TileMap and TileSet editor,
- Implement TileSetSources, and thus a new way to index tiles in the TileSet,
- Rework the TileSet and TileMap editors completely,
- Implement an editor zoom widget (and use it in several places)
2021-05-07 18:06:17 +02:00