Fixes loading, *Command system is broke* Will fix in the coming days.

This commit is contained in:
hondacrx
2022-06-02 17:00:58 -04:00
parent 0af9f22d70
commit 11e8c2f4f2
26 changed files with 268 additions and 137 deletions
@@ -22,6 +22,7 @@ using Framework.IO;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Reflection;
@@ -389,6 +390,8 @@ namespace Game.DataStorage
public uint GetTableHash() { return _header.TableHash; }
public uint GetNumRows() { return Keys.Max() + 1; }
public string GetName()
{
return _tableName;
@@ -219,7 +219,7 @@ namespace Game.DataStorage
if (Header.HasIndexTable() && indexData.Length != sparseIndexData.Length)
throw new Exception("indexData.Length != sparseIndexData.Length");
//indexData = sparseIndexData;
indexData = sparseIndexData;
}
BitReader bitReader = new(recordsData);
@@ -328,7 +328,7 @@ namespace Game.DataStorage
else
return columnMeta.Common.DefaultValue.As<T>();
case DB2ColumnCompression.Pallet:
case DB2ColumnCompression.PalletArray: //need for SummonProperties.db2
case DB2ColumnCompression.PalletArray:
uint palletIndex = _data.Read<uint>(columnMeta.Pallet.BitWidth);
return _palletData[fieldIndex][palletIndex].As<T>();
}
@@ -363,12 +363,12 @@ namespace Game.DataStorage
return arr2;
case DB2ColumnCompression.SignedImmediate:
T[] arr4 = new T[arraySize];
T[] arr3 = new T[arraySize];
for (int i = 0; i < arr4.Length; i++)
arr4[i] = _data.ReadSigned<T>(columnMeta.Immediate.BitWidth);
for (int i = 0; i < arr3.Length; i++)
arr3[i] = _data.ReadSigned<T>(columnMeta.Immediate.BitWidth);
return arr4;
return arr3;
case DB2ColumnCompression.PalletArray:
int cardinality = columnMeta.Pallet.Cardinality;
@@ -377,12 +377,12 @@ namespace Game.DataStorage
uint palletArrayIndex = _data.Read<uint>(columnMeta.Pallet.BitWidth);
T[] arr3 = new T[cardinality];
T[] arr4 = new T[cardinality];
for (int i = 0; i < arr3.Length; i++)
arr3[i] = _palletData[fieldIndex][i + cardinality * (int)palletArrayIndex].As<T>();
for (int i = 0; i < arr4.Length; i++)
arr4[i] = _palletData[fieldIndex][i + cardinality * (int)palletArrayIndex].As<T>();
return arr3;
return arr4;
}
throw new Exception(string.Format("Unexpected compression type {0}", columnMeta.CompressionType));
}