Skip to content

Commit 485c2e5

Browse files
committed
ESPReaders and ESPWriters now carry a reference to which master they are reading for
1 parent a03a96f commit 485c2e5

38 files changed

Lines changed: 49 additions & 41 deletions

ESPSharp/ESPReader.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,12 @@ namespace ESPSharp
1111
{
1212
public class ESPReader : BinaryReader
1313
{
14-
public ESPReader(Stream stream)
15-
: base(stream, Utility.WesternEncoding) { }
14+
public ElderScrollsPlugin Master { get; set; }
15+
public ESPReader(Stream stream, ElderScrollsPlugin master)
16+
: base(stream, Utility.WesternEncoding)
17+
{
18+
Master = master;
19+
}
1620

1721
public string ReadTag()
1822
{

ESPSharp/ESPWriter.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,12 @@ namespace ESPSharp
1010
{
1111
public class ESPWriter : BinaryWriter
1212
{
13-
public ESPWriter(Stream stream)
14-
:base(stream, Utility.WesternEncoding){}
13+
public ElderScrollsPlugin Master { get; set; }
14+
public ESPWriter(Stream stream, ElderScrollsPlugin master)
15+
:base(stream, Utility.WesternEncoding)
16+
{
17+
Master = master;
18+
}
1519

1620
public void WriteTag(string Tag)
1721
{

ESPSharp/ElderScrollsPlugin.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public void ReadBinary(string file)
128128
mmf = MemoryMappedFile.CreateFromFile(file, FileMode.Open, Path.GetFileNameWithoutExtension(file), fi.Length, MemoryMappedFileAccess.Read);
129129

130130
using (MemoryMappedViewStream stream = mmf.CreateViewStream(0, fi.Length, MemoryMappedFileAccess.Read))
131-
using (ESPReader reader = new ESPReader(stream))
131+
using (ESPReader reader = new ESPReader(stream, this))
132132
{
133133
Header = new RecordView(reader, mmf);
134134

ESPSharp/Record.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public void WriteBinary(ESPWriter writer)
109109
else
110110
{
111111
using (MemoryStream stream = new MemoryStream())
112-
using (ESPWriter subWriter = new ESPWriter(stream))
112+
using (ESPWriter subWriter = new ESPWriter(stream, writer.Master))
113113
{
114114
WriteData(subWriter);
115115
stream.Position = 0;
@@ -147,7 +147,7 @@ public void ReadBinary(ESPReader reader)
147147
corruptedBytes = outBytes;
148148
else
149149
using (MemoryStream stream = new MemoryStream(outBytes))
150-
using (ESPReader subReader = new ESPReader(stream))
150+
using (ESPReader subReader = new ESPReader(stream, reader.Master))
151151
ReadData(subReader, stream.Length);
152152
}
153153
else

ESPSharp/RecordView.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public Record Record
5252
case DataSource.Binary:
5353

5454
using (MemoryMappedViewStream stream = file.CreateViewStream(Offset, Size, MemoryMappedFileAccess.Read))
55-
using (ESPReader reader = new ESPReader(stream))
55+
using (ESPReader reader = new ESPReader(stream, master))
5656
{
5757
outRecord = Record.CreateRecord(reader);
5858
outRecord.ReadBinary(reader);

ESPSharp/Subrecords/GeneratedCode/AnimationSound.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public AnimationSound(AnimationSound copyObject)
4848
protected override void ReadData(ESPReader reader)
4949
{
5050
using (MemoryStream stream = new MemoryStream(reader.ReadBytes(size)))
51-
using (ESPReader subReader = new ESPReader(stream))
51+
using (ESPReader subReader = new ESPReader(stream, reader.Master))
5252
{
5353
try
5454
{

ESPSharp/Subrecords/GeneratedCode/ArmorData.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public ArmorData(ArmorData copyObject)
4444
protected override void ReadData(ESPReader reader)
4545
{
4646
using (MemoryStream stream = new MemoryStream(reader.ReadBytes(size)))
47-
using (ESPReader subReader = new ESPReader(stream))
47+
using (ESPReader subReader = new ESPReader(stream, reader.Master))
4848
{
4949
try
5050
{

ESPSharp/Subrecords/GeneratedCode/ArmorExtraData.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public ArmorExtraData(ArmorExtraData copyObject)
4848
protected override void ReadData(ESPReader reader)
4949
{
5050
using (MemoryStream stream = new MemoryStream(reader.ReadBytes(size)))
51-
using (ESPReader subReader = new ESPReader(stream))
51+
using (ESPReader subReader = new ESPReader(stream, reader.Master))
5252
{
5353
try
5454
{

ESPSharp/Subrecords/GeneratedCode/Attributes.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public Attributes(Attributes copyObject)
6060
protected override void ReadData(ESPReader reader)
6161
{
6262
using (MemoryStream stream = new MemoryStream(reader.ReadBytes(size)))
63-
using (ESPReader subReader = new ESPReader(stream))
63+
using (ESPReader subReader = new ESPReader(stream, reader.Master))
6464
{
6565
try
6666
{

ESPSharp/Subrecords/GeneratedCode/BipedData.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public BipedData(BipedData copyObject)
4444
protected override void ReadData(ESPReader reader)
4545
{
4646
using (MemoryStream stream = new MemoryStream(reader.ReadBytes(size)))
47-
using (ESPReader subReader = new ESPReader(stream))
47+
using (ESPReader subReader = new ESPReader(stream, reader.Master))
4848
{
4949
try
5050
{

0 commit comments

Comments
 (0)