Graphics overhaul & minor change to help puzzle
This commit is contained in:
parent
536cd31bb8
commit
f50634f889
@ -25,7 +25,7 @@
|
|||||||
<InstallUrl>http://tyounglightsys.ddns.info/EduNetworkBuilder/v1/</InstallUrl>
|
<InstallUrl>http://tyounglightsys.ddns.info/EduNetworkBuilder/v1/</InstallUrl>
|
||||||
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
|
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
|
||||||
<WebPage>publish.htm</WebPage>
|
<WebPage>publish.htm</WebPage>
|
||||||
<ApplicationRevision>25</ApplicationRevision>
|
<ApplicationRevision>26</ApplicationRevision>
|
||||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||||
<UseApplicationTrust>false</UseApplicationTrust>
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
<PublishWizardCompleted>true</PublishWizardCompleted>
|
<PublishWizardCompleted>true</PublishWizardCompleted>
|
||||||
@ -54,10 +54,10 @@
|
|||||||
<ApplicationIcon>Resources\NBIco.ico</ApplicationIcon>
|
<ApplicationIcon>Resources\NBIco.ico</ApplicationIcon>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ManifestCertificateThumbprint>A4F0B3ABDDD27B9830477C7B93C90C41A5706505</ManifestCertificateThumbprint>
|
<ManifestCertificateThumbprint>FC016CC0B0D70B0A6ABDABD9CDB267055A8FCCA3</ManifestCertificateThumbprint>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ManifestKeyFile>EduNetworkBuilder_TemporaryKey.pfx</ManifestKeyFile>
|
<ManifestKeyFile>EduNetworkBuilder_1_TemporaryKey.pfx</ManifestKeyFile>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<GenerateManifests>true</GenerateManifests>
|
<GenerateManifests>true</GenerateManifests>
|
||||||
@ -193,6 +193,7 @@
|
|||||||
<EmbeddedResource Include="RTFWindow.resx">
|
<EmbeddedResource Include="RTFWindow.resx">
|
||||||
<DependentUpon>RTFWindow.cs</DependentUpon>
|
<DependentUpon>RTFWindow.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<None Include="EduNetworkBuilder_1_TemporaryKey.pfx" />
|
||||||
<None Include="EduNetworkBuilder_TemporaryKey.pfx" />
|
<None Include="EduNetworkBuilder_TemporaryKey.pfx" />
|
||||||
<None Include="Properties\Settings.settings">
|
<None Include="Properties\Settings.settings">
|
||||||
<Generator>SettingsSingleFileGenerator</Generator>
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
|
@ -304,6 +304,13 @@ namespace EduNetworkBuilder
|
|||||||
if (myWin.GameRandomGen == null) return null;
|
if (myWin.GameRandomGen == null) return null;
|
||||||
return myWin.myNetwork;
|
return myWin.myNetwork;
|
||||||
}
|
}
|
||||||
|
public static void MarkToUpdate()
|
||||||
|
{
|
||||||
|
BuilderWindow myWin = (BuilderWindow)Application.OpenForms["BuilderWindow"];
|
||||||
|
if (myWin == null) return;
|
||||||
|
myWin.NeedsUpdate = true;
|
||||||
|
}
|
||||||
|
|
||||||
public static int nextPacketID()
|
public static int nextPacketID()
|
||||||
{
|
{
|
||||||
BuilderWindow myWin = (BuilderWindow)Application.OpenForms["BuilderWindow"];
|
BuilderWindow myWin = (BuilderWindow)Application.OpenForms["BuilderWindow"];
|
||||||
@ -500,6 +507,13 @@ namespace EduNetworkBuilder
|
|||||||
myWin.SetProgress(HowFar, total);
|
myWin.SetProgress(HowFar, total);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void UpdateMessages()
|
||||||
|
{
|
||||||
|
BuilderWindow myWin = (BuilderWindow)Application.OpenForms["BuilderWindow"];
|
||||||
|
if (myWin == null) return;
|
||||||
|
myWin.UpdateMessages();
|
||||||
|
}
|
||||||
|
|
||||||
public static int GetUniqueIdentifier()
|
public static int GetUniqueIdentifier()
|
||||||
{
|
{
|
||||||
Network myNet = GetNetwork();
|
Network myNet = GetNetwork();
|
||||||
|
@ -299,7 +299,19 @@ namespace EduNetworkBuilder
|
|||||||
if (ctl == null) return false;
|
if (ctl == null) return false;
|
||||||
ctl.BackColor = WrongColor;
|
ctl.BackColor = WrongColor;
|
||||||
}
|
}
|
||||||
return false;
|
return true;
|
||||||
|
}
|
||||||
|
if (TheTest == NetTestType.HelpRequest && dHost == "?Button" && ChangeColor)
|
||||||
|
{
|
||||||
|
BuilderWindow myWin = NB.GetBuilderWin();
|
||||||
|
if (myWin != null)
|
||||||
|
{
|
||||||
|
Control ctl = myWin.GetControlNamed("btnHelp");
|
||||||
|
if (ctl == null) return false;
|
||||||
|
if(ctl.BackColor != WrongColor)
|
||||||
|
ctl.BackColor = WrongColor;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
Network theNet = NB.GetNetwork();
|
Network theNet = NB.GetNetwork();
|
||||||
NetworkDevice Source = theNet.GetDeviceFromName(sHost);
|
NetworkDevice Source = theNet.GetDeviceFromName(sHost);
|
||||||
@ -319,6 +331,7 @@ namespace EduNetworkBuilder
|
|||||||
//We just solved it for the first time
|
//We just solved it for the first time
|
||||||
TaskWasDone = true;
|
TaskWasDone = true;
|
||||||
NB.PlaySound(NBSoundType.success);
|
NB.PlaySound(NBSoundType.success);
|
||||||
|
NB.MarkToUpdate();
|
||||||
}
|
}
|
||||||
return false; //No need to color anything
|
return false; //No need to color anything
|
||||||
}
|
}
|
||||||
@ -332,6 +345,7 @@ namespace EduNetworkBuilder
|
|||||||
|| TheTest == NetTestType.SuccessfullyPingsAgain)
|
|| TheTest == NetTestType.SuccessfullyPingsAgain)
|
||||||
PacketNumber = PacketID; //Track the packetID of the first packet to complete the task
|
PacketNumber = PacketID; //Track the packetID of the first packet to complete the task
|
||||||
NB.PlaySound(NBSoundType.success);
|
NB.PlaySound(NBSoundType.success);
|
||||||
|
NB.MarkToUpdate();
|
||||||
}
|
}
|
||||||
TaskWasDone = true;
|
TaskWasDone = true;
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,7 @@ namespace EduNetworkBuilder
|
|||||||
List<NetworkComponent> NetComponents = new List<NetworkComponent>();
|
List<NetworkComponent> NetComponents = new List<NetworkComponent>();
|
||||||
//should have background image
|
//should have background image
|
||||||
Image TheNetImage = new Bitmap(1024, 1024);
|
Image TheNetImage = new Bitmap(1024, 1024);
|
||||||
|
Image TheNetImageBackground = new Bitmap(1024,1024);
|
||||||
public int itemsize = 100; //The size of network components
|
public int itemsize = 100; //The size of network components
|
||||||
PictureBox myPBox=null;
|
PictureBox myPBox=null;
|
||||||
private int UniqueIdentifier = 100; //This gets used for all sorts of things. is auto-incremented every time someone asks for one
|
private int UniqueIdentifier = 100; //This gets used for all sorts of things. is auto-incremented every time someone asks for one
|
||||||
@ -46,6 +47,9 @@ namespace EduNetworkBuilder
|
|||||||
private bool AlreadyChosenTimeout = false;
|
private bool AlreadyChosenTimeout = false;
|
||||||
private int DefaultTimeout = 10;
|
private int DefaultTimeout = 10;
|
||||||
private int NumberOfSecondsForTimeout = 10;
|
private int NumberOfSecondsForTimeout = 10;
|
||||||
|
private List<Rectangle> PacketRectangles = new List<Rectangle>();
|
||||||
|
|
||||||
|
private bool previously_had_packets = false; //used on "tick" to determine if we are starting from scratch
|
||||||
|
|
||||||
public Network(string Name)
|
public Network(string Name)
|
||||||
{
|
{
|
||||||
@ -291,6 +295,10 @@ namespace EduNetworkBuilder
|
|||||||
public void RegisterDisplayArea(PictureBox What)
|
public void RegisterDisplayArea(PictureBox What)
|
||||||
{
|
{
|
||||||
myPBox = What;
|
myPBox = What;
|
||||||
|
myPBox.BackgroundImage = TheNetImageBackground;
|
||||||
|
myPBox.BackgroundImageLayout = ImageLayout.Stretch;
|
||||||
|
Print();
|
||||||
|
myPBox.Invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Point clickedPos(Point pixelClickedOn)
|
public Point clickedPos(Point pixelClickedOn)
|
||||||
@ -502,7 +510,9 @@ namespace EduNetworkBuilder
|
|||||||
foreach (NetTest nt in NetTests)
|
foreach (NetTest nt in NetTests)
|
||||||
{
|
{
|
||||||
if (nt.ColorItemsIfNeeded(HintsToDisplay != NetTestVerbosity.none)) //only change the color if we are not "none"
|
if (nt.ColorItemsIfNeeded(HintsToDisplay != NetTestVerbosity.none)) //only change the color if we are not "none"
|
||||||
|
{
|
||||||
PuzzleCount++;
|
PuzzleCount++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (report_as_done && PuzzleCount == 0 && PreviouslyUnsolved)
|
if (report_as_done && PuzzleCount == 0 && PreviouslyUnsolved)
|
||||||
{
|
{
|
||||||
@ -511,16 +521,19 @@ namespace EduNetworkBuilder
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Print(PaintEventArgs e)
|
public void UpdateImage()
|
||||||
{
|
{
|
||||||
//we have the whole thing to print, and the display image already done
|
|
||||||
TestForCompletion(false);
|
TestForCompletion(false);
|
||||||
if(isDirty() || _isDirty)
|
//we have the whole thing to print, and the display image already done
|
||||||
|
if (isDirty() || _isDirty)
|
||||||
{
|
{
|
||||||
TheNetImage= new Bitmap(TheNetImage.Width, TheNetImage.Height);
|
if(TheNetImage == null)
|
||||||
|
TheNetImage = new Bitmap(TheNetImage.Width, TheNetImage.Height);
|
||||||
|
SolidBrush theBrush = new SolidBrush(SystemColors.Control);
|
||||||
|
Graphics.FromImage(TheNetImage).FillRectangle(theBrush, new Rectangle(0,0, TheNetImage.Width, TheNetImage.Height));
|
||||||
//re-generate the image
|
//re-generate the image
|
||||||
//Do all the links first
|
//Do all the links first
|
||||||
foreach(NetworkComponent NC in NetComponents)
|
foreach (NetworkComponent NC in NetComponents)
|
||||||
{
|
{
|
||||||
if (NC.GetType().ToString() == "EduNetworkBuilder.NetworkLink")
|
if (NC.GetType().ToString() == "EduNetworkBuilder.NetworkLink")
|
||||||
NC.Print(TheNetImage, false);
|
NC.Print(TheNetImage, false);
|
||||||
@ -531,21 +544,43 @@ namespace EduNetworkBuilder
|
|||||||
if (NC.GetType().ToString() == "EduNetworkBuilder.NetworkDevice")
|
if (NC.GetType().ToString() == "EduNetworkBuilder.NetworkDevice")
|
||||||
NC.Print(TheNetImage, ShowLabels);
|
NC.Print(TheNetImage, ShowLabels);
|
||||||
}
|
}
|
||||||
|
//Write the whole thing to the background image.
|
||||||
|
Graphics.FromImage(TheNetImageBackground).DrawImage(TheNetImage, 0, 0);
|
||||||
}
|
}
|
||||||
if (myPackets.Count > 0)
|
myPBox.Invalidate();//redraw it
|
||||||
|
_isDirty = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void EraseOldPackets()
|
||||||
|
{
|
||||||
|
//Make sure we draw a fresh image.
|
||||||
|
Graphics.FromImage(TheNetImageBackground).DrawImage(TheNetImage, 0, 0);
|
||||||
|
foreach(Rectangle rec in PacketRectangles)
|
||||||
{
|
{
|
||||||
Image tempNetImage = new Bitmap(TheNetImage);
|
Invalidate(rec);
|
||||||
foreach(Packet pkt in myPackets)
|
|
||||||
{
|
|
||||||
pkt.Print(tempNetImage); //Print all the packets over the network image
|
|
||||||
}
|
|
||||||
e.Graphics.DrawImage(tempNetImage, 0, 0, myPBox.Width, myPBox.Height);
|
|
||||||
tempNetImage.Dispose();
|
|
||||||
}
|
}
|
||||||
else
|
PacketRectangles.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void DrawPackets()
|
||||||
|
{
|
||||||
|
foreach (Packet pkt in myPackets)
|
||||||
{
|
{
|
||||||
e.Graphics.DrawImage(TheNetImage, 0, 0, myPBox.Width, myPBox.Height);
|
pkt.Print(TheNetImageBackground); //Print all the packets over the network image
|
||||||
|
Invalidate(pkt.PacketRectangle());
|
||||||
|
PacketRectangles.Add(pkt.PacketRectangle());
|
||||||
}
|
}
|
||||||
|
//myPBox.Refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Print()
|
||||||
|
{
|
||||||
|
//we have the whole thing to print, and the display image already done
|
||||||
|
InvalidateEverything();
|
||||||
|
UpdateImage();
|
||||||
|
EraseOldPackets();
|
||||||
|
DrawPackets();
|
||||||
_isDirty = false;
|
_isDirty = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -555,6 +590,28 @@ namespace EduNetworkBuilder
|
|||||||
{
|
{
|
||||||
nc.IsDirty = true;
|
nc.IsDirty = true;
|
||||||
}
|
}
|
||||||
|
_isDirty = true;
|
||||||
|
UpdateImage();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Invalidate(Rectangle area)
|
||||||
|
{
|
||||||
|
//Figure out the area we are looking at
|
||||||
|
if (myPBox.BackgroundImageLayout == ImageLayout.Stretch)
|
||||||
|
{
|
||||||
|
double width_ratio = myPBox.ClientRectangle.Width / TheNetImage.Width;
|
||||||
|
double height_ratio = myPBox.ClientRectangle.Height / TheNetImage.Height;
|
||||||
|
int x, y, width, height;
|
||||||
|
x = (int)(area.X * width_ratio);
|
||||||
|
y = (int)(area.Y * height_ratio);
|
||||||
|
width = (int)(area.Width * width_ratio);
|
||||||
|
height = (int)(area.Height * height_ratio);
|
||||||
|
|
||||||
|
Rectangle newRec = new Rectangle(x, y, width, height);
|
||||||
|
|
||||||
|
//Now we invalidate the adjusted rectangle
|
||||||
|
myPBox.Invalidate(newRec);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<string> arp(UInt32 IP)
|
public List<string> arp(UInt32 IP)
|
||||||
@ -757,7 +814,15 @@ namespace EduNetworkBuilder
|
|||||||
OldVal = nt.TaskWasDone;
|
OldVal = nt.TaskWasDone;
|
||||||
nt.SetDone();
|
nt.SetDone();
|
||||||
if (nt.TaskWasDone != OldVal)
|
if (nt.TaskWasDone != OldVal)
|
||||||
|
{
|
||||||
|
BuilderWindow myWin = NB.GetBuilderWin();
|
||||||
|
if (myWin == null) return true;
|
||||||
|
Control ctl = myWin.GetControlNamed("btnHelp");
|
||||||
|
if (ctl == null) return false;
|
||||||
|
ctl.BackColor = Control.DefaultBackColor;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -885,43 +950,58 @@ namespace EduNetworkBuilder
|
|||||||
|
|
||||||
public void ProcessPackets()
|
public void ProcessPackets()
|
||||||
{
|
{
|
||||||
AlreadyChosenTimeout = false; //we do this at the beginning of processing
|
//This functionality is now done in 'Tick'
|
||||||
NumberOfSecondsForTimeout = DefaultTimeout;
|
return; //exit early. Rest is done in tick
|
||||||
NetworkStartTime = DateTime.Now;
|
}
|
||||||
while(myPackets.Count > 0)
|
|
||||||
{
|
|
||||||
ProcessPacketsOnce();
|
|
||||||
if (!ProcessingShouldContinue())
|
|
||||||
{
|
|
||||||
|
|
||||||
//we need to break out for some reason
|
public void Tick()
|
||||||
myPBox.Refresh();
|
{
|
||||||
break;
|
EraseOldPackets();
|
||||||
}
|
//if (myPackets.Count > 50)
|
||||||
else
|
//Console.WriteLine("Packets: " + myPackets.Count.ToString());
|
||||||
{
|
if (myPackets.Count > 0)
|
||||||
myPBox.Refresh();
|
|
||||||
NB.Delay(5);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//remove any IP connection tracking info
|
|
||||||
NetworkDevice ND;
|
|
||||||
foreach(NetworkComponent nc in NetComponents)
|
|
||||||
{
|
{
|
||||||
if(NB.GetComponentType(nc) == GeneralComponentType.device)
|
if (!previously_had_packets)
|
||||||
{
|
{
|
||||||
ND = (NetworkDevice)nc;
|
AlreadyChosenTimeout = false; //we do this at the beginning of processing
|
||||||
ND.ClearIPConnectionInfo();
|
NumberOfSecondsForTimeout = DefaultTimeout;
|
||||||
|
NetworkStartTime = DateTime.Now;
|
||||||
}
|
}
|
||||||
|
ProcessPacketsOnce();
|
||||||
|
if(!ProcessingShouldContinue())
|
||||||
|
{
|
||||||
|
//We it has all been taken care of
|
||||||
|
}
|
||||||
|
DrawPackets();
|
||||||
|
//myPBox.Refresh();
|
||||||
|
previously_had_packets = true;
|
||||||
}
|
}
|
||||||
DebugPausePoint WhatIsSet = NB.GetDebugPauseSetting();
|
else
|
||||||
if(WhatIsSet != 0)
|
|
||||||
{
|
{
|
||||||
Console.WriteLine(NB.Translate("N_ProssPackDone"));
|
if(previously_had_packets)
|
||||||
|
{
|
||||||
|
//remove any IP connection tracking info
|
||||||
|
NetworkDevice ND;
|
||||||
|
foreach (NetworkComponent nc in NetComponents)
|
||||||
|
{
|
||||||
|
if (NB.GetComponentType(nc) == GeneralComponentType.device)
|
||||||
|
{
|
||||||
|
ND = (NetworkDevice)nc;
|
||||||
|
ND.ClearIPConnectionInfo();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DebugPausePoint WhatIsSet = NB.GetDebugPauseSetting();
|
||||||
|
if (WhatIsSet != 0)
|
||||||
|
{
|
||||||
|
Console.WriteLine(NB.Translate("N_ProssPackDone"));
|
||||||
|
}
|
||||||
|
TestForCompletion(true); //Now, report on the progress if we solved something in the middle of the packets going out
|
||||||
|
AlreadyChosenTimeout = false;
|
||||||
|
NB.SetProgress(0, NumberOfSecondsForTimeout);
|
||||||
|
NB.UpdateMessages();
|
||||||
|
}
|
||||||
|
previously_had_packets = false;
|
||||||
}
|
}
|
||||||
TestForCompletion(true); //Now, report on the progress if we solved something in the middle of the packets going out
|
|
||||||
AlreadyChosenTimeout = false;
|
|
||||||
NB.SetProgress(0, NumberOfSecondsForTimeout);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddMessage(PacketMessage toAdd)
|
public void AddMessage(PacketMessage toAdd)
|
||||||
|
1
EduNetworkBuilder/NetworkBuilder.Designer.cs
generated
1
EduNetworkBuilder/NetworkBuilder.Designer.cs
generated
@ -432,7 +432,6 @@
|
|||||||
this.pbNetworkView.Size = new System.Drawing.Size(366, 300);
|
this.pbNetworkView.Size = new System.Drawing.Size(366, 300);
|
||||||
this.pbNetworkView.TabIndex = 1;
|
this.pbNetworkView.TabIndex = 1;
|
||||||
this.pbNetworkView.TabStop = false;
|
this.pbNetworkView.TabStop = false;
|
||||||
this.pbNetworkView.Paint += new System.Windows.Forms.PaintEventHandler(this.pbNetworkView_Paint);
|
|
||||||
this.pbNetworkView.DoubleClick += new System.EventHandler(this.pbNetworkView_DoubleClick);
|
this.pbNetworkView.DoubleClick += new System.EventHandler(this.pbNetworkView_DoubleClick);
|
||||||
this.pbNetworkView.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbNetworkView_MouseDown);
|
this.pbNetworkView.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbNetworkView_MouseDown);
|
||||||
this.pbNetworkView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbNetworkView_MouseMove);
|
this.pbNetworkView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbNetworkView_MouseMove);
|
||||||
|
@ -37,6 +37,8 @@ namespace EduNetworkBuilder
|
|||||||
private CultureInfo LanguageCulture = null;
|
private CultureInfo LanguageCulture = null;
|
||||||
public string ChosenLanguage = "en"; //The language to try to load
|
public string ChosenLanguage = "en"; //The language to try to load
|
||||||
private List<Control> HelpTopicButtons = new List<Control>();
|
private List<Control> HelpTopicButtons = new List<Control>();
|
||||||
|
private System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
|
||||||
|
public bool NeedsUpdate = false; //Do we do an update next tick
|
||||||
|
|
||||||
public BuilderWindow()
|
public BuilderWindow()
|
||||||
{
|
{
|
||||||
@ -72,9 +74,23 @@ namespace EduNetworkBuilder
|
|||||||
this.KeyPreview = true;
|
this.KeyPreview = true;
|
||||||
this.KeyUp += GenericKeyDown;
|
this.KeyUp += GenericKeyDown;
|
||||||
|
|
||||||
|
myTimer.Interval = 10;
|
||||||
|
myTimer.Tick += Tick;
|
||||||
|
myTimer.Start();
|
||||||
|
|
||||||
LoadPuzzleInfo();
|
LoadPuzzleInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void Tick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (NeedsUpdate)
|
||||||
|
{
|
||||||
|
UpdateVisuals();
|
||||||
|
NeedsUpdate = false;
|
||||||
|
}
|
||||||
|
myNetwork.Tick();
|
||||||
|
}
|
||||||
|
|
||||||
private void LanguagifyComponents()
|
private void LanguagifyComponents()
|
||||||
{
|
{
|
||||||
msMainMenuStrip.Text = NB.Translate("NB_msMainMenuStrip");
|
msMainMenuStrip.Text = NB.Translate("NB_msMainMenuStrip");
|
||||||
@ -249,7 +265,7 @@ namespace EduNetworkBuilder
|
|||||||
bool didsomething = myNetwork.NoteActionDone(NetTestType.HelpRequest, MouseHoverOver.hostname, myNetwork.HintsToDisplay.ToString());
|
bool didsomething = myNetwork.NoteActionDone(NetTestType.HelpRequest, MouseHoverOver.hostname, myNetwork.HintsToDisplay.ToString());
|
||||||
if (didsomething)
|
if (didsomething)
|
||||||
{
|
{
|
||||||
pbNetworkView.Invalidate();
|
UpdateVisuals();
|
||||||
myNetwork.TestForCompletion(true);
|
myNetwork.TestForCompletion(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -319,7 +335,7 @@ namespace EduNetworkBuilder
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateMessages()
|
public void UpdateMessages()
|
||||||
{
|
{
|
||||||
//redo this later
|
//redo this later
|
||||||
lbMessages.Items.Clear();
|
lbMessages.Items.Clear();
|
||||||
@ -364,6 +380,7 @@ namespace EduNetworkBuilder
|
|||||||
{
|
{
|
||||||
UpdateMenu();
|
UpdateMenu();
|
||||||
UpdateMessages();
|
UpdateMessages();
|
||||||
|
UpdateVisuals();
|
||||||
processing = true;
|
processing = true;
|
||||||
Text = NB.Translate("NB_UpdteFrmName");
|
Text = NB.Translate("NB_UpdteFrmName");
|
||||||
if (myNetwork.NetTitle.GetText() != "")
|
if (myNetwork.NetTitle.GetText() != "")
|
||||||
@ -648,7 +665,7 @@ namespace EduNetworkBuilder
|
|||||||
}
|
}
|
||||||
myNetwork.TestForCompletion(true);
|
myNetwork.TestForCompletion(true);
|
||||||
pbNetworkView.Update();
|
pbNetworkView.Update();
|
||||||
pbNetworkView.Invalidate();
|
UpdateVisuals();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -658,7 +675,7 @@ namespace EduNetworkBuilder
|
|||||||
myNetwork.ProcessPackets();
|
myNetwork.ProcessPackets();
|
||||||
UpdateMessages();
|
UpdateMessages();
|
||||||
pbNetworkView.Update();
|
pbNetworkView.Update();
|
||||||
pbNetworkView.Invalidate();
|
UpdateVisuals();
|
||||||
myNetwork.TestForCompletion(true);
|
myNetwork.TestForCompletion(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -675,8 +692,7 @@ namespace EduNetworkBuilder
|
|||||||
}
|
}
|
||||||
UpdateLinks();
|
UpdateLinks();
|
||||||
myNetwork.TestForCompletion(true);
|
myNetwork.TestForCompletion(true);
|
||||||
pbNetworkView.Update();
|
UpdateVisuals();
|
||||||
pbNetworkView.Invalidate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void pbNetworkView_Delete_Click(object sender, EventArgs e)
|
private void pbNetworkView_Delete_Click(object sender, EventArgs e)
|
||||||
@ -696,8 +712,7 @@ namespace EduNetworkBuilder
|
|||||||
}
|
}
|
||||||
UpdateLinks();
|
UpdateLinks();
|
||||||
myNetwork.TestForCompletion(true);
|
myNetwork.TestForCompletion(true);
|
||||||
pbNetworkView.Update();
|
UpdateVisuals();
|
||||||
pbNetworkView.Invalidate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void pbNetworkView_Ping_Click(object sender, EventArgs e)
|
private void pbNetworkView_Ping_Click(object sender, EventArgs e)
|
||||||
@ -793,7 +808,7 @@ namespace EduNetworkBuilder
|
|||||||
LinkEditor myEditor = new LinkEditor(ItemClickedOn, ReleasedOn);
|
LinkEditor myEditor = new LinkEditor(ItemClickedOn, ReleasedOn);
|
||||||
myEditor.ShowDialog();
|
myEditor.ShowDialog();
|
||||||
UpdateLinks();
|
UpdateLinks();
|
||||||
pbNetworkView.Invalidate(); //In case any changes have been made
|
UpdateVisuals(); //In case any changes have been made
|
||||||
}
|
}
|
||||||
else if (ItemClickedOn == null)
|
else if (ItemClickedOn == null)
|
||||||
{
|
{
|
||||||
@ -860,6 +875,7 @@ namespace EduNetworkBuilder
|
|||||||
{
|
{
|
||||||
ItemClickedOn = (NetworkDevice)NC;
|
ItemClickedOn = (NetworkDevice)NC;
|
||||||
}
|
}
|
||||||
|
UpdateVisuals();
|
||||||
}
|
}
|
||||||
else //Drag the item
|
else //Drag the item
|
||||||
{
|
{
|
||||||
@ -867,17 +883,17 @@ namespace EduNetworkBuilder
|
|||||||
{
|
{
|
||||||
ItemClickedOn.ChangeLocation(CenteredLocation);
|
ItemClickedOn.ChangeLocation(CenteredLocation);
|
||||||
UpdateLinks();
|
UpdateLinks();
|
||||||
pbNetworkView.Invalidate();
|
UpdateVisuals();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LastClick = DateTime.Now;
|
LastClick = DateTime.Now;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void pbNetworkView_Paint(object sender, PaintEventArgs e)
|
private void UpdateVisuals()
|
||||||
{
|
{
|
||||||
|
myNetwork.Print();
|
||||||
myNetwork.Print(e);
|
pbNetworkView.Invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void pbNetworkView_MouseDown(object sender, MouseEventArgs e)
|
private void pbNetworkView_MouseDown(object sender, MouseEventArgs e)
|
||||||
@ -917,7 +933,7 @@ namespace EduNetworkBuilder
|
|||||||
myWin.Close();
|
myWin.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
pbNetworkView.Invalidate();
|
myNetwork.Print();
|
||||||
UpdateMessages();
|
UpdateMessages();
|
||||||
btnReset();
|
btnReset();
|
||||||
myNetwork.HintsToDisplay = NetTestVerbosity.none;
|
myNetwork.HintsToDisplay = NetTestVerbosity.none;
|
||||||
@ -1015,7 +1031,7 @@ namespace EduNetworkBuilder
|
|||||||
|
|
||||||
private void BuilderWindow_ResizeEnd(object sender, EventArgs e)
|
private void BuilderWindow_ResizeEnd(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
pbNetworkView.Invalidate();
|
UpdateVisuals();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
|
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
@ -1179,7 +1195,7 @@ namespace EduNetworkBuilder
|
|||||||
OptionsWindow tWindow = new OptionsWindow(myNetwork);
|
OptionsWindow tWindow = new OptionsWindow(myNetwork);
|
||||||
tWindow.ShowDialog();
|
tWindow.ShowDialog();
|
||||||
myNetwork.UpdateDeviceSizes();
|
myNetwork.UpdateDeviceSizes();
|
||||||
pbNetworkView.Invalidate();
|
|
||||||
UpdateForm();
|
UpdateForm();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1227,7 +1243,7 @@ namespace EduNetworkBuilder
|
|||||||
bool didsomething = myNetwork.NoteActionDone(NetTestType.HelpRequest, "", "?Button");
|
bool didsomething = myNetwork.NoteActionDone(NetTestType.HelpRequest, "", "?Button");
|
||||||
if (didsomething)
|
if (didsomething)
|
||||||
{
|
{
|
||||||
pbNetworkView.Invalidate();
|
UpdateForm();
|
||||||
myNetwork.TestForCompletion(true);
|
myNetwork.TestForCompletion(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1247,28 +1263,28 @@ namespace EduNetworkBuilder
|
|||||||
{
|
{
|
||||||
if (processing) return;
|
if (processing) return;
|
||||||
myNetwork.HintsToDisplay = NetTestVerbosity.none;
|
myNetwork.HintsToDisplay = NetTestVerbosity.none;
|
||||||
pbNetworkView.Invalidate();
|
UpdateForm();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void rbHelp2_CheckedChanged(object sender, EventArgs e)
|
private void rbHelp2_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (processing) return;
|
if (processing) return;
|
||||||
myNetwork.HintsToDisplay = NetTestVerbosity.basic;
|
myNetwork.HintsToDisplay = NetTestVerbosity.hints;
|
||||||
pbNetworkView.Invalidate();
|
UpdateForm();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void rbHelp3_CheckedChanged(object sender, EventArgs e)
|
private void rbHelp3_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (processing) return;
|
if (processing) return;
|
||||||
myNetwork.HintsToDisplay = NetTestVerbosity.hints;
|
myNetwork.HintsToDisplay = NetTestVerbosity.basic;
|
||||||
pbNetworkView.Invalidate();
|
UpdateForm();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void rbHelp4_CheckedChanged(object sender, EventArgs e)
|
private void rbHelp4_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (processing) return;
|
if (processing) return;
|
||||||
myNetwork.HintsToDisplay = NetTestVerbosity.full;
|
myNetwork.HintsToDisplay = NetTestVerbosity.full;
|
||||||
pbNetworkView.Invalidate();
|
UpdateForm();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -899,6 +899,8 @@ namespace EduNetworkBuilder
|
|||||||
{
|
{
|
||||||
Brush brush = new SolidBrush(Color.FromArgb(128, BackgroundColor.R, BackgroundColor.G, BackgroundColor.B));
|
Brush brush = new SolidBrush(Color.FromArgb(128, BackgroundColor.R, BackgroundColor.G, BackgroundColor.B));
|
||||||
Graphics.FromImage(BaseImage).FillRectangle(brush, Location);
|
Graphics.FromImage(BaseImage).FillRectangle(brush, Location);
|
||||||
|
Network myNet = NB.GetNetwork();
|
||||||
|
myNet.Invalidate(Location);
|
||||||
}
|
}
|
||||||
|
|
||||||
Graphics.FromImage(BaseImage).DrawImage(MyImage, MyLocation.X, MyLocation.Y, Size, Size);
|
Graphics.FromImage(BaseImage).DrawImage(MyImage, MyLocation.X, MyLocation.Y, Size, Size);
|
||||||
|
@ -358,7 +358,7 @@ namespace EduNetworkBuilder
|
|||||||
myDirection = nb_direction.to_dst;
|
myDirection = nb_direction.to_dst;
|
||||||
else
|
else
|
||||||
myDirection = nb_direction.to_src;
|
myDirection = nb_direction.to_src;
|
||||||
Console.WriteLine(NB.Translate("P_StartingOnLink") + string.Format(" SMAC: {0} DMAC: {1}",sourceMAC,destMAC));
|
//Console.WriteLine(NB.Translate("P_StartingOnLink") + string.Format(" SMAC: {0} DMAC: {1}",sourceMAC,destMAC));
|
||||||
AddMessage(DebugLevel.debug, " " + NB.Translate("P_StartingOnLink"));
|
AddMessage(DebugLevel.debug, " " + NB.Translate("P_StartingOnLink"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,381 +1,187 @@
|
|||||||
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi31507\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f34\fbidi \froman\fcharset1\fprq2{\*\panose 02040503050406030204}Cambria Math;}
|
{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}}
|
||||||
{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
|
{\*\generator Riched20 10.0.10586}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1
|
||||||
{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;}
|
\pard\nowidctlpar\sa200\sl276\slmult1\b\f0\fs22\lang9 Version 1.0.26\par
|
||||||
{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
|
\b0 * Major graphics overhaul\par
|
||||||
{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}
|
- Packets move on timer\par
|
||||||
{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f40\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f41\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
|
- Graphics drawn "smarter"\par
|
||||||
{\f43\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f44\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f45\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f46\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
|
- Result is that things flow smoother. Loopback2 also works much nicer. \par
|
||||||
{\f47\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f48\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f430\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f431\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
|
* Fixed minor issue with "help" puzzle\par
|
||||||
{\f433\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f434\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f437\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f438\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}
|
* Made help "?" button turn red when it is part of the puzzle\b\par
|
||||||
{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
|
Version 1.0.25\par
|
||||||
{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
|
\b0 * Minor changes to help file\par
|
||||||
{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
|
* Fixed size of labels on IP-Address editor box\par
|
||||||
{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
|
* Hide gateway label when we do not need it. (ip-address editor)\par
|
||||||
{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
|
* rename "mixed network" puzzle to be "adding devices" (the puzzle was about adding devices)\par
|
||||||
{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}
|
* Changed layout of many messages\par
|
||||||
{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;}{\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}{\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}
|
* Save the level we are working on. Allows us to finish level 5 before level 3 if we want to.\par
|
||||||
{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
|
* Make network-loop puzzles sit next to each-other\par
|
||||||
{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
|
* Make it so network-loop2 puzzle asks for second ping after first one finishes \par
|
||||||
{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
|
* Lots of work towards the French translation\b\par
|
||||||
{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
|
Version 1.0.24 \par
|
||||||
{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
|
\b0 * Add sound when ctrl-s is pressed so we know we saved.\par
|
||||||
{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
|
* Add sound fail when save is canceled (will use it later if ctrl-s fails)\par
|
||||||
{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
|
* Added some wireless puzzles\par
|
||||||
{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
|
* Fix issue with WAP not forwarding packets correctly\par
|
||||||
{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
|
* Clear out old status message if we do something. So we do not say "saved" forever...\par
|
||||||
{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
|
* Fixed bad gateway on wireless router issue\par
|
||||||
{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
|
* Fixed wbridge misbehaving. (issue with gateway)\par
|
||||||
{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
|
* Added wireless items to help and context help topics\par
|
||||||
{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}
|
* Thanks to Peter Wilson for so much of the translation backbone.\par
|
||||||
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
|
* Lots of translation string changes. The French translation should be soon in coming.\par
|
||||||
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa160\sl259\slmult1
|
\b Version 1.0.23 09/20/2015\par
|
||||||
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025
|
\b0 * Fixed issues with broadcast packets\par
|
||||||
\ltrch\fcs0 \fs22\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
|
* Fixed a network loop issue\par
|
||||||
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1
|
* Fixed issue with multiple interfaces and being able to go out a different interface than we came in on\par
|
||||||
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused
|
* Fixed many small bugs that crept in when fixing other bugs. Now all puzzles seem to play correctly\b\par
|
||||||
Normal Table;}}{\*\rsidtbl \rsid553838\rsid16400754}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator tim.young@lightsys.org}
|
Version 1.0.22 09/01/2015\b0\par
|
||||||
{\creatim\yr2015\mo11\dy25\hr9\min57}{\revtim\yr2015\mo11\dy25\hr9\min58}{\version2}{\edmins1}{\nofpages8}{\nofwords1472}{\nofchars8394}{\nofcharsws9847}{\vern86}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
|
* Added ssid and keys for wireless links\par
|
||||||
\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
|
* Wireless will auto-disconnect if link is too long\par
|
||||||
\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701
|
* Wireless will auto-connect if ssid and key match, if link is short enough\par
|
||||||
\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot553838 \nouicompat \fet0{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1
|
* Packets will drop on wireless links if distance is too great\par
|
||||||
\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5
|
* wport has no interface (cannot edit IP address)\par
|
||||||
\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang
|
* wireless router works properly - forwards broadcast packets\par
|
||||||
{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0
|
* wireless router handles dhcp requests properly (both responds to it but also passes it on)\par
|
||||||
\fs22\lang1033\langfe1033\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.25
|
* right-clicking light and microwave no longer has ping, arp, edit, and other context menus\par
|
||||||
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 * Minor changes to help file
|
* added net-test for DHCP server status (on/off)\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed size of labels on IP-Address editor box
|
* If multiple DHCP servers, client randomly chooses which to keep.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Hide gateway label when we do not need it. (ip-address editor)
|
*Add Wireless Puzzle\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * rename "mixed network" puzzle to be "adding devices" (the puzzle was about adding devices)
|
*Fix many wireless device bugs\line\b Version 1.0.21 08/15/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Changed layout of many messages
|
* Added a microwave and fluorescent light. They corrupt data when packets run close to them.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Save the level we are working on. Allows us to finish level 5 before level 3 if we want to.
|
* Added some packet corruption puzzles\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Make network-loop puzzles sit next to each-other
|
* Fixed window resize-on-load issue where the help window popped up first, then the builder window resized over to hide the help window. \par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Make it so network-loop2 puzzle asks for second ping after first one finis\hich\af39\dbch\af31505\loch\f39 hes
|
\b Version 1.0.20 08/12/2015\b0\par
|
||||||
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid553838 \hich\af39\dbch\af31505\loch\f39 * Lots of work towards the French translation}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid553838
|
* wports do not display on tooltips or when printing the device info\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.24
|
* Added ctrl-s to quick-save a network we are working on\par
|
||||||
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 * Add sound when ctrl-s is pressed so we know we saved.
|
* commented out wireless devices for now - doing a big demo and wireless is not yet complete\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Add sound fail when save is canceled (will use it later if ctrl-s fails)
|
* added search box to help\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added some wireless puzzles
|
\b Version 1.0.19 08/08/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fix issue with WAP not forwarding packets correctly
|
*Updated context help for most puzzles that introduce new ideas.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Clear out old st\hich\af39\dbch\af31505\loch\f39 atus message if we do something. So we do not say "saved" forever...
|
* Sorted Help topics when adding them in net-tests.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed bad gateway on wireless router issue
|
* Added some images to the help to help clarify things.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed wbridge misbehaving. (issue with gateway)
|
* Start with the help windows being the same "height" as the network window.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added wireless items to help and context help topics
|
* Open Help so it can be kept open while the puzzles progress.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Thanks to Peter Wilson for so much\hich\af39\dbch\af31505\loch\f39 of the translation backbone.
|
* Deal with minimized state better (used to shrink window to smallest possible state)\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Lots of translation string changes. The French translation should be soon in coming.
|
* Remember size and location of main window between uses.\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.23 09/20/2015
|
\b Version 1.0.18 08/08/2015\b0\par
|
||||||
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 * Fixed issues with broadcast packets
|
* Added Context Help for puzzles.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed a network loop issue
|
- Each puzzle can have context help\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed issue with multiple interfaces and \hich\af39\dbch\af31505\loch\f39 being able to go out a different interface than we came in on
|
- There is a net-test to have us read help\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed many small bugs that crept in when fixing other bugs. Now all puzzles seem to play correctly}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754
|
* fixed minor problem with a "ding" sound when we load a puzzle that has something locked.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 Version 1.0.22 09/01/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754
|
\b Version 1.0.17 08/01/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added ssid and keys for wireless links
|
* Added more help\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Wireless will auto-dis\hich\af39\dbch\af31505\loch\f39 connect if link is too long
|
* Much progress made in preparing for a French translation\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Wireless will auto-connect if ssid and key match, if link is short enough
|
* allow for Puzzle's description to be in another language\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Packets will drop on wireless links if distance is too great
|
* Added more to help\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * wport has no interface (cannot edit IP address)
|
* Removed edit -> cut, paste, copy, undo. They never did anything. So why have them?\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * wireless router works properly - forwards broadcast packets
|
* Save box starts in the directory of the file we opened (if we have one)\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * wireless router handles dhcp requests properly (both responds to it but also passes it on)
|
* Choose a language at startup if one has never been chosen, and have option to change language.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * right-clicking light and microwave no longer has ping, arp, edit, and other context menus
|
* Added another puzzle, showing what happens (or does not happen) if we have two networks that use the same IP addresses, and we want to build a VPN between them.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * added n\hich\af39\dbch\af31505\loch\f39 et-test for DHCP server status (on/off)
|
\b Version 1.0.16 07/18/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * If multiple DHCP servers, client randomly chooses which to keep.
|
* Added ability to break links (bad network wire)\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 *Add Wireless Puzzle
|
* "connection lights" on network cards / ports when we edit devices\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 *Fix many wireless device bugs\line }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.21 08/15/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0
|
* Test for "needs link to" does not succeed if the link in question is a broken link\par
|
||||||
\f39\lang9\langfe1033\langnp9\insrsid16400754
|
* Added a puzzle to show you how to find broken links \par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added a microwave and fluorescent light. They corrupt data when pa\hich\af39\dbch\af31505\loch\f39 ckets run close to them.
|
* Used broken links in other puzzles\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added some packet corruption puzzles
|
* Fixed bug: switches could not use DHCP for many different reasons. Now it works for them.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed window resize-on-load issue where the help window popped up first, then the builder window resized over to hide the help window.
|
\b Version 1.0.15 07/11/2015\b0\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.20 08/12/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754
|
* Added ping time progress bar\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * wports do not display on \hich\af39\dbch\af31505\loch\f39 tooltips or when printing the device info
|
* Fixed issue with things timing out before they completed. If the network screen is too large, it makes it go just a tiny bit slower and various things would fail. When the first packet successfully makes it to the far end, it recomputes the time needed and gives extra time.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added ctrl-s to quick-save a network we are working on
|
* Added context menu ping. If an item is supposed to ping something, right-clicking adds the ping test to the menu. Takes some of the guess-work out of things.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * commented out wireless devices for now - doing a big demo and wireless is not yet complete
|
* Fixed minor issue with this change log. Had two 1.0.11 versions & somehow was stating we were at version 10.x.x instead of 1.x.x (sigh) \par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * added search box to help
|
* Fixed the VPNify puzzle. Had a goof in it.\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.19 08/08/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754
|
* Made it so you cannot connect a link to a VPN. A VPN should be a virtual connection, not a physical connection.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 *Updated c\hich\af39\dbch\af31505\loch\f39 ontext help for most puzzles that introduce new ideas.
|
\b Version 1.0.14 07/10/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Sorted Help topics when adding them in net-tests.
|
* When we finish a puzzle, allow us to auto-open the "next puzzle" box.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added some images to the help to help clarify things.
|
* Added lots more puzzles\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Start with the help windows being the same "height" as the network window.
|
* Added more help & documentation\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Open Help so i\hich\af39\dbch\af31505\loch\f39 t can be kept open while the puzzles progress.
|
* Made it so test for local IP also checked to make sure the subnet-masks matched\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Deal with minimized state better (used to shrink window to smallest possible state)
|
* Made it so the test for a matching route compared netmasks\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Remember size and location of main window between uses.
|
* Added a printer object\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.18 08/08/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754
|
* Added a copier object\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added Context Help for puzzles.
|
\b Version 1.0.13 06/21/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 - E\hich\af39\dbch\af31505\loch\f39 ach puzzle can have context help
|
* Fixed issues with arp - arp could go through routers. Now works correctly\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 - There is a net-test to have us read help
|
* Made it test for puzzle completion after adding devices\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * fixed minor problem with a "ding" sound when we load a puzzle that has something locked.
|
* Made it test for completion after changing / deleting devices\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.17 08/01/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754
|
* Let you delete / add NICs on PCs, primarily so we can solve the duplicate MAC puzzle\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added more help
|
* Replaced the "Network Loop" puzzle with the correct one.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Much progress made in preparing for a French translation
|
\b Version 1.0.12 06/20/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * allow for Puzzle's description to be in another language
|
* Added VPN and TUN nic types\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added more to help
|
* Fixed numerous small bugs\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Removed edit -> cut, paste, copy, undo. They never did anything. So why have them?
|
* Fixed bug with early solution to failed ping test\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Save box starts in the direc\hich\af39\dbch\af31505\loch\f39 tory of the file we opened (if we have one)
|
* Added "ding" when a test is solved.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Choose a language at startup if one has never been chosen, and have option to change language.
|
* Added a "firewall" network that has a firewall and vpns\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added another puzzle, showing what happens (or does not happen) if we have two networks that use the same IP addr\hich\af39\dbch\af31505\loch\f39 esses, and we want to build a VPN between them.
|
* Added numerous firewall / vpn puzzles\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.16 07/18/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754
|
* Fixed a DNS issue. It now more intelligently finds the right IP address when you ping it\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added ability to break links (bad network wire)
|
\b Version 1.0.11 06/14/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * "connection lights" on network cards / ports when we edit devices
|
* Added the ability to lock various important features to make puzzles better\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Test for "needs link to" does not succeed if the link in ques\hich\af39\dbch\af31505\loch\f39 tion is a broken link
|
* Able to add interfaces (multiple IPs on a Network Card)\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added a puzzle to show you how to find broken links
|
* Right-click context menu to add net-tests. \par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Used broken links in other puzzles
|
* Del key now deletes the last item we had clicked on\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed bug: switches could not use DHCP for many different reasons. Now it works for them.
|
* Can add NICs (on some devices)\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.15 07/11/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754
|
* Can delete NICs\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added ping time prog\hich\af39\dbch\af31505\loch\f39 ress bar
|
* Fixed minor bug with broadcast pinging solving ping test for individual computers\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39
|
\b Version 1.0.10 06/13/2015\b0\par
|
||||||
* Fixed issue with things timing out before they completed. If the network screen is too large, it makes it go just a tiny bit slower and various things would fail. When the first packet successfully makes it to the far end, it recomputes the ti
|
* Renamed puzzles to manage them easier\par
|
||||||
\hich\af39\dbch\af31505\loch\f39 me needed and gives extra time.
|
* Deal with duplicate IPs, and what happens when a packet returns to a computer that did not send it.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added context menu ping. If an item is supposed to ping something, right-clicking adds the ping test to the menu. Takes some of the guess-work out of things.
|
* Change to the help window so you can keep the window open while working with the puzzle.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed minor issue with this change log. Had two 1.0.11 vers\hich\af39\dbch\af31505\loch\f39 ions & somehow was stating we were at version 10.x.x instead of 1.x.x (sigh)
|
* Change to the donation link. Not that it will ever be used, but it makes me feel better having a few places for people to donate to if they wish.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed the VPNify puzzle. Had a goof in it.
|
* Minor change for how broadcast packets work, specifically dealing with duplicate IP addresses.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Made it so you cannot connect a link to a VPN. A VPN should be a virtual connection, not a physical connection.
|
* Added a "firewall" device & WAN port with masquerade\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.14 \hich\af39\dbch\af31505\loch\f39 07/10/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754
|
* Added a FailedPing test so we can ping things that must fail (show the firewall works)\par
|
||||||
|
* added more to the help\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * When we finish a puzzle, allow us to auto-open the "next puzzle" box.
|
* added more puzzles\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added lots more puzzles
|
\b Version 1.0.0.9 05/29/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added more help & documentation
|
* Add a grid to the network map. It makes things easier to straighten up\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Made it so test for local IP also checked to make sure the subnet-masks matched
|
* Sorted and organized the puzzles\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Made it so the test for a matching route compared netmasks
|
* Made a level for each puzzle.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added a printer object
|
* Tracked the puzzles which have been completed\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added a copier object
|
* When we open the puzzle list, we now show the first level of puzzles that have an uncompleted puzzle.\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.13 06/21/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754
|
* Added more "tests", viewing help, pinging, arp, and dhcp.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed issues with arp - arp could go through routers. Now works correctly
|
* Reset buttons when we load a new network.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Made it test for puzzle completion after\hich\af39\dbch\af31505\loch\f39 adding devices
|
* Added a bunch more puzzles\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Made it test for completion after changing / deleting devices
|
* Sometimes the remembered IP gets annoying when it remembers odd gateways and numbers we cannot change. Fixed that in many cases.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Let you delete / add NICs on PCs, primarily so we can solve the duplicate MAC puzzle
|
\b Version 1.0.0.8 05/25/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Replaced the "Network Loop" puzzle with the correct one.
|
* Always Start with level0 puzzles for now\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.12 06/20/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754
|
* Fixed the icon when program running\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * A\hich\af39\dbch\af31505\loch\f39 dded VPN and TUN nic types
|
* Added an infrastructure for Puzzles (needs work)\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed numerous small bugs
|
* Added a number of basic puzzles\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed bug with early solution to failed ping test
|
* Fixed DHCP Leases. Now it clears leases when you change the DHCP server range.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added "ding" when a test is solved.
|
\b Version 1.0.0.7 05/16/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added a "firewall" network that has a firewall and vpns
|
* Added file association so we can double-click an enbx file\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added numerous firewall / vpn puzzles
|
* Fixed the icon so it looks right (removed left edge)\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed a DNS\hich\af39\dbch\af31505\loch\f39 issue. It now more intelligently finds the right IP address when you ping it
|
\b Version 1.0.0.6 05/16/2015\b0\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.11 06/14/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754
|
* Able to delete a route (right click route and delete it)\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added the ability to lock various important features to make puzzles better
|
* Add map title as something we can load/save\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Able to add interfaces (multiple IPs on a Network Card)
|
* Add message as something we can load and save\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Right-click\hich\af39\dbch\af31505\loch\f39 context menu to add net-tests.
|
* Changing size of items affects all items\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Del key now deletes the last item we had clicked on
|
* Allow entering a hostname in the IP address field (ping / gateway)\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Can add NICs (on some devices)
|
\b Version 1.0.0.5 04/26/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Can delete NICs
|
* Fixed ping from switch\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed minor bug with broadcast pinging solving ping test for individual computers
|
* Fixed error message when pinging IP that does not exist\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.10 06/13/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754
|
\b Version 1.0.0.4 04/26/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Renamed puzzles to manage them easier
|
* Fixed broadcast ping\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Deal with duplicate IPs, and what happens when a packet returns to a computer that did not send it.
|
*Fixed dhcp request error\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Change to the help window so you can keep the window open while working with the puzzle.
|
\b Version 1.0.0.3 04/15/2015\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Change to the donatio\hich\af39\dbch\af31505\loch\f39 n link. Not that it will ever be used, but it makes me feel better having a few places for people to donate to if they wish.
|
\b0 * Added "file" -> "new" to erase and start a clean new network\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Minor change for how broadcast packets work, specifically dealing with duplicate IP addresses.
|
* Fixed pc2 to have gateway on "solved"->"Two Networks"\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added a "firewall" device & WAN\hich\af39\dbch\af31505\loch\f39 port with masquerade
|
* Fixed - only machines capable of doing DHCP do dhcp request if we do DHCP request on all\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added a FailedPing test so we can ping things that must fail (show the firewall works)
|
* Changed - major overhaul to tcp-stack.\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * added more to the help
|
* Downgrade - Arp temporarily removed from system while tcp-stack overhaul completed\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * added more puzzles
|
\b Version 1.0.0.2 4/19/2015\b0\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.9 05/29/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754
|
* Added IP-Phone\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Add a grid to the network map. It makes things easier to straighten\hich\af39\dbch\af31505\loch\f39 up
|
* Packets terminate at the far end - this makes it easier to see packets go both directions\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Sorted and organized the puzzles
|
* Packets are randomized in transit - Allows packets to arrive at slightly different times\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Made a level for each puzzle.
|
\b Version 1.0.0.1 4/11/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Tracked the puzzles which have been completed
|
* DHCP selection on nics is not functioning correctly\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * When we open the puzzle list, we now show the first level of puzzles that have an uncompleted puzzle.
|
* Various small bug-fixes\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added more "tests", viewing hel\hich\af39\dbch\af31505\loch\f39 p, pinging, arp, and dhcp.
|
\b Version 1.0.0.0 4/10/2015\b0\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Reset buttons when we load a new network.
|
This is the initial alpha build\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added a bunch more puzzles
|
* basic pinging\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Sometimes the remembered IP gets annoying when it remembers odd gateways and numbers we cannot change. Fixed that in many cases.
|
* basic arp\par
|
||||||
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid16400754 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.8 05/25/\hich\af39\dbch\af31505\loch\f39 2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16400754
|
* Routers\par
|
||||||
|
* Switches/Hubs\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Always Start with level0 puzzles for now
|
* PCs/Laptops\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed the icon when program running
|
* Network Links (ethernet)\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added an infrastructure for Puzzles (needs work)
|
* Basic DHCP\par
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Added a number of basic puzzles
|
}
|
||||||
\par \hich\af39\dbch\af31505\loch\f39 * Fixed DHCP Leases. Now it clears leases when you change the DHCP server range.
|
|