Changeset 309


Ignore:
Timestamp:
Aug 9, 2017, 7:43:07 PM (2 years ago)
Author:
alloc
Message:

Fixes 14_16_21

Location:
binary-improvements
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/7dtd-server-fixes/ModInfo.xml

    r306 r309  
    55                <Description value="Common functions" />
    66                <Author value="Christian 'Alloc' Illy" />
    7                 <Version value="15" />
     7                <Version value="16" />
    88                <Website value="http://7dtd.illy.bz" />
    99        </ModInfo>
  • binary-improvements/7dtd-server-fixes/src/JSON/JSONArray.cs

    r187 r309  
    2323                }
    2424
    25                 public override string ToString (bool prettyPrint = false, int currentLevel = 0)
     25                public override void ToString (StringBuilder stringBuilder, bool prettyPrint = false, int currentLevel = 0)
    2626                {
    27                         StringBuilder sb = new StringBuilder ("[");
     27                        stringBuilder.Append ("[");
    2828                        if (prettyPrint)
    29                                 sb.Append ('\n');
     29                                stringBuilder.Append ('\n');
    3030                        foreach (JSONNode n in nodes) {
    3131                                if (prettyPrint)
    32                                         sb.Append (new String ('\t', currentLevel + 1));
    33                                 sb.Append (n.ToString (prettyPrint, currentLevel + 1));
    34                                 sb.Append (",");
     32                                        stringBuilder.Append (new String ('\t', currentLevel + 1));
     33                                n.ToString (stringBuilder, prettyPrint, currentLevel + 1);
     34                                stringBuilder.Append (",");
    3535                                if (prettyPrint)
    36                                         sb.Append ('\n');
     36                                        stringBuilder.Append ('\n');
    3737                        }
    38                         if (sb.Length > 1)
    39                                 sb.Remove (sb.Length - (prettyPrint ? 2 : 1), 1);
     38                        if (stringBuilder.Length > 1)
     39                                stringBuilder.Remove (stringBuilder.Length - (prettyPrint ? 2 : 1), 1);
    4040                        if (prettyPrint)
    41                                 sb.Append (new String ('\t', currentLevel));
    42                         sb.Append ("]");
    43                         return sb.ToString ();
     41                                stringBuilder.Append (new String ('\t', currentLevel));
     42                        stringBuilder.Append ("]");
    4443                }
    4544
  • binary-improvements/7dtd-server-fixes/src/JSON/JSONBoolean.cs

    r279 r309  
    11using System;
     2using System.Text;
    23
    34namespace AllocsFixes.JSON
     
    1718                }
    1819
    19                 public override string ToString (bool prettyPrint = false, int currentLevel = 0)
     20                public override void ToString (StringBuilder stringBuilder, bool prettyPrint = false, int currentLevel = 0)
    2021                {
    21                         return value.ToString (System.Globalization.CultureInfo.InvariantCulture).ToLower ();
     22                        stringBuilder.Append (value ? "true" : "false");
    2223                }
    2324
  • binary-improvements/7dtd-server-fixes/src/JSON/JSONNode.cs

    r187 r309  
    11using System;
     2using System.Text;
    23
    34namespace AllocsFixes.JSON
     
    56        public abstract class JSONNode
    67        {
    7                 public abstract string ToString(bool prettyPrint = false, int currentLevel = 0);
     8                public abstract void ToString(StringBuilder stringBuilder, bool prettyPrint = false, int currentLevel = 0);
     9
     10                public override string ToString () {
     11                        StringBuilder sb = new StringBuilder ();
     12                        ToString (sb);
     13                        return sb.ToString ();
     14                }
    815        }
    916}
    10 
  • binary-improvements/7dtd-server-fixes/src/JSON/JSONNull.cs

    r279 r309  
    11using System;
     2using System.Text;
    23
    34namespace AllocsFixes.JSON
     
    910                }
    1011
    11                 public override string ToString (bool prettyPrint = false, int currentLevel = 0)
     12                public override void ToString (StringBuilder stringBuilder, bool prettyPrint = false, int currentLevel = 0)
    1213                {
    13                         return "null";
     14                        stringBuilder.Append ("null");
    1415                }
    1516
  • binary-improvements/7dtd-server-fixes/src/JSON/JSONNumber.cs

    r279 r309  
    2323                }
    2424
    25                 public override string ToString (bool prettyPrint = false, int currentLevel = 0)
     25                public override void ToString (StringBuilder stringBuilder, bool prettyPrint = false, int currentLevel = 0)
    2626                {
    27                         return value.ToString (System.Globalization.CultureInfo.InvariantCulture);
     27                        stringBuilder.Append (value.ToCultureInvariantString ());
    2828                }
    2929
     
    8686                                } else {
    8787                                        double number;
    88                                         if (!double.TryParse (sbNum.ToString (), out number)) {
     88                                        if (!Utils.TryParseDouble(sbNum.ToString (), out number)) {
    8989                                                throw new MalformedJSONException ("Mantissa is not a valid decimal (\"" + sbNum.ToString () + "\")");
    9090                                        }
  • binary-improvements/7dtd-server-fixes/src/JSON/JSONObject.cs

    r187 r309  
    3232                }
    3333
    34                 public override string ToString (bool prettyPrint = false, int currentLevel = 0)
     34                public override void ToString (StringBuilder stringBuilder, bool prettyPrint = false, int currentLevel = 0)
    3535                {
    36                         StringBuilder sb = new StringBuilder ("{");
     36                        stringBuilder.Append ("{");
    3737                        if (prettyPrint)
    38                                 sb.Append ('\n');
     38                                stringBuilder.Append ('\n');
    3939                        foreach (KeyValuePair<string, JSONNode> kvp in nodes) {
    4040                                if (prettyPrint)
    41                                         sb.Append (new String ('\t', currentLevel + 1));
    42                                 sb.Append (String.Format ("\"{0}\":", kvp.Key));
     41                                        stringBuilder.Append (new String ('\t', currentLevel + 1));
     42                                stringBuilder.Append (String.Format ("\"{0}\":", kvp.Key));
    4343                                if (prettyPrint)
    44                                         sb.Append (" ");
    45                                 sb.Append (kvp.Value.ToString (prettyPrint, currentLevel + 1));
    46                                 sb.Append (",");
     44                                        stringBuilder.Append (" ");
     45                                kvp.Value.ToString (stringBuilder, prettyPrint, currentLevel + 1);
     46                                stringBuilder.Append (",");
    4747                                if (prettyPrint)
    48                                         sb.Append ('\n');
     48                                        stringBuilder.Append ('\n');
    4949                        }
    50                         if (sb.Length > 1)
    51                                 sb.Remove (sb.Length - (prettyPrint ? 2 : 1), 1);
     50                        if (stringBuilder.Length > 1)
     51                                stringBuilder.Remove (stringBuilder.Length - (prettyPrint ? 2 : 1), 1);
    5252                        if (prettyPrint)
    53                                 sb.Append (new String ('\t', currentLevel));
    54                         sb.Append ("}");
    55                         return sb.ToString ();
     53                                stringBuilder.Append (new String ('\t', currentLevel));
     54                        stringBuilder.Append ("}");
    5655                }
    5756
  • binary-improvements/7dtd-server-fixes/src/JSON/JSONString.cs

    r306 r309  
    1818                }
    1919
    20                 public override string ToString (bool prettyPrint = false, int currentLevel = 0)
     20                public override void ToString (StringBuilder stringBuilder, bool prettyPrint = false, int currentLevel = 0)
    2121                {
    2222                        if (value == null || value.Length == 0) {
    23                                 return "\"\"";
     23                                stringBuilder.Append ("\"\"");
     24                                return;
    2425                        }
    2526
    2627                        int len = value.Length;
    2728
    28                         StringBuilder sb = new StringBuilder (len + 4);
     29                        stringBuilder.EnsureCapacity (stringBuilder.Length + 2*len);
    2930                        String t;
     31
     32                        stringBuilder.Append ('"');
    3033
    3134                        foreach (char c in value) {
     
    3437                                        case '"':
    3538//                                      case '/':
    36                                                 sb.Append ('\\');
    37                                                 sb.Append (c);
     39                                                stringBuilder.Append ('\\');
     40                                                stringBuilder.Append (c);
    3841                                                break;
    3942                                        case '\b':
    40                                                 sb.Append ("\\b");
     43                                                stringBuilder.Append ("\\b");
    4144                                                break;
    4245                                        case '\t':
    43                                                 sb.Append ("\\t");
     46                                                stringBuilder.Append ("\\t");
    4447                                                break;
    4548                                        case '\n':
    46                                                 sb.Append ("\\n");
     49                                                stringBuilder.Append ("\\n");
    4750                                                break;
    4851                                        case '\f':
    49                                                 sb.Append ("\\f");
     52                                                stringBuilder.Append ("\\f");
    5053                                                break;
    5154                                        case '\r':
    52                                                 sb.Append ("\\r");
     55                                                stringBuilder.Append ("\\r");
    5356                                                break;
    5457                                        default:
    5558                                                if (c < ' ') {
    56                                                         t = "000" + String.Format ("X", c);
    57                                                         sb.Append ("\\u" + t.Substring (t.Length - 4));
     59                                                        stringBuilder.Append ("\\u");
     60                                                        stringBuilder.Append (((int)c).ToString ("X4"));
    5861                                                } else {
    59                                                         sb.Append (c);
     62                                                        stringBuilder.Append (c);
    6063                                                }
    6164                                                break;
     
    6366                        }
    6467
    65                         return string.Format ("\"{0}\"", sb.ToString ());
     68                        stringBuilder.Append ('"');
    6669                }
    6770
  • binary-improvements/AllocsCommands/AllocsCommands.csproj

    r290 r309  
    3939      <Private>False</Private>
    4040    </Reference>
     41    <Reference Include="Assembly-CSharp-firstpass">
     42      <HintPath>..\..\..\RPGMod\7dtd-binaries\Assembly-CSharp-firstpass.dll</HintPath>
     43      <Private>False</Private>
     44    </Reference>
    4145  </ItemGroup>
    4246  <ItemGroup>
  • binary-improvements/AllocsCommands/Commands/Reply.cs

    r251 r309  
    3535                                Chat.SendMessage (receiver, _sender, message);
    3636                        } else {
    37                                 if (receiver != null) {
    38                                         SdtdConsole.Instance.Output ("The sender of the PM you last received is currently not online.");
    39                                 } else {
    40                                         SdtdConsole.Instance.Output ("You have not received a PM so far.");
    41                                 }
     37                                SdtdConsole.Instance.Output ("You have not received a PM so far or sender of last received PM is no longer online.");
    4238                        }
    4339                }
  • binary-improvements/AllocsCommands/ModInfo.xml

    r306 r309  
    55                <Description value="Additional commands for server operation" />
    66                <Author value="Christian 'Alloc' Illy" />
    7                 <Version value="13" />
     7                <Version value="14" />
    88                <Website value="http://7dtd.illy.bz" />
    99        </ModInfo>
  • binary-improvements/AllocsCommands/PrivateMessageConnections.cs

    r251 r309  
    11using System;
    22using System.Collections.Generic;
     3using Steamworks;
    34
    45namespace AllocsFixes.CustomCommands
     
    67        public class PrivateMessageConnections
    78        {
    8                 private static Dictionary<ClientInfo, ClientInfo> senderOfLastPM = new Dictionary<ClientInfo, ClientInfo> ();
     9                private static Dictionary<CSteamID, CSteamID> senderOfLastPM = new Dictionary<CSteamID, CSteamID> ();
    910
    1011                public static void SetLastPMSender (ClientInfo _sender, ClientInfo _receiver)
    1112                {
    12                         if (senderOfLastPM.ContainsKey (_receiver))
    13                                 senderOfLastPM [_receiver] = _sender;
    14                         else
    15                                 senderOfLastPM.Add (_receiver, _sender);
     13                        senderOfLastPM [_receiver.steamId] = _sender.steamId;
    1614                }
    1715
    1816                public static ClientInfo GetLastPMSenderForPlayer (ClientInfo _player)
    1917                {
    20                         if (senderOfLastPM.ContainsKey (_player))
    21                                 return senderOfLastPM [_player];
     18                        if (senderOfLastPM.ContainsKey (_player.steamId)) {
     19                                CSteamID recSteamId = senderOfLastPM [_player.steamId];
     20                                ClientInfo recInfo = ConnectionManager.Instance.GetClientInfoForSteamId (recSteamId);
     21                                return recInfo;
     22                        }
    2223                        return null;
    2324                }
  • binary-improvements/MapRendering/ModInfo.xml

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

    r279 r309  
    6767
    6868                                        pJson.Add ("totalplaytime", new JSONNumber (p.TotalPlayTime));
    69                                         pJson.Add ("lastonline", new JSONString (p.LastOnline.ToUniversalTime ().ToString ("s")));
     69                                        pJson.Add ("lastonline", new JSONString (p.LastOnline.ToUniversalTime ().ToString ("yyyy-MM-ddTHH:mm:ssZ")));
    7070                                        pJson.Add ("ping", new JSONNumber (p.IsOnline ? p.ClientInfo.ping : -1));
    7171
  • binary-improvements/MapRendering/Web/API/GetPlayersOnline.cs

    r277 r309  
    2626                                p.Add ("steamid", new JSONString (ci.playerId));
    2727                                p.Add ("entityid", new JSONNumber (ci.entityId));
    28                                 p.Add ("ip", new JSONString (ci != null ? ci.ip : string.Empty));
     28                                p.Add ("ip", new JSONString (ci.ip));
    2929                                p.Add ("name", new JSONString (current.Value.EntityName));
    3030                                p.Add ("online", new JSONBoolean (true));
  • binary-improvements/MapRendering/Web/API/WebAPI.cs

    r306 r309  
    99                public static void WriteJSON (HttpListenerResponse resp, JSON.JSONNode root)
    1010                {
    11                         byte[] buf = Encoding.UTF8.GetBytes (root.ToString());
     11                        StringBuilder sb = new StringBuilder ();
     12                        root.ToString (sb);
     13                        byte[] buf = Encoding.UTF8.GetBytes (sb.ToString ());
    1214                        resp.ContentLength64 = buf.Length;
    1315                        resp.ContentType = "application/json";
  • binary-improvements/MapRendering/Web/Handlers/UserStatusHandler.cs

    r244 r309  
    2828                        result.Add ("permissions", perms);
    2929
    30                         WriteJSON (resp, result);
    31                 }
    32 
    33                 public void WriteJSON (HttpListenerResponse resp, JSONNode root) {
    34                         byte[] buf = Encoding.UTF8.GetBytes (root.ToString ());
    35                         resp.ContentLength64 = buf.Length;
    36                         resp.ContentType = "application/json";
    37                         resp.ContentEncoding = Encoding.UTF8;
    38                         resp.OutputStream.Write (buf, 0, buf.Length);
     30                        AllocsFixes.NetConnections.Servers.Web.API.WebAPI.WriteJSON (resp, result);
    3931                }
    4032
  • binary-improvements/MapRendering/Web/Web.cs

    r286 r309  
    7878                                                                        dataFolder,
    7979                                                                        new AllocsFixes.FileCache.SimpleCache (),
    80                                                                         true)
     80                                                                        false)
    8181                                        );
    8282                                } else {
     
    8787                                                                        dataFolder,
    8888                                                                        new AllocsFixes.FileCache.DirectAccess (),
    89                                                                         true)
     89                                                                        false)
    9090                                        );
    9191                                }
     
    185185                                        }
    186186
    187                                         Log.Out ("Error in Web.HandleRequest(): No handler found for path \"" + request.Url.AbsolutePath + "\"");
     187                                        // Not really relevant for non-debugging purposes:
     188                                        //Log.Out ("Error in Web.HandleRequest(): No handler found for path \"" + request.Url.AbsolutePath + "\"");
    188189                                        response.StatusCode = (int)HttpStatusCode.NotFound;
    189190                                } catch (IOException e) {
  • binary-improvements/MapRendering/Web/WebCommandResult.cs

    r306 r309  
    4747                        }
    4848
    49                         response.SendChunked = false;
     49                        try {
     50                                response.SendChunked = false;
    5051
    51                         try {
    5252                                if (responseType == ResultType.Raw) {
    5353                                        WebAPI.WriteText (response, sb.ToString ());
  • binary-improvements/bundle_creation/makefile

    r246 r309  
    1 HOST=178.63.97.203
     1HOST=136.243.11.25
    22PORT=51010
    33SERVERPATH=/srv/www/illy.bz/http/fi/7dtd/
Note: See TracChangeset for help on using the changeset viewer.