Skip to content

Commit 55b816a

Browse files
committed
Merge branch 'master' of https://github.com/X-Hax/SA-Mod-Manager
2 parents 0b6f0a4 + 84edb71 commit 55b816a

File tree

6 files changed

+92
-45
lines changed

6 files changed

+92
-45
lines changed

SA-Mod-Manager/Configuration/SA2/GameSettings.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,12 @@ public enum GameLanguage
278278
[DefaultValue(false)]
279279
public bool UseManual { get; set; } = false;
280280

281+
/// <summary>
282+
/// Enables the Manual settings for Events/Cutscenes.
283+
/// </summary>
284+
[DefaultValue(false)]
285+
public bool UseEventManual { get; set; } = false;
286+
281287
/// <summary>
282288
/// Enables manually modifying the start position when using test spawn.
283289
/// </summary>

SA-Mod-Manager/Controls/SA2/TestSpawn.xaml

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
</Grid.RowDefinitions>
7171

7272
<CheckBox x:Name="tsCheckPlayer2" Content="{DynamicResource TestSpawn.Player2}" Grid.Row="0" VerticalAlignment="Center" ToolTip="{DynamicResource MainWindow.Tips.Tab.TestSpawn.Player2}" Checked="CheckBox_Checked"/>
73-
<ComboBox x:Name="tsComboPlayer2" Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" Margin="5" IsEnabled="{Binding ElementName=tsCheckPlayer2, Path=IsChecked}" TabIndex="4"/>
73+
<ComboBox x:Name="tsComboPlayer2" Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" Margin="5" IsEnabled="{Binding ElementName=tsCheckPlayer2, Path=IsChecked}" TabIndex="4"/>
7474
<Label Content="{DynamicResource TestSpawn.Mission}" Grid.Row="1" VerticalAlignment="Center" ToolTip="{DynamicResource MainWindow.Tips.Tab.TestSpawn.Mission}"/>
7575
<ComboBox x:Name="tsComboMission" Grid.Column="1" Grid.Row="1" Margin="5" VerticalAlignment="Center" IsEnabled="{Binding ElementName=tsCheckLevel, Path=IsChecked}" TabIndex="5"/>
7676
</Grid>
@@ -91,13 +91,14 @@
9191
<RowDefinition Height="Auto"/>
9292
</Grid.RowDefinitions>
9393

94-
<CheckBox x:Name="tsCheckEvent" Content="{DynamicResource TestSpawn.Check.Event}" Grid.Column="0" Grid.Row="0" Margin="5" VerticalAlignment="Center" ToolTip="{DynamicResource MainWindow.Tips.Tab.TestSpawn.Event}" Click="tsCheckEvent_Click" Checked="CheckBox_Checked" TabIndex="6"/>
94+
<CheckBox x:Name="tsCheckEvent" Content="{DynamicResource TestSpawn.Check.Event}" Grid.Column="0" Grid.Row="0" Margin="5" VerticalAlignment="Center" ToolTip="{DynamicResource MainWindow.Tips.Tab.TestSpawn.Event}"
95+
IsEnabled="{Binding ElementName=tsCheckEventManual, Path=IsChecked, Converter={StaticResource FlipBool}}" Click="tsCheckEvent_Click" Checked="CheckBox_Checked" TabIndex="6"/>
9596
<ComboBox x:Name="tsComboEvent" Grid.Column="1" Grid.Row="0" Margin="5" IsEnabled="{Binding ElementName=tsCheckEvent, Path=IsChecked}" TabIndex="7"/>
9697

9798
<CheckBox x:Name="tsCheckSave" Content="{DynamicResource TestSpawn.Check.Save}" Grid.Column="0" Grid.Row="2" Margin="5,5,5,5" VerticalAlignment="Center" ToolTip="{DynamicResource MainWindow.Tips.Tab.TestSpawn.Save}" Checked="CheckBox_Checked" TabIndex="10"/>
98-
<ComboBox x:Name="tsComboSave" Grid.Column="1" Grid.Row="2" Margin="5" IsEnabled="{Binding ElementName=tsCheckSave, Path=IsChecked}" TabIndex="10"/>
99+
<ComboBox x:Name="tsComboSave" Grid.Column="1" Grid.Row="2" Margin="5" IsEnabled="{Binding ElementName=tsCheckSave, Path=IsChecked}" TabIndex="10"/>
99100

