diff options
author | Treeki <treeki@gmail.com> | 2011-03-26 03:45:34 +0100 |
---|---|---|
committer | Treeki <treeki@gmail.com> | 2011-03-26 03:45:34 +0100 |
commit | fd085848e60831a8582c24de8f30ad4528f9d490 (patch) | |
tree | b00fd7539c1cb02ff5187f212b5bd2e8128e82bd /NW4RTools | |
parent | 6a3b743987ca132729845613bc2d043f75f0d9e5 (diff) | |
download | nw4rtools-fd085848e60831a8582c24de8f30ad4528f9d490.tar.gz nw4rtools-fd085848e60831a8582c24de8f30ad4528f9d490.zip |
unfinished console interface to NW4RTools added
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 |