diff options
Diffstat (limited to 'NW4RTools')
-rw-r--r-- | NW4RTools/BrresReader.cs | 14 | ||||
-rw-r--r-- | NW4RTools/Logger.cs | 20 | ||||
-rw-r--r-- | NW4RTools/ResFile.cs | 2 | ||||
-rwxr-xr-x | NW4RTools/bin/Debug/NW4RTools.dll | bin | 238592 -> 239104 bytes | |||
-rw-r--r-- | NW4RTools/bin/Debug/NW4RTools.dll.mdb | bin | 114661 -> 114935 bytes |
5 files changed, 32 insertions, 4 deletions
diff --git a/NW4RTools/BrresReader.cs b/NW4RTools/BrresReader.cs index d5db720..aa54437 100644 --- a/NW4RTools/BrresReader.cs +++ b/NW4RTools/BrresReader.cs @@ -7,7 +7,11 @@ using NW4RTools.Models; namespace NW4RTools { public class BrresReader { public static ResFile LoadFile(byte[] data) { - return new BrresReader().Load(new InputStream(data, ByteEndian.BigEndian)); + return LoadFile(data, true); + } + + public static ResFile LoadFile(byte[] data, bool debug) { + return new BrresReader(debug).Load(new InputStream(data, ByteEndian.BigEndian)); } @@ -21,8 +25,12 @@ namespace NW4RTools { private ILogger Debug; private SortedDictionary<int, string> OffsetMap; - private BrresReader() { - Debug = new ConsoleLogger(); + private BrresReader(bool debug) { + if (debug) + Debug = new ConsoleLogger(); + else + Debug = new NullLogger(); + OffsetMap = new SortedDictionary<int, string>(); } diff --git a/NW4RTools/Logger.cs b/NW4RTools/Logger.cs index a6fbb70..9f7d063 100644 --- a/NW4RTools/Logger.cs +++ b/NW4RTools/Logger.cs @@ -24,6 +24,26 @@ namespace NW4RTools { void Unblock(); } + public class NullLogger : ILogger { + public NullLogger() { } + + public void Send(string format, params object[] args) { + } + + public LogContext Push(string format, params object[] args) { + return new LogContext(this); + } + + public void Pop() { + } + + public void Block() { + } + + public void Unblock() { + } + } + public class ConsoleLogger : ILogger { private List<string> PrefixElements; private List<string> Names; diff --git a/NW4RTools/ResFile.cs b/NW4RTools/ResFile.cs index 4f4a1b8..aae0038 100644 --- a/NW4RTools/ResFile.cs +++ b/NW4RTools/ResFile.cs @@ -19,7 +19,7 @@ namespace NW4RTools { } public ResDict<TValue> GetGroup<TValue>(string name) { - return this[name] as ResDict<TValue>; + return ContainsKey(name) ? (this[name] as ResDict<TValue>) : null; } diff --git a/NW4RTools/bin/Debug/NW4RTools.dll b/NW4RTools/bin/Debug/NW4RTools.dll Binary files differindex 9b33424..3e86a0a 100755 --- a/NW4RTools/bin/Debug/NW4RTools.dll +++ b/NW4RTools/bin/Debug/NW4RTools.dll diff --git a/NW4RTools/bin/Debug/NW4RTools.dll.mdb b/NW4RTools/bin/Debug/NW4RTools.dll.mdb Binary files differindex 183dfbb..1bff220 100644 --- a/NW4RTools/bin/Debug/NW4RTools.dll.mdb +++ b/NW4RTools/bin/Debug/NW4RTools.dll.mdb |