Compare commits

...

47 Commits

Author SHA1 Message Date
Fernando Oliveira 0ce8a5f76a added PostGreSQL support 2012-09-15 13:38:19 -03:00
Fernando Oliveira 34114c4e28 Merge remote-tracking branch 'upstream/master' 2012-08-19 22:59:24 -03:00
Fernando Oliveira f839385af9 Merge remote-tracking branch 'upstream/master' 2012-05-03 20:11:24 -03:00
Fernando Oliveira a6bce45692 Merge remote-tracking branch 'upstream/master' 2012-05-02 20:52:41 -03:00
Fernando Oliveira 7615d12148 Merge remote-tracking branch 'upstream/master' 2012-04-29 13:32:32 -03:00
Fernando Oliveira 0365fec926 Merge remote-tracking branch 'upstream/master' 2012-04-19 23:09:07 -03:00
Fernando Oliveira 53d21bcb50 Merge remote-tracking branch 'upstream/master' 2012-04-17 23:59:40 -03:00
Fernando Oliveira c45392c17e Merge remote-tracking branch 'upstream/master' 2012-04-01 23:23:42 -03:00
Fernando Oliveira 7ac437987a Merge branch 'master' of https://github.com/ffoliveira/opensimulator
Conflicts:
	bin/lib32/BulletSim.dll
	bin/lib64/BulletSim.dll
2012-03-30 00:52:48 -03:00
Fernando Oliveira 9e17b07e8b Merge remote-tracking branch 'upstream/master' 2012-03-30 00:47:21 -03:00
Fernando Oliveira 8600ea2763 Merge branch 'master' into myideas 2012-03-27 00:45:13 -03:00
Fernando Oliveira cd6fe5c4e6 Merge remote-tracking branch 'upstream/master' 2012-03-25 20:16:27 -03:00
Fernando Oliveira 64884bf65c Merge remote-tracking branch 'upstream/master' 2012-03-24 00:25:01 -03:00
Fernando Oliveira c01db95f48 Merge remote-tracking branch 'remotes/upstream/master' into myideas
Started to implement GetEmptyCoordinates
2012-03-15 01:33:41 -03:00
Fernando Oliveira 3fbadb79ba Merge branch 'master' of https://github.com/ffoliveira/opensimulator
Conflicts:
	OpenSim/Region/Application/OpenSimBase.cs
	bin/OpenSim.ini.example
2012-03-10 20:40:26 -03:00
Fernando Oliveira 6eeba80d2a Merge remote-tracking branch 'upstream/master' 2012-03-10 20:31:40 -03:00
Fernando Oliveira 04431fcb01 Merge remote-tracking branch 'upstream/master'
Conflicts:
	OpenSim/Region/Application/OpenSimBase.cs
	bin/OpenSim.ini.example
2012-03-10 20:31:30 -03:00
Fernando Oliveira bbe9af5576 Merge remote-tracking branch 'upstream/master'
Conflicts:
	OpenSim/Region/Application/OpenSimBase.cs
	bin/OpenSim.ini.example
2012-03-10 00:34:16 -03:00
Fernando Oliveira 6b4e4da89e Merge remote-tracking branch 'upstream/master' 2012-03-09 20:14:39 -03:00
Fernando Oliveira b6e963c830 Merge branch 'master' of https://github.com/ffoliveira/opensimulator 2012-03-09 20:11:24 -03:00
Fernando Oliveira 8ea08cf4b4 merge changes from opensim 2012-03-09 20:11:02 -03:00
Fernando Oliveira d92fc1dfb3 merge changes from opensim 2012-03-09 20:09:13 -03:00
Fernando Oliveira 83c018ebcd Merge remote-tracking branch 'upstream/master'
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-03-06 23:32:20 -03:00
Fernando Oliveira cf763b8306 Merge remote-tracking branch 'upstream/master' 2012-02-29 23:09:00 -03:00
Fernando Oliveira 5cda6ab754 Merge remote-tracking branch 'upstream/master' 2012-02-25 00:48:11 -02:00
Fernando Oliveira 6f6e05d775 Optimizations on osSetDynamicTextureURL function to reduce memory leak 2012-02-24 01:29:18 -02:00
Fernando Oliveira c07fdc6ac4 Merge remote-tracking branch 'upstream/master' 2012-02-23 13:21:14 -02:00
Fernando Oliveira 2e6f5f6bcd Changed the Estate first letter keys to uppercase 2012-02-23 13:16:47 -02:00
Fernando Oliveira 705b3fe414 Merge remote-tracking branch 'upstream/master' 2012-02-20 22:53:27 -02:00
Fernando Oliveira 55aaea8b91 Just added Maptile default to UUID.Zero 2012-02-20 22:53:22 -02:00
Fernando Oliveira f4e32350ed Changed back to generate maptiles when there are no MaptileStaticUUID at regions.ini 2012-02-15 15:55:02 -02:00
Fernando Oliveira 58f5e4b47a Merge branch 'master' of https://github.com/ffoliveira/opensimulator 2012-02-15 02:04:58 -02:00
Fernando Oliveira ddacc87617 Implemented different MapTile for each region in Regions.ini using MaptileStaticUUID key
OpenSim.ini MaptileStaticUUID still work for default regions

Signed-off-by: Fernando Oliveira <fernando@oliveira.eti.br>
2012-02-15 02:03:32 -02:00
Fernando Oliveira c5d1d6c47b Implemented different MapTile for each region in Regions.ini using MaptileStaticUUID key
OpenSim.ini MaptileStaticUUID still work for default regions

Signed-off-by: Fernando Oliveira <fernando@oliveira.eti.br>
2012-02-15 01:35:49 -02:00
Fernando Oliveira 23ebe65add Merge remote-tracking branch 'upstream/master' 2012-02-15 00:28:22 -02:00
Fernando Oliveira c611966828 try to configure maptile for each region 2012-02-15 00:27:10 -02:00
Fernando Oliveira b9fa9a801e Added Log to Maptile from Regions.ini 2012-02-10 01:55:08 -02:00
Fernando Oliveira ec38593674 Put MaptileStaticUUID also in Regions.Ini file - as an alternative to MapTile by region 2012-02-10 00:17:34 -02:00
Fernando Oliveira f018047460 Merge branch 'master' of https://github.com/ffoliveira/opensimulator 2012-02-09 22:34:38 -02:00
Fernando Oliveira 60a0395837 sync and merge source code from nebadom repo 2012-02-09 22:05:59 -02:00
Fernando Oliveira d27ed42897 Merge remote-tracking branch 'upstream/master' 2012-02-09 22:00:26 -02:00
Fernando Oliveira 8bdc238ca4 Automatic empty coordinates attribution at sim creation 2012-02-09 21:56:24 -02:00
root 6903b60a0f Merge remote-tracking branch 'upstream/master' 2012-02-02 13:19:56 -05:00
Fernando Oliveira 46dec8666c New methods to get empty coordinates from the server 2012-01-23 16:11:42 -02:00
Fernando Oliveira 352774d5bf Merge remote-tracking branch 'remotes/upstream/master' 2012-01-22 16:04:22 -02:00
Fernando Oliveira 34c0bd212a Moved the EstateName and EstateOwner to OpenSim.ini at EstateDefaults entry
To be used only on first time Estate Creation

Signed-off-by: Fernando Oliveira <fernando@oliveira.eti.br>
2012-01-22 02:04:10 -02:00
Fernando Oliveira 3032b49ec4 Changed to Auto Create a Sim at first time using the Regions.ini files Master Avatar and Estate keys 2012-01-21 19:08:04 -02:00
32 changed files with 271 additions and 68 deletions
+3
View File
@@ -89,3 +89,6 @@ OpenSim/Region/ScriptEngine/test-results/
OpenSim/Tests/Common/test-results/
OpenSim/Tests/test-results/
test-results/
/binteste
/ferland
+2
View File
@@ -74,6 +74,8 @@ namespace OpenSim.Data
RegionData Get(int x, int y, UUID ScopeID);
List<RegionData> Get(int xStart, int yStart, int xEnd, int yEnd, UUID ScopeID);
RegionData GetEmptyCoordinates(UUID ScopeID, int desiredX, int desiredY);
bool Store(RegionData data);
bool SetDataItem(UUID principalID, string item, string value);
+16
View File
@@ -342,5 +342,21 @@ namespace OpenSim.Data.MSSQL
return RunCommand(cmd);
}
}
/// <summary>
/// GetEmptyCoordinates - return one coordinate at grid based on desired X,Y
/// </summary>
/// <param name="ScopeID"></param>
/// <param name="desiredX"></param>
/// <param name="desiredY"></param>
/// <returns></returns>
public RegionData GetEmptyCoordinates(UUID ScopeID, int desiredX, int desiredY)
{
RegionData region = new RegionData() { posX = desiredX, posY = desiredY };
// TODO: Search a empty spot and reserve it for a while;
return region;
}
}
}
+17 -1
View File
@@ -336,5 +336,21 @@ namespace OpenSim.Data.MySQL
return RunCommand(cmd);
}
}
/// <summary>
/// GetEmptyCoordinates - return one coordinate at grid based on desired X,Y
/// </summary>
/// <param name="ScopeID"></param>
/// <param name="desiredX"></param>
/// <param name="desiredY"></param>
/// <returns></returns>
public RegionData GetEmptyCoordinates(UUID ScopeID, int desiredX, int desiredY)
{
RegionData region = new RegionData() { posX = desiredX, posY = desiredY };
// TODO: Search a empty spot and reserve it for a while;
return region;
}
}
}
}
+16
View File
@@ -245,5 +245,21 @@ namespace OpenSim.Data.Null
return ret;
}
/// <summary>
/// GetEmptyCoordinates - return one coordinate at grid based on desired X,Y
/// </summary>
/// <param name="ScopeID"></param>
/// <param name="desiredX"></param>
/// <param name="desiredY"></param>
/// <returns></returns>
public RegionData GetEmptyCoordinates(UUID ScopeID, int desiredX, int desiredY)
{
RegionData region = new RegionData() { posX = desiredX, posY = desiredY };
// TODO: Search a empty spot and reserve it for a while;
return region;
}
}
}
@@ -87,21 +87,26 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
{
if (RegisteredScenes.ContainsKey(updater.SimUUID))
{
Scene scene = RegisteredScenes[updater.SimUUID];
updater.DataReceived(data, scene);
updater.DataReceived(data, RegisteredScenes[updater.SimUUID]);
}
}
if (updater.UpdateTimer == 0)
{
lock (Updaters)
if (updater.UpdateTimer == 0)
{
if (!Updaters.ContainsKey(updater.UpdaterID))
lock (Updaters)
{
Updaters.Remove(updater.UpdaterID);
if (!Updaters.ContainsKey(updater.UpdaterID))
{
UUID idRemove = updater.UpdaterID;
Updaters[idRemove] = null;
updater = null;
Updaters.Remove(idRemove);
}
}
}
}
}
public UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url,
@@ -124,18 +129,17 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
{
if (RenderPlugins.ContainsKey(contentType))
{
DynamicTextureUpdater updater = new DynamicTextureUpdater();
updater.SimUUID = simID;
updater.PrimID = primID;
updater.ContentType = contentType;
updater.Url = url;
updater.UpdateTimer = updateTimer;
updater.UpdaterID = UUID.Random();
updater.Params = extraParams;
updater.BlendWithOldTexture = SetBlending;
updater.FrontAlpha = AlphaValue;
updater.Face = face;
updater.Disp = disp;
DynamicTextureUpdater updater = new DynamicTextureUpdater() { SimUUID = simID,
PrimID = primID,
ContentType = contentType,
Url = url,
UpdateTimer = updateTimer,
UpdaterID = UUID.Random(),
Params = extraParams,
BlendWithOldTexture = SetBlending,
FrontAlpha = AlphaValue,
Face = face,
Disp = disp };
lock (Updaters)
{
@@ -169,19 +173,18 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
{
if (RenderPlugins.ContainsKey(contentType))
{
DynamicTextureUpdater updater = new DynamicTextureUpdater();
updater.SimUUID = simID;
updater.PrimID = primID;
updater.ContentType = contentType;
updater.BodyData = data;
updater.UpdateTimer = updateTimer;
updater.UpdaterID = UUID.Random();
updater.Params = extraParams;
updater.BlendWithOldTexture = SetBlending;
updater.FrontAlpha = AlphaValue;
updater.Face = face;
updater.Url = "Local image";
updater.Disp = disp;
DynamicTextureUpdater updater = new DynamicTextureUpdater() { SimUUID = simID,
PrimID = primID,
ContentType = contentType,
BodyData = data,
UpdateTimer = updateTimer,
UpdaterID = UUID.Random(),
Params = extraParams,
BlendWithOldTexture = SetBlending,
FrontAlpha = AlphaValue,
Face = face,
Url = "Local image",
Disp = disp };
lock (Updaters)
{
@@ -306,14 +309,10 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
}
// Create a new asset for user
AssetBase asset
= new AssetBase(
UUID.Random(), "DynamicImage" + Util.RandomClass.Next(1, 10000), (sbyte)AssetType.Texture,
scene.RegionInfo.RegionID.ToString());
asset.Data = assetData;
asset.Description = String.Format("URL image : {0}", Url);
asset.Local = false;
asset.Temporary = ((Disp & DISP_TEMP) != 0);
AssetBase asset = new AssetBase(UUID.Random(), "DynamicImage" + Util.RandomClass.Next(1, 10000), (sbyte)AssetType.Texture, scene.RegionInfo.RegionID.ToString()) { Data = assetData,
Description = String.Format("URL image : {0}", Url),
Local = false,
Temporary = ((Disp & DISP_TEMP) != 0) };
scene.AssetService.Store(asset);
IJ2KDecoder cacheLayerDecode = scene.RequestModuleInterface<IJ2KDecoder>();
@@ -387,22 +386,19 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
if (setNewAlpha)
SetAlpha(ref image1, newAlpha);
Bitmap joint = MergeBitMaps(image1, image2);
byte[] result = new byte[0];
try
using (Bitmap joint = MergeBitMaps(image1, image2))
{
result = OpenJPEG.EncodeFromImage(joint, true);
byte[] result = new byte[0];
try
{
result = OpenJPEG.EncodeFromImage(joint, true);
}
catch (Exception e)
{
m_log.ErrorFormat("[DYNAMICTEXTUREMODULE]: OpenJpeg Encode Failed. Exception {0}{1}", e.Message, e.StackTrace);
}
return result;
}
catch (Exception e)
{
m_log.ErrorFormat(
"[DYNAMICTEXTUREMODULE]: OpenJpeg Encode Failed. Exception {0}{1}",
e.Message, e.StackTrace);
}
return result;
}
}
@@ -411,14 +407,12 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
public Bitmap MergeBitMaps(Bitmap front, Bitmap back)
{
Bitmap joint;
Graphics jG;
joint = new Bitmap(back.Width, back.Height, PixelFormat.Format32bppArgb);
jG = Graphics.FromImage(joint);
jG.DrawImage(back, 0, 0, back.Width, back.Height);
jG.DrawImage(front, 0, 0, back.Width, back.Height);
Bitmap joint = new Bitmap(back.Width, back.Height, PixelFormat.Format32bppArgb);
using (Graphics jG = Graphics.FromImage(joint))
{
jG.DrawImage(back, 0, 0, back.Width, back.Height);
jG.DrawImage(front, 0, 0, back.Width, back.Height);
}
return joint;
}
@@ -173,6 +173,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
return m_GridService.DeregisterRegion(regionID);
}
public GridRegion GetEmptyCoordinates(UUID scopeID, int desiredX, int desiredY)
{
return m_GridService.GetEmptyCoordinates(scopeID, desiredX, desiredY);
}
public List<GridRegion> GetNeighbours(UUID scopeID, UUID regionID)
{
return m_GridService.GetNeighbours(scopeID, regionID);
@@ -254,4 +259,4 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
MainConsole.Instance.Output(caps.ToString());
}
}
}
}
@@ -164,6 +164,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
return false;
}
public GridRegion GetEmptyCoordinates(UUID scopeID, int desiredX, int desiredY)
{
return m_RemoteGridService.GetEmptyCoordinates(scopeID, desiredX, desiredY);
}
public List<GridRegion> GetNeighbours(UUID scopeID, UUID regionID)
{
return m_RemoteGridService.GetNeighbours(scopeID, regionID);
+31
View File
@@ -813,10 +813,41 @@ namespace OpenSim.Region.Framework.Scenes
string tile = startupConfig.GetString("MaptileStaticUUID", UUID.Zero.ToString());
UUID tileID;
m_log.Info(String.Format("[SCENE]: MaptileStaticUUID for {0} config -> {1}", RegionInfo.RegionName, RegionInfo.RegionFile));
IniConfigSource sourceRegion = new IniConfigSource(RegionInfo.RegionFile);
if (sourceRegion.Configs[RegionInfo.RegionName] != null)
{
if (sourceRegion.Configs[RegionInfo.RegionName].Contains("MaptileStaticUUID"))
{
tile = sourceRegion.Configs[RegionInfo.RegionName].GetString("MaptileStaticUUID", UUID.Zero.ToString());
m_log.Info("[SCENE]: MaptileStaticUUID " + tile);
}
}
if (UUID.TryParse(tile, out tileID))
{
RegionInfo.RegionSettings.TerrainImageID = tileID;
}
else
{
tileID = UUID.Zero;
}
if (tileID == UUID.Zero)
{
m_generateMaptiles = true;
int maptileRefresh = startupConfig.GetInt("MaptileRefresh", 0);
if (maptileRefresh != 0)
{
m_mapGenerationTimer.Interval = maptileRefresh * 1000;
m_mapGenerationTimer.Elapsed += RegenerateMaptileAndReregister;
m_mapGenerationTimer.AutoReset = true;
m_mapGenerationTimer.Start();
}
}
}
string grant = startupConfig.GetString("AllowedClients", String.Empty);
@@ -30,7 +30,7 @@ using System.Collections.Generic;
using System.IO;
using System.Reflection;
using Nini.Config;
using log4net;
using log4net;
using OpenSim.Framework;
namespace OpenSim.Region.Physics.Manager
@@ -85,6 +85,9 @@ namespace OpenSim.Server.Handlers.Grid
case "deregister":
return Deregister(request);
case "get_empty_coordinates":
return GetEmptyCoordinates(request);
case "get_neighbours":
return GetNeighbours(request);
@@ -194,6 +197,41 @@ namespace OpenSim.Server.Handlers.Grid
}
byte[] GetEmptyCoordinates(Dictionary<string, object> request)
{
UUID scopeID = UUID.Zero;
if (request.ContainsKey("SCOPEID"))
UUID.TryParse(request["SCOPEID"].ToString(), out scopeID);
else
m_log.WarnFormat("[GRID HANDLER]: no scopeID in request to get empty coordinates");
Dictionary<string, object> result = new Dictionary<string, object>();
int desiredX = 7000; // put this at OpenSim.ini file
int desiredY = 7000; // this also
if (request.ContainsKey("X"))
int.TryParse( request["X"].ToString(), out desiredX);
if (request.ContainsKey("Y"))
int.TryParse(request["Y"].ToString(), out desiredY);
// TODO: Create the Method to get Empty Coordinates
GridRegion rinfo = m_GridService.GetEmptyCoordinates(scopeID, desiredX, desiredY);
if (rinfo == null)
result["coordinates"] = desiredX + "," + desiredY;
else
{
result["coordinates"] = rinfo.RegionCoordX.ToString() + "," + rinfo.RegionCoordY.ToString();
}
string xmlString = ServerUtils.BuildXmlResponse(result);
//m_log.DebugFormat("[GRID HANDLER]: resp string: {0}", xmlString);
UTF8Encoding encoding = new UTF8Encoding();
return encoding.GetBytes(xmlString);
}
byte[] GetNeighbours(Dictionary<string, object> request)
{
UUID scopeID = UUID.Zero;
@@ -178,6 +178,15 @@ namespace OpenSim.Services.Connectors
return false;
}
public GridRegion GetEmptyCoordinates(UUID scopeID, int desiredX, int desiredY)
{
GridRegion rinfo = new GridRegion();
// TODO : Search empty spots on Grid to register a new SIM
return rinfo;
}
public List<GridRegion> GetNeighbours(UUID scopeID, UUID regionID)
{
Dictionary<string, object> sendData = new Dictionary<string, object>();
@@ -154,6 +154,15 @@ namespace OpenSim.Services.Connectors.SimianGrid
return success;
}
public GridRegion GetEmptyCoordinates(UUID scopeID, int desiredX, int desiredY)
{
GridRegion rinfo = new GridRegion();
// TODO : Search empty spots on Grid to register a new SIM
return rinfo;
}
public List<GridRegion> GetNeighbours(UUID scopeID, UUID regionID)
{
const int NEIGHBOR_RADIUS = 128;
@@ -301,6 +301,15 @@ namespace OpenSim.Services.GridService
return m_Database.Delete(regionID);
}
public GridRegion GetEmptyCoordinates(UUID scopeID, int desiredX, int desiredY)
{
GridRegion rinfo = new GridRegion();
// TODO : Search empty spots on Grid to register a new SIM
return rinfo;
}
public List<GridRegion> GetNeighbours(UUID scopeID, UUID regionID)
{
List<GridRegion> rinfos = new List<GridRegion>();
@@ -52,6 +52,12 @@ namespace OpenSim.Services.Interfaces
/// <exception cref="System.Exception">Thrown if region deregistration failed</exception>
bool DeregisterRegion(UUID regionID);
/// <summary>
/// Get information about the empty spot to register a new Simulator.
/// </summary>
/// <returns></returns>
GridRegion GetEmptyCoordinates(UUID scopeID, int desiredX, int desiredY);
/// <summary>
/// Get information about the regions neighbouring the given co-ordinates (in meters).
/// </summary>
@@ -60,6 +66,7 @@ namespace OpenSim.Services.Interfaces
/// <returns></returns>
List<GridRegion> GetNeighbours(UUID scopeID, UUID regionID);
GridRegion GetRegionByUUID(UUID scopeID, UUID regionID);
/// <summary>
Binary file not shown.
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
libsqlite version: 3.7.5
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
+38
View File
@@ -2084,6 +2084,44 @@
</Files>
</Project>
<Project frameworkVersion="v3_5" name="OpenSim.Data.PGSQL" path="OpenSim/Data/PGSQL" type="Library">
<Configuration name="Debug">
<Options>
<OutputPath>../../../bin/</OutputPath>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<OutputPath>../../../bin/</OutputPath>
</Options>
</Configuration>
<ReferencePath>../../../bin/</ReferencePath>
<Reference name="System"/>
<Reference name="System.Core"/>
<Reference name="System.Data"/>
<Reference name="System.Drawing"/>
<Reference name="System.Xml"/>
<Reference name="OpenSim.Framework"/>
<Reference name="OpenSim.Data"/>
<Reference name="OpenMetaverseTypes" path="../../../bin/"/>
<Reference name="OpenMetaverse" path="../../../bin/"/>
<Reference name="MySql.Data" path="../../../bin/"/>
<Reference name="OpenSim.Framework.Console"/>
<Reference name="OpenSim.Region.Framework"/>
<Reference name="log4net" path="../../../bin/"/>
<Reference name="Mono.Addins" path="../../../bin/"/>
<Files>
<Match pattern="*.cs" recurse="true">
<Exclude name="Tests" pattern="Tests"/>
</Match>
<Match buildAction="EmbeddedResource" path="Resources" pattern="*.sql"/>
<Match buildAction="EmbeddedResource" path="Resources" pattern="*.migrations"/>
<Match buildAction="EmbeddedResource" path="Resources" pattern="*.addin.xml" recurse="true"/>
</Files>
</Project>
<Project frameworkVersion="v3_5" name="OpenSim.Data.MSSQL" path="OpenSim/Data/MSSQL" type="Library">
<Configuration name="Debug">
<Options>
+6
View File
@@ -0,0 +1,6 @@
rem git remote add upstream git://github.com/nebadon2025/opensimulator.git
git fetch upstream
git merge upstream/master