100-
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="4" HorizontalAlignment="Center" Visibility="Collapsed">
101+
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="4" HorizontalAlignment="Center" Visibility="Collapsed">
101102
<Image Source="{StaticResource Icon.Warning}" Width="30"/>
102103
<TextBlock x:Name="textEventWarning" Text="{DynamicResource TestSpawn.Warning}" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="5,5,5,5" FontStyle="Normal" FontSize="18" TextWrapping="Wrap"/>
103104
<Image Source="{StaticResource Icon.Warning}" Width="30"/>
@@ -114,37 +115,38 @@
114115
<RowDefinition Height="50"/>
115116
<RowDefinition Height="Auto"/>
116117
<RowDefinition Height="50"/>
118+
<RowDefinition Height="Auto"/>
117119
</Grid.RowDefinitions>
118120
<CheckBox x:Name="tsCheckManual" Content="{DynamicResource TestSpawn.Group.Advanced.Check.Manual}" Grid.Column="0" Grid.Row="0" Margin="5,5,5,5" VerticalAlignment="Center" Click="tsCheckManual_Clicked" ToolTip="{DynamicResource MainWindow.Tips.Tab.TestSpawn.Manual}" TabIndex="14"/>
119121
<Grid x:Name="gridTSLevelManual" Grid.Column="1" Grid.Row="0" Margin="5,5,5,5">
120122
<Grid.ColumnDefinitions>
121123
<ColumnDefinition Width="*"/>
122124
<ColumnDefinition Width="*"/>
123-
<ColumnDefinition Width="*"/>
124-
</Grid.ColumnDefinitions>
125+
<ColumnDefinition Width="*"/>
126+
</Grid.ColumnDefinitions>
125127
<Grid Grid.Column="0" Margin="5">
126128
<Grid.ColumnDefinitions>
127129
<ColumnDefinition Width="80"/>
128130
<ColumnDefinition Width="*"/>
129131
</Grid.ColumnDefinitions>
130132
<Label Content="{DynamicResource TestSpawn.Check.Character}" VerticalAlignment="Center"/>
131-
<elements:NumberBox x:Name="tsNumCharacter" Grid.Column="1" Height="24" Type="Integer" MinValue="-1" IsEnabled="{Binding ElementName=tsCheckManual, Path=IsChecked}" TabIndex="15"/>
133+
<elements:NumberBox x:Name="tsNumCharacter" Grid.Column="1" Height="24" Type="Integer" MinValue="-1" IsEnabled="{Binding ElementName=tsCheckManual, Path=IsChecked}" TabIndex="15"/>
132134
</Grid>
133135
<Grid Grid.Column="1" Margin="5">
134136
<Grid.ColumnDefinitions>
135137
<ColumnDefinition Width="80"/>
136138
<ColumnDefinition Width="*"/>
137139
</Grid.ColumnDefinitions>
138140
<Label Content="{DynamicResource TestSpawn.Check.Level}" VerticalAlignment="Center"/>
139-
<elements:NumberBox x:Name="tsNumLevel" Grid.Column="1" Height="24" Type="Integer" MinValue="-1" IsEnabled="{Binding ElementName=tsCheckManual, Path=IsChecked}" TabIndex="16"/>
141+
<elements:NumberBox x:Name="tsNumLevel" Grid.Column="1" Height="24" Type="Integer" MinValue="-1" IsEnabled="{Binding ElementName=tsCheckManual, Path=IsChecked}" TabIndex="16"/>
140142
</Grid>
141143
<Grid Grid.Column="2" Margin="5">
142144
<Grid.ColumnDefinitions>
143145
<ColumnDefinition Width="80"/>
144146
<ColumnDefinition Width="*"/>
145147
</Grid.ColumnDefinitions>
146148
<Label Content="{DynamicResource TestSpawn.Mission}" VerticalAlignment="Center"/>
147-
<elements:NumberBox x:Name="tsNumMission" Grid.Column="2" Height="24" Type="Integer" MinValue="-1" IsEnabled="{Binding ElementName=tsCheckManual, Path=IsChecked}" TabIndex="17"/>
149+
<elements:NumberBox x:Name="tsNumMission" Grid.Column="2" Height="24" Type="Integer" MinValue="-1" IsEnabled="{Binding ElementName=tsCheckManual, Path=IsChecked}" TabIndex="17"/>
148150
</Grid>
149151
</Grid>
150152

@@ -170,23 +172,37 @@
170172
<ColumnDefinition Width="*"/>
171173
</Grid.ColumnDefinitions>
172174
<Label Content="{DynamicResource TestSpawn.Group.Advanced.PosY}" VerticalAlignment="Center"/>
173-
<elements:NumberBox x:Name="tsNumPosY" Grid.Column="1" Height="24" Type="Float" DecimalCount="2" IsEnabled="{Binding ElementName=tsCheckPosition, Path=IsChecked}" TabIndex="20"/>
175+
<elements:NumberBox x:Name="tsNumPosY" Grid.Column="1" Height="24" Type="Float" DecimalCount="2" IsEnabled="{Binding ElementName=tsCheckPosition, Path=IsChecked}" TabIndex="20"/>
174176
</Grid>
175177
<Grid Grid.Column="2" Margin="5">
176178
<Grid.ColumnDefinitions>
177179
<ColumnDefinition Width="Auto"/>
178180
<ColumnDefinition Width="*"/>
179181
</Grid.ColumnDefinitions>
180182
<Label Content="{DynamicResource TestSpawn.Group.Advanced.PosZ}" VerticalAlignment="Center"/>
181-
<elements:NumberBox x:Name="tsNumPosZ" Grid.Column="1" Height="24" Type="Float" DecimalCount="2" IsEnabled="{Binding ElementName=tsCheckPosition, Path=IsChecked}" TabIndex="21"/>
183+
<elements:NumberBox x:Name="tsNumPosZ" Grid.Column="1" Height="24" Type="Float" DecimalCount="2" IsEnabled="{Binding ElementName=tsCheckPosition, Path=IsChecked}" TabIndex="21"/>
182184
</Grid>
183185
<Grid Grid.Column="3" Margin="5">
184186
<Grid.ColumnDefinitions>
185187
<ColumnDefinition Width="Auto"/>
186188
<ColumnDefinition Width="*"/>
187189
</Grid.ColumnDefinitions>
188190
<Label Content="{DynamicResource TestSpawn.Group.Advanced.Angle}" VerticalAlignment="Center"/>
189-
<elements:NumberBox x:Name="tsNumAngle" Grid.Column="1" Height="24" Type="Float" DecimalCount="2" IsEnabled="{Binding ElementName=tsCheckPosition, Path=IsChecked}" TabIndex="22"/>
191+
<elements:NumberBox x:Name="tsNumAngle" Grid.Column="1" Height="24" Type="Float" DecimalCount="2" IsEnabled="{Binding ElementName=tsCheckPosition, Path=IsChecked}" TabIndex="22"/>
192+
</Grid>
193+
</Grid>
194+
195+
<CheckBox x:Name="tsCheckEventManual" Content="{DynamicResource TestSpawn.Group.Advanced.Check.Event}" Grid.Column="0" Grid.Row="3" VerticalAlignment="Center" Click="tsCheckEventManual_Checked" ToolTip="{DynamicResource MainWindow.Tips.Tab.TestSpawn.EventManual}" TabIndex="23" Margin="5,5,5,5" Checked="tsCheckEventManual_Checked"/>
196+
<Grid Grid.Column="1" Margin="5,5,5,5" Grid.Row="3" VerticalAlignment="Center">
197+
<Grid Grid.Column="0" Margin="5">
198+
<Grid.ColumnDefinitions>
199+
<ColumnDefinition Width="*"/>
200+
<ColumnDefinition Width="*"/>
201+
<ColumnDefinition Width="*"/>
202+
<ColumnDefinition Width="*"/>
203+
<ColumnDefinition Width="*"/>
204+
</Grid.ColumnDefinitions>
205+
<elements:NumberBox x:Name="tsNumEvent" Height="24" Type="Integer" MinValue="-1" IsEnabled="{Binding IsChecked, ElementName=tsCheckEventManual}" TabIndex="24"/>
190206
</Grid>
191207
</Grid>
192208
</Grid>

SA-Mod-Manager/Controls/SA2/TestSpawn.xaml.cs

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ private void TestSpawn_Loaded(object sender, RoutedEventArgs e)
108108

109109

110110
tsComboEvent.SelectedIndex = EventNames.Keys.ToList<int>().IndexOf(GameProfile.TestSpawn.EventIndex);
111-
if (GameProfile.TestSpawn.UseManual || GameProfile.TestSpawn.UsePosition)
111+
if (GameProfile.TestSpawn.UseManual || GameProfile.TestSpawn.UsePosition || GameProfile.TestSpawn.UseEventManual)
112112
expandAdvanced.IsExpanded = true;
113113
}
114114

@@ -202,6 +202,16 @@ private void tsCheckManual_Clicked(object sender, RoutedEventArgs e)
202202
tsCheckEvent.IsChecked = false;
203203
}
204204
}
205+
private void tsCheckEventManual_Checked(object sender, RoutedEventArgs e)
206+
{
207+
if (GameProfile.TestSpawn.UseEventManual)
208+
{
209+
tsCheckCharacter.IsChecked = false;
210+
tsCheckLevel.IsChecked = false;
211+
tsCheckPlayer2.IsChecked = false;
212+
tsCheckEvent.IsChecked = false;
213+
}
214+
}
205215
#endregion
206216

207217
#region Private Functions
@@ -315,6 +325,16 @@ private void SetBindings()
315325
Source = GameProfile.TestSpawn,
316326
Mode = BindingMode.TwoWay
317327
});
328+
tsCheckEventManual.SetBinding(CheckBox.IsCheckedProperty, new Binding("UseEventManual")
329+
{
330+
Source = GameProfile.TestSpawn,
331+
Mode = BindingMode.TwoWay
332+
});
333+
tsNumEvent.SetBinding(NumberBox.ValueProperty, new Binding("EventIndex")
334+
{
335+
Source = GameProfile.TestSpawn,
336+
Mode = BindingMode.TwoWay
337+
});
318338
}
319339

320340
public static string GetSaveNumber(string s)
@@ -566,7 +586,8 @@ private string GetTestSpawnCommandLine()
566586
cmdline.Add($"-p2 {charIndex}");
567587
}
568588

569-
if (GameProfile.TestSpawn.LevelIndex > -1 && GameProfile.TestSpawn.UseEvent == false)
589+
if (GameProfile.TestSpawn.LevelIndex > -1)
590+
if (GameProfile.TestSpawn.UseEvent == false && GameProfile.TestSpawn.UseEventManual == false)
570591
{
571592
int lvl_result = GameProfile.TestSpawn.LevelIndex;
572593
if (tsCheckManual.IsChecked == false)
@@ -594,8 +615,9 @@ private string GetTestSpawnCommandLine()
594615
if (GameProfile.TestSpawn.UsePosition)
595616
cmdline.Add($"-p {GameProfile.TestSpawn.XPosition} {GameProfile.TestSpawn.YPosition} {GameProfile.TestSpawn.ZPosition} -r {GameProfile.TestSpawn.Rotation}");
596617

597-
if (GameProfile.TestSpawn.UseEvent && GameProfile.TestSpawn.EventIndex > -1)
598-
cmdline.Add($"-e {GameProfile.TestSpawn.EventIndex}");
618+
if (GameProfile.TestSpawn.EventIndex > -1)
619+
if (GameProfile.TestSpawn.UseEvent || GameProfile.TestSpawn.UseEventManual)
620+
cmdline.Add($"-e {GameProfile.TestSpawn.EventIndex}");
599621

600622

601623
if (GameProfile.TestSpawn.UseSave && GameProfile.TestSpawn.SaveIndex > -1)

0 commit comments

Comments
 (0)