diff --git a/Lidgren.Network/NetBuffer.Write.cs b/Lidgren.Network/NetBuffer.Write.cs
index 19b44e0..03e18ff 100644
--- a/Lidgren.Network/NetBuffer.Write.cs
+++ b/Lidgren.Network/NetBuffer.Write.cs
@@ -585,6 +585,23 @@ namespace Lidgren.Network
return numBits;
}
+
+ ///
+ /// Writes an integer with the least amount of bits need for the specified range
+ /// Returns number of bits written
+ ///
+ public int WriteRangedInteger(long min, long max, long value)
+ {
+ NetException.Assert(value >= min && value <= max, "Value not within min/max range!");
+
+ ulong range = (ulong)(max - min);
+ int numBits = NetUtility.BitsToHoldUInt64(range);
+
+ ulong rvalue = (ulong)(value - min);
+ Write(rvalue, numBits);
+
+ return numBits;
+ }
///
/// Write a string