gmadsharp/GarrysMod.AddonCreator/BinaryCodecExt.cs

38 lines
854 B
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace GarrysMod.AddonCreator
{
static class BinaryCodecExt
{
public static string ReadString(this BinaryReader br, bool nullTerminated)
{
if (!nullTerminated)
return br.ReadString();
var sb = new StringBuilder();
do
{
var c = br.ReadChar();
if (c == 0)
break;
sb.Append(c);
} while (true);
return sb.ToString();
}
public static void Write(this BinaryWriter bw, string value, bool nullTerminated)
{
if (nullTerminated)
{
value += "\0";
}
bw.Write(value);
}
}
}