Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions UndertaleModTool/Controls/AudioFileReference.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:UndertaleModTool"
mc:Ignorable="d"
d:DesignHeight="20" d:DesignWidth="300">
d:DesignHeight="20" d:DesignWidth="300" xmlns:strings="clr-namespace:UndertaleModTool.Resources" >
<UserControl.Resources>
<local:ContextMenuDark x:Key="contextMenu">
<local:MenuItemDark Header="Open in new tab" Click="OpenInNewTabItem_Click"/>
<local:MenuItemDark Header="{x:Static strings:Strings.Open_in_new_tab}" Click="OpenInNewTabItem_Click"/>
</local:ContextMenuDark>
</UserControl.Resources>
<Grid>
Expand All @@ -32,7 +32,7 @@
</TextBox.Style>
</local:TextBoxDark>
<local:TextBoxDark Grid.Column="1" x:Name="ObjectText" IsReadOnly="True" Cursor="Arrow" AllowDrop="True"
ToolTip="This is an object reference. Drag and drop an object of matching type from the tree on the left to change it!"
ToolTip="{x:Static strings:Strings.This_is_an_object_reference__Drag}"
ToolTipService.InitialShowDelay="250"
PreviewDragOver="TextBox_DragOver" PreviewDrop="TextBox_Drop" PreviewMouseDoubleClick="TextBox_MouseDoubleClick" PreviewMouseDown="Details_MouseDown">
<TextBox.Style>
Expand Down Expand Up @@ -60,14 +60,14 @@
</DataTrigger>
<DataTrigger Binding="{Binding AudioID, RelativeSource={RelativeSource AncestorType=UserControl}}" Value="-1">
<DataTrigger.Setters>
<Setter Property="Text" Value="(null)"/>
<Setter Property="Text" Value="{x:Static strings:Strings.null1}"/>
</DataTrigger.Setters>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</local:TextBoxDark>
<local:ButtonDark Grid.Column="2" Click="Details_Click" MouseDown="Details_MouseDown" Content=" ... " ToolTip="Open referenced object">
<local:ButtonDark Grid.Column="2" Click="Details_Click" MouseDown="Details_MouseDown" Content=" ... " ToolTip="{x:Static strings:Strings.Open_referenced_object}">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
Expand All @@ -78,7 +78,7 @@
</Style>
</Button.Style>
</local:ButtonDark>
<local:ButtonDark Grid.Column="3" Click="Remove_Click" Content=" X " ToolTip="Remove reference">
<local:ButtonDark Grid.Column="3" Click="Remove_Click" Content=" X " ToolTip="{x:Static strings:Strings.Remove_reference}">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
Expand Down
4 changes: 2 additions & 2 deletions UndertaleModTool/Controls/ColorPicker.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -123,11 +123,11 @@ public object ConvertBack(object value, Type targetType, object parameter, Cultu
bool hasAlpha = bool.Parse((string)parameter);

if (val[0] != '#')
return new ValidationResult(false, "Invalid color string");
return new ValidationResult(false, UndertaleModTool.Resources.Strings.Invalid_color_string);

val = val[1..];
if (val.Length != (hasAlpha ? 8 : 6))
return new ValidationResult(false, "Invalid color string");
return new ValidationResult(false, UndertaleModTool.Resources.Strings.Invalid_color_string);

if (!hasAlpha)
val = "FF" + val; // add alpha (255)
Expand Down
4 changes: 2 additions & 2 deletions UndertaleModTool/Controls/FlagsBox.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
xmlns:local="clr-namespace:UndertaleModTool"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
x:Name="flagsBox">
x:Name="flagsBox" xmlns:strings="clr-namespace:UndertaleModTool.Resources" >
<UserControl.Resources>
<local:EnumToValuesConverter x:Key="enumToValuesConverter" />
</UserControl.Resources>
<StackPanel>
<TextBox Text="{Binding Value, ElementName=flagsBox}" />
<Expander Header="Flags">
<Expander Header="{x:Static strings:Strings.Flags}">
<ItemsControl ItemsSource="{Binding Value, ElementName=flagsBox, Converter={StaticResource enumToValuesConverter}}">
<ItemsControl.ItemTemplate>
<DataTemplate>
Expand Down
14 changes: 7 additions & 7 deletions UndertaleModTool/Controls/ResourceListTreeViewItem.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,27 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:UndertaleModTool"
xmlns:undertalelib="clr-namespace:UndertaleModLib;assembly=UndertaleModLib"
mc:Ignorable="d">
mc:Ignorable="d" xmlns:strings="clr-namespace:UndertaleModTool.Resources" >

<TreeViewItem.Resources>
<DataTemplate x:Key="DefaultNullItemTemplate">
<TextBlock Text="(null)"/>
<TextBlock Text="{x:Static strings:Strings.null1}"/>
</DataTemplate>

<local:ImplementsInterfaceConverter x:Key="ImplementsInterfaceConverter"/>

<local:ContextMenuDark x:Key="UndertaleResourceMenu" Opened="MenuItem_ContextMenuOpened">
<MenuItem Header="Open in new tab" Click="MenuItem_OpenInNewTab_Click"/>
<MenuItem Header="Find all references" Click="MenuItem_FindAllReferences_Click" Name="FindAllReferences"/>
<MenuItem Header="Copy name to clipboard" Click="MenuItem_CopyName_Click"/>
<MenuItem Header="Delete" Click="MenuItem_Delete_Click"/>
<MenuItem Header="{x:Static strings:Strings.Open_in_new_tab}" Click="MenuItem_OpenInNewTab_Click"/>
<MenuItem Header="{x:Static strings:Strings.Find_all_references}" Click="MenuItem_FindAllReferences_Click" Name="FindAllReferences"/>
<MenuItem Header="{x:Static strings:Strings.Copy_name_to_clipboard}" Click="MenuItem_CopyName_Click"/>
<MenuItem Header="{x:Static strings:Strings.Delete1}" Click="MenuItem_Delete_Click"/>
</local:ContextMenuDark>

<!-- TODO: Would need some way to know the ID, IndexOf won't be reliable -->
<local:ContextMenuDark x:Key="NullItemReplaceMenu" Opened="MenuItem_NullDataContext_ContextMenuOpened">
<!--<MenuItem IsEnabled="False" Header="ID: " Name="ObjectIdLabel" />
<Separator />-->
<MenuItem IsEnabled="False" Header="Add in place (unimplemented)" />
<MenuItem IsEnabled="False" Header="{x:Static strings:Strings.Add_in_place__unimplemented}" />
</local:ContextMenuDark>

<Style x:Key="UndertaleModTool.ResourceListTreeViewItem.ItemContainerStyle" TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource {x:Type TreeViewItem}}">
Expand Down
14 changes: 7 additions & 7 deletions UndertaleModTool/Controls/UndertaleObjectReference.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
xmlns:undertale="clr-namespace:UndertaleModLib.Models;assembly=UndertaleModLib"
mc:Ignorable="d"
d:DesignHeight="20" d:DesignWidth="300"
Name="objectReference">
Name="objectReference" xmlns:strings="clr-namespace:UndertaleModTool.Resources" >
<UserControl.Resources>
<local:ContextMenuDark x:Key="contextMenu" Opened="MenuItem_ContextMenuOpened">
<MenuItem Header="Open in new tab" Click="OpenInNewTabItem_Click"/>
<MenuItem Header="Find all references" Click="FindAllReferencesItem_Click"/>
<MenuItem Header="{x:Static strings:Strings.Open_in_new_tab}" Click="OpenInNewTabItem_Click"/>
<MenuItem Header="{x:Static strings:Strings.Find_all_references}" Click="FindAllReferencesItem_Click"/>
</local:ContextMenuDark>
<Label x:Key="emptyReferenceLabel" Foreground="Gray" FontStyle="Italic" />
</UserControl.Resources>
Expand All @@ -28,7 +28,7 @@
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding CanChange, ElementName=objectReference}" Value="True">
<Setter Property="ToolTip" Value="This is an object reference. Drag and drop an object of matching type from the tree on the left to change it!" />
<Setter Property="ToolTip" Value="{x:Static strings:Strings.This_is_an_object_reference__Drag}" />
<Setter Property="ToolTipService.InitialShowDelay" Value="250" />
</DataTrigger>
<DataTrigger Binding="{Binding ObjectReference, ElementName=objectReference}" Value="{x:Null}">
Expand All @@ -48,7 +48,7 @@
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Content" Value=" ... " />
<Setter Property="ToolTip" Value="Open referenced object" />
<Setter Property="ToolTip" Value="{x:Static strings:Strings.Open_referenced_object}" />
<Style.Triggers>
<DataTrigger Binding="{Binding ObjectReference, ElementName=objectReference}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/>
Expand All @@ -60,14 +60,14 @@
<Condition Binding="{Binding ObjectReference, ElementName=objectReference}" Value="{x:Null}" />
</MultiDataTrigger.Conditions>
<Setter Property="Content" Value=" + "/>
<Setter Property="ToolTip" Value="Create new code entry" />
<Setter Property="ToolTip" Value="{x:Static strings:Strings.Create_new_code_entry}" />
<Setter Property="IsEnabled" Value="True"/>
</MultiDataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</local:ButtonDark>
<local:ButtonDark Grid.Column="2" x:Name="RemoveButton" Click="Remove_Click" Content=" X " ToolTip="Remove reference">
<local:ButtonDark Grid.Column="2" x:Name="RemoveButton" Click="Remove_Click" Content=" X " ToolTip="{x:Static strings:Strings.Remove_reference}">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
Expand Down
32 changes: 23 additions & 9 deletions UndertaleModTool/Controls/UndertaleObjectReference.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
Expand Down Expand Up @@ -180,13 +182,25 @@ private void UndertaleObjectReference_Loaded(object sender, RoutedEventArgs e)
typeName = camelCaseRegex.Replace(typeName, " $1").ToLowerInvariant();
}
// If the first letter is a vowel
if (Array.IndexOf(vowels, typeName[0]) != -1)
n = "n";

