Changeset 238


Ignore:
Timestamp:
Jul 3, 2015, 4:16:11 PM (9 years ago)
Author:
alloc
Message:

Server fixes for A12

Location:
binary-improvements
Files:
3 added
28 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/7dtd-binaries/README.txt

    r233 r238  
    1 Put the Assembly-CSharp.deobf.dll renamed to Assembly-CSharp.dll (output of
    2 the Deobfuscator [1]), Assembly-CSharp-firstpass.dll, LogLibrary.dll, mscorlib.dll,
    3 System.dll and UnityEngine.dll in this folder.
     1Put the Assembly-CSharp.dll, Assembly-CSharp-firstpass.dll, LogLibrary.dll, mscorlib.dll,
     2System.dll and UnityEngine.dll from your dedicated server in this folder.
    43
    5 [1]: https://github.com/DerPopo/deobfuscate-7dtd
  • binary-improvements/7dtd-server-fixes/7dtd-server-fixes.csproj

    r233 r238  
    8585    <Compile Include="src\FileCache\MapTileCache.cs" />
    8686    <Compile Include="src\API.cs" />
     87    <Compile Include="src\ChatHookExample.cs" />
    8788  </ItemGroup>
    8889  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  • binary-improvements/7dtd-server-fixes/ModInfo.xml

    r236 r238  
    55                <Description value="Common functions" />
    66                <Author value="Christian 'Alloc' Illy" />
    7                 <Version value="2" />
     7                <Version value="4" />
    88                <Website value="http://7dtd.illy.bz" />
    99        </ModInfo>
  • binary-improvements/7dtd-server-fixes/src/API.cs

    r233 r238  
    2828                }
    2929
     30                public override bool ChatMessage (ClientInfo _cInfo, string _message, string _playerName) {
     31                        return ChatHookExample.Hook (_cInfo, _message, _playerName);
     32                }
    3033        }
    3134}
  • binary-improvements/7dtd-server-fixes/src/AssemblyInfo.cs

    r236 r238  
    1818// and "{Major}.{Minor}.{Build}.*" will update just the revision.
    1919
    20 [assembly: AssemblyVersion("0.11.6.0")]
     20[assembly: AssemblyVersion("0.12.0.0")]
    2121
    2222// The following attributes are used to specify the signing key for the assembly,
  • binary-improvements/7dtd-server-fixes/src/ItemList.cs

    r224 r238  
    4545                {
    4646                        NGuiInvGridCreativeMenu cm = new NGuiInvGridCreativeMenu ();
    47                         foreach (InventoryField invF in cm.GetAllItems()) {
    48                                 ItemBase ib = ItemBase.list [invF.itemValue.type];
     47                        foreach (ItemStack invF in cm.GetAllItems()) {
     48                                ItemClass ib = ItemClass.list [invF.itemValue.type];
    4949                                string name = ib.GetItemName ();
    5050                                if (name != null && name.Length > 0) {
     
    5656                                }
    5757                        }
    58                         foreach (InventoryField invF in cm.GetAllBlocks()) {
    59                                 ItemBase ib = ItemBase.list [invF.itemValue.type];
     58                        foreach (ItemStack invF in cm.GetAllBlocks()) {
     59                                ItemClass ib = ItemClass.list [invF.itemValue.type];
    6060                                string name = ib.GetItemName ();
    6161                                if (name != null && name.Length > 0) {
  • binary-improvements/7dtd-server-fixes/src/PersistentData/Inventory.cs

    r232 r238  
    2525                }
    2626
    27                 private void ProcessInv (List<InvItem> target, InventoryField[] sourceFields, int id)
     27                private void ProcessInv (List<InvItem> target, ItemStack[] sourceFields, int id)
    2828                {
    2929                        lock (target) {
     
    3232                                        if (sourceFields [i].count > 0) {
    3333                                                int count = sourceFields [i].count;
    34                                                 int maxAllowed = ItemBase.list [sourceFields [i].itemValue.type].Stacknumber.Value;
    35                                                 string name = ItemBase.list [sourceFields [i].itemValue.type].GetItemName ();
     34                                                int maxAllowed = ItemClass.list [sourceFields [i].itemValue.type].Stacknumber.Value;
     35                                                string name = ItemClass.list [sourceFields [i].itemValue.type].GetItemName ();
    3636
    3737                                                if (count > maxAllowed)
  • binary-improvements/7dtd-server-fixes/src/PersistentData/PersistentContainer.cs

    r230 r238  
    3636                public void Save ()
    3737                {
    38                         Stream stream = File.Open (StaticDirectories.GetSaveGameDir () + "/AllocsPeristentData.bin", FileMode.Create);
     38                        Stream stream = File.Open (GameUtils.GetSaveGameDir () + "/AllocsPeristentData.bin", FileMode.Create);
    3939                        BinaryFormatter bFormatter = new BinaryFormatter ();
    4040                        bFormatter.Serialize (stream, this);
     
    4444                public static bool Load ()
    4545                {
    46                         if (File.Exists (StaticDirectories.GetSaveGameDir () + "/AllocsPeristentData.bin")) {
     46                        if (File.Exists (GameUtils.GetSaveGameDir () + "/AllocsPeristentData.bin")) {
    4747                                try {
    4848                                        PersistentContainer obj;
    49                                         Stream stream = File.Open (StaticDirectories.GetSaveGameDir () + "/AllocsPeristentData.bin", FileMode.Open);
     49                                        Stream stream = File.Open (GameUtils.GetSaveGameDir () + "/AllocsPeristentData.bin", FileMode.Open);
    5050                                        BinaryFormatter bFormatter = new BinaryFormatter ();
    5151                                        obj = (PersistentContainer)bFormatter.Deserialize (stream);
  • binary-improvements/7dtd-server-fixes/src/PersistentData/Player.cs

    r233 r238  
    135135                        name = ci.playerName;
    136136                        ip = ci.ip;
     137                        lastOnline = DateTime.Now;
    137138                }
    138139
  • binary-improvements/AllocsCommands/AllocsCommands.csproj

    r233 r238  
    5252    <Compile Include="Chat.cs" />
    5353    <Compile Include="Commands\ListItems.cs" />
    54     <Compile Include="Commands\GenerateItemIcons.cs" />
     54    <Compile Include="Commands\ExportItemIcons.cs" />
    5555  </ItemGroup>
    5656  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  • binary-improvements/AllocsCommands/Chat.cs

    r235 r238  
    1313                                senderName = "Server";
    1414                        }
    15                         _receiver.SendPackage (new NetPackage_GameInfoMessage (_message, senderName + " (PM)"));
     15                        _receiver.SendPackage (new NetPackageGameMessage (_message, senderName + " (PM)"));
    1616                        string receiverName = _receiver.playerName;
    1717                        SdtdConsole.Instance.Output ("Message to player " + (receiverName != null ? "\"" + receiverName + "\"" : "unknownName") + " sent with sender \"" + senderName + "\"");
  • binary-improvements/AllocsCommands/Commands/Give.cs

    r230 r238  
    1212                }
    1313
     14                public override string GetHelp () {
     15                        return "Give an item to a player by dropping it in front of that player\n" +
     16                                   "Usage:\n" +
     17                                   "   give <name / entity id> <item name> <amount>\n" +
     18                                   "Either pass the full name of a player or his entity id (given by e.g. \"lpi\").\n" +
     19                                   "Item name has to be the exact name of an item as listed by \"listitems\".\n" +
     20                                   "Amount is the number of instances of this item to drop (as a single stack).";
     21                }
     22
    1423                public override string[] GetCommands ()
    1524                {
     
    2130                        try {
    2231                                if (_params.Count != 3) {
    23                                         SdtdConsole.Instance.Output ("Usage: give <playername|entityid> <itemname> <amount>");
     32                                        SdtdConsole.Instance.Output ("Wrong number of arguments, expected 3, found " + _params.Count + ".");
    2433                                        return;
    2534                                }
     
    4655                                EntityPlayer p = GameManager.Instance.World.Players.dict [ci.entityId];
    4756
    48                                 InventoryField invField = new InventoryField (iv, n);
     57                                ItemStack invField = new ItemStack (iv, n);
    4958
    5059                                GameManager.Instance.ItemDropServer (invField, p.GetPosition (), Vector3.zero, -1, 50);
  • binary-improvements/AllocsCommands/Commands/ListKnownPlayers.cs

    r233 r238  
    99                public override string GetDescription ()
    1010                {
    11                         return "lists all players that were ever online (optionally filtered)";
     11                        return "lists all players that were ever online";
     12                }
     13
     14                public override string GetHelp () {
     15                        return "Usage:\n" +
     16                                   "  1. listknownplayers\n" +
     17                                   "  2. listknownplayers -online\n" +
     18                                   "  3. listknownplayers -notbanned\n" +
     19                                   "  4. listknownplayers <player name>\n" +
     20                                   "1. Lists all players that have ever been online\n" +
     21                                   "2. Lists only the players that are currently online\n" +
     22                                   "3. Lists only the players that are not banned\n" +
     23                                        "4. Lists all players whose name contains the given string";
    1224                }
    1325
  • binary-improvements/AllocsCommands/Commands/ListLandProtection.cs

    r233 r238  
    99                {
    1010                        return "lists all land protection blocks and owners";
     11                }
     12
     13                public override string GetHelp () {
     14                        return "Usage:\n" +
     15                                   "  1. listlandprotection summary\n" +
     16                                   "  2. listlandprotection <steam id>\n" +
     17                                   "  3. listlandprotection <player name / entity id>\n" +
     18                                   "  4. listlandprotection nearby\n" +
     19                                   "  5. listlandprotection nearby <radius>\n" +
     20                                   "1. Lists only players that own claimstones, the number they own and the protection status\n" +
     21                                   "2. Lists only the claims of the player given by his SteamID including the individual claim positions\n" +
     22                                   "3. Same as 2 but player given by his player name or entity id (as given by e.g. \"lpi\")\n" +
     23                                   "4. Lists claims in a square with edge length of 64 around the executing player\n" +
     24                                   "5. Same as 4 but square edge length can be specified";
    1125                }
    1226
     
    7286                                }
    7387
    74                                 Dictionary<Vector3i, PersistentPlayerData> d = ppl.positionToLPBlockOwner;
     88                                Dictionary<Vector3i, PersistentPlayerData> d = ppl.m_lpBlockMap;
    7589                                if (d != null) {
    7690                                        Dictionary<PersistentPlayerData, List<Vector3i>> owners = new Dictionary<PersistentPlayerData, List<Vector3i>> ();
     
    93107                                                        name += " (" + kvp.Key.PlayerId + ")";
    94108
    95                                                         SdtdConsole.Instance.Output (String.Format ("Player \"{0}\" owns {3} keystones (protected: {1}, current hardness multiplier: {2})", name, w.LandClaimIsActive (kvp.Key), w.LandClaimPower (kvp.Key), kvp.Value.Count));
     109                                                        SdtdConsole.Instance.Output (String.Format ("Player \"{0}\" owns {3} keystones (protected: {1}, current hardness multiplier: {2})", name, w.IsLandProtectionValidForPlayer (kvp.Key), w.GetLandProtectionHardnessModifierForPlayer (kvp.Key), kvp.Value.Count));
    96110                                                        if (!summaryOnly) {
    97111                                                                foreach (Vector3i v in kvp.Value) {
  • binary-improvements/AllocsCommands/Commands/RemoveLandProtection.cs

    r230 r238  
    99                {
    1010                        return "removes the association of a land protection block to the owner";
     11                }
     12
     13                public override string GetHelp () {
     14                        return "Usage:" +
     15                                   "  1. removelandprotection <steamid>\n" +
     16                                   "  2. removelandprotection <x> <y> <z>\n" +
     17                                   "1. Remove all land claims owned by the user with the given SteamID\n" +
     18                                   "2. Remove only the claim block on the exactly given block position";
    1119                }
    1220
     
    6573                                PersistentPlayerList ppl = GameManager.Instance.GetPersistentPlayerList ();
    6674
    67                                 Dictionary<Vector3i, PersistentPlayerData> d = ppl.positionToLPBlockOwner;
     75                                Dictionary<Vector3i, PersistentPlayerData> d = ppl.m_lpBlockMap;
    6876                                if (d == null || !d.ContainsKey (v)) {
    6977                                        SdtdConsole.Instance.Output ("No land protection block at the given position or not a valid position. Use \"listlandprotection\" to get a list of keystones.");
  • binary-improvements/AllocsCommands/Commands/Reply.cs

    r233 r238  
    99                {
    1010                        return "send a message to  the player who last sent you a PM";
     11                }
     12
     13                public override string GetHelp () {
     14                        return "Usage:\n" +
     15                                   "   reply <message>\n" +
     16                                   "Send the given message to the user you last received a PM from.";
    1117                }
    1218
  • binary-improvements/AllocsCommands/Commands/SayToPlayer.cs

    r230 r238  
    99                {
    1010                        return "send a message to a single player";
     11                }
     12
     13                public override string GetHelp () {
     14                        return "Usage:\n" +
     15                                   "   pm <player name / steam id / entity id> <message>\n" +
     16                                   "Send a PM to the player given by the player name or entity id (as given by e.g. \"lpi\").";
    1117                }
    1218
  • binary-improvements/AllocsCommands/Commands/ShowInventory.cs

    r233 r238  
    99                public override string GetDescription ()
    1010                {
    11                         return "list inventory of a given player (steam id, entity id or name)";
     11                        return "list inventory of a given player";
     12                }
     13
     14                public override string GetHelp () {
     15                        return "Usage:\n" +
     16                                   "   showinventory <steam id / player name / entity id>\n" +
     17                                   "Show the inventory of the player given by his SteamID, player name or\n" +
     18                                   "entity id (as given by e.g. \"lpi\")." +
     19                                   "Note: This only shows the player's inventory after it was first sent to\n" +
     20                                   "the server which happens at least every 30 seconds.";
    1221                }
    1322
  • binary-improvements/AllocsCommands/Commands/TeleportPlayer.cs

    r235 r238  
    1010                {
    1111                        return "teleport a player to a given location";
     12                }
     13
     14                public override string GetHelp () {
     15                        return "Usage:\n" +
     16                                   "  1. teleportplayer <steam id / player name / entity id> <x> <y> <z>\n" +
     17                                   "  2. teleportplayer <steam id / player name / entity id> <target steam id / player name / entity id>\n" +
     18                                   "1. Teleports the player given by his SteamID, player name or entity id (as given by e.g. \"lpi\")\n" +
     19                                   "   to the specified location\n" +
     20                                        "2. As 1, but destination given by another player which has to be online";
    1221                }
    1322
     
    6170                                        }
    6271
    63                                         NetPackage_EntityTeleport pkg = new NetPackage_EntityTeleport (ep1);
     72                                        NetPackageEntityTeleport pkg = new NetPackageEntityTeleport (ep1);
    6473
    6574                                        ci1.SendPackage (pkg);
  • binary-improvements/AllocsCommands/ModInfo.xml

    r236 r238  
    55                <Description value="Additional commands for server operation" />
    66                <Author value="Christian 'Alloc' Illy" />
    7                 <Version value="2" />
     7                <Version value="4" />
    88                <Website value="http://7dtd.illy.bz" />
    99        </ModInfo>
  • binary-improvements/MapRendering/MapRendering/MapRenderBlockBuffer.cs

    r233 r238  
    5353                }
    5454
    55                 public void SetPart (Vector2i offset, int partSize, Color[] pixels) {
     55                public void SetPart (Vector2i offset, int partSize, Color32[] pixels) {
    5656                        if (offset.x + partSize > blockMap.width || offset.y + partSize > blockMap.height) {
    5757                                Log.Error (string.Format ("MapBlockBuffer[{0}].SetPart ({1}, {2}, {3}) has blockMap.size ({4}/{5})", zoomLevel, offset, partSize, pixels.Length, blockMap.width, blockMap.height));
    5858                                return;
    5959                        }
    60                         blockMap.SetPixels (offset.x, offset.y, partSize, partSize, pixels);
     60                        blockMap.SetPixels32 (offset.x, offset.y, partSize, partSize, pixels);
    6161                }
    6262
    63                 public Color[] GetHalfScaled ()
     63                public Color32[] GetHalfScaled ()
    6464                {
    6565                        zoomBuffer.Resize (Constants.MAP_BLOCK_SIZE, Constants.MAP_BLOCK_SIZE);
    66                         zoomBuffer.SetPixels (blockMap.GetPixels ());
     66                        zoomBuffer.SetPixels32 (blockMap.GetPixels32 ());
    6767
    6868                        TextureScale.Point (zoomBuffer, Constants.MAP_BLOCK_SIZE / 2, Constants.MAP_BLOCK_SIZE / 2);
    6969
    70                         return zoomBuffer.GetPixels ();
     70                        return zoomBuffer.GetPixels32 ();
    7171                }
    7272
  • binary-improvements/MapRendering/MapRendering/MapRendering.cs

    r235 r238  
    2424                private static object lockObject = new object ();
    2525                private MapRenderBlockBuffer[] zoomLevelBuffers;
    26                 private Dictionary<Vector2i, Color[]> dirtyChunks = new Dictionary<Vector2i, Color[]> ();
     26                private Dictionary<Vector2i, Color32[]> dirtyChunks = new Dictionary<Vector2i, Color32[]> ();
    2727                private System.Timers.Timer chunkSaveTimer = new System.Timers.Timer (500);
    2828                private bool renderingFullMap = false;
     
    3737                private MapRendering ()
    3838                {
    39                         Constants.MAP_DIRECTORY = StaticDirectories.GetSaveGameDir () + "/map";
     39                        Constants.MAP_DIRECTORY = GameUtils.GetSaveGameDir () + "/map";
    4040
    4141                        lock (lockObject) {
     
    6969                                                                ushort[] mapColors = c.GetMapColors ();
    7070                                                                if (mapColors != null) {
    71                                                                         Color[] realColors = new Color[Constants.MAP_CHUNK_SIZE * Constants.MAP_CHUNK_SIZE];
     71                                                                        Color32[] realColors = new Color32[Constants.MAP_CHUNK_SIZE * Constants.MAP_CHUNK_SIZE];
    7272                                                                        for (int i_colors = 0; i_colors < mapColors.Length; i_colors++) {
    73                                                                                 realColors [i_colors] = shortColorToColor (mapColors [i_colors]);
     73                                                                                realColors [i_colors] = shortColorToColor32 (mapColors [i_colors]);
    7474                                                                        }
    7575                                                                        Instance.dirtyChunks [cPos2] = realColors;
     
    9191                        MicroStopwatch microStopwatch = new MicroStopwatch ();
    9292
    93                         string regionSaveDir = StaticDirectories.GetSaveGameRegionDir ();
     93                        string regionSaveDir = GameUtils.GetSaveGameRegionDir ();
    9494                        RegionFileManager rfm = new RegionFileManager (regionSaveDir, regionSaveDir, 0, false);
    9595                        Texture2D fullMapTexture = null;
     
    119119                                renderingFullMap = true;
    120120
    121                                 if (widthPix <= 8000 && heightPix <= 8000)
     121                                if (widthPix <= 8192 && heightPix <= 8192)
    122122                                        fullMapTexture = new Texture2D (widthPix, heightPix);
    123123
     
    135135                                                                ushort[] mapColors = c.GetMapColors ();
    136136                                                                if (mapColors != null) {
    137                                                                         Color[] realColors = new Color[Constants.MAP_CHUNK_SIZE * Constants.MAP_CHUNK_SIZE];
     137                                                                        Color32[] realColors = new Color32[Constants.MAP_CHUNK_SIZE * Constants.MAP_CHUNK_SIZE];
    138138                                                                        for (int i_colors = 0; i_colors < mapColors.Length; i_colors++) {
    139                                                                                 realColors [i_colors] = shortColorToColor (mapColors [i_colors]);
     139                                                                                realColors [i_colors] = shortColorToColor32 (mapColors [i_colors]);
    140140                                                                        }
    141141                                                                        dirtyChunks [curChunkPos] = realColors;
    142142                                                                        if (fullMapTexture != null)
    143                                                                                 fullMapTexture.SetPixels (curFullMapPos.x, curFullMapPos.y, Constants.MAP_CHUNK_SIZE, Constants.MAP_CHUNK_SIZE, realColors);
     143                                                                                fullMapTexture.SetPixels32 (curFullMapPos.x, curFullMapPos.y, Constants.MAP_CHUNK_SIZE, Constants.MAP_CHUNK_SIZE, realColors);
    144144                                                                }
    145145                                                        }
     
    160160                                byte[] array = fullMapTexture.EncodeToPNG ();
    161161                                File.WriteAllBytes (Constants.MAP_DIRECTORY + "/map.png", array);
    162                                 Texture2D.Destroy (fullMapTexture);
     162                                UnityEngine.Object.Destroy (fullMapTexture);
    163163                                fullMapTexture = null;
    164164                        }
     
    337337                }
    338338
     339                private static Color32 shortColorToColor32 (ushort col)
     340                {
     341                        byte r = (byte)(256 * (col >> 10 & 31) / 32);
     342                        byte g = (byte)(256 * (col >> 5 & 31) / 32);
     343                        byte b = (byte)(256 * (col & 31) / 32);
     344                        byte a = 255;
     345                        return new Color32 (r, g, b, a);
     346                }
    339347        }
    340348}
  • binary-improvements/MapRendering/ModInfo.xml

    r236 r238  
    55                <Description value="Render the game map to image map tiles as it is uncovered" />
    66                <Author value="Christian 'Alloc' Illy" />
    7                 <Version value="3" />
     7                <Version value="4" />
    88                <Website value="http://7dtd.illy.bz" />
    99        </ModInfo>
  • binary-improvements/MapRendering/Web/API/GetLandClaims.cs

    r230 r238  
    2929                        result.Add ("claimowners", claimOwners);
    3030
    31                         Dictionary<Vector3i, PersistentPlayerData> d = GameManager.Instance.GetPersistentPlayerList ().positionToLPBlockOwner;
     31                        Dictionary<Vector3i, PersistentPlayerData> d = GameManager.Instance.GetPersistentPlayerList ().m_lpBlockMap;
    3232                        if (d != null) {
    3333                                World w = GameManager.Instance.World;
     
    4545                                        if (steamid.Length == 0 || kvp.Key.PlayerId.Equals (steamid)) {
    4646                                                string curID = kvp.Key.PlayerId;
    47                                                 bool isActive = w.LandClaimIsActive (kvp.Key);
     47                                                bool isActive = w.IsLandProtectionValidForPlayer (kvp.Key);
    4848
    4949                                                JSONObject owner = new JSONObject ();
  • binary-improvements/MapRendering/Web/Web.cs

    r230 r238  
    5656
    5757                                handlers.Add (
     58                                        "/itemicons/",
     59                                        new ItemIconHandler (
     60                                                "/itemicons/",
     61                                                true)
     62                                );
     63
     64                                handlers.Add (
    5865                                        "/map/",
    5966                                        new StaticHandler (
    6067                                                "/map/",
    61                                                 StaticDirectories.GetSaveGameDir () + "/map",
     68                                                GameUtils.GetSaveGameDir () + "/map",
    6269                                                MapRendering.MapRendering.GetTileCache (),
    6370                                                false)
  • binary-improvements/MapRendering/WebAndMapRendering.csproj

    r230 r238  
    5959    <Compile Include="Web\API\GetLandClaims.cs" />
    6060    <Compile Include="Commands\webstat.cs" />
     61    <Compile Include="Web\ItemIconHandler.cs" />
    6162  </ItemGroup>
    6263  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  • binary-improvements/bundle_creation/makefile

    r232 r238  
    2020${ARCHIVENAME}: CONTENTS
    2121        @echo Creating archive...
    22         @tar -czf ${ARCHIVENAME} 7DaysToDie_Data Mods
     22        @tar -czf ${ARCHIVENAME} Mods
    2323
    2424CONTENTS: SERVERFIXES
     
    2626SERVERFIXES:
    2727        @echo Copying server fixes...
    28         @rm 7DaysToDie_Data -Rf
    2928        @rm Mods -Rf
    30         @mkdir -p 7DaysToDie_Data/Managed
    31         @cp ../7dtd-binaries/Assembly-CSharp.dll 7DaysToDie_Data/Managed/Assembly-CSharp.dll
    3229        @mkdir -p Mods
    3330        @cp ../bin/Mods/* Mods/ -R
     
    3936clean:
    4037        @echo Cleaning intermediate stuff...
    41         @rm -Rf 7DaysToDie_Data Mods server_fixes_v*.tar.gz
     38        @rm -Rf Mods server_fixes_v*.tar.gz
    4239
  • binary-improvements/server-fixes.userprefs

    r236 r238  
    11<Properties>
    22  <MonoDevelop.Ide.Workspace ActiveConfiguration="Release_Version" />
    3   <MonoDevelop.Ide.Workbench ActiveDocument="MapRendering/MapRendering/MapRendering.cs">
     3  <MonoDevelop.Ide.Workbench ActiveDocument="7dtd-server-fixes/src/ChatHookExample.cs">
    44    <Files>
    5       <File FileName="MapRendering/MapRendering/MapRenderBlockBuffer.cs" Line="73" Column="54" />
    6       <File FileName="MapRendering/MapRendering/MapRendering.cs" Line="89" Column="3" />
     5      <File FileName="MapRendering/MapRendering/MapRenderBlockBuffer.cs" Line="66" Column="53" />
     6      <File FileName="MapRendering/MapRendering/MapRendering.cs" Line="343" Column="42" />
    77      <File FileName="MapRendering/MapRendering/Constants.cs" Line="1" Column="1" />
    88      <File FileName="MapRendering/Web/API/GetPlayersOnline.cs" Line="32" Column="80" />
     
    1010      <File FileName="MapRendering/Web/API/GetPlayersLocation.cs" Line="18" Column="40" />
    1111      <File FileName="7dtd-server-fixes/src/PersistentData/Players.cs" Line="13" Column="19" />
    12       <File FileName="AllocsCommands/Commands/TeleportPlayer.cs" Line="66" Column="1" />
    13       <File FileName="AllocsCommands/Chat.cs" Line="15" Column="25" />
    14       <File FileName="7dtd-server-fixes/src/API.cs" Line="13" Column="4" />
    15       <File FileName="7dtd-server-fixes/src/ItemList.cs" Line="47" Column="22" />
    16       <File FileName="MapRendering/Commands/RenderMap.cs" Line="23" Column="58" />
     12      <File FileName="7dtd-server-fixes/src/AssemblyInfo.cs" Line="20" Column="35" />
     13      <File FileName="7dtd-server-fixes/ModInfo.xml" Line="7" Column="20" />
     14      <File FileName="AllocsCommands/ModInfo.xml" Line="7" Column="20" />
     15      <File FileName="MapRendering/ModInfo.xml" Line="7" Column="20" />
     16      <File FileName="MapRendering/Web/ApiHandler.cs" Line="31" Column="3" />
     17      <File FileName="MapRendering/Web/Web.cs" Line="59" Column="19" />
     18      <File FileName="MapRendering/Web/ItemIconHandler.cs" Line="27" Column="53" />
     19      <File FileName="7dtd-server-fixes/src/ChatHookExample.cs" Line="17" Column="53" />
     20      <File FileName="7dtd-server-fixes/src/API.cs" Line="31" Column="28" />
    1721    </Files>
    1822    <Pads>
Note: See TracChangeset for help on using the changeset viewer.