Merge pull request #88413 from LeulMulugeta/dont_reset_select_frames

Remember frames when selecting `SpriteFrame` frames
This commit is contained in:
Rémi Verschelde 2024-03-05 23:44:33 +01:00
commit 0975e2941c
No known key found for this signature in database
GPG Key ID: C3336907360768E1
2 changed files with 17 additions and 12 deletions

View File

@ -526,18 +526,21 @@ void SpriteFramesEditor::_prepare_sprite_sheet(const String &p_file) {
split_sheet_offset_x->set_max(size.x);
split_sheet_offset_y->set_max(size.y);
// Different texture, reset to 4x4.
dominant_param = PARAM_FRAME_COUNT;
updating_split_settings = true;
split_sheet_h->set_value(4);
split_sheet_v->set_value(4);
split_sheet_size_x->set_value(size.x / 4);
split_sheet_size_y->set_value(size.y / 4);
split_sheet_sep_x->set_value(0);
split_sheet_sep_y->set_value(0);
split_sheet_offset_x->set_value(0);
split_sheet_offset_y->set_value(0);
updating_split_settings = false;
if (size != previous_texture_size) {
// Different texture, reset to 4x4.
dominant_param = PARAM_FRAME_COUNT;
updating_split_settings = true;
split_sheet_h->set_value(4);
split_sheet_v->set_value(4);
split_sheet_size_x->set_value(size.x / 4);
split_sheet_size_y->set_value(size.y / 4);
split_sheet_sep_x->set_value(0);
split_sheet_sep_y->set_value(0);
split_sheet_offset_x->set_value(0);
split_sheet_offset_y->set_value(0);
updating_split_settings = false;
}
previous_texture_size = size;
// Reset zoom.
_sheet_zoom_reset();

View File

@ -167,6 +167,8 @@ class SpriteFramesEditor : public HSplitContainer {
bool frames_need_sort = false;
int last_frame_selected = 0;
Size2i previous_texture_size;
float scale_ratio;
int thumbnail_default_size;
float thumbnail_zoom;