summaryrefslogtreecommitdiff
path: root/NW4RTools
diff options
context:
space:
mode:
authorTreeki <treeki@gmail.com>2011-03-26 03:45:34 +0100
committerTreeki <treeki@gmail.com>2011-03-26 03:45:34 +0100
commitfd085848e60831a8582c24de8f30ad4528f9d490 (patch)
treeb00fd7539c1cb02ff5187f212b5bd2e8128e82bd /NW4RTools
parent6a3b743987ca132729845613bc2d043f75f0d9e5 (diff)
downloadnw4rtools-fd085848e60831a8582c24de8f30ad4528f9d490.tar.gz
nw4rtools-fd085848e60831a8582c24de8f30ad4528f9d490.zip
unfinished console interface to NW4RTools added
Diffstat (limited to 'NW4RTools')
-rw-r--r--NW4RTools/BrresReader.cs14
-rw-r--r--NW4RTools/Logger.cs20
-rw-r--r--NW4RTools/ResFile.cs2
-rwxr-xr-xNW4RTools/bin/Debug/NW4RTools.dllbin238592 -> 239104 bytes
-rw-r--r--NW4RTools/bin/Debug/NW4RTools.dll.mdbbin114661 -> 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
index 9b33424..3e86a0a 100755
--- a/NW4RTools/bin/Debug/NW4RTools.dll
+++ b/NW4RTools/bin/Debug/NW4RTools.dll
Binary files differ
diff --git a/NW4RTools/bin/Debug/NW4RTools.dll.mdb b/NW4RTools/bin/Debug/NW4RTools.dll.mdb
index 183dfbb..1bff220 100644
--- a/NW4RTools/bin/Debug/NW4RTools.dll.mdb
+++ b/NW4RTools/bin/Debug/NW4RTools.dll.mdb
Binary files differ