if ((UndertaleModTool.Resources.Strings.Culture ?? Thread.CurrentThread.CurrentCulture)
.Name.ToLower().StartsWith("en"))
{
if (Array.IndexOf(vowels, typeName[0]) != -1)
n = "n";

if (CanChange)
label.Content = $"(drag & drop a{n} {typeName})";
if (CanChange)
label.Content = $"(drag & drop a{n} {typeName})";
else
label.Content = $"(empty {typeName} reference)";
}
else
label.Content = $"(empty {typeName} reference)";
{
if (CanChange)
label.Content = String.Format(UndertaleModTool.Resources.Strings.drag___drop_a__0,typeName);
else
label.Content = String.Format(UndertaleModTool.Resources.Strings.empty__0__reference,typeName);
}
}

public void ClearRemoveClickHandler()
Expand All @@ -212,7 +226,7 @@ private void Details_Click(object sender, RoutedEventArgs e)
// If code already exists, use it (otherwise create new code)
if (mainWindow.Data.Code.ByName(name) is UndertaleCode existing)
{
mainWindow.ShowWarning("Code entry for room already exists; reusing it.");
mainWindow.ShowWarning(UndertaleModTool.Resources.Strings.Code_entry_for_room_already_exists);
ObjectReference = existing;
}
else
Expand All @@ -239,7 +253,7 @@ private void Details_Click(object sender, RoutedEventArgs e)
}
else
{
mainWindow.ShowError("Adding not supported in this situation.");
mainWindow.ShowError(UndertaleModTool.Resources.Strings.Adding_not_supported_in_this_situation);
}
}
else
Expand All @@ -266,7 +280,7 @@ private void MenuItem_ContextMenuOpened(object sender, RoutedEventArgs e)
foreach (var item in menu.Items)
{
var menuItem = item as MenuItem;
if ((menuItem.Header as string) == "Find all references")
if ((menuItem.Header as string) == UndertaleModTool.Resources.Strings.Find_all_references)
{
Type objType = menu.DataContext.GetType();
menuItem.Visibility = UndertaleResourceReferenceMap.IsTypeReferenceable(objType)
Expand All @@ -281,7 +295,7 @@ private void FindAllReferencesItem_Click(object sender, RoutedEventArgs e)
var obj = (sender as FrameworkElement)?.DataContext;
if (obj is not UndertaleResource res)
{
mainWindow.ShowError("The selected object is not an \"UndertaleResource\".");
mainWindow.ShowError(UndertaleModTool.Resources.Strings.The_selected_object_is_not_an___UndertaleResource);
return;
}

Expand Down
10 changes: 5 additions & 5 deletions UndertaleModTool/Controls/UndertaleStringReference.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:UndertaleModTool"
mc:Ignorable="d"
d:DesignHeight="20" d:DesignWidth="300">
d:DesignHeight="20" d:DesignWidth="300" xmlns:strings="clr-namespace:UndertaleModTool.Resources" >
<UserControl.Resources>
<local:ContextMenuDark x:Key="contextMenu" Opened="MenuItem_ContextMenuOpened">
<MenuItem Header="Open in new tab" Click="OpenInNewTabItem_Click"/>
<MenuItem Header="Find all references" Click="FindAllReferencesItem_Click"/>
<MenuItem Header="{x:Static strings:Strings.Open_in_new_tab}" Click="OpenInNewTabItem_Click"/>
<MenuItem Header="{x:Static strings:Strings.Find_all_references}" Click="FindAllReferencesItem_Click"/>
</local:ContextMenuDark>
</UserControl.Resources>
<Grid>
Expand All @@ -18,7 +18,7 @@
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<local:TextBoxDark Grid.Column="0" x:Name="ObjectText" AllowDrop="True"
ToolTip="This is an string reference. Change the value here to edit this just this value of all referenced values, or drag and drop another string instance from the tree on the left to change the reference"
ToolTip="{x:Static strings:Strings.This_is_an_string_reference__Change}"
Text="{Binding ObjectReference.Content, RelativeSource={RelativeSource AncestorType=UserControl}, UpdateSourceTrigger=Explicit}"
PreviewDragOver="TextBox_DragOver" PreviewDrop="TextBox_Drop" LostFocus="TextBox_LostFocus" PreviewMouseDown="Details_MouseDown">
<TextBox.Style>
Expand Down Expand Up @@ -51,7 +51,7 @@
</Style>
</TextBox.Style>
</local:TextBoxDark>
<local:ButtonDark Grid.Column="1" Click="Details_Click" MouseDown="Details_MouseDown" Content=" ... " ToolTip="Open referenced object">
<local:ButtonDark Grid.Column="1" Click="Details_Click" MouseDown="Details_MouseDown" Content=" ... " ToolTip="{x:Static strings:Strings.Open_referenced_object}">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
Expand Down
4 changes: 2 additions & 2 deletions UndertaleModTool/Controls/UndertaleStringReference.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ private void MenuItem_ContextMenuOpened(object sender, RoutedEventArgs e)
foreach (var item in menu.Items)
{
var menuItem = item as MenuItem;
if ((menuItem.Header as string) == "Find all references")
if ((menuItem.Header as string) == UndertaleModTool.Resources.Strings.Find_all_references)
{
Type objType = menu.DataContext.GetType();
menuItem.Visibility = UndertaleResourceReferenceMap.IsTypeReferenceable(objType)
Expand All @@ -100,7 +100,7 @@ private void FindAllReferencesItem_Click(object sender, RoutedEventArgs e)
var obj = (sender as FrameworkElement)?.DataContext;
if (obj is not UndertaleResource res)
{
mainWindow.ShowError("The selected object is not an \"UndertaleResource\".");
mainWindow.ShowError(UndertaleModTool.Resources.Strings.The_selected_object_is_not_an___UndertaleResource);
return;
}

Expand Down
6 changes: 3 additions & 3 deletions UndertaleModTool/Editors/UndertaleAudioGroupEditor.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
xmlns:local="clr-namespace:UndertaleModTool"
xmlns:undertale="clr-namespace:UndertaleModLib.Models;assembly=UndertaleModLib"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance undertale:UndertaleAudioGroup}">
d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance undertale:UndertaleAudioGroup}" xmlns:resources="clr-namespace:UndertaleModTool.Resources" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
Expand All @@ -17,10 +17,10 @@
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>

<TextBlock Grid.Row="0" Grid.Column="0" Margin="3">Name</TextBlock>
<TextBlock Grid.Row="0" Grid.Column="0" Margin="3" Text="{x:Static resources:Strings.Name}"></TextBlock>
<local:UndertaleStringReference Grid.Row="0" Grid.Column="1" Margin="3" ObjectReference="{Binding Name}"/>

<TextBlock Grid.Row="1" Grid.Column="0" Margin="3">Path (GM 2024.14+)</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="0" Margin="3" Text="{x:Static resources:Strings.Path__GM_2024_14}"></TextBlock>
<local:UndertaleStringReference Grid.Row="1" Grid.Column="1" Margin="3" ObjectReference="{Binding Path}"/>
</Grid>
</local:DataUserControl>
Loading