aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
authorMelanie Thielker2009-03-26 15:06:20 +0000
committerMelanie Thielker2009-03-26 15:06:20 +0000
commit706a2df5169fa72fb87f38858d4672c8ff26695a (patch)
treeda1dad724c7ead9edc07c245689d18fd7fd020bb /OpenSim/Region/ScriptEngine
parentAvoid preprocessing scripts on region restart just to generate the line (diff)
downloadopensim-SC-706a2df5169fa72fb87f38858d4672c8ff26695a.zip
opensim-SC-706a2df5169fa72fb87f38858d4672c8ff26695a.tar.gz
opensim-SC-706a2df5169fa72fb87f38858d4672c8ff26695a.tar.bz2
opensim-SC-706a2df5169fa72fb87f38858d4672c8ff26695a.tar.xz
Read the .map files in on sim startup. Also clean them up when an assembly
is deleted.
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs30
-rw-r--r--OpenSim/Region/ScriptEngine/XEngine/XEngine.cs3
2 files changed, 32 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
index 5215b90..5cf7a06 100644
--- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
@@ -309,7 +309,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
309 // 309 //
310 if (File.Exists(OutFile) && File.Exists(OutFile+".text") && File.Exists(OutFile+".map")) 310 if (File.Exists(OutFile) && File.Exists(OutFile+".text") && File.Exists(OutFile+".map"))
311 { 311 {
312 // TODO: Read .map file here 312 ReadMapFile(OutFile+".map");
313 return OutFile; 313 return OutFile;
314 } 314 }
315 315
@@ -750,5 +750,33 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
750 750
751 return ret; 751 return ret;
752 } 752 }
753
754 private void ReadMapFile(string filename)
755 {
756 try
757 {
758 StreamReader r = File.OpenText(filename);
759
760 m_positionMap = new Dictionary<KeyValuePair<int,int>, KeyValuePair<int, int>>();
761
762 string line;
763 while ((line = r.ReadLine()) != null)
764 {
765 String[] parts = line.Split(new Char[] {','});
766 int kk = System.Convert.ToInt32(parts[0]);
767 int kv = System.Convert.ToInt32(parts[1]);
768 int vk = System.Convert.ToInt32(parts[2]);
769 int vv = System.Convert.ToInt32(parts[3]);
770
771 KeyValuePair<int, int> k = new KeyValuePair<int, int>(kk, kv);
772 KeyValuePair<int, int> v = new KeyValuePair<int, int>(vk, vv);
773
774 m_positionMap[k] = v;
775 }
776 }
777 catch (Exception e)
778 {
779 }
780 }
753 } 781 }
754} 782}
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
index 0431d90..09480f6 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
+++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
@@ -780,6 +780,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine
780 780
781 if (File.Exists(m_Assemblies[assetID]+".mdb")) 781 if (File.Exists(m_Assemblies[assetID]+".mdb"))
782 File.Delete(m_Assemblies[assetID]+".mdb"); 782 File.Delete(m_Assemblies[assetID]+".mdb");
783
784 if (File.Exists(m_Assemblies[assetID]+".map"))
785 File.Delete(m_Assemblies[assetID]+".map");
783 } 786 }
784 catch (Exception) 787 catch (Exception)
785 { 788 {