mirror of
https://mirror.ghproxy.com/https://github.com/dexyfex/CodeWalker
synced 2024-11-17 04:22:54 +08:00
parent
124180c4e1
commit
f5a637588f
File diff suppressed because it is too large
Load Diff
@ -13,10 +13,6 @@ namespace CodeWalker.World
|
|||||||
public volatile bool Inited = false;
|
public volatile bool Inited = false;
|
||||||
public GameFileCache GameFileCache;
|
public GameFileCache GameFileCache;
|
||||||
|
|
||||||
public List<AudioPlacement> Zones = new List<AudioPlacement>();
|
|
||||||
public List<AudioPlacement> Emitters = new List<AudioPlacement>();
|
|
||||||
public List<AudioPlacement> AllItems = new List<AudioPlacement>();
|
|
||||||
|
|
||||||
public Dictionary<RelFile, AudioPlacement[]> PlacementsDict = new Dictionary<RelFile, AudioPlacement[]>();
|
public Dictionary<RelFile, AudioPlacement[]> PlacementsDict = new Dictionary<RelFile, AudioPlacement[]>();
|
||||||
|
|
||||||
|
|
||||||
@ -26,10 +22,6 @@ namespace CodeWalker.World
|
|||||||
|
|
||||||
GameFileCache = gameFileCache;
|
GameFileCache = gameFileCache;
|
||||||
|
|
||||||
Zones.Clear();
|
|
||||||
Emitters.Clear();
|
|
||||||
AllItems.Clear();
|
|
||||||
|
|
||||||
|
|
||||||
List<AudioPlacement> placements = new List<AudioPlacement>();
|
List<AudioPlacement> placements = new List<AudioPlacement>();
|
||||||
|
|
||||||
@ -44,9 +36,6 @@ namespace CodeWalker.World
|
|||||||
PlacementsDict[relfile] = placements.ToArray();
|
PlacementsDict[relfile] = placements.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
AllItems.AddRange(Zones);
|
|
||||||
AllItems.AddRange(Emitters);
|
|
||||||
|
|
||||||
Inited = true;
|
Inited = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,12 +48,14 @@ namespace CodeWalker.World
|
|||||||
if (reldata is Dat151AmbientZone)
|
if (reldata is Dat151AmbientZone)
|
||||||
{
|
{
|
||||||
placement = new AudioPlacement(relfile, reldata as Dat151AmbientZone);
|
placement = new AudioPlacement(relfile, reldata as Dat151AmbientZone);
|
||||||
if (addtoLists) Zones.Add(placement);
|
|
||||||
}
|
}
|
||||||
else if (reldata is Dat151AmbientRule)
|
else if (reldata is Dat151AmbientRule)
|
||||||
{
|
{
|
||||||
placement = new AudioPlacement(relfile, reldata as Dat151AmbientRule);
|
placement = new AudioPlacement(relfile, reldata as Dat151AmbientRule);
|
||||||
if (addtoLists) Emitters.Add(placement);
|
}
|
||||||
|
else if (reldata is Dat151StaticEmitter)
|
||||||
|
{
|
||||||
|
placement = new AudioPlacement(relfile, reldata as Dat151StaticEmitter);
|
||||||
}
|
}
|
||||||
if (placement != null)
|
if (placement != null)
|
||||||
{
|
{
|
||||||
@ -105,8 +96,9 @@ namespace CodeWalker.World
|
|||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public MetaHash NameHash { get; set; }
|
public MetaHash NameHash { get; set; }
|
||||||
public RelFile RelFile { get; set; }
|
public RelFile RelFile { get; set; }
|
||||||
public Dat151AmbientZone AudioZone { get; set; }
|
public Dat151AmbientZone AmbientZone { get; set; }
|
||||||
public Dat151AmbientRule AudioEmitter { get; set; }
|
public Dat151AmbientRule AmbientRule { get; set; }
|
||||||
|
public Dat151StaticEmitter StaticEmitter { get; set; }
|
||||||
public Dat151ZoneShape Shape { get; set; }
|
public Dat151ZoneShape Shape { get; set; }
|
||||||
public string ShortTypeName { get; set; }
|
public string ShortTypeName { get; set; }
|
||||||
public string FullTypeName { get; set; }
|
public string FullTypeName { get; set; }
|
||||||
@ -131,27 +123,37 @@ namespace CodeWalker.World
|
|||||||
public AudioPlacement(RelFile rel, Dat151AmbientZone zone)
|
public AudioPlacement(RelFile rel, Dat151AmbientZone zone)
|
||||||
{
|
{
|
||||||
RelFile = rel;
|
RelFile = rel;
|
||||||
AudioZone = zone;
|
AmbientZone = zone;
|
||||||
ShortTypeName = "AudioZone";
|
ShortTypeName = "AmbientZone";
|
||||||
FullTypeName = "Audio Zone";
|
FullTypeName = "Ambient Zone";
|
||||||
|
|
||||||
UpdateFromZone();
|
UpdateFromAmbientZone();
|
||||||
}
|
}
|
||||||
public AudioPlacement(RelFile rel, Dat151AmbientRule emitter)
|
public AudioPlacement(RelFile rel, Dat151AmbientRule rule)
|
||||||
{
|
{
|
||||||
RelFile = rel;
|
RelFile = rel;
|
||||||
AudioEmitter = emitter;
|
AmbientRule = rule;
|
||||||
ShortTypeName = "AudioEmitter";
|
ShortTypeName = "AmbientRule";
|
||||||
FullTypeName = "Audio Emitter";
|
FullTypeName = "Ambient Rule";
|
||||||
|
|
||||||
UpdateFromEmitter();
|
UpdateFromAmbientRule();
|
||||||
|
}
|
||||||
|
public AudioPlacement(RelFile rel, Dat151StaticEmitter emitter)
|
||||||
|
{
|
||||||
|
RelFile = rel;
|
||||||
|
StaticEmitter = emitter;
|
||||||
|
ShortTypeName = "StaticEmitter";
|
||||||
|
FullTypeName = "Static Emitter";
|
||||||
|
|
||||||
|
UpdateFromStaticEmitter();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void UpdateFromZone()
|
|
||||||
|
public void UpdateFromAmbientZone()
|
||||||
{
|
{
|
||||||
if (AudioZone == null) return;
|
if (AmbientZone == null) return;
|
||||||
var zone = AudioZone;
|
var zone = AmbientZone;
|
||||||
|
|
||||||
Name = zone.Name;
|
Name = zone.Name;
|
||||||
NameHash = zone.NameHash;
|
NameHash = zone.NameHash;
|
||||||
@ -162,29 +164,29 @@ namespace CodeWalker.World
|
|||||||
switch (zone.Shape)
|
switch (zone.Shape)
|
||||||
{
|
{
|
||||||
case Dat151ZoneShape.Box:
|
case Dat151ZoneShape.Box:
|
||||||
InnerPos = zone.PlaybackZonePosition;
|
InnerPos = zone.PositioningZoneCentre;
|
||||||
InnerMax = zone.PlaybackZoneSize * 0.5f;
|
InnerMax = zone.PositioningZoneSize * 0.5f;
|
||||||
InnerMin = -InnerMax;
|
InnerMin = -InnerMax;
|
||||||
InnerOri = Quaternion.RotationAxis(Vector3.UnitZ, zone.PlaybackZoneAngle * deg2rad);
|
InnerOri = Quaternion.RotationAxis(Vector3.UnitZ, zone.PositioningZoneRotationAngle * deg2rad);
|
||||||
break;
|
break;
|
||||||
case Dat151ZoneShape.Sphere:
|
case Dat151ZoneShape.Sphere:
|
||||||
InnerPos = zone.PlaybackZonePosition;
|
InnerPos = zone.PositioningZoneCentre;
|
||||||
InnerOri = Quaternion.Identity;
|
InnerOri = Quaternion.Identity;
|
||||||
InnerRadius = zone.PlaybackZoneSize.X;
|
InnerRadius = zone.PositioningZoneSize.X;
|
||||||
OuterRadius = zone.ActivationZoneSize.X;
|
OuterRadius = zone.ActivationZoneSize.X;
|
||||||
break;
|
break;
|
||||||
case Dat151ZoneShape.Line:
|
case Dat151ZoneShape.Line:
|
||||||
InnerPos = zone.PlaybackZonePosition;
|
InnerPos = zone.PositioningZoneCentre;
|
||||||
InnerMin = new Vector3(-1.0f, -1.0f, 0.0f);
|
InnerMin = new Vector3(-1.0f, -1.0f, 0.0f);
|
||||||
InnerMax = new Vector3(1.0f, 1.0f, (zone.PlaybackZoneSize - zone.PlaybackZonePosition).Length());
|
InnerMax = new Vector3(1.0f, 1.0f, (zone.PositioningZoneSize - zone.PositioningZoneCentre).Length());
|
||||||
InnerOri = Quaternion.Invert(Quaternion.LookAtLH(zone.PlaybackZonePosition, zone.PlaybackZoneSize, Vector3.UnitZ));
|
InnerOri = Quaternion.Invert(Quaternion.LookAtLH(zone.PositioningZoneCentre, zone.PositioningZoneSize, Vector3.UnitZ));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
OuterPos = zone.ActivationZonePosition;
|
OuterPos = zone.ActivationZoneCentre;
|
||||||
OuterMax = zone.ActivationZoneSize * 0.5f;
|
OuterMax = zone.ActivationZoneSize * 0.5f;
|
||||||
OuterMin = -OuterMax;
|
OuterMin = -OuterMax;
|
||||||
OuterOri = Quaternion.RotationAxis(Vector3.UnitZ, zone.ActivationZoneAngle * deg2rad);
|
OuterOri = Quaternion.RotationAxis(Vector3.UnitZ, zone.ActivationZoneRotationAngle * deg2rad);
|
||||||
|
|
||||||
bool useouter = ((InnerMax.X == 0) || (InnerMax.Y == 0) || (InnerMax.Z == 0));
|
bool useouter = ((InnerMax.X == 0) || (InnerMax.Y == 0) || (InnerMax.Z == 0));
|
||||||
if (useouter && (zone.Shape != Dat151ZoneShape.Sphere))
|
if (useouter && (zone.Shape != Dat151ZoneShape.Sphere))
|
||||||
@ -202,10 +204,36 @@ namespace CodeWalker.World
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateFromEmitter()
|
public void UpdateFromAmbientRule()
|
||||||
{
|
{
|
||||||
if (AudioEmitter == null) return;
|
if (AmbientRule == null) return;
|
||||||
var emitter = AudioEmitter;
|
var rule = AmbientRule;
|
||||||
|
|
||||||
|
Name = rule.Name;
|
||||||
|
NameHash = rule.NameHash;
|
||||||
|
Shape = Dat151ZoneShape.Sphere;
|
||||||
|
|
||||||
|
Orientation = Quaternion.Identity;
|
||||||
|
OrientationInv = Quaternion.Identity;
|
||||||
|
InnerPos = rule.Position;
|
||||||
|
OuterPos = InnerPos;
|
||||||
|
InnerRadius = rule.MinDist;
|
||||||
|
OuterRadius = rule.MaxDist;
|
||||||
|
|
||||||
|
bool useouter = (InnerRadius == 0);
|
||||||
|
if (useouter)
|
||||||
|
{
|
||||||
|
InnerRadius = 1;
|
||||||
|
}
|
||||||
|
Position = InnerPos;
|
||||||
|
HitSphereRad = InnerRadius;// useouter ? OuterRadius : InnerRadius;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateFromStaticEmitter()
|
||||||
|
{
|
||||||
|
if (StaticEmitter == null) return;
|
||||||
|
var emitter = StaticEmitter;
|
||||||
|
|
||||||
Name = emitter.Name;
|
Name = emitter.Name;
|
||||||
NameHash = emitter.NameHash;
|
NameHash = emitter.NameHash;
|
||||||
@ -215,8 +243,8 @@ namespace CodeWalker.World
|
|||||||
OrientationInv = Quaternion.Identity;
|
OrientationInv = Quaternion.Identity;
|
||||||
InnerPos = emitter.Position;
|
InnerPos = emitter.Position;
|
||||||
OuterPos = InnerPos;
|
OuterPos = InnerPos;
|
||||||
InnerRadius = emitter.InnerRadius;
|
InnerRadius = emitter.MinDistance;
|
||||||
OuterRadius = emitter.OuterRadius;
|
OuterRadius = emitter.MaxDistance;
|
||||||
|
|
||||||
bool useouter = (InnerRadius == 0);
|
bool useouter = (InnerRadius == 0);
|
||||||
if (useouter)
|
if (useouter)
|
||||||
@ -237,14 +265,18 @@ namespace CodeWalker.World
|
|||||||
OuterPos += delta;
|
OuterPos += delta;
|
||||||
Position = useouter ? OuterPos : InnerPos;
|
Position = useouter ? OuterPos : InnerPos;
|
||||||
|
|
||||||
if (AudioZone != null)
|
if (AmbientZone != null)
|
||||||
{
|
{
|
||||||
AudioZone.PlaybackZonePosition = InnerPos;
|
AmbientZone.PositioningZoneCentre = InnerPos;
|
||||||
AudioZone.ActivationZonePosition = OuterPos;
|
AmbientZone.ActivationZoneCentre = OuterPos;
|
||||||
}
|
}
|
||||||
if (AudioEmitter != null)
|
if (AmbientRule != null)
|
||||||
{
|
{
|
||||||
AudioEmitter.Position = InnerPos;
|
AmbientRule.Position = InnerPos;
|
||||||
|
}
|
||||||
|
if (StaticEmitter != null)
|
||||||
|
{
|
||||||
|
StaticEmitter.Position = InnerPos;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void SetOrientation(Quaternion ori)
|
public void SetOrientation(Quaternion ori)
|
||||||
@ -264,10 +296,10 @@ namespace CodeWalker.World
|
|||||||
{
|
{
|
||||||
InnerOri = Orientation;
|
InnerOri = Orientation;
|
||||||
OuterOri = Orientation;
|
OuterOri = Orientation;
|
||||||
if (AudioZone != null)
|
if (AmbientZone != null)
|
||||||
{
|
{
|
||||||
AudioZone.PlaybackZoneAngle = uangl;
|
AmbientZone.PositioningZoneRotationAngle = (ushort)uangl;
|
||||||
AudioZone.ActivationZoneAngle = uangl;
|
AmbientZone.ActivationZoneRotationAngle = (ushort)uangl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -278,17 +310,17 @@ namespace CodeWalker.World
|
|||||||
if (useouter)
|
if (useouter)
|
||||||
{
|
{
|
||||||
OuterOri = Orientation;
|
OuterOri = Orientation;
|
||||||
if (AudioZone != null)
|
if (AmbientZone != null)
|
||||||
{
|
{
|
||||||
AudioZone.ActivationZoneAngle = uangl;
|
AmbientZone.ActivationZoneRotationAngle = (ushort)uangl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
InnerOri = Orientation;
|
InnerOri = Orientation;
|
||||||
if (AudioZone != null)
|
if (AmbientZone != null)
|
||||||
{
|
{
|
||||||
AudioZone.PlaybackZoneAngle = uangl;
|
AmbientZone.PositioningZoneRotationAngle = (ushort)uangl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
namespace CodeWalker.Project.Panels
|
namespace CodeWalker.Project.Panels
|
||||||
{
|
{
|
||||||
partial class EditAudioEmitterPanel
|
partial class EditAudioAmbientRulePanel
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Required designer variable.
|
/// Required designer variable.
|
||||||
@ -28,15 +28,21 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditAudioEmitterPanel));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditAudioAmbientRulePanel));
|
||||||
this.GoToButton = new System.Windows.Forms.Button();
|
this.GoToButton = new System.Windows.Forms.Button();
|
||||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||||
|
this.ExplicitSpawnCombo = new System.Windows.Forms.ComboBox();
|
||||||
|
this.label13 = new System.Windows.Forms.Label();
|
||||||
|
this.label24 = new System.Windows.Forms.Label();
|
||||||
|
this.label11 = new System.Windows.Forms.Label();
|
||||||
|
this.label9 = new System.Windows.Forms.Label();
|
||||||
|
this.label8 = new System.Windows.Forms.Label();
|
||||||
|
this.label5 = new System.Windows.Forms.Label();
|
||||||
this.Unk13UpDown = new System.Windows.Forms.NumericUpDown();
|
this.Unk13UpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
this.Unk12UpDown = new System.Windows.Forms.NumericUpDown();
|
this.Unk12UpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
this.Unk11UpDown = new System.Windows.Forms.NumericUpDown();
|
this.Unk11UpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
this.Unk10UpDown = new System.Windows.Forms.NumericUpDown();
|
this.Unk10UpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
this.Unk09UpDown = new System.Windows.Forms.NumericUpDown();
|
|
||||||
this.Unk07UpDown = new System.Windows.Forms.NumericUpDown();
|
this.Unk07UpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
this.Unk08UpDown = new System.Windows.Forms.NumericUpDown();
|
this.Unk08UpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
this.FrequencyUpDown = new System.Windows.Forms.NumericUpDown();
|
this.FrequencyUpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
@ -46,8 +52,6 @@
|
|||||||
this.Flags5TextBox = new System.Windows.Forms.TextBox();
|
this.Flags5TextBox = new System.Windows.Forms.TextBox();
|
||||||
this.label22 = new System.Windows.Forms.Label();
|
this.label22 = new System.Windows.Forms.Label();
|
||||||
this.Flags4TextBox = new System.Windows.Forms.TextBox();
|
this.Flags4TextBox = new System.Windows.Forms.TextBox();
|
||||||
this.label19 = new System.Windows.Forms.Label();
|
|
||||||
this.Flags3TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.DeleteButton = new System.Windows.Forms.Button();
|
this.DeleteButton = new System.Windows.Forms.Button();
|
||||||
this.AddToProjectButton = new System.Windows.Forms.Button();
|
this.AddToProjectButton = new System.Windows.Forms.Button();
|
||||||
this.label21 = new System.Windows.Forms.Label();
|
this.label21 = new System.Windows.Forms.Label();
|
||||||
@ -57,10 +61,6 @@
|
|||||||
this.label15 = new System.Windows.Forms.Label();
|
this.label15 = new System.Windows.Forms.Label();
|
||||||
this.label17 = new System.Windows.Forms.Label();
|
this.label17 = new System.Windows.Forms.Label();
|
||||||
this.label18 = new System.Windows.Forms.Label();
|
this.label18 = new System.Windows.Forms.Label();
|
||||||
this.label14 = new System.Windows.Forms.Label();
|
|
||||||
this.Flags1TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label13 = new System.Windows.Forms.Label();
|
|
||||||
this.Flags0TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label12 = new System.Windows.Forms.Label();
|
this.label12 = new System.Windows.Forms.Label();
|
||||||
this.NameTextBox = new System.Windows.Forms.TextBox();
|
this.NameTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.label6 = new System.Windows.Forms.Label();
|
this.label6 = new System.Windows.Forms.Label();
|
||||||
@ -77,16 +77,12 @@
|
|||||||
this.InnerRadiusTextBox = new System.Windows.Forms.TextBox();
|
this.InnerRadiusTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.label16 = new System.Windows.Forms.Label();
|
this.label16 = new System.Windows.Forms.Label();
|
||||||
this.PositionTextBox = new System.Windows.Forms.TextBox();
|
this.PositionTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.label5 = new System.Windows.Forms.Label();
|
|
||||||
this.label8 = new System.Windows.Forms.Label();
|
|
||||||
this.label9 = new System.Windows.Forms.Label();
|
|
||||||
this.tabControl1.SuspendLayout();
|
this.tabControl1.SuspendLayout();
|
||||||
this.tabPage1.SuspendLayout();
|
this.tabPage1.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.Unk13UpDown)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.Unk13UpDown)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.Unk12UpDown)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.Unk12UpDown)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.Unk11UpDown)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.Unk11UpDown)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.Unk10UpDown)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.Unk10UpDown)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.Unk09UpDown)).BeginInit();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.Unk07UpDown)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.Unk07UpDown)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.Unk08UpDown)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.Unk08UpDown)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.FrequencyUpDown)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.FrequencyUpDown)).BeginInit();
|
||||||
@ -119,6 +115,10 @@
|
|||||||
//
|
//
|
||||||
// tabPage1
|
// tabPage1
|
||||||
//
|
//
|
||||||
|
this.tabPage1.Controls.Add(this.ExplicitSpawnCombo);
|
||||||
|
this.tabPage1.Controls.Add(this.label13);
|
||||||
|
this.tabPage1.Controls.Add(this.label24);
|
||||||
|
this.tabPage1.Controls.Add(this.label11);
|
||||||
this.tabPage1.Controls.Add(this.label9);
|
this.tabPage1.Controls.Add(this.label9);
|
||||||
this.tabPage1.Controls.Add(this.label8);
|
this.tabPage1.Controls.Add(this.label8);
|
||||||
this.tabPage1.Controls.Add(this.label5);
|
this.tabPage1.Controls.Add(this.label5);
|
||||||
@ -126,7 +126,6 @@
|
|||||||
this.tabPage1.Controls.Add(this.Unk12UpDown);
|
this.tabPage1.Controls.Add(this.Unk12UpDown);
|
||||||
this.tabPage1.Controls.Add(this.Unk11UpDown);
|
this.tabPage1.Controls.Add(this.Unk11UpDown);
|
||||||
this.tabPage1.Controls.Add(this.Unk10UpDown);
|
this.tabPage1.Controls.Add(this.Unk10UpDown);
|
||||||
this.tabPage1.Controls.Add(this.Unk09UpDown);
|
|
||||||
this.tabPage1.Controls.Add(this.Unk07UpDown);
|
this.tabPage1.Controls.Add(this.Unk07UpDown);
|
||||||
this.tabPage1.Controls.Add(this.Unk08UpDown);
|
this.tabPage1.Controls.Add(this.Unk08UpDown);
|
||||||
this.tabPage1.Controls.Add(this.FrequencyUpDown);
|
this.tabPage1.Controls.Add(this.FrequencyUpDown);
|
||||||
@ -136,8 +135,6 @@
|
|||||||
this.tabPage1.Controls.Add(this.Flags5TextBox);
|
this.tabPage1.Controls.Add(this.Flags5TextBox);
|
||||||
this.tabPage1.Controls.Add(this.label22);
|
this.tabPage1.Controls.Add(this.label22);
|
||||||
this.tabPage1.Controls.Add(this.Flags4TextBox);
|
this.tabPage1.Controls.Add(this.Flags4TextBox);
|
||||||
this.tabPage1.Controls.Add(this.label19);
|
|
||||||
this.tabPage1.Controls.Add(this.Flags3TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.DeleteButton);
|
this.tabPage1.Controls.Add(this.DeleteButton);
|
||||||
this.tabPage1.Controls.Add(this.AddToProjectButton);
|
this.tabPage1.Controls.Add(this.AddToProjectButton);
|
||||||
this.tabPage1.Controls.Add(this.label21);
|
this.tabPage1.Controls.Add(this.label21);
|
||||||
@ -147,10 +144,6 @@
|
|||||||
this.tabPage1.Controls.Add(this.label15);
|
this.tabPage1.Controls.Add(this.label15);
|
||||||
this.tabPage1.Controls.Add(this.label17);
|
this.tabPage1.Controls.Add(this.label17);
|
||||||
this.tabPage1.Controls.Add(this.label18);
|
this.tabPage1.Controls.Add(this.label18);
|
||||||
this.tabPage1.Controls.Add(this.label14);
|
|
||||||
this.tabPage1.Controls.Add(this.Flags1TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label13);
|
|
||||||
this.tabPage1.Controls.Add(this.Flags0TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label12);
|
this.tabPage1.Controls.Add(this.label12);
|
||||||
this.tabPage1.Controls.Add(this.NameTextBox);
|
this.tabPage1.Controls.Add(this.NameTextBox);
|
||||||
this.tabPage1.Controls.Add(this.label6);
|
this.tabPage1.Controls.Add(this.label6);
|
||||||
@ -172,12 +165,77 @@
|
|||||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||||
this.tabPage1.Size = new System.Drawing.Size(551, 421);
|
this.tabPage1.Size = new System.Drawing.Size(551, 421);
|
||||||
this.tabPage1.TabIndex = 0;
|
this.tabPage1.TabIndex = 0;
|
||||||
this.tabPage1.Text = "Ambient Emitter";
|
this.tabPage1.Text = "Ambient Rule";
|
||||||
this.tabPage1.UseVisualStyleBackColor = true;
|
this.tabPage1.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
|
// ExplicitSpawnCombo
|
||||||
|
//
|
||||||
|
this.ExplicitSpawnCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.ExplicitSpawnCombo.FormattingEnabled = true;
|
||||||
|
this.ExplicitSpawnCombo.Location = new System.Drawing.Point(412, 103);
|
||||||
|
this.ExplicitSpawnCombo.Name = "ExplicitSpawnCombo";
|
||||||
|
this.ExplicitSpawnCombo.Size = new System.Drawing.Size(132, 21);
|
||||||
|
this.ExplicitSpawnCombo.TabIndex = 90;
|
||||||
|
this.ExplicitSpawnCombo.SelectedIndexChanged += new System.EventHandler(this.ExplicitSpawnCombo_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// label13
|
||||||
|
//
|
||||||
|
this.label13.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.label13.AutoSize = true;
|
||||||
|
this.label13.Location = new System.Drawing.Point(329, 106);
|
||||||
|
this.label13.Name = "label13";
|
||||||
|
this.label13.Size = new System.Drawing.Size(77, 13);
|
||||||
|
this.label13.TabIndex = 89;
|
||||||
|
this.label13.Text = "Explicit spawn:";
|
||||||
|
//
|
||||||
|
// label24
|
||||||
|
//
|
||||||
|
this.label24.AutoSize = true;
|
||||||
|
this.label24.Location = new System.Drawing.Point(7, 380);
|
||||||
|
this.label24.Name = "label24";
|
||||||
|
this.label24.Size = new System.Drawing.Size(112, 13);
|
||||||
|
this.label24.TabIndex = 87;
|
||||||
|
this.label24.Text = "Max Global Instances:";
|
||||||
|
//
|
||||||
|
// label11
|
||||||
|
//
|
||||||
|
this.label11.AutoSize = true;
|
||||||
|
this.label11.Location = new System.Drawing.Point(7, 354);
|
||||||
|
this.label11.Name = "label11";
|
||||||
|
this.label11.Size = new System.Drawing.Size(87, 13);
|
||||||
|
this.label11.TabIndex = 86;
|
||||||
|
this.label11.Text = "Max Path Depth:";
|
||||||
|
//
|
||||||
|
// label9
|
||||||
|
//
|
||||||
|
this.label9.AutoSize = true;
|
||||||
|
this.label9.Location = new System.Drawing.Point(192, 178);
|
||||||
|
this.label9.Name = "label9";
|
||||||
|
this.label9.Size = new System.Drawing.Size(78, 13);
|
||||||
|
this.label9.TabIndex = 45;
|
||||||
|
this.label9.Text = "(game minutes)";
|
||||||
|
//
|
||||||
|
// label8
|
||||||
|
//
|
||||||
|
this.label8.AutoSize = true;
|
||||||
|
this.label8.Location = new System.Drawing.Point(7, 203);
|
||||||
|
this.label8.Name = "label8";
|
||||||
|
this.label8.Size = new System.Drawing.Size(55, 13);
|
||||||
|
this.label8.TabIndex = 46;
|
||||||
|
this.label8.Text = "End Time:";
|
||||||
|
//
|
||||||
|
// label5
|
||||||
|
//
|
||||||
|
this.label5.AutoSize = true;
|
||||||
|
this.label5.Location = new System.Drawing.Point(7, 253);
|
||||||
|
this.label5.Name = "label5";
|
||||||
|
this.label5.Size = new System.Drawing.Size(94, 13);
|
||||||
|
this.label5.TabIndex = 50;
|
||||||
|
this.label5.Text = "Max Repeat Time:";
|
||||||
|
//
|
||||||
// Unk13UpDown
|
// Unk13UpDown
|
||||||
//
|
//
|
||||||
this.Unk13UpDown.Location = new System.Drawing.Point(138, 325);
|
this.Unk13UpDown.Location = new System.Drawing.Point(126, 352);
|
||||||
this.Unk13UpDown.Maximum = new decimal(new int[] {
|
this.Unk13UpDown.Maximum = new decimal(new int[] {
|
||||||
255,
|
255,
|
||||||
0,
|
0,
|
||||||
@ -190,7 +248,7 @@
|
|||||||
//
|
//
|
||||||
// Unk12UpDown
|
// Unk12UpDown
|
||||||
//
|
//
|
||||||
this.Unk12UpDown.Location = new System.Drawing.Point(84, 325);
|
this.Unk12UpDown.Location = new System.Drawing.Point(126, 326);
|
||||||
this.Unk12UpDown.Maximum = new decimal(new int[] {
|
this.Unk12UpDown.Maximum = new decimal(new int[] {
|
||||||
255,
|
255,
|
||||||
0,
|
0,
|
||||||
@ -203,7 +261,7 @@
|
|||||||
//
|
//
|
||||||
// Unk11UpDown
|
// Unk11UpDown
|
||||||
//
|
//
|
||||||
this.Unk11UpDown.Location = new System.Drawing.Point(138, 301);
|
this.Unk11UpDown.Location = new System.Drawing.Point(126, 378);
|
||||||
this.Unk11UpDown.Maximum = new decimal(new int[] {
|
this.Unk11UpDown.Maximum = new decimal(new int[] {
|
||||||
255,
|
255,
|
||||||
0,
|
0,
|
||||||
@ -216,7 +274,7 @@
|
|||||||
//
|
//
|
||||||
// Unk10UpDown
|
// Unk10UpDown
|
||||||
//
|
//
|
||||||
this.Unk10UpDown.Location = new System.Drawing.Point(84, 301);
|
this.Unk10UpDown.Location = new System.Drawing.Point(126, 302);
|
||||||
this.Unk10UpDown.Maximum = new decimal(new int[] {
|
this.Unk10UpDown.Maximum = new decimal(new int[] {
|
||||||
255,
|
255,
|
||||||
0,
|
0,
|
||||||
@ -227,22 +285,9 @@
|
|||||||
this.Unk10UpDown.TabIndex = 56;
|
this.Unk10UpDown.TabIndex = 56;
|
||||||
this.Unk10UpDown.ValueChanged += new System.EventHandler(this.Unk10UpDown_ValueChanged);
|
this.Unk10UpDown.ValueChanged += new System.EventHandler(this.Unk10UpDown_ValueChanged);
|
||||||
//
|
//
|
||||||
// Unk09UpDown
|
|
||||||
//
|
|
||||||
this.Unk09UpDown.Location = new System.Drawing.Point(138, 277);
|
|
||||||
this.Unk09UpDown.Maximum = new decimal(new int[] {
|
|
||||||
255,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0});
|
|
||||||
this.Unk09UpDown.Name = "Unk09UpDown";
|
|
||||||
this.Unk09UpDown.Size = new System.Drawing.Size(48, 20);
|
|
||||||
this.Unk09UpDown.TabIndex = 54;
|
|
||||||
this.Unk09UpDown.ValueChanged += new System.EventHandler(this.Unk09UpDown_ValueChanged);
|
|
||||||
//
|
|
||||||
// Unk07UpDown
|
// Unk07UpDown
|
||||||
//
|
//
|
||||||
this.Unk07UpDown.Location = new System.Drawing.Point(84, 251);
|
this.Unk07UpDown.Location = new System.Drawing.Point(104, 253);
|
||||||
this.Unk07UpDown.Maximum = new decimal(new int[] {
|
this.Unk07UpDown.Maximum = new decimal(new int[] {
|
||||||
65535,
|
65535,
|
||||||
0,
|
0,
|
||||||
@ -255,7 +300,7 @@
|
|||||||
//
|
//
|
||||||
// Unk08UpDown
|
// Unk08UpDown
|
||||||
//
|
//
|
||||||
this.Unk08UpDown.Location = new System.Drawing.Point(84, 277);
|
this.Unk08UpDown.Location = new System.Drawing.Point(126, 278);
|
||||||
this.Unk08UpDown.Maximum = new decimal(new int[] {
|
this.Unk08UpDown.Maximum = new decimal(new int[] {
|
||||||
255,
|
255,
|
||||||
0,
|
0,
|
||||||
@ -268,7 +313,7 @@
|
|||||||
//
|
//
|
||||||
// FrequencyUpDown
|
// FrequencyUpDown
|
||||||
//
|
//
|
||||||
this.FrequencyUpDown.Location = new System.Drawing.Point(84, 227);
|
this.FrequencyUpDown.Location = new System.Drawing.Point(104, 228);
|
||||||
this.FrequencyUpDown.Maximum = new decimal(new int[] {
|
this.FrequencyUpDown.Maximum = new decimal(new int[] {
|
||||||
65535,
|
65535,
|
||||||
0,
|
0,
|
||||||
@ -309,18 +354,18 @@
|
|||||||
//
|
//
|
||||||
this.label23.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
this.label23.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.label23.AutoSize = true;
|
this.label23.AutoSize = true;
|
||||||
this.label23.Location = new System.Drawing.Point(340, 178);
|
this.label23.Location = new System.Drawing.Point(357, 82);
|
||||||
this.label23.Name = "label23";
|
this.label23.Name = "label23";
|
||||||
this.label23.Size = new System.Drawing.Size(44, 13);
|
this.label23.Size = new System.Drawing.Size(49, 13);
|
||||||
this.label23.TabIndex = 80;
|
this.label23.TabIndex = 80;
|
||||||
this.label23.Text = "Flags 5:";
|
this.label23.Text = "Bank ID:";
|
||||||
//
|
//
|
||||||
// Flags5TextBox
|
// Flags5TextBox
|
||||||
//
|
//
|
||||||
this.Flags5TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
this.Flags5TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.Flags5TextBox.Location = new System.Drawing.Point(390, 175);
|
this.Flags5TextBox.Location = new System.Drawing.Point(412, 78);
|
||||||
this.Flags5TextBox.Name = "Flags5TextBox";
|
this.Flags5TextBox.Name = "Flags5TextBox";
|
||||||
this.Flags5TextBox.Size = new System.Drawing.Size(155, 20);
|
this.Flags5TextBox.Size = new System.Drawing.Size(132, 20);
|
||||||
this.Flags5TextBox.TabIndex = 81;
|
this.Flags5TextBox.TabIndex = 81;
|
||||||
this.Flags5TextBox.TextChanged += new System.EventHandler(this.Flags5TextBox_TextChanged);
|
this.Flags5TextBox.TextChanged += new System.EventHandler(this.Flags5TextBox_TextChanged);
|
||||||
//
|
//
|
||||||
@ -328,40 +373,21 @@
|
|||||||
//
|
//
|
||||||
this.label22.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
this.label22.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.label22.AutoSize = true;
|
this.label22.AutoSize = true;
|
||||||
this.label22.Location = new System.Drawing.Point(340, 154);
|
this.label22.Location = new System.Drawing.Point(343, 57);
|
||||||
this.label22.Name = "label22";
|
this.label22.Name = "label22";
|
||||||
this.label22.Size = new System.Drawing.Size(44, 13);
|
this.label22.Size = new System.Drawing.Size(65, 13);
|
||||||
this.label22.TabIndex = 78;
|
this.label22.TabIndex = 78;
|
||||||
this.label22.Text = "Flags 4:";
|
this.label22.Text = "Last Played:";
|
||||||
//
|
//
|
||||||
// Flags4TextBox
|
// Flags4TextBox
|
||||||
//
|
//
|
||||||
this.Flags4TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
this.Flags4TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.Flags4TextBox.Location = new System.Drawing.Point(390, 151);
|
this.Flags4TextBox.Location = new System.Drawing.Point(412, 54);
|
||||||
this.Flags4TextBox.Name = "Flags4TextBox";
|
this.Flags4TextBox.Name = "Flags4TextBox";
|
||||||
this.Flags4TextBox.Size = new System.Drawing.Size(155, 20);
|
this.Flags4TextBox.Size = new System.Drawing.Size(132, 20);
|
||||||
this.Flags4TextBox.TabIndex = 79;
|
this.Flags4TextBox.TabIndex = 79;
|
||||||
this.Flags4TextBox.TextChanged += new System.EventHandler(this.Flags4TextBox_TextChanged);
|
this.Flags4TextBox.TextChanged += new System.EventHandler(this.Flags4TextBox_TextChanged);
|
||||||
//
|
//
|
||||||
// label19
|
|
||||||
//
|
|
||||||
this.label19.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.label19.AutoSize = true;
|
|
||||||
this.label19.Location = new System.Drawing.Point(340, 130);
|
|
||||||
this.label19.Name = "label19";
|
|
||||||
this.label19.Size = new System.Drawing.Size(44, 13);
|
|
||||||
this.label19.TabIndex = 76;
|
|
||||||
this.label19.Text = "Flags 3:";
|
|
||||||
//
|
|
||||||
// Flags3TextBox
|
|
||||||
//
|
|
||||||
this.Flags3TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.Flags3TextBox.Location = new System.Drawing.Point(390, 127);
|
|
||||||
this.Flags3TextBox.Name = "Flags3TextBox";
|
|
||||||
this.Flags3TextBox.Size = new System.Drawing.Size(155, 20);
|
|
||||||
this.Flags3TextBox.TabIndex = 77;
|
|
||||||
this.Flags3TextBox.TextChanged += new System.EventHandler(this.Flags3TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// DeleteButton
|
// DeleteButton
|
||||||
//
|
//
|
||||||
this.DeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
this.DeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
@ -369,7 +395,7 @@
|
|||||||
this.DeleteButton.Name = "DeleteButton";
|
this.DeleteButton.Name = "DeleteButton";
|
||||||
this.DeleteButton.Size = new System.Drawing.Size(93, 23);
|
this.DeleteButton.Size = new System.Drawing.Size(93, 23);
|
||||||
this.DeleteButton.TabIndex = 85;
|
this.DeleteButton.TabIndex = 85;
|
||||||
this.DeleteButton.Text = "Delete emitter";
|
this.DeleteButton.Text = "Delete rule";
|
||||||
this.DeleteButton.UseVisualStyleBackColor = true;
|
this.DeleteButton.UseVisualStyleBackColor = true;
|
||||||
this.DeleteButton.Click += new System.EventHandler(this.DeleteButton_Click);
|
this.DeleteButton.Click += new System.EventHandler(this.DeleteButton_Click);
|
||||||
//
|
//
|
||||||
@ -388,18 +414,18 @@
|
|||||||
//
|
//
|
||||||
this.label21.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
this.label21.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.label21.AutoSize = true;
|
this.label21.AutoSize = true;
|
||||||
this.label21.Location = new System.Drawing.Point(340, 106);
|
this.label21.Location = new System.Drawing.Point(371, 33);
|
||||||
this.label21.Name = "label21";
|
this.label21.Name = "label21";
|
||||||
this.label21.Size = new System.Drawing.Size(44, 13);
|
this.label21.Size = new System.Drawing.Size(35, 13);
|
||||||
this.label21.TabIndex = 74;
|
this.label21.TabIndex = 74;
|
||||||
this.label21.Text = "Flags 2:";
|
this.label21.Text = "Flags:";
|
||||||
//
|
//
|
||||||
// Flags2TextBox
|
// Flags2TextBox
|
||||||
//
|
//
|
||||||
this.Flags2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
this.Flags2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.Flags2TextBox.Location = new System.Drawing.Point(390, 103);
|
this.Flags2TextBox.Location = new System.Drawing.Point(412, 30);
|
||||||
this.Flags2TextBox.Name = "Flags2TextBox";
|
this.Flags2TextBox.Name = "Flags2TextBox";
|
||||||
this.Flags2TextBox.Size = new System.Drawing.Size(155, 20);
|
this.Flags2TextBox.Size = new System.Drawing.Size(132, 20);
|
||||||
this.Flags2TextBox.TabIndex = 75;
|
this.Flags2TextBox.TabIndex = 75;
|
||||||
this.Flags2TextBox.TextChanged += new System.EventHandler(this.Flags2TextBox_TextChanged);
|
this.Flags2TextBox.TextChanged += new System.EventHandler(this.Flags2TextBox_TextChanged);
|
||||||
//
|
//
|
||||||
@ -407,11 +433,11 @@
|
|||||||
//
|
//
|
||||||
this.label20.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
this.label20.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.label20.AutoSize = true;
|
this.label20.AutoSize = true;
|
||||||
this.label20.Location = new System.Drawing.Point(305, 241);
|
this.label20.Location = new System.Drawing.Point(293, 253);
|
||||||
this.label20.Name = "label20";
|
this.label20.Name = "label20";
|
||||||
this.label20.Size = new System.Drawing.Size(160, 26);
|
this.label20.Size = new System.Drawing.Size(59, 13);
|
||||||
this.label20.TabIndex = 82;
|
this.label20.TabIndex = 82;
|
||||||
this.label20.Text = "Ext params:\r\nName (hash), Value (float), Flags";
|
this.label20.Text = "Conditions:";
|
||||||
//
|
//
|
||||||
// VariablesTextBox
|
// VariablesTextBox
|
||||||
//
|
//
|
||||||
@ -430,65 +456,27 @@
|
|||||||
this.label15.AutoSize = true;
|
this.label15.AutoSize = true;
|
||||||
this.label15.Location = new System.Drawing.Point(7, 328);
|
this.label15.Location = new System.Drawing.Point(7, 328);
|
||||||
this.label15.Name = "label15";
|
this.label15.Name = "label15";
|
||||||
this.label15.Size = new System.Drawing.Size(63, 13);
|
this.label15.Size = new System.Drawing.Size(96, 13);
|
||||||
this.label15.TabIndex = 58;
|
this.label15.TabIndex = 58;
|
||||||
this.label15.Text = "Unk 12, 13:";
|
this.label15.Text = "Blockability Factor:";
|
||||||
//
|
//
|
||||||
// label17
|
// label17
|
||||||
//
|
//
|
||||||
this.label17.AutoSize = true;
|
this.label17.AutoSize = true;
|
||||||
this.label17.Location = new System.Drawing.Point(7, 304);
|
this.label17.Location = new System.Drawing.Point(7, 304);
|
||||||
this.label17.Name = "label17";
|
this.label17.Name = "label17";
|
||||||
this.label17.Size = new System.Drawing.Size(63, 13);
|
this.label17.Size = new System.Drawing.Size(108, 13);
|
||||||
this.label17.TabIndex = 55;
|
this.label17.TabIndex = 55;
|
||||||
this.label17.Text = "Unk 10, 11:";
|
this.label17.Text = "Max Local Instances:";
|
||||||
//
|
//
|
||||||
// label18
|
// label18
|
||||||
//
|
//
|
||||||
this.label18.AutoSize = true;
|
this.label18.AutoSize = true;
|
||||||
this.label18.Location = new System.Drawing.Point(7, 280);
|
this.label18.Location = new System.Drawing.Point(7, 280);
|
||||||
this.label18.Name = "label18";
|
this.label18.Name = "label18";
|
||||||
this.label18.Size = new System.Drawing.Size(51, 13);
|
this.label18.Size = new System.Drawing.Size(77, 13);
|
||||||
this.label18.TabIndex = 52;
|
this.label18.TabIndex = 52;
|
||||||
this.label18.Text = "Unk 8, 9:";
|
this.label18.Text = "Spawn Height:";
|
||||||
//
|
|
||||||
// label14
|
|
||||||
//
|
|
||||||
this.label14.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.label14.AutoSize = true;
|
|
||||||
this.label14.Location = new System.Drawing.Point(340, 82);
|
|
||||||
this.label14.Name = "label14";
|
|
||||||
this.label14.Size = new System.Drawing.Size(44, 13);
|
|
||||||
this.label14.TabIndex = 72;
|
|
||||||
this.label14.Text = "Flags 1:";
|
|
||||||
//
|
|
||||||
// Flags1TextBox
|
|
||||||
//
|
|
||||||
this.Flags1TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.Flags1TextBox.Location = new System.Drawing.Point(390, 79);
|
|
||||||
this.Flags1TextBox.Name = "Flags1TextBox";
|
|
||||||
this.Flags1TextBox.Size = new System.Drawing.Size(155, 20);
|
|
||||||
this.Flags1TextBox.TabIndex = 73;
|
|
||||||
this.Flags1TextBox.TextChanged += new System.EventHandler(this.Flags1TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label13
|
|
||||||
//
|
|
||||||
this.label13.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.label13.AutoSize = true;
|
|
||||||
this.label13.Location = new System.Drawing.Point(340, 58);
|
|
||||||
this.label13.Name = "label13";
|
|
||||||
this.label13.Size = new System.Drawing.Size(44, 13);
|
|
||||||
this.label13.TabIndex = 70;
|
|
||||||
this.label13.Text = "Flags 0:";
|
|
||||||
//
|
|
||||||
// Flags0TextBox
|
|
||||||
//
|
|
||||||
this.Flags0TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.Flags0TextBox.Location = new System.Drawing.Point(390, 55);
|
|
||||||
this.Flags0TextBox.Name = "Flags0TextBox";
|
|
||||||
this.Flags0TextBox.Size = new System.Drawing.Size(155, 20);
|
|
||||||
this.Flags0TextBox.TabIndex = 71;
|
|
||||||
this.Flags0TextBox.TextChanged += new System.EventHandler(this.Flags0TextBox_TextChanged);
|
|
||||||
//
|
//
|
||||||
// label12
|
// label12
|
||||||
//
|
//
|
||||||
@ -514,9 +502,9 @@
|
|||||||
this.label6.AutoSize = true;
|
this.label6.AutoSize = true;
|
||||||
this.label6.Location = new System.Drawing.Point(7, 230);
|
this.label6.Location = new System.Drawing.Point(7, 230);
|
||||||
this.label6.Name = "label6";
|
this.label6.Name = "label6";
|
||||||
this.label6.Size = new System.Drawing.Size(39, 13);
|
this.label6.Size = new System.Drawing.Size(91, 13);
|
||||||
this.label6.TabIndex = 48;
|
this.label6.TabIndex = 48;
|
||||||
this.label6.Text = "Unk 6:";
|
this.label6.Text = "Min Repeat Time:";
|
||||||
//
|
//
|
||||||
// label7
|
// label7
|
||||||
//
|
//
|
||||||
@ -551,9 +539,9 @@
|
|||||||
this.label4.AutoSize = true;
|
this.label4.AutoSize = true;
|
||||||
this.label4.Location = new System.Drawing.Point(7, 154);
|
this.label4.Location = new System.Drawing.Point(7, 154);
|
||||||
this.label4.Name = "label4";
|
this.label4.Name = "label4";
|
||||||
this.label4.Size = new System.Drawing.Size(39, 13);
|
this.label4.Size = new System.Drawing.Size(44, 13);
|
||||||
this.label4.TabIndex = 41;
|
this.label4.TabIndex = 41;
|
||||||
this.label4.Text = "Unk 1:";
|
this.label4.Text = "Weight:";
|
||||||
//
|
//
|
||||||
// Unk01TextBox
|
// Unk01TextBox
|
||||||
//
|
//
|
||||||
@ -570,9 +558,9 @@
|
|||||||
this.label3.AutoSize = true;
|
this.label3.AutoSize = true;
|
||||||
this.label3.Location = new System.Drawing.Point(7, 130);
|
this.label3.Location = new System.Drawing.Point(7, 130);
|
||||||
this.label3.Name = "label3";
|
this.label3.Name = "label3";
|
||||||
this.label3.Size = new System.Drawing.Size(44, 13);
|
this.label3.Size = new System.Drawing.Size(52, 13);
|
||||||
this.label3.TabIndex = 39;
|
this.label3.TabIndex = 39;
|
||||||
this.label3.Text = "Hash 2:";
|
this.label3.Text = "Category:";
|
||||||
//
|
//
|
||||||
// CategoryTextBox
|
// CategoryTextBox
|
||||||
//
|
//
|
||||||
@ -589,9 +577,9 @@
|
|||||||
this.label2.AutoSize = true;
|
this.label2.AutoSize = true;
|
||||||
this.label2.Location = new System.Drawing.Point(7, 106);
|
this.label2.Location = new System.Drawing.Point(7, 106);
|
||||||
this.label2.Name = "label2";
|
this.label2.Name = "label2";
|
||||||
this.label2.Size = new System.Drawing.Size(44, 13);
|
this.label2.Size = new System.Drawing.Size(67, 13);
|
||||||
this.label2.TabIndex = 37;
|
this.label2.TabIndex = 37;
|
||||||
this.label2.Text = "Hash 1:";
|
this.label2.Text = "Child Sound:";
|
||||||
//
|
//
|
||||||
// ChildSoundTextBox
|
// ChildSoundTextBox
|
||||||
//
|
//
|
||||||
@ -641,34 +629,7 @@
|
|||||||
this.PositionTextBox.TabIndex = 32;
|
this.PositionTextBox.TabIndex = 32;
|
||||||
this.PositionTextBox.TextChanged += new System.EventHandler(this.PositionTextBox_TextChanged);
|
this.PositionTextBox.TextChanged += new System.EventHandler(this.PositionTextBox_TextChanged);
|
||||||
//
|
//
|
||||||
// label5
|
// EditAudioAmbientRulePanel
|
||||||
//
|
|
||||||
this.label5.AutoSize = true;
|
|
||||||
this.label5.Location = new System.Drawing.Point(7, 253);
|
|
||||||
this.label5.Name = "label5";
|
|
||||||
this.label5.Size = new System.Drawing.Size(39, 13);
|
|
||||||
this.label5.TabIndex = 50;
|
|
||||||
this.label5.Text = "Unk 7:";
|
|
||||||
//
|
|
||||||
// label8
|
|
||||||
//
|
|
||||||
this.label8.AutoSize = true;
|
|
||||||
this.label8.Location = new System.Drawing.Point(7, 203);
|
|
||||||
this.label8.Name = "label8";
|
|
||||||
this.label8.Size = new System.Drawing.Size(55, 13);
|
|
||||||
this.label8.TabIndex = 46;
|
|
||||||
this.label8.Text = "End Time:";
|
|
||||||
//
|
|
||||||
// label9
|
|
||||||
//
|
|
||||||
this.label9.AutoSize = true;
|
|
||||||
this.label9.Location = new System.Drawing.Point(192, 178);
|
|
||||||
this.label9.Name = "label9";
|
|
||||||
this.label9.Size = new System.Drawing.Size(78, 13);
|
|
||||||
this.label9.TabIndex = 45;
|
|
||||||
this.label9.Text = "(game minutes)";
|
|
||||||
//
|
|
||||||
// EditAudioEmitterPanel
|
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
@ -676,8 +637,8 @@
|
|||||||
this.Controls.Add(this.GoToButton);
|
this.Controls.Add(this.GoToButton);
|
||||||
this.Controls.Add(this.tabControl1);
|
this.Controls.Add(this.tabControl1);
|
||||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
this.Name = "EditAudioEmitterPanel";
|
this.Name = "EditAudioAmbientRulePanel";
|
||||||
this.Text = "Edit Audio Emitter";
|
this.Text = "Edit Audio Ambient Rule";
|
||||||
this.tabControl1.ResumeLayout(false);
|
this.tabControl1.ResumeLayout(false);
|
||||||
this.tabPage1.ResumeLayout(false);
|
this.tabPage1.ResumeLayout(false);
|
||||||
this.tabPage1.PerformLayout();
|
this.tabPage1.PerformLayout();
|
||||||
@ -685,7 +646,6 @@
|
|||||||
((System.ComponentModel.ISupportInitialize)(this.Unk12UpDown)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.Unk12UpDown)).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.Unk11UpDown)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.Unk11UpDown)).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.Unk10UpDown)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.Unk10UpDown)).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.Unk09UpDown)).EndInit();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.Unk07UpDown)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.Unk07UpDown)).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.Unk08UpDown)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.Unk08UpDown)).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.FrequencyUpDown)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.FrequencyUpDown)).EndInit();
|
||||||
@ -709,10 +669,6 @@
|
|||||||
private System.Windows.Forms.Label label15;
|
private System.Windows.Forms.Label label15;
|
||||||
private System.Windows.Forms.Label label17;
|
private System.Windows.Forms.Label label17;
|
||||||
private System.Windows.Forms.Label label18;
|
private System.Windows.Forms.Label label18;
|
||||||
private System.Windows.Forms.Label label14;
|
|
||||||
private System.Windows.Forms.TextBox Flags1TextBox;
|
|
||||||
private System.Windows.Forms.Label label13;
|
|
||||||
private System.Windows.Forms.TextBox Flags0TextBox;
|
|
||||||
private System.Windows.Forms.Label label12;
|
private System.Windows.Forms.Label label12;
|
||||||
private System.Windows.Forms.TextBox NameTextBox;
|
private System.Windows.Forms.TextBox NameTextBox;
|
||||||
private System.Windows.Forms.Label label6;
|
private System.Windows.Forms.Label label6;
|
||||||
@ -733,8 +689,6 @@
|
|||||||
private System.Windows.Forms.TextBox Flags5TextBox;
|
private System.Windows.Forms.TextBox Flags5TextBox;
|
||||||
private System.Windows.Forms.Label label22;
|
private System.Windows.Forms.Label label22;
|
||||||
private System.Windows.Forms.TextBox Flags4TextBox;
|
private System.Windows.Forms.TextBox Flags4TextBox;
|
||||||
private System.Windows.Forms.Label label19;
|
|
||||||
private System.Windows.Forms.TextBox Flags3TextBox;
|
|
||||||
private System.Windows.Forms.NumericUpDown FrequencyUpDown;
|
private System.Windows.Forms.NumericUpDown FrequencyUpDown;
|
||||||
private System.Windows.Forms.NumericUpDown EndTimeUpDown;
|
private System.Windows.Forms.NumericUpDown EndTimeUpDown;
|
||||||
private System.Windows.Forms.NumericUpDown StartTimeUpDown;
|
private System.Windows.Forms.NumericUpDown StartTimeUpDown;
|
||||||
@ -744,9 +698,12 @@
|
|||||||
private System.Windows.Forms.NumericUpDown Unk12UpDown;
|
private System.Windows.Forms.NumericUpDown Unk12UpDown;
|
||||||
private System.Windows.Forms.NumericUpDown Unk11UpDown;
|
private System.Windows.Forms.NumericUpDown Unk11UpDown;
|
||||||
private System.Windows.Forms.NumericUpDown Unk10UpDown;
|
private System.Windows.Forms.NumericUpDown Unk10UpDown;
|
||||||
private System.Windows.Forms.NumericUpDown Unk09UpDown;
|
|
||||||
private System.Windows.Forms.Label label9;
|
private System.Windows.Forms.Label label9;
|
||||||
private System.Windows.Forms.Label label8;
|
private System.Windows.Forms.Label label8;
|
||||||
private System.Windows.Forms.Label label5;
|
private System.Windows.Forms.Label label5;
|
||||||
|
private System.Windows.Forms.Label label11;
|
||||||
|
private System.Windows.Forms.Label label24;
|
||||||
|
private System.Windows.Forms.ComboBox ExplicitSpawnCombo;
|
||||||
|
private System.Windows.Forms.Label label13;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -13,37 +13,42 @@ using System.Windows.Forms;
|
|||||||
|
|
||||||
namespace CodeWalker.Project.Panels
|
namespace CodeWalker.Project.Panels
|
||||||
{
|
{
|
||||||
public partial class EditAudioEmitterPanel : ProjectPanel
|
public partial class EditAudioAmbientRulePanel : ProjectPanel
|
||||||
{
|
{
|
||||||
public ProjectForm ProjectForm;
|
public ProjectForm ProjectForm;
|
||||||
public AudioPlacement CurrentEmitter { get; set; }
|
public AudioPlacement CurrentRule { get; set; }
|
||||||
|
|
||||||
private bool populatingui = false;
|
private bool populatingui = false;
|
||||||
|
|
||||||
|
|
||||||
public EditAudioEmitterPanel(ProjectForm owner)
|
public EditAudioAmbientRulePanel(ProjectForm owner)
|
||||||
{
|
{
|
||||||
ProjectForm = owner;
|
ProjectForm = owner;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
|
ExplicitSpawnCombo.Items.Clear();
|
||||||
|
ExplicitSpawnCombo.Items.Add(Dat151AmbientRule.ExplicitSpawnType.Disabled);
|
||||||
|
ExplicitSpawnCombo.Items.Add(Dat151AmbientRule.ExplicitSpawnType.WorldRelative);
|
||||||
|
ExplicitSpawnCombo.Items.Add(Dat151AmbientRule.ExplicitSpawnType.InteriorRelative);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetEmitter(AudioPlacement emitter)
|
public void SetRule(AudioPlacement rule)
|
||||||
{
|
{
|
||||||
CurrentEmitter = emitter;
|
CurrentRule = rule;
|
||||||
Tag = emitter;
|
Tag = rule;
|
||||||
UpdateFormTitle();
|
UpdateFormTitle();
|
||||||
UpdateUI();
|
UpdateUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateFormTitle()
|
private void UpdateFormTitle()
|
||||||
{
|
{
|
||||||
Text = CurrentEmitter?.NameHash.ToString() ?? "";
|
Text = CurrentRule?.NameHash.ToString() ?? "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void UpdateUI()
|
private void UpdateUI()
|
||||||
{
|
{
|
||||||
if (CurrentEmitter?.AudioEmitter == null)
|
if (CurrentRule?.AmbientRule == null)
|
||||||
{
|
{
|
||||||
AddToProjectButton.Enabled = false;
|
AddToProjectButton.Enabled = false;
|
||||||
DeleteButton.Enabled = false;
|
DeleteButton.Enabled = false;
|
||||||
@ -61,15 +66,12 @@ namespace CodeWalker.Project.Panels
|
|||||||
FrequencyUpDown.Value = 0;
|
FrequencyUpDown.Value = 0;
|
||||||
Unk07UpDown.Value = 0;
|
Unk07UpDown.Value = 0;
|
||||||
Unk08UpDown.Value = 0;
|
Unk08UpDown.Value = 0;
|
||||||
Unk09UpDown.Value = 0;
|
ExplicitSpawnCombo.SelectedItem = null;
|
||||||
Unk10UpDown.Value = 0;
|
Unk10UpDown.Value = 0;
|
||||||
Unk11UpDown.Value = 0;
|
Unk11UpDown.Value = 0;
|
||||||
Unk12UpDown.Value = 0;
|
Unk12UpDown.Value = 0;
|
||||||
Unk13UpDown.Value = 0;
|
Unk13UpDown.Value = 0;
|
||||||
Flags0TextBox.Text = string.Empty;
|
|
||||||
Flags1TextBox.Text = string.Empty;
|
|
||||||
Flags2TextBox.Text = string.Empty;
|
Flags2TextBox.Text = string.Empty;
|
||||||
Flags3TextBox.Text = string.Empty;
|
|
||||||
Flags4TextBox.Text = string.Empty;
|
Flags4TextBox.Text = string.Empty;
|
||||||
Flags5TextBox.Text = string.Empty;
|
Flags5TextBox.Text = string.Empty;
|
||||||
VariablesTextBox.Text = string.Empty;
|
VariablesTextBox.Text = string.Empty;
|
||||||
@ -77,45 +79,42 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
AddToProjectButton.Enabled = CurrentEmitter?.RelFile != null ? !ProjectForm.AudioFileExistsInProject(CurrentEmitter.RelFile) : false;
|
AddToProjectButton.Enabled = CurrentRule?.RelFile != null ? !ProjectForm.AudioFileExistsInProject(CurrentRule.RelFile) : false;
|
||||||
DeleteButton.Enabled = !AddToProjectButton.Enabled;
|
DeleteButton.Enabled = !AddToProjectButton.Enabled;
|
||||||
|
|
||||||
populatingui = true;
|
populatingui = true;
|
||||||
var e = CurrentEmitter.AudioEmitter;
|
var e = CurrentRule.AmbientRule;
|
||||||
NameTextBox.Text = e.NameHash.ToString();
|
NameTextBox.Text = e.NameHash.ToString();
|
||||||
PositionTextBox.Text = FloatUtil.GetVector3String(e.Position);
|
PositionTextBox.Text = FloatUtil.GetVector3String(e.Position);
|
||||||
InnerRadiusTextBox.Text = FloatUtil.ToString(e.InnerRadius);
|
InnerRadiusTextBox.Text = FloatUtil.ToString(e.MinDist);
|
||||||
OuterRadiusTextBox.Text = FloatUtil.ToString(e.OuterRadius);
|
OuterRadiusTextBox.Text = FloatUtil.ToString(e.MaxDist);
|
||||||
ChildSoundTextBox.Text = e.ChildSound.ToString();
|
ChildSoundTextBox.Text = e.ChildSound.ToString();
|
||||||
CategoryTextBox.Text = e.Category.ToString();
|
CategoryTextBox.Text = e.Category.ToString();
|
||||||
Unk01TextBox.Text = FloatUtil.ToString(e.Unk01);
|
Unk01TextBox.Text = FloatUtil.ToString(e.Weight);
|
||||||
StartTimeUpDown.Value = e.StartTime;
|
StartTimeUpDown.Value = e.MinTimeMinutes;
|
||||||
EndTimeUpDown.Value = e.EndTime;
|
EndTimeUpDown.Value = e.MaxTimeMinutes;
|
||||||
FrequencyUpDown.Value = e.Frequency.Value;
|
FrequencyUpDown.Value = e.MinRepeatTime;
|
||||||
Unk07UpDown.Value = e.Unk07.Value;
|
Unk07UpDown.Value = e.MinRepeatTimeVariance;
|
||||||
Unk08UpDown.Value = e.Unk08.Value;
|
Unk08UpDown.Value = e.SpawnHeight;
|
||||||
Unk09UpDown.Value = e.Unk09.Value;
|
ExplicitSpawnCombo.SelectedItem = e.ExplicitSpawn;
|
||||||
Unk10UpDown.Value = e.Unk10.Value;
|
Unk10UpDown.Value = e.MaxLocalInstances;
|
||||||
Unk11UpDown.Value = e.Unk11.Value;
|
Unk11UpDown.Value = e.MaxGlobalInstances;
|
||||||
Unk12UpDown.Value = e.Unk12.Value;
|
Unk12UpDown.Value = e.BlockabilityFactor;
|
||||||
Unk13UpDown.Value = e.Unk13.Value;
|
Unk13UpDown.Value = e.MaxPathDepth;
|
||||||
Flags0TextBox.Text = e.Flags0.Hex;
|
Flags2TextBox.Text = e.Flags.Hex;
|
||||||
Flags1TextBox.Text = e.Flags1.Hex;
|
Flags4TextBox.Text = FloatUtil.ToString(e.LastPlayTime);
|
||||||
Flags2TextBox.Text = e.Flags2.Hex;
|
Flags5TextBox.Text = FloatUtil.ToString(e.DynamicBankID);
|
||||||
Flags3TextBox.Text = e.Flags3.Hex;
|
|
||||||
Flags4TextBox.Text = e.Flags4.Hex;
|
|
||||||
Flags5TextBox.Text = e.Flags5.Hex;
|
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
if (e.Variables != null)
|
if (e.Conditions != null)
|
||||||
{
|
{
|
||||||
foreach (var extparam in e.Variables)
|
foreach (var extparam in e.Conditions)
|
||||||
{
|
{
|
||||||
sb.Append(extparam.Name.ToString());
|
sb.Append(extparam.Name.ToString());
|
||||||
sb.Append(", ");
|
sb.Append(", ");
|
||||||
sb.Append(FloatUtil.ToString(extparam.Value));
|
sb.Append(FloatUtil.ToString(extparam.Value));
|
||||||
sb.Append(", ");
|
sb.Append(", ");
|
||||||
sb.Append(extparam.Flags.ToString());
|
sb.Append(extparam.ConditionType.ToString());
|
||||||
sb.AppendLine();
|
sb.AppendLine();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -125,7 +124,7 @@ namespace CodeWalker.Project.Panels
|
|||||||
|
|
||||||
if (ProjectForm.WorldForm != null)
|
if (ProjectForm.WorldForm != null)
|
||||||
{
|
{
|
||||||
ProjectForm.WorldForm.SelectObject(CurrentEmitter);
|
ProjectForm.WorldForm.SelectObject(CurrentRule);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -133,9 +132,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
|
|
||||||
private void ProjectItemChanged()
|
private void ProjectItemChanged()
|
||||||
{
|
{
|
||||||
CurrentEmitter?.UpdateFromEmitter();//also update the placement wrapper
|
CurrentRule?.UpdateFromAmbientRule();//also update the placement wrapper
|
||||||
|
|
||||||
if (CurrentEmitter?.RelFile != null)
|
if (CurrentRule?.RelFile != null)
|
||||||
{
|
{
|
||||||
ProjectForm.SetAudioFileHasChanged(true);
|
ProjectForm.SetAudioFileHasChanged(true);
|
||||||
}
|
}
|
||||||
@ -145,7 +144,7 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void NameTextBox_TextChanged(object sender, EventArgs e)
|
private void NameTextBox_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
uint hash = 0;
|
uint hash = 0;
|
||||||
string name = NameTextBox.Text;
|
string name = NameTextBox.Text;
|
||||||
@ -156,10 +155,10 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
if (CurrentEmitter.AudioEmitter.NameHash != hash)
|
if (CurrentRule.AmbientRule.NameHash != hash)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Name = NameTextBox.Text;
|
CurrentRule.AmbientRule.Name = NameTextBox.Text;
|
||||||
CurrentEmitter.AudioEmitter.NameHash = hash;
|
CurrentRule.AmbientRule.NameHash = hash;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
UpdateFormTitle();
|
UpdateFormTitle();
|
||||||
@ -169,12 +168,12 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void PositionTextBox_TextChanged(object sender, EventArgs e)
|
private void PositionTextBox_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
var vec = FloatUtil.ParseVector3String(PositionTextBox.Text);
|
var vec = FloatUtil.ParseVector3String(PositionTextBox.Text);
|
||||||
if (CurrentEmitter.AudioEmitter.Position != vec)
|
if (CurrentRule.AmbientRule.Position != vec)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Position = vec;
|
CurrentRule.AmbientRule.Position = vec;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
|
|
||||||
@ -192,12 +191,12 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void InnerRadiusTextBox_TextChanged(object sender, EventArgs e)
|
private void InnerRadiusTextBox_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
float rad = FloatUtil.Parse(InnerRadiusTextBox.Text);
|
float rad = FloatUtil.Parse(InnerRadiusTextBox.Text);
|
||||||
if (CurrentEmitter.AudioEmitter.InnerRadius != rad)
|
if (CurrentRule.AmbientRule.MinDist != rad)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.InnerRadius = rad;
|
CurrentRule.AmbientRule.MinDist = rad;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -206,12 +205,12 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void OuterRadiusTextBox_TextChanged(object sender, EventArgs e)
|
private void OuterRadiusTextBox_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
float rad = FloatUtil.Parse(OuterRadiusTextBox.Text);
|
float rad = FloatUtil.Parse(OuterRadiusTextBox.Text);
|
||||||
if (CurrentEmitter.AudioEmitter.OuterRadius != rad)
|
if (CurrentRule.AmbientRule.MaxDist != rad)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.OuterRadius = rad;
|
CurrentRule.AmbientRule.MaxDist = rad;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -220,7 +219,7 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void ChildSoundTextBox_TextChanged(object sender, EventArgs e)
|
private void ChildSoundTextBox_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
uint hash = 0;
|
uint hash = 0;
|
||||||
string name = ChildSoundTextBox.Text;
|
string name = ChildSoundTextBox.Text;
|
||||||
@ -231,9 +230,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
//HashLabel.Text = "Hash: " + hash.ToString();
|
//HashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
if (CurrentEmitter.AudioEmitter.ChildSound != hash)
|
if (CurrentRule.AmbientRule.ChildSound != hash)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.ChildSound = hash;
|
CurrentRule.AmbientRule.ChildSound = hash;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -242,7 +241,7 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void CategoryTextBox_TextChanged(object sender, EventArgs e)
|
private void CategoryTextBox_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
uint hash = 0;
|
uint hash = 0;
|
||||||
string name = CategoryTextBox.Text;
|
string name = CategoryTextBox.Text;
|
||||||
@ -253,9 +252,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
//HashLabel.Text = "Hash: " + hash.ToString();
|
//HashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
if (CurrentEmitter.AudioEmitter.Category != hash)
|
if (CurrentRule.AmbientRule.Category != hash)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Category = hash;
|
CurrentRule.AmbientRule.Category = hash;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -264,12 +263,12 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void Unk01TextBox_TextChanged(object sender, EventArgs e)
|
private void Unk01TextBox_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
float unk = FloatUtil.Parse(Unk01TextBox.Text);
|
float unk = FloatUtil.Parse(Unk01TextBox.Text);
|
||||||
if (CurrentEmitter.AudioEmitter.Unk01 != unk)
|
if (CurrentRule.AmbientRule.Weight != unk)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Unk01 = unk;
|
CurrentRule.AmbientRule.Weight = unk;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -278,12 +277,12 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void StartTimeUpDown_ValueChanged(object sender, EventArgs e)
|
private void StartTimeUpDown_ValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
ushort unk = (ushort)StartTimeUpDown.Value;
|
ushort unk = (ushort)StartTimeUpDown.Value;
|
||||||
if (CurrentEmitter.AudioEmitter.StartTime != unk)
|
if (CurrentRule.AmbientRule.MinTimeMinutes != unk)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.StartTime = unk;
|
CurrentRule.AmbientRule.MinTimeMinutes = unk;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -292,12 +291,12 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void EndTimeUpDown_ValueChanged(object sender, EventArgs e)
|
private void EndTimeUpDown_ValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
ushort unk = (ushort)EndTimeUpDown.Value;
|
ushort unk = (ushort)EndTimeUpDown.Value;
|
||||||
if (CurrentEmitter.AudioEmitter.EndTime != unk)
|
if (CurrentRule.AmbientRule.MaxTimeMinutes != unk)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.EndTime = unk;
|
CurrentRule.AmbientRule.MaxTimeMinutes = unk;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -306,12 +305,12 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void FrequencyUpDown_ValueChanged(object sender, EventArgs e)
|
private void FrequencyUpDown_ValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
ushort unk = (ushort)FrequencyUpDown.Value;
|
ushort unk = (ushort)FrequencyUpDown.Value;
|
||||||
if (CurrentEmitter.AudioEmitter.Frequency.Value != unk)
|
if (CurrentRule.AmbientRule.MinRepeatTime != unk)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Frequency = unk;
|
CurrentRule.AmbientRule.MinRepeatTime = unk;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -320,12 +319,12 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void Unk07UpDown_ValueChanged(object sender, EventArgs e)
|
private void Unk07UpDown_ValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
ushort unk = (ushort)Unk07UpDown.Value;
|
ushort unk = (ushort)Unk07UpDown.Value;
|
||||||
if (CurrentEmitter.AudioEmitter.Unk07.Value != unk)
|
if (CurrentRule.AmbientRule.MinRepeatTimeVariance != unk)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Unk07 = unk;
|
CurrentRule.AmbientRule.MinRepeatTimeVariance = unk;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -334,26 +333,26 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void Unk08UpDown_ValueChanged(object sender, EventArgs e)
|
private void Unk08UpDown_ValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
byte unk = (byte)Unk08UpDown.Value;
|
byte unk = (byte)Unk08UpDown.Value;
|
||||||
if (CurrentEmitter.AudioEmitter.Unk08.Value != unk)
|
if (CurrentRule.AmbientRule.SpawnHeight != unk)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Unk08 = unk;
|
CurrentRule.AmbientRule.SpawnHeight = unk;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Unk09UpDown_ValueChanged(object sender, EventArgs e)
|
private void ExplicitSpawnCombo_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
byte unk = (byte)Unk09UpDown.Value;
|
var val = (Dat151AmbientRule.ExplicitSpawnType)ExplicitSpawnCombo.SelectedItem;
|
||||||
if (CurrentEmitter.AudioEmitter.Unk09.Value != unk)
|
if (CurrentRule.AmbientRule.ExplicitSpawn != val)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Unk09 = unk;
|
CurrentRule.AmbientRule.ExplicitSpawn = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -362,12 +361,12 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void Unk10UpDown_ValueChanged(object sender, EventArgs e)
|
private void Unk10UpDown_ValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
byte unk = (byte)Unk10UpDown.Value;
|
byte unk = (byte)Unk10UpDown.Value;
|
||||||
if (CurrentEmitter.AudioEmitter.Unk10.Value != unk)
|
if (CurrentRule.AmbientRule.MaxLocalInstances != unk)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Unk10 = unk;
|
CurrentRule.AmbientRule.MaxLocalInstances = unk;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -376,12 +375,12 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void Unk11UpDown_ValueChanged(object sender, EventArgs e)
|
private void Unk11UpDown_ValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
byte unk = (byte)Unk11UpDown.Value;
|
byte unk = (byte)Unk11UpDown.Value;
|
||||||
if (CurrentEmitter.AudioEmitter.Unk11.Value != unk)
|
if (CurrentRule.AmbientRule.MaxGlobalInstances != unk)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Unk11 = unk;
|
CurrentRule.AmbientRule.MaxGlobalInstances = unk;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -390,12 +389,12 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void Unk12UpDown_ValueChanged(object sender, EventArgs e)
|
private void Unk12UpDown_ValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
byte unk = (byte)Unk12UpDown.Value;
|
byte unk = (byte)Unk12UpDown.Value;
|
||||||
if (CurrentEmitter.AudioEmitter.Unk12.Value != unk)
|
if (CurrentRule.AmbientRule.BlockabilityFactor != unk)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Unk12 = unk;
|
CurrentRule.AmbientRule.BlockabilityFactor = unk;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -404,79 +403,28 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void Unk13UpDown_ValueChanged(object sender, EventArgs e)
|
private void Unk13UpDown_ValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
byte unk = (byte)Unk13UpDown.Value;
|
byte unk = (byte)Unk13UpDown.Value;
|
||||||
if (CurrentEmitter.AudioEmitter.Unk13.Value != unk)
|
if (CurrentRule.AmbientRule.MaxPathDepth != unk)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Unk13 = unk;
|
CurrentRule.AmbientRule.MaxPathDepth = unk;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Flags0TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
|
||||||
|
|
||||||
uint flags = 0;
|
|
||||||
if (uint.TryParse(Flags0TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
|
||||||
{
|
|
||||||
if (CurrentEmitter.AudioEmitter.Flags0 != flags)
|
|
||||||
{
|
|
||||||
CurrentEmitter.AudioEmitter.Flags0 = flags;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Flags1TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
|
||||||
|
|
||||||
uint flags = 0;
|
|
||||||
if (uint.TryParse(Flags1TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
|
||||||
{
|
|
||||||
if (CurrentEmitter.AudioEmitter.Flags1 != flags)
|
|
||||||
{
|
|
||||||
CurrentEmitter.AudioEmitter.Flags1 = flags;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Flags2TextBox_TextChanged(object sender, EventArgs e)
|
private void Flags2TextBox_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
uint flags = 0;
|
uint flags = 0;
|
||||||
if (uint.TryParse(Flags2TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
if (uint.TryParse(Flags2TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
||||||
{
|
{
|
||||||
if (CurrentEmitter.AudioEmitter.Flags2 != flags)
|
if (CurrentRule.AmbientRule.Flags != flags)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Flags2 = flags;
|
CurrentRule.AmbientRule.Flags = flags;
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Flags3TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
|
||||||
|
|
||||||
uint flags = 0;
|
|
||||||
if (uint.TryParse(Flags3TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
|
||||||
{
|
|
||||||
if (CurrentEmitter.AudioEmitter.Flags3 != flags)
|
|
||||||
{
|
|
||||||
CurrentEmitter.AudioEmitter.Flags3 = flags;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -486,14 +434,14 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void Flags4TextBox_TextChanged(object sender, EventArgs e)
|
private void Flags4TextBox_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
uint flags = 0;
|
uint flags = 0;
|
||||||
if (uint.TryParse(Flags4TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
if (uint.TryParse(Flags4TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
||||||
{
|
{
|
||||||
if (CurrentEmitter.AudioEmitter.Flags4 != flags)
|
if (CurrentRule.AmbientRule.LastPlayTime != flags)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Flags4 = flags;
|
CurrentRule.AmbientRule.LastPlayTime = flags;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -503,14 +451,14 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void Flags5TextBox_TextChanged(object sender, EventArgs e)
|
private void Flags5TextBox_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
uint flags = 0;
|
uint flags = 0;
|
||||||
if (uint.TryParse(Flags5TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
if (uint.TryParse(Flags5TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
||||||
{
|
{
|
||||||
if (CurrentEmitter.AudioEmitter.Flags5 != flags)
|
if (CurrentRule.AmbientRule.DynamicBankID != flags)
|
||||||
{
|
{
|
||||||
CurrentEmitter.AudioEmitter.Flags5 = flags;
|
CurrentRule.AmbientRule.DynamicBankID = (int)flags;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -520,18 +468,18 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void VariablesTextBox_TextChanged(object sender, EventArgs e)
|
private void VariablesTextBox_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentEmitter?.AudioEmitter == null) return;
|
if (CurrentRule?.AmbientRule == null) return;
|
||||||
|
|
||||||
var paramstrs = VariablesTextBox.Text.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
|
var paramstrs = VariablesTextBox.Text.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
|
||||||
if (paramstrs?.Length > 0)
|
if (paramstrs?.Length > 0)
|
||||||
{
|
{
|
||||||
var paramlist = new List<Dat151AmbientRule.Variable>();
|
var paramlist = new List<Dat151AmbientRule.Condition>();
|
||||||
foreach (var paramstr in paramstrs)
|
foreach (var paramstr in paramstrs)
|
||||||
{
|
{
|
||||||
var paramvals = paramstr.Split(',');
|
var paramvals = paramstr.Split(',');
|
||||||
if (paramvals?.Length == 3)
|
if (paramvals?.Length == 3)
|
||||||
{
|
{
|
||||||
var param = new Dat151AmbientRule.Variable();
|
var param = new Dat151AmbientRule.Condition();
|
||||||
var hashstr = paramvals[0].Trim();
|
var hashstr = paramvals[0].Trim();
|
||||||
var valstr = paramvals[1].Trim();
|
var valstr = paramvals[1].Trim();
|
||||||
var flgstr = paramvals[2].Trim();
|
var flgstr = paramvals[2].Trim();
|
||||||
@ -545,13 +493,13 @@ namespace CodeWalker.Project.Panels
|
|||||||
uint.TryParse(flgstr, out flags);
|
uint.TryParse(flgstr, out flags);
|
||||||
param.Name = hash;
|
param.Name = hash;
|
||||||
param.Value = FloatUtil.Parse(valstr);
|
param.Value = FloatUtil.Parse(valstr);
|
||||||
param.Flags = flags;
|
param.ConditionType = (byte)flags;
|
||||||
paramlist.Add(param);
|
paramlist.Add(param);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CurrentEmitter.AudioEmitter.Variables = paramlist.ToArray();
|
CurrentRule.AmbientRule.Conditions = paramlist.ToArray();
|
||||||
CurrentEmitter.AudioEmitter.VariablesCount = (ushort)paramlist.Count;
|
CurrentRule.AmbientRule.NumConditions = (ushort)paramlist.Count;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -559,22 +507,21 @@ namespace CodeWalker.Project.Panels
|
|||||||
|
|
||||||
private void GoToButton_Click(object sender, EventArgs e)
|
private void GoToButton_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (CurrentEmitter == null) return;
|
if (CurrentRule == null) return;
|
||||||
if (ProjectForm.WorldForm == null) return;
|
if (ProjectForm.WorldForm == null) return;
|
||||||
ProjectForm.WorldForm.GoToPosition(CurrentEmitter.Position, CurrentEmitter.AudioZone.PlaybackZoneSize);
|
ProjectForm.WorldForm.GoToPosition(CurrentRule.Position, SharpDX.Vector3.One * CurrentRule.OuterRadius);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddToProjectButton_Click(object sender, EventArgs e)
|
private void AddToProjectButton_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ProjectForm.SetProjectItem(CurrentEmitter);
|
ProjectForm.SetProjectItem(CurrentRule);
|
||||||
ProjectForm.AddAudioFileToProject(CurrentEmitter.RelFile);
|
ProjectForm.AddAudioFileToProject(CurrentRule.RelFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DeleteButton_Click(object sender, EventArgs e)
|
private void DeleteButton_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ProjectForm.SetProjectItem(CurrentEmitter);
|
ProjectForm.SetProjectItem(CurrentRule);
|
||||||
ProjectForm.DeleteAudioEmitter();
|
ProjectForm.DeleteAudioAmbientRule();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
namespace CodeWalker.Project.Panels
|
namespace CodeWalker.Project.Panels
|
||||||
{
|
{
|
||||||
partial class EditAudioZoneListPanel
|
partial class EditAudioAmbientZoneListPanel
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Required designer variable.
|
/// Required designer variable.
|
||||||
@ -28,14 +28,14 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditAudioZoneListPanel));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditAudioAmbientZoneListPanel));
|
||||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||||
|
this.DeleteButton = new System.Windows.Forms.Button();
|
||||||
this.label12 = new System.Windows.Forms.Label();
|
this.label12 = new System.Windows.Forms.Label();
|
||||||
this.NameTextBox = new System.Windows.Forms.TextBox();
|
this.NameTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.label19 = new System.Windows.Forms.Label();
|
this.label19 = new System.Windows.Forms.Label();
|
||||||
this.HashesTextBox = new CodeWalker.WinForms.TextBoxFix();
|
this.HashesTextBox = new CodeWalker.WinForms.TextBoxFix();
|
||||||
this.DeleteButton = new System.Windows.Forms.Button();
|
|
||||||
this.tabControl1.SuspendLayout();
|
this.tabControl1.SuspendLayout();
|
||||||
this.tabPage1.SuspendLayout();
|
this.tabPage1.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
@ -67,6 +67,17 @@
|
|||||||
this.tabPage1.Text = "Ambient Zone List";
|
this.tabPage1.Text = "Ambient Zone List";
|
||||||
this.tabPage1.UseVisualStyleBackColor = true;
|
this.tabPage1.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
|
// DeleteButton
|
||||||
|
//
|
||||||
|
this.DeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.DeleteButton.Location = new System.Drawing.Point(438, 381);
|
||||||
|
this.DeleteButton.Name = "DeleteButton";
|
||||||
|
this.DeleteButton.Size = new System.Drawing.Size(93, 23);
|
||||||
|
this.DeleteButton.TabIndex = 77;
|
||||||
|
this.DeleteButton.Text = "Delete list";
|
||||||
|
this.DeleteButton.UseVisualStyleBackColor = true;
|
||||||
|
this.DeleteButton.Click += new System.EventHandler(this.DeleteButton_Click);
|
||||||
|
//
|
||||||
// label12
|
// label12
|
||||||
//
|
//
|
||||||
this.label12.AutoSize = true;
|
this.label12.AutoSize = true;
|
||||||
@ -109,26 +120,15 @@
|
|||||||
this.HashesTextBox.WordWrap = false;
|
this.HashesTextBox.WordWrap = false;
|
||||||
this.HashesTextBox.TextChanged += new System.EventHandler(this.HashesTextBox_TextChanged);
|
this.HashesTextBox.TextChanged += new System.EventHandler(this.HashesTextBox_TextChanged);
|
||||||
//
|
//
|
||||||
// DeleteButton
|
// EditAudioAmbientZoneListPanel
|
||||||
//
|
|
||||||
this.DeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.DeleteButton.Location = new System.Drawing.Point(438, 381);
|
|
||||||
this.DeleteButton.Name = "DeleteButton";
|
|
||||||
this.DeleteButton.Size = new System.Drawing.Size(93, 23);
|
|
||||||
this.DeleteButton.TabIndex = 77;
|
|
||||||
this.DeleteButton.Text = "Delete list";
|
|
||||||
this.DeleteButton.UseVisualStyleBackColor = true;
|
|
||||||
this.DeleteButton.Click += new System.EventHandler(this.DeleteButton_Click);
|
|
||||||
//
|
|
||||||
// EditAudioZoneListPanel
|
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(562, 450);
|
this.ClientSize = new System.Drawing.Size(562, 450);
|
||||||
this.Controls.Add(this.tabControl1);
|
this.Controls.Add(this.tabControl1);
|
||||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
this.Name = "EditAudioZoneListPanel";
|
this.Name = "EditAudioAmbientZoneListPanel";
|
||||||
this.Text = "Edit Audio Zone List";
|
this.Text = "Edit Audio Ambient Zone List";
|
||||||
this.tabControl1.ResumeLayout(false);
|
this.tabControl1.ResumeLayout(false);
|
||||||
this.tabPage1.ResumeLayout(false);
|
this.tabPage1.ResumeLayout(false);
|
||||||
this.tabPage1.PerformLayout();
|
this.tabPage1.PerformLayout();
|
@ -11,7 +11,7 @@ using System.Windows.Forms;
|
|||||||
|
|
||||||
namespace CodeWalker.Project.Panels
|
namespace CodeWalker.Project.Panels
|
||||||
{
|
{
|
||||||
public partial class EditAudioZoneListPanel : ProjectPanel
|
public partial class EditAudioAmbientZoneListPanel : ProjectPanel
|
||||||
{
|
{
|
||||||
public ProjectForm ProjectForm;
|
public ProjectForm ProjectForm;
|
||||||
public Dat151AmbientZoneList CurrentZoneList { get; set; }
|
public Dat151AmbientZoneList CurrentZoneList { get; set; }
|
||||||
@ -19,7 +19,7 @@ namespace CodeWalker.Project.Panels
|
|||||||
private bool populatingui = false;
|
private bool populatingui = false;
|
||||||
|
|
||||||
|
|
||||||
public EditAudioZoneListPanel(ProjectForm owner)
|
public EditAudioAmbientZoneListPanel(ProjectForm owner)
|
||||||
{
|
{
|
||||||
ProjectForm = owner;
|
ProjectForm = owner;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@ -144,7 +144,7 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void DeleteButton_Click(object sender, EventArgs e)
|
private void DeleteButton_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ProjectForm.SetProjectItem(CurrentZoneList);
|
ProjectForm.SetProjectItem(CurrentZoneList);
|
||||||
ProjectForm.DeleteAudioZoneList();
|
ProjectForm.DeleteAudioAmbientZoneList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
768
CodeWalker/Project/Panels/EditAudioAmbientZonePanel.Designer.cs
generated
Normal file
768
CodeWalker/Project/Panels/EditAudioAmbientZonePanel.Designer.cs
generated
Normal file
@ -0,0 +1,768 @@
|
|||||||
|
namespace CodeWalker.Project.Panels
|
||||||
|
{
|
||||||
|
partial class EditAudioAmbientZonePanel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.Windows.Forms.Label label18;
|
||||||
|
System.Windows.Forms.Label label27;
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditAudioAmbientZonePanel));
|
||||||
|
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||||
|
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||||
|
this.PositioningRotationAngleTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label26 = new System.Windows.Forms.Label();
|
||||||
|
this.ActivationZoneRotationAngleTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label22 = new System.Windows.Forms.Label();
|
||||||
|
this.WindElevationSoundsTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.ZoneWaterCalculationTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label17 = new System.Windows.Forms.Label();
|
||||||
|
this.MaxWindInfluenceTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label15 = new System.Windows.Forms.Label();
|
||||||
|
this.MinWindInfluenceTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label14 = new System.Windows.Forms.Label();
|
||||||
|
this.PedDensityScalarTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label10 = new System.Windows.Forms.Label();
|
||||||
|
this.label9 = new System.Windows.Forms.Label();
|
||||||
|
this.MaxPedDensityTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.MinPedDensityTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label8 = new System.Windows.Forms.Label();
|
||||||
|
this.PedDensityTODTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label7 = new System.Windows.Forms.Label();
|
||||||
|
this.BuiltUpFactorTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.PositioningSizeScaleTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label6 = new System.Windows.Forms.Label();
|
||||||
|
this.label5 = new System.Windows.Forms.Label();
|
||||||
|
this.PositioningRotationOffsetTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
|
this.PositioningSizeTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
|
this.ActivationSizeScaleTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.ActivationRotationOffsetTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.ActivationSizeTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label25 = new System.Windows.Forms.Label();
|
||||||
|
this.AudioSceneTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label24 = new System.Windows.Forms.Label();
|
||||||
|
this.EnviromentRuleTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.DeleteButton = new System.Windows.Forms.Button();
|
||||||
|
this.AddToProjectButton = new System.Windows.Forms.Button();
|
||||||
|
this.label21 = new System.Windows.Forms.Label();
|
||||||
|
this.RandomRadioSettingsTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label20 = new System.Windows.Forms.Label();
|
||||||
|
this.DirAmbiencesTextBox = new CodeWalker.WinForms.TextBoxFix();
|
||||||
|
this.label19 = new System.Windows.Forms.Label();
|
||||||
|
this.RulesTextBox = new CodeWalker.WinForms.TextBoxFix();
|
||||||
|
this.label13 = new System.Windows.Forms.Label();
|
||||||
|
this.FlagsTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.ShapeComboBox = new System.Windows.Forms.ComboBox();
|
||||||
|
this.label23 = new System.Windows.Forms.Label();
|
||||||
|
this.label12 = new System.Windows.Forms.Label();
|
||||||
|
this.NameTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label11 = new System.Windows.Forms.Label();
|
||||||
|
this.PositioningCentreTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label16 = new System.Windows.Forms.Label();
|
||||||
|
this.ActivationZoneCentreTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.GoToButton = new System.Windows.Forms.Button();
|
||||||
|
this.SelectRuleButton = new System.Windows.Forms.Button();
|
||||||
|
label18 = new System.Windows.Forms.Label();
|
||||||
|
label27 = new System.Windows.Forms.Label();
|
||||||
|
this.tabControl1.SuspendLayout();
|
||||||
|
this.tabPage1.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// label18
|
||||||
|
//
|
||||||
|
label18.AutoSize = true;
|
||||||
|
label18.Location = new System.Drawing.Point(162, 319);
|
||||||
|
label18.Name = "label18";
|
||||||
|
label18.Size = new System.Drawing.Size(91, 13);
|
||||||
|
label18.TabIndex = 109;
|
||||||
|
label18.Text = "Zone Water Calc:";
|
||||||
|
//
|
||||||
|
// label27
|
||||||
|
//
|
||||||
|
label27.AutoSize = true;
|
||||||
|
label27.Location = new System.Drawing.Point(185, 357);
|
||||||
|
label27.Name = "label27";
|
||||||
|
label27.Size = new System.Drawing.Size(81, 13);
|
||||||
|
label27.TabIndex = 115;
|
||||||
|
label27.Text = "Pos. Rot Angle:";
|
||||||
|
//
|
||||||
|
// tabControl1
|
||||||
|
//
|
||||||
|
this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.tabControl1.Controls.Add(this.tabPage1);
|
||||||
|
this.tabControl1.Location = new System.Drawing.Point(2, 3);
|
||||||
|
this.tabControl1.Name = "tabControl1";
|
||||||
|
this.tabControl1.SelectedIndex = 0;
|
||||||
|
this.tabControl1.Size = new System.Drawing.Size(559, 447);
|
||||||
|
this.tabControl1.TabIndex = 17;
|
||||||
|
//
|
||||||
|
// tabPage1
|
||||||
|
//
|
||||||
|
this.tabPage1.Controls.Add(this.SelectRuleButton);
|
||||||
|
this.tabPage1.Controls.Add(label27);
|
||||||
|
this.tabPage1.Controls.Add(this.PositioningRotationAngleTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label26);
|
||||||
|
this.tabPage1.Controls.Add(this.ActivationZoneRotationAngleTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label22);
|
||||||
|
this.tabPage1.Controls.Add(this.WindElevationSoundsTextBox);
|
||||||
|
this.tabPage1.Controls.Add(label18);
|
||||||
|
this.tabPage1.Controls.Add(this.ZoneWaterCalculationTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label17);
|
||||||
|
this.tabPage1.Controls.Add(this.MaxWindInfluenceTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label15);
|
||||||
|
this.tabPage1.Controls.Add(this.MinWindInfluenceTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label14);
|
||||||
|
this.tabPage1.Controls.Add(this.PedDensityScalarTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label10);
|
||||||
|
this.tabPage1.Controls.Add(this.label9);
|
||||||
|
this.tabPage1.Controls.Add(this.MaxPedDensityTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.MinPedDensityTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label8);
|
||||||
|
this.tabPage1.Controls.Add(this.PedDensityTODTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label7);
|
||||||
|
this.tabPage1.Controls.Add(this.BuiltUpFactorTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.PositioningSizeScaleTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label6);
|
||||||
|
this.tabPage1.Controls.Add(this.label5);
|
||||||
|
this.tabPage1.Controls.Add(this.PositioningRotationOffsetTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label4);
|
||||||
|
this.tabPage1.Controls.Add(this.PositioningSizeTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label3);
|
||||||
|
this.tabPage1.Controls.Add(this.ActivationSizeScaleTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label2);
|
||||||
|
this.tabPage1.Controls.Add(this.label1);
|
||||||
|
this.tabPage1.Controls.Add(this.ActivationRotationOffsetTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.ActivationSizeTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label25);
|
||||||
|
this.tabPage1.Controls.Add(this.AudioSceneTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label24);
|
||||||
|
this.tabPage1.Controls.Add(this.EnviromentRuleTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.DeleteButton);
|
||||||
|
this.tabPage1.Controls.Add(this.AddToProjectButton);
|
||||||
|
this.tabPage1.Controls.Add(this.label21);
|
||||||
|
this.tabPage1.Controls.Add(this.RandomRadioSettingsTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label20);
|
||||||
|
this.tabPage1.Controls.Add(this.DirAmbiencesTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label19);
|
||||||
|
this.tabPage1.Controls.Add(this.RulesTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label13);
|
||||||
|
this.tabPage1.Controls.Add(this.FlagsTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.ShapeComboBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label23);
|
||||||
|
this.tabPage1.Controls.Add(this.label12);
|
||||||
|
this.tabPage1.Controls.Add(this.NameTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label11);
|
||||||
|
this.tabPage1.Controls.Add(this.PositioningCentreTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label16);
|
||||||
|
this.tabPage1.Controls.Add(this.ActivationZoneCentreTextBox);
|
||||||
|
this.tabPage1.Location = new System.Drawing.Point(4, 22);
|
||||||
|
this.tabPage1.Name = "tabPage1";
|
||||||
|
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||||
|
this.tabPage1.Size = new System.Drawing.Size(551, 421);
|
||||||
|
this.tabPage1.TabIndex = 0;
|
||||||
|
this.tabPage1.Text = "Ambient Zone";
|
||||||
|
this.tabPage1.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// PositioningRotationAngleTextBox
|
||||||
|
//
|
||||||
|
this.PositioningRotationAngleTextBox.Location = new System.Drawing.Point(272, 354);
|
||||||
|
this.PositioningRotationAngleTextBox.Name = "PositioningRotationAngleTextBox";
|
||||||
|
this.PositioningRotationAngleTextBox.Size = new System.Drawing.Size(55, 20);
|
||||||
|
this.PositioningRotationAngleTextBox.TabIndex = 114;
|
||||||
|
this.PositioningRotationAngleTextBox.TextChanged += new System.EventHandler(this.PositioningRotationAngleTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label26
|
||||||
|
//
|
||||||
|
this.label26.AutoSize = true;
|
||||||
|
this.label26.Location = new System.Drawing.Point(18, 357);
|
||||||
|
this.label26.Name = "label26";
|
||||||
|
this.label26.Size = new System.Drawing.Size(87, 13);
|
||||||
|
this.label26.TabIndex = 113;
|
||||||
|
this.label26.Text = "Activ. Rot Angle:";
|
||||||
|
//
|
||||||
|
// ActivationZoneRotationAngleTextBox
|
||||||
|
//
|
||||||
|
this.ActivationZoneRotationAngleTextBox.Location = new System.Drawing.Point(109, 354);
|
||||||
|
this.ActivationZoneRotationAngleTextBox.Name = "ActivationZoneRotationAngleTextBox";
|
||||||
|
this.ActivationZoneRotationAngleTextBox.Size = new System.Drawing.Size(55, 20);
|
||||||
|
this.ActivationZoneRotationAngleTextBox.TabIndex = 112;
|
||||||
|
this.ActivationZoneRotationAngleTextBox.TextChanged += new System.EventHandler(this.ActivationZoneRotationAngleTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label22
|
||||||
|
//
|
||||||
|
this.label22.AutoSize = true;
|
||||||
|
this.label22.Location = new System.Drawing.Point(310, 140);
|
||||||
|
this.label22.Name = "label22";
|
||||||
|
this.label22.Size = new System.Drawing.Size(74, 13);
|
||||||
|
this.label22.TabIndex = 111;
|
||||||
|
this.label22.Text = "Wind Sounds:";
|
||||||
|
//
|
||||||
|
// WindElevationSoundsTextBox
|
||||||
|
//
|
||||||
|
this.WindElevationSoundsTextBox.Location = new System.Drawing.Point(390, 137);
|
||||||
|
this.WindElevationSoundsTextBox.Name = "WindElevationSoundsTextBox";
|
||||||
|
this.WindElevationSoundsTextBox.Size = new System.Drawing.Size(155, 20);
|
||||||
|
this.WindElevationSoundsTextBox.TabIndex = 110;
|
||||||
|
this.WindElevationSoundsTextBox.TextChanged += new System.EventHandler(this.WindElevationSoundsTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// ZoneWaterCalculationTextBox
|
||||||
|
//
|
||||||
|
this.ZoneWaterCalculationTextBox.Location = new System.Drawing.Point(266, 316);
|
||||||
|
this.ZoneWaterCalculationTextBox.Name = "ZoneWaterCalculationTextBox";
|
||||||
|
this.ZoneWaterCalculationTextBox.Size = new System.Drawing.Size(55, 20);
|
||||||
|
this.ZoneWaterCalculationTextBox.TabIndex = 108;
|
||||||
|
this.ZoneWaterCalculationTextBox.TextChanged += new System.EventHandler(this.ZoneWaterCalculationTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label17
|
||||||
|
//
|
||||||
|
this.label17.AutoSize = true;
|
||||||
|
this.label17.Location = new System.Drawing.Point(167, 394);
|
||||||
|
this.label17.Name = "label17";
|
||||||
|
this.label17.Size = new System.Drawing.Size(105, 13);
|
||||||
|
this.label17.TabIndex = 107;
|
||||||
|
this.label17.Text = "Max Wind Influence:";
|
||||||
|
//
|
||||||
|
// MaxWindInfluenceTextBox
|
||||||
|
//
|
||||||
|
this.MaxWindInfluenceTextBox.Location = new System.Drawing.Point(272, 391);
|
||||||
|
this.MaxWindInfluenceTextBox.Name = "MaxWindInfluenceTextBox";
|
||||||
|
this.MaxWindInfluenceTextBox.Size = new System.Drawing.Size(55, 20);
|
||||||
|
this.MaxWindInfluenceTextBox.TabIndex = 106;
|
||||||
|
this.MaxWindInfluenceTextBox.TextChanged += new System.EventHandler(this.MaxWindInfluenceTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label15
|
||||||
|
//
|
||||||
|
this.label15.AutoSize = true;
|
||||||
|
this.label15.Location = new System.Drawing.Point(5, 394);
|
||||||
|
this.label15.Name = "label15";
|
||||||
|
this.label15.Size = new System.Drawing.Size(102, 13);
|
||||||
|
this.label15.TabIndex = 105;
|
||||||
|
this.label15.Text = "Min Wind Influence:";
|
||||||
|
//
|
||||||
|
// MinWindInfluenceTextBox
|
||||||
|
//
|
||||||
|
this.MinWindInfluenceTextBox.Location = new System.Drawing.Point(109, 391);
|
||||||
|
this.MinWindInfluenceTextBox.Name = "MinWindInfluenceTextBox";
|
||||||
|
this.MinWindInfluenceTextBox.Size = new System.Drawing.Size(55, 20);
|
||||||
|
this.MinWindInfluenceTextBox.TabIndex = 104;
|
||||||
|
this.MinWindInfluenceTextBox.TextChanged += new System.EventHandler(this.MinWindInfluenceTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label14
|
||||||
|
//
|
||||||
|
this.label14.AutoSize = true;
|
||||||
|
this.label14.Location = new System.Drawing.Point(162, 293);
|
||||||
|
this.label14.Name = "label14";
|
||||||
|
this.label14.Size = new System.Drawing.Size(100, 13);
|
||||||
|
this.label14.TabIndex = 103;
|
||||||
|
this.label14.Text = "Ped Density Scalar:";
|
||||||
|
//
|
||||||
|
// PedDensityScalarTextBox
|
||||||
|
//
|
||||||
|
this.PedDensityScalarTextBox.Location = new System.Drawing.Point(266, 290);
|
||||||
|
this.PedDensityScalarTextBox.Name = "PedDensityScalarTextBox";
|
||||||
|
this.PedDensityScalarTextBox.Size = new System.Drawing.Size(55, 20);
|
||||||
|
this.PedDensityScalarTextBox.TabIndex = 102;
|
||||||
|
this.PedDensityScalarTextBox.TextChanged += new System.EventHandler(this.PedDensityScalarTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label10
|
||||||
|
//
|
||||||
|
this.label10.AutoSize = true;
|
||||||
|
this.label10.Location = new System.Drawing.Point(7, 319);
|
||||||
|
this.label10.Name = "label10";
|
||||||
|
this.label10.Size = new System.Drawing.Size(90, 13);
|
||||||
|
this.label10.TabIndex = 101;
|
||||||
|
this.label10.Text = "Max Ped Density:";
|
||||||
|
//
|
||||||
|
// label9
|
||||||
|
//
|
||||||
|
this.label9.AutoSize = true;
|
||||||
|
this.label9.Location = new System.Drawing.Point(7, 293);
|
||||||
|
this.label9.Name = "label9";
|
||||||
|
this.label9.Size = new System.Drawing.Size(87, 13);
|
||||||
|
this.label9.TabIndex = 100;
|
||||||
|
this.label9.Text = "Min Ped Density:";
|
||||||
|
//
|
||||||
|
// MaxPedDensityTextBox
|
||||||
|
//
|
||||||
|
this.MaxPedDensityTextBox.Location = new System.Drawing.Point(98, 316);
|
||||||
|
this.MaxPedDensityTextBox.Name = "MaxPedDensityTextBox";
|
||||||
|
this.MaxPedDensityTextBox.Size = new System.Drawing.Size(55, 20);
|
||||||
|
this.MaxPedDensityTextBox.TabIndex = 99;
|
||||||
|
this.MaxPedDensityTextBox.TextChanged += new System.EventHandler(this.MaxPedDensityTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// MinPedDensityTextBox
|
||||||
|
//
|
||||||
|
this.MinPedDensityTextBox.Location = new System.Drawing.Point(98, 290);
|
||||||
|
this.MinPedDensityTextBox.Name = "MinPedDensityTextBox";
|
||||||
|
this.MinPedDensityTextBox.Size = new System.Drawing.Size(55, 20);
|
||||||
|
this.MinPedDensityTextBox.TabIndex = 98;
|
||||||
|
this.MinPedDensityTextBox.TextChanged += new System.EventHandler(this.MinPedDensityTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label8
|
||||||
|
//
|
||||||
|
this.label8.AutoSize = true;
|
||||||
|
this.label8.Location = new System.Drawing.Point(162, 267);
|
||||||
|
this.label8.Name = "label8";
|
||||||
|
this.label8.Size = new System.Drawing.Size(93, 13);
|
||||||
|
this.label8.TabIndex = 97;
|
||||||
|
this.label8.Text = "Ped Density TOD:";
|
||||||
|
//
|
||||||
|
// PedDensityTODTextBox
|
||||||
|
//
|
||||||
|
this.PedDensityTODTextBox.Location = new System.Drawing.Point(266, 264);
|
||||||
|
this.PedDensityTODTextBox.Name = "PedDensityTODTextBox";
|
||||||
|
this.PedDensityTODTextBox.Size = new System.Drawing.Size(55, 20);
|
||||||
|
this.PedDensityTODTextBox.TabIndex = 96;
|
||||||
|
this.PedDensityTODTextBox.TextChanged += new System.EventHandler(this.PedDensityTODTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label7
|
||||||
|
//
|
||||||
|
this.label7.AutoSize = true;
|
||||||
|
this.label7.Location = new System.Drawing.Point(7, 267);
|
||||||
|
this.label7.Name = "label7";
|
||||||
|
this.label7.Size = new System.Drawing.Size(80, 13);
|
||||||
|
this.label7.TabIndex = 95;
|
||||||
|
this.label7.Text = "Built Up Factor:";
|
||||||
|
//
|
||||||
|
// BuiltUpFactorTextBox
|
||||||
|
//
|
||||||
|
this.BuiltUpFactorTextBox.Location = new System.Drawing.Point(98, 264);
|
||||||
|
this.BuiltUpFactorTextBox.Name = "BuiltUpFactorTextBox";
|
||||||
|
this.BuiltUpFactorTextBox.Size = new System.Drawing.Size(55, 20);
|
||||||
|
this.BuiltUpFactorTextBox.TabIndex = 94;
|
||||||
|
this.BuiltUpFactorTextBox.TextChanged += new System.EventHandler(this.BuiltUpFactorTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// PositioningSizeScaleTextBox
|
||||||
|
//
|
||||||
|
this.PositioningSizeScaleTextBox.Location = new System.Drawing.Point(121, 238);
|
||||||
|
this.PositioningSizeScaleTextBox.Name = "PositioningSizeScaleTextBox";
|
||||||
|
this.PositioningSizeScaleTextBox.Size = new System.Drawing.Size(200, 20);
|
||||||
|
this.PositioningSizeScaleTextBox.TabIndex = 93;
|
||||||
|
this.PositioningSizeScaleTextBox.TextChanged += new System.EventHandler(this.PositioningSizeScaleTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label6
|
||||||
|
//
|
||||||
|
this.label6.AutoSize = true;
|
||||||
|
this.label6.Location = new System.Drawing.Point(7, 243);
|
||||||
|
this.label6.Name = "label6";
|
||||||
|
this.label6.Size = new System.Drawing.Size(114, 13);
|
||||||
|
this.label6.TabIndex = 92;
|
||||||
|
this.label6.Text = "Positioning Size Scale:";
|
||||||
|
//
|
||||||
|
// label5
|
||||||
|
//
|
||||||
|
this.label5.AutoSize = true;
|
||||||
|
this.label5.Location = new System.Drawing.Point(7, 215);
|
||||||
|
this.label5.Name = "label5";
|
||||||
|
this.label5.Size = new System.Drawing.Size(112, 13);
|
||||||
|
this.label5.TabIndex = 91;
|
||||||
|
this.label5.Text = "Positioning Rot Offset:";
|
||||||
|
//
|
||||||
|
// PositioningRotationOffsetTextBox
|
||||||
|
//
|
||||||
|
this.PositioningRotationOffsetTextBox.Location = new System.Drawing.Point(121, 212);
|
||||||
|
this.PositioningRotationOffsetTextBox.Name = "PositioningRotationOffsetTextBox";
|
||||||
|
this.PositioningRotationOffsetTextBox.Size = new System.Drawing.Size(200, 20);
|
||||||
|
this.PositioningRotationOffsetTextBox.TabIndex = 90;
|
||||||
|
this.PositioningRotationOffsetTextBox.TextChanged += new System.EventHandler(this.PositioningRotationOffsetTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label4
|
||||||
|
//
|
||||||
|
this.label4.AutoSize = true;
|
||||||
|
this.label4.Location = new System.Drawing.Point(7, 189);
|
||||||
|
this.label4.Name = "label4";
|
||||||
|
this.label4.Size = new System.Drawing.Size(84, 13);
|
||||||
|
this.label4.TabIndex = 89;
|
||||||
|
this.label4.Text = "Positioning Size:";
|
||||||
|
//
|
||||||
|
// PositioningSizeTextBox
|
||||||
|
//
|
||||||
|
this.PositioningSizeTextBox.Location = new System.Drawing.Point(121, 186);
|
||||||
|
this.PositioningSizeTextBox.Name = "PositioningSizeTextBox";
|
||||||
|
this.PositioningSizeTextBox.Size = new System.Drawing.Size(200, 20);
|
||||||
|
this.PositioningSizeTextBox.TabIndex = 88;
|
||||||
|
this.PositioningSizeTextBox.TextChanged += new System.EventHandler(this.PositioningSizeTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label3
|
||||||
|
//
|
||||||
|
this.label3.AutoSize = true;
|
||||||
|
this.label3.Location = new System.Drawing.Point(7, 134);
|
||||||
|
this.label3.Name = "label3";
|
||||||
|
this.label3.Size = new System.Drawing.Size(110, 13);
|
||||||
|
this.label3.TabIndex = 87;
|
||||||
|
this.label3.Text = "Activation Size Scale:";
|
||||||
|
//
|
||||||
|
// ActivationSizeScaleTextBox
|
||||||
|
//
|
||||||
|
this.ActivationSizeScaleTextBox.Location = new System.Drawing.Point(121, 134);
|
||||||
|
this.ActivationSizeScaleTextBox.Name = "ActivationSizeScaleTextBox";
|
||||||
|
this.ActivationSizeScaleTextBox.Size = new System.Drawing.Size(172, 20);
|
||||||
|
this.ActivationSizeScaleTextBox.TabIndex = 86;
|
||||||
|
this.ActivationSizeScaleTextBox.TextChanged += new System.EventHandler(this.ActivationSizeScaleTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label2
|
||||||
|
//
|
||||||
|
this.label2.AutoSize = true;
|
||||||
|
this.label2.Location = new System.Drawing.Point(7, 111);
|
||||||
|
this.label2.Name = "label2";
|
||||||
|
this.label2.Size = new System.Drawing.Size(108, 13);
|
||||||
|
this.label2.TabIndex = 85;
|
||||||
|
this.label2.Text = "Activation Rot Offset:";
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
this.label1.AutoSize = true;
|
||||||
|
this.label1.Location = new System.Drawing.Point(7, 85);
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
this.label1.Size = new System.Drawing.Size(80, 13);
|
||||||
|
this.label1.TabIndex = 84;
|
||||||
|
this.label1.Text = "Activation Size:";
|
||||||
|
//
|
||||||
|
// ActivationRotationOffsetTextBox
|
||||||
|
//
|
||||||
|
this.ActivationRotationOffsetTextBox.Location = new System.Drawing.Point(121, 108);
|
||||||
|
this.ActivationRotationOffsetTextBox.Name = "ActivationRotationOffsetTextBox";
|
||||||
|
this.ActivationRotationOffsetTextBox.Size = new System.Drawing.Size(200, 20);
|
||||||
|
this.ActivationRotationOffsetTextBox.TabIndex = 83;
|
||||||
|
this.ActivationRotationOffsetTextBox.TextChanged += new System.EventHandler(this.ActivationRotationOffsetTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// ActivationSizeTextBox
|
||||||
|
//
|
||||||
|
this.ActivationSizeTextBox.Location = new System.Drawing.Point(121, 82);
|
||||||
|
this.ActivationSizeTextBox.Name = "ActivationSizeTextBox";
|
||||||
|
this.ActivationSizeTextBox.Size = new System.Drawing.Size(172, 20);
|
||||||
|
this.ActivationSizeTextBox.TabIndex = 82;
|
||||||
|
this.ActivationSizeTextBox.TextChanged += new System.EventHandler(this.ActivationSizeTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label25
|
||||||
|
//
|
||||||
|
this.label25.AutoSize = true;
|
||||||
|
this.label25.Location = new System.Drawing.Point(313, 58);
|
||||||
|
this.label25.Name = "label25";
|
||||||
|
this.label25.Size = new System.Drawing.Size(71, 13);
|
||||||
|
this.label25.TabIndex = 74;
|
||||||
|
this.label25.Text = "Audio Scene:";
|
||||||
|
//
|
||||||
|
// AudioSceneTextBox
|
||||||
|
//
|
||||||
|
this.AudioSceneTextBox.Location = new System.Drawing.Point(390, 58);
|
||||||
|
this.AudioSceneTextBox.Name = "AudioSceneTextBox";
|
||||||
|
this.AudioSceneTextBox.Size = new System.Drawing.Size(155, 20);
|
||||||
|
this.AudioSceneTextBox.TabIndex = 75;
|
||||||
|
this.AudioSceneTextBox.TextChanged += new System.EventHandler(this.AudioSceneTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label24
|
||||||
|
//
|
||||||
|
this.label24.AutoSize = true;
|
||||||
|
this.label24.Location = new System.Drawing.Point(296, 88);
|
||||||
|
this.label24.Name = "label24";
|
||||||
|
this.label24.Size = new System.Drawing.Size(88, 13);
|
||||||
|
this.label24.TabIndex = 72;
|
||||||
|
this.label24.Text = "Enviroment Rule:";
|
||||||
|
//
|
||||||
|
// EnviromentRuleTextBox
|
||||||
|
//
|
||||||
|
this.EnviromentRuleTextBox.Location = new System.Drawing.Point(390, 85);
|
||||||
|
this.EnviromentRuleTextBox.Name = "EnviromentRuleTextBox";
|
||||||
|
this.EnviromentRuleTextBox.Size = new System.Drawing.Size(155, 20);
|
||||||
|
this.EnviromentRuleTextBox.TabIndex = 73;
|
||||||
|
this.EnviromentRuleTextBox.TextChanged += new System.EventHandler(this.EnviromentRuleTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// DeleteButton
|
||||||
|
//
|
||||||
|
this.DeleteButton.Location = new System.Drawing.Point(343, 3);
|
||||||
|
this.DeleteButton.Name = "DeleteButton";
|
||||||
|
this.DeleteButton.Size = new System.Drawing.Size(93, 23);
|
||||||
|
this.DeleteButton.TabIndex = 81;
|
||||||
|
this.DeleteButton.Text = "Delete zone";
|
||||||
|
this.DeleteButton.UseVisualStyleBackColor = true;
|
||||||
|
this.DeleteButton.Click += new System.EventHandler(this.DeleteButton_Click);
|
||||||
|
//
|
||||||
|
// AddToProjectButton
|
||||||
|
//
|
||||||
|
this.AddToProjectButton.Location = new System.Drawing.Point(452, 3);
|
||||||
|
this.AddToProjectButton.Name = "AddToProjectButton";
|
||||||
|
this.AddToProjectButton.Size = new System.Drawing.Size(93, 23);
|
||||||
|
this.AddToProjectButton.TabIndex = 80;
|
||||||
|
this.AddToProjectButton.Text = "Add to project";
|
||||||
|
this.AddToProjectButton.UseVisualStyleBackColor = true;
|
||||||
|
this.AddToProjectButton.Click += new System.EventHandler(this.AddToProjectButton_Click);
|
||||||
|
//
|
||||||
|
// label21
|
||||||
|
//
|
||||||
|
this.label21.AutoSize = true;
|
||||||
|
this.label21.Location = new System.Drawing.Point(268, 36);
|
||||||
|
this.label21.Name = "label21";
|
||||||
|
this.label21.Size = new System.Drawing.Size(122, 13);
|
||||||
|
this.label21.TabIndex = 70;
|
||||||
|
this.label21.Text = "Random Radio Settings:";
|
||||||
|
//
|
||||||
|
// RandomRadioSettingsTextBox
|
||||||
|
//
|
||||||
|
this.RandomRadioSettingsTextBox.Location = new System.Drawing.Point(390, 33);
|
||||||
|
this.RandomRadioSettingsTextBox.Name = "RandomRadioSettingsTextBox";
|
||||||
|
this.RandomRadioSettingsTextBox.Size = new System.Drawing.Size(155, 20);
|
||||||
|
this.RandomRadioSettingsTextBox.TabIndex = 71;
|
||||||
|
this.RandomRadioSettingsTextBox.TextChanged += new System.EventHandler(this.RandomisedRadioSettings_TextChanged);
|
||||||
|
//
|
||||||
|
// label20
|
||||||
|
//
|
||||||
|
this.label20.AutoSize = true;
|
||||||
|
this.label20.Location = new System.Drawing.Point(340, 306);
|
||||||
|
this.label20.Name = "label20";
|
||||||
|
this.label20.Size = new System.Drawing.Size(115, 13);
|
||||||
|
this.label20.TabIndex = 78;
|
||||||
|
this.label20.Text = "Directional Ambiences:";
|
||||||
|
//
|
||||||
|
// DirAmbiencesTextBox
|
||||||
|
//
|
||||||
|
this.DirAmbiencesTextBox.Location = new System.Drawing.Point(335, 322);
|
||||||
|
this.DirAmbiencesTextBox.Multiline = true;
|
||||||
|
this.DirAmbiencesTextBox.Name = "DirAmbiencesTextBox";
|
||||||
|
this.DirAmbiencesTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||||
|
this.DirAmbiencesTextBox.Size = new System.Drawing.Size(209, 92);
|
||||||
|
this.DirAmbiencesTextBox.TabIndex = 79;
|
||||||
|
this.DirAmbiencesTextBox.WordWrap = false;
|
||||||
|
this.DirAmbiencesTextBox.TextChanged += new System.EventHandler(this.DirAmbiencesTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label19
|
||||||
|
//
|
||||||
|
this.label19.AutoSize = true;
|
||||||
|
this.label19.Location = new System.Drawing.Point(340, 161);
|
||||||
|
this.label19.Name = "label19";
|
||||||
|
this.label19.Size = new System.Drawing.Size(37, 13);
|
||||||
|
this.label19.TabIndex = 76;
|
||||||
|
this.label19.Text = "Rules:";
|
||||||
|
//
|
||||||
|
// RulesTextBox
|
||||||
|
//
|
||||||
|
this.RulesTextBox.Location = new System.Drawing.Point(335, 177);
|
||||||
|
this.RulesTextBox.Multiline = true;
|
||||||
|
this.RulesTextBox.Name = "RulesTextBox";
|
||||||
|
this.RulesTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||||
|
this.RulesTextBox.Size = new System.Drawing.Size(209, 92);
|
||||||
|
this.RulesTextBox.TabIndex = 77;
|
||||||
|
this.RulesTextBox.WordWrap = false;
|
||||||
|
this.RulesTextBox.TextChanged += new System.EventHandler(this.RulesTextBox_TextChanged);
|
||||||
|
this.RulesTextBox.Enter += new System.EventHandler(this.RulesTextBox_Enter);
|
||||||
|
//
|
||||||
|
// label13
|
||||||
|
//
|
||||||
|
this.label13.AutoSize = true;
|
||||||
|
this.label13.Location = new System.Drawing.Point(340, 114);
|
||||||
|
this.label13.Name = "label13";
|
||||||
|
this.label13.Size = new System.Drawing.Size(35, 13);
|
||||||
|
this.label13.TabIndex = 66;
|
||||||
|
this.label13.Text = "Flags:";
|
||||||
|
//
|
||||||
|
// FlagsTextBox
|
||||||
|
//
|
||||||
|
this.FlagsTextBox.Location = new System.Drawing.Point(390, 111);
|
||||||
|
this.FlagsTextBox.Name = "FlagsTextBox";
|
||||||
|
this.FlagsTextBox.Size = new System.Drawing.Size(155, 20);
|
||||||
|
this.FlagsTextBox.TabIndex = 67;
|
||||||
|
this.FlagsTextBox.TextChanged += new System.EventHandler(this.FlagsTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// ShapeComboBox
|
||||||
|
//
|
||||||
|
this.ShapeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.ShapeComboBox.FormattingEnabled = true;
|
||||||
|
this.ShapeComboBox.Items.AddRange(new object[] {
|
||||||
|
"Box",
|
||||||
|
"Line",
|
||||||
|
"Sphere"});
|
||||||
|
this.ShapeComboBox.Location = new System.Drawing.Point(84, 28);
|
||||||
|
this.ShapeComboBox.Name = "ShapeComboBox";
|
||||||
|
this.ShapeComboBox.Size = new System.Drawing.Size(178, 21);
|
||||||
|
this.ShapeComboBox.TabIndex = 33;
|
||||||
|
this.ShapeComboBox.SelectedIndexChanged += new System.EventHandler(this.ShapeComboBox_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// label23
|
||||||
|
//
|
||||||
|
this.label23.AutoSize = true;
|
||||||
|
this.label23.Location = new System.Drawing.Point(7, 33);
|
||||||
|
this.label23.Name = "label23";
|
||||||
|
this.label23.Size = new System.Drawing.Size(41, 13);
|
||||||
|
this.label23.TabIndex = 32;
|
||||||
|
this.label23.Text = "Shape:";
|
||||||
|
//
|
||||||
|
// label12
|
||||||
|
//
|
||||||
|
this.label12.AutoSize = true;
|
||||||
|
this.label12.Location = new System.Drawing.Point(7, 9);
|
||||||
|
this.label12.Name = "label12";
|
||||||
|
this.label12.Size = new System.Drawing.Size(64, 13);
|
||||||
|
this.label12.TabIndex = 29;
|
||||||
|
this.label12.Text = "Name hash:";
|
||||||
|
//
|
||||||
|
// NameTextBox
|
||||||
|
//
|
||||||
|
this.NameTextBox.Location = new System.Drawing.Point(84, 6);
|
||||||
|
this.NameTextBox.Name = "NameTextBox";
|
||||||
|
this.NameTextBox.Size = new System.Drawing.Size(237, 20);
|
||||||
|
this.NameTextBox.TabIndex = 30;
|
||||||
|
this.NameTextBox.TextChanged += new System.EventHandler(this.NameTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label11
|
||||||
|
//
|
||||||
|
this.label11.AutoSize = true;
|
||||||
|
this.label11.Location = new System.Drawing.Point(7, 163);
|
||||||
|
this.label11.Name = "label11";
|
||||||
|
this.label11.Size = new System.Drawing.Size(95, 13);
|
||||||
|
this.label11.TabIndex = 46;
|
||||||
|
this.label11.Text = "Positioning Centre:";
|
||||||
|
//
|
||||||
|
// PositioningCentreTextBox
|
||||||
|
//
|
||||||
|
this.PositioningCentreTextBox.Location = new System.Drawing.Point(121, 160);
|
||||||
|
this.PositioningCentreTextBox.Name = "PositioningCentreTextBox";
|
||||||
|
this.PositioningCentreTextBox.Size = new System.Drawing.Size(200, 20);
|
||||||
|
this.PositioningCentreTextBox.TabIndex = 47;
|
||||||
|
this.PositioningCentreTextBox.TextChanged += new System.EventHandler(this.OuterPosTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label16
|
||||||
|
//
|
||||||
|
this.label16.AutoSize = true;
|
||||||
|
this.label16.Location = new System.Drawing.Point(7, 58);
|
||||||
|
this.label16.Name = "label16";
|
||||||
|
this.label16.Size = new System.Drawing.Size(91, 13);
|
||||||
|
this.label16.TabIndex = 34;
|
||||||
|
this.label16.Text = "Activation Centre:";
|
||||||
|
//
|
||||||
|
// ActivationZoneCentreTextBox
|
||||||
|
//
|
||||||
|
this.ActivationZoneCentreTextBox.Location = new System.Drawing.Point(121, 55);
|
||||||
|
this.ActivationZoneCentreTextBox.Name = "ActivationZoneCentreTextBox";
|
||||||
|
this.ActivationZoneCentreTextBox.Size = new System.Drawing.Size(186, 20);
|
||||||
|
this.ActivationZoneCentreTextBox.TabIndex = 35;
|
||||||
|
this.ActivationZoneCentreTextBox.TextChanged += new System.EventHandler(this.PositioningCentreTextBoxTextChanged);
|
||||||
|
//
|
||||||
|
// GoToButton
|
||||||
|
//
|
||||||
|
this.GoToButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.GoToButton.Location = new System.Drawing.Point(483, 0);
|
||||||
|
this.GoToButton.Name = "GoToButton";
|
||||||
|
this.GoToButton.Size = new System.Drawing.Size(68, 23);
|
||||||
|
this.GoToButton.TabIndex = 31;
|
||||||
|
this.GoToButton.Text = "Go to";
|
||||||
|
this.GoToButton.UseVisualStyleBackColor = true;
|
||||||
|
this.GoToButton.Click += new System.EventHandler(this.GoToButton_Click);
|
||||||
|
//
|
||||||
|
// SelectRuleButton
|
||||||
|
//
|
||||||
|
this.SelectRuleButton.Enabled = false;
|
||||||
|
this.SelectRuleButton.Location = new System.Drawing.Point(469, 272);
|
||||||
|
this.SelectRuleButton.Name = "SelectRuleButton";
|
||||||
|
this.SelectRuleButton.Size = new System.Drawing.Size(75, 23);
|
||||||
|
this.SelectRuleButton.TabIndex = 116;
|
||||||
|
this.SelectRuleButton.Text = "Select Rule";
|
||||||
|
this.SelectRuleButton.UseVisualStyleBackColor = true;
|
||||||
|
this.SelectRuleButton.Click += new System.EventHandler(this.SelectRuleButton_Click);
|
||||||
|
//
|
||||||
|
// EditAudioAmbientZonePanel
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(562, 450);
|
||||||
|
this.Controls.Add(this.GoToButton);
|
||||||
|
this.Controls.Add(this.tabControl1);
|
||||||
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
|
this.Name = "EditAudioAmbientZonePanel";
|
||||||
|
this.Text = "Edit Audio Ambient Zone";
|
||||||
|
this.tabControl1.ResumeLayout(false);
|
||||||
|
this.tabPage1.ResumeLayout(false);
|
||||||
|
this.tabPage1.PerformLayout();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
private System.Windows.Forms.TabControl tabControl1;
|
||||||
|
private System.Windows.Forms.TabPage tabPage1;
|
||||||
|
private System.Windows.Forms.Label label16;
|
||||||
|
private System.Windows.Forms.TextBox ActivationZoneCentreTextBox;
|
||||||
|
private System.Windows.Forms.Button GoToButton;
|
||||||
|
private System.Windows.Forms.Label label12;
|
||||||
|
private System.Windows.Forms.TextBox NameTextBox;
|
||||||
|
private System.Windows.Forms.Label label11;
|
||||||
|
private System.Windows.Forms.TextBox PositioningCentreTextBox;
|
||||||
|
private System.Windows.Forms.ComboBox ShapeComboBox;
|
||||||
|
private System.Windows.Forms.Label label23;
|
||||||
|
private System.Windows.Forms.Label label13;
|
||||||
|
private System.Windows.Forms.TextBox FlagsTextBox;
|
||||||
|
private WinForms.TextBoxFix RulesTextBox;
|
||||||
|
private System.Windows.Forms.Label label20;
|
||||||
|
private WinForms.TextBoxFix DirAmbiencesTextBox;
|
||||||
|
private System.Windows.Forms.Label label19;
|
||||||
|
private System.Windows.Forms.Label label21;
|
||||||
|
private System.Windows.Forms.TextBox RandomRadioSettingsTextBox;
|
||||||
|
private System.Windows.Forms.Button AddToProjectButton;
|
||||||
|
private System.Windows.Forms.Button DeleteButton;
|
||||||
|
private System.Windows.Forms.Label label25;
|
||||||
|
private System.Windows.Forms.TextBox AudioSceneTextBox;
|
||||||
|
private System.Windows.Forms.Label label24;
|
||||||
|
private System.Windows.Forms.TextBox EnviromentRuleTextBox;
|
||||||
|
private System.Windows.Forms.TextBox ActivationSizeTextBox;
|
||||||
|
private System.Windows.Forms.TextBox ActivationRotationOffsetTextBox;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.Label label2;
|
||||||
|
private System.Windows.Forms.TextBox ActivationSizeScaleTextBox;
|
||||||
|
private System.Windows.Forms.Label label3;
|
||||||
|
private System.Windows.Forms.TextBox PositioningSizeTextBox;
|
||||||
|
private System.Windows.Forms.Label label4;
|
||||||
|
private System.Windows.Forms.Label label5;
|
||||||
|
private System.Windows.Forms.TextBox PositioningRotationOffsetTextBox;
|
||||||
|
private System.Windows.Forms.TextBox PositioningSizeScaleTextBox;
|
||||||
|
private System.Windows.Forms.Label label6;
|
||||||
|
private System.Windows.Forms.TextBox BuiltUpFactorTextBox;
|
||||||
|
private System.Windows.Forms.Label label7;
|
||||||
|
private System.Windows.Forms.Label label8;
|
||||||
|
private System.Windows.Forms.TextBox PedDensityTODTextBox;
|
||||||
|
private System.Windows.Forms.Label label9;
|
||||||
|
private System.Windows.Forms.TextBox MaxPedDensityTextBox;
|
||||||
|
private System.Windows.Forms.TextBox MinPedDensityTextBox;
|
||||||
|
private System.Windows.Forms.Label label10;
|
||||||
|
private System.Windows.Forms.TextBox PedDensityScalarTextBox;
|
||||||
|
private System.Windows.Forms.Label label14;
|
||||||
|
private System.Windows.Forms.Label label15;
|
||||||
|
private System.Windows.Forms.TextBox MinWindInfluenceTextBox;
|
||||||
|
private System.Windows.Forms.Label label17;
|
||||||
|
private System.Windows.Forms.TextBox MaxWindInfluenceTextBox;
|
||||||
|
private System.Windows.Forms.TextBox ZoneWaterCalculationTextBox;
|
||||||
|
private System.Windows.Forms.TextBox WindElevationSoundsTextBox;
|
||||||
|
private System.Windows.Forms.Label label22;
|
||||||
|
private System.Windows.Forms.Label label26;
|
||||||
|
private System.Windows.Forms.TextBox ActivationZoneRotationAngleTextBox;
|
||||||
|
private System.Windows.Forms.TextBox PositioningRotationAngleTextBox;
|
||||||
|
private System.Windows.Forms.Button SelectRuleButton;
|
||||||
|
}
|
||||||
|
}
|
675
CodeWalker/Project/Panels/EditAudioAmbientZonePanel.cs
Normal file
675
CodeWalker/Project/Panels/EditAudioAmbientZonePanel.cs
Normal file
@ -0,0 +1,675 @@
|
|||||||
|
using CodeWalker.GameFiles;
|
||||||
|
using CodeWalker.World;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace CodeWalker.Project.Panels
|
||||||
|
{
|
||||||
|
public partial class EditAudioAmbientZonePanel : ProjectPanel
|
||||||
|
{
|
||||||
|
public ProjectForm ProjectForm;
|
||||||
|
public AudioPlacement CurrentZone { get; set; }
|
||||||
|
|
||||||
|
private bool populatingui = false;
|
||||||
|
|
||||||
|
|
||||||
|
public EditAudioAmbientZonePanel(ProjectForm owner)
|
||||||
|
{
|
||||||
|
ProjectForm = owner;
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetZone(AudioPlacement zone)
|
||||||
|
{
|
||||||
|
CurrentZone = zone;
|
||||||
|
Tag = zone;
|
||||||
|
UpdateFormTitle();
|
||||||
|
UpdateUI();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateFormTitle()
|
||||||
|
{
|
||||||
|
Text = CurrentZone?.NameHash.ToString() ?? "";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void UpdateUI()
|
||||||
|
{
|
||||||
|
|
||||||
|
if (CurrentZone?.AmbientZone == null)
|
||||||
|
{
|
||||||
|
AddToProjectButton.Enabled = false;
|
||||||
|
DeleteButton.Enabled = false;
|
||||||
|
|
||||||
|
populatingui = true;
|
||||||
|
NameTextBox.Text = string.Empty;
|
||||||
|
ShapeComboBox.Text = string.Empty;
|
||||||
|
FlagsTextBox.Text = string.Empty;
|
||||||
|
|
||||||
|
ActivationZoneCentreTextBox.Text = string.Empty;
|
||||||
|
ActivationSizeTextBox.Text = string.Empty;
|
||||||
|
ActivationRotationOffsetTextBox.Text = string.Empty;
|
||||||
|
ActivationSizeScaleTextBox.Text = string.Empty;
|
||||||
|
|
||||||
|
PositioningCentreTextBox.Text = string.Empty;
|
||||||
|
PositioningSizeTextBox.Text = string.Empty;
|
||||||
|
PositioningRotationOffsetTextBox.Text = string.Empty;
|
||||||
|
PositioningSizeScaleTextBox.Text = string.Empty;
|
||||||
|
|
||||||
|
BuiltUpFactorTextBox.Text = string.Empty;
|
||||||
|
MinPedDensityTextBox.Text = string.Empty;
|
||||||
|
MaxPedDensityTextBox.Text = string.Empty;
|
||||||
|
PedDensityTODTextBox.Text = string.Empty;
|
||||||
|
PedDensityScalarTextBox.Text = string.Empty;
|
||||||
|
ZoneWaterCalculationTextBox.Text = string.Empty;
|
||||||
|
PositioningRotationAngleTextBox.Text = string.Empty;
|
||||||
|
ActivationZoneRotationAngleTextBox.Text = string.Empty;
|
||||||
|
MinWindInfluenceTextBox.Text = string.Empty;
|
||||||
|
|
||||||
|
WindElevationSoundsTextBox.Text = string.Empty;
|
||||||
|
RandomRadioSettingsTextBox.Text = string.Empty;
|
||||||
|
EnviromentRuleTextBox.Text = string.Empty;
|
||||||
|
AudioSceneTextBox.Text = string.Empty;
|
||||||
|
RulesTextBox.Text = string.Empty;
|
||||||
|
DirAmbiencesTextBox.Text = string.Empty;
|
||||||
|
populatingui = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
AddToProjectButton.Enabled = CurrentZone?.RelFile != null ? !ProjectForm.AudioFileExistsInProject(CurrentZone.RelFile) : false;
|
||||||
|
DeleteButton.Enabled = !AddToProjectButton.Enabled;
|
||||||
|
|
||||||
|
populatingui = true;
|
||||||
|
var z = CurrentZone.AmbientZone;
|
||||||
|
NameTextBox.Text = z.NameHash.ToString();
|
||||||
|
ShapeComboBox.Text = z.Shape.ToString();
|
||||||
|
FlagsTextBox.Text = z.Flags.Hex;
|
||||||
|
ActivationZoneCentreTextBox.Text = FloatUtil.GetVector3String(z.ActivationZoneCentre);
|
||||||
|
ActivationSizeTextBox.Text = FloatUtil.GetVector3String(z.ActivationZoneSize);
|
||||||
|
ActivationRotationOffsetTextBox.Text = FloatUtil.GetVector3String(z.ActivationZonePostRotationOffset);
|
||||||
|
ActivationSizeScaleTextBox.Text = FloatUtil.GetVector3String(z.ActivationZoneSizeScale);
|
||||||
|
|
||||||
|
PositioningCentreTextBox.Text = FloatUtil.GetVector3String(z.PositioningZoneCentre);
|
||||||
|
PositioningSizeTextBox.Text = FloatUtil.GetVector3String(z.PositioningZoneSize);
|
||||||
|
PositioningRotationOffsetTextBox.Text = FloatUtil.GetVector3String(z.PositioningZonePostRotationOffset);
|
||||||
|
PositioningSizeScaleTextBox.Text = FloatUtil.GetVector3String(z.PositioningZoneSizeScale);
|
||||||
|
|
||||||
|
BuiltUpFactorTextBox.Text = z.BuiltUpFactor.ToString();
|
||||||
|
MinPedDensityTextBox.Text = z.MinPedDensity.ToString();
|
||||||
|
MaxPedDensityTextBox.Text = z.MaxPedDensity.ToString();
|
||||||
|
PedDensityTODTextBox.Text = z.PedDensityTOD.ToString();
|
||||||
|
PedDensityScalarTextBox.Text = z.PedDensityScalar.ToString();
|
||||||
|
ZoneWaterCalculationTextBox.Text = z.ZoneWaterCalculation.ToString();
|
||||||
|
PositioningRotationAngleTextBox.Text = z.PositioningZoneRotationAngle.ToString();
|
||||||
|
ActivationZoneRotationAngleTextBox.Text = z.ActivationZoneRotationAngle.ToString();
|
||||||
|
MinWindInfluenceTextBox.Text = z.MinWindInfluence.ToString();
|
||||||
|
|
||||||
|
WindElevationSoundsTextBox.Text = z.WindElevationSounds.ToString();
|
||||||
|
RandomRadioSettingsTextBox.Text = z.RandomisedRadioSettings.ToString();
|
||||||
|
EnviromentRuleTextBox.Text = z.EnvironmentRule.ToString();
|
||||||
|
AudioSceneTextBox.Text = z.AudioScene.ToString();
|
||||||
|
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
if (z.Rules != null)
|
||||||
|
{
|
||||||
|
foreach (var hash in z.Rules)
|
||||||
|
{
|
||||||
|
sb.AppendLine(hash.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
RulesTextBox.Text = sb.ToString();
|
||||||
|
|
||||||
|
sb.Clear();
|
||||||
|
if (z.DirAmbiences != null)
|
||||||
|
{
|
||||||
|
foreach (var extparam in z.DirAmbiences)
|
||||||
|
{
|
||||||
|
sb.Append(extparam.Name.ToString());
|
||||||
|
sb.Append(", ");
|
||||||
|
sb.Append(FloatUtil.ToString(extparam.Volume));
|
||||||
|
sb.AppendLine();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DirAmbiencesTextBox.Text = sb.ToString();
|
||||||
|
|
||||||
|
populatingui = false;
|
||||||
|
|
||||||
|
if (ProjectForm.WorldForm != null)
|
||||||
|
{
|
||||||
|
ProjectForm.WorldForm.SelectObject(CurrentZone);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void ProjectItemChanged()
|
||||||
|
{
|
||||||
|
CurrentZone?.UpdateFromAmbientZone();//also update the placement wrapper
|
||||||
|
|
||||||
|
if (CurrentZone?.RelFile != null)
|
||||||
|
{
|
||||||
|
ProjectForm.SetAudioFileHasChanged(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void NameTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
uint hash = 0;
|
||||||
|
string name = NameTextBox.Text;
|
||||||
|
if (!uint.TryParse(name, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(name);
|
||||||
|
JenkIndex.Ensure(name);
|
||||||
|
}
|
||||||
|
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
|
if (CurrentZone.AmbientZone.NameHash != hash)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.Name = NameTextBox.Text;
|
||||||
|
CurrentZone.AmbientZone.NameHash = hash;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
UpdateFormTitle();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ShapeComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
Dat151ZoneShape shape = Dat151ZoneShape.Box;
|
||||||
|
if (Enum.TryParse<Dat151ZoneShape>(ShapeComboBox.Text, out shape))
|
||||||
|
{
|
||||||
|
if (CurrentZone.AmbientZone.Shape != shape)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.Shape = shape;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PositioningCentreTextBoxTextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.ParseVector3String(PositioningCentreTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.PositioningZoneCentre != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.PositioningZoneCentre = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OuterPosTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.ParseVector3String(PositioningCentreTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.ActivationZoneCentre != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.ActivationZoneCentre = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ActivationZoneRotationAngleTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
uint ang;
|
||||||
|
if (uint.TryParse(ActivationZoneRotationAngleTextBox.Text, out ang))
|
||||||
|
{
|
||||||
|
if (CurrentZone.AmbientZone.ActivationZoneRotationAngle != ang)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.ActivationZoneRotationAngle = (ushort)ang;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FlagsTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
uint flags = 0;
|
||||||
|
if (uint.TryParse(FlagsTextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
||||||
|
{
|
||||||
|
if (CurrentZone.AmbientZone.Flags != flags)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.Flags = flags;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RandomisedRadioSettings_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var hashstr = RandomRadioSettingsTextBox.Text;
|
||||||
|
uint hash = 0;
|
||||||
|
if (!uint.TryParse(hashstr, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(hashstr);
|
||||||
|
JenkIndex.Ensure(hashstr);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CurrentZone.AmbientZone.RandomisedRadioSettings != hash)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.RandomisedRadioSettings = hash;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void EnviromentRuleTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var hashstr = EnviromentRuleTextBox.Text;
|
||||||
|
uint hash = 0;
|
||||||
|
if (!uint.TryParse(hashstr, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(hashstr);
|
||||||
|
JenkIndex.Ensure(hashstr);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CurrentZone.AmbientZone.EnvironmentRule != hash)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.EnvironmentRule = hash;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AudioSceneTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var hashstr = AudioSceneTextBox.Text;
|
||||||
|
uint hash = 0;
|
||||||
|
if (!uint.TryParse(hashstr, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(hashstr);
|
||||||
|
JenkIndex.Ensure(hashstr);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CurrentZone.AmbientZone.AudioScene != hash)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.AudioScene = hash;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RulesTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var hashstrs = RulesTextBox.Text.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
|
||||||
|
if (hashstrs?.Length > 0)
|
||||||
|
{
|
||||||
|
var hashlist = new List<MetaHash>();
|
||||||
|
foreach (var hashstr in hashstrs)
|
||||||
|
{
|
||||||
|
uint hash = 0;
|
||||||
|
if (!uint.TryParse(hashstr, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(hashstr);
|
||||||
|
JenkIndex.Ensure(hashstr);
|
||||||
|
}
|
||||||
|
hashlist.Add(hash);
|
||||||
|
}
|
||||||
|
|
||||||
|
CurrentZone.AmbientZone.Rules = hashlist.ToArray();
|
||||||
|
CurrentZone.AmbientZone.NumRules = (byte)hashlist.Count;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DirAmbiencesTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var paramstrs = DirAmbiencesTextBox.Text.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
|
||||||
|
if (paramstrs?.Length > 0)
|
||||||
|
{
|
||||||
|
var paramlist = new List<Dat151AmbientZone.DirAmbience>();
|
||||||
|
foreach (var paramstr in paramstrs)
|
||||||
|
{
|
||||||
|
var paramvals = paramstr.Split(',');
|
||||||
|
if (paramvals?.Length == 2)
|
||||||
|
{
|
||||||
|
var param = new Dat151AmbientZone.DirAmbience();
|
||||||
|
var hashstr = paramvals[0].Trim();
|
||||||
|
var valstr = paramvals[1].Trim();
|
||||||
|
uint hash = 0;
|
||||||
|
if (!uint.TryParse(hashstr, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(hashstr);
|
||||||
|
JenkIndex.Ensure(hashstr);
|
||||||
|
}
|
||||||
|
param.Name = hash;
|
||||||
|
param.Volume = FloatUtil.Parse(valstr);
|
||||||
|
paramlist.Add(param);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CurrentZone.AmbientZone.DirAmbiences = paramlist.ToArray();
|
||||||
|
CurrentZone.AmbientZone.NumDirAmbiences = (byte)paramlist.Count;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GoToButton_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (CurrentZone == null) return;
|
||||||
|
if (ProjectForm.WorldForm == null) return;
|
||||||
|
ProjectForm.WorldForm.GoToPosition(CurrentZone.Position, CurrentZone.AmbientZone.PositioningZoneSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AddToProjectButton_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ProjectForm.SetProjectItem(CurrentZone);
|
||||||
|
ProjectForm.AddAudioFileToProject(CurrentZone.RelFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DeleteButton_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ProjectForm.SetProjectItem(CurrentZone);
|
||||||
|
ProjectForm.DeleteAudioAmbientZone();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BuiltUpFactorTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.Parse(BuiltUpFactorTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.BuiltUpFactor != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.BuiltUpFactor = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PedDensityTODTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.Parse(PedDensityTODTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.PedDensityTOD != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.PedDensityTOD = (uint)vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MinPedDensityTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.Parse(MinPedDensityTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.MinPedDensity != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.MinPedDensity = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PedDensityScalarTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.Parse(PedDensityScalarTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.PedDensityScalar != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.PedDensityScalar = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MaxPedDensityTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.Parse(MaxPedDensityTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.MaxPedDensity != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.MaxPedDensity = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ZoneWaterCalculationTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.Parse(ZoneWaterCalculationTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.ZoneWaterCalculation != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.ZoneWaterCalculation = (byte)vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PositioningSizeTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.ParseVector3String(PositioningSizeTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.PositioningZoneSize != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.PositioningZoneSize = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PositioningRotationAngleTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
uint ang = 0;
|
||||||
|
if (uint.TryParse(PositioningRotationAngleTextBox.Text, out ang))
|
||||||
|
{
|
||||||
|
if (CurrentZone.AmbientZone.PositioningZoneRotationAngle != ang)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.PositioningZoneRotationAngle = (ushort)ang;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PositioningRotationOffsetTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.ParseVector3String(PositioningRotationOffsetTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.PositioningZonePostRotationOffset != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.PositioningZonePostRotationOffset = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PositioningSizeScaleTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.ParseVector3String(PositioningSizeTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.PositioningZoneSizeScale != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.PositioningZoneSizeScale = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ActivationSizeTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.ParseVector3String(ActivationSizeTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.ActivationZoneSize != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.ActivationZoneSize = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ActivationRotationOffsetTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.ParseVector3String(ActivationRotationOffsetTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.ActivationZonePostRotationOffset != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.ActivationZonePostRotationOffset = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ActivationSizeScaleTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.ParseVector3String(ActivationSizeScaleTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.ActivationZoneSizeScale != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.ActivationZoneSizeScale = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MinWindInfluenceTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.Parse(MinWindInfluenceTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.MinWindInfluence != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.MinWindInfluence = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MaxWindInfluenceTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.Parse(MaxWindInfluenceTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.MaxWindInfluence != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.MaxWindInfluence = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void WindElevationSoundsTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentZone?.AmbientZone == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.Parse(WindElevationSoundsTextBox.Text);
|
||||||
|
if (CurrentZone.AmbientZone.WindElevationSounds != vec)
|
||||||
|
{
|
||||||
|
CurrentZone.AmbientZone.WindElevationSounds = (uint)vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RulesTextBox_Enter(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (RulesTextBox.Text.Length == 0) return;
|
||||||
|
SelectRuleButton.Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SelectRuleButton_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var txt = RulesTextBox.Text;
|
||||||
|
var start = RulesTextBox.SelectionStart;
|
||||||
|
if (txt.Length == 0) return;
|
||||||
|
if (start >= txt.Length) start = txt.Length - 1;
|
||||||
|
for (int i = start; i >= 0; i--)
|
||||||
|
{
|
||||||
|
if (txt[i] == '\n') break;
|
||||||
|
start = i;
|
||||||
|
}
|
||||||
|
var end = start;
|
||||||
|
for (int i = start; i < txt.Length; i++)
|
||||||
|
{
|
||||||
|
if ((txt[i] == '\n') || (txt[i] == '\r')) break;
|
||||||
|
end = i;
|
||||||
|
}
|
||||||
|
var str = txt.Substring(start, end - start + 1);
|
||||||
|
if (string.IsNullOrEmpty(str)) return;
|
||||||
|
|
||||||
|
uint hash;
|
||||||
|
if (!uint.TryParse(str, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
ProjectForm?.ProjectExplorer?.TrySelectAudioAmbientRuleTreeNode(hash);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -117,6 +117,12 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<metadata name="label18.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="label27.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
@ -15,7 +15,7 @@ namespace CodeWalker.Project.Panels
|
|||||||
public partial class EditAudioInteriorPanel : ProjectPanel
|
public partial class EditAudioInteriorPanel : ProjectPanel
|
||||||
{
|
{
|
||||||
public ProjectForm ProjectForm;
|
public ProjectForm ProjectForm;
|
||||||
public Dat151Interior CurrentInterior { get; set; }
|
public Dat151InteriorSettings CurrentInterior { get; set; }
|
||||||
|
|
||||||
private bool populatingui = false;
|
private bool populatingui = false;
|
||||||
|
|
||||||
@ -27,7 +27,7 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void SetInterior(Dat151Interior interior)
|
public void SetInterior(Dat151InteriorSettings interior)
|
||||||
{
|
{
|
||||||
CurrentInterior = interior;
|
CurrentInterior = interior;
|
||||||
Tag = interior;
|
Tag = interior;
|
||||||
@ -66,8 +66,8 @@ namespace CodeWalker.Project.Panels
|
|||||||
NameTextBox.Text = ci.NameHash.ToString();
|
NameTextBox.Text = ci.NameHash.ToString();
|
||||||
|
|
||||||
FlagsTextBox.Text = ci.Flags.Hex;
|
FlagsTextBox.Text = ci.Flags.Hex;
|
||||||
WallaTextBox.Text = ci.Walla.ToString();
|
WallaTextBox.Text = ci.InteriorWallaSoundSet.ToString();
|
||||||
TunnelTextBox.Text = ci.Tunnel.ToString();
|
TunnelTextBox.Text = ci.InteriorReflections.ToString();
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
if (ci.Rooms != null)
|
if (ci.Rooms != null)
|
||||||
@ -150,9 +150,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
JenkIndex.Ensure(name);
|
JenkIndex.Ensure(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CurrentInterior.Walla != hash)
|
if (CurrentInterior.InteriorWallaSoundSet != hash)
|
||||||
{
|
{
|
||||||
CurrentInterior.Walla = hash;
|
CurrentInterior.InteriorWallaSoundSet = hash;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -171,9 +171,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
JenkIndex.Ensure(name);
|
JenkIndex.Ensure(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CurrentInterior.Tunnel != hash)
|
if (CurrentInterior.InteriorReflections != hash)
|
||||||
{
|
{
|
||||||
CurrentInterior.Tunnel = hash;
|
CurrentInterior.InteriorReflections = hash;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
|
@ -75,22 +75,22 @@ namespace CodeWalker.Project.Panels
|
|||||||
var cr = CurrentRoom;
|
var cr = CurrentRoom;
|
||||||
|
|
||||||
NameTextBox.Text = cr.NameHash.ToString();
|
NameTextBox.Text = cr.NameHash.ToString();
|
||||||
MloRoomTextBox.Text = cr.MloRoom.ToString();
|
MloRoomTextBox.Text = cr.RoomName.ToString();
|
||||||
ZoneTextBox.Text = cr.Zone.ToString();
|
ZoneTextBox.Text = cr.AmbientZone.ToString();
|
||||||
Unk02TextBox.Text = cr.Unk02.ToString();
|
Unk02TextBox.Text = cr.InteriorType.ToString();
|
||||||
Unk03TextBox.Text = FloatUtil.ToString(cr.Unk03);
|
Unk03TextBox.Text = FloatUtil.ToString(cr.ReverbSmall);
|
||||||
ReverbTextBox.Text = FloatUtil.ToString(cr.Reverb);
|
ReverbTextBox.Text = FloatUtil.ToString(cr.ReverbMedium);
|
||||||
EchoTextBox.Text = FloatUtil.ToString(cr.Echo);
|
EchoTextBox.Text = FloatUtil.ToString(cr.ReverbLarge);
|
||||||
SoundTextBox.Text = cr.Sound.ToString();
|
SoundTextBox.Text = cr.RoomToneSound.ToString();
|
||||||
Unk07TextBox.Text = FloatUtil.ToString(cr.Unk07);
|
Unk07TextBox.Text = FloatUtil.ToString(cr.RainType);
|
||||||
Unk08TextBox.Text = FloatUtil.ToString(cr.Unk08);
|
Unk08TextBox.Text = FloatUtil.ToString(cr.ExteriorAudibility);
|
||||||
Unk09TextBox.Text = FloatUtil.ToString(cr.Unk09);
|
Unk09TextBox.Text = FloatUtil.ToString(cr.RoomOcclusionDamping);
|
||||||
Unk10TextBox.Text = FloatUtil.ToString(cr.Unk10);
|
Unk10TextBox.Text = FloatUtil.ToString(cr.NonMarkedPortalOcclusion);
|
||||||
Unk11TextBox.Text = FloatUtil.ToString(cr.Unk11);
|
Unk11TextBox.Text = FloatUtil.ToString(cr.DistanceFromPortalForOcclusion);
|
||||||
Unk12TextBox.Text = FloatUtil.ToString(cr.Unk12);
|
Unk12TextBox.Text = FloatUtil.ToString(cr.DistanceFromPortalFadeDistance);
|
||||||
Unk13TextBox.Text = cr.Unk13.ToString();
|
Unk13TextBox.Text = cr.WeaponMetrics.ToString();
|
||||||
SoundSetTextBox.Text = cr.SoundSet.ToString();
|
SoundSetTextBox.Text = cr.InteriorWallaSoundSet.ToString();
|
||||||
Flags0TextBox.Text = cr.Flags0.Hex;
|
Flags0TextBox.Text = cr.Flags.Hex;
|
||||||
populatingui = false;
|
populatingui = false;
|
||||||
|
|
||||||
|
|
||||||
@ -144,9 +144,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
if (CurrentRoom.MloRoom != hash)
|
if (CurrentRoom.RoomName != hash)
|
||||||
{
|
{
|
||||||
CurrentRoom.MloRoom = hash;
|
CurrentRoom.RoomName = hash;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -166,9 +166,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
if (CurrentRoom.Zone != hash)
|
if (CurrentRoom.AmbientZone != hash)
|
||||||
{
|
{
|
||||||
CurrentRoom.Zone = hash;
|
CurrentRoom.AmbientZone = hash;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -182,9 +182,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
uint val = 0;
|
uint val = 0;
|
||||||
if (uint.TryParse(Unk02TextBox.Text, out val))
|
if (uint.TryParse(Unk02TextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Unk02 != val)
|
if (CurrentRoom.InteriorType != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk02 = val;
|
CurrentRoom.InteriorType = (byte)val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -199,9 +199,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(Unk03TextBox.Text, out val))
|
if (FloatUtil.TryParse(Unk03TextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Unk03 != val)
|
if (CurrentRoom.ReverbSmall != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk03 = val;
|
CurrentRoom.ReverbSmall = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -216,9 +216,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(ReverbTextBox.Text, out val))
|
if (FloatUtil.TryParse(ReverbTextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Reverb != val)
|
if (CurrentRoom.ReverbMedium != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Reverb = val;
|
CurrentRoom.ReverbMedium = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -233,9 +233,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(EchoTextBox.Text, out val))
|
if (FloatUtil.TryParse(EchoTextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Echo != val)
|
if (CurrentRoom.ReverbLarge != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Echo = val;
|
CurrentRoom.ReverbLarge = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -256,9 +256,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
if (CurrentRoom.Sound != hash)
|
if (CurrentRoom.RoomToneSound != hash)
|
||||||
{
|
{
|
||||||
CurrentRoom.Sound = hash;
|
CurrentRoom.RoomToneSound = hash;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -272,9 +272,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(Unk07TextBox.Text, out val))
|
if (FloatUtil.TryParse(Unk07TextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Unk07 != val)
|
if (CurrentRoom.RainType != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk07 = val;
|
CurrentRoom.RainType = (byte)val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -289,9 +289,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(Unk08TextBox.Text, out val))
|
if (FloatUtil.TryParse(Unk08TextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Unk08 != val)
|
if (CurrentRoom.ExteriorAudibility != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk08 = val;
|
CurrentRoom.ExteriorAudibility = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -306,9 +306,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(Unk09TextBox.Text, out val))
|
if (FloatUtil.TryParse(Unk09TextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Unk09 != val)
|
if (CurrentRoom.RoomOcclusionDamping != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk09 = val;
|
CurrentRoom.RoomOcclusionDamping = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -323,9 +323,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(Unk10TextBox.Text, out val))
|
if (FloatUtil.TryParse(Unk10TextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Unk10 != val)
|
if (CurrentRoom.NonMarkedPortalOcclusion != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk10 = val;
|
CurrentRoom.NonMarkedPortalOcclusion = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -340,9 +340,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(Unk11TextBox.Text, out val))
|
if (FloatUtil.TryParse(Unk11TextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Unk11 != val)
|
if (CurrentRoom.DistanceFromPortalForOcclusion != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk11 = val;
|
CurrentRoom.DistanceFromPortalForOcclusion = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -357,9 +357,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(Unk12TextBox.Text, out val))
|
if (FloatUtil.TryParse(Unk12TextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Unk12 != val)
|
if (CurrentRoom.DistanceFromPortalFadeDistance != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk12 = val;
|
CurrentRoom.DistanceFromPortalFadeDistance = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -380,9 +380,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
if (CurrentRoom.Unk13 != hash)
|
if (CurrentRoom.WeaponMetrics != hash)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk13 = hash;
|
CurrentRoom.WeaponMetrics = hash;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -402,9 +402,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
if (CurrentRoom.SoundSet != hash)
|
if (CurrentRoom.InteriorWallaSoundSet != hash)
|
||||||
{
|
{
|
||||||
CurrentRoom.SoundSet = hash;
|
CurrentRoom.InteriorWallaSoundSet = hash;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -418,9 +418,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
uint flags = 0;
|
uint flags = 0;
|
||||||
if (uint.TryParse(Flags0TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
if (uint.TryParse(Flags0TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Flags0 != flags)
|
if (CurrentRoom.Flags != flags)
|
||||||
{
|
{
|
||||||
CurrentRoom.Flags0 = flags;
|
CurrentRoom.Flags = flags;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
namespace CodeWalker.Project.Panels
|
namespace CodeWalker.Project.Panels
|
||||||
{
|
{
|
||||||
partial class EditAudioEmitterListPanel
|
partial class EditAudioStaticEmitterListPanel
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Required designer variable.
|
/// Required designer variable.
|
||||||
@ -28,14 +28,14 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditAudioEmitterListPanel));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditAudioStaticEmitterListPanel));
|
||||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||||
|
this.DeleteButton = new System.Windows.Forms.Button();
|
||||||
this.label12 = new System.Windows.Forms.Label();
|
this.label12 = new System.Windows.Forms.Label();
|
||||||
this.NameTextBox = new System.Windows.Forms.TextBox();
|
this.NameTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.label19 = new System.Windows.Forms.Label();
|
this.label19 = new System.Windows.Forms.Label();
|
||||||
this.HashesTextBox = new CodeWalker.WinForms.TextBoxFix();
|
this.HashesTextBox = new CodeWalker.WinForms.TextBoxFix();
|
||||||
this.DeleteButton = new System.Windows.Forms.Button();
|
|
||||||
this.tabControl1.SuspendLayout();
|
this.tabControl1.SuspendLayout();
|
||||||
this.tabPage1.SuspendLayout();
|
this.tabPage1.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
@ -64,9 +64,20 @@
|
|||||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||||
this.tabPage1.Size = new System.Drawing.Size(551, 420);
|
this.tabPage1.Size = new System.Drawing.Size(551, 420);
|
||||||
this.tabPage1.TabIndex = 0;
|
this.tabPage1.TabIndex = 0;
|
||||||
this.tabPage1.Text = "Ambient Emitter List";
|
this.tabPage1.Text = "Static Emitter List";
|
||||||
this.tabPage1.UseVisualStyleBackColor = true;
|
this.tabPage1.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
|
// DeleteButton
|
||||||
|
//
|
||||||
|
this.DeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.DeleteButton.Location = new System.Drawing.Point(438, 381);
|
||||||
|
this.DeleteButton.Name = "DeleteButton";
|
||||||
|
this.DeleteButton.Size = new System.Drawing.Size(93, 23);
|
||||||
|
this.DeleteButton.TabIndex = 76;
|
||||||
|
this.DeleteButton.Text = "Delete list";
|
||||||
|
this.DeleteButton.UseVisualStyleBackColor = true;
|
||||||
|
this.DeleteButton.Click += new System.EventHandler(this.DeleteButton_Click);
|
||||||
|
//
|
||||||
// label12
|
// label12
|
||||||
//
|
//
|
||||||
this.label12.AutoSize = true;
|
this.label12.AutoSize = true;
|
||||||
@ -109,26 +120,15 @@
|
|||||||
this.HashesTextBox.WordWrap = false;
|
this.HashesTextBox.WordWrap = false;
|
||||||
this.HashesTextBox.TextChanged += new System.EventHandler(this.HashesTextBox_TextChanged);
|
this.HashesTextBox.TextChanged += new System.EventHandler(this.HashesTextBox_TextChanged);
|
||||||
//
|
//
|
||||||
// DeleteButton
|
// EditAudioStaticEmitterListPanel
|
||||||
//
|
|
||||||
this.DeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.DeleteButton.Location = new System.Drawing.Point(438, 381);
|
|
||||||
this.DeleteButton.Name = "DeleteButton";
|
|
||||||
this.DeleteButton.Size = new System.Drawing.Size(93, 23);
|
|
||||||
this.DeleteButton.TabIndex = 76;
|
|
||||||
this.DeleteButton.Text = "Delete list";
|
|
||||||
this.DeleteButton.UseVisualStyleBackColor = true;
|
|
||||||
this.DeleteButton.Click += new System.EventHandler(this.DeleteButton_Click);
|
|
||||||
//
|
|
||||||
// EditAudioEmitterListPanel
|
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(562, 450);
|
this.ClientSize = new System.Drawing.Size(562, 450);
|
||||||
this.Controls.Add(this.tabControl1);
|
this.Controls.Add(this.tabControl1);
|
||||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
this.Name = "EditAudioEmitterListPanel";
|
this.Name = "EditAudioStaticEmitterListPanel";
|
||||||
this.Text = "Edit Audio Emitter List";
|
this.Text = "Edit Audio Static Emitter List";
|
||||||
this.tabControl1.ResumeLayout(false);
|
this.tabControl1.ResumeLayout(false);
|
||||||
this.tabPage1.ResumeLayout(false);
|
this.tabPage1.ResumeLayout(false);
|
||||||
this.tabPage1.PerformLayout();
|
this.tabPage1.PerformLayout();
|
@ -11,7 +11,7 @@ using System.Windows.Forms;
|
|||||||
|
|
||||||
namespace CodeWalker.Project.Panels
|
namespace CodeWalker.Project.Panels
|
||||||
{
|
{
|
||||||
public partial class EditAudioEmitterListPanel : ProjectPanel
|
public partial class EditAudioStaticEmitterListPanel : ProjectPanel
|
||||||
{
|
{
|
||||||
public ProjectForm ProjectForm;
|
public ProjectForm ProjectForm;
|
||||||
public Dat151StaticEmitterList CurrentEmitterList { get; set; }
|
public Dat151StaticEmitterList CurrentEmitterList { get; set; }
|
||||||
@ -19,7 +19,7 @@ namespace CodeWalker.Project.Panels
|
|||||||
private bool populatingui = false;
|
private bool populatingui = false;
|
||||||
|
|
||||||
|
|
||||||
public EditAudioEmitterListPanel(ProjectForm owner)
|
public EditAudioStaticEmitterListPanel(ProjectForm owner)
|
||||||
{
|
{
|
||||||
ProjectForm = owner;
|
ProjectForm = owner;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@ -144,7 +144,7 @@ namespace CodeWalker.Project.Panels
|
|||||||
private void DeleteButton_Click(object sender, EventArgs e)
|
private void DeleteButton_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ProjectForm.SetProjectItem(CurrentEmitterList);
|
ProjectForm.SetProjectItem(CurrentEmitterList);
|
||||||
ProjectForm.DeleteAudioEmitterList();
|
ProjectForm.DeleteAudioStaticEmitterList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
883
CodeWalker/Project/Panels/EditAudioStaticEmitterPanel.Designer.cs
generated
Normal file
883
CodeWalker/Project/Panels/EditAudioStaticEmitterPanel.Designer.cs
generated
Normal file
@ -0,0 +1,883 @@
|
|||||||
|
namespace CodeWalker.Project.Panels
|
||||||
|
{
|
||||||
|
partial class EditAudioStaticEmitterPanel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditAudioStaticEmitterPanel));
|
||||||
|
this.GoToButton = new System.Windows.Forms.Button();
|
||||||
|
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||||
|
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||||
|
this.label28 = new System.Windows.Forms.Label();
|
||||||
|
this.UndamagedHealthTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label27 = new System.Windows.Forms.Label();
|
||||||
|
this.BrokenHealthTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.LargeReverbUpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label26 = new System.Windows.Forms.Label();
|
||||||
|
this.MediumReverbUpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label25 = new System.Windows.Forms.Label();
|
||||||
|
this.SmallReverbUpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label24 = new System.Windows.Forms.Label();
|
||||||
|
this.label23 = new System.Windows.Forms.Label();
|
||||||
|
this.MaxLeakageTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.MaxLeakageDistUpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label22 = new System.Windows.Forms.Label();
|
||||||
|
this.MinLeakageDistUpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label20 = new System.Windows.Forms.Label();
|
||||||
|
this.label19 = new System.Windows.Forms.Label();
|
||||||
|
this.OnBreakTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label17 = new System.Windows.Forms.Label();
|
||||||
|
this.AlarmTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label15 = new System.Windows.Forms.Label();
|
||||||
|
this.RoomTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label14 = new System.Windows.Forms.Label();
|
||||||
|
this.InteriorTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.RolloffFactorUpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label13 = new System.Windows.Forms.Label();
|
||||||
|
this.HPFCutoffUpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label11 = new System.Windows.Forms.Label();
|
||||||
|
this.LPFCutoffUpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label6 = new System.Windows.Forms.Label();
|
||||||
|
this.label5 = new System.Windows.Forms.Label();
|
||||||
|
this.VolumeTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label9 = new System.Windows.Forms.Label();
|
||||||
|
this.label8 = new System.Windows.Forms.Label();
|
||||||
|
this.MaxPathDepthUpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.EndTimeUpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.StartTimeUpDown = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.DeleteButton = new System.Windows.Forms.Button();
|
||||||
|
this.AddToProjectButton = new System.Windows.Forms.Button();
|
||||||
|
this.label21 = new System.Windows.Forms.Label();
|
||||||
|
this.FlagsTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label18 = new System.Windows.Forms.Label();
|
||||||
|
this.label12 = new System.Windows.Forms.Label();
|
||||||
|
this.NameTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label7 = new System.Windows.Forms.Label();
|
||||||
|
this.label10 = new System.Windows.Forms.Label();
|
||||||
|
this.OuterRadiusTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
|
this.RadioScoreTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
|
this.RadioStationTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.ChildSoundTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.InnerRadiusTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label16 = new System.Windows.Forms.Label();
|
||||||
|
this.PositionTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.tabControl1.SuspendLayout();
|
||||||
|
this.tabPage1.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.LargeReverbUpDown)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.MediumReverbUpDown)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.SmallReverbUpDown)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.MaxLeakageDistUpDown)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.MinLeakageDistUpDown)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.RolloffFactorUpDown)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.HPFCutoffUpDown)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.LPFCutoffUpDown)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.MaxPathDepthUpDown)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.EndTimeUpDown)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.StartTimeUpDown)).BeginInit();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// GoToButton
|
||||||
|
//
|
||||||
|
this.GoToButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.GoToButton.Location = new System.Drawing.Point(483, 0);
|
||||||
|
this.GoToButton.Name = "GoToButton";
|
||||||
|
this.GoToButton.Size = new System.Drawing.Size(68, 23);
|
||||||
|
this.GoToButton.TabIndex = 1;
|
||||||
|
this.GoToButton.Text = "Go to";
|
||||||
|
this.GoToButton.UseVisualStyleBackColor = true;
|
||||||
|
this.GoToButton.Click += new System.EventHandler(this.GoToButton_Click);
|
||||||
|
//
|
||||||
|
// tabControl1
|
||||||
|
//
|
||||||
|
this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.tabControl1.Controls.Add(this.tabPage1);
|
||||||
|
this.tabControl1.Location = new System.Drawing.Point(2, 3);
|
||||||
|
this.tabControl1.Name = "tabControl1";
|
||||||
|
this.tabControl1.SelectedIndex = 0;
|
||||||
|
this.tabControl1.Size = new System.Drawing.Size(559, 447);
|
||||||
|
this.tabControl1.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// tabPage1
|
||||||
|
//
|
||||||
|
this.tabPage1.Controls.Add(this.label28);
|
||||||
|
this.tabPage1.Controls.Add(this.UndamagedHealthTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label27);
|
||||||
|
this.tabPage1.Controls.Add(this.BrokenHealthTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.LargeReverbUpDown);
|
||||||
|
this.tabPage1.Controls.Add(this.label26);
|
||||||
|
this.tabPage1.Controls.Add(this.MediumReverbUpDown);
|
||||||
|
this.tabPage1.Controls.Add(this.label25);
|
||||||
|
this.tabPage1.Controls.Add(this.SmallReverbUpDown);
|
||||||
|
this.tabPage1.Controls.Add(this.label24);
|
||||||
|
this.tabPage1.Controls.Add(this.label23);
|
||||||
|
this.tabPage1.Controls.Add(this.MaxLeakageTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.MaxLeakageDistUpDown);
|
||||||
|
this.tabPage1.Controls.Add(this.label22);
|
||||||
|
this.tabPage1.Controls.Add(this.MinLeakageDistUpDown);
|
||||||
|
this.tabPage1.Controls.Add(this.label20);
|
||||||
|
this.tabPage1.Controls.Add(this.label19);
|
||||||
|
this.tabPage1.Controls.Add(this.OnBreakTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label17);
|
||||||
|
this.tabPage1.Controls.Add(this.AlarmTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label15);
|
||||||
|
this.tabPage1.Controls.Add(this.RoomTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label14);
|
||||||
|
this.tabPage1.Controls.Add(this.InteriorTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.RolloffFactorUpDown);
|
||||||
|
this.tabPage1.Controls.Add(this.label13);
|
||||||
|
this.tabPage1.Controls.Add(this.HPFCutoffUpDown);
|
||||||
|
this.tabPage1.Controls.Add(this.label11);
|
||||||
|
this.tabPage1.Controls.Add(this.LPFCutoffUpDown);
|
||||||
|
this.tabPage1.Controls.Add(this.label6);
|
||||||
|
this.tabPage1.Controls.Add(this.label5);
|
||||||
|
this.tabPage1.Controls.Add(this.VolumeTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label9);
|
||||||
|
this.tabPage1.Controls.Add(this.label8);
|
||||||
|
this.tabPage1.Controls.Add(this.MaxPathDepthUpDown);
|
||||||
|
this.tabPage1.Controls.Add(this.EndTimeUpDown);
|
||||||
|
this.tabPage1.Controls.Add(this.StartTimeUpDown);
|
||||||
|
this.tabPage1.Controls.Add(this.DeleteButton);
|
||||||
|
this.tabPage1.Controls.Add(this.AddToProjectButton);
|
||||||
|
this.tabPage1.Controls.Add(this.label21);
|
||||||
|
this.tabPage1.Controls.Add(this.FlagsTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label18);
|
||||||
|
this.tabPage1.Controls.Add(this.label12);
|
||||||
|
this.tabPage1.Controls.Add(this.NameTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label7);
|
||||||
|
this.tabPage1.Controls.Add(this.label10);
|
||||||
|
this.tabPage1.Controls.Add(this.OuterRadiusTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label4);
|
||||||
|
this.tabPage1.Controls.Add(this.RadioScoreTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label3);
|
||||||
|
this.tabPage1.Controls.Add(this.RadioStationTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label2);
|
||||||
|
this.tabPage1.Controls.Add(this.ChildSoundTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label1);
|
||||||
|
this.tabPage1.Controls.Add(this.InnerRadiusTextBox);
|
||||||
|
this.tabPage1.Controls.Add(this.label16);
|
||||||
|
this.tabPage1.Controls.Add(this.PositionTextBox);
|
||||||
|
this.tabPage1.Location = new System.Drawing.Point(4, 22);
|
||||||
|
this.tabPage1.Name = "tabPage1";
|
||||||
|
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||||
|
this.tabPage1.Size = new System.Drawing.Size(551, 421);
|
||||||
|
this.tabPage1.TabIndex = 0;
|
||||||
|
this.tabPage1.Text = "Static Emitter";
|
||||||
|
this.tabPage1.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// label28
|
||||||
|
//
|
||||||
|
this.label28.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.label28.AutoSize = true;
|
||||||
|
this.label28.Location = new System.Drawing.Point(336, 335);
|
||||||
|
this.label28.Name = "label28";
|
||||||
|
this.label28.Size = new System.Drawing.Size(100, 13);
|
||||||
|
this.label28.TabIndex = 82;
|
||||||
|
this.label28.Text = "Undamaged health:";
|
||||||
|
//
|
||||||
|
// UndamagedHealthTextBox
|
||||||
|
//
|
||||||
|
this.UndamagedHealthTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.UndamagedHealthTextBox.Location = new System.Drawing.Point(442, 332);
|
||||||
|
this.UndamagedHealthTextBox.Name = "UndamagedHealthTextBox";
|
||||||
|
this.UndamagedHealthTextBox.Size = new System.Drawing.Size(102, 20);
|
||||||
|
this.UndamagedHealthTextBox.TabIndex = 83;
|
||||||
|
this.UndamagedHealthTextBox.TextChanged += new System.EventHandler(this.UndamagedHealthTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label27
|
||||||
|
//
|
||||||
|
this.label27.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.label27.AutoSize = true;
|
||||||
|
this.label27.Location = new System.Drawing.Point(360, 310);
|
||||||
|
this.label27.Name = "label27";
|
||||||
|
this.label27.Size = new System.Drawing.Size(76, 13);
|
||||||
|
this.label27.TabIndex = 80;
|
||||||
|
this.label27.Text = "Broken health:";
|
||||||
|
//
|
||||||
|
// BrokenHealthTextBox
|
||||||
|
//
|
||||||
|
this.BrokenHealthTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.BrokenHealthTextBox.Location = new System.Drawing.Point(442, 307);
|
||||||
|
this.BrokenHealthTextBox.Name = "BrokenHealthTextBox";
|
||||||
|
this.BrokenHealthTextBox.Size = new System.Drawing.Size(102, 20);
|
||||||
|
this.BrokenHealthTextBox.TabIndex = 81;
|
||||||
|
this.BrokenHealthTextBox.TextChanged += new System.EventHandler(this.BrokenHealthTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// LargeReverbUpDown
|
||||||
|
//
|
||||||
|
this.LargeReverbUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.LargeReverbUpDown.Location = new System.Drawing.Point(442, 281);
|
||||||
|
this.LargeReverbUpDown.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.LargeReverbUpDown.Name = "LargeReverbUpDown";
|
||||||
|
this.LargeReverbUpDown.Size = new System.Drawing.Size(48, 20);
|
||||||
|
this.LargeReverbUpDown.TabIndex = 79;
|
||||||
|
this.LargeReverbUpDown.ValueChanged += new System.EventHandler(this.LargeReverbUpDown_ValueChanged);
|
||||||
|
//
|
||||||
|
// label26
|
||||||
|
//
|
||||||
|
this.label26.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.label26.AutoSize = true;
|
||||||
|
this.label26.Location = new System.Drawing.Point(340, 283);
|
||||||
|
this.label26.Name = "label26";
|
||||||
|
this.label26.Size = new System.Drawing.Size(96, 13);
|
||||||
|
this.label26.TabIndex = 78;
|
||||||
|
this.label26.Text = "Large reverb send:";
|
||||||
|
//
|
||||||
|
// MediumReverbUpDown
|
||||||
|
//
|
||||||
|
this.MediumReverbUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.MediumReverbUpDown.Location = new System.Drawing.Point(442, 255);
|
||||||
|
this.MediumReverbUpDown.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.MediumReverbUpDown.Name = "MediumReverbUpDown";
|
||||||
|
this.MediumReverbUpDown.Size = new System.Drawing.Size(48, 20);
|
||||||
|
this.MediumReverbUpDown.TabIndex = 77;
|
||||||
|
this.MediumReverbUpDown.ValueChanged += new System.EventHandler(this.MediumReverbUpDown_ValueChanged);
|
||||||
|
//
|
||||||
|
// label25
|
||||||
|
//
|
||||||
|
this.label25.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.label25.AutoSize = true;
|
||||||
|
this.label25.Location = new System.Drawing.Point(331, 257);
|
||||||
|
this.label25.Name = "label25";
|
||||||
|
this.label25.Size = new System.Drawing.Size(106, 13);
|
||||||
|
this.label25.TabIndex = 76;
|
||||||
|
this.label25.Text = "Medium reverb send:";
|
||||||
|
//
|
||||||
|
// SmallReverbUpDown
|
||||||
|
//
|
||||||
|
this.SmallReverbUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.SmallReverbUpDown.Location = new System.Drawing.Point(442, 229);
|
||||||
|
this.SmallReverbUpDown.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.SmallReverbUpDown.Name = "SmallReverbUpDown";
|
||||||
|
this.SmallReverbUpDown.Size = new System.Drawing.Size(48, 20);
|
||||||
|
this.SmallReverbUpDown.TabIndex = 75;
|
||||||
|
this.SmallReverbUpDown.ValueChanged += new System.EventHandler(this.SmallReverbUpDown_ValueChanged);
|
||||||
|
//
|
||||||
|
// label24
|
||||||
|
//
|
||||||
|
this.label24.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.label24.AutoSize = true;
|
||||||
|
this.label24.Location = new System.Drawing.Point(340, 231);
|
||||||
|
this.label24.Name = "label24";
|
||||||
|
this.label24.Size = new System.Drawing.Size(94, 13);
|
||||||
|
this.label24.TabIndex = 74;
|
||||||
|
this.label24.Text = "Small reverb send:";
|
||||||
|
//
|
||||||
|
// label23
|
||||||
|
//
|
||||||
|
this.label23.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.label23.AutoSize = true;
|
||||||
|
this.label23.Location = new System.Drawing.Point(365, 130);
|
||||||
|
this.label23.Name = "label23";
|
||||||
|
this.label23.Size = new System.Drawing.Size(71, 13);
|
||||||
|
this.label23.TabIndex = 66;
|
||||||
|
this.label23.Text = "Max leakage:";
|
||||||
|
//
|
||||||
|
// MaxLeakageTextBox
|
||||||
|
//
|
||||||
|
this.MaxLeakageTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.MaxLeakageTextBox.Location = new System.Drawing.Point(442, 127);
|
||||||
|
this.MaxLeakageTextBox.Name = "MaxLeakageTextBox";
|
||||||
|
this.MaxLeakageTextBox.Size = new System.Drawing.Size(102, 20);
|
||||||
|
this.MaxLeakageTextBox.TabIndex = 67;
|
||||||
|
this.MaxLeakageTextBox.TextChanged += new System.EventHandler(this.MaxLeakageTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// MaxLeakageDistUpDown
|
||||||
|
//
|
||||||
|
this.MaxLeakageDistUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.MaxLeakageDistUpDown.Location = new System.Drawing.Point(442, 179);
|
||||||
|
this.MaxLeakageDistUpDown.Maximum = new decimal(new int[] {
|
||||||
|
65535,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.MaxLeakageDistUpDown.Name = "MaxLeakageDistUpDown";
|
||||||
|
this.MaxLeakageDistUpDown.Size = new System.Drawing.Size(102, 20);
|
||||||
|
this.MaxLeakageDistUpDown.TabIndex = 71;
|
||||||
|
this.MaxLeakageDistUpDown.ValueChanged += new System.EventHandler(this.MaxLeakageDistUpDown_ValueChanged);
|
||||||
|
//
|
||||||
|
// label22
|
||||||
|
//
|
||||||
|
this.label22.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.label22.AutoSize = true;
|
||||||
|
this.label22.Location = new System.Drawing.Point(348, 181);
|
||||||
|
this.label22.Name = "label22";
|
||||||
|
this.label22.Size = new System.Drawing.Size(90, 13);
|
||||||
|
this.label22.TabIndex = 70;
|
||||||
|
this.label22.Text = "Max leakage dist:";
|
||||||
|
//
|
||||||
|
// MinLeakageDistUpDown
|
||||||
|
//
|
||||||
|
this.MinLeakageDistUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.MinLeakageDistUpDown.Location = new System.Drawing.Point(442, 153);
|
||||||
|
this.MinLeakageDistUpDown.Maximum = new decimal(new int[] {
|
||||||
|
65535,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.MinLeakageDistUpDown.Name = "MinLeakageDistUpDown";
|
||||||
|
this.MinLeakageDistUpDown.Size = new System.Drawing.Size(102, 20);
|
||||||
|
this.MinLeakageDistUpDown.TabIndex = 69;
|
||||||
|
this.MinLeakageDistUpDown.ValueChanged += new System.EventHandler(this.MinLeakageDistUpDown_ValueChanged);
|
||||||
|
//
|
||||||
|
// label20
|
||||||
|
//
|
||||||
|
this.label20.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.label20.AutoSize = true;
|
||||||
|
this.label20.Location = new System.Drawing.Point(349, 155);
|
||||||
|
this.label20.Name = "label20";
|
||||||
|
this.label20.Size = new System.Drawing.Size(87, 13);
|
||||||
|
this.label20.TabIndex = 68;
|
||||||
|
this.label20.Text = "Min leakage dist:";
|
||||||
|
//
|
||||||
|
// label19
|
||||||
|
//
|
||||||
|
this.label19.AutoSize = true;
|
||||||
|
this.label19.Location = new System.Drawing.Point(7, 258);
|
||||||
|
this.label19.Name = "label19";
|
||||||
|
this.label19.Size = new System.Drawing.Size(54, 13);
|
||||||
|
this.label19.TabIndex = 49;
|
||||||
|
this.label19.Text = "On break:";
|
||||||
|
//
|
||||||
|
// OnBreakTextBox
|
||||||
|
//
|
||||||
|
this.OnBreakTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.OnBreakTextBox.Location = new System.Drawing.Point(84, 255);
|
||||||
|
this.OnBreakTextBox.Name = "OnBreakTextBox";
|
||||||
|
this.OnBreakTextBox.Size = new System.Drawing.Size(237, 20);
|
||||||
|
this.OnBreakTextBox.TabIndex = 50;
|
||||||
|
this.OnBreakTextBox.TextChanged += new System.EventHandler(this.OnBreakTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label17
|
||||||
|
//
|
||||||
|
this.label17.AutoSize = true;
|
||||||
|
this.label17.Location = new System.Drawing.Point(7, 232);
|
||||||
|
this.label17.Name = "label17";
|
||||||
|
this.label17.Size = new System.Drawing.Size(36, 13);
|
||||||
|
this.label17.TabIndex = 47;
|
||||||
|
this.label17.Text = "Alarm:";
|
||||||
|
//
|
||||||
|
// AlarmTextBox
|
||||||
|
//
|
||||||
|
this.AlarmTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.AlarmTextBox.Location = new System.Drawing.Point(84, 229);
|
||||||
|
this.AlarmTextBox.Name = "AlarmTextBox";
|
||||||
|
this.AlarmTextBox.Size = new System.Drawing.Size(237, 20);
|
||||||
|
this.AlarmTextBox.TabIndex = 48;
|
||||||
|
this.AlarmTextBox.TextChanged += new System.EventHandler(this.AlarmTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label15
|
||||||
|
//
|
||||||
|
this.label15.AutoSize = true;
|
||||||
|
this.label15.Location = new System.Drawing.Point(7, 206);
|
||||||
|
this.label15.Name = "label15";
|
||||||
|
this.label15.Size = new System.Drawing.Size(68, 13);
|
||||||
|
this.label15.TabIndex = 45;
|
||||||
|
this.label15.Text = "Interior room:";
|
||||||
|
//
|
||||||
|
// RoomTextBox
|
||||||
|
//
|
||||||
|
this.RoomTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.RoomTextBox.Location = new System.Drawing.Point(84, 203);
|
||||||
|
this.RoomTextBox.Name = "RoomTextBox";
|
||||||
|
this.RoomTextBox.Size = new System.Drawing.Size(237, 20);
|
||||||
|
this.RoomTextBox.TabIndex = 46;
|
||||||
|
this.RoomTextBox.TextChanged += new System.EventHandler(this.RoomTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label14
|
||||||
|
//
|
||||||
|
this.label14.AutoSize = true;
|
||||||
|
this.label14.Location = new System.Drawing.Point(7, 180);
|
||||||
|
this.label14.Name = "label14";
|
||||||
|
this.label14.Size = new System.Drawing.Size(42, 13);
|
||||||
|
this.label14.TabIndex = 43;
|
||||||
|
this.label14.Text = "Interior:";
|
||||||
|
//
|
||||||
|
// InteriorTextBox
|
||||||
|
//
|
||||||
|
this.InteriorTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.InteriorTextBox.Location = new System.Drawing.Point(84, 177);
|
||||||
|
this.InteriorTextBox.Name = "InteriorTextBox";
|
||||||
|
this.InteriorTextBox.Size = new System.Drawing.Size(237, 20);
|
||||||
|
this.InteriorTextBox.TabIndex = 44;
|
||||||
|
this.InteriorTextBox.TextChanged += new System.EventHandler(this.InteriorTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// RolloffFactorUpDown
|
||||||
|
//
|
||||||
|
this.RolloffFactorUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.RolloffFactorUpDown.Location = new System.Drawing.Point(442, 103);
|
||||||
|
this.RolloffFactorUpDown.Maximum = new decimal(new int[] {
|
||||||
|
65535,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.RolloffFactorUpDown.Name = "RolloffFactorUpDown";
|
||||||
|
this.RolloffFactorUpDown.Size = new System.Drawing.Size(102, 20);
|
||||||
|
this.RolloffFactorUpDown.TabIndex = 65;
|
||||||
|
this.RolloffFactorUpDown.ValueChanged += new System.EventHandler(this.RolloffFactorUpDown_ValueChanged);
|
||||||
|
//
|
||||||
|
// label13
|
||||||
|
//
|
||||||
|
this.label13.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.label13.AutoSize = true;
|
||||||
|
this.label13.Location = new System.Drawing.Point(365, 106);
|
||||||
|
this.label13.Name = "label13";
|
||||||
|
this.label13.Size = new System.Drawing.Size(70, 13);
|
||||||
|
this.label13.TabIndex = 64;
|
||||||
|
this.label13.Text = "Rolloff factor:";
|
||||||
|
//
|
||||||
|
// HPFCutoffUpDown
|
||||||
|
//
|
||||||
|
this.HPFCutoffUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.HPFCutoffUpDown.Location = new System.Drawing.Point(442, 79);
|
||||||
|
this.HPFCutoffUpDown.Maximum = new decimal(new int[] {
|
||||||
|
65535,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.HPFCutoffUpDown.Name = "HPFCutoffUpDown";
|
||||||
|
this.HPFCutoffUpDown.Size = new System.Drawing.Size(102, 20);
|
||||||
|
this.HPFCutoffUpDown.TabIndex = 63;
|
||||||
|
this.HPFCutoffUpDown.ValueChanged += new System.EventHandler(this.HPFCutoffUpDown_ValueChanged);
|
||||||
|
//
|
||||||
|
// label11
|
||||||
|
//
|
||||||
|
this.label11.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.label11.AutoSize = true;
|
||||||
|
this.label11.Location = new System.Drawing.Point(365, 82);
|
||||||
|
this.label11.Name = "label11";
|
||||||
|
this.label11.Size = new System.Drawing.Size(62, 13);
|
||||||
|
this.label11.TabIndex = 62;
|
||||||
|
this.label11.Text = "HPF Cutoff:";
|
||||||
|
//
|
||||||
|
// LPFCutoffUpDown
|
||||||
|
//
|
||||||
|
this.LPFCutoffUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.LPFCutoffUpDown.Location = new System.Drawing.Point(442, 54);
|
||||||
|
this.LPFCutoffUpDown.Maximum = new decimal(new int[] {
|
||||||
|
65535,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.LPFCutoffUpDown.Name = "LPFCutoffUpDown";
|
||||||
|
this.LPFCutoffUpDown.Size = new System.Drawing.Size(102, 20);
|
||||||
|
this.LPFCutoffUpDown.TabIndex = 61;
|
||||||
|
this.LPFCutoffUpDown.ValueChanged += new System.EventHandler(this.LPFCutoffUpDown_ValueChanged);
|
||||||
|
//
|
||||||
|
// label6
|
||||||
|
//
|
||||||
|
this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.label6.AutoSize = true;
|
||||||
|
this.label6.Location = new System.Drawing.Point(365, 57);
|
||||||
|
this.label6.Name = "label6";
|
||||||
|
this.label6.Size = new System.Drawing.Size(60, 13);
|
||||||
|
this.label6.TabIndex = 60;
|
||||||
|
this.label6.Text = "LPF Cutoff:";
|
||||||
|
//
|
||||||
|
// label5
|
||||||
|
//
|
||||||
|
this.label5.AutoSize = true;
|
||||||
|
this.label5.Location = new System.Drawing.Point(7, 284);
|
||||||
|
this.label5.Name = "label5";
|
||||||
|
this.label5.Size = new System.Drawing.Size(45, 13);
|
||||||
|
this.label5.TabIndex = 51;
|
||||||
|
this.label5.Text = "Volume:";
|
||||||
|
//
|
||||||
|
// VolumeTextBox
|
||||||
|
//
|
||||||
|
this.VolumeTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.VolumeTextBox.Location = new System.Drawing.Point(84, 281);
|
||||||
|
this.VolumeTextBox.Name = "VolumeTextBox";
|
||||||
|
this.VolumeTextBox.Size = new System.Drawing.Size(237, 20);
|
||||||
|
this.VolumeTextBox.TabIndex = 52;
|
||||||
|
this.VolumeTextBox.TextChanged += new System.EventHandler(this.VolumeTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label9
|
||||||
|
//
|
||||||
|
this.label9.AutoSize = true;
|
||||||
|
this.label9.Location = new System.Drawing.Point(192, 310);
|
||||||
|
this.label9.Name = "label9";
|
||||||
|
this.label9.Size = new System.Drawing.Size(78, 13);
|
||||||
|
this.label9.TabIndex = 55;
|
||||||
|
this.label9.Text = "(game minutes)";
|
||||||
|
//
|
||||||
|
// label8
|
||||||
|
//
|
||||||
|
this.label8.AutoSize = true;
|
||||||
|
this.label8.Location = new System.Drawing.Point(7, 335);
|
||||||
|
this.label8.Name = "label8";
|
||||||
|
this.label8.Size = new System.Drawing.Size(55, 13);
|
||||||
|
this.label8.TabIndex = 56;
|
||||||
|
this.label8.Text = "End Time:";
|
||||||
|
//
|
||||||
|
// MaxPathDepthUpDown
|
||||||
|
//
|
||||||
|
this.MaxPathDepthUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.MaxPathDepthUpDown.Location = new System.Drawing.Point(442, 203);
|
||||||
|
this.MaxPathDepthUpDown.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.MaxPathDepthUpDown.Name = "MaxPathDepthUpDown";
|
||||||
|
this.MaxPathDepthUpDown.Size = new System.Drawing.Size(48, 20);
|
||||||
|
this.MaxPathDepthUpDown.TabIndex = 73;
|
||||||
|
this.MaxPathDepthUpDown.ValueChanged += new System.EventHandler(this.MaxPathDepthUpDown_ValueChanged);
|
||||||
|
//
|
||||||
|
// EndTimeUpDown
|
||||||
|
//
|
||||||
|
this.EndTimeUpDown.Location = new System.Drawing.Point(84, 333);
|
||||||
|
this.EndTimeUpDown.Maximum = new decimal(new int[] {
|
||||||
|
65535,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.EndTimeUpDown.Name = "EndTimeUpDown";
|
||||||
|
this.EndTimeUpDown.Size = new System.Drawing.Size(102, 20);
|
||||||
|
this.EndTimeUpDown.TabIndex = 57;
|
||||||
|
this.EndTimeUpDown.ValueChanged += new System.EventHandler(this.EndTimeUpDown_ValueChanged);
|
||||||
|
//
|
||||||
|
// StartTimeUpDown
|
||||||
|
//
|
||||||
|
this.StartTimeUpDown.Location = new System.Drawing.Point(84, 307);
|
||||||
|
this.StartTimeUpDown.Maximum = new decimal(new int[] {
|
||||||
|
65535,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.StartTimeUpDown.Name = "StartTimeUpDown";
|
||||||
|
this.StartTimeUpDown.Size = new System.Drawing.Size(102, 20);
|
||||||
|
this.StartTimeUpDown.TabIndex = 54;
|
||||||
|
this.StartTimeUpDown.ValueChanged += new System.EventHandler(this.StartTimeUpDown_ValueChanged);
|
||||||
|
//
|
||||||
|
// DeleteButton
|
||||||
|
//
|
||||||
|
this.DeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.DeleteButton.Location = new System.Drawing.Point(343, 3);
|
||||||
|
this.DeleteButton.Name = "DeleteButton";
|
||||||
|
this.DeleteButton.Size = new System.Drawing.Size(93, 23);
|
||||||
|
this.DeleteButton.TabIndex = 85;
|
||||||
|
this.DeleteButton.Text = "Delete emitter";
|
||||||
|
this.DeleteButton.UseVisualStyleBackColor = true;
|
||||||
|
this.DeleteButton.Click += new System.EventHandler(this.DeleteButton_Click);
|
||||||
|
//
|
||||||
|
// AddToProjectButton
|
||||||
|
//
|
||||||
|
this.AddToProjectButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.AddToProjectButton.Location = new System.Drawing.Point(452, 3);
|
||||||
|
this.AddToProjectButton.Name = "AddToProjectButton";
|
||||||
|
this.AddToProjectButton.Size = new System.Drawing.Size(93, 23);
|
||||||
|
this.AddToProjectButton.TabIndex = 84;
|
||||||
|
this.AddToProjectButton.Text = "Add to project";
|
||||||
|
this.AddToProjectButton.UseVisualStyleBackColor = true;
|
||||||
|
this.AddToProjectButton.Click += new System.EventHandler(this.AddToProjectButton_Click);
|
||||||
|
//
|
||||||
|
// label21
|
||||||
|
//
|
||||||
|
this.label21.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.label21.AutoSize = true;
|
||||||
|
this.label21.Location = new System.Drawing.Point(339, 33);
|
||||||
|
this.label21.Name = "label21";
|
||||||
|
this.label21.Size = new System.Drawing.Size(35, 13);
|
||||||
|
this.label21.TabIndex = 58;
|
||||||
|
this.label21.Text = "Flags:";
|
||||||
|
//
|
||||||
|
// FlagsTextBox
|
||||||
|
//
|
||||||
|
this.FlagsTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.FlagsTextBox.Location = new System.Drawing.Point(389, 30);
|
||||||
|
this.FlagsTextBox.Name = "FlagsTextBox";
|
||||||
|
this.FlagsTextBox.Size = new System.Drawing.Size(155, 20);
|
||||||
|
this.FlagsTextBox.TabIndex = 59;
|
||||||
|
this.FlagsTextBox.TextChanged += new System.EventHandler(this.FlagsTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label18
|
||||||
|
//
|
||||||
|
this.label18.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.label18.AutoSize = true;
|
||||||
|
this.label18.Location = new System.Drawing.Point(348, 205);
|
||||||
|
this.label18.Name = "label18";
|
||||||
|
this.label18.Size = new System.Drawing.Size(87, 13);
|
||||||
|
this.label18.TabIndex = 72;
|
||||||
|
this.label18.Text = "Max Path Depth:";
|
||||||
|
//
|
||||||
|
// label12
|
||||||
|
//
|
||||||
|
this.label12.AutoSize = true;
|
||||||
|
this.label12.Location = new System.Drawing.Point(7, 9);
|
||||||
|
this.label12.Name = "label12";
|
||||||
|
this.label12.Size = new System.Drawing.Size(64, 13);
|
||||||
|
this.label12.TabIndex = 29;
|
||||||
|
this.label12.Text = "Name hash:";
|
||||||
|
//
|
||||||
|
// NameTextBox
|
||||||
|
//
|
||||||
|
this.NameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.NameTextBox.Location = new System.Drawing.Point(84, 6);
|
||||||
|
this.NameTextBox.Name = "NameTextBox";
|
||||||
|
this.NameTextBox.Size = new System.Drawing.Size(237, 20);
|
||||||
|
this.NameTextBox.TabIndex = 30;
|
||||||
|
this.NameTextBox.TextChanged += new System.EventHandler(this.NameTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label7
|
||||||
|
//
|
||||||
|
this.label7.AutoSize = true;
|
||||||
|
this.label7.Location = new System.Drawing.Point(7, 310);
|
||||||
|
this.label7.Name = "label7";
|
||||||
|
this.label7.Size = new System.Drawing.Size(58, 13);
|
||||||
|
this.label7.TabIndex = 53;
|
||||||
|
this.label7.Text = "Start Time:";
|
||||||
|
//
|
||||||
|
// label10
|
||||||
|
//
|
||||||
|
this.label10.AutoSize = true;
|
||||||
|
this.label10.Location = new System.Drawing.Point(7, 81);
|
||||||
|
this.label10.Name = "label10";
|
||||||
|
this.label10.Size = new System.Drawing.Size(67, 13);
|
||||||
|
this.label10.TabIndex = 35;
|
||||||
|
this.label10.Text = "Outer radius:";
|
||||||
|
//
|
||||||
|
// OuterRadiusTextBox
|
||||||
|
//
|
||||||
|
this.OuterRadiusTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.OuterRadiusTextBox.Location = new System.Drawing.Point(84, 78);
|
||||||
|
this.OuterRadiusTextBox.Name = "OuterRadiusTextBox";
|
||||||
|
this.OuterRadiusTextBox.Size = new System.Drawing.Size(237, 20);
|
||||||
|
this.OuterRadiusTextBox.TabIndex = 36;
|
||||||
|
this.OuterRadiusTextBox.TextChanged += new System.EventHandler(this.OuterRadiusTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label4
|
||||||
|
//
|
||||||
|
this.label4.AutoSize = true;
|
||||||
|
this.label4.Location = new System.Drawing.Point(7, 154);
|
||||||
|
this.label4.Name = "label4";
|
||||||
|
this.label4.Size = new System.Drawing.Size(67, 13);
|
||||||
|
this.label4.TabIndex = 41;
|
||||||
|
this.label4.Text = "Radio score:";
|
||||||
|
//
|
||||||
|
// RadioScoreTextBox
|
||||||
|
//
|
||||||
|
this.RadioScoreTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.RadioScoreTextBox.Location = new System.Drawing.Point(84, 151);
|
||||||
|
this.RadioScoreTextBox.Name = "RadioScoreTextBox";
|
||||||
|
this.RadioScoreTextBox.Size = new System.Drawing.Size(237, 20);
|
||||||
|
this.RadioScoreTextBox.TabIndex = 42;
|
||||||
|
this.RadioScoreTextBox.TextChanged += new System.EventHandler(this.RadioScoreTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label3
|
||||||
|
//
|
||||||
|
this.label3.AutoSize = true;
|
||||||
|
this.label3.Location = new System.Drawing.Point(7, 130);
|
||||||
|
this.label3.Name = "label3";
|
||||||
|
this.label3.Size = new System.Drawing.Size(72, 13);
|
||||||
|
this.label3.TabIndex = 39;
|
||||||
|
this.label3.Text = "Radio station:";
|
||||||
|
//
|
||||||
|
// RadioStationTextBox
|
||||||
|
//
|
||||||
|
this.RadioStationTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.RadioStationTextBox.Location = new System.Drawing.Point(84, 127);
|
||||||
|
this.RadioStationTextBox.Name = "RadioStationTextBox";
|
||||||
|
this.RadioStationTextBox.Size = new System.Drawing.Size(237, 20);
|
||||||
|
this.RadioStationTextBox.TabIndex = 40;
|
||||||
|
this.RadioStationTextBox.TextChanged += new System.EventHandler(this.RadioStationTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label2
|
||||||
|
//
|
||||||
|
this.label2.AutoSize = true;
|
||||||
|
this.label2.Location = new System.Drawing.Point(7, 106);
|
||||||
|
this.label2.Name = "label2";
|
||||||
|
this.label2.Size = new System.Drawing.Size(67, 13);
|
||||||
|
this.label2.TabIndex = 37;
|
||||||
|
this.label2.Text = "Child Sound:";
|
||||||
|
//
|
||||||
|
// ChildSoundTextBox
|
||||||
|
//
|
||||||
|
this.ChildSoundTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.ChildSoundTextBox.Location = new System.Drawing.Point(84, 103);
|
||||||
|
this.ChildSoundTextBox.Name = "ChildSoundTextBox";
|
||||||
|
this.ChildSoundTextBox.Size = new System.Drawing.Size(237, 20);
|
||||||
|
this.ChildSoundTextBox.TabIndex = 38;
|
||||||
|
this.ChildSoundTextBox.TextChanged += new System.EventHandler(this.ChildSoundTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
this.label1.AutoSize = true;
|
||||||
|
this.label1.Location = new System.Drawing.Point(7, 57);
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
this.label1.Size = new System.Drawing.Size(65, 13);
|
||||||
|
this.label1.TabIndex = 33;
|
||||||
|
this.label1.Text = "Inner radius:";
|
||||||
|
//
|
||||||
|
// InnerRadiusTextBox
|
||||||
|
//
|
||||||
|
this.InnerRadiusTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.InnerRadiusTextBox.Location = new System.Drawing.Point(84, 54);
|
||||||
|
this.InnerRadiusTextBox.Name = "InnerRadiusTextBox";
|
||||||
|
this.InnerRadiusTextBox.Size = new System.Drawing.Size(237, 20);
|
||||||
|
this.InnerRadiusTextBox.TabIndex = 34;
|
||||||
|
this.InnerRadiusTextBox.TextChanged += new System.EventHandler(this.InnerRadiusTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// label16
|
||||||
|
//
|
||||||
|
this.label16.AutoSize = true;
|
||||||
|
this.label16.Location = new System.Drawing.Point(7, 33);
|
||||||
|
this.label16.Name = "label16";
|
||||||
|
this.label16.Size = new System.Drawing.Size(47, 13);
|
||||||
|
this.label16.TabIndex = 31;
|
||||||
|
this.label16.Text = "Position:";
|
||||||
|
//
|
||||||
|
// PositionTextBox
|
||||||
|
//
|
||||||
|
this.PositionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.PositionTextBox.Location = new System.Drawing.Point(84, 30);
|
||||||
|
this.PositionTextBox.Name = "PositionTextBox";
|
||||||
|
this.PositionTextBox.Size = new System.Drawing.Size(237, 20);
|
||||||
|
this.PositionTextBox.TabIndex = 32;
|
||||||
|
this.PositionTextBox.TextChanged += new System.EventHandler(this.PositionTextBox_TextChanged);
|
||||||
|
//
|
||||||
|
// EditAudioStaticEmitterPanel
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(562, 450);
|
||||||
|
this.Controls.Add(this.GoToButton);
|
||||||
|
this.Controls.Add(this.tabControl1);
|
||||||
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
|
this.Name = "EditAudioStaticEmitterPanel";
|
||||||
|
this.Text = "Edit Audio Static Emitter";
|
||||||
|
this.tabControl1.ResumeLayout(false);
|
||||||
|
this.tabPage1.ResumeLayout(false);
|
||||||
|
this.tabPage1.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.LargeReverbUpDown)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.MediumReverbUpDown)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.SmallReverbUpDown)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.MaxLeakageDistUpDown)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.MinLeakageDistUpDown)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.RolloffFactorUpDown)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.HPFCutoffUpDown)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.LPFCutoffUpDown)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.MaxPathDepthUpDown)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.EndTimeUpDown)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.StartTimeUpDown)).EndInit();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.Button GoToButton;
|
||||||
|
private System.Windows.Forms.TabControl tabControl1;
|
||||||
|
private System.Windows.Forms.TabPage tabPage1;
|
||||||
|
private System.Windows.Forms.Label label9;
|
||||||
|
private System.Windows.Forms.Label label8;
|
||||||
|
private System.Windows.Forms.NumericUpDown MaxPathDepthUpDown;
|
||||||
|
private System.Windows.Forms.NumericUpDown EndTimeUpDown;
|
||||||
|
private System.Windows.Forms.NumericUpDown StartTimeUpDown;
|
||||||
|
private System.Windows.Forms.Button DeleteButton;
|
||||||
|
private System.Windows.Forms.Button AddToProjectButton;
|
||||||
|
private System.Windows.Forms.Label label18;
|
||||||
|
private System.Windows.Forms.Label label12;
|
||||||
|
private System.Windows.Forms.TextBox NameTextBox;
|
||||||
|
private System.Windows.Forms.Label label7;
|
||||||
|
private System.Windows.Forms.Label label10;
|
||||||
|
private System.Windows.Forms.TextBox OuterRadiusTextBox;
|
||||||
|
private System.Windows.Forms.Label label4;
|
||||||
|
private System.Windows.Forms.TextBox RadioScoreTextBox;
|
||||||
|
private System.Windows.Forms.Label label3;
|
||||||
|
private System.Windows.Forms.TextBox RadioStationTextBox;
|
||||||
|
private System.Windows.Forms.Label label2;
|
||||||
|
private System.Windows.Forms.TextBox ChildSoundTextBox;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.TextBox InnerRadiusTextBox;
|
||||||
|
private System.Windows.Forms.Label label16;
|
||||||
|
private System.Windows.Forms.TextBox PositionTextBox;
|
||||||
|
private System.Windows.Forms.Label label21;
|
||||||
|
private System.Windows.Forms.TextBox FlagsTextBox;
|
||||||
|
private System.Windows.Forms.Label label5;
|
||||||
|
private System.Windows.Forms.TextBox VolumeTextBox;
|
||||||
|
private System.Windows.Forms.NumericUpDown RolloffFactorUpDown;
|
||||||
|
private System.Windows.Forms.Label label13;
|
||||||
|
private System.Windows.Forms.NumericUpDown HPFCutoffUpDown;
|
||||||
|
private System.Windows.Forms.Label label11;
|
||||||
|
private System.Windows.Forms.NumericUpDown LPFCutoffUpDown;
|
||||||
|
private System.Windows.Forms.Label label6;
|
||||||
|
private System.Windows.Forms.Label label15;
|
||||||
|
private System.Windows.Forms.TextBox RoomTextBox;
|
||||||
|
private System.Windows.Forms.Label label14;
|
||||||
|
private System.Windows.Forms.TextBox InteriorTextBox;
|
||||||
|
private System.Windows.Forms.Label label19;
|
||||||
|
private System.Windows.Forms.TextBox OnBreakTextBox;
|
||||||
|
private System.Windows.Forms.Label label17;
|
||||||
|
private System.Windows.Forms.TextBox AlarmTextBox;
|
||||||
|
private System.Windows.Forms.NumericUpDown MaxLeakageDistUpDown;
|
||||||
|
private System.Windows.Forms.Label label22;
|
||||||
|
private System.Windows.Forms.NumericUpDown MinLeakageDistUpDown;
|
||||||
|
private System.Windows.Forms.Label label20;
|
||||||
|
private System.Windows.Forms.Label label23;
|
||||||
|
private System.Windows.Forms.TextBox MaxLeakageTextBox;
|
||||||
|
private System.Windows.Forms.NumericUpDown LargeReverbUpDown;
|
||||||
|
private System.Windows.Forms.Label label26;
|
||||||
|
private System.Windows.Forms.NumericUpDown MediumReverbUpDown;
|
||||||
|
private System.Windows.Forms.Label label25;
|
||||||
|
private System.Windows.Forms.NumericUpDown SmallReverbUpDown;
|
||||||
|
private System.Windows.Forms.Label label24;
|
||||||
|
private System.Windows.Forms.Label label28;
|
||||||
|
private System.Windows.Forms.TextBox UndamagedHealthTextBox;
|
||||||
|
private System.Windows.Forms.Label label27;
|
||||||
|
private System.Windows.Forms.TextBox BrokenHealthTextBox;
|
||||||
|
}
|
||||||
|
}
|
613
CodeWalker/Project/Panels/EditAudioStaticEmitterPanel.cs
Normal file
613
CodeWalker/Project/Panels/EditAudioStaticEmitterPanel.cs
Normal file
@ -0,0 +1,613 @@
|
|||||||
|
using CodeWalker.GameFiles;
|
||||||
|
using CodeWalker.World;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace CodeWalker.Project.Panels
|
||||||
|
{
|
||||||
|
public partial class EditAudioStaticEmitterPanel : ProjectPanel
|
||||||
|
{
|
||||||
|
public ProjectForm ProjectForm;
|
||||||
|
public AudioPlacement CurrentEmitter { get; set; }
|
||||||
|
|
||||||
|
private bool populatingui = false;
|
||||||
|
|
||||||
|
|
||||||
|
public EditAudioStaticEmitterPanel(ProjectForm owner)
|
||||||
|
{
|
||||||
|
ProjectForm = owner;
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetEmitter(AudioPlacement emitter)
|
||||||
|
{
|
||||||
|
CurrentEmitter = emitter;
|
||||||
|
Tag = emitter;
|
||||||
|
UpdateFormTitle();
|
||||||
|
UpdateUI();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateFormTitle()
|
||||||
|
{
|
||||||
|
Text = CurrentEmitter?.NameHash.ToString() ?? "";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void UpdateUI()
|
||||||
|
{
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null)
|
||||||
|
{
|
||||||
|
AddToProjectButton.Enabled = false;
|
||||||
|
DeleteButton.Enabled = false;
|
||||||
|
|
||||||
|
populatingui = true;
|
||||||
|
NameTextBox.Text = string.Empty;
|
||||||
|
FlagsTextBox.Text = string.Empty;
|
||||||
|
PositionTextBox.Text = string.Empty;
|
||||||
|
InnerRadiusTextBox.Text = string.Empty;
|
||||||
|
OuterRadiusTextBox.Text = string.Empty;
|
||||||
|
ChildSoundTextBox.Text = string.Empty;
|
||||||
|
RadioStationTextBox.Text = string.Empty;
|
||||||
|
RadioScoreTextBox.Text = string.Empty;
|
||||||
|
InteriorTextBox.Text = string.Empty;
|
||||||
|
RoomTextBox.Text = string.Empty;
|
||||||
|
AlarmTextBox.Text = string.Empty;
|
||||||
|
OnBreakTextBox.Text = string.Empty;
|
||||||
|
VolumeTextBox.Text = string.Empty;
|
||||||
|
StartTimeUpDown.Value = 0;
|
||||||
|
EndTimeUpDown.Value = 0;
|
||||||
|
LPFCutoffUpDown.Value = 0;
|
||||||
|
HPFCutoffUpDown.Value = 0;
|
||||||
|
RolloffFactorUpDown.Value = 0;
|
||||||
|
MaxLeakageTextBox.Text = string.Empty;
|
||||||
|
MinLeakageDistUpDown.Value = 0;
|
||||||
|
MaxLeakageDistUpDown.Value = 0;
|
||||||
|
MaxPathDepthUpDown.Value = 0;
|
||||||
|
SmallReverbUpDown.Value = 0;
|
||||||
|
MediumReverbUpDown.Value = 0;
|
||||||
|
LargeReverbUpDown.Value = 0;
|
||||||
|
BrokenHealthTextBox.Text = string.Empty;
|
||||||
|
UndamagedHealthTextBox.Text = string.Empty;
|
||||||
|
populatingui = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
AddToProjectButton.Enabled = CurrentEmitter?.RelFile != null ? !ProjectForm.AudioFileExistsInProject(CurrentEmitter.RelFile) : false;
|
||||||
|
DeleteButton.Enabled = !AddToProjectButton.Enabled;
|
||||||
|
|
||||||
|
populatingui = true;
|
||||||
|
var e = CurrentEmitter.StaticEmitter;
|
||||||
|
NameTextBox.Text = e.NameHash.ToString();
|
||||||
|
FlagsTextBox.Text = e.Flags.Hex;
|
||||||
|
PositionTextBox.Text = FloatUtil.GetVector3String(e.Position);
|
||||||
|
InnerRadiusTextBox.Text = FloatUtil.ToString(e.MinDistance);
|
||||||
|
OuterRadiusTextBox.Text = FloatUtil.ToString(e.MaxDistance);
|
||||||
|
ChildSoundTextBox.Text = e.ChildSound.ToString();
|
||||||
|
RadioStationTextBox.Text = e.RadioStation.ToString();
|
||||||
|
RadioScoreTextBox.Text = e.RadioStationForScore.ToString();
|
||||||
|
InteriorTextBox.Text = e.Interior.ToString();
|
||||||
|
RoomTextBox.Text = e.Room.ToString();
|
||||||
|
AlarmTextBox.Text = e.Alarm.ToString();
|
||||||
|
OnBreakTextBox.Text = e.OnBreakOneShot.ToString();
|
||||||
|
VolumeTextBox.Text = e.EmittedVolume.ToString();
|
||||||
|
StartTimeUpDown.Value = e.MinTimeMinutes;
|
||||||
|
EndTimeUpDown.Value = e.MaxTimeMinutes;
|
||||||
|
LPFCutoffUpDown.Value = e.LPFCutoff;
|
||||||
|
HPFCutoffUpDown.Value = e.HPFCutoff;
|
||||||
|
RolloffFactorUpDown.Value = e.RolloffFactor;
|
||||||
|
MaxLeakageTextBox.Text = FloatUtil.ToString(e.MaxLeakage);
|
||||||
|
MinLeakageDistUpDown.Value = e.MinLeakageDistance;
|
||||||
|
MaxLeakageDistUpDown.Value = e.MaxLeakageDistance;
|
||||||
|
MaxPathDepthUpDown.Value = e.MaxPathDepth;
|
||||||
|
SmallReverbUpDown.Value = e.SmallReverbSend;
|
||||||
|
MediumReverbUpDown.Value = e.MediumReverbSend;
|
||||||
|
LargeReverbUpDown.Value = e.LargeReverbSend;
|
||||||
|
BrokenHealthTextBox.Text = FloatUtil.ToString(e.BrokenHealth);
|
||||||
|
UndamagedHealthTextBox.Text = FloatUtil.ToString(e.UndamagedHealth);
|
||||||
|
|
||||||
|
populatingui = false;
|
||||||
|
|
||||||
|
if (ProjectForm.WorldForm != null)
|
||||||
|
{
|
||||||
|
ProjectForm.WorldForm.SelectObject(CurrentEmitter);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ProjectItemChanged()
|
||||||
|
{
|
||||||
|
CurrentEmitter?.UpdateFromStaticEmitter();//also update the placement wrapper
|
||||||
|
|
||||||
|
if (CurrentEmitter?.RelFile != null)
|
||||||
|
{
|
||||||
|
ProjectForm.SetAudioFileHasChanged(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void NameTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
uint hash = 0;
|
||||||
|
string name = NameTextBox.Text;
|
||||||
|
if (!uint.TryParse(name, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(name);
|
||||||
|
JenkIndex.Ensure(name);
|
||||||
|
}
|
||||||
|
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
|
if (CurrentEmitter.StaticEmitter.NameHash != hash)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.Name = NameTextBox.Text;
|
||||||
|
CurrentEmitter.StaticEmitter.NameHash = hash;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
UpdateFormTitle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PositionTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var vec = FloatUtil.ParseVector3String(PositionTextBox.Text);
|
||||||
|
if (CurrentEmitter.StaticEmitter.Position != vec)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.Position = vec;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
|
||||||
|
//var wf = ProjectForm.WorldForm;
|
||||||
|
//if (wf != null)
|
||||||
|
//{
|
||||||
|
// wf.BeginInvoke(new Action(() =>
|
||||||
|
// {
|
||||||
|
// wf.SetWidgetPosition(CurrentEmitter.Position, true);
|
||||||
|
// }));
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InnerRadiusTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
float rad = FloatUtil.Parse(InnerRadiusTextBox.Text);
|
||||||
|
if (CurrentEmitter.StaticEmitter.MinDistance != rad)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.MinDistance = rad;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OuterRadiusTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
float rad = FloatUtil.Parse(OuterRadiusTextBox.Text);
|
||||||
|
if (CurrentEmitter.StaticEmitter.MaxDistance != rad)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.MaxDistance = rad;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ChildSoundTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
uint hash = 0;
|
||||||
|
string name = ChildSoundTextBox.Text;
|
||||||
|
if (!uint.TryParse(name, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(name);
|
||||||
|
JenkIndex.Ensure(name);
|
||||||
|
}
|
||||||
|
//HashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
|
if (CurrentEmitter.StaticEmitter.ChildSound != hash)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.ChildSound = hash;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RadioStationTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
uint hash = 0;
|
||||||
|
string name = RadioStationTextBox.Text;
|
||||||
|
if (!uint.TryParse(name, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(name);
|
||||||
|
JenkIndex.Ensure(name);
|
||||||
|
}
|
||||||
|
//HashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
|
if (CurrentEmitter.StaticEmitter.RadioStation != hash)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.RadioStation = hash;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RadioScoreTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
uint hash = 0;
|
||||||
|
string name = RadioScoreTextBox.Text;
|
||||||
|
if (!uint.TryParse(name, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(name);
|
||||||
|
JenkIndex.Ensure(name);
|
||||||
|
}
|
||||||
|
//HashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
|
if (CurrentEmitter.StaticEmitter.RadioStationForScore != hash)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.RadioStationForScore = hash;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InteriorTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
uint hash = 0;
|
||||||
|
string name = InteriorTextBox.Text;
|
||||||
|
if (!uint.TryParse(name, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(name);
|
||||||
|
JenkIndex.Ensure(name);
|
||||||
|
}
|
||||||
|
//HashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
|
if (CurrentEmitter.StaticEmitter.Interior != hash)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.Interior = hash;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RoomTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
uint hash = 0;
|
||||||
|
string name = RoomTextBox.Text;
|
||||||
|
if (!uint.TryParse(name, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(name);
|
||||||
|
JenkIndex.Ensure(name);
|
||||||
|
}
|
||||||
|
//HashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
|
if (CurrentEmitter.StaticEmitter.Room != hash)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.Room = hash;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AlarmTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
uint hash = 0;
|
||||||
|
string name = AlarmTextBox.Text;
|
||||||
|
if (!uint.TryParse(name, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(name);
|
||||||
|
JenkIndex.Ensure(name);
|
||||||
|
}
|
||||||
|
//HashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
|
if (CurrentEmitter.StaticEmitter.Alarm != hash)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.Alarm = hash;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnBreakTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
uint hash = 0;
|
||||||
|
string name = OnBreakTextBox.Text;
|
||||||
|
if (!uint.TryParse(name, out hash))//don't re-hash hashes
|
||||||
|
{
|
||||||
|
hash = JenkHash.GenHash(name);
|
||||||
|
JenkIndex.Ensure(name);
|
||||||
|
}
|
||||||
|
//HashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
|
if (CurrentEmitter.StaticEmitter.OnBreakOneShot != hash)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.OnBreakOneShot = hash;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void VolumeTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
int.TryParse(VolumeTextBox.Text, out var val);
|
||||||
|
if (CurrentEmitter.StaticEmitter.EmittedVolume != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.EmittedVolume = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StartTimeUpDown_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var val = (ushort)StartTimeUpDown.Value;
|
||||||
|
if (CurrentEmitter.StaticEmitter.MinTimeMinutes != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.MinTimeMinutes = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void EndTimeUpDown_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var val = (ushort)EndTimeUpDown.Value;
|
||||||
|
if (CurrentEmitter.StaticEmitter.MaxTimeMinutes != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.MaxTimeMinutes = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FlagsTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
uint flags = 0;
|
||||||
|
if (uint.TryParse(FlagsTextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
||||||
|
{
|
||||||
|
if (CurrentEmitter.StaticEmitter.Flags != flags)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.Flags = flags;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void LPFCutoffUpDown_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var val = (ushort)LPFCutoffUpDown.Value;
|
||||||
|
if (CurrentEmitter.StaticEmitter.LPFCutoff != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.LPFCutoff = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HPFCutoffUpDown_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var val = (ushort)HPFCutoffUpDown.Value;
|
||||||
|
if (CurrentEmitter.StaticEmitter.HPFCutoff != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.HPFCutoff = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RolloffFactorUpDown_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var val = (ushort)RolloffFactorUpDown.Value;
|
||||||
|
if (CurrentEmitter.StaticEmitter.RolloffFactor != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.RolloffFactor = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MaxLeakageTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var val = FloatUtil.Parse(MaxLeakageTextBox.Text);
|
||||||
|
if (CurrentEmitter.StaticEmitter.MaxLeakage != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.MaxLeakage = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MinLeakageDistUpDown_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var val = (ushort)MinLeakageDistUpDown.Value;
|
||||||
|
if (CurrentEmitter.StaticEmitter.MinLeakageDistance != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.MinLeakageDistance = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MaxLeakageDistUpDown_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var val = (ushort)MaxLeakageDistUpDown.Value;
|
||||||
|
if (CurrentEmitter.StaticEmitter.MaxLeakageDistance != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.MaxLeakageDistance = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MaxPathDepthUpDown_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var val = (byte)MaxPathDepthUpDown.Value;
|
||||||
|
if (CurrentEmitter.StaticEmitter.MaxPathDepth != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.MaxPathDepth = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SmallReverbUpDown_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var val = (byte)SmallReverbUpDown.Value;
|
||||||
|
if (CurrentEmitter.StaticEmitter.SmallReverbSend != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.SmallReverbSend = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MediumReverbUpDown_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var val = (byte)MediumReverbUpDown.Value;
|
||||||
|
if (CurrentEmitter.StaticEmitter.MediumReverbSend != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.MediumReverbSend = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void LargeReverbUpDown_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var val = (byte)LargeReverbUpDown.Value;
|
||||||
|
if (CurrentEmitter.StaticEmitter.LargeReverbSend != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.LargeReverbSend = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BrokenHealthTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var val = FloatUtil.Parse(BrokenHealthTextBox.Text);
|
||||||
|
if (CurrentEmitter.StaticEmitter.BrokenHealth != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.BrokenHealth = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UndamagedHealthTextBox_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (populatingui) return;
|
||||||
|
if (CurrentEmitter?.StaticEmitter == null) return;
|
||||||
|
|
||||||
|
var val = FloatUtil.Parse(UndamagedHealthTextBox.Text);
|
||||||
|
if (CurrentEmitter.StaticEmitter.UndamagedHealth != val)
|
||||||
|
{
|
||||||
|
CurrentEmitter.StaticEmitter.UndamagedHealth = val;
|
||||||
|
|
||||||
|
ProjectItemChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GoToButton_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (CurrentEmitter == null) return;
|
||||||
|
if (ProjectForm.WorldForm == null) return;
|
||||||
|
ProjectForm.WorldForm.GoToPosition(CurrentEmitter.Position, SharpDX.Vector3.One * CurrentEmitter.InnerRadius * 2.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AddToProjectButton_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ProjectForm.SetProjectItem(CurrentEmitter);
|
||||||
|
ProjectForm.AddAudioFileToProject(CurrentEmitter.RelFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DeleteButton_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ProjectForm.SetProjectItem(CurrentEmitter);
|
||||||
|
ProjectForm.DeleteAudioStaticEmitter();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
409
CodeWalker/Project/Panels/EditAudioStaticEmitterPanel.resx
Normal file
409
CodeWalker/Project/Panels/EditAudioStaticEmitterPanel.resx
Normal file
@ -0,0 +1,409 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
AAABAAMAICAAAAAAGACoDAAANgAAABAQAAAAABgAaAMAAN4MAABAQAAAAAAYACgyAABGEAAAKAAAACAA
|
||||||
|
AABAAAAAAQAYAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//////////////////////////////////////v8/u3v+Pn6//7+////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//7+/vX3/rzA3OHl9fz9////////////////////////////////////////////////////////////
|
||||||
|
//////////////////////////////////////////////////7//+zv+3Z6qcLI5Pr7////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//////////////////7+/+br+15in6+33vf5//////////////////7+//7+////////////////////
|
||||||
|
//////////////////////////////3+//v8//v8//3+//////////////////////7+/+Ho+1dana20
|
||||||
|
4/b4//////////z9//P2/+Tp/ezw/vz9//////////////////////////////////////////7///X4
|
||||||
|
/9Pa+tPa+/H1//z9//////////////////7+/93k+SsscaSr3PX3//////7+//L1/7W98AcWgrvC8Pj6
|
||||||
|
//////////////////////////////////////////7+/+bs/xohiAEJdrvF9+7y//z9////////////
|
||||||
|
//7+/9rh+CEkapmh0/T3//////j6/9HZ/AEHcgEEb9LZ+/r7////////////////////////////////
|
||||||
|
//////////7//+/z/3F+zAAAXwQLcZai3fb4//////////////3+/97l/E9Tmaau4fT3/////+/0/1dd
|
||||||
|
sAAAV7a/8/H1//7+//////////////////////////////////////////////r8/+jv/46Y3QUUf6Ot
|
||||||
|
5PX4//////////////3+/9zj+3Z6wLe/7fX4//////D0/212xnaAzerw//z9////////////////////
|
||||||
|
//////////////////////////////////v8/+/z/+Dm+/D0//z9//////////7+//j6/9Pd+UhLjb/H
|
||||||
|
9/D0//3+//n7/+nt/+jt//n7////////////////////////////////////////////////////////
|
||||||
|
//7///7+//7+//7+//////////r8/+7z/83W+ImU2A0UdFNarr/K9env//X4//z9//3+//7/////////
|
||||||
|
//////////////////////////////////////////////////////////////////7///j6/+Pq/255
|
||||||
|
xhckjE5XsVVftUlTqwAKeTA9nr3H8+7z//v8////////////////////////////////////////////
|
||||||
|
//////////////////////////////7+//b4/9Tc+Sc0mRonj8rV/crX/ZSb48rX/brG8wwWgQAEdJei
|
||||||
|
4efu//n7//7+//z9//z9//z9//z9//3+//////////////////////////////3+//f5/+3y/+nv/+ft
|
||||||
|
/8vV+io2mImU2M7c/7vG9yIvlQAOfCg4mM3Y/s/c/4aR1AQRfGtzwtni/ebt/9vi/tri/tXd+9Tc+O3x
|
||||||
|
/vz9//////////////////////////n6/87V+FVftkRPrFlnvSEqjQoUfmJvwWFvvg0TfQQIcxEchwAD
|
||||||
|
cy89n19rvVVitQwZgwAAaiMrkT9NqTVBoiw3mhQihig1mNLX+fv8//////////////////////////b5
|
||||||
|
/52l4EFLqoCK03yF0VBctGhyw52o5GVrvQAAaneBzsHM+jA3mhYgiTtIpJOf3ouW2AAAbmh0wbbA8bS+
|
||||||
|
7qiz5pCb16+56e/z//3+//////////////////////////v8//H1/+vw/+zx/+nv/7/J9YqP3MbP/8LM
|
||||||
|
+hwqkFZftaCp5EhRrcTQ+9jj/8rW/UJMqn6J0ebt//X3//f5//b4//X3//f5//z9////////////////
|
||||||
|
//////////7+//z9//3+//////////3+/+7z/6at64iP3aWs7XN8zRIfhyUykp2o5MHM+oKM0xonjY6X
|
||||||
|
2+jv//v8//////7+//n7//b5//r7//7///////////////////7+//f5/+rw/9Pa9fL0/v7/////////
|
||||||
|
//v8//H1/+Tr/7i/91liu0NPq0VQrS06m0NNqDdCoYqU1+nv//v8//////////n7/9zi/qSt59ri/fL1
|
||||||
|
//v8//7///////z9//D0/8rT+h0sjkVQrPD0//////////////////////z9/+7z/8LL9Jqk4aGq6LW/
|
||||||
|
8c3W9+Xs/vH1//v8//////////////f5/6at5gAAbxIfh6u16+Po/fr7//////b5/6ev5gAIeAAPernC
|
||||||
|
8fX4//////////3+//v8//z9//////3+//j6//P3//P2//b4//r8//7+//7+//v8//r8//3+//////v8
|
||||||
|
/+Xr/nuIzwAAbBseg5Sb2fb5//////f5/8DF8pWe3d/n/vT3//39//////v8/+zx/87V9+3x/v3+////
|
||||||
|
//3+//j6//X4//v8//////////n7/+Dm/snR9fD0//39//z8/fv8/+3y/8LK9aGq4dfd9/n7//////z9
|
||||||
|
//b5//X4//v8//////////7+/+7z/4aP1gEPet7k/f39//////f5/83U+ZCZ2u3x/v7+//////P3/215
|
||||||
|
wgAJd7fB8/L1//7+//////3+//j6//f5//r8//7+//////////////////////////////j6/87W/AAA
|
||||||
|
X2duue3y//7+//////D0/05asBQfidzj/P39//////X4/6Su6AAAXBccgtff/vv8////////////////
|
||||||
|
//////////////////////////////////////P3/3F8xhYli9Xe/fn6/////////+3y/1pltQAJd9be
|
||||||
|
/fv8//////z9/+rw/36I0Bknjs/W+vv8////////////////////////////////////////////////
|
||||||
|
//////f5/8HI7tnf+/X4//7+/////////+/0/3R7xgAAb9ng/Pz9//////////n7/+Ln/dLY+fP2//3+
|
||||||
|
//////////////////////////////////////////////////////3+//r7//v8//7+////////////
|
||||||
|
//b4/7/F84eP0e/0//7+//////////7+//z9//v8//3+////////////////////////////////////
|
||||||
|
//////////////////////////////////////////////////z9//b5//X4//v8////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//////////////////////////////////////////////////////////////////////////w////4
|
||||||
|
P///+D////g8//D4MH/geCB/4Dggf+A4IH/wOCD/+DAB//hgAf//gAP//wAAB/AAAAPwAAAD8AAAA/AA
|
||||||
|
AAfjAAEHgYADAQPgBwEDEAEBAghgAQwIIEH8CCB//Bggf/wYMH/8ODD///h/////////////KAAAABAA
|
||||||
|
AAAgAAAAAQAYAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///+vv/fL1/v///wAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///4+Vx7/F5v///wAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAP///4CHtrS62////////////////////wAAAAAAAAAAAP////H0/vf6/v//
|
||||||
|
/////////4yTwrrB4f///+zw+7rA6P39/////wAAAAAAAAAAAP///56l2BkcguXr/P///////42Uw8jO
|
||||||
|
6P///ysvjWVqtP///////wAAAAAAAAAAAP////D0/0hPpsDG6////////6y02d7k8////3qAx+/z/f//
|
||||||
|
/wAAAAAAAAAAAAAAAAAAAP///////////////8zT8V5ns1Rcrdzh9f///////////wAAAAAAAAAAAAAA
|
||||||
|
AAAAAP////////7+/6ix3nmBxFthtmdwu09WqbC54/v9//r8//j6//39/wAAAAAAAAAAAOjt/H6I0FJc
|
||||||
|
skpSqHF+wRMahFZhs4iT1AsNc1pgrm52v2RsuO/z/gAAAP////////L2/cLJ7rrD64+V4DY+ozU+mYmU
|
||||||
|
0X2Hy1hfss7V8urv/PP2/v///wAAAP///+Pp+d/k9////////+Pp/4uR3ysymW14xYOM0fD0/P///+Xq
|
||||||
|
+ri/6Pj6/wAAAOrv/j5DnbS75P////////////X4/+/0/ubr+/r7/////////9rh+hgZhKGo2QAAAPDz
|
||||||
|
/eLn+f////j6/2Nqttrg9////+Hn+P3+//3+/1hescLJ6/////L2/eru/AAAAAAAAAAAAP///8rR70tR
|
||||||
|
p/3+//v8/zY6jNPY7////09WqWpwu////wAAAAAAAAAAAAAAAAAAAAAAAPb4/vr7//////v8/5Wd1eHm
|
||||||
|
+P////v8//T3/wAAAAAAAAAAAAAAAP//AAD8PwAA/D8AAPwDAACAAwAAgAMAAIAHAADABwAAwAEAAMAB
|
||||||
|
AAAAAQAAAAEAAAABAAAAAQAAwAcAAOAPAAAoAAAAQAAAAIAAAAABABgAAAAAAAAwAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAA////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////////////////////////v7//f7//P3//P3//P3/
|
||||||
|
/f7//v7/////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////////////////////////////////////v7//P3/
|
||||||
|
+fv/+fv/+Pr/+fv/+vv//P3//v//////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////f7/+fr/8/b/7PL/5+3/6e/+9Pf/+vv//v7/////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////P3/9/r/6O7/cXe1UVaet7z17fL/+Pr//f3/////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////+/z/9Pj/4Oj/NzyCUlOd2dz/6O//9Pf//P3/////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////+vv/8vb/2+P9X2OmREGLnqPd
|
||||||
|
4+v/8vb/+/z/////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////+vv/8fb/
|
||||||
|
1N35bXK1JSRtbHGz5O7/8fX/+/z/////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////+vv/8PX/3Ob/U1eaDwtXjZLT4+z/8fX/+/z/////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////+vv/8fb/2eP+MjR6AAA+c3i34Or/8fX/+/z/////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////+vv/8vb/1d/7MS91AAA1UFSS4On/8vb/+/z/////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////+vv/8fb/2OL+NjZ7AAArX2Ok
|
||||||
|
4uz/8fX/+/z/////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////+vv/8fb/
|
||||||
|
2eP/LjJ1DAxKfYTE4Or/8fX/+/z//////////////////////////////v7//v7//f7//f7//v7//v//
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////+vv/8PX/3OX/gILIR0eVeoHC3eb/8fX/+/z//////////////////////v7//P3/+fv/+Pr/
|
||||||
|
+Pr/+Pr/+vv//P3//v7/////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////v7//f7//P3/+vv/+vv/+/z//f3//v7/////////////////////
|
||||||
|
////////////////////////+vv/8PX/2eP9ZWeqHx1obnOz4Or/8fX/+/z//////////////////v7/
|
||||||
|
+/z/9fj/8vb/8PX/7vT/8fb/9fj/+fr//f7/////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////v///P3/+Pr/9fj/9fj/9Pj/9Pf/9vn/+/z//v7/
|
||||||
|
////////////////////////////////////////+vv/8fb/2eP9ODp9AAA5jZDQ5O7/8PX/+/z/////
|
||||||
|
/////////v7/+/z/9Pf/7fP/5u//wsz6j5XfuMDx7fL/9vn//P3/////////////////////////////
|
||||||
|
/////////////////////////////////////////////////////////f7/+Pr/8/b/5+3/2eH/2uP/
|
||||||
|
5u3/7fP/8/b/+vv//f7/////////////////////////////////////+vv/8PX/3ef/U1ebBgVKio/O
|
||||||
|
4uz/8fX/+/z//////////v///P3/9fj/7fP/4uv/hIzZHSWPAABmU1i14ub/9/r/+/z/////////////
|
||||||
|
/////////////////////////////////////////////////////////////////////////P3/9Pf/
|
||||||
|
7/X/09z/TlSzNzWYj5bh5O7/6/L/8vb/+fv//f7/////////////////////////////////+vv/8fX/
|
||||||
|
2eP/QUWIEhBZbnSz3uj/8fb/+/z//////////f7/+Pr/7/T/6PH/iI7cAABvAABqAABncXjK6O//9fj/
|
||||||
|
+/z/////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////+/z/8/f/2uD/Z27EAABnAABiBgl4jJTd5vD/6O//8vX/+fv//f7/////////////////////
|
||||||
|
////////+vv/8fb/2OP/Mjd6AQE6ZGup4er/8fX/+/z/////////+vz/8fX/6/T/xM/8ExyJAABwAABu
|
||||||
|
GySRxc387fT/9ff//P3/////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////+vz/8/f/1Nr/MzqhAABhAxOBAARyBgp5jpLg5Oz/7PP/9Pf/+vz//v7/
|
||||||
|
////////////////////////+vv/8fb/2eP/KCtvBwZOjJHS4Or/8fX/+/z//////f7/9/n/7fP/3+j/
|
||||||
|
UFq3AABtAAZ3BAh6mZ/n5vD/7vP/+Pr//v7/////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////+/z/9Pj/6e//sbb1KzWcAABwBhaBAAFyAgp6fITR
|
||||||
|
1d777/T/+Pr//f7/////////////////////////+vv/8PX/3+j/WF2hBglTnaTj5O3/8PX/+/z/////
|
||||||
|
/P3/9Pf/6vL/k5riAAByAAR0AABrY2vE4ur/6vH/9ff//P3/////////////////////////////////
|
||||||
|
/////////////////////////////////////////////////////////f3/9/n/7fL/5O3/ytX/RU6w
|
||||||
|
AABpAA5+AABuAABnhord6e7/+fv//f7/////////////////////////+vv/7/T/3+j/k5jbT1KdgYjJ
|
||||||
|
3uf+8fX/+/z/////+/z/9fn/4ef/NDqhAABnAABrJjCU0Nn/5/D/8fX/+vv//v7/////////////////
|
||||||
|
/////////////////////////////////////////////////////////////////////////v7/+/z/
|
||||||
|
9vn/7vP/6vP/ztb/O0CmAABpAABrQkuoxMn57PH/+Pr//f7/////////////////////////+vv/8PX/
|
||||||
|
2+X/en/CUFGak5nY3+j/8fX//P3//////P3/9fj/4en/i5DbNT2hIyuTpqzv4uz/7vP/9/n//f7/////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////////v7//P3/9vn/7/P/6vL/ytH/X2i9XWi7wsf/6e//8/f/+Pr//v7/////////////////
|
||||||
|
////////+vv/8PX/3OX/WF2hW1ylvMD+3uf/8PX/+/z//////f7/9vn/7fP/4uj/j5Pgf4LV3+X/6fD/
|
||||||
|
9Pf//P3/////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////////v///P3/+Pr/8vX/7fP/5+//5u7/6vD/8PT/9vn//P3//v7/
|
||||||
|
/////////////////////f7/9/n/7fP/0tz9LDJzNjh/nqTk2uT/7fL/9/n//f7//f7/+fv/8/b/7PL/
|
||||||
|
3eX/zM//5ev/9fj/+fv//v7/////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////////////////v///f3/+vv/9/n/9vn/9fj/9vn/
|
||||||
|
+fr//P3//v7//////////////v///f7/+vv/9vn/7/T/5vD/2Ob/VFubERNdoajk4u//5O7/7vP/9vj/
|
||||||
|
+fr/+vv/+Pr/9fj/9Pj/9fj/9fj/+Pr//P3/////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////////////////////////////////////v///v7/
|
||||||
|
/f7//P3//P3//f3//v7//v///////////////f7/+vz/9vn/8fX/7vT/5O3/3eb/z9n/cHjICxN5d37L
|
||||||
|
z9n/2eP/5O3/6/L/8PT/9Pf/9/n/+vv/+vv/+/z//P3//f3//v7/////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////////////P3/+Pr/8/b/7vT/6vL/z9r+jZjeQUeq
|
||||||
|
IiuQCBN3AAFrBRB8Nj2iUViym6XlydH/4+z/6/L/8PT/9/n/+/z//f7//v//////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////////////////////////f3/9/n/8fX/6/L/3uf/
|
||||||
|
mKTkLzibAABoAAB0Fx+HDBh7FSGDAg16AABYAABlCBB/Ji2UhYza1+D/6PL/7fL/9Pf/+vv//f7/////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////////////////////////////////v7//P3/9/n/
|
||||||
|
8PT/7PT/z9j/XmO+AABtAABcMDSXoajsu8X7VV+5hYzblZ/fTVSxFSKMAABkAABnAAN2Qkmpsbrz5e3/
|
||||||
|
6vH/8fX/+Pr//P3//v//////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////P3/9/n/8PX/7PT/vcn3LTOZAABaAgR1ZWzD0Nf/5vL/1OP/l53lzs3/6fP/4+7/sLzwZ23CBxSD
|
||||||
|
AABnAABlHiaSmqHo3+j/5+//7/T/9vn//P3//v7/////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////////////////////////////////////////v7/
|
||||||
|
/v7//v7//v7//f7/+/z/9vj/7vP/7PX/tcLzEBeGAABkPEWlqLPt2eX/4e7/3On/uMX1gofVe3vPhYzY
|
||||||
|
z93+5/X/4e3/lJ3gHiOPAABtAABqChiEbHLIytD/5/D/7PL/8/f/+Pr/+fr/+Pr/+Pr/+Pr/+Pr/+Pr/
|
||||||
|
+Pr/+fv/+vv/+/z//f7//v7/////////////////////////////////////////////////////////
|
||||||
|
/v7//f7/+/z/+fv/9/n/9vj/9fj/9Pf/8fX/7PL/4uv/l6HgDhF7AAN4iZDe0d7/3uz/4vD/w83/VVm3
|
||||||
|
ICiSAAFyAABlAABwaHTD1N//2un/3er/w838ZW3BEyOJJzKVAQ16NDmfwsn75fD/5u7/7PL/7vP/7fP/
|
||||||
|
7fP/7fL/7fP/7vP/7/T/8fb/9Pj/9vn/+fr//f3//v//////////////////////////////////////
|
||||||
|
/////////////v7//P3/+Pr/9Pf/8fX/7vT/7PL/6/L/6fH/5u7/6vX/tsD0CQx4AAFwkZvi7ff/4vD/
|
||||||
|
4fD/z9j/OkGlAABiAABwBxWAAAt7BBN+P0uofYLUztb/4O7/6fb/6fP/qa7xQkyoBg56AABqMjugx8/+
|
||||||
|
5fH/4Ov/4On/3uj/3eb/3+j/3uj/1+L/0d3/1d7/3+f/7fL/9vj/+vz//v7/////////////////////
|
||||||
|
/////////////////////////////f7/+fr/8/f/6/L/2d//v8j6vcf5ucP1wMv8wM3+vMj6PkqoAABo
|
||||||
|
UF25usP7tsPyvsr6sLrwQ0utAABqAAV1OUameIDRKDWZAAd2GyeOLDecmaHntsL0pbLom6riq7LzUlu0
|
||||||
|
AANzBhR/AAZ0NT+ja3bBY2i/XGG6UViyWl65XGG7XGC6TVWvQU6pPkalODygqK7p8vb/+vz//v7/////
|
||||||
|
/////////////////////////////////////////////P3/9/n/7/T/wcj2R0ysExeFERmGDxuIFB6K
|
||||||
|
FBqICxSEAABsAAByDBiDCRSBBRCADhaFCRODAAh4AxF/AAl4CxeDHSaPAAp6AAN0AA19AAd3CBOBEBqH
|
||||||
|
BhGBAAh5AABwAAByAAh5BhSCAxWCAABsAABvAABlAABnAABxAABjAABmAABhAABdAABYAABhCAt/q7Lr
|
||||||
|
8/f/+vv//v7//////////////////////////////////////////////////P3/+fv/3uT/SE2vAABn
|
||||||
|
CBB/GiCMLzmfLTWcGByJFRyKGCOOMj2gHymRDxiGGyOPLDCXBRF/AAh3BhaCEyKMICqTKC2WNDqfIzCV
|
||||||
|
Awx6Eh+JHiaPAAR3AAZ5CxSDICWQX2q7Q1CqAA1+AAFxDxuHiZTbVGC4dHnQnabrTVqzY23EUV62Slau
|
||||||
|
LjaZXWm9sLjz5ez/9vn/+fv//v7//////////////////////////////////////////////////P3/
|
||||||
|
+Pv/4+n+e4LPfoPVpqv2vsf/zNX/zdb/xtH/v8v8pK7spKfysLb3vcr4ws784ej/hI/YAAZ1AAJzVF25
|
||||||
|
yM//3Of/5+//i5LcAABpMzyfp6vxoKznlqHhqbbtx9H/8fz/kpvfAABiAABph4zc5PD/2OP/193/3un/
|
||||||
|
1+D/2OH/1+D/0Nr/zNL/3+j/6/L/7/T/9vn//P3//v//////////////////////////////////////
|
||||||
|
/////////////f7/+Pr/9Pf/6vD/5u3/3+b/4uv/6PD/5+//5O3/5/P/sL3sXmS7mZzoz9f/3+z/4e//
|
||||||
|
mKLiEiKKCBF/KTWZr7T06/f/3ev/VF2zChSBipPcz9v+4u7/3ur/3ev/5/X/qrPrISmSDRJ2Xmq/3ur/
|
||||||
|
4uv/6vH/7fP/7fL/7/T/7vP/7fP/7fP/8PX/8fX/9Pf/+Pr/+/z//v7/////////////////////////
|
||||||
|
/////////////////////////////v7//P3/+Pr/9vn/9Pf/8vb/8vb/8/b/9Pf/7/T/6/L/tL/ubXLH
|
||||||
|
en/Ti43gqavy0t3/nafjMj6fJzaaAAV1GyeOYmW7Nz6fAABgNj6i1N//3uz/2uX/3Oj/5PH/wcj7FR2J
|
||||||
|
AAN0gong0tr/6fH/7/P/9vj/+Pr/+fv/+fv/+Pr/+Pr/+Pr/+fv/+vv//P3//f7//v//////////////
|
||||||
|
/////////////////////////////////////////////////v7//f7//P3/+/z/+/z/+/z//f3//f7/
|
||||||
|
+fv/8fX/5Oz/jpbfc3jObnXLcXfOk5rks7b4iY3dR1KvDhuEAABoAABlEBV9U12ytcD13Or/3en/3ej/
|
||||||
|
1eL/q7fvGR+MKDKZbnnNxc/76PD/8fX/+fr//f7//v///////v7//f7//f3//P3//f3//f7//v//////
|
||||||
|
/////////////////////////////////////////////////////v7//f7//P3//P3//f7//v7/////
|
||||||
|
/////////////////f7/9vn/7/T/yNH5lJrleoDVmZ3pmpzpc3nPfoTWf4bYVFy3HSaLZ3PGsrb8v8r8
|
||||||
|
y9n9q7jre4LRf4fUgIvXAwZ1AABrhYjb0NX/6PH/8PX/+Pr//f7//////////v///f3/+vv/+Pr/9/r/
|
||||||
|
9/n/+Pr/+/z//f7//v7//////////////////////////////////////v///f7/+/z/+fr/9vj/9/n/
|
||||||
|
+vz/+vv/+/z//v7//////////////////v7/+vz/8/f/7PL/2uT/t8H1srP6vcH+nKTnSlOxV2C7TVaz
|
||||||
|
WGS8QUqmSlSuSFOtR1GtbXTKVl23ARB5AAh2AABnd33P3eP/4ur/7/T/9/n//P3//////////////P3/
|
||||||
|
9/n/8vb/7PH/6fD/7PL/7vP/8vb/9vn/+/z//f7//////////////////////////////v7/+/z/+Pr/
|
||||||
|
8/b/7/T/8Pb/6vH/3eP97vL++fr//P3//////////////////////f7/+vv/9fj/7/T/5+//z9f+t7v4
|
||||||
|
uLn9Z2zFLzucFCGIMz6gGCCMAAd4AAl2Dx2EER+GXWK8c3XLKzKXd4LP4er/6/L/8PX/9/n//P3//v//
|
||||||
|
/////////v7/+fv/8/b/7PP/y9H/i4/erLbt4er/5e3/7fP/8/b/+fv//f3//v7/////////////////
|
||||||
|
/v7/+/z/9vj/8PT/6/L/3+n/x9H9aHTAZGvG3+b9+Pr/+/z//////////////////////////v7/+/z/
|
||||||
|
+Pr/8vb/6/H/3OX+wMn4maDmdHrPWGG6T1a1eoHWcHfOTlayUlq1SlKubHjAxMj/0dn/4+v/7PL/8vb/
|
||||||
|
+Pr//P3//v7//////////////f7/+fr/7vP/xsv5YGXAHymRKjKYYWS9rbLz4u3/6/P/8vb/+fr//f7/
|
||||||
|
/////////////v//+/z/9vj/7fL/5e3/xs7/Y23BIiiSAABeLTab3+b/9/r/+/z/////////////////
|
||||||
|
/////////////////f7/+vz/9vj/8PX/6vH/3eb/ydL8xM/6uMPyt733w8j/zNb/1Nz/3OT/4uz/5u7/
|
||||||
|
7fP/8vb/9vj/+vz//f7//////////////////////f7/+fv/7vP/jpHiAAJ1CxaBER6GAABoFRmGbXbH
|
||||||
|
0Nf/7PL/9fj//P3//////////////v7/+fv/8/f/4Of/hYvbKDGZAABuAABdAAZyi5La5+7/9vn/+/z/
|
||||||
|
/////////////////////////////////////v7//P3/+fv/9ff/8vb/7/X/7fP/6/L/5u3/5ez/6fD/
|
||||||
|
7PP/7/T/8fX/9Pf/9/n/+vv//P3//v7//v///////////////////////v7/+fv/8fb/2eH9fIbQExqH
|
||||||
|
AABrAAp6AAFyAABwS0+uztX39vn/+vz//////////////f7/+Pr/8ff/qbLpAABrAABhAABwDBWAfobX
|
||||||
|
5e3/8PX/9vn//f3//////////v///f7/+/z/+vv/+vv/+vz//P3//v7//v///v7//P3/+vz/+Pr/9/n/
|
||||||
|
9vj/9vj/9vj/9vj/9/n/+fr/+/z//P3//f7//v7//f7//P3/+/z/+vz/+/z//P3//v7//////v7/+/z/
|
||||||
|
9fj/7/T/5/H/uML1U1e1AAh5AABuAABvMjmdv8bz9vr/+vv//////////////f7/+fv/7/T/iY7aDxSA
|
||||||
|
GiONa3XHsr7w4Oj/6/H/9Pf/+vz//v7//////v///P3/+Pr/9Pf/8/f/9fj/9fj/9vn/+/z//v7/////
|
||||||
|
/////////v7//f7//P3/+/z/+/z//P3//f7//v///////////////v7/+/z/9/n/9vn/9vn/9Pj/9vn/
|
||||||
|
+/z//v7//////f7/+vz/9fj/7/T/6vL/3ef/i5PbGRqJBQl5jJbZ6vH/9Pj/+/z//////////////f7/
|
||||||
|
+fv/8fT/1Nn9t7/0wcr54er/7fT/8fX/9fj/+vv//f7//////////f3/+Pr/8PT/6/L/3uX/ztb/5Or/
|
||||||
|
8/f/+Pr//f7//////////////f7/+vz/+Pr/+fv/+fv/+vv//f3//v///////////////P3/9/n/7vL/
|
||||||
|
193/ztf/5u3/7vP/9Pf/+/z//v7//////v7//P3/+Pr/8fX/7PP/5/D/sLfxoKnk4+r/8vf/9/n//f3/
|
||||||
|
/////////////v7/+/z/9vn/9Pf/8vb/8fb/8fX/9Pf/+Pr//P3//v7//////////v7/+vv/8vb/5+7/
|
||||||
|
y9H/WWO9KSmSkZXj6vD/+Pv//P3//////////f7/+Pr/9fj/8vb/6O7/7vP/9fj/+Pr//f7/////////
|
||||||
|
/v//+vv/8vb/7PP/hYraKiqKlp7i6PD/7fP/9ff/+/z//v7//////////f7/+vv/9ff/8fX/8PX/8vb/
|
||||||
|
8/f/9vn/+/z//v7//////////////////f7/+/z/+vv/+fr/+fr/+vv//P3//v7/////////////////
|
||||||
|
/P3/9fj/7PL/1d7/RUysAABhAABlg4ja6/D/+Pr//P3/////////+/z/9fj/6e7/2eD/h4/bnaXg7PH/
|
||||||
|
9fj/+/z//////////v7/+Pr/8PX/y9X1JDGVAABaERWDoKnp6PH/7vP/9/n//P3//////////////v7/
|
||||||
|
/P3/+vv/+fv/+fv/+vv//P3//v7//////////////////////////v7//v7//v7//v7//v//////////
|
||||||
|
/////////////v7/+fv/8PX/7PX/ipPdAABsAABlQ1Cp3Ob/7vP/9/n//f7/////////+fv/9Pj/yNH5
|
||||||
|
Ule2DBJ8Ljie0df+8fb/+fv//v7//////v7/+Pr/7/X/hY3YAABxAAl7AABuEBaEs7nz6fH/8fX/+vv/
|
||||||
|
/v7//////////////////v///v7//v7//v7/////////////////////////////////////////////
|
||||||
|
/////////////////////////////f3/9vn/7PL/0tn/LzidAQFsAAB0iZHb6vP/8PT/+fv//v//////
|
||||||
|
/v7/+Pr/8vf/r7rqAAV4AABdPUen1N//7PL/9vn//f7//////v7/+fr/7/T/yc75S1G0AABrARKAAABp
|
||||||
|
Qker0df/7fP/9/n//f7/////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////////P3/9/n/5+7/cXXNAAd2AABuMDebzdT97PL/
|
||||||
|
9vj//P3//////////v7/9/n/7/X/tL/uFCCLAABqHSqRvcf46fD/9Pf//f3/////////+vv/8vX/6vH/
|
||||||
|
yM3+JC2XAABtAAV2Agx9q7Ly7vT/9vn//f7/////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////////////////////////P3/9/r/4uj/WWO1AAVx
|
||||||
|
KTaYu8T07fT/8vb/+vv//v7//////////v7/9/n/7vX/vsn1Iy2SAABrAQ99mp/o6PD/9Pf//P3/////
|
||||||
|
/////P3/9/n/7vP/6fL/s7z2DBB/AABeQ0uttrr56e7/+Pr//f7/////////////////////////////
|
||||||
|
/////////////////////////////////////////////////////////////////////////////P3/
|
||||||
|
+fv/4ef6g4zNbXfFw8v27fT/8vb/+Pr//f3//////////////v7/9/n/7vT/yNL7MjucAABtBxF/nKLo
|
||||||
|
6fH/9Pf//P3//////////v7/+/z/9fj/7fL/6/T/jZXbLzScrrP14en/7fL/+fv//v7/////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////////f7/+vz/8PP91dr34+f/8vb/8/f/9/r//P3//v///////////////v7/+Pr/8PX/1N3/
|
||||||
|
QUqmAQRxBQ98m6Dm7PL/9fj//P3//////////////v7/+/z/9ff/8PX/5ez/ytH94ej/8vb/9vj/+/z/
|
||||||
|
/v7/////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////v7//P3/+vz/+fv/+Pr/+Pr/+vv//f3//v//////////////////
|
||||||
|
/v//+fv/9Pf/2+L/SVGtAABsLTaZytL58fX/9/n//f7//////////////////v7/+/z/9/n/9fj/9vn/
|
||||||
|
9fj/9vj/+vz//f7/////////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////////////v7//f7//f3//f3//f3//v7//v//////
|
||||||
|
////////////////////+/z/9vn/6e//mZ7gTVarr7bp6/H/9fj/+vv//v7/////////////////////
|
||||||
|
/v7//f7/+/z/+/z/+/z//P3//v7/////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////f3/+Pr/9fj/6e7/4+n/8fb/9Pf/+Pr//f3/////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////////////////v7//P3/+fv/+fv/+vv/+Pr/+vv/
|
||||||
|
/P3//v7/////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////////////////////////////////////v7//f7/
|
||||||
|
/f3//P3//f7//v7//v//////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
///////4D/////////AH////////8Af////////wB/////////AH////////8Af////////wB///////
|
||||||
|
//AH////////8Af////////wB/////////AH////////8AfwP//////wB8Af//+Af/AHgB///wA/8AcA
|
||||||
|
H///AB/wBgAf//8AD/AGAB///wAH8AYAH///AAPwBAAf//8AA/AEAD///wAD8AQAP///AAPwBAB///+A
|
||||||
|
A/AEAP///8AD4AAA////4AcAAAH////wDgAAAf/////8AAAH//////gAAAf/////4AAAAf/////gAAAA
|
||||||
|
////+AAAAAAAD//AAAAAAAAH/4AAAAAAAAf/gAAAAAAAB/+AAAAAAAAH/4AAAAAAAAf/gAAAAAAAB/+A
|
||||||
|
AAAAAAAP/4AAAAAAAB//wAAAAABAf/4HwAAAAYAf8APAAAADgA/gA+AAAAMAA8AD8AAABwADgAP8AAAf
|
||||||
|
AAOAA/4AAB8AA4ADAAAAAQADgAIAcA4AgAOABgBwDgBAA4AMAGAMADADwDwAYAwAOAfg+ABgBAAeH//4
|
||||||
|
AEAEAB////gAwAYAH///+ADABgAf///4AcAGAB////gBwAcAH///+APAB4A////8B+AHwH//////4A//
|
||||||
|
///////gD/////////Af//////////////8=
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
757
CodeWalker/Project/Panels/EditAudioZonePanel.Designer.cs
generated
757
CodeWalker/Project/Panels/EditAudioZonePanel.Designer.cs
generated
@ -1,757 +0,0 @@
|
|||||||
namespace CodeWalker.Project.Panels
|
|
||||||
{
|
|
||||||
partial class EditAudioZonePanel
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Required designer variable.
|
|
||||||
/// </summary>
|
|
||||||
private System.ComponentModel.IContainer components = null;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Clean up any resources being used.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
|
||||||
protected override void Dispose(bool disposing)
|
|
||||||
{
|
|
||||||
if (disposing && (components != null))
|
|
||||||
{
|
|
||||||
components.Dispose();
|
|
||||||
}
|
|
||||||
base.Dispose(disposing);
|
|
||||||
}
|
|
||||||
|
|
||||||
#region Windows Form Designer generated code
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Required method for Designer support - do not modify
|
|
||||||
/// the contents of this method with the code editor.
|
|
||||||
/// </summary>
|
|
||||||
private void InitializeComponent()
|
|
||||||
{
|
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditAudioZonePanel));
|
|
||||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
|
||||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
|
||||||
this.label22 = new System.Windows.Forms.Label();
|
|
||||||
this.UnkBytesTextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.DeleteButton = new System.Windows.Forms.Button();
|
|
||||||
this.AddToProjectButton = new System.Windows.Forms.Button();
|
|
||||||
this.label21 = new System.Windows.Forms.Label();
|
|
||||||
this.Unk13TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label20 = new System.Windows.Forms.Label();
|
|
||||||
this.DependentAmbiencesTextBox = new CodeWalker.WinForms.TextBoxFix();
|
|
||||||
this.label19 = new System.Windows.Forms.Label();
|
|
||||||
this.label15 = new System.Windows.Forms.Label();
|
|
||||||
this.UnkVec3TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label17 = new System.Windows.Forms.Label();
|
|
||||||
this.UnkVec2TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label18 = new System.Windows.Forms.Label();
|
|
||||||
this.UnkVec1TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.HashesTextBox = new CodeWalker.WinForms.TextBoxFix();
|
|
||||||
this.label14 = new System.Windows.Forms.Label();
|
|
||||||
this.Flags1TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label13 = new System.Windows.Forms.Label();
|
|
||||||
this.Flags0TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.ShapeComboBox = new System.Windows.Forms.ComboBox();
|
|
||||||
this.label23 = new System.Windows.Forms.Label();
|
|
||||||
this.label12 = new System.Windows.Forms.Label();
|
|
||||||
this.NameTextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label6 = new System.Windows.Forms.Label();
|
|
||||||
this.OuterVec3TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label7 = new System.Windows.Forms.Label();
|
|
||||||
this.OuterVec2TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label8 = new System.Windows.Forms.Label();
|
|
||||||
this.OuterVec1TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label9 = new System.Windows.Forms.Label();
|
|
||||||
this.OuterAngleTextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label10 = new System.Windows.Forms.Label();
|
|
||||||
this.OuterSizeTextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label11 = new System.Windows.Forms.Label();
|
|
||||||
this.OuterPosTextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label5 = new System.Windows.Forms.Label();
|
|
||||||
this.InnerVec3TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label4 = new System.Windows.Forms.Label();
|
|
||||||
this.InnerVec2TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
|
||||||
this.InnerVec1TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
|
||||||
this.InnerAngleTextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
|
||||||
this.InnerSizeTextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label16 = new System.Windows.Forms.Label();
|
|
||||||
this.InnerPosTextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.GoToButton = new System.Windows.Forms.Button();
|
|
||||||
this.label24 = new System.Windows.Forms.Label();
|
|
||||||
this.Hash0TextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.label25 = new System.Windows.Forms.Label();
|
|
||||||
this.SceneTextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.tabControl1.SuspendLayout();
|
|
||||||
this.tabPage1.SuspendLayout();
|
|
||||||
this.SuspendLayout();
|
|
||||||
//
|
|
||||||
// tabControl1
|
|
||||||
//
|
|
||||||
this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.tabControl1.Controls.Add(this.tabPage1);
|
|
||||||
this.tabControl1.Location = new System.Drawing.Point(2, 3);
|
|
||||||
this.tabControl1.Name = "tabControl1";
|
|
||||||
this.tabControl1.SelectedIndex = 0;
|
|
||||||
this.tabControl1.Size = new System.Drawing.Size(559, 447);
|
|
||||||
this.tabControl1.TabIndex = 17;
|
|
||||||
//
|
|
||||||
// tabPage1
|
|
||||||
//
|
|
||||||
this.tabPage1.Controls.Add(this.label25);
|
|
||||||
this.tabPage1.Controls.Add(this.SceneTextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label24);
|
|
||||||
this.tabPage1.Controls.Add(this.Hash0TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label22);
|
|
||||||
this.tabPage1.Controls.Add(this.UnkBytesTextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.DeleteButton);
|
|
||||||
this.tabPage1.Controls.Add(this.AddToProjectButton);
|
|
||||||
this.tabPage1.Controls.Add(this.label21);
|
|
||||||
this.tabPage1.Controls.Add(this.Unk13TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label20);
|
|
||||||
this.tabPage1.Controls.Add(this.DependentAmbiencesTextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label19);
|
|
||||||
this.tabPage1.Controls.Add(this.label15);
|
|
||||||
this.tabPage1.Controls.Add(this.UnkVec3TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label17);
|
|
||||||
this.tabPage1.Controls.Add(this.UnkVec2TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label18);
|
|
||||||
this.tabPage1.Controls.Add(this.UnkVec1TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.HashesTextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label14);
|
|
||||||
this.tabPage1.Controls.Add(this.Flags1TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label13);
|
|
||||||
this.tabPage1.Controls.Add(this.Flags0TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.ShapeComboBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label23);
|
|
||||||
this.tabPage1.Controls.Add(this.label12);
|
|
||||||
this.tabPage1.Controls.Add(this.NameTextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label6);
|
|
||||||
this.tabPage1.Controls.Add(this.OuterVec3TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label7);
|
|
||||||
this.tabPage1.Controls.Add(this.OuterVec2TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label8);
|
|
||||||
this.tabPage1.Controls.Add(this.OuterVec1TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label9);
|
|
||||||
this.tabPage1.Controls.Add(this.OuterAngleTextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label10);
|
|
||||||
this.tabPage1.Controls.Add(this.OuterSizeTextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label11);
|
|
||||||
this.tabPage1.Controls.Add(this.OuterPosTextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label5);
|
|
||||||
this.tabPage1.Controls.Add(this.InnerVec3TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label4);
|
|
||||||
this.tabPage1.Controls.Add(this.InnerVec2TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label3);
|
|
||||||
this.tabPage1.Controls.Add(this.InnerVec1TextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label2);
|
|
||||||
this.tabPage1.Controls.Add(this.InnerAngleTextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label1);
|
|
||||||
this.tabPage1.Controls.Add(this.InnerSizeTextBox);
|
|
||||||
this.tabPage1.Controls.Add(this.label16);
|
|
||||||
this.tabPage1.Controls.Add(this.InnerPosTextBox);
|
|
||||||
this.tabPage1.Location = new System.Drawing.Point(4, 22);
|
|
||||||
this.tabPage1.Name = "tabPage1";
|
|
||||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
|
||||||
this.tabPage1.Size = new System.Drawing.Size(551, 421);
|
|
||||||
this.tabPage1.TabIndex = 0;
|
|
||||||
this.tabPage1.Text = "Ambient Zone";
|
|
||||||
this.tabPage1.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// label22
|
|
||||||
//
|
|
||||||
this.label22.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.label22.AutoSize = true;
|
|
||||||
this.label22.Location = new System.Drawing.Point(327, 34);
|
|
||||||
this.label22.Name = "label22";
|
|
||||||
this.label22.Size = new System.Drawing.Size(58, 13);
|
|
||||||
this.label22.TabIndex = 64;
|
|
||||||
this.label22.Text = "Unk bytes:";
|
|
||||||
//
|
|
||||||
// UnkBytesTextBox
|
|
||||||
//
|
|
||||||
this.UnkBytesTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.UnkBytesTextBox.Location = new System.Drawing.Point(390, 31);
|
|
||||||
this.UnkBytesTextBox.Name = "UnkBytesTextBox";
|
|
||||||
this.UnkBytesTextBox.Size = new System.Drawing.Size(155, 20);
|
|
||||||
this.UnkBytesTextBox.TabIndex = 65;
|
|
||||||
this.UnkBytesTextBox.TextChanged += new System.EventHandler(this.UnkBytesTextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// DeleteButton
|
|
||||||
//
|
|
||||||
this.DeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.DeleteButton.Location = new System.Drawing.Point(343, 3);
|
|
||||||
this.DeleteButton.Name = "DeleteButton";
|
|
||||||
this.DeleteButton.Size = new System.Drawing.Size(93, 23);
|
|
||||||
this.DeleteButton.TabIndex = 81;
|
|
||||||
this.DeleteButton.Text = "Delete zone";
|
|
||||||
this.DeleteButton.UseVisualStyleBackColor = true;
|
|
||||||
this.DeleteButton.Click += new System.EventHandler(this.DeleteButton_Click);
|
|
||||||
//
|
|
||||||
// AddToProjectButton
|
|
||||||
//
|
|
||||||
this.AddToProjectButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.AddToProjectButton.Location = new System.Drawing.Point(452, 3);
|
|
||||||
this.AddToProjectButton.Name = "AddToProjectButton";
|
|
||||||
this.AddToProjectButton.Size = new System.Drawing.Size(93, 23);
|
|
||||||
this.AddToProjectButton.TabIndex = 80;
|
|
||||||
this.AddToProjectButton.Text = "Add to project";
|
|
||||||
this.AddToProjectButton.UseVisualStyleBackColor = true;
|
|
||||||
this.AddToProjectButton.Click += new System.EventHandler(this.AddToProjectButton_Click);
|
|
||||||
//
|
|
||||||
// label21
|
|
||||||
//
|
|
||||||
this.label21.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.label21.AutoSize = true;
|
|
||||||
this.label21.Location = new System.Drawing.Point(340, 106);
|
|
||||||
this.label21.Name = "label21";
|
|
||||||
this.label21.Size = new System.Drawing.Size(44, 13);
|
|
||||||
this.label21.TabIndex = 70;
|
|
||||||
this.label21.Text = "Unk13:";
|
|
||||||
//
|
|
||||||
// Unk13TextBox
|
|
||||||
//
|
|
||||||
this.Unk13TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.Unk13TextBox.Location = new System.Drawing.Point(390, 103);
|
|
||||||
this.Unk13TextBox.Name = "Unk13TextBox";
|
|
||||||
this.Unk13TextBox.Size = new System.Drawing.Size(155, 20);
|
|
||||||
this.Unk13TextBox.TabIndex = 71;
|
|
||||||
this.Unk13TextBox.TextChanged += new System.EventHandler(this.Unk13TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label20
|
|
||||||
//
|
|
||||||
this.label20.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.label20.AutoSize = true;
|
|
||||||
this.label20.Location = new System.Drawing.Point(340, 303);
|
|
||||||
this.label20.Name = "label20";
|
|
||||||
this.label20.Size = new System.Drawing.Size(193, 13);
|
|
||||||
this.label20.TabIndex = 78;
|
|
||||||
this.label20.Text = "Ext params: Name (hash), Value (float)";
|
|
||||||
//
|
|
||||||
// DependentAmbiencesTextBox
|
|
||||||
//
|
|
||||||
this.DependentAmbiencesTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.DependentAmbiencesTextBox.Location = new System.Drawing.Point(335, 319);
|
|
||||||
this.DependentAmbiencesTextBox.Multiline = true;
|
|
||||||
this.DependentAmbiencesTextBox.Name = "DependentAmbiencesTextBox";
|
|
||||||
this.DependentAmbiencesTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
|
||||||
this.DependentAmbiencesTextBox.Size = new System.Drawing.Size(209, 92);
|
|
||||||
this.DependentAmbiencesTextBox.TabIndex = 79;
|
|
||||||
this.DependentAmbiencesTextBox.WordWrap = false;
|
|
||||||
this.DependentAmbiencesTextBox.TextChanged += new System.EventHandler(this.DependentAmbiencesTextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label19
|
|
||||||
//
|
|
||||||
this.label19.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.label19.AutoSize = true;
|
|
||||||
this.label19.Location = new System.Drawing.Point(340, 183);
|
|
||||||
this.label19.Name = "label19";
|
|
||||||
this.label19.Size = new System.Drawing.Size(46, 13);
|
|
||||||
this.label19.TabIndex = 76;
|
|
||||||
this.label19.Text = "Hashes:";
|
|
||||||
//
|
|
||||||
// label15
|
|
||||||
//
|
|
||||||
this.label15.AutoSize = true;
|
|
||||||
this.label15.Location = new System.Drawing.Point(7, 394);
|
|
||||||
this.label15.Name = "label15";
|
|
||||||
this.label15.Size = new System.Drawing.Size(60, 13);
|
|
||||||
this.label15.TabIndex = 62;
|
|
||||||
this.label15.Text = "Unk vec 3:";
|
|
||||||
//
|
|
||||||
// UnkVec3TextBox
|
|
||||||
//
|
|
||||||
this.UnkVec3TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.UnkVec3TextBox.Location = new System.Drawing.Point(84, 391);
|
|
||||||
this.UnkVec3TextBox.Name = "UnkVec3TextBox";
|
|
||||||
this.UnkVec3TextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.UnkVec3TextBox.TabIndex = 63;
|
|
||||||
this.UnkVec3TextBox.TextChanged += new System.EventHandler(this.UnkVec3TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label17
|
|
||||||
//
|
|
||||||
this.label17.AutoSize = true;
|
|
||||||
this.label17.Location = new System.Drawing.Point(7, 370);
|
|
||||||
this.label17.Name = "label17";
|
|
||||||
this.label17.Size = new System.Drawing.Size(60, 13);
|
|
||||||
this.label17.TabIndex = 60;
|
|
||||||
this.label17.Text = "Unk vec 2:";
|
|
||||||
//
|
|
||||||
// UnkVec2TextBox
|
|
||||||
//
|
|
||||||
this.UnkVec2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.UnkVec2TextBox.Location = new System.Drawing.Point(84, 367);
|
|
||||||
this.UnkVec2TextBox.Name = "UnkVec2TextBox";
|
|
||||||
this.UnkVec2TextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.UnkVec2TextBox.TabIndex = 61;
|
|
||||||
this.UnkVec2TextBox.TextChanged += new System.EventHandler(this.UnkVec2TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label18
|
|
||||||
//
|
|
||||||
this.label18.AutoSize = true;
|
|
||||||
this.label18.Location = new System.Drawing.Point(7, 346);
|
|
||||||
this.label18.Name = "label18";
|
|
||||||
this.label18.Size = new System.Drawing.Size(60, 13);
|
|
||||||
this.label18.TabIndex = 58;
|
|
||||||
this.label18.Text = "Unk vec 1:";
|
|
||||||
//
|
|
||||||
// UnkVec1TextBox
|
|
||||||
//
|
|
||||||
this.UnkVec1TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.UnkVec1TextBox.Location = new System.Drawing.Point(84, 343);
|
|
||||||
this.UnkVec1TextBox.Name = "UnkVec1TextBox";
|
|
||||||
this.UnkVec1TextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.UnkVec1TextBox.TabIndex = 59;
|
|
||||||
this.UnkVec1TextBox.TextChanged += new System.EventHandler(this.UnkVec1TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// HashesTextBox
|
|
||||||
//
|
|
||||||
this.HashesTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.HashesTextBox.Location = new System.Drawing.Point(335, 199);
|
|
||||||
this.HashesTextBox.Multiline = true;
|
|
||||||
this.HashesTextBox.Name = "HashesTextBox";
|
|
||||||
this.HashesTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
|
||||||
this.HashesTextBox.Size = new System.Drawing.Size(209, 92);
|
|
||||||
this.HashesTextBox.TabIndex = 77;
|
|
||||||
this.HashesTextBox.WordWrap = false;
|
|
||||||
this.HashesTextBox.TextChanged += new System.EventHandler(this.HashesTextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label14
|
|
||||||
//
|
|
||||||
this.label14.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.label14.AutoSize = true;
|
|
||||||
this.label14.Location = new System.Drawing.Point(340, 82);
|
|
||||||
this.label14.Name = "label14";
|
|
||||||
this.label14.Size = new System.Drawing.Size(44, 13);
|
|
||||||
this.label14.TabIndex = 68;
|
|
||||||
this.label14.Text = "Flags 1:";
|
|
||||||
//
|
|
||||||
// Flags1TextBox
|
|
||||||
//
|
|
||||||
this.Flags1TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.Flags1TextBox.Location = new System.Drawing.Point(390, 79);
|
|
||||||
this.Flags1TextBox.Name = "Flags1TextBox";
|
|
||||||
this.Flags1TextBox.Size = new System.Drawing.Size(155, 20);
|
|
||||||
this.Flags1TextBox.TabIndex = 69;
|
|
||||||
this.Flags1TextBox.TextChanged += new System.EventHandler(this.Flags1TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label13
|
|
||||||
//
|
|
||||||
this.label13.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.label13.AutoSize = true;
|
|
||||||
this.label13.Location = new System.Drawing.Point(340, 58);
|
|
||||||
this.label13.Name = "label13";
|
|
||||||
this.label13.Size = new System.Drawing.Size(44, 13);
|
|
||||||
this.label13.TabIndex = 66;
|
|
||||||
this.label13.Text = "Flags 0:";
|
|
||||||
//
|
|
||||||
// Flags0TextBox
|
|
||||||
//
|
|
||||||
this.Flags0TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.Flags0TextBox.Location = new System.Drawing.Point(390, 55);
|
|
||||||
this.Flags0TextBox.Name = "Flags0TextBox";
|
|
||||||
this.Flags0TextBox.Size = new System.Drawing.Size(155, 20);
|
|
||||||
this.Flags0TextBox.TabIndex = 67;
|
|
||||||
this.Flags0TextBox.TextChanged += new System.EventHandler(this.Flags0TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// ShapeComboBox
|
|
||||||
//
|
|
||||||
this.ShapeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.ShapeComboBox.FormattingEnabled = true;
|
|
||||||
this.ShapeComboBox.Items.AddRange(new object[] {
|
|
||||||
"Box",
|
|
||||||
"Line",
|
|
||||||
"Sphere"});
|
|
||||||
this.ShapeComboBox.Location = new System.Drawing.Point(84, 30);
|
|
||||||
this.ShapeComboBox.Name = "ShapeComboBox";
|
|
||||||
this.ShapeComboBox.Size = new System.Drawing.Size(151, 21);
|
|
||||||
this.ShapeComboBox.TabIndex = 33;
|
|
||||||
this.ShapeComboBox.SelectedIndexChanged += new System.EventHandler(this.ShapeComboBox_SelectedIndexChanged);
|
|
||||||
//
|
|
||||||
// label23
|
|
||||||
//
|
|
||||||
this.label23.AutoSize = true;
|
|
||||||
this.label23.Location = new System.Drawing.Point(7, 33);
|
|
||||||
this.label23.Name = "label23";
|
|
||||||
this.label23.Size = new System.Drawing.Size(41, 13);
|
|
||||||
this.label23.TabIndex = 32;
|
|
||||||
this.label23.Text = "Shape:";
|
|
||||||
//
|
|
||||||
// label12
|
|
||||||
//
|
|
||||||
this.label12.AutoSize = true;
|
|
||||||
this.label12.Location = new System.Drawing.Point(7, 9);
|
|
||||||
this.label12.Name = "label12";
|
|
||||||
this.label12.Size = new System.Drawing.Size(64, 13);
|
|
||||||
this.label12.TabIndex = 29;
|
|
||||||
this.label12.Text = "Name hash:";
|
|
||||||
//
|
|
||||||
// NameTextBox
|
|
||||||
//
|
|
||||||
this.NameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.NameTextBox.Location = new System.Drawing.Point(84, 6);
|
|
||||||
this.NameTextBox.Name = "NameTextBox";
|
|
||||||
this.NameTextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.NameTextBox.TabIndex = 30;
|
|
||||||
this.NameTextBox.TextChanged += new System.EventHandler(this.NameTextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label6
|
|
||||||
//
|
|
||||||
this.label6.AutoSize = true;
|
|
||||||
this.label6.Location = new System.Drawing.Point(7, 322);
|
|
||||||
this.label6.Name = "label6";
|
|
||||||
this.label6.Size = new System.Drawing.Size(66, 13);
|
|
||||||
this.label6.TabIndex = 56;
|
|
||||||
this.label6.Text = "Outer vec 3:";
|
|
||||||
//
|
|
||||||
// OuterVec3TextBox
|
|
||||||
//
|
|
||||||
this.OuterVec3TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.OuterVec3TextBox.Location = new System.Drawing.Point(84, 319);
|
|
||||||
this.OuterVec3TextBox.Name = "OuterVec3TextBox";
|
|
||||||
this.OuterVec3TextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.OuterVec3TextBox.TabIndex = 57;
|
|
||||||
this.OuterVec3TextBox.TextChanged += new System.EventHandler(this.OuterVec3TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label7
|
|
||||||
//
|
|
||||||
this.label7.AutoSize = true;
|
|
||||||
this.label7.Location = new System.Drawing.Point(7, 298);
|
|
||||||
this.label7.Name = "label7";
|
|
||||||
this.label7.Size = new System.Drawing.Size(66, 13);
|
|
||||||
this.label7.TabIndex = 54;
|
|
||||||
this.label7.Text = "Outer vec 2:";
|
|
||||||
//
|
|
||||||
// OuterVec2TextBox
|
|
||||||
//
|
|
||||||
this.OuterVec2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.OuterVec2TextBox.Location = new System.Drawing.Point(84, 295);
|
|
||||||
this.OuterVec2TextBox.Name = "OuterVec2TextBox";
|
|
||||||
this.OuterVec2TextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.OuterVec2TextBox.TabIndex = 55;
|
|
||||||
this.OuterVec2TextBox.TextChanged += new System.EventHandler(this.OuterVec2TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label8
|
|
||||||
//
|
|
||||||
this.label8.AutoSize = true;
|
|
||||||
this.label8.Location = new System.Drawing.Point(7, 274);
|
|
||||||
this.label8.Name = "label8";
|
|
||||||
this.label8.Size = new System.Drawing.Size(66, 13);
|
|
||||||
this.label8.TabIndex = 52;
|
|
||||||
this.label8.Text = "Outer vec 1:";
|
|
||||||
//
|
|
||||||
// OuterVec1TextBox
|
|
||||||
//
|
|
||||||
this.OuterVec1TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.OuterVec1TextBox.Location = new System.Drawing.Point(84, 271);
|
|
||||||
this.OuterVec1TextBox.Name = "OuterVec1TextBox";
|
|
||||||
this.OuterVec1TextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.OuterVec1TextBox.TabIndex = 53;
|
|
||||||
this.OuterVec1TextBox.TextChanged += new System.EventHandler(this.OuterVec1TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label9
|
|
||||||
//
|
|
||||||
this.label9.AutoSize = true;
|
|
||||||
this.label9.Location = new System.Drawing.Point(7, 250);
|
|
||||||
this.label9.Name = "label9";
|
|
||||||
this.label9.Size = new System.Drawing.Size(65, 13);
|
|
||||||
this.label9.TabIndex = 50;
|
|
||||||
this.label9.Text = "Outer angle:";
|
|
||||||
//
|
|
||||||
// OuterAngleTextBox
|
|
||||||
//
|
|
||||||
this.OuterAngleTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.OuterAngleTextBox.Location = new System.Drawing.Point(84, 247);
|
|
||||||
this.OuterAngleTextBox.Name = "OuterAngleTextBox";
|
|
||||||
this.OuterAngleTextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.OuterAngleTextBox.TabIndex = 51;
|
|
||||||
this.OuterAngleTextBox.TextChanged += new System.EventHandler(this.OuterAngleTextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label10
|
|
||||||
//
|
|
||||||
this.label10.AutoSize = true;
|
|
||||||
this.label10.Location = new System.Drawing.Point(7, 226);
|
|
||||||
this.label10.Name = "label10";
|
|
||||||
this.label10.Size = new System.Drawing.Size(57, 13);
|
|
||||||
this.label10.TabIndex = 48;
|
|
||||||
this.label10.Text = "Outer size:";
|
|
||||||
//
|
|
||||||
// OuterSizeTextBox
|
|
||||||
//
|
|
||||||
this.OuterSizeTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.OuterSizeTextBox.Location = new System.Drawing.Point(84, 223);
|
|
||||||
this.OuterSizeTextBox.Name = "OuterSizeTextBox";
|
|
||||||
this.OuterSizeTextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.OuterSizeTextBox.TabIndex = 49;
|
|
||||||
this.OuterSizeTextBox.TextChanged += new System.EventHandler(this.OuterSizeTextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label11
|
|
||||||
//
|
|
||||||
this.label11.AutoSize = true;
|
|
||||||
this.label11.Location = new System.Drawing.Point(7, 202);
|
|
||||||
this.label11.Name = "label11";
|
|
||||||
this.label11.Size = new System.Drawing.Size(75, 13);
|
|
||||||
this.label11.TabIndex = 46;
|
|
||||||
this.label11.Text = "Outer position:";
|
|
||||||
//
|
|
||||||
// OuterPosTextBox
|
|
||||||
//
|
|
||||||
this.OuterPosTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.OuterPosTextBox.Location = new System.Drawing.Point(84, 199);
|
|
||||||
this.OuterPosTextBox.Name = "OuterPosTextBox";
|
|
||||||
this.OuterPosTextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.OuterPosTextBox.TabIndex = 47;
|
|
||||||
this.OuterPosTextBox.TextChanged += new System.EventHandler(this.OuterPosTextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label5
|
|
||||||
//
|
|
||||||
this.label5.AutoSize = true;
|
|
||||||
this.label5.Location = new System.Drawing.Point(7, 178);
|
|
||||||
this.label5.Name = "label5";
|
|
||||||
this.label5.Size = new System.Drawing.Size(64, 13);
|
|
||||||
this.label5.TabIndex = 44;
|
|
||||||
this.label5.Text = "Inner vec 3:";
|
|
||||||
//
|
|
||||||
// InnerVec3TextBox
|
|
||||||
//
|
|
||||||
this.InnerVec3TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.InnerVec3TextBox.Location = new System.Drawing.Point(84, 175);
|
|
||||||
this.InnerVec3TextBox.Name = "InnerVec3TextBox";
|
|
||||||
this.InnerVec3TextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.InnerVec3TextBox.TabIndex = 45;
|
|
||||||
this.InnerVec3TextBox.TextChanged += new System.EventHandler(this.InnerVec3TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label4
|
|
||||||
//
|
|
||||||
this.label4.AutoSize = true;
|
|
||||||
this.label4.Location = new System.Drawing.Point(7, 154);
|
|
||||||
this.label4.Name = "label4";
|
|
||||||
this.label4.Size = new System.Drawing.Size(64, 13);
|
|
||||||
this.label4.TabIndex = 42;
|
|
||||||
this.label4.Text = "Inner vec 2:";
|
|
||||||
//
|
|
||||||
// InnerVec2TextBox
|
|
||||||
//
|
|
||||||
this.InnerVec2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.InnerVec2TextBox.Location = new System.Drawing.Point(84, 151);
|
|
||||||
this.InnerVec2TextBox.Name = "InnerVec2TextBox";
|
|
||||||
this.InnerVec2TextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.InnerVec2TextBox.TabIndex = 43;
|
|
||||||
this.InnerVec2TextBox.TextChanged += new System.EventHandler(this.InnerVec2TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label3
|
|
||||||
//
|
|
||||||
this.label3.AutoSize = true;
|
|
||||||
this.label3.Location = new System.Drawing.Point(7, 130);
|
|
||||||
this.label3.Name = "label3";
|
|
||||||
this.label3.Size = new System.Drawing.Size(64, 13);
|
|
||||||
this.label3.TabIndex = 40;
|
|
||||||
this.label3.Text = "Inner vec 1:";
|
|
||||||
//
|
|
||||||
// InnerVec1TextBox
|
|
||||||
//
|
|
||||||
this.InnerVec1TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.InnerVec1TextBox.Location = new System.Drawing.Point(84, 127);
|
|
||||||
this.InnerVec1TextBox.Name = "InnerVec1TextBox";
|
|
||||||
this.InnerVec1TextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.InnerVec1TextBox.TabIndex = 41;
|
|
||||||
this.InnerVec1TextBox.TextChanged += new System.EventHandler(this.InnerVec1TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label2
|
|
||||||
//
|
|
||||||
this.label2.AutoSize = true;
|
|
||||||
this.label2.Location = new System.Drawing.Point(7, 106);
|
|
||||||
this.label2.Name = "label2";
|
|
||||||
this.label2.Size = new System.Drawing.Size(63, 13);
|
|
||||||
this.label2.TabIndex = 38;
|
|
||||||
this.label2.Text = "Inner angle:";
|
|
||||||
//
|
|
||||||
// InnerAngleTextBox
|
|
||||||
//
|
|
||||||
this.InnerAngleTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.InnerAngleTextBox.Location = new System.Drawing.Point(84, 103);
|
|
||||||
this.InnerAngleTextBox.Name = "InnerAngleTextBox";
|
|
||||||
this.InnerAngleTextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.InnerAngleTextBox.TabIndex = 39;
|
|
||||||
this.InnerAngleTextBox.TextChanged += new System.EventHandler(this.InnerAngleTextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label1
|
|
||||||
//
|
|
||||||
this.label1.AutoSize = true;
|
|
||||||
this.label1.Location = new System.Drawing.Point(7, 82);
|
|
||||||
this.label1.Name = "label1";
|
|
||||||
this.label1.Size = new System.Drawing.Size(55, 13);
|
|
||||||
this.label1.TabIndex = 36;
|
|
||||||
this.label1.Text = "Inner size:";
|
|
||||||
//
|
|
||||||
// InnerSizeTextBox
|
|
||||||
//
|
|
||||||
this.InnerSizeTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.InnerSizeTextBox.Location = new System.Drawing.Point(84, 79);
|
|
||||||
this.InnerSizeTextBox.Name = "InnerSizeTextBox";
|
|
||||||
this.InnerSizeTextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.InnerSizeTextBox.TabIndex = 37;
|
|
||||||
this.InnerSizeTextBox.TextChanged += new System.EventHandler(this.InnerSizeTextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label16
|
|
||||||
//
|
|
||||||
this.label16.AutoSize = true;
|
|
||||||
this.label16.Location = new System.Drawing.Point(7, 58);
|
|
||||||
this.label16.Name = "label16";
|
|
||||||
this.label16.Size = new System.Drawing.Size(73, 13);
|
|
||||||
this.label16.TabIndex = 34;
|
|
||||||
this.label16.Text = "Inner position:";
|
|
||||||
//
|
|
||||||
// InnerPosTextBox
|
|
||||||
//
|
|
||||||
this.InnerPosTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.InnerPosTextBox.Location = new System.Drawing.Point(84, 55);
|
|
||||||
this.InnerPosTextBox.Name = "InnerPosTextBox";
|
|
||||||
this.InnerPosTextBox.Size = new System.Drawing.Size(237, 20);
|
|
||||||
this.InnerPosTextBox.TabIndex = 35;
|
|
||||||
this.InnerPosTextBox.TextChanged += new System.EventHandler(this.InnerPosTextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// GoToButton
|
|
||||||
//
|
|
||||||
this.GoToButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.GoToButton.Location = new System.Drawing.Point(483, 0);
|
|
||||||
this.GoToButton.Name = "GoToButton";
|
|
||||||
this.GoToButton.Size = new System.Drawing.Size(68, 23);
|
|
||||||
this.GoToButton.TabIndex = 31;
|
|
||||||
this.GoToButton.Text = "Go to";
|
|
||||||
this.GoToButton.UseVisualStyleBackColor = true;
|
|
||||||
this.GoToButton.Click += new System.EventHandler(this.GoToButton_Click);
|
|
||||||
//
|
|
||||||
// label24
|
|
||||||
//
|
|
||||||
this.label24.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.label24.AutoSize = true;
|
|
||||||
this.label24.Location = new System.Drawing.Point(340, 130);
|
|
||||||
this.label24.Name = "label24";
|
|
||||||
this.label24.Size = new System.Drawing.Size(44, 13);
|
|
||||||
this.label24.TabIndex = 72;
|
|
||||||
this.label24.Text = "Hash 0:";
|
|
||||||
//
|
|
||||||
// Hash0TextBox
|
|
||||||
//
|
|
||||||
this.Hash0TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.Hash0TextBox.Location = new System.Drawing.Point(390, 127);
|
|
||||||
this.Hash0TextBox.Name = "Hash0TextBox";
|
|
||||||
this.Hash0TextBox.Size = new System.Drawing.Size(155, 20);
|
|
||||||
this.Hash0TextBox.TabIndex = 73;
|
|
||||||
this.Hash0TextBox.TextChanged += new System.EventHandler(this.Hash0TextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// label25
|
|
||||||
//
|
|
||||||
this.label25.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.label25.AutoSize = true;
|
|
||||||
this.label25.Location = new System.Drawing.Point(340, 154);
|
|
||||||
this.label25.Name = "label25";
|
|
||||||
this.label25.Size = new System.Drawing.Size(44, 13);
|
|
||||||
this.label25.TabIndex = 74;
|
|
||||||
this.label25.Text = "Hash 1:";
|
|
||||||
//
|
|
||||||
// SceneTextBox
|
|
||||||
//
|
|
||||||
this.SceneTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.SceneTextBox.Location = new System.Drawing.Point(390, 151);
|
|
||||||
this.SceneTextBox.Name = "SceneTextBox";
|
|
||||||
this.SceneTextBox.Size = new System.Drawing.Size(155, 20);
|
|
||||||
this.SceneTextBox.TabIndex = 75;
|
|
||||||
this.SceneTextBox.TextChanged += new System.EventHandler(this.SceneTextBox_TextChanged);
|
|
||||||
//
|
|
||||||
// EditAudioZonePanel
|
|
||||||
//
|
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|
||||||
this.ClientSize = new System.Drawing.Size(562, 450);
|
|
||||||
this.Controls.Add(this.GoToButton);
|
|
||||||
this.Controls.Add(this.tabControl1);
|
|
||||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
|
||||||
this.Name = "EditAudioZonePanel";
|
|
||||||
this.Text = "Edit Audio Zone";
|
|
||||||
this.tabControl1.ResumeLayout(false);
|
|
||||||
this.tabPage1.ResumeLayout(false);
|
|
||||||
this.tabPage1.PerformLayout();
|
|
||||||
this.ResumeLayout(false);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
private System.Windows.Forms.TabControl tabControl1;
|
|
||||||
private System.Windows.Forms.TabPage tabPage1;
|
|
||||||
private System.Windows.Forms.Label label16;
|
|
||||||
private System.Windows.Forms.TextBox InnerPosTextBox;
|
|
||||||
private System.Windows.Forms.Button GoToButton;
|
|
||||||
private System.Windows.Forms.Label label1;
|
|
||||||
private System.Windows.Forms.TextBox InnerSizeTextBox;
|
|
||||||
private System.Windows.Forms.Label label4;
|
|
||||||
private System.Windows.Forms.TextBox InnerVec2TextBox;
|
|
||||||
private System.Windows.Forms.Label label3;
|
|
||||||
private System.Windows.Forms.TextBox InnerVec1TextBox;
|
|
||||||
private System.Windows.Forms.Label label2;
|
|
||||||
private System.Windows.Forms.TextBox InnerAngleTextBox;
|
|
||||||
private System.Windows.Forms.Label label5;
|
|
||||||
private System.Windows.Forms.TextBox InnerVec3TextBox;
|
|
||||||
private System.Windows.Forms.Label label12;
|
|
||||||
private System.Windows.Forms.TextBox NameTextBox;
|
|
||||||
private System.Windows.Forms.Label label6;
|
|
||||||
private System.Windows.Forms.TextBox OuterVec3TextBox;
|
|
||||||
private System.Windows.Forms.Label label7;
|
|
||||||
private System.Windows.Forms.TextBox OuterVec2TextBox;
|
|
||||||
private System.Windows.Forms.Label label8;
|
|
||||||
private System.Windows.Forms.TextBox OuterVec1TextBox;
|
|
||||||
private System.Windows.Forms.Label label9;
|
|
||||||
private System.Windows.Forms.TextBox OuterAngleTextBox;
|
|
||||||
private System.Windows.Forms.Label label10;
|
|
||||||
private System.Windows.Forms.TextBox OuterSizeTextBox;
|
|
||||||
private System.Windows.Forms.Label label11;
|
|
||||||
private System.Windows.Forms.TextBox OuterPosTextBox;
|
|
||||||
private System.Windows.Forms.ComboBox ShapeComboBox;
|
|
||||||
private System.Windows.Forms.Label label23;
|
|
||||||
private System.Windows.Forms.Label label14;
|
|
||||||
private System.Windows.Forms.TextBox Flags1TextBox;
|
|
||||||
private System.Windows.Forms.Label label13;
|
|
||||||
private System.Windows.Forms.TextBox Flags0TextBox;
|
|
||||||
private WinForms.TextBoxFix HashesTextBox;
|
|
||||||
private System.Windows.Forms.Label label15;
|
|
||||||
private System.Windows.Forms.TextBox UnkVec3TextBox;
|
|
||||||
private System.Windows.Forms.Label label17;
|
|
||||||
private System.Windows.Forms.TextBox UnkVec2TextBox;
|
|
||||||
private System.Windows.Forms.Label label18;
|
|
||||||
private System.Windows.Forms.TextBox UnkVec1TextBox;
|
|
||||||
private System.Windows.Forms.Label label20;
|
|
||||||
private WinForms.TextBoxFix DependentAmbiencesTextBox;
|
|
||||||
private System.Windows.Forms.Label label19;
|
|
||||||
private System.Windows.Forms.Label label21;
|
|
||||||
private System.Windows.Forms.TextBox Unk13TextBox;
|
|
||||||
private System.Windows.Forms.Button AddToProjectButton;
|
|
||||||
private System.Windows.Forms.Button DeleteButton;
|
|
||||||
private System.Windows.Forms.Label label22;
|
|
||||||
private System.Windows.Forms.TextBox UnkBytesTextBox;
|
|
||||||
private System.Windows.Forms.Label label25;
|
|
||||||
private System.Windows.Forms.TextBox SceneTextBox;
|
|
||||||
private System.Windows.Forms.Label label24;
|
|
||||||
private System.Windows.Forms.TextBox Hash0TextBox;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,624 +0,0 @@
|
|||||||
using CodeWalker.GameFiles;
|
|
||||||
using CodeWalker.World;
|
|
||||||
using SharpDX;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Globalization;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
|
|
||||||
namespace CodeWalker.Project.Panels
|
|
||||||
{
|
|
||||||
public partial class EditAudioZonePanel : ProjectPanel
|
|
||||||
{
|
|
||||||
public ProjectForm ProjectForm;
|
|
||||||
public AudioPlacement CurrentZone { get; set; }
|
|
||||||
|
|
||||||
private bool populatingui = false;
|
|
||||||
|
|
||||||
|
|
||||||
public EditAudioZonePanel(ProjectForm owner)
|
|
||||||
{
|
|
||||||
ProjectForm = owner;
|
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetZone(AudioPlacement zone)
|
|
||||||
{
|
|
||||||
CurrentZone = zone;
|
|
||||||
Tag = zone;
|
|
||||||
UpdateFormTitle();
|
|
||||||
UpdateUI();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void UpdateFormTitle()
|
|
||||||
{
|
|
||||||
Text = CurrentZone?.NameHash.ToString() ?? "";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void UpdateUI()
|
|
||||||
{
|
|
||||||
|
|
||||||
if (CurrentZone?.AudioZone == null)
|
|
||||||
{
|
|
||||||
AddToProjectButton.Enabled = false;
|
|
||||||
DeleteButton.Enabled = false;
|
|
||||||
|
|
||||||
populatingui = true;
|
|
||||||
NameTextBox.Text = string.Empty;
|
|
||||||
ShapeComboBox.Text = string.Empty;
|
|
||||||
InnerPosTextBox.Text = string.Empty;
|
|
||||||
InnerSizeTextBox.Text = string.Empty;
|
|
||||||
InnerAngleTextBox.Text = string.Empty;
|
|
||||||
InnerVec1TextBox.Text = string.Empty;
|
|
||||||
InnerVec2TextBox.Text = string.Empty;
|
|
||||||
InnerVec3TextBox.Text = string.Empty;
|
|
||||||
OuterPosTextBox.Text = string.Empty;
|
|
||||||
OuterSizeTextBox.Text = string.Empty;
|
|
||||||
OuterAngleTextBox.Text = string.Empty;
|
|
||||||
OuterVec1TextBox.Text = string.Empty;
|
|
||||||
OuterVec2TextBox.Text = string.Empty;
|
|
||||||
OuterVec3TextBox.Text = string.Empty;
|
|
||||||
UnkVec1TextBox.Text = string.Empty;
|
|
||||||
UnkVec2TextBox.Text = string.Empty;
|
|
||||||
UnkVec3TextBox.Text = string.Empty;
|
|
||||||
UnkBytesTextBox.Text = string.Empty;
|
|
||||||
Flags0TextBox.Text = string.Empty;
|
|
||||||
Flags1TextBox.Text = string.Empty;
|
|
||||||
Unk13TextBox.Text = string.Empty;
|
|
||||||
Hash0TextBox.Text = string.Empty;
|
|
||||||
SceneTextBox.Text = string.Empty;
|
|
||||||
HashesTextBox.Text = string.Empty;
|
|
||||||
DependentAmbiencesTextBox.Text = string.Empty;
|
|
||||||
populatingui = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
AddToProjectButton.Enabled = CurrentZone?.RelFile != null ? !ProjectForm.AudioFileExistsInProject(CurrentZone.RelFile) : false;
|
|
||||||
DeleteButton.Enabled = !AddToProjectButton.Enabled;
|
|
||||||
|
|
||||||
populatingui = true;
|
|
||||||
var z = CurrentZone.AudioZone;
|
|
||||||
NameTextBox.Text = z.NameHash.ToString();
|
|
||||||
ShapeComboBox.Text = z.Shape.ToString();
|
|
||||||
InnerPosTextBox.Text = FloatUtil.GetVector3String(z.PlaybackZonePosition);
|
|
||||||
InnerSizeTextBox.Text = FloatUtil.GetVector3String(z.PlaybackZoneSize);
|
|
||||||
InnerAngleTextBox.Text = z.PlaybackZoneAngle.ToString();
|
|
||||||
InnerVec1TextBox.Text = FloatUtil.GetVector4String(z.PlaybackZoneVec1);
|
|
||||||
InnerVec2TextBox.Text = FloatUtil.GetVector4String(z.PlaybackZoneVec2);
|
|
||||||
InnerVec3TextBox.Text = FloatUtil.GetVector3String(z.PlaybackZoneVec3);
|
|
||||||
OuterPosTextBox.Text = FloatUtil.GetVector3String(z.ActivationZonePosition);
|
|
||||||
OuterSizeTextBox.Text = FloatUtil.GetVector3String(z.ActivationZoneSize);
|
|
||||||
OuterAngleTextBox.Text = z.ActivationZoneAngle.ToString();
|
|
||||||
OuterVec1TextBox.Text = FloatUtil.GetVector4String(z.ActivationZoneVec1);
|
|
||||||
OuterVec2TextBox.Text = FloatUtil.GetVector4String(z.ActivationZoneVec2);
|
|
||||||
OuterVec3TextBox.Text = FloatUtil.GetVector3String(z.ActivationZoneVec3);
|
|
||||||
UnkVec1TextBox.Text = FloatUtil.GetVector4String(z.UnkVec1);
|
|
||||||
UnkVec2TextBox.Text = FloatUtil.GetVector4String(z.UnkVec2);
|
|
||||||
UnkVec3TextBox.Text = FloatUtil.GetVector2String(z.UnkVec3);
|
|
||||||
UnkBytesTextBox.Text = string.Format("{0}, {1}, {2}", z.Unk14, z.Unk15, z.Unk16);
|
|
||||||
Flags0TextBox.Text = z.Flags0.Hex;
|
|
||||||
Flags1TextBox.Text = z.Flags1.Hex;
|
|
||||||
Unk13TextBox.Text = z.Unk13.Hex;
|
|
||||||
Hash0TextBox.Text = z.UnkHash0.ToString();
|
|
||||||
SceneTextBox.Text = z.Scene.ToString();
|
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
if (z.Rules != null)
|
|
||||||
{
|
|
||||||
foreach (var hash in z.Rules)
|
|
||||||
{
|
|
||||||
sb.AppendLine(hash.ToString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
HashesTextBox.Text = sb.ToString();
|
|
||||||
|
|
||||||
sb.Clear();
|
|
||||||
if (z.DependentAmbiences != null)
|
|
||||||
{
|
|
||||||
foreach (var extparam in z.DependentAmbiences)
|
|
||||||
{
|
|
||||||
sb.Append(extparam.Name.ToString());
|
|
||||||
sb.Append(", ");
|
|
||||||
sb.Append(FloatUtil.ToString(extparam.Value));
|
|
||||||
sb.AppendLine();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
DependentAmbiencesTextBox.Text = sb.ToString();
|
|
||||||
|
|
||||||
populatingui = false;
|
|
||||||
|
|
||||||
if (ProjectForm.WorldForm != null)
|
|
||||||
{
|
|
||||||
ProjectForm.WorldForm.SelectObject(CurrentZone);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void ProjectItemChanged()
|
|
||||||
{
|
|
||||||
CurrentZone?.UpdateFromZone();//also update the placement wrapper
|
|
||||||
|
|
||||||
if (CurrentZone?.RelFile != null)
|
|
||||||
{
|
|
||||||
ProjectForm.SetAudioFileHasChanged(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void NameTextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
uint hash = 0;
|
|
||||||
string name = NameTextBox.Text;
|
|
||||||
if (!uint.TryParse(name, out hash))//don't re-hash hashes
|
|
||||||
{
|
|
||||||
hash = JenkHash.GenHash(name);
|
|
||||||
JenkIndex.Ensure(name);
|
|
||||||
}
|
|
||||||
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
|
||||||
|
|
||||||
if (CurrentZone.AudioZone.NameHash != hash)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.Name = NameTextBox.Text;
|
|
||||||
CurrentZone.AudioZone.NameHash = hash;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
UpdateFormTitle();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ShapeComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
Dat151ZoneShape shape = Dat151ZoneShape.Box;
|
|
||||||
if (Enum.TryParse<Dat151ZoneShape>(ShapeComboBox.Text, out shape))
|
|
||||||
{
|
|
||||||
if (CurrentZone.AudioZone.Shape != shape)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.Shape = shape;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InnerPosTextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var vec = FloatUtil.ParseVector3String(InnerPosTextBox.Text);
|
|
||||||
if (CurrentZone.AudioZone.PlaybackZonePosition != vec)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.PlaybackZonePosition = vec;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
|
|
||||||
//var wf = ProjectForm.WorldForm;
|
|
||||||
//if (wf != null)
|
|
||||||
//{
|
|
||||||
// wf.BeginInvoke(new Action(() =>
|
|
||||||
// {
|
|
||||||
// wf.SetWidgetPosition(CurrentZone.Position, true);
|
|
||||||
// }));
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InnerSizeTextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var vec = FloatUtil.ParseVector3String(InnerSizeTextBox.Text);
|
|
||||||
if (CurrentZone.AudioZone.PlaybackZoneSize != vec)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.PlaybackZoneSize = vec;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InnerAngleTextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
uint ang = 0;
|
|
||||||
if (uint.TryParse(InnerAngleTextBox.Text, out ang))
|
|
||||||
{
|
|
||||||
if (CurrentZone.AudioZone.PlaybackZoneAngle != ang)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.PlaybackZoneAngle = ang;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InnerVec1TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var vec = FloatUtil.ParseVector4String(InnerVec1TextBox.Text);
|
|
||||||
if (CurrentZone.AudioZone.PlaybackZoneVec1 != vec)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.PlaybackZoneVec1 = vec;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InnerVec2TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var vec = FloatUtil.ParseVector4String(InnerVec2TextBox.Text);
|
|
||||||
if (CurrentZone.AudioZone.PlaybackZoneVec2 != vec)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.PlaybackZoneVec2 = vec;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InnerVec3TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var vec = FloatUtil.ParseVector3String(InnerVec3TextBox.Text);
|
|
||||||
if (CurrentZone.AudioZone.PlaybackZoneVec3 != vec)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.PlaybackZoneVec3 = vec;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OuterPosTextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var vec = FloatUtil.ParseVector3String(OuterPosTextBox.Text);
|
|
||||||
if (CurrentZone.AudioZone.ActivationZonePosition != vec)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.ActivationZonePosition = vec;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OuterSizeTextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var vec = FloatUtil.ParseVector3String(OuterSizeTextBox.Text);
|
|
||||||
if (CurrentZone.AudioZone.ActivationZoneSize != vec)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.ActivationZoneSize = vec;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OuterAngleTextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
uint ang = 0;
|
|
||||||
if (uint.TryParse(OuterAngleTextBox.Text, out ang))
|
|
||||||
{
|
|
||||||
if (CurrentZone.AudioZone.ActivationZoneAngle != ang)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.ActivationZoneAngle = ang;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OuterVec1TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var vec = FloatUtil.ParseVector4String(OuterVec1TextBox.Text);
|
|
||||||
if (CurrentZone.AudioZone.ActivationZoneVec1 != vec)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.ActivationZoneVec1 = vec;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OuterVec2TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var vec = FloatUtil.ParseVector4String(OuterVec2TextBox.Text);
|
|
||||||
if (CurrentZone.AudioZone.ActivationZoneVec2 != vec)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.ActivationZoneVec2 = vec;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OuterVec3TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var vec = FloatUtil.ParseVector3String(OuterVec3TextBox.Text);
|
|
||||||
if (CurrentZone.AudioZone.ActivationZoneVec3 != vec)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.ActivationZoneVec3 = vec;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void UnkVec1TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var vec = FloatUtil.ParseVector4String(UnkVec1TextBox.Text);
|
|
||||||
if (CurrentZone.AudioZone.UnkVec1 != vec)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.UnkVec1 = vec;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void UnkVec2TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var vec = FloatUtil.ParseVector4String(UnkVec2TextBox.Text);
|
|
||||||
if (CurrentZone.AudioZone.UnkVec2 != vec)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.UnkVec2 = vec;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void UnkVec3TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var vec = FloatUtil.ParseVector2String(UnkVec3TextBox.Text);
|
|
||||||
if (CurrentZone.AudioZone.UnkVec3 != vec)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.UnkVec3 = vec;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void UnkBytesTextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
var vals = UnkBytesTextBox.Text.Split(',');
|
|
||||||
if (vals?.Length == 3)
|
|
||||||
{
|
|
||||||
byte val0 = 0, val1 = 0, val2 = 0;
|
|
||||||
byte.TryParse(vals[0].Trim(), out val0);
|
|
||||||
byte.TryParse(vals[1].Trim(), out val1);
|
|
||||||
byte.TryParse(vals[2].Trim(), out val2);
|
|
||||||
|
|
||||||
CurrentZone.AudioZone.Unk14 = val0;
|
|
||||||
CurrentZone.AudioZone.Unk15 = val1;
|
|
||||||
CurrentZone.AudioZone.Unk16 = val2;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Flags0TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
uint flags = 0;
|
|
||||||
if (uint.TryParse(Flags0TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
|
||||||
{
|
|
||||||
if (CurrentZone.AudioZone.Flags0 != flags)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.Flags0 = flags;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Flags1TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
uint flags = 0;
|
|
||||||
if (uint.TryParse(Flags1TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
|
||||||
{
|
|
||||||
if (CurrentZone.AudioZone.Flags1 != flags)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.Flags1 = flags;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Unk13TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var hashstr = Unk13TextBox.Text;
|
|
||||||
uint hash = 0;
|
|
||||||
if (!uint.TryParse(hashstr, out hash))//don't re-hash hashes
|
|
||||||
{
|
|
||||||
hash = JenkHash.GenHash(hashstr);
|
|
||||||
JenkIndex.Ensure(hashstr);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CurrentZone.AudioZone.Unk13 != hash)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.Unk13 = hash;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Hash0TextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var hashstr = Hash0TextBox.Text;
|
|
||||||
uint hash = 0;
|
|
||||||
if (!uint.TryParse(hashstr, out hash))//don't re-hash hashes
|
|
||||||
{
|
|
||||||
hash = JenkHash.GenHash(hashstr);
|
|
||||||
JenkIndex.Ensure(hashstr);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CurrentZone.AudioZone.UnkHash0 != hash)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.UnkHash0 = hash;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void SceneTextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var hashstr = SceneTextBox.Text;
|
|
||||||
uint hash = 0;
|
|
||||||
if (!uint.TryParse(hashstr, out hash))//don't re-hash hashes
|
|
||||||
{
|
|
||||||
hash = JenkHash.GenHash(hashstr);
|
|
||||||
JenkIndex.Ensure(hashstr);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CurrentZone.AudioZone.Scene != hash)
|
|
||||||
{
|
|
||||||
CurrentZone.AudioZone.Scene = hash;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void HashesTextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var hashstrs = HashesTextBox.Text.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
|
|
||||||
if (hashstrs?.Length > 0)
|
|
||||||
{
|
|
||||||
var hashlist = new List<MetaHash>();
|
|
||||||
foreach (var hashstr in hashstrs)
|
|
||||||
{
|
|
||||||
uint hash = 0;
|
|
||||||
if (!uint.TryParse(hashstr, out hash))//don't re-hash hashes
|
|
||||||
{
|
|
||||||
hash = JenkHash.GenHash(hashstr);
|
|
||||||
JenkIndex.Ensure(hashstr);
|
|
||||||
}
|
|
||||||
hashlist.Add(hash);
|
|
||||||
}
|
|
||||||
|
|
||||||
CurrentZone.AudioZone.Rules = hashlist.ToArray();
|
|
||||||
CurrentZone.AudioZone.RulesCount = (byte)hashlist.Count;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void DependentAmbiencesTextBox_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (populatingui) return;
|
|
||||||
if (CurrentZone?.AudioZone == null) return;
|
|
||||||
|
|
||||||
var paramstrs = DependentAmbiencesTextBox.Text.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
|
|
||||||
if (paramstrs?.Length > 0)
|
|
||||||
{
|
|
||||||
var paramlist = new List<Dat151AmbientZone.DependentAmbience>();
|
|
||||||
foreach (var paramstr in paramstrs)
|
|
||||||
{
|
|
||||||
var paramvals = paramstr.Split(',');
|
|
||||||
if (paramvals?.Length == 2)
|
|
||||||
{
|
|
||||||
var param = new Dat151AmbientZone.DependentAmbience();
|
|
||||||
var hashstr = paramvals[0].Trim();
|
|
||||||
var valstr = paramvals[1].Trim();
|
|
||||||
uint hash = 0;
|
|
||||||
if (!uint.TryParse(hashstr, out hash))//don't re-hash hashes
|
|
||||||
{
|
|
||||||
hash = JenkHash.GenHash(hashstr);
|
|
||||||
JenkIndex.Ensure(hashstr);
|
|
||||||
}
|
|
||||||
param.Name = hash;
|
|
||||||
param.Value = FloatUtil.Parse(valstr);
|
|
||||||
paramlist.Add(param);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CurrentZone.AudioZone.DependentAmbiences = paramlist.ToArray();
|
|
||||||
CurrentZone.AudioZone.DependentAmbiencesCount = (uint)paramlist.Count;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void GoToButton_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (CurrentZone == null) return;
|
|
||||||
if (ProjectForm.WorldForm == null) return;
|
|
||||||
ProjectForm.WorldForm.GoToPosition(CurrentZone.Position, CurrentZone.AudioZone.PlaybackZoneSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void AddToProjectButton_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
ProjectForm.SetProjectItem(CurrentZone);
|
|
||||||
ProjectForm.AddAudioFileToProject(CurrentZone.RelFile);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void DeleteButton_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
ProjectForm.SetProjectItem(CurrentZone);
|
|
||||||
ProjectForm.DeleteAudioZone();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -700,7 +700,7 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
private void LoadAudioRelTreeNodes(RelFile rel, TreeNode node)
|
private void LoadAudioRelTreeNodes(RelFile rel, TreeNode node)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(node.Name)) return; //named nodes are eg Zones, Emitters
|
if (!string.IsNullOrEmpty(node.Name)) return; //named nodes are eg Zones, Rules
|
||||||
|
|
||||||
node.Nodes.Clear();
|
node.Nodes.Clear();
|
||||||
|
|
||||||
@ -709,10 +709,11 @@ namespace CodeWalker.Project.Panels
|
|||||||
|
|
||||||
|
|
||||||
var zones = new List<Dat151AmbientZone>();
|
var zones = new List<Dat151AmbientZone>();
|
||||||
var emitters = new List<Dat151AmbientRule>();
|
var rules = new List<Dat151AmbientRule>();
|
||||||
|
var emitters = new List<Dat151StaticEmitter>();
|
||||||
var zonelists = new List<Dat151AmbientZoneList>();
|
var zonelists = new List<Dat151AmbientZoneList>();
|
||||||
var emitterlists = new List<Dat151StaticEmitterList>();
|
var emitterlists = new List<Dat151StaticEmitterList>();
|
||||||
var interiors = new List<Dat151Interior>();
|
var interiors = new List<Dat151InteriorSettings>();
|
||||||
var interiorrooms = new List<Dat151InteriorRoom>();
|
var interiorrooms = new List<Dat151InteriorRoom>();
|
||||||
|
|
||||||
foreach (var reldata in rel.RelDatasSorted)
|
foreach (var reldata in rel.RelDatasSorted)
|
||||||
@ -723,7 +724,11 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
if (reldata is Dat151AmbientRule)
|
if (reldata is Dat151AmbientRule)
|
||||||
{
|
{
|
||||||
emitters.Add(reldata as Dat151AmbientRule);
|
rules.Add(reldata as Dat151AmbientRule);
|
||||||
|
}
|
||||||
|
if (reldata is Dat151StaticEmitter)
|
||||||
|
{
|
||||||
|
emitters.Add(reldata as Dat151StaticEmitter);
|
||||||
}
|
}
|
||||||
if (reldata is Dat151AmbientZoneList)
|
if (reldata is Dat151AmbientZoneList)
|
||||||
{
|
{
|
||||||
@ -733,9 +738,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
{
|
{
|
||||||
emitterlists.Add(reldata as Dat151StaticEmitterList);
|
emitterlists.Add(reldata as Dat151StaticEmitterList);
|
||||||
}
|
}
|
||||||
if (reldata is Dat151Interior)
|
if (reldata is Dat151InteriorSettings)
|
||||||
{
|
{
|
||||||
interiors.Add(reldata as Dat151Interior);
|
interiors.Add(reldata as Dat151InteriorSettings);
|
||||||
}
|
}
|
||||||
if (reldata is Dat151InteriorRoom)
|
if (reldata is Dat151InteriorRoom)
|
||||||
{
|
{
|
||||||
@ -759,11 +764,24 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (rules.Count > 0)
|
||||||
|
{
|
||||||
|
var n = node.Nodes.Add("Ambient Rules (" + rules.Count.ToString() + ")");
|
||||||
|
n.Name = "AmbientRules";
|
||||||
|
n.Tag = rel;
|
||||||
|
|
||||||
|
for (int i = 0; i < rules.Count; i++)
|
||||||
|
{
|
||||||
|
var rule = rules[i];
|
||||||
|
var tnode = n.Nodes.Add(rule.NameHash.ToString());
|
||||||
|
tnode.Tag = rule;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (emitters.Count > 0)
|
if (emitters.Count > 0)
|
||||||
{
|
{
|
||||||
var n = node.Nodes.Add("Ambient Emitters (" + emitters.Count.ToString() + ")");
|
var n = node.Nodes.Add("Static Emitters (" + emitters.Count.ToString() + ")");
|
||||||
n.Name = "AmbientEmitters";
|
n.Name = "StaticEmitters";
|
||||||
n.Tag = rel;
|
n.Tag = rel;
|
||||||
|
|
||||||
for (int i = 0; i < emitters.Count; i++)
|
for (int i = 0; i < emitters.Count; i++)
|
||||||
@ -791,8 +809,8 @@ namespace CodeWalker.Project.Panels
|
|||||||
|
|
||||||
if (emitterlists.Count > 0)
|
if (emitterlists.Count > 0)
|
||||||
{
|
{
|
||||||
var emitterlistsnode = node.Nodes.Add("Ambient Emitter Lists (" + emitterlists.Count.ToString() + ")");
|
var emitterlistsnode = node.Nodes.Add("Static Emitter Lists (" + emitterlists.Count.ToString() + ")");
|
||||||
emitterlistsnode.Name = "AmbientEmitterLists";
|
emitterlistsnode.Name = "StaticEmitterLists";
|
||||||
emitterlistsnode.Tag = rel;
|
emitterlistsnode.Tag = rel;
|
||||||
for (int i = 0; i < emitterlists.Count; i++)
|
for (int i = 0; i < emitterlists.Count; i++)
|
||||||
{
|
{
|
||||||
@ -1482,44 +1500,79 @@ namespace CodeWalker.Project.Panels
|
|||||||
{
|
{
|
||||||
if (ProjectTreeView.Nodes.Count <= 0) return null;
|
if (ProjectTreeView.Nodes.Count <= 0) return null;
|
||||||
var projnode = ProjectTreeView.Nodes[0];
|
var projnode = ProjectTreeView.Nodes[0];
|
||||||
var scenariosnode = GetChildTreeNode(projnode, "AudioRels");
|
var relsnode = GetChildTreeNode(projnode, "AudioRels");
|
||||||
if (scenariosnode == null) return null;
|
if (relsnode == null) return null;
|
||||||
for (int i = 0; i < scenariosnode.Nodes.Count; i++)
|
for (int i = 0; i < relsnode.Nodes.Count; i++)
|
||||||
{
|
{
|
||||||
var ymtnode = scenariosnode.Nodes[i];
|
var relnode = relsnode.Nodes[i];
|
||||||
if (ymtnode.Tag == rel) return ymtnode;
|
if (relnode.Tag == rel) return relnode;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
public TreeNode FindAudioZoneTreeNode(AudioPlacement zone)
|
public TreeNode FindAudioAmbientZoneTreeNode(AudioPlacement zone)
|
||||||
{
|
{
|
||||||
if (zone == null) return null;
|
if (zone == null) return null;
|
||||||
TreeNode relnode = FindAudioRelTreeNode(zone.RelFile);
|
TreeNode relnode = FindAudioRelTreeNode(zone.RelFile);
|
||||||
var zonenode = GetChildTreeNode(relnode, "AmbientZones");
|
var zonesnode = GetChildTreeNode(relnode, "AmbientZones");
|
||||||
if (zonenode == null) return null;
|
if (zonesnode == null) return null;
|
||||||
//zonenode.Tag = zone;
|
for (int i = 0; i < zonesnode.Nodes.Count; i++)
|
||||||
for (int i = 0; i < zonenode.Nodes.Count; i++)
|
|
||||||
{
|
{
|
||||||
TreeNode znode = zonenode.Nodes[i];
|
TreeNode znode = zonesnode.Nodes[i];
|
||||||
if (znode.Tag == zone.AudioZone) return znode;
|
if (znode.Tag == zone.AmbientZone) return znode;
|
||||||
}
|
}
|
||||||
return zonenode;
|
return zonesnode;
|
||||||
}
|
}
|
||||||
public TreeNode FindAudioEmitterTreeNode(AudioPlacement emitter)
|
public TreeNode FindAudioAmbientRuleTreeNode(AudioPlacement rule)
|
||||||
|
{
|
||||||
|
if (rule == null) return null;
|
||||||
|
TreeNode relnode = FindAudioRelTreeNode(rule.RelFile);
|
||||||
|
var rulesnode = GetChildTreeNode(relnode, "AmbientRules");
|
||||||
|
if (rulesnode == null) return null;
|
||||||
|
for (int i = 0; i < rulesnode.Nodes.Count; i++)
|
||||||
|
{
|
||||||
|
TreeNode rnode = rulesnode.Nodes[i];
|
||||||
|
if (rnode.Tag == rule.AmbientRule) return rnode;
|
||||||
|
}
|
||||||
|
return rulesnode;
|
||||||
|
}
|
||||||
|
public TreeNode FindAudioAmbientRuleTreeNode(uint hash)
|
||||||
|
{
|
||||||
|
if (ProjectTreeView.Nodes.Count <= 0) return null;
|
||||||
|
var projnode = ProjectTreeView.Nodes[0];
|
||||||
|
var relsnode = GetChildTreeNode(projnode, "AudioRels");
|
||||||
|
if (relsnode == null) return null;
|
||||||
|
for (int i = 0; i < relsnode.Nodes.Count; i++)
|
||||||
|
{
|
||||||
|
var relnode = relsnode.Nodes[i];
|
||||||
|
var rel = relnode.Tag as RelFile;
|
||||||
|
if (rel == null) continue;
|
||||||
|
var rulesnode = GetChildTreeNode(relnode, "AmbientRules");
|
||||||
|
if (rulesnode == null) continue;
|
||||||
|
for (int j = 0; j < rulesnode.Nodes.Count; j++)
|
||||||
|
{
|
||||||
|
var rnode = rulesnode.Nodes[j];
|
||||||
|
var rule = rnode.Tag as Dat151AmbientRule;
|
||||||
|
if (rule == null) continue;
|
||||||
|
if (rule.NameHash == hash) return rnode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
public TreeNode FindAudioStaticEmitterTreeNode(AudioPlacement emitter)
|
||||||
{
|
{
|
||||||
if (emitter == null) return null;
|
if (emitter == null) return null;
|
||||||
TreeNode relnode = FindAudioRelTreeNode(emitter.RelFile);
|
TreeNode relnode = FindAudioRelTreeNode(emitter.RelFile);
|
||||||
var zonenode = GetChildTreeNode(relnode, "AmbientEmitters");
|
var zonenode = GetChildTreeNode(relnode, "StaticEmitters");
|
||||||
if (zonenode == null) return null;
|
if (zonenode == null) return null;
|
||||||
//zonenode.Tag = emitter;
|
//zonenode.Tag = emitter;
|
||||||
for (int i = 0; i < zonenode.Nodes.Count; i++)
|
for (int i = 0; i < zonenode.Nodes.Count; i++)
|
||||||
{
|
{
|
||||||
TreeNode znode = zonenode.Nodes[i];
|
TreeNode znode = zonenode.Nodes[i];
|
||||||
if (znode.Tag == emitter.AudioEmitter) return znode;
|
if (znode.Tag == emitter.StaticEmitter) return znode;
|
||||||
}
|
}
|
||||||
return zonenode;
|
return zonenode;
|
||||||
}
|
}
|
||||||
public TreeNode FindAudioZoneListTreeNode(Dat151AmbientZoneList list)
|
public TreeNode FindAudioAmbientZoneListTreeNode(Dat151AmbientZoneList list)
|
||||||
{
|
{
|
||||||
if (list == null) return null;
|
if (list == null) return null;
|
||||||
TreeNode relnode = FindAudioRelTreeNode(list.Rel);
|
TreeNode relnode = FindAudioRelTreeNode(list.Rel);
|
||||||
@ -1532,11 +1585,11 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
public TreeNode FindAudioEmitterListTreeNode(Dat151StaticEmitterList list)
|
public TreeNode FindAudioStaticEmitterListTreeNode(Dat151StaticEmitterList list)
|
||||||
{
|
{
|
||||||
if (list == null) return null;
|
if (list == null) return null;
|
||||||
TreeNode relnode = FindAudioRelTreeNode(list.Rel);
|
TreeNode relnode = FindAudioRelTreeNode(list.Rel);
|
||||||
var emitterlistsnode = GetChildTreeNode(relnode, "AmbientEmitterLists");
|
var emitterlistsnode = GetChildTreeNode(relnode, "StaticEmitterLists");
|
||||||
if (emitterlistsnode == null) return null;
|
if (emitterlistsnode == null) return null;
|
||||||
for (int i = 0; i < emitterlistsnode.Nodes.Count; i++)
|
for (int i = 0; i < emitterlistsnode.Nodes.Count; i++)
|
||||||
{
|
{
|
||||||
@ -1545,7 +1598,7 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
public TreeNode FindAudioInteriorTreeNode(Dat151Interior interior)
|
public TreeNode FindAudioInteriorTreeNode(Dat151InteriorSettings interior)
|
||||||
{
|
{
|
||||||
if (interior == null) return null;
|
if (interior == null) return null;
|
||||||
TreeNode relnode = FindAudioRelTreeNode(interior.Rel);
|
TreeNode relnode = FindAudioRelTreeNode(interior.Rel);
|
||||||
@ -1986,9 +2039,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void TrySelectAudioZoneTreeNode(AudioPlacement zone)
|
public void TrySelectAudioAmbientZoneTreeNode(AudioPlacement zone)
|
||||||
{
|
{
|
||||||
TreeNode tnode = FindAudioZoneTreeNode(zone);
|
TreeNode tnode = FindAudioAmbientZoneTreeNode(zone);
|
||||||
if (tnode == null)
|
if (tnode == null)
|
||||||
{
|
{
|
||||||
tnode = FindAudioRelTreeNode(zone?.RelFile);
|
tnode = FindAudioRelTreeNode(zone?.RelFile);
|
||||||
@ -2005,9 +2058,44 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void TrySelectAudioEmitterTreeNode(AudioPlacement emitter)
|
public void TrySelectAudioAmbientRuleTreeNode(AudioPlacement rule)
|
||||||
{
|
{
|
||||||
TreeNode tnode = FindAudioEmitterTreeNode(emitter);
|
TreeNode tnode = FindAudioAmbientRuleTreeNode(rule);
|
||||||
|
if (tnode == null)
|
||||||
|
{
|
||||||
|
tnode = FindAudioRelTreeNode(rule?.RelFile);
|
||||||
|
}
|
||||||
|
if (tnode != null)
|
||||||
|
{
|
||||||
|
if (ProjectTreeView.SelectedNode == tnode)
|
||||||
|
{
|
||||||
|
OnItemSelected?.Invoke(rule);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ProjectTreeView.SelectedNode = tnode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public void TrySelectAudioAmbientRuleTreeNode(uint hash)
|
||||||
|
{
|
||||||
|
//variation for use by the button to select ambient rule from the ambient zone form
|
||||||
|
var tnode = FindAudioAmbientRuleTreeNode(hash);
|
||||||
|
if (tnode != null)
|
||||||
|
{
|
||||||
|
if (ProjectTreeView.SelectedNode == tnode)
|
||||||
|
{
|
||||||
|
OnItemSelected?.Invoke(tnode.Tag);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ProjectTreeView.SelectedNode = tnode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public void TrySelectAudioStaticEmitterTreeNode(AudioPlacement emitter)
|
||||||
|
{
|
||||||
|
TreeNode tnode = FindAudioStaticEmitterTreeNode(emitter);
|
||||||
if (tnode == null)
|
if (tnode == null)
|
||||||
{
|
{
|
||||||
tnode = FindAudioRelTreeNode(emitter?.RelFile);
|
tnode = FindAudioRelTreeNode(emitter?.RelFile);
|
||||||
@ -2024,9 +2112,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void TrySelectAudioZoneListTreeNode(Dat151AmbientZoneList list)
|
public void TrySelectAudioAmbientZoneListTreeNode(Dat151AmbientZoneList list)
|
||||||
{
|
{
|
||||||
TreeNode tnode = FindAudioZoneListTreeNode(list);
|
TreeNode tnode = FindAudioAmbientZoneListTreeNode(list);
|
||||||
if (tnode == null)
|
if (tnode == null)
|
||||||
{
|
{
|
||||||
tnode = FindAudioRelTreeNode(list?.Rel);
|
tnode = FindAudioRelTreeNode(list?.Rel);
|
||||||
@ -2043,9 +2131,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void TrySelectAudioEmitterListTreeNode(Dat151StaticEmitterList list)
|
public void TrySelectAudioStaticEmitterListTreeNode(Dat151StaticEmitterList list)
|
||||||
{
|
{
|
||||||
TreeNode tnode = FindAudioEmitterListTreeNode(list);
|
TreeNode tnode = FindAudioStaticEmitterListTreeNode(list);
|
||||||
if (tnode == null)
|
if (tnode == null)
|
||||||
{
|
{
|
||||||
tnode = FindAudioRelTreeNode(list?.Rel);
|
tnode = FindAudioRelTreeNode(list?.Rel);
|
||||||
@ -2062,7 +2150,7 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void TrySelectAudioInteriorTreeNode(Dat151Interior interior)
|
public void TrySelectAudioInteriorTreeNode(Dat151InteriorSettings interior)
|
||||||
{
|
{
|
||||||
TreeNode tnode = FindAudioInteriorTreeNode(interior);
|
TreeNode tnode = FindAudioInteriorTreeNode(interior);
|
||||||
if (tnode == null)
|
if (tnode == null)
|
||||||
@ -2265,39 +2353,47 @@ namespace CodeWalker.Project.Panels
|
|||||||
tn.Text = node.MedTypeName + ": " + node.StringText;
|
tn.Text = node.MedTypeName + ": " + node.StringText;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void UpdateAudioZoneTreeNode(AudioPlacement zone)
|
public void UpdateAudioAmbientZoneTreeNode(AudioPlacement zone)
|
||||||
{
|
{
|
||||||
var tn = FindAudioZoneTreeNode(zone);
|
var tn = FindAudioAmbientZoneTreeNode(zone);
|
||||||
if (tn != null)
|
if (tn != null)
|
||||||
{
|
{
|
||||||
tn.Text = zone.NameHash.ToString();
|
tn.Text = zone.NameHash.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void UpdateAudioEmitterTreeNode(AudioPlacement emitter)
|
public void UpdateAudioAmbientRuleTreeNode(AudioPlacement rule)
|
||||||
{
|
{
|
||||||
var tn = FindAudioEmitterTreeNode(emitter);
|
var tn = FindAudioAmbientRuleTreeNode(rule);
|
||||||
|
if (tn != null)
|
||||||
|
{
|
||||||
|
tn.Text = rule.NameHash.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public void UpdateAudioStaticEmitterTreeNode(AudioPlacement emitter)
|
||||||
|
{
|
||||||
|
var tn = FindAudioStaticEmitterTreeNode(emitter);
|
||||||
if (tn != null)
|
if (tn != null)
|
||||||
{
|
{
|
||||||
tn.Text = emitter.NameHash.ToString();
|
tn.Text = emitter.NameHash.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void UpdateAudioZoneListTreeNode(Dat151AmbientZoneList list)
|
public void UpdateAudioAmbientZoneListTreeNode(Dat151AmbientZoneList list)
|
||||||
{
|
{
|
||||||
var tn = FindAudioZoneListTreeNode(list);
|
var tn = FindAudioAmbientZoneListTreeNode(list);
|
||||||
if (tn != null)
|
if (tn != null)
|
||||||
{
|
{
|
||||||
tn.Text = list.NameHash.ToString();
|
tn.Text = list.NameHash.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void UpdateAudioEmitterListTreeNode(Dat151StaticEmitterList list)
|
public void UpdateAudioStaticEmitterListTreeNode(Dat151StaticEmitterList list)
|
||||||
{
|
{
|
||||||
var tn = FindAudioEmitterListTreeNode(list);
|
var tn = FindAudioStaticEmitterListTreeNode(list);
|
||||||
if (tn != null)
|
if (tn != null)
|
||||||
{
|
{
|
||||||
tn.Text = list.NameHash.ToString();
|
tn.Text = list.NameHash.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void UpdateAudioInteriorTreeNode(Dat151Interior interior)
|
public void UpdateAudioInteriorTreeNode(Dat151InteriorSettings interior)
|
||||||
{
|
{
|
||||||
var tn = FindAudioInteriorTreeNode(interior);
|
var tn = FindAudioInteriorTreeNode(interior);
|
||||||
if (tn != null)
|
if (tn != null)
|
||||||
@ -2485,9 +2581,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
tn.Parent.Nodes.Remove(tn);
|
tn.Parent.Nodes.Remove(tn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void RemoveAudioZoneTreeNode(AudioPlacement zone)
|
public void RemoveAudioAmbientZoneTreeNode(AudioPlacement zone)
|
||||||
{
|
{
|
||||||
var tn = FindAudioZoneTreeNode(zone);
|
var tn = FindAudioAmbientZoneTreeNode(zone);
|
||||||
if ((tn != null) && (tn.Parent != null))
|
if ((tn != null) && (tn.Parent != null))
|
||||||
{
|
{
|
||||||
var zones = new List<Dat151AmbientZone>();
|
var zones = new List<Dat151AmbientZone>();
|
||||||
@ -2503,27 +2599,45 @@ namespace CodeWalker.Project.Panels
|
|||||||
tn.Parent.Nodes.Remove(tn);
|
tn.Parent.Nodes.Remove(tn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void RemoveAudioEmitterTreeNode(AudioPlacement emitter)
|
public void RemoveAudioAmbientRuleTreeNode(AudioPlacement rule)
|
||||||
{
|
{
|
||||||
var tn = FindAudioEmitterTreeNode(emitter);
|
var tn = FindAudioAmbientRuleTreeNode(rule);
|
||||||
if ((tn != null) && (tn.Parent != null))
|
if ((tn != null) && (tn.Parent != null))
|
||||||
{
|
{
|
||||||
var emitters = new List<Dat151AmbientRule>();
|
var rules = new List<Dat151AmbientRule>();
|
||||||
foreach (var reldata in emitter.RelFile.RelDatas)
|
foreach (var reldata in rule.RelFile.RelDatas)
|
||||||
{
|
{
|
||||||
if (reldata is Dat151AmbientRule)
|
if (reldata is Dat151AmbientRule)
|
||||||
{
|
{
|
||||||
emitters.Add(reldata as Dat151AmbientRule);
|
rules.Add(reldata as Dat151AmbientRule);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tn.Parent.Text = "Ambient Emitters (" + emitters.Count.ToString() + ")";
|
tn.Parent.Text = "Ambient Rules (" + rules.Count.ToString() + ")";
|
||||||
tn.Parent.Nodes.Remove(tn);
|
tn.Parent.Nodes.Remove(tn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void RemoveAudioZoneListTreeNode(Dat151AmbientZoneList list)
|
public void RemoveAudioStaticEmitterTreeNode(AudioPlacement emitter)
|
||||||
{
|
{
|
||||||
var tn = FindAudioZoneListTreeNode(list);
|
var tn = FindAudioStaticEmitterTreeNode(emitter);
|
||||||
|
if ((tn != null) && (tn.Parent != null))
|
||||||
|
{
|
||||||
|
var emitters = new List<Dat151StaticEmitter>();
|
||||||
|
foreach (var reldata in emitter.RelFile.RelDatas)
|
||||||
|
{
|
||||||
|
if (reldata is Dat151StaticEmitter)
|
||||||
|
{
|
||||||
|
emitters.Add(reldata as Dat151StaticEmitter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tn.Parent.Text = "Static Emitters (" + emitters.Count.ToString() + ")";
|
||||||
|
tn.Parent.Nodes.Remove(tn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public void RemoveAudioAmbientZoneListTreeNode(Dat151AmbientZoneList list)
|
||||||
|
{
|
||||||
|
var tn = FindAudioAmbientZoneListTreeNode(list);
|
||||||
if ((tn != null) && (tn.Parent != null))
|
if ((tn != null) && (tn.Parent != null))
|
||||||
{
|
{
|
||||||
var zonelists = new List<Dat151AmbientZoneList>();
|
var zonelists = new List<Dat151AmbientZoneList>();
|
||||||
@ -2539,9 +2653,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
tn.Parent.Nodes.Remove(tn);
|
tn.Parent.Nodes.Remove(tn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void RemoveAudioEmitterListTreeNode(Dat151StaticEmitterList list)
|
public void RemoveAudioStaticEmitterListTreeNode(Dat151StaticEmitterList list)
|
||||||
{
|
{
|
||||||
var tn = FindAudioEmitterListTreeNode(list);
|
var tn = FindAudioStaticEmitterListTreeNode(list);
|
||||||
if ((tn != null) && (tn.Parent != null))
|
if ((tn != null) && (tn.Parent != null))
|
||||||
{
|
{
|
||||||
var emitterlists = new List<Dat151StaticEmitterList>();
|
var emitterlists = new List<Dat151StaticEmitterList>();
|
||||||
@ -2553,21 +2667,21 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tn.Parent.Text = "Ambient Emitter Lists (" + emitterlists.Count.ToString() + ")";
|
tn.Parent.Text = "Static Emitter Lists (" + emitterlists.Count.ToString() + ")";
|
||||||
tn.Parent.Nodes.Remove(tn);
|
tn.Parent.Nodes.Remove(tn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void RemoveAudioInteriorTreeNode(Dat151Interior interior)
|
public void RemoveAudioInteriorTreeNode(Dat151InteriorSettings interior)
|
||||||
{
|
{
|
||||||
var tn = FindAudioInteriorTreeNode(interior);
|
var tn = FindAudioInteriorTreeNode(interior);
|
||||||
if ((tn != null) && (tn.Parent != null))
|
if ((tn != null) && (tn.Parent != null))
|
||||||
{
|
{
|
||||||
var interiors = new List<Dat151Interior>();
|
var interiors = new List<Dat151InteriorSettings>();
|
||||||
foreach (var reldata in interior.Rel.RelDatas)
|
foreach (var reldata in interior.Rel.RelDatas)
|
||||||
{
|
{
|
||||||
if (reldata is Dat151Interior)
|
if (reldata is Dat151InteriorSettings)
|
||||||
{
|
{
|
||||||
interiors.Add(reldata as Dat151Interior);
|
interiors.Add(reldata as Dat151InteriorSettings);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
47
CodeWalker/Project/ProjectForm.Designer.cs
generated
47
CodeWalker/Project/ProjectForm.Designer.cs
generated
@ -173,8 +173,8 @@
|
|||||||
this.AudioMenu = new System.Windows.Forms.ToolStripMenuItem();
|
this.AudioMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.AudioNameMenu = new System.Windows.Forms.ToolStripMenuItem();
|
this.AudioNameMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStripSeparator23 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator23 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.AudioNewAmbientEmitterMenu = new System.Windows.Forms.ToolStripMenuItem();
|
this.AudioNewAmbientRuleMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.AudioNewAmbientEmitterListMenu = new System.Windows.Forms.ToolStripMenuItem();
|
this.AudioNewStaticEmitterListMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.AudioNewAmbientZoneMenu = new System.Windows.Forms.ToolStripMenuItem();
|
this.AudioNewAmbientZoneMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.AudioNewAmbientZoneListMenu = new System.Windows.Forms.ToolStripMenuItem();
|
this.AudioNewAmbientZoneListMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.AudioNewInteriorMenu = new System.Windows.Forms.ToolStripMenuItem();
|
this.AudioNewInteriorMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
@ -213,6 +213,7 @@
|
|||||||
this.ToolbarSaveAllButton = new System.Windows.Forms.ToolStripButton();
|
this.ToolbarSaveAllButton = new System.Windows.Forms.ToolStripButton();
|
||||||
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.FolderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog();
|
this.FolderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog();
|
||||||
|
this.AudioNewStaticEmitterMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.MainMenu.SuspendLayout();
|
this.MainMenu.SuspendLayout();
|
||||||
this.MainToolbar.SuspendLayout();
|
this.MainToolbar.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
@ -1356,8 +1357,9 @@
|
|||||||
this.AudioMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.AudioMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.AudioNameMenu,
|
this.AudioNameMenu,
|
||||||
this.toolStripSeparator23,
|
this.toolStripSeparator23,
|
||||||
this.AudioNewAmbientEmitterMenu,
|
this.AudioNewAmbientRuleMenu,
|
||||||
this.AudioNewAmbientEmitterListMenu,
|
this.AudioNewStaticEmitterMenu,
|
||||||
|
this.AudioNewStaticEmitterListMenu,
|
||||||
this.AudioNewAmbientZoneMenu,
|
this.AudioNewAmbientZoneMenu,
|
||||||
this.AudioNewAmbientZoneListMenu,
|
this.AudioNewAmbientZoneListMenu,
|
||||||
this.AudioNewInteriorMenu,
|
this.AudioNewInteriorMenu,
|
||||||
@ -1382,21 +1384,21 @@
|
|||||||
this.toolStripSeparator23.Name = "toolStripSeparator23";
|
this.toolStripSeparator23.Name = "toolStripSeparator23";
|
||||||
this.toolStripSeparator23.Size = new System.Drawing.Size(213, 6);
|
this.toolStripSeparator23.Size = new System.Drawing.Size(213, 6);
|
||||||
//
|
//
|
||||||
// AudioNewAmbientEmitterMenu
|
// AudioNewAmbientRuleMenu
|
||||||
//
|
//
|
||||||
this.AudioNewAmbientEmitterMenu.Enabled = false;
|
this.AudioNewAmbientRuleMenu.Enabled = false;
|
||||||
this.AudioNewAmbientEmitterMenu.Name = "AudioNewAmbientEmitterMenu";
|
this.AudioNewAmbientRuleMenu.Name = "AudioNewAmbientRuleMenu";
|
||||||
this.AudioNewAmbientEmitterMenu.Size = new System.Drawing.Size(216, 22);
|
this.AudioNewAmbientRuleMenu.Size = new System.Drawing.Size(216, 22);
|
||||||
this.AudioNewAmbientEmitterMenu.Text = "New Ambient Emitter";
|
this.AudioNewAmbientRuleMenu.Text = "New Ambient Rule";
|
||||||
this.AudioNewAmbientEmitterMenu.Click += new System.EventHandler(this.AudioNewAmbientEmitterMenu_Click);
|
this.AudioNewAmbientRuleMenu.Click += new System.EventHandler(this.AudioNewAmbientRuleMenu_Click);
|
||||||
//
|
//
|
||||||
// AudioNewAmbientEmitterListMenu
|
// AudioNewStaticEmitterListMenu
|
||||||
//
|
//
|
||||||
this.AudioNewAmbientEmitterListMenu.Enabled = false;
|
this.AudioNewStaticEmitterListMenu.Enabled = false;
|
||||||
this.AudioNewAmbientEmitterListMenu.Name = "AudioNewAmbientEmitterListMenu";
|
this.AudioNewStaticEmitterListMenu.Name = "AudioNewStaticEmitterListMenu";
|
||||||
this.AudioNewAmbientEmitterListMenu.Size = new System.Drawing.Size(216, 22);
|
this.AudioNewStaticEmitterListMenu.Size = new System.Drawing.Size(216, 22);
|
||||||
this.AudioNewAmbientEmitterListMenu.Text = "New Ambient Emitter List";
|
this.AudioNewStaticEmitterListMenu.Text = "New Static Emitter List";
|
||||||
this.AudioNewAmbientEmitterListMenu.Click += new System.EventHandler(this.AudioNewAmbientEmitterListMenu_Click);
|
this.AudioNewStaticEmitterListMenu.Click += new System.EventHandler(this.AudioNewStaticEmitterListMenu_Click);
|
||||||
//
|
//
|
||||||
// AudioNewAmbientZoneMenu
|
// AudioNewAmbientZoneMenu
|
||||||
//
|
//
|
||||||
@ -1698,6 +1700,14 @@
|
|||||||
this.toolStripSeparator5.Name = "toolStripSeparator5";
|
this.toolStripSeparator5.Name = "toolStripSeparator5";
|
||||||
this.toolStripSeparator5.Size = new System.Drawing.Size(6, 25);
|
this.toolStripSeparator5.Size = new System.Drawing.Size(6, 25);
|
||||||
//
|
//
|
||||||
|
// AudioNewStaticEmitterMenu
|
||||||
|
//
|
||||||
|
this.AudioNewStaticEmitterMenu.Enabled = false;
|
||||||
|
this.AudioNewStaticEmitterMenu.Name = "AudioNewStaticEmitterMenu";
|
||||||
|
this.AudioNewStaticEmitterMenu.Size = new System.Drawing.Size(216, 22);
|
||||||
|
this.AudioNewStaticEmitterMenu.Text = "New Static Emitter";
|
||||||
|
this.AudioNewStaticEmitterMenu.Click += new System.EventHandler(this.AudioNewStaticEmitterMenu_Click);
|
||||||
|
//
|
||||||
// ProjectForm
|
// ProjectForm
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
@ -1840,8 +1850,8 @@
|
|||||||
private System.Windows.Forms.ToolStripMenuItem AudioMenu;
|
private System.Windows.Forms.ToolStripMenuItem AudioMenu;
|
||||||
private System.Windows.Forms.ToolStripMenuItem AudioNameMenu;
|
private System.Windows.Forms.ToolStripMenuItem AudioNameMenu;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator23;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator23;
|
||||||
private System.Windows.Forms.ToolStripMenuItem AudioNewAmbientEmitterMenu;
|
private System.Windows.Forms.ToolStripMenuItem AudioNewAmbientRuleMenu;
|
||||||
private System.Windows.Forms.ToolStripMenuItem AudioNewAmbientEmitterListMenu;
|
private System.Windows.Forms.ToolStripMenuItem AudioNewStaticEmitterListMenu;
|
||||||
private System.Windows.Forms.ToolStripMenuItem AudioNewAmbientZoneMenu;
|
private System.Windows.Forms.ToolStripMenuItem AudioNewAmbientZoneMenu;
|
||||||
private System.Windows.Forms.ToolStripMenuItem AudioNewAmbientZoneListMenu;
|
private System.Windows.Forms.ToolStripMenuItem AudioNewAmbientZoneListMenu;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator24;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator24;
|
||||||
@ -1907,5 +1917,6 @@
|
|||||||
private System.Windows.Forms.ToolStripMenuItem YtdRemoveFromProjectMenu;
|
private System.Windows.Forms.ToolStripMenuItem YtdRemoveFromProjectMenu;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator31;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator31;
|
||||||
private System.Windows.Forms.ToolStripMenuItem deleteGrassToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem deleteGrassToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem AudioNewStaticEmitterMenu;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -72,11 +72,12 @@ namespace CodeWalker.Project
|
|||||||
private MCScenarioChainingEdge CurrentScenarioChainEdge;
|
private MCScenarioChainingEdge CurrentScenarioChainEdge;
|
||||||
|
|
||||||
private RelFile CurrentAudioFile;
|
private RelFile CurrentAudioFile;
|
||||||
private AudioPlacement CurrentAudioZone;
|
private AudioPlacement CurrentAudioAmbientZone;
|
||||||
private AudioPlacement CurrentAudioEmitter;
|
private AudioPlacement CurrentAudioAmbientRule;
|
||||||
private Dat151AmbientZoneList CurrentAudioZoneList;
|
private AudioPlacement CurrentAudioStaticEmitter;
|
||||||
private Dat151StaticEmitterList CurrentAudioEmitterList;
|
private Dat151AmbientZoneList CurrentAudioAmbientZoneList;
|
||||||
private Dat151Interior CurrentAudioInterior;
|
private Dat151StaticEmitterList CurrentAudioStaticEmitterList;
|
||||||
|
private Dat151InteriorSettings CurrentAudioInterior;
|
||||||
private Dat151InteriorRoom CurrentAudioInteriorRoom;
|
private Dat151InteriorRoom CurrentAudioInteriorRoom;
|
||||||
|
|
||||||
private YbnFile CurrentYbnFile;
|
private YbnFile CurrentYbnFile;
|
||||||
@ -581,33 +582,40 @@ namespace CodeWalker.Project
|
|||||||
(panel) => { panel.SetFile(CurrentAudioFile); }, //updateFunc
|
(panel) => { panel.SetFile(CurrentAudioFile); }, //updateFunc
|
||||||
(panel) => { return panel.CurrentFile == CurrentAudioFile; }); //findFunc
|
(panel) => { return panel.CurrentFile == CurrentAudioFile; }); //findFunc
|
||||||
}
|
}
|
||||||
public void ShowEditAudioZonePanel(bool promote)
|
public void ShowEditAudioAmbientZonePanel(bool promote)
|
||||||
{
|
{
|
||||||
ShowPanel(promote,
|
ShowPanel(promote,
|
||||||
() => { return new EditAudioZonePanel(this); }, //createFunc
|
() => { return new EditAudioAmbientZonePanel(this); }, //createFunc
|
||||||
(panel) => { panel.SetZone(CurrentAudioZone); }, //updateFunc
|
(panel) => { panel.SetZone(CurrentAudioAmbientZone); }, //updateFunc
|
||||||
(panel) => { return panel.CurrentZone?.AudioZone == CurrentAudioZone?.AudioZone; }); //findFunc
|
(panel) => { return panel.CurrentZone?.AmbientZone == CurrentAudioAmbientZone?.AmbientZone; }); //findFunc
|
||||||
}
|
}
|
||||||
public void ShowEditAudioEmitterPanel(bool promote)
|
public void ShowEditAudioAmbientRulePanel(bool promote)
|
||||||
{
|
{
|
||||||
ShowPanel(promote,
|
ShowPanel(promote,
|
||||||
() => { return new EditAudioEmitterPanel(this); }, //createFunc
|
() => { return new EditAudioAmbientRulePanel(this); }, //createFunc
|
||||||
(panel) => { panel.SetEmitter(CurrentAudioEmitter); }, //updateFunc
|
(panel) => { panel.SetRule(CurrentAudioAmbientRule); }, //updateFunc
|
||||||
(panel) => { return panel.CurrentEmitter?.AudioEmitter == CurrentAudioEmitter?.AudioEmitter; }); //findFunc
|
(panel) => { return panel.CurrentRule?.AmbientRule == CurrentAudioAmbientRule?.AmbientRule; }); //findFunc
|
||||||
}
|
}
|
||||||
public void ShowEditAudioZoneListPanel(bool promote)
|
public void ShowEditAudioStaticEmitterPanel(bool promote)
|
||||||
{
|
{
|
||||||
ShowPanel(promote,
|
ShowPanel(promote,
|
||||||
() => { return new EditAudioZoneListPanel(this); }, //createFunc
|
() => { return new EditAudioStaticEmitterPanel(this); }, //createFunc
|
||||||
(panel) => { panel.SetZoneList(CurrentAudioZoneList); }, //updateFunc
|
(panel) => { panel.SetEmitter(CurrentAudioStaticEmitter); }, //updateFunc
|
||||||
(panel) => { return panel.CurrentZoneList == CurrentAudioZoneList; }); //findFunc
|
(panel) => { return panel.CurrentEmitter?.StaticEmitter == CurrentAudioStaticEmitter?.StaticEmitter; }); //findFunc
|
||||||
}
|
}
|
||||||
public void ShowEditAudioEmitterListPanel(bool promote)
|
public void ShowEditAudioAmbientZoneListPanel(bool promote)
|
||||||
{
|
{
|
||||||
ShowPanel(promote,
|
ShowPanel(promote,
|
||||||
() => { return new EditAudioEmitterListPanel(this); }, //createFunc
|
() => { return new EditAudioAmbientZoneListPanel(this); }, //createFunc
|
||||||
(panel) => { panel.SetEmitterList(CurrentAudioEmitterList); }, //updateFunc
|
(panel) => { panel.SetZoneList(CurrentAudioAmbientZoneList); }, //updateFunc
|
||||||
(panel) => { return panel.CurrentEmitterList == CurrentAudioEmitterList; }); //findFunc
|
(panel) => { return panel.CurrentZoneList == CurrentAudioAmbientZoneList; }); //findFunc
|
||||||
|
}
|
||||||
|
public void ShowEditAudioStaticEmitterListPanel(bool promote)
|
||||||
|
{
|
||||||
|
ShowPanel(promote,
|
||||||
|
() => { return new EditAudioStaticEmitterListPanel(this); }, //createFunc
|
||||||
|
(panel) => { panel.SetEmitterList(CurrentAudioStaticEmitterList); }, //updateFunc
|
||||||
|
(panel) => { return panel.CurrentEmitterList == CurrentAudioStaticEmitterList; }); //findFunc
|
||||||
}
|
}
|
||||||
public void ShowEditAudioInteriorPanel(bool promote)
|
public void ShowEditAudioInteriorPanel(bool promote)
|
||||||
{
|
{
|
||||||
@ -745,21 +753,25 @@ namespace CodeWalker.Project
|
|||||||
{
|
{
|
||||||
ShowEditScenarioYmtPanel(promote);
|
ShowEditScenarioYmtPanel(promote);
|
||||||
}
|
}
|
||||||
if (CurrentAudioZone != null)
|
if (CurrentAudioAmbientZone != null)
|
||||||
{
|
{
|
||||||
ShowEditAudioZonePanel(promote);
|
ShowEditAudioAmbientZonePanel(promote);
|
||||||
}
|
}
|
||||||
else if (CurrentAudioEmitter != null)
|
else if (CurrentAudioAmbientRule != null)
|
||||||
{
|
{
|
||||||
ShowEditAudioEmitterPanel(promote);
|
ShowEditAudioAmbientRulePanel(promote);
|
||||||
}
|
}
|
||||||
else if (CurrentAudioZoneList != null)
|
else if (CurrentAudioStaticEmitter != null)
|
||||||
{
|
{
|
||||||
ShowEditAudioZoneListPanel(promote);
|
ShowEditAudioStaticEmitterPanel(promote);
|
||||||
}
|
}
|
||||||
else if (CurrentAudioEmitterList != null)
|
else if (CurrentAudioAmbientZoneList != null)
|
||||||
{
|
{
|
||||||
ShowEditAudioEmitterListPanel(promote);
|
ShowEditAudioAmbientZoneListPanel(promote);
|
||||||
|
}
|
||||||
|
else if (CurrentAudioStaticEmitterList != null)
|
||||||
|
{
|
||||||
|
ShowEditAudioStaticEmitterListPanel(promote);
|
||||||
}
|
}
|
||||||
else if (CurrentAudioInterior != null)
|
else if (CurrentAudioInterior != null)
|
||||||
{
|
{
|
||||||
@ -855,11 +867,12 @@ namespace CodeWalker.Project
|
|||||||
CurrentScenarioNode = item as ScenarioNode;
|
CurrentScenarioNode = item as ScenarioNode;
|
||||||
CurrentScenarioChainEdge = item as MCScenarioChainingEdge;
|
CurrentScenarioChainEdge = item as MCScenarioChainingEdge;
|
||||||
CurrentAudioFile = item as RelFile;
|
CurrentAudioFile = item as RelFile;
|
||||||
CurrentAudioZone = item as AudioPlacement;
|
CurrentAudioAmbientZone = item as AudioPlacement;
|
||||||
CurrentAudioEmitter = item as AudioPlacement;
|
CurrentAudioAmbientRule = item as AudioPlacement;
|
||||||
CurrentAudioZoneList = item as Dat151AmbientZoneList;
|
CurrentAudioStaticEmitter = item as AudioPlacement;
|
||||||
CurrentAudioEmitterList = item as Dat151StaticEmitterList;
|
CurrentAudioAmbientZoneList = item as Dat151AmbientZoneList;
|
||||||
CurrentAudioInterior = item as Dat151Interior;
|
CurrentAudioStaticEmitterList = item as Dat151StaticEmitterList;
|
||||||
|
CurrentAudioInterior = item as Dat151InteriorSettings;
|
||||||
CurrentAudioInteriorRoom = item as Dat151InteriorRoom;
|
CurrentAudioInteriorRoom = item as Dat151InteriorRoom;
|
||||||
CurrentMloRoom = item as MCMloRoomDef;
|
CurrentMloRoom = item as MCMloRoomDef;
|
||||||
CurrentMloPortal = item as MCMloPortalDef;
|
CurrentMloPortal = item as MCMloPortalDef;
|
||||||
@ -869,14 +882,17 @@ namespace CodeWalker.Project
|
|||||||
CurrentYftFile = item as YftFile;
|
CurrentYftFile = item as YftFile;
|
||||||
CurrentYtdFile = item as YtdFile;
|
CurrentYtdFile = item as YtdFile;
|
||||||
|
|
||||||
if (CurrentAudioZone?.AudioZone == null) CurrentAudioZone = null;
|
if (CurrentAudioAmbientZone?.AmbientZone == null) CurrentAudioAmbientZone = null;
|
||||||
if (CurrentAudioEmitter?.AudioEmitter == null) CurrentAudioEmitter = null;
|
if (CurrentAudioAmbientRule?.AmbientRule == null) CurrentAudioAmbientRule = null;
|
||||||
|
if (CurrentAudioStaticEmitter?.StaticEmitter == null) CurrentAudioStaticEmitter = null;
|
||||||
|
|
||||||
//need to create a temporary AudioPlacement wrapper for these, since AudioPlacements usually come from WorldForm
|
//need to create a temporary AudioPlacement wrapper for these, since AudioPlacements usually come from WorldForm
|
||||||
var daz = item as Dat151AmbientZone;
|
var daz = item as Dat151AmbientZone;
|
||||||
var dae = item as Dat151AmbientRule;
|
var dae = item as Dat151AmbientRule;
|
||||||
if (daz != null) CurrentAudioZone = new AudioPlacement(daz.Rel, daz);
|
var dse = item as Dat151StaticEmitter;
|
||||||
if (dae != null) CurrentAudioEmitter = new AudioPlacement(dae.Rel, dae);
|
if (daz != null) CurrentAudioAmbientZone = new AudioPlacement(daz.Rel, daz);
|
||||||
|
if (dae != null) CurrentAudioAmbientRule = new AudioPlacement(dae.Rel, dae);
|
||||||
|
if (dse != null) CurrentAudioStaticEmitter = new AudioPlacement(dse.Rel, dse);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -988,21 +1004,25 @@ namespace CodeWalker.Project
|
|||||||
{
|
{
|
||||||
CurrentScenario = CurrentScenarioChainEdge.Region?.Ymt;
|
CurrentScenario = CurrentScenarioChainEdge.Region?.Ymt;
|
||||||
}
|
}
|
||||||
if (CurrentAudioZone != null)
|
if (CurrentAudioAmbientZone != null)
|
||||||
{
|
{
|
||||||
CurrentAudioFile = CurrentAudioZone.RelFile;
|
CurrentAudioFile = CurrentAudioAmbientZone.RelFile;
|
||||||
}
|
}
|
||||||
if (CurrentAudioEmitter != null)
|
if (CurrentAudioAmbientRule != null)
|
||||||
{
|
{
|
||||||
CurrentAudioFile = CurrentAudioEmitter.RelFile;
|
CurrentAudioFile = CurrentAudioAmbientRule.RelFile;
|
||||||
}
|
}
|
||||||
if (CurrentAudioZoneList != null)
|
if (CurrentAudioStaticEmitter != null)
|
||||||
{
|
{
|
||||||
CurrentAudioFile = CurrentAudioZoneList.Rel;
|
CurrentAudioFile = CurrentAudioStaticEmitter.RelFile;
|
||||||
}
|
}
|
||||||
if (CurrentAudioEmitterList != null)
|
if (CurrentAudioAmbientZoneList != null)
|
||||||
{
|
{
|
||||||
CurrentAudioFile = CurrentAudioEmitterList.Rel;
|
CurrentAudioFile = CurrentAudioAmbientZoneList.Rel;
|
||||||
|
}
|
||||||
|
if (CurrentAudioStaticEmitterList != null)
|
||||||
|
{
|
||||||
|
CurrentAudioFile = CurrentAudioStaticEmitterList.Rel;
|
||||||
}
|
}
|
||||||
if (CurrentAudioInterior != null)
|
if (CurrentAudioInterior != null)
|
||||||
{
|
{
|
||||||
@ -1845,8 +1865,9 @@ namespace CodeWalker.Project
|
|||||||
else if (sel.NavPortal != null) return NewNavPortal(sel.NavPortal, copyPosition, selectNew);
|
else if (sel.NavPortal != null) return NewNavPortal(sel.NavPortal, copyPosition, selectNew);
|
||||||
else if (sel.TrainTrackNode != null) return NewTrainNode(sel.TrainTrackNode, copyPosition, selectNew);
|
else if (sel.TrainTrackNode != null) return NewTrainNode(sel.TrainTrackNode, copyPosition, selectNew);
|
||||||
else if (sel.ScenarioNode != null) return NewScenarioNode(sel.ScenarioNode, copyPosition, selectNew);
|
else if (sel.ScenarioNode != null) return NewScenarioNode(sel.ScenarioNode, copyPosition, selectNew);
|
||||||
else if (sel.Audio?.AudioZone != null) return NewAudioZone(sel.Audio, copyPosition, selectNew);
|
else if (sel.Audio?.AmbientZone != null) return NewAudioAmbientZone(sel.Audio, copyPosition, selectNew);
|
||||||
else if (sel.Audio?.AudioEmitter != null) return NewAudioEmitter(sel.Audio, copyPosition, selectNew);
|
else if (sel.Audio?.AmbientRule != null) return NewAudioAmbientRule(sel.Audio, copyPosition, selectNew);
|
||||||
|
else if (sel.Audio?.StaticEmitter != null) return NewAudioStaticEmitter(sel.Audio, copyPosition, selectNew);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
public void DeleteObject(MapSelection sel)
|
public void DeleteObject(MapSelection sel)
|
||||||
@ -1873,8 +1894,9 @@ namespace CodeWalker.Project
|
|||||||
else if (sel.NavPortal != null) DeleteNavPortal();
|
else if (sel.NavPortal != null) DeleteNavPortal();
|
||||||
else if (sel.TrainTrackNode != null) DeleteTrainNode();
|
else if (sel.TrainTrackNode != null) DeleteTrainNode();
|
||||||
else if (sel.ScenarioNode != null) DeleteScenarioNode();
|
else if (sel.ScenarioNode != null) DeleteScenarioNode();
|
||||||
else if (sel.Audio?.AudioZone != null) DeleteAudioZone();
|
else if (sel.Audio?.AmbientZone != null) DeleteAudioAmbientZone();
|
||||||
else if (sel.Audio?.AudioEmitter != null) DeleteAudioEmitter();
|
else if (sel.Audio?.AmbientRule != null) DeleteAudioAmbientRule();
|
||||||
|
else if (sel.Audio?.StaticEmitter != null) DeleteAudioStaticEmitter();
|
||||||
}
|
}
|
||||||
private void SetObject(ref MapSelection sel)
|
private void SetObject(ref MapSelection sel)
|
||||||
{
|
{
|
||||||
@ -1893,8 +1915,9 @@ namespace CodeWalker.Project
|
|||||||
else if (sel.NavPortal != null) SetProjectItem(sel.NavPortal, false);
|
else if (sel.NavPortal != null) SetProjectItem(sel.NavPortal, false);
|
||||||
else if (sel.TrainTrackNode != null) SetProjectItem(sel.TrainTrackNode, false);
|
else if (sel.TrainTrackNode != null) SetProjectItem(sel.TrainTrackNode, false);
|
||||||
else if (sel.ScenarioNode != null) SetProjectItem(sel.ScenarioNode, false);
|
else if (sel.ScenarioNode != null) SetProjectItem(sel.ScenarioNode, false);
|
||||||
else if (sel.Audio?.AudioZone != null) SetProjectItem(sel.Audio, false);
|
else if (sel.Audio?.AmbientZone != null) SetProjectItem(sel.Audio, false);
|
||||||
else if (sel.Audio?.AudioEmitter != null) SetProjectItem(sel.Audio, false);
|
else if (sel.Audio?.AmbientRule != null) SetProjectItem(sel.Audio, false);
|
||||||
|
else if (sel.Audio?.StaticEmitter != null) SetProjectItem(sel.Audio, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -6382,13 +6405,17 @@ namespace CodeWalker.Project
|
|||||||
}
|
}
|
||||||
CurrentAudioFile = rel;
|
CurrentAudioFile = rel;
|
||||||
RefreshUI();
|
RefreshUI();
|
||||||
if (CurrentAudioZone != null)
|
if (CurrentAudioAmbientZone != null)
|
||||||
{
|
{
|
||||||
ProjectExplorer?.TrySelectAudioZoneTreeNode(CurrentAudioZone);
|
ProjectExplorer?.TrySelectAudioAmbientZoneTreeNode(CurrentAudioAmbientZone);
|
||||||
}
|
}
|
||||||
else if (CurrentAudioEmitter != null)
|
else if (CurrentAudioAmbientRule != null)
|
||||||
{
|
{
|
||||||
ProjectExplorer?.TrySelectAudioEmitterTreeNode(CurrentAudioEmitter);
|
ProjectExplorer?.TrySelectAudioAmbientRuleTreeNode(CurrentAudioAmbientRule);
|
||||||
|
}
|
||||||
|
else if (CurrentAudioStaticEmitter != null)
|
||||||
|
{
|
||||||
|
ProjectExplorer?.TrySelectAudioStaticEmitterTreeNode(CurrentAudioStaticEmitter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void RemoveAudioFileFromProject()
|
public void RemoveAudioFileFromProject()
|
||||||
@ -6407,13 +6434,13 @@ namespace CodeWalker.Project
|
|||||||
return CurrentProjectFile.ContainsAudioRel(rel);
|
return CurrentProjectFile.ContainsAudioRel(rel);
|
||||||
}
|
}
|
||||||
|
|
||||||
public AudioPlacement NewAudioZone(AudioPlacement copy = null, bool copyPosition = false, bool selectNew = true)
|
public AudioPlacement NewAudioAmbientZone(AudioPlacement copy = null, bool copyPosition = false, bool selectNew = true)
|
||||||
{
|
{
|
||||||
if (CurrentAudioFile == null) return null;
|
if (CurrentAudioFile == null) return null;
|
||||||
|
|
||||||
if (copy == null)
|
if (copy == null)
|
||||||
{
|
{
|
||||||
copy = CurrentAudioZone;
|
copy = CurrentAudioAmbientZone;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cp = copyPosition && (copy != null);
|
bool cp = copyPosition && (copy != null);
|
||||||
@ -6422,33 +6449,36 @@ namespace CodeWalker.Project
|
|||||||
|
|
||||||
//AA800424 box, line
|
//AA800424 box, line
|
||||||
//AA800420 sphere
|
//AA800420 sphere
|
||||||
zone.Flags0 = cp ? copy.AudioZone.Flags0.Value : 0xAA800424;
|
zone.Flags = cp ? copy.AmbientZone.Flags.Value : 0xAA800424;
|
||||||
zone.Flags1 = cp ? copy.AudioZone.Flags1 : 0;
|
zone.Shape = cp ? copy.AmbientZone.Shape : Dat151ZoneShape.Box;
|
||||||
zone.Shape = cp ? copy.AudioZone.Shape : Dat151ZoneShape.Box;
|
zone.PositioningZoneSize = cp ? copy.AmbientZone.PositioningZoneSize : Vector3.One * 10.0f;
|
||||||
zone.PlaybackZoneSize = cp ? copy.AudioZone.PlaybackZoneSize : Vector3.One * 10.0f;
|
zone.PositioningZoneRotationAngle = (ushort)(cp ? copy.AmbientZone.PositioningZoneRotationAngle : 0);
|
||||||
zone.PlaybackZoneAngle = cp ? copy.AudioZone.PlaybackZoneAngle : 0;
|
zone.PositioningZonePostRotationOffset = cp ? copy.AmbientZone.PositioningZonePostRotationOffset : Vector3.Zero;
|
||||||
zone.PlaybackZoneVec1 = cp ? copy.AudioZone.PlaybackZoneVec1 : Vector4.Zero;
|
zone.PositioningZoneSizeScale = cp ? copy.AmbientZone.PositioningZoneSizeScale : new Vector3(1, 1, 1);
|
||||||
zone.PlaybackZoneVec2 = cp ? copy.AudioZone.PlaybackZoneVec2 : new Vector4(1, 1, 1, 0);
|
zone.ActivationZoneSize = cp ? copy.AmbientZone.ActivationZoneSize : Vector3.One * 15.0f;
|
||||||
zone.PlaybackZoneVec3 = cp ? copy.AudioZone.PlaybackZoneVec3 : Vector3.Zero;
|
zone.ActivationZoneRotationAngle = (ushort)(cp ? copy.AmbientZone.ActivationZoneRotationAngle : 0);
|
||||||
zone.ActivationZoneSize = cp ? copy.AudioZone.ActivationZoneSize : Vector3.One * 15.0f;
|
zone.ActivationZonePostRotationOffset = cp ? copy.AmbientZone.ActivationZonePostRotationOffset : Vector3.Zero;
|
||||||
zone.ActivationZoneAngle = cp ? copy.AudioZone.ActivationZoneAngle : 0;
|
zone.ActivationZoneSizeScale = cp ? copy.AmbientZone.ActivationZoneSizeScale : new Vector3(1, 1, 1);
|
||||||
zone.ActivationZoneVec1 = cp ? copy.AudioZone.ActivationZoneVec1 : Vector4.Zero;
|
zone.BuiltUpFactor = cp ? copy.AmbientZone.BuiltUpFactor : 0;
|
||||||
zone.ActivationZoneVec2 = cp ? copy.AudioZone.ActivationZoneVec2 : new Vector4(1, 1, 1, 0);
|
zone.MinPedDensity = cp ? copy.AmbientZone.MinPedDensity : 0;
|
||||||
zone.ActivationZoneVec3 = cp ? copy.AudioZone.ActivationZoneVec3 : Vector3.Zero;
|
zone.MaxPedDensity = cp ? copy.AmbientZone.MaxPedDensity : 0;
|
||||||
zone.UnkVec1 = cp ? copy.AudioZone.UnkVec1 : new Vector4(0, 0, 1, 0);
|
zone.PedDensityTOD = cp ? copy.AmbientZone.PedDensityTOD : 0;
|
||||||
zone.UnkVec2 = cp ? copy.AudioZone.UnkVec2 : new Vector4(1, -1, -1, 0);
|
zone.PedDensityScalar = cp ? copy.AmbientZone.PedDensityScalar : 0;
|
||||||
zone.UnkHash0 = cp ? copy.AudioZone.UnkHash0 : 0;
|
zone.MaxWindInfluence = cp ? copy.AmbientZone.MaxWindInfluence : 0;
|
||||||
zone.Scene = cp ? copy.AudioZone.Scene : 0;
|
zone.MinWindInfluence = cp ? copy.AmbientZone.MinWindInfluence : 0;
|
||||||
zone.UnkVec3 = cp ? copy.AudioZone.UnkVec3 : new Vector2(-1, 0);
|
zone.WindElevationSounds = cp ? copy.AmbientZone.WindElevationSounds : 0;
|
||||||
zone.Unk13 = cp ? copy.AudioZone.Unk13 : 0;
|
zone.EnvironmentRule = cp ? copy.AmbientZone.EnvironmentRule : 0;
|
||||||
zone.Unk14 = cp ? copy.AudioZone.Unk14 : (byte)4;
|
zone.AudioScene = cp ? copy.AmbientZone.AudioScene : 0;
|
||||||
zone.Unk15 = cp ? copy.AudioZone.Unk15 : (byte)1;
|
zone.UnderwaterCreakFactor = cp ? copy.AmbientZone.UnderwaterCreakFactor : 0;
|
||||||
zone.Unk16 = cp ? copy.AudioZone.Unk16 : (byte)0;
|
zone.PedWallaSettings = cp ? copy.AmbientZone.PedWallaSettings : 0;
|
||||||
zone.RulesCount = cp ? copy.AudioZone.RulesCount : (byte)0;
|
zone.RandomisedRadioSettings = cp ? copy.AmbientZone.RandomisedRadioSettings : 0;
|
||||||
zone.Rules = cp ? copy.AudioZone.Rules : null;
|
zone.NumRulesToPlay = cp ? copy.AmbientZone.NumRulesToPlay : (byte)4;
|
||||||
zone.DependentAmbiencesCount = cp ? copy.AudioZone.DependentAmbiencesCount : 0;
|
zone.ZoneWaterCalculation = cp ? copy.AmbientZone.ZoneWaterCalculation : (byte)1;
|
||||||
zone.DependentAmbiences = cp ? copy.AudioZone.DependentAmbiences : null;
|
zone.NumDirAmbiences = cp ? copy.AmbientZone.NumDirAmbiences : (byte)0;
|
||||||
zone.Name = "zone1";
|
zone.NumRules = cp ? copy.AmbientZone.NumRules : (byte)0;
|
||||||
|
zone.Rules = cp ? copy.AmbientZone.Rules : null;
|
||||||
|
zone.DirAmbiences = cp ? copy.AmbientZone.DirAmbiences : null;
|
||||||
|
zone.Name = "ambientzone1";
|
||||||
zone.NameHash = JenkHash.GenHash(zone.Name);
|
zone.NameHash = JenkHash.GenHash(zone.Name);
|
||||||
|
|
||||||
var ap = new AudioPlacement(CurrentAudioFile, zone);
|
var ap = new AudioPlacement(CurrentAudioFile, zone);
|
||||||
@ -6467,10 +6497,10 @@ namespace CodeWalker.Project
|
|||||||
{
|
{
|
||||||
LoadProjectTree();
|
LoadProjectTree();
|
||||||
|
|
||||||
ProjectExplorer?.TrySelectAudioZoneTreeNode(ap);
|
ProjectExplorer?.TrySelectAudioAmbientZoneTreeNode(ap);
|
||||||
CurrentAudioZone = ap;
|
CurrentAudioAmbientZone = ap;
|
||||||
|
|
||||||
ShowEditAudioZonePanel(false);
|
ShowEditAudioAmbientZonePanel(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (WorldForm != null)
|
if (WorldForm != null)
|
||||||
@ -6480,12 +6510,12 @@ namespace CodeWalker.Project
|
|||||||
|
|
||||||
return ap;
|
return ap;
|
||||||
}
|
}
|
||||||
public bool DeleteAudioZone()
|
public bool DeleteAudioAmbientZone()
|
||||||
{
|
{
|
||||||
if (CurrentAudioZone?.RelFile != CurrentAudioFile) return false;
|
if (CurrentAudioAmbientZone?.RelFile != CurrentAudioFile) return false;
|
||||||
if (CurrentAudioFile?.RelDatas == null) return false; //nothing to delete..
|
if (CurrentAudioFile?.RelDatas == null) return false; //nothing to delete..
|
||||||
if (CurrentAudioFile?.RelDatasSorted == null) return false; //nothing to delete..
|
if (CurrentAudioFile?.RelDatasSorted == null) return false; //nothing to delete..
|
||||||
if (CurrentAudioZone?.AudioZone == null) return false;
|
if (CurrentAudioAmbientZone?.AmbientZone == null) return false;
|
||||||
|
|
||||||
|
|
||||||
//if (MessageBox.Show("Are you sure you want to delete this audio zone?\n" + CurrentAudioZone.GetNameString() + "\n" + CurrentAudioZone.Position.ToString() + "\n\nThis operation cannot be undone. Continue?", "Confirm delete", MessageBoxButtons.YesNo) != DialogResult.Yes)
|
//if (MessageBox.Show("Are you sure you want to delete this audio zone?\n" + CurrentAudioZone.GetNameString() + "\n" + CurrentAudioZone.Position.ToString() + "\n\nThis operation cannot be undone. Continue?", "Confirm delete", MessageBoxButtons.YesNo) != DialogResult.Yes)
|
||||||
@ -6498,29 +6528,29 @@ namespace CodeWalker.Project
|
|||||||
{
|
{
|
||||||
lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering...
|
lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering...
|
||||||
{
|
{
|
||||||
res = CurrentAudioFile.RemoveRelData(CurrentAudioZone.AudioZone);
|
res = CurrentAudioFile.RemoveRelData(CurrentAudioAmbientZone.AmbientZone);
|
||||||
|
|
||||||
WorldForm.UpdateAudioPlacementGraphics(CurrentAudioFile);
|
WorldForm.UpdateAudioPlacementGraphics(CurrentAudioFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
res = CurrentAudioFile.RemoveRelData(CurrentAudioZone.AudioZone);
|
res = CurrentAudioFile.RemoveRelData(CurrentAudioAmbientZone.AmbientZone);
|
||||||
}
|
}
|
||||||
if (!res)
|
if (!res)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Unspecified error occurred when removing the audio zone from the file!");
|
MessageBox.Show("Unspecified error occurred when removing the audio zone from the file!");
|
||||||
}
|
}
|
||||||
|
|
||||||
var delzone = CurrentAudioZone;
|
var delzone = CurrentAudioAmbientZone;
|
||||||
var delrel = CurrentAudioFile;
|
var delrel = CurrentAudioFile;
|
||||||
|
|
||||||
ProjectExplorer?.RemoveAudioZoneTreeNode(delzone);
|
ProjectExplorer?.RemoveAudioAmbientZoneTreeNode(delzone);
|
||||||
ProjectExplorer?.SetAudioRelHasChanged(delrel, true);
|
ProjectExplorer?.SetAudioRelHasChanged(delrel, true);
|
||||||
|
|
||||||
ClosePanel((EditAudioZonePanel p) => { return p.CurrentZone.AudioZone == delzone.AudioZone; });
|
ClosePanel((EditAudioAmbientZonePanel p) => { return p.CurrentZone.AmbientZone == delzone.AmbientZone; });
|
||||||
|
|
||||||
CurrentAudioZone = null;
|
CurrentAudioAmbientZone = null;
|
||||||
|
|
||||||
if (WorldForm != null)
|
if (WorldForm != null)
|
||||||
{
|
{
|
||||||
@ -6529,42 +6559,159 @@ namespace CodeWalker.Project
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public bool IsCurrentAudioZone(AudioPlacement zone)
|
|
||||||
{
|
|
||||||
return zone == CurrentAudioZone;
|
|
||||||
}
|
|
||||||
|
|
||||||
public AudioPlacement NewAudioEmitter(AudioPlacement copy = null, bool copyPosition = false, bool selectNew = true)
|
public AudioPlacement NewAudioAmbientRule(AudioPlacement copy = null, bool copyPosition = false, bool selectNew = true)
|
||||||
{
|
{
|
||||||
if (CurrentAudioFile == null) return null;
|
if (CurrentAudioFile == null) return null;
|
||||||
|
|
||||||
if (copy == null)
|
if (copy == null)
|
||||||
{
|
{
|
||||||
copy = CurrentAudioEmitter;
|
copy = CurrentAudioAmbientRule;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cp = copyPosition && (copy != null);
|
bool cp = copyPosition && (copy != null);
|
||||||
|
|
||||||
var emitter = new Dat151AmbientRule(CurrentAudioFile);
|
var rule = new Dat151AmbientRule(CurrentAudioFile);
|
||||||
|
|
||||||
emitter.Flags0 = cp ? copy.AudioEmitter.Flags0.Value : 0xAA001100;
|
rule.DynamicBankID = cp ? copy.AmbientRule.DynamicBankID : 0;
|
||||||
emitter.Flags5 = cp ? copy.AudioEmitter.Flags5.Value : 0xFFFFFFFF;
|
rule.MinDist = cp ? copy.AmbientRule.MinDist : 0.0f;
|
||||||
emitter.InnerRadius = cp ? copy.AudioEmitter.InnerRadius : 0.0f;
|
rule.MaxDist = cp ? copy.AmbientRule.MaxDist : 20.0f;
|
||||||
emitter.OuterRadius = cp ? copy.AudioEmitter.OuterRadius : 20.0f;
|
rule.Weight = cp ? copy.AmbientRule.Weight : 1.0f;
|
||||||
emitter.Unk01 = cp ? copy.AudioEmitter.Unk01 : 1.0f;
|
rule.MinTimeMinutes = cp ? copy.AmbientRule.MinTimeMinutes : (ushort)0;
|
||||||
emitter.StartTime = cp ? copy.AudioEmitter.StartTime : (ushort)0;
|
rule.MaxTimeMinutes = cp ? copy.AmbientRule.MaxTimeMinutes : (ushort)1440;
|
||||||
emitter.EndTime = cp ? copy.AudioEmitter.EndTime : (ushort)1440;
|
rule.MinRepeatTime = cp ? copy.AmbientRule.MinRepeatTime : (ushort)0;
|
||||||
emitter.Frequency = cp ? copy.AudioEmitter.Frequency.Value : (ushort)0;
|
rule.MinRepeatTimeVariance = cp ? copy.AmbientRule.MinRepeatTimeVariance : (ushort)0;
|
||||||
emitter.Unk07 = cp ? copy.AudioEmitter.Unk07.Value : (ushort)0;
|
rule.SpawnHeight = cp ? copy.AmbientRule.SpawnHeight : (byte)0;
|
||||||
emitter.Unk08 = cp ? copy.AudioEmitter.Unk08.Value : (byte)0;
|
rule.ExplicitSpawn = cp ? copy.AmbientRule.ExplicitSpawn : Dat151AmbientRule.ExplicitSpawnType.WorldRelative;
|
||||||
emitter.Unk09 = cp ? copy.AudioEmitter.Unk09.Value : (byte)1;
|
rule.MaxLocalInstances = cp ? copy.AmbientRule.MaxLocalInstances : (byte)1;
|
||||||
emitter.Unk10 = cp ? copy.AudioEmitter.Unk10.Value : (byte)1;
|
rule.MaxGlobalInstances = cp ? copy.AmbientRule.MaxGlobalInstances : (byte)1;
|
||||||
emitter.Unk11 = cp ? copy.AudioEmitter.Unk11.Value : (byte)1;
|
rule.BlockabilityFactor = cp ? copy.AmbientRule.BlockabilityFactor : (byte)100;
|
||||||
emitter.Unk12 = cp ? copy.AudioEmitter.Unk12.Value : (byte)100;
|
rule.MaxPathDepth = cp ? copy.AmbientRule.MaxPathDepth : (byte)3;
|
||||||
emitter.Unk13 = cp ? copy.AudioEmitter.Unk13.Value : (byte)3;
|
|
||||||
|
|
||||||
|
|
||||||
emitter.Name = "emitter1";
|
rule.Name = "ambientrule1";
|
||||||
|
rule.NameHash = JenkHash.GenHash(rule.Name);
|
||||||
|
|
||||||
|
var ap = new AudioPlacement(CurrentAudioFile, rule);
|
||||||
|
ap.Name = rule.Name;
|
||||||
|
ap.NameHash = rule.NameHash;
|
||||||
|
|
||||||
|
Vector3 pos = cp ? copy.Position : GetSpawnPos(20.0f);
|
||||||
|
Quaternion ori = cp ? copy.Orientation : Quaternion.Identity;
|
||||||
|
ap.SetPosition(pos);
|
||||||
|
ap.SetOrientation(ori);
|
||||||
|
|
||||||
|
|
||||||
|
CurrentAudioFile.AddRelData(rule);
|
||||||
|
|
||||||
|
if (selectNew)
|
||||||
|
{
|
||||||
|
LoadProjectTree();
|
||||||
|
|
||||||
|
ProjectExplorer?.TrySelectAudioAmbientRuleTreeNode(ap);
|
||||||
|
CurrentAudioAmbientRule = ap;
|
||||||
|
|
||||||
|
ShowEditAudioAmbientRulePanel(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (WorldForm != null)
|
||||||
|
{
|
||||||
|
WorldForm.UpdateAudioPlacementGraphics(CurrentAudioFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ap;
|
||||||
|
}
|
||||||
|
public bool DeleteAudioAmbientRule()
|
||||||
|
{
|
||||||
|
if (CurrentAudioAmbientRule?.RelFile != CurrentAudioFile) return false;
|
||||||
|
if (CurrentAudioFile?.RelDatas == null) return false; //nothing to delete..
|
||||||
|
if (CurrentAudioFile?.RelDatasSorted == null) return false; //nothing to delete..
|
||||||
|
if (CurrentAudioAmbientRule?.AmbientRule == null) return false;
|
||||||
|
|
||||||
|
|
||||||
|
//if (MessageBox.Show("Are you sure you want to delete this audio emitter?\n" + CurrentAudioEmitter.GetNameString() + "\n" + CurrentAudioEmitter.Position.ToString() + "\n\nThis operation cannot be undone. Continue?", "Confirm delete", MessageBoxButtons.YesNo) != DialogResult.Yes)
|
||||||
|
//{
|
||||||
|
// return true;
|
||||||
|
//}
|
||||||
|
|
||||||
|
bool res = false;
|
||||||
|
if (WorldForm != null)
|
||||||
|
{
|
||||||
|
lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering...
|
||||||
|
{
|
||||||
|
res = CurrentAudioFile.RemoveRelData(CurrentAudioAmbientRule.AmbientRule);
|
||||||
|
|
||||||
|
WorldForm.UpdateAudioPlacementGraphics(CurrentAudioFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
res = CurrentAudioFile.RemoveRelData(CurrentAudioAmbientRule.AmbientRule);
|
||||||
|
}
|
||||||
|
if (!res)
|
||||||
|
{
|
||||||
|
MessageBox.Show("Unspecified error occurred when removing the audio rule from the file!");
|
||||||
|
}
|
||||||
|
|
||||||
|
var delem = CurrentAudioAmbientRule;
|
||||||
|
var delrel = CurrentAudioFile;
|
||||||
|
|
||||||
|
ProjectExplorer?.RemoveAudioAmbientRuleTreeNode(delem);
|
||||||
|
ProjectExplorer?.SetAudioRelHasChanged(delrel, true);
|
||||||
|
|
||||||
|
CurrentAudioAmbientRule = null;
|
||||||
|
|
||||||
|
ClosePanel((EditAudioAmbientRulePanel p) => { return p.CurrentRule.AmbientRule == delem.AmbientRule; });
|
||||||
|
|
||||||
|
|
||||||
|
if (WorldForm != null)
|
||||||
|
{
|
||||||
|
WorldForm.SelectItem(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AudioPlacement NewAudioStaticEmitter(AudioPlacement copy = null, bool copyPosition = false, bool selectNew = true)
|
||||||
|
{
|
||||||
|
if (CurrentAudioFile == null) return null;
|
||||||
|
|
||||||
|
if (copy == null)
|
||||||
|
{
|
||||||
|
copy = CurrentAudioStaticEmitter;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool cp = copyPosition && (copy != null);
|
||||||
|
|
||||||
|
var emitter = new Dat151StaticEmitter(CurrentAudioFile);
|
||||||
|
|
||||||
|
emitter.Flags = cp ? copy.StaticEmitter.Flags : 0;
|
||||||
|
emitter.ChildSound = cp ? copy.StaticEmitter.ChildSound : 0;
|
||||||
|
emitter.RadioStation = cp ? copy.StaticEmitter.RadioStation : 0;
|
||||||
|
emitter.MinDistance = cp ? copy.StaticEmitter.MinDistance : 0.0f;
|
||||||
|
emitter.MaxDistance = cp ? copy.StaticEmitter.MaxDistance : 20.0f;
|
||||||
|
emitter.EmittedVolume = cp ? copy.StaticEmitter.EmittedVolume : 0;
|
||||||
|
emitter.LPFCutoff = cp ? copy.StaticEmitter.LPFCutoff : (ushort)0;
|
||||||
|
emitter.HPFCutoff = cp ? copy.StaticEmitter.HPFCutoff : (ushort)0;
|
||||||
|
emitter.RolloffFactor = cp ? copy.StaticEmitter.RolloffFactor : (ushort)0;
|
||||||
|
emitter.Interior = cp ? copy.StaticEmitter.Interior : 0;
|
||||||
|
emitter.Room = cp ? copy.StaticEmitter.Room : 0;
|
||||||
|
emitter.RadioStationForScore = cp ? copy.StaticEmitter.RadioStationForScore : 0;
|
||||||
|
emitter.MaxLeakage = cp ? copy.StaticEmitter.MaxLeakage : 1.0f;
|
||||||
|
emitter.MinLeakageDistance = cp ? copy.StaticEmitter.MinLeakageDistance : (ushort)0;
|
||||||
|
emitter.MaxLeakageDistance = cp ? copy.StaticEmitter.MaxLeakageDistance : (ushort)0;
|
||||||
|
emitter.Alarm = cp ? copy.StaticEmitter.Alarm : 0;
|
||||||
|
emitter.OnBreakOneShot = cp ? copy.StaticEmitter.OnBreakOneShot : 0;
|
||||||
|
emitter.MaxPathDepth = cp ? copy.StaticEmitter.MaxPathDepth : (byte)3;
|
||||||
|
emitter.SmallReverbSend = cp ? copy.StaticEmitter.SmallReverbSend : (byte)0;
|
||||||
|
emitter.MediumReverbSend = cp ? copy.StaticEmitter.MediumReverbSend : (byte)0;
|
||||||
|
emitter.LargeReverbSend = cp ? copy.StaticEmitter.LargeReverbSend : (byte)0;
|
||||||
|
emitter.MinTimeMinutes = cp ? copy.StaticEmitter.MinTimeMinutes : (ushort)0;
|
||||||
|
emitter.MaxTimeMinutes = cp ? copy.StaticEmitter.MaxTimeMinutes : (ushort)1440;
|
||||||
|
emitter.BrokenHealth = cp ? copy.StaticEmitter.BrokenHealth : 0.0f;
|
||||||
|
emitter.UndamagedHealth = cp ? copy.StaticEmitter.UndamagedHealth : 0.0f;
|
||||||
|
|
||||||
|
emitter.Name = "staticemitter1";
|
||||||
emitter.NameHash = JenkHash.GenHash(emitter.Name);
|
emitter.NameHash = JenkHash.GenHash(emitter.Name);
|
||||||
|
|
||||||
var ap = new AudioPlacement(CurrentAudioFile, emitter);
|
var ap = new AudioPlacement(CurrentAudioFile, emitter);
|
||||||
@ -6583,10 +6730,10 @@ namespace CodeWalker.Project
|
|||||||
{
|
{
|
||||||
LoadProjectTree();
|
LoadProjectTree();
|
||||||
|
|
||||||
ProjectExplorer?.TrySelectAudioEmitterTreeNode(ap);
|
ProjectExplorer?.TrySelectAudioStaticEmitterTreeNode(ap);
|
||||||
CurrentAudioEmitter = ap;
|
CurrentAudioStaticEmitter = ap;
|
||||||
|
|
||||||
ShowEditAudioEmitterPanel(false);
|
ShowEditAudioStaticEmitterPanel(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (WorldForm != null)
|
if (WorldForm != null)
|
||||||
@ -6596,15 +6743,15 @@ namespace CodeWalker.Project
|
|||||||
|
|
||||||
return ap;
|
return ap;
|
||||||
}
|
}
|
||||||
public bool DeleteAudioEmitter()
|
public bool DeleteAudioStaticEmitter()
|
||||||
{
|
{
|
||||||
if (CurrentAudioEmitter?.RelFile != CurrentAudioFile) return false;
|
if (CurrentAudioStaticEmitter?.RelFile != CurrentAudioFile) return false;
|
||||||
if (CurrentAudioFile?.RelDatas == null) return false; //nothing to delete..
|
if (CurrentAudioFile?.RelDatas == null) return false; //nothing to delete..
|
||||||
if (CurrentAudioFile?.RelDatasSorted == null) return false; //nothing to delete..
|
if (CurrentAudioFile?.RelDatasSorted == null) return false; //nothing to delete..
|
||||||
if (CurrentAudioEmitter?.AudioEmitter == null) return false;
|
if (CurrentAudioStaticEmitter?.StaticEmitter == null) return false;
|
||||||
|
|
||||||
|
|
||||||
//if (MessageBox.Show("Are you sure you want to delete this audio emitter?\n" + CurrentAudioEmitter.GetNameString() + "\n" + CurrentAudioEmitter.Position.ToString() + "\n\nThis operation cannot be undone. Continue?", "Confirm delete", MessageBoxButtons.YesNo) != DialogResult.Yes)
|
//if (MessageBox.Show("Are you sure you want to delete this audio emitter?\n" + CurrentAudioStaticEmitter.GetNameString() + "\n" + CurrentAudioStaticEmitter.Position.ToString() + "\n\nThis operation cannot be undone. Continue?", "Confirm delete", MessageBoxButtons.YesNo) != DialogResult.Yes)
|
||||||
//{
|
//{
|
||||||
// return true;
|
// return true;
|
||||||
//}
|
//}
|
||||||
@ -6614,29 +6761,29 @@ namespace CodeWalker.Project
|
|||||||
{
|
{
|
||||||
lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering...
|
lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering...
|
||||||
{
|
{
|
||||||
res = CurrentAudioFile.RemoveRelData(CurrentAudioEmitter.AudioEmitter);
|
res = CurrentAudioFile.RemoveRelData(CurrentAudioStaticEmitter.StaticEmitter);
|
||||||
|
|
||||||
WorldForm.UpdateAudioPlacementGraphics(CurrentAudioFile);
|
WorldForm.UpdateAudioPlacementGraphics(CurrentAudioFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
res = CurrentAudioFile.RemoveRelData(CurrentAudioEmitter.AudioEmitter);
|
res = CurrentAudioFile.RemoveRelData(CurrentAudioStaticEmitter.StaticEmitter);
|
||||||
}
|
}
|
||||||
if (!res)
|
if (!res)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Unspecified error occurred when removing the audio emitter from the file!");
|
MessageBox.Show("Unspecified error occurred when removing the static emitter from the file!");
|
||||||
}
|
}
|
||||||
|
|
||||||
var delem = CurrentAudioEmitter;
|
var delem = CurrentAudioStaticEmitter;
|
||||||
var delrel = CurrentAudioFile;
|
var delrel = CurrentAudioFile;
|
||||||
|
|
||||||
ProjectExplorer?.RemoveAudioEmitterTreeNode(delem);
|
ProjectExplorer?.RemoveAudioStaticEmitterTreeNode(delem);
|
||||||
ProjectExplorer?.SetAudioRelHasChanged(delrel, true);
|
ProjectExplorer?.SetAudioRelHasChanged(delrel, true);
|
||||||
|
|
||||||
CurrentAudioEmitter = null;
|
CurrentAudioStaticEmitter = null;
|
||||||
|
|
||||||
ClosePanel((EditAudioEmitterPanel p) => { return p.CurrentEmitter.AudioEmitter == delem.AudioEmitter; });
|
ClosePanel((EditAudioStaticEmitterPanel p) => { return p.CurrentEmitter.StaticEmitter == delem.StaticEmitter; });
|
||||||
|
|
||||||
|
|
||||||
if (WorldForm != null)
|
if (WorldForm != null)
|
||||||
@ -6646,12 +6793,8 @@ namespace CodeWalker.Project
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public bool IsCurrentAudioEmitter(AudioPlacement emitter)
|
|
||||||
{
|
|
||||||
return emitter == CurrentAudioEmitter;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void NewAudioZoneList()
|
public void NewAudioAmbientZoneList()
|
||||||
{
|
{
|
||||||
if (CurrentAudioFile == null) return;
|
if (CurrentAudioFile == null) return;
|
||||||
|
|
||||||
@ -6665,14 +6808,14 @@ namespace CodeWalker.Project
|
|||||||
|
|
||||||
LoadProjectTree();
|
LoadProjectTree();
|
||||||
|
|
||||||
ProjectExplorer?.TrySelectAudioZoneListTreeNode(zonelist);
|
ProjectExplorer?.TrySelectAudioAmbientZoneListTreeNode(zonelist);
|
||||||
CurrentAudioZoneList = zonelist;
|
CurrentAudioAmbientZoneList = zonelist;
|
||||||
|
|
||||||
ShowEditAudioZoneListPanel(false);
|
ShowEditAudioAmbientZoneListPanel(false);
|
||||||
}
|
}
|
||||||
public bool DeleteAudioZoneList()
|
public bool DeleteAudioAmbientZoneList()
|
||||||
{
|
{
|
||||||
if (CurrentAudioZoneList?.Rel != CurrentAudioFile) return false;
|
if (CurrentAudioAmbientZoneList?.Rel != CurrentAudioFile) return false;
|
||||||
if (CurrentAudioFile?.RelDatas == null) return false; //nothing to delete..
|
if (CurrentAudioFile?.RelDatas == null) return false; //nothing to delete..
|
||||||
if (CurrentAudioFile?.RelDatasSorted == null) return false; //nothing to delete..
|
if (CurrentAudioFile?.RelDatasSorted == null) return false; //nothing to delete..
|
||||||
|
|
||||||
@ -6687,37 +6830,33 @@ namespace CodeWalker.Project
|
|||||||
{
|
{
|
||||||
lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering...
|
lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering...
|
||||||
{
|
{
|
||||||
res = CurrentAudioFile.RemoveRelData(CurrentAudioZoneList);
|
res = CurrentAudioFile.RemoveRelData(CurrentAudioAmbientZoneList);
|
||||||
//WorldForm.SelectItem(null, null, null);
|
//WorldForm.SelectItem(null, null, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
res = CurrentAudioFile.RemoveRelData(CurrentAudioZoneList);
|
res = CurrentAudioFile.RemoveRelData(CurrentAudioAmbientZoneList);
|
||||||
}
|
}
|
||||||
if (!res)
|
if (!res)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Unspecified error occurred when removing the audio zone list from the file!");
|
MessageBox.Show("Unspecified error occurred when removing the audio zone list from the file!");
|
||||||
}
|
}
|
||||||
|
|
||||||
var delzl = CurrentAudioZoneList;
|
var delzl = CurrentAudioAmbientZoneList;
|
||||||
var delrel = CurrentAudioFile;
|
var delrel = CurrentAudioFile;
|
||||||
|
|
||||||
ProjectExplorer?.RemoveAudioZoneListTreeNode(delzl);
|
ProjectExplorer?.RemoveAudioAmbientZoneListTreeNode(delzl);
|
||||||
ProjectExplorer?.SetAudioRelHasChanged(delrel, true);
|
ProjectExplorer?.SetAudioRelHasChanged(delrel, true);
|
||||||
|
|
||||||
ClosePanel((EditAudioZoneListPanel p) => { return p.Tag == delzl; });
|
ClosePanel((EditAudioAmbientZoneListPanel p) => { return p.Tag == delzl; });
|
||||||
|
|
||||||
CurrentAudioZoneList = null;
|
CurrentAudioAmbientZoneList = null;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public bool IsCurrentAudioZoneList(Dat151AmbientZoneList list)
|
|
||||||
{
|
|
||||||
return list == CurrentAudioZoneList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void NewAudioEmitterList()
|
public void NewAudioStaticEmitterList()
|
||||||
{
|
{
|
||||||
if (CurrentAudioFile == null) return;
|
if (CurrentAudioFile == null) return;
|
||||||
|
|
||||||
@ -6732,14 +6871,14 @@ namespace CodeWalker.Project
|
|||||||
|
|
||||||
LoadProjectTree();
|
LoadProjectTree();
|
||||||
|
|
||||||
ProjectExplorer?.TrySelectAudioEmitterListTreeNode(emlist);
|
ProjectExplorer?.TrySelectAudioStaticEmitterListTreeNode(emlist);
|
||||||
CurrentAudioEmitterList = emlist;
|
CurrentAudioStaticEmitterList = emlist;
|
||||||
|
|
||||||
ShowEditAudioEmitterListPanel(false);
|
ShowEditAudioStaticEmitterListPanel(false);
|
||||||
}
|
}
|
||||||
public bool DeleteAudioEmitterList()
|
public bool DeleteAudioStaticEmitterList()
|
||||||
{
|
{
|
||||||
if (CurrentAudioEmitterList?.Rel != CurrentAudioFile) return false;
|
if (CurrentAudioStaticEmitterList?.Rel != CurrentAudioFile) return false;
|
||||||
if (CurrentAudioFile?.RelDatas == null) return false; //nothing to delete..
|
if (CurrentAudioFile?.RelDatas == null) return false; //nothing to delete..
|
||||||
if (CurrentAudioFile?.RelDatasSorted == null) return false; //nothing to delete..
|
if (CurrentAudioFile?.RelDatasSorted == null) return false; //nothing to delete..
|
||||||
|
|
||||||
@ -6754,48 +6893,44 @@ namespace CodeWalker.Project
|
|||||||
{
|
{
|
||||||
lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering...
|
lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering...
|
||||||
{
|
{
|
||||||
res = CurrentAudioFile.RemoveRelData(CurrentAudioEmitterList);
|
res = CurrentAudioFile.RemoveRelData(CurrentAudioStaticEmitterList);
|
||||||
//WorldForm.SelectItem(null, null, null);
|
//WorldForm.SelectItem(null, null, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
res = CurrentAudioFile.RemoveRelData(CurrentAudioEmitterList);
|
res = CurrentAudioFile.RemoveRelData(CurrentAudioStaticEmitterList);
|
||||||
}
|
}
|
||||||
if (!res)
|
if (!res)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Unspecified error occurred when removing the audio emitter list from the file!");
|
MessageBox.Show("Unspecified error occurred when removing the audio emitter list from the file!");
|
||||||
}
|
}
|
||||||
|
|
||||||
var delel = CurrentAudioEmitterList;
|
var delel = CurrentAudioStaticEmitterList;
|
||||||
var delrel = CurrentAudioFile;
|
var delrel = CurrentAudioFile;
|
||||||
|
|
||||||
ProjectExplorer?.RemoveAudioEmitterListTreeNode(delel);
|
ProjectExplorer?.RemoveAudioStaticEmitterListTreeNode(delel);
|
||||||
ProjectExplorer?.SetAudioRelHasChanged(delrel, true);
|
ProjectExplorer?.SetAudioRelHasChanged(delrel, true);
|
||||||
|
|
||||||
ClosePanel((EditAudioEmitterListPanel p) => { return p.Tag == delel; });
|
ClosePanel((EditAudioStaticEmitterListPanel p) => { return p.Tag == delel; });
|
||||||
|
|
||||||
CurrentAudioEmitterList = null;
|
CurrentAudioStaticEmitterList = null;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public bool IsCurrentAudioEmitterList(Dat151StaticEmitterList list)
|
|
||||||
{
|
|
||||||
return list == CurrentAudioEmitterList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void NewAudioInterior()
|
public void NewAudioInterior()
|
||||||
{
|
{
|
||||||
if (CurrentAudioFile == null) return;
|
if (CurrentAudioFile == null) return;
|
||||||
|
|
||||||
|
|
||||||
var interior = new Dat151Interior(CurrentAudioFile);
|
var interior = new Dat151InteriorSettings(CurrentAudioFile);
|
||||||
|
|
||||||
interior.Name = "interior1";
|
interior.Name = "interior1";
|
||||||
interior.NameHash = JenkHash.GenHash(interior.Name);
|
interior.NameHash = JenkHash.GenHash(interior.Name);
|
||||||
interior.Flags = 0xAAAAA844;
|
interior.Flags = 0xAAAAA844;
|
||||||
interior.Walla = 3565506855;
|
interior.InteriorWallaSoundSet = 3565506855;
|
||||||
interior.Tunnel = (uint)MetaName.null_sound;
|
interior.InteriorReflections = (uint)MetaName.null_sound;
|
||||||
|
|
||||||
CurrentAudioFile.AddRelData(interior);
|
CurrentAudioFile.AddRelData(interior);
|
||||||
|
|
||||||
@ -6848,10 +6983,6 @@ namespace CodeWalker.Project
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public bool IsCurrentAudioInterior(Dat151Interior interior)
|
|
||||||
{
|
|
||||||
return interior == CurrentAudioInterior;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void NewAudioInteriorRoom()
|
public void NewAudioInteriorRoom()
|
||||||
{
|
{
|
||||||
@ -6863,9 +6994,9 @@ namespace CodeWalker.Project
|
|||||||
room.Name = "room1";
|
room.Name = "room1";
|
||||||
room.NameHash = JenkHash.GenHash(room.Name);
|
room.NameHash = JenkHash.GenHash(room.Name);
|
||||||
|
|
||||||
room.Flags0 = 0xAAAAAAAA;
|
room.Flags = 0xAAAAAAAA;
|
||||||
room.Sound = (uint)MetaName.null_sound;
|
room.RoomToneSound = (uint)MetaName.null_sound;
|
||||||
room.SoundSet = 3565506855;//?
|
room.InteriorWallaSoundSet = 3565506855;//?
|
||||||
|
|
||||||
|
|
||||||
CurrentAudioFile.AddRelData(room);
|
CurrentAudioFile.AddRelData(room);
|
||||||
@ -6919,10 +7050,6 @@ namespace CodeWalker.Project
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public bool IsCurrentAudioInteriorRoom(Dat151InteriorRoom room)
|
|
||||||
{
|
|
||||||
return room == CurrentAudioInteriorRoom;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -7639,13 +7766,17 @@ namespace CodeWalker.Project
|
|||||||
}
|
}
|
||||||
else if (AudioFileExistsInProject(audiofile))
|
else if (AudioFileExistsInProject(audiofile))
|
||||||
{
|
{
|
||||||
if ((audiopl?.AudioZone != null) && (wasmult || (audiopl != CurrentAudioZone)))
|
if ((audiopl?.AmbientZone != null) && (wasmult || (audiopl != CurrentAudioAmbientZone)))
|
||||||
{
|
{
|
||||||
ProjectExplorer?.TrySelectAudioZoneTreeNode(audiopl);
|
ProjectExplorer?.TrySelectAudioAmbientZoneTreeNode(audiopl);
|
||||||
}
|
}
|
||||||
if ((audiopl?.AudioEmitter != null) && (wasmult || (audiopl != CurrentAudioEmitter)))
|
if ((audiopl?.AmbientRule != null) && (wasmult || (audiopl != CurrentAudioAmbientRule)))
|
||||||
{
|
{
|
||||||
ProjectExplorer?.TrySelectAudioEmitterTreeNode(audiopl);
|
ProjectExplorer?.TrySelectAudioAmbientRuleTreeNode(audiopl);
|
||||||
|
}
|
||||||
|
if ((audiopl?.StaticEmitter != null) && (wasmult || (audiopl != CurrentAudioStaticEmitter)))
|
||||||
|
{
|
||||||
|
ProjectExplorer?.TrySelectAudioStaticEmitterTreeNode(audiopl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -7685,10 +7816,11 @@ namespace CodeWalker.Project
|
|||||||
CurrentScenarioNode = scenariond;
|
CurrentScenarioNode = scenariond;
|
||||||
CurrentScenarioChainEdge = scenarioedge;
|
CurrentScenarioChainEdge = scenarioedge;
|
||||||
CurrentAudioFile = audiofile;
|
CurrentAudioFile = audiofile;
|
||||||
CurrentAudioZone = (audiopl?.AudioZone != null) ? audiopl : null;
|
CurrentAudioAmbientZone = (audiopl?.AmbientZone != null) ? audiopl : null;
|
||||||
CurrentAudioEmitter = (audiopl?.AudioEmitter != null) ? audiopl : null;
|
CurrentAudioAmbientRule = (audiopl?.AmbientRule != null) ? audiopl : null;
|
||||||
CurrentAudioZoneList = null;
|
CurrentAudioStaticEmitter = (audiopl?.StaticEmitter != null) ? audiopl : null;
|
||||||
CurrentAudioEmitterList = null;
|
CurrentAudioAmbientZoneList = null;
|
||||||
|
CurrentAudioStaticEmitterList = null;
|
||||||
CurrentYdrFile = null;
|
CurrentYdrFile = null;
|
||||||
CurrentYddFile = null;
|
CurrentYddFile = null;
|
||||||
CurrentYftFile = null;
|
CurrentYftFile = null;
|
||||||
@ -8348,37 +8480,54 @@ namespace CodeWalker.Project
|
|||||||
{
|
{
|
||||||
audio.RelFile.HasChanged = true;
|
audio.RelFile.HasChanged = true;
|
||||||
AddAudioFileToProject(audio.RelFile);
|
AddAudioFileToProject(audio.RelFile);
|
||||||
if (audio.AudioZone != null)
|
if (audio.AmbientZone != null)
|
||||||
{
|
{
|
||||||
ProjectExplorer?.TrySelectAudioZoneTreeNode(audio);
|
ProjectExplorer?.TrySelectAudioAmbientZoneTreeNode(audio);
|
||||||
}
|
}
|
||||||
if (audio.AudioEmitter != null)
|
if (audio.AmbientRule != null)
|
||||||
{
|
{
|
||||||
ProjectExplorer?.TrySelectAudioEmitterTreeNode(audio);
|
ProjectExplorer?.TrySelectAudioAmbientRuleTreeNode(audio);
|
||||||
|
}
|
||||||
|
if (audio.StaticEmitter != null)
|
||||||
|
{
|
||||||
|
ProjectExplorer?.TrySelectAudioStaticEmitterTreeNode(audio);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((audio.AudioZone != null) && (audio != CurrentAudioZone))
|
if ((audio.AmbientZone != null) && (audio != CurrentAudioAmbientZone))
|
||||||
{
|
{
|
||||||
CurrentAudioZone = audio;
|
CurrentAudioAmbientZone = audio;
|
||||||
ProjectExplorer?.TrySelectAudioZoneTreeNode(audio);
|
ProjectExplorer?.TrySelectAudioAmbientZoneTreeNode(audio);
|
||||||
}
|
}
|
||||||
if ((audio.AudioEmitter != null) && (audio != CurrentAudioEmitter))
|
if ((audio.AmbientRule != null) && (audio != CurrentAudioAmbientRule))
|
||||||
{
|
{
|
||||||
CurrentAudioEmitter = audio;
|
CurrentAudioAmbientRule = audio;
|
||||||
ProjectExplorer?.TrySelectAudioEmitterTreeNode(audio);
|
ProjectExplorer?.TrySelectAudioAmbientRuleTreeNode(audio);
|
||||||
}
|
}
|
||||||
if (audio == CurrentAudioZone)
|
if ((audio.StaticEmitter != null) && (audio != CurrentAudioStaticEmitter))
|
||||||
{
|
{
|
||||||
ShowEditAudioZonePanel(false);
|
CurrentAudioStaticEmitter = audio;
|
||||||
|
ProjectExplorer?.TrySelectAudioStaticEmitterTreeNode(audio);
|
||||||
|
}
|
||||||
|
if (audio == CurrentAudioAmbientZone)
|
||||||
|
{
|
||||||
|
ShowEditAudioAmbientZonePanel(false);
|
||||||
if (audio.RelFile != null)
|
if (audio.RelFile != null)
|
||||||
{
|
{
|
||||||
SetAudioFileHasChanged(true);
|
SetAudioFileHasChanged(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (audio == CurrentAudioEmitter)
|
else if (audio == CurrentAudioAmbientRule)
|
||||||
{
|
{
|
||||||
ShowEditAudioEmitterPanel(false);
|
ShowEditAudioAmbientRulePanel(false);
|
||||||
|
if (audio.RelFile != null)
|
||||||
|
{
|
||||||
|
SetAudioFileHasChanged(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (audio == CurrentAudioStaticEmitter)
|
||||||
|
{
|
||||||
|
ShowEditAudioStaticEmitterPanel(false);
|
||||||
if (audio.RelFile != null)
|
if (audio.RelFile != null)
|
||||||
{
|
{
|
||||||
SetAudioFileHasChanged(true);
|
SetAudioFileHasChanged(true);
|
||||||
@ -9030,8 +9179,9 @@ namespace CodeWalker.Project
|
|||||||
bool enable = (CurrentAudioFile != null);
|
bool enable = (CurrentAudioFile != null);
|
||||||
bool inproj = AudioFileExistsInProject(CurrentAudioFile);
|
bool inproj = AudioFileExistsInProject(CurrentAudioFile);
|
||||||
|
|
||||||
AudioNewAmbientEmitterMenu.Enabled = enable && inproj;
|
AudioNewAmbientRuleMenu.Enabled = enable && inproj;
|
||||||
AudioNewAmbientEmitterListMenu.Enabled = enable && inproj;
|
AudioNewStaticEmitterMenu.Enabled = enable && inproj;
|
||||||
|
AudioNewStaticEmitterListMenu.Enabled = enable && inproj;
|
||||||
AudioNewAmbientZoneMenu.Enabled = enable && inproj;
|
AudioNewAmbientZoneMenu.Enabled = enable && inproj;
|
||||||
AudioNewAmbientZoneListMenu.Enabled = enable && inproj;
|
AudioNewAmbientZoneListMenu.Enabled = enable && inproj;
|
||||||
AudioNewInteriorMenu.Enabled = enable && inproj;
|
AudioNewInteriorMenu.Enabled = enable && inproj;
|
||||||
@ -9596,21 +9746,25 @@ namespace CodeWalker.Project
|
|||||||
RemoveScenarioFromProject();
|
RemoveScenarioFromProject();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AudioNewAmbientEmitterMenu_Click(object sender, EventArgs e)
|
private void AudioNewAmbientRuleMenu_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
NewAudioEmitter();
|
NewAudioAmbientRule();
|
||||||
}
|
}
|
||||||
private void AudioNewAmbientEmitterListMenu_Click(object sender, EventArgs e)
|
private void AudioNewStaticEmitterMenu_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
NewAudioEmitterList();
|
NewAudioStaticEmitter();
|
||||||
|
}
|
||||||
|
private void AudioNewStaticEmitterListMenu_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
NewAudioStaticEmitterList();
|
||||||
}
|
}
|
||||||
private void AudioNewAmbientZoneMenu_Click(object sender, EventArgs e)
|
private void AudioNewAmbientZoneMenu_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
NewAudioZone();
|
NewAudioAmbientZone();
|
||||||
}
|
}
|
||||||
private void AudioNewAmbientZoneListMenu_Click(object sender, EventArgs e)
|
private void AudioNewAmbientZoneListMenu_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
NewAudioZoneList();
|
NewAudioAmbientZoneList();
|
||||||
}
|
}
|
||||||
private void AudioNewInteriorMenu_Click(object sender, EventArgs e)
|
private void AudioNewInteriorMenu_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
@ -938,8 +938,9 @@ namespace CodeWalker
|
|||||||
else if (NavPortal != null) return true;
|
else if (NavPortal != null) return true;
|
||||||
else if (TrainTrackNode != null) return true;
|
else if (TrainTrackNode != null) return true;
|
||||||
else if (ScenarioNode != null) return true;
|
else if (ScenarioNode != null) return true;
|
||||||
else if (Audio?.AudioZone != null) return true;
|
else if (Audio?.AmbientZone != null) return true;
|
||||||
else if (Audio?.AudioEmitter != null) return true;
|
else if (Audio?.AmbientRule != null) return true;
|
||||||
|
else if (Audio?.StaticEmitter != null) return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1491,8 +1492,9 @@ namespace CodeWalker
|
|||||||
else if (NavPortal != null) return NavPortal;
|
else if (NavPortal != null) return NavPortal;
|
||||||
else if (TrainTrackNode != null) return TrainTrackNode;
|
else if (TrainTrackNode != null) return TrainTrackNode;
|
||||||
else if (ScenarioNode != null) return ScenarioNode;
|
else if (ScenarioNode != null) return ScenarioNode;
|
||||||
else if (Audio?.AudioZone != null) return Audio;
|
else if (Audio?.AmbientZone != null) return Audio;
|
||||||
else if (Audio?.AudioEmitter != null) return Audio;
|
else if (Audio?.AmbientRule != null) return Audio;
|
||||||
|
else if (Audio?.StaticEmitter != null) return Audio;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5216,7 +5216,7 @@ namespace CodeWalker
|
|||||||
case MapSelectionMode.NavMesh: ProjectForm.NewNavPoly(); break; //.NewNavPoint/.NewNavPortal//how to add points/portals? project window
|
case MapSelectionMode.NavMesh: ProjectForm.NewNavPoly(); break; //.NewNavPoint/.NewNavPortal//how to add points/portals? project window
|
||||||
case MapSelectionMode.TrainTrack: ProjectForm.NewTrainNode(); break;
|
case MapSelectionMode.TrainTrack: ProjectForm.NewTrainNode(); break;
|
||||||
case MapSelectionMode.Scenario: ProjectForm.NewScenarioNode(); break; //how to add different node types? project window
|
case MapSelectionMode.Scenario: ProjectForm.NewScenarioNode(); break; //how to add different node types? project window
|
||||||
case MapSelectionMode.Audio: ProjectForm.NewAudioZone(); break; //.NewAudioEmitter // how to add emitters as well? project window
|
case MapSelectionMode.Audio: ProjectForm.NewAudioAmbientZone(); break; //.NewAudioEmitter // how to add emitters as well? project window
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void CopyItem()
|
private void CopyItem()
|
||||||
@ -5274,8 +5274,9 @@ namespace CodeWalker
|
|||||||
else if (item.NavPortal != null) DeleteNavPortal(item.NavPortal);
|
else if (item.NavPortal != null) DeleteNavPortal(item.NavPortal);
|
||||||
else if (item.TrainTrackNode != null) DeleteTrainNode(item.TrainTrackNode);
|
else if (item.TrainTrackNode != null) DeleteTrainNode(item.TrainTrackNode);
|
||||||
else if (item.ScenarioNode != null) DeleteScenarioNode(item.ScenarioNode);
|
else if (item.ScenarioNode != null) DeleteScenarioNode(item.ScenarioNode);
|
||||||
else if (item.Audio?.AudioZone != null) DeleteAudioZone(item.Audio);
|
else if (item.Audio?.AmbientZone != null) DeleteAudioAmbientZone(item.Audio);
|
||||||
else if (item.Audio?.AudioEmitter != null) DeleteAudioEmitter(item.Audio);
|
else if (item.Audio?.AmbientRule != null) DeleteAudioAmbientRule(item.Audio);
|
||||||
|
else if (item.Audio?.StaticEmitter != null) DeleteAudioStaticEmitter(item.Audio);
|
||||||
}
|
}
|
||||||
private void DeleteEntity(YmapEntityDef ent)
|
private void DeleteEntity(YmapEntityDef ent)
|
||||||
{
|
{
|
||||||
@ -5478,30 +5479,45 @@ namespace CodeWalker
|
|||||||
SelectItem(null);
|
SelectItem(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void DeleteAudioZone(AudioPlacement audio)
|
private void DeleteAudioAmbientZone(AudioPlacement audio)
|
||||||
{
|
{
|
||||||
if (audio == null) return;
|
if (audio == null) return;
|
||||||
|
|
||||||
//project not open, or zone not selected there, just remove the zone from the rel...
|
//project not open, or zone not selected there, just remove the zone from the rel...
|
||||||
var rel = audio.RelFile;
|
var rel = audio.RelFile;
|
||||||
if (!rel.RemoveRelData(audio.AudioZone))
|
if (!rel.RemoveRelData(audio.AmbientZone))
|
||||||
{
|
{
|
||||||
MessageBox.Show("Unable to remove audio zone. Audio zone editing TODO!");
|
MessageBox.Show("Unable to remove audio ambient zone.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SelectItem(null);
|
SelectItem(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void DeleteAudioEmitter(AudioPlacement audio)
|
private void DeleteAudioAmbientRule(AudioPlacement audio)
|
||||||
{
|
{
|
||||||
if (audio == null) return;
|
if (audio == null) return;
|
||||||
|
|
||||||
//project not open, or zone not selected there, just remove the zone from the rel...
|
//project not open, or rule not selected there, just remove the rule from the rel...
|
||||||
var rel = audio.RelFile;
|
var rel = audio.RelFile;
|
||||||
if (!rel.RemoveRelData(audio.AudioEmitter))
|
if (!rel.RemoveRelData(audio.AmbientRule))
|
||||||
{
|
{
|
||||||
MessageBox.Show("Unable to remove audio emitter. Audio zone editing TODO!");
|
MessageBox.Show("Unable to remove audio ambient rule.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SelectItem(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void DeleteAudioStaticEmitter(AudioPlacement audio)
|
||||||
|
{
|
||||||
|
if (audio == null) return;
|
||||||
|
|
||||||
|
//project not open, or emitter not selected there, just remove the emitter from the rel...
|
||||||
|
var rel = audio.RelFile;
|
||||||
|
if (!rel.RemoveRelData(audio.StaticEmitter))
|
||||||
|
{
|
||||||
|
MessageBox.Show("Unable to remove audio static emitter.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user