From 89a1a4cdaa0becce5af0e247aa2074bad5493048 Mon Sep 17 00:00:00 2001
From: Amorilia <amorilia@users.sourceforge.net>
Date: Sun, 4 Dec 2005 23:25:01 +0000
Subject: [PATCH] Fixed NiTextKeyExtraData read & write.

---
 NIF_Blocks.cpp | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/NIF_Blocks.cpp b/NIF_Blocks.cpp
index 4740457e..a5c9a22c 100644
--- a/NIF_Blocks.cpp
+++ b/NIF_Blocks.cpp
@@ -2821,9 +2821,11 @@ string NiPosData::asString() {
  **********************************************************/
 
 void NiTextKeyExtraData::Read( ifstream& file, unsigned int version ) {
+	GetAttr("Name")->Read( file, version );
+	GetAttr("Next Extra Data")->Read( file, version );
+	GetAttr("Unknown Int")->Read( file, version );
+
 	uint keyCount = ReadUInt( file );
-	//Read type but throw it away, always LINEAR_KEY
-	ReadUInt( file );
 
 	_keys.resize( keyCount );
 	for (uint i = 0; i < _keys.size(); i++) {
@@ -2832,9 +2834,11 @@ void NiTextKeyExtraData::Read( ifstream& file, unsigned int version ) {
 }
 
 void NiTextKeyExtraData::Write( ofstream& file, unsigned int version ) {
+	GetAttr("Name")->Write( file, version );
+	GetAttr("Next Extra Data")->Write( file, version );
+	GetAttr("Unknown Int")->Write( file, version );
+
 	WriteUInt( uint(_keys.size()), file );
-	KeyType _type = LINEAR_KEY;
-	NifStream( _type, file );
 
 	for (uint i = 0; i < _keys.size(); i++) {
 		NifStream( _keys[i], file, LINEAR_KEY );
-- 
GitLab