Skip to content

Commit

Permalink
Merge pull request #1046 from Jacky720/effectlayerfix
Browse files Browse the repository at this point in the history
LayerEffectData fixes
  • Loading branch information
Grossley authored Jul 12, 2022
2 parents b6de293 + eab7048 commit 39f058c
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 8 deletions.
8 changes: 7 additions & 1 deletion UndertaleModLib/Models/UndertaleRoom.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1370,7 +1370,13 @@ public void Unserialize(UndertaleReader reader)
case LayerType.Tiles: Data = reader.ReadUndertaleObject<LayerTilesData>(); break;
case LayerType.Background: Data = reader.ReadUndertaleObject<LayerBackgroundData>(); break;
case LayerType.Assets: Data = reader.ReadUndertaleObject<LayerAssetsData>(); break;
case LayerType.Effect: Data = reader.ReadUndertaleObject<LayerEffectData>(); break;
case LayerType.Effect:
// Because effect data is empty in 2022.1+, it would erroneously read the next object.
Data =
reader.undertaleData.GMS2022_1
? new LayerEffectData() { EffectType = EffectType, Properties = EffectProperties }
: reader.ReadUndertaleObject<LayerEffectData>();
break;
default: throw new Exception("Unsupported layer type " + LayerType);
}
}
Expand Down
5 changes: 5 additions & 0 deletions UndertaleModTool/Editors/UndertaleRoomEditor.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,11 @@
<TextBlock Text="{Binding LayerName.Content, Mode=OneWay}" />
</HierarchicalDataTemplate>
</local:LayerDataTemplateSelector.BackgroundDataTemplate>
<local:LayerDataTemplateSelector.EffectDataTemplate>
<HierarchicalDataTemplate ItemTemplateSelector="{x:Null}">
<TextBlock Text="{Binding LayerName.Content, Mode=OneWay}" />
</HierarchicalDataTemplate>
</local:LayerDataTemplateSelector.EffectDataTemplate>
</local:LayerDataTemplateSelector>
</TreeViewItem.ItemTemplateSelector>
</TreeViewItem>
Expand Down
17 changes: 10 additions & 7 deletions UndertaleModTool/Editors/UndertaleRoomEditor.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1264,20 +1264,20 @@ public void Command_Paste(object sender, ExecutedRoutedEventArgs e)
{
baseName = name[..^numMatch.Length];
nameNum = Int32.Parse(numMatch.Groups[0].Value) + 1;

name = baseName + nameNum;
}
// Name doesn't have a trailing number, so it's the first duplicate.
// Thus we append append "1" to it ("name" -> "name1")
// Thus we set baseName and nameNum to produce "name1" on the next loop.
else
name += "1";
{
baseName = name;
nameNum = 1;
}
}
// If base name is already extracted, increment "nameNum" and append it to the base name
else
{
nameNum++;
name = baseName + nameNum;
}
// Update name using baseName and nameNum
name = baseName + nameNum;
}

Layer layer = new()
Expand Down Expand Up @@ -1730,6 +1730,7 @@ public class LayerDataTemplateSelector : DataTemplateSelector
public DataTemplate TilesDataTemplate { get; set; }
public DataTemplate AssetsDataTemplate { get; set; }
public DataTemplate BackgroundDataTemplate { get; set; }
public DataTemplate EffectDataTemplate { get; set; }

public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
Expand All @@ -1745,6 +1746,8 @@ public override DataTemplate SelectTemplate(object item, DependencyObject contai
return AssetsDataTemplate;
case LayerType.Background:
return BackgroundDataTemplate;
case LayerType.Effect:
return EffectDataTemplate;
}
}

Expand Down

0 comments on commit 39f058c

Please sign in to comment.