diff options
author | Treeki <treeki@gmail.com> | 2011-02-06 03:27:04 +0100 |
---|---|---|
committer | Treeki <treeki@gmail.com> | 2011-02-06 03:27:04 +0100 |
commit | a7b952e51e8af35d903ae0a4fbe041423d35ff6d (patch) | |
tree | ec2bd343119bce56a265318cc5b2ee59362cc86f | |
parent | 27cd642d477e0c5647c61565af393f9dca8b6f66 (diff) | |
download | nw4rtools-a7b952e51e8af35d903ae0a4fbe041423d35ff6d.tar.gz nw4rtools-a7b952e51e8af35d903ae0a4fbe041423d35ff6d.zip |
material reading support pretty much complete for now, just need to add shader
offset fixups once I get shader support in
-rw-r--r-- | NW4RTools.userprefs | 12 | ||||
-rw-r--r-- | NW4RTools/BrresReader.cs | 12 | ||||
-rw-r--r-- | NW4RTools/Models/Material.cs | 6 | ||||
-rw-r--r-- | NW4RTools/NW4RTools.pidb | bin | 71720 -> 73876 bytes | |||
-rwxr-xr-x | NW4RTools/bin/Debug/NW4RTools.dll | bin | 28672 -> 28672 bytes | |||
-rw-r--r-- | NW4RTools/bin/Debug/NW4RTools.dll.mdb | bin | 10083 -> 10087 bytes | |||
-rw-r--r-- | TestApp/TestApp.pidb | bin | 3039 -> 2991 bytes | |||
-rwxr-xr-x | TestApp/bin/Debug/NW4RTools.dll | bin | 28672 -> 28672 bytes | |||
-rw-r--r-- | TestApp/bin/Debug/NW4RTools.dll.mdb | bin | 10083 -> 10087 bytes | |||
-rwxr-xr-x | TestApp/bin/Debug/TestApp.exe | bin | 3584 -> 3584 bytes | |||
-rw-r--r-- | TestApp/bin/Debug/TestApp.exe.mdb | bin | 416 -> 416 bytes |
11 files changed, 21 insertions, 9 deletions
diff --git a/NW4RTools.userprefs b/NW4RTools.userprefs index f308c35..bad4528 100644 --- a/NW4RTools.userprefs +++ b/NW4RTools.userprefs @@ -1,13 +1,13 @@ <Properties> <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" /> - <MonoDevelop.Ide.Workbench ActiveDocument="NW4RTools/Models/Material.cs"> + <MonoDevelop.Ide.Workbench ActiveDocument="NW4RTools/BrresReader.cs"> <Files> - <File FileName="NW4RTools/Types.cs" Line="11" Column="26" /> - <File FileName="TestApp/Main.cs" Line="9" Column="44" /> - <File FileName="NW4RTools/BrresReader.cs" Line="412" Column="1" /> - <File FileName="NW4RTools/Models/Model.cs" Line="17" Column="54" /> - <File FileName="NW4RTools/Models/Material.cs" Line="48" Column="16" /> + <File FileName="NW4RTools/Types.cs" Line="71" Column="8" /> + <File FileName="NW4RTools/BrresReader.cs" Line="433" Column="74" /> + <File FileName="NW4RTools/Models/Model.cs" Line="19" Column="34" /> + <File FileName="NW4RTools/Models/Material.cs" Line="28" Column="36" /> <File FileName="NW4RTools/InputStream.cs" Line="94" Column="15" /> + <File FileName="NW4RTools/Models/Shader.cs" Line="2" Column="34" /> </Files> </MonoDevelop.Ide.Workbench> <MonoDevelop.Ide.DebuggingService.Breakpoints> diff --git a/NW4RTools/BrresReader.cs b/NW4RTools/BrresReader.cs index 70463d6..36634d0 100644 --- a/NW4RTools/BrresReader.cs +++ b/NW4RTools/BrresReader.cs @@ -426,9 +426,8 @@ namespace NW4RTools { Int32 unkOffset = ins.ReadInt32(); Debug.Send("Unknown offset for {0}: {1:X} [dest {2:X}]", name, unkOffset, startPos + unkOffset); - // Need to implement DLs... Int32 dlOffset = ins.ReadInt32(); - Debug.Send("DL offset for {0}: {1:X} [dest {2:X}]", name, dlOffset, startPos + dlOffset); + //Debug.Send("DL offset for {0}: {1:X} [dest {2:X}]", name, dlOffset, startPos + dlOffset); // ResTexObj int ResTexObjPos = ins.Position; @@ -543,6 +542,15 @@ namespace NW4RTools { ins.Skip(2); } + // Display Lists + OffsetMap.Add(startPos + dlOffset, "Material Display Lists: " + name); + + ins.Seek(startPos + dlOffset); + m.PixDL = ins.ReadBytes(0x20); + m.TevColorDL = ins.ReadBytes(0x80); + m.IndMtxAndScaleDL = ins.ReadBytes(0x40); + m.TexCoordGenDL = ins.ReadBytes(0xA0); + return m; } diff --git a/NW4RTools/Models/Material.cs b/NW4RTools/Models/Material.cs index 4540b0d..8ece6ad 100644 --- a/NW4RTools/Models/Material.cs +++ b/NW4RTools/Models/Material.cs @@ -56,7 +56,11 @@ namespace NW4RTools.Models { // Other public List<BoundTextureInfo> BoundTextures; - // UNFINISHED + // Display Lists + public byte[] PixDL; + public byte[] TevColorDL; + public byte[] IndMtxAndScaleDL; + public byte[] TexCoordGenDL; public Material() { } diff --git a/NW4RTools/NW4RTools.pidb b/NW4RTools/NW4RTools.pidb Binary files differindex 726779f..5769072 100644 --- a/NW4RTools/NW4RTools.pidb +++ b/NW4RTools/NW4RTools.pidb diff --git a/NW4RTools/bin/Debug/NW4RTools.dll b/NW4RTools/bin/Debug/NW4RTools.dll Binary files differindex 1d9a2ad..fcfb2a6 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 e3698a2..7d4ac90 100644 --- a/NW4RTools/bin/Debug/NW4RTools.dll.mdb +++ b/NW4RTools/bin/Debug/NW4RTools.dll.mdb diff --git a/TestApp/TestApp.pidb b/TestApp/TestApp.pidb Binary files differindex 07e4928..bdecde3 100644 --- a/TestApp/TestApp.pidb +++ b/TestApp/TestApp.pidb diff --git a/TestApp/bin/Debug/NW4RTools.dll b/TestApp/bin/Debug/NW4RTools.dll Binary files differindex 1d9a2ad..fcfb2a6 100755 --- a/TestApp/bin/Debug/NW4RTools.dll +++ b/TestApp/bin/Debug/NW4RTools.dll diff --git a/TestApp/bin/Debug/NW4RTools.dll.mdb b/TestApp/bin/Debug/NW4RTools.dll.mdb Binary files differindex e3698a2..7d4ac90 100644 --- a/TestApp/bin/Debug/NW4RTools.dll.mdb +++ b/TestApp/bin/Debug/NW4RTools.dll.mdb diff --git a/TestApp/bin/Debug/TestApp.exe b/TestApp/bin/Debug/TestApp.exe Binary files differindex 045ad0c..04c714d 100755 --- a/TestApp/bin/Debug/TestApp.exe +++ b/TestApp/bin/Debug/TestApp.exe diff --git a/TestApp/bin/Debug/TestApp.exe.mdb b/TestApp/bin/Debug/TestApp.exe.mdb Binary files differindex 348a92a..9bddbc7 100644 --- a/TestApp/bin/Debug/TestApp.exe.mdb +++ b/TestApp/bin/Debug/TestApp.exe.mdb |