Ignore:
Timestamp:
Dec 12, 2015, 4:08:53 PM (9 years ago)
Author:
alloc
Message:

Fixes 6_8_10

Location:
binary-improvements/MapRendering
Files:
1 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/MapRendering/ModInfo.xml

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

    r251 r253  
    77namespace AllocsFixes.NetConnections.Servers.Web.API
    88{
    9         public class GetLandClaims : WebAPI
    10         {
    11                 public override void HandleRequest (HttpListenerRequest req, HttpListenerResponse resp, WebConnection user, int permissionLevel)
    12                 {
    13                         string ViewersSteamID = string.Empty;
    14             ulong lViewersSteamID = 0L;
     9        public class GetLandClaims : WebAPI {
     10                public override void HandleRequest (HttpListenerRequest req, HttpListenerResponse resp, WebConnection user, int permissionLevel) {
     11                        string requestedSteamID = string.Empty;
    1512
    1613                        if (req.QueryString ["steamid"] != null) {
    17                                 ViewersSteamID = req.QueryString ["steamid"];
    18                 if (ViewersSteamID.Length != 17 || !ulong.TryParse (ViewersSteamID, out lViewersSteamID)) {
     14                                ulong lViewersSteamID;
     15                                requestedSteamID = req.QueryString ["steamid"];
     16                                if (requestedSteamID.Length != 17 || !ulong.TryParse (requestedSteamID, out lViewersSteamID)) {
    1917                                        resp.StatusCode = (int)HttpStatusCode.BadRequest;
    2018                                        Web.SetResponseTextContent (resp, "Invalid SteamID given");
     
    2321                        }
    2422
    25             // default user, cheap way to avoid 'null reference exception'
    26             try { user = user ?? new WebConnection ("", "", 0L); } catch { }
     23                        // default user, cheap way to avoid 'null reference exception'
     24                        user = user ?? new WebConnection ("", "", 0L);
    2725
    28             bool bViewAll = false; try { bViewAll = user.CanViewAllClaims (permissionLevel); } catch { }
     26                        bool bViewAll = WebConnection.CanViewAllClaims (permissionLevel);
    2927           
    3028                        JSONObject result = new JSONObject ();
     
    3432                        result.Add ("claimowners", claimOwners);
    3533
    36                         Dictionary<Vector3i, PersistentPlayerData> d = GameManager.Instance.GetPersistentPlayerList ().m_lpBlockMap;
    37                         if (d != null) {
    38                                 World w = GameManager.Instance.World;
    39                                 Dictionary<PersistentPlayerData, List<Vector3i>> owners = new Dictionary<PersistentPlayerData, List<Vector3i>> ();
     34                        LandClaimList.OwnerFilter[] ownerFilters = null;
     35                        if (!string.IsNullOrEmpty (requestedSteamID) || !bViewAll) {
     36                                if (!string.IsNullOrEmpty (requestedSteamID) && !bViewAll) {
     37                                        ownerFilters = new LandClaimList.OwnerFilter[] {
     38                                                LandClaimList.SteamIdFilter (user.SteamID.ToString ()),
     39                                                LandClaimList.SteamIdFilter (requestedSteamID)
     40                                        };
     41                                } else if (!bViewAll) {
     42                                        ownerFilters = new LandClaimList.OwnerFilter[] { LandClaimList.SteamIdFilter (user.SteamID.ToString ()) };
     43                                } else {
     44                                        ownerFilters = new LandClaimList.OwnerFilter[] { LandClaimList.SteamIdFilter (requestedSteamID) };
     45                                }
     46                        }
     47                        LandClaimList.PositionFilter[] posFilters = null;
    4048
    41                 // Add all owners to this temporary list regardless of permissions
    42                                 foreach (KeyValuePair<Vector3i, PersistentPlayerData> kvp in d) {
    43                                         if (kvp.Value.PlayerId.Equals (ViewersSteamID)) {
    44                                                 if (!owners.ContainsKey (kvp.Value)) {
    45                                                         owners.Add (kvp.Value, new List<Vector3i> ());
    46                                                 }
    47                                                 owners [kvp.Value].Add (kvp.Key);
     49                        Dictionary<PersistentData.Player, List<Vector3i>> claims = LandClaimList.GetLandClaims (ownerFilters, posFilters);
     50
     51                        foreach (KeyValuePair<PersistentData.Player, List<Vector3i>> kvp in claims) {
     52
     53                                try {
     54                                        JSONObject owner = new JSONObject ();
     55                                        claimOwners.Add (owner);
     56
     57                                        owner.Add ("steamid", new JSONString (kvp.Key.SteamID));
     58                                        owner.Add ("claimactive", new JSONBoolean (kvp.Key.LandProtectionActive));
     59
     60                                        if (kvp.Key.Name.Length > 0) {
     61                                                owner.Add ("playername", new JSONString (kvp.Key.Name));
     62                                        } else {
     63                                                owner.Add ("playername", new JSONNull ());
    4864                                        }
    49                                 }
    5065
    51                 // Loop through all claim owners...
    52                                 foreach (KeyValuePair<PersistentPlayerData, List<Vector3i>> kvp in owners) {
    53                     try
    54                     {
    55                         // ... but only show us claims that are from the current web user or if the current web user can see all claims regardless of ownership
    56                         if (kvp.Key.PlayerId.Equals (ViewersSteamID) || bViewAll)
    57                         {
    58                             string currentSteamID = kvp.Key.PlayerId;
    59                             bool isActive = w.IsLandProtectionValidForPlayer (kvp.Key);
     66                                        JSONArray claimsJson = new JSONArray ();
     67                                        owner.Add ("claims", claimsJson);
    6068
    61                             JSONObject owner = new JSONObject ();
    62                             claimOwners.Add (owner);
     69                                        foreach (Vector3i v in kvp.Value) {
     70                                                JSONObject claim = new JSONObject ();
     71                                                claim.Add ("x", new JSONNumber (v.x));
     72                                                claim.Add ("y", new JSONNumber (v.y));
     73                                                claim.Add ("z", new JSONNumber (v.z));
    6374
    64                             owner.Add("steamid", new JSONString (currentSteamID));
    65                             owner.Add("claimactive", new JSONBoolean (isActive));
    66 
    67                             if (PersistentContainer.Instance.Players [currentSteamID, false] != null) {
    68                                 owner.Add("playername", new JSONString (PersistentContainer.Instance.Players [currentSteamID, false].Name));
    69                             } else {
    70                                 owner.Add("playername", new JSONNull ());
    71                             }
    72 
    73                             JSONArray claims = new JSONArray ();
    74                             owner.Add ("claims", claims);
    75 
    76                             foreach (Vector3i v in kvp.Value) {
    77                                 JSONObject claim = new JSONObject ();
    78                                 claim.Add ("x", new JSONNumber (v.x));
    79                                 claim.Add ("y", new JSONNumber (v.y));
    80                                 claim.Add ("z", new JSONNumber (v.z));
    81 
    82                                 claims.Add (claim);
    83                             }
    84                         }
    85                     }
    86                     catch { }
     75                                                claimsJson.Add (claim);
     76                                        }
     77                                } catch {
    8778                                }
    8879                        }
  • binary-improvements/MapRendering/Web/API/GetLog.cs

    r250 r253  
    1515                        }
    1616
    17                         if (req.QueryString ["lastLine"] == null || !int.TryParse (req.QueryString ["lastLine"], out lastLine)) {
    18                                 lastLine = -1;
    19                         }
    20 
    2117                        JSONObject result = new JSONObject ();
    2218
    23                         List<LogBuffer.LogEntry> logEntries = LogBuffer.Instance.GetRange (ref firstLine, ref lastLine);
     19                        List<LogBuffer.LogEntry> logEntries = LogBuffer.Instance.GetRange (ref firstLine, 50, out lastLine);
    2420
    2521                        JSONArray entries = new JSONArray ();
  • binary-improvements/MapRendering/Web/API/GetPlayerInventory.cs

    r251 r253  
    88{
    99        public class GetPlayerInventory : WebAPI {
     10
    1011                public override void HandleRequest (HttpListenerRequest req, HttpListenerResponse resp, WebConnection user, int permissionLevel) {
    1112                        if (req.QueryString ["steamid"] == null) {
     
    3839                        DoInventory (bag, inv.bag);
    3940
    40                         AddEquipment (equipment, "head", inv.equipment, XMLData.Item.EnumEquipmentSlot.Head, NGuiInvGridEquipment.EnumClothingLayer.Middle);
    41                         AddEquipment (equipment, "eyes", inv.equipment, XMLData.Item.EnumEquipmentSlot.Eyes, NGuiInvGridEquipment.EnumClothingLayer.Middle);
    42                         AddEquipment (equipment, "face", inv.equipment, XMLData.Item.EnumEquipmentSlot.Face, NGuiInvGridEquipment.EnumClothingLayer.Middle);
     41                        AddEquipment (equipment, "head", inv.equipment, EquipmentSlots.Headgear);
     42                        AddEquipment (equipment, "eyes", inv.equipment, EquipmentSlots.Eyewear);
     43                        AddEquipment (equipment, "face", inv.equipment, EquipmentSlots.Face);
    4344
    44                         AddEquipment (equipment, "armor", inv.equipment, XMLData.Item.EnumEquipmentSlot.Chest, NGuiInvGridEquipment.EnumClothingLayer.Outer);
    45                         AddEquipment (equipment, "jacket", inv.equipment, XMLData.Item.EnumEquipmentSlot.Chest, NGuiInvGridEquipment.EnumClothingLayer.Middle);
    46                         AddEquipment (equipment, "shirt", inv.equipment, XMLData.Item.EnumEquipmentSlot.Chest, NGuiInvGridEquipment.EnumClothingLayer.Inner);
     45                        AddEquipment (equipment, "armor", inv.equipment, EquipmentSlots.ChestArmor);
     46                        AddEquipment (equipment, "jacket", inv.equipment, EquipmentSlots.Jacket);
     47                        AddEquipment (equipment, "shirt", inv.equipment, EquipmentSlots.Shirt);
    4748
    48                         AddEquipment (equipment, "legarmor", inv.equipment, XMLData.Item.EnumEquipmentSlot.Legs, NGuiInvGridEquipment.EnumClothingLayer.Outer);
    49                         AddEquipment (equipment, "pants", inv.equipment, XMLData.Item.EnumEquipmentSlot.Legs, NGuiInvGridEquipment.EnumClothingLayer.Inner);
    50                         AddEquipment (equipment, "boots", inv.equipment, XMLData.Item.EnumEquipmentSlot.Feet, NGuiInvGridEquipment.EnumClothingLayer.Inner);
     49                        AddEquipment (equipment, "legarmor", inv.equipment, EquipmentSlots.LegArmor);
     50                        AddEquipment (equipment, "pants", inv.equipment, EquipmentSlots.Legs);
     51                        AddEquipment (equipment, "boots", inv.equipment, EquipmentSlots.Feet);
    5152
    52                         AddEquipment (equipment, "gloves", inv.equipment, XMLData.Item.EnumEquipmentSlot.Hands, NGuiInvGridEquipment.EnumClothingLayer.Inner);
    53                         AddEquipment (equipment, "backpack", inv.equipment, XMLData.Item.EnumEquipmentSlot.Back, NGuiInvGridEquipment.EnumClothingLayer.Outer);
     53                        AddEquipment (equipment, "gloves", inv.equipment, EquipmentSlots.Hands);
    5454
    5555                        WriteJSON (resp, result);
     
    6262                }
    6363
    64                 private void AddEquipment (JSONObject _eq, string _slotname, InvItem[] _items, XMLData.Item.EnumEquipmentSlot _slot, NGuiInvGridEquipment.EnumClothingLayer _layer) {
    65                         int index = (int)_slot + (int)_layer * (int)XMLData.Item.EnumEquipmentSlot.Count;
    66                         if (_items != null) {
    67                                 _eq.Add (_slotname, GetJsonForItem (_items [index]));
    68                         } else {
    69                                 _eq.Add (_slotname, new JSONNull ());
     64                private void AddEquipment (JSONObject _eq, string _slotname, InvItem[] _items, EquipmentSlots _slot) {
     65                        int[] slotindices = XUiM_PlayerEquipment.GetSlotIndicesByEquipmentSlot (_slot);
     66
     67                        for (int i = 0; i < slotindices.Length; i++) {
     68                                if (_items != null && _items [slotindices [i]] != null) {
     69                                        InvItem item = _items [slotindices [i]];
     70                                        _eq.Add (_slotname, GetJsonForItem (item));
     71                                        return;
     72                                }
    7073                        }
     74
     75                        _eq.Add (_slotname, new JSONNull ());
    7176                }
    7277
     
    7580                                JSONObject jsonItem = new JSONObject ();
    7681                                jsonItem.Add ("count", new JSONNumber (_item.count));
    77                 jsonItem.Add ("name", new JSONString (_item.itemName));
    78                 jsonItem.Add ("icon", new JSONString (_item.icon));
    79                 jsonItem.Add ("iconcolor", new JSONString ((string.IsNullOrEmpty (_item.iconcolor) || _item.iconcolor == "FFFFFF" ? "" : _item.iconcolor)));
    80                 jsonItem.Add ("quality", new JSONNumber(_item.quality));
     82                                jsonItem.Add ("name", new JSONString (_item.itemName));
     83                                jsonItem.Add ("icon", new JSONString (_item.icon));
     84                                jsonItem.Add ("iconcolor", new JSONString (_item.iconcolor));
     85                                jsonItem.Add ("quality", new JSONNumber (_item.quality));
    8186                                if (_item.quality >= 0) {
    8287                                        jsonItem.Add ("qualitycolor", new JSONString (QualityInfo.GetQualityColorHex (_item.quality)));
  • binary-improvements/MapRendering/Web/API/GetPlayersLocation.cs

    r251 r253  
    1111                public override void HandleRequest (HttpListenerRequest req, HttpListenerResponse resp, WebConnection user, int permissionLevel)
    1212                {
    13             AdminTools admTools = null;
     13            AdminTools admTools = GameManager.Instance.adminTools;
     14            user = user ?? new WebConnection ("", "", 0L);
    1415
    15             try { admTools = GameManager.Instance.adminTools; } catch { }
    16             try { user = user ?? new WebConnection ("", "", 0L); } catch { } // default user, cheap way to avoid 'null reference exception'
    17 
    18             bool bViewAll = false; try { bViewAll = user.CanViewAllPlayers (permissionLevel); } catch { }
     16            bool bViewAll = WebConnection.CanViewAllPlayers (permissionLevel);
    1917
    2018            JSONArray playersJsResult = new JSONArray ();
     
    2321
    2422                        foreach (string sid in playersList.SteamIDs) {
    25                 try {
    26                     if ((admTools != null) && (PetesUtils.ValidText (sid)))
    27                         if (admTools.IsBanned (sid))
    28                             continue;
     23                if (admTools != null)
     24                    if (admTools.IsBanned (sid))
     25                        continue;
     26
     27                Player p = playersList [sid, false];
     28
     29                ulong player_steam_ID = 0L;
     30                if (!ulong.TryParse (sid, out player_steam_ID))
     31                    player_steam_ID = 0L;
     32
     33                if ((player_steam_ID == user.SteamID) || bViewAll) {
     34                    JSONObject pos = new JSONObject ();
     35                    pos.Add("x", new JSONNumber (p.LastPosition.x));
     36                    pos.Add("y", new JSONNumber (p.LastPosition.y));
     37                    pos.Add("z", new JSONNumber (p.LastPosition.z));
     38
     39                    JSONObject pJson = new JSONObject ();
     40                    pJson.Add("steamid", new JSONString (sid));
     41                    pJson.Add("ip", new JSONString (p.IP));
     42                    pJson.Add("name", new JSONString (p.Name));
     43                    pJson.Add("online", new JSONBoolean (p.IsOnline));
     44                    pJson.Add("position", pos);
     45
     46                    playersJsResult.Add (pJson);
    2947                }
    30                 catch { }
    31 
    32                 try
    33                 {
    34                     Player p = playersList [sid, false];
    35 
    36                     ulong player_steam_ID = 0L;
    37                     if (!ulong.TryParse (sid, out player_steam_ID))
    38                         player_steam_ID = 0L;
    39 
    40                     if ((player_steam_ID == user.SteamID) || bViewAll) {
    41                         JSONObject pos = new JSONObject ();
    42                         pos.Add("x", new JSONNumber (p.LastPosition.x));
    43                         pos.Add("y", new JSONNumber (p.LastPosition.y));
    44                         pos.Add("z", new JSONNumber (p.LastPosition.z));
    45 
    46                         JSONObject pJson = new JSONObject ();
    47                         pJson.Add("steamid", new JSONString (sid));
    48                         pJson.Add("ip", new JSONString (p.IP));
    49                         pJson.Add("name", new JSONString (p.Name));
    50                         pJson.Add("online", new JSONBoolean (p.IsOnline));
    51                         pJson.Add("position", pos);
    52 
    53                         playersJsResult.Add (pJson);
    54                     }
    55                 }
    56                 catch { }
    5748            }
    5849
  • binary-improvements/MapRendering/Web/Handlers/ItemIconHandler.cs

    r251 r253  
    88namespace AllocsFixes.NetConnections.Servers.Web.Handlers
    99{
    10         public class ItemIconHandler : PathHandler
    11         {
     10        public class ItemIconHandler : PathHandler {
    1211                private string staticPart;
    1312                private bool logMissingFiles;
    14         private Dictionary<string, byte[]> icons = new Dictionary<string, byte[]> ();
    15         private bool loaded = false;
     13                private Dictionary<string, byte[]> icons = new Dictionary<string, byte[]> ();
     14                private bool loaded = false;
    1615
    1716                public ItemIconHandler (string staticPart, bool logMissingFiles, string moduleName = null) : base(moduleName) {
     
    2928                        }
    3029
    31             // BEGIN CHANGED BY PSOUZA4
    3230                        string requestFileName = req.Url.AbsolutePath.Remove (0, staticPart.Length);
    3331                        requestFileName = requestFileName.Remove (requestFileName.LastIndexOf ('.'));
    3432
    35             string requestColorTintHex = string.Empty;
    36            
    37             // Chose a split instead of using a querystring variable in the URI, but that may arguably be cleaner
    38             if (requestFileName.Contains("@@")) {
    39                 try {
    40                     string[] tempTintingOptions = requestFileName.Split (new string[] { "@@" }, StringSplitOptions.RemoveEmptyEntries);
    41                     requestFileName = tempTintingOptions [0];
    42                     requestColorTintHex = tempTintingOptions [1].Trim ().ToUpper ();
    43                 }
    44                 catch { }
    45             }
    46 
    47             if (icons.ContainsKey (requestFileName) && req.Url.AbsolutePath.ToLower ().EndsWith(".png")) {
     33                        if (icons.ContainsKey (requestFileName) && req.Url.AbsolutePath.ToLower ().EndsWith (".png")) {
    4834                                resp.ContentType = MimeType.GetMimeType (".png");
    4935
    50                 byte[] itemIconData = icons [requestFileName];
    51 
    52                 // Note: optionally split this code into a ImageMultiplyBlend method
    53                 if (!string.IsNullOrEmpty (requestColorTintHex) && (requestColorTintHex != "FFFFFF")) {
    54                     try {
    55                         System.Drawing.Color colorTint = System.Drawing.ColorTranslator.FromHtml ("#" + requestColorTintHex);
    56                         System.Drawing.Bitmap image = (System.Drawing.Bitmap)PetesUtils.GetImageFromBytes (itemIconData);
    57 
    58                         for (var x = 0; x < image.Width; x++) {
    59                             for (int y = 0; y < image.Height; y++) {
    60                                 System.Drawing.Color originalColor = image.GetPixel (x, y);
    61                                 System.Drawing.Color changedColor = originalColor;
    62 
    63                                 // Only change the icon tinting if the alpha channel is fully opaque
    64                                 if (originalColor.A == 255) {
    65                                     // based on http://stackoverflow.com/questions/3837757/multiply-two-images-in-c-sharp-as-multiply-two-layers-in-photoshop
    66 
    67                                     double component_R = (((double)originalColor.R) * ((double)colorTint.R)) / 255.0;
    68                                     double component_G = (((double)originalColor.G) * ((double)colorTint.G)) / 255.0;
    69                                     double component_B = (((double)originalColor.B) * ((double)colorTint.B)) / 255.0;
    70 
    71                                     if (component_R > 255.0) component_R = 255.0;
    72                                     if (component_G > 255.0) component_G = 255.0;
    73                                     if (component_B > 255.0) component_B = 255.0;
    74 
    75                                     // multiply blend shouldn't ever calculate below 0, but for completeness let's leave in this logic
    76                                     if (component_R < 0.0) component_R = 0.0;
    77                                     if (component_G < 0.0) component_G = 0.0;
    78                                     if (component_B < 0.0) component_B = 0.0;
    79 
    80                                     changedColor = System.Drawing.Color.FromArgb (originalColor.A, (int)component_R, (int)component_G, (int)component_B);
    81                                 }                               
    82 
    83                                 image.SetPixel (x, y, changedColor);
    84                             }
    85                         }
    86 
    87                         itemIconData = PetesUtils.SaveImage_ToBytes (image, true);
    88                     }
    89                     catch { }
    90                 }
     36                                byte[] itemIconData = icons [requestFileName];
    9137
    9238                                resp.ContentLength64 = itemIconData.Length;
    9339                                resp.OutputStream.Write (itemIconData, 0, itemIconData.Length);
    94                 // END CHANGED BY PSOUZA4
    9540                        } else {
    9641                                resp.StatusCode = (int)HttpStatusCode.NotFound;
    97                                 if (logMissingFiles)
     42                                if (logMissingFiles) {
    9843                                        Log.Out ("Web:IconHandler:FileNotFound: \"" + req.Url.AbsolutePath + "\" ");
     44                                }
    9945                                return;
    10046                        }
     
    10652                                        return true;
    10753                                }
     54
     55                                MicroStopwatch microStopwatch = new MicroStopwatch ();
    10856
    10957                                GameObject atlasObj = GameObject.Find ("/NGUI Root (2D)/ItemIconAtlas");
     
    12068                                }
    12169
     70                                Dictionary<string, List<Color>> tintedIcons = new Dictionary<string, List<Color>> ();
     71                                foreach (ItemClass ic in ItemClass.list) {
     72                                        if (ic != null) {
     73                                                Color tintColor = ic.GetIconTint ();
     74                                                if (tintColor != Color.white) {
     75                                                        string name = ic.GetIconName ();
     76                                                        if (!tintedIcons.ContainsKey (name)) {
     77                                                                tintedIcons.Add (name, new List<Color> ());
     78                                                        }
     79                                                        List<Color> list = tintedIcons [name];
     80                                                        list.Add (tintColor);
     81                                                }
     82                                        }
     83                                }
     84
    12285                                Texture2D atlasTex = atlas.texture as Texture2D;
    12386
     
    12689                                        Texture2D tex = new Texture2D (data.width, data.height, TextureFormat.ARGB32, false);
    12790                                        tex.SetPixels (atlasTex.GetPixels (data.x, atlasTex.height - data.height - data.y, data.width, data.height));
    128                                         byte[] pixData = tex.EncodeToPNG ();
    12991
    130                                         icons.Add (name, pixData);
     92                                        icons.Add (name + "__FFFFFF", tex.EncodeToPNG ());
     93
     94                                        if (tintedIcons.ContainsKey (name)) {
     95                                                foreach (Color c in tintedIcons [name]) {
     96                                                        Texture2D tintedTex = new Texture2D (data.width, data.height, TextureFormat.ARGB32, false);
     97
     98                                                        for (int x = 0; x < data.width; x++) {
     99                                                                for (int y = 0; y < data.height; y++) {
     100                                                                        tintedTex.SetPixel (x, y, tex.GetPixel (x, y) * c);
     101                                                                }
     102                                                        }
     103
     104                                                        icons.Add (name + "__" + AllocsUtils.ColorToHex (c), tintedTex.EncodeToPNG ());
     105
     106                                                        UnityEngine.Object.Destroy (tintedTex);
     107                                                }
     108                                        }
     109
    131110                                        UnityEngine.Object.Destroy (tex);
    132111                                }
    133112
    134113                                loaded = true;
    135                                 Log.Out ("Web:IconHandler: Icons loaded");
     114                                Log.Out ("Web:IconHandler: Icons loaded - {0} ms", microStopwatch.ElapsedMilliseconds);
    136115
    137116                                return true;
  • binary-improvements/MapRendering/Web/LogBuffer.cs

    r250 r253  
    88{
    99        public class LogBuffer {
    10                 private const int MAX_ENTRIES = 50000;
     10                private const int MAX_ENTRIES = 30;
    1111                private static LogBuffer instance;
    1212
     
    9292                }
    9393
    94                 public List<LogEntry> GetRange (ref int _start, ref int _end) {
     94                public List<LogEntry> GetRange (ref int _start, int _count, out int _end) {
    9595                        lock (logEntries) {
    96                                 if (_end < 0) {
    97                                         _end = listOffset + logEntries.Count;
     96                                if (_count < 1) {
     97                                        _end = _start;
     98                                        return new List<LogEntry> ();
    9899                                }
    99100
     
    107108                                }
    108109
    109                                 if (_end < _start) {
    110                                         Log.Error ("GetRange: invalid end {0} (listOffset: {1}, count: {2})", _end, listOffset, logEntries.Count);
    111                                         return null;
    112                                 }
    113 
    114                                 if (_end >= listOffset + logEntries.Count) {
    115                                         _end = listOffset + logEntries.Count - 1;
    116                                 }
    117 
    118                                 return logEntries.GetRange (_start - listOffset, _end - _start + 1);
     110                                _end = _start + _count;
     111                                return logEntries.GetRange (_start - listOffset, _count);
    119112                        }
    120113                }
  • binary-improvements/MapRendering/Web/WebConnection.cs

    r251 r253  
    3030                }
    3131
    32         public bool CanViewAllPlayers (int _permissionLevel) {
     32        public static bool CanViewAllPlayers (int _permissionLevel) {
    3333            bool val = false;
    3434
     
    4747        }
    4848
    49         public bool CanViewAllClaims (int _permissionLevel) {
     49        public static bool CanViewAllClaims (int _permissionLevel) {
    5050            bool val = false;
    5151
  • binary-improvements/MapRendering/WebAndMapRendering.csproj

    r251 r253  
    2323    <Reference Include="System">
    2424      <HintPath>..\7dtd-binaries\System.dll</HintPath>
    25       <Private>False</Private>
    26     </Reference>
    27     <Reference Include="System.Drawing">
    28       <HintPath>..\7dtd-binaries\System.Drawing.dll</HintPath>
    2925      <Private>False</Private>
    3026    </Reference>
     
    5955    <Compile Include="API.cs" />
    6056    <Compile Include="Web\API\GetAnimalsLocation.cs" />
    61     <Compile Include="Web\API\GetRawEntitiesList.cs" />
    6257    <Compile Include="Web\API\GetHostileLocation.cs" />
    6358    <Compile Include="Web\API\Null.cs" />
Note: See TracChangeset for help on using the changeset viewer.