Fixes on debug printing

This commit is contained in:
~lucidiot 2022-07-30 02:25:52 +02:00
parent ae5af5bbdc
commit 4d8f583966
2 changed files with 10 additions and 5 deletions

View File

@ -108,7 +108,7 @@ namespace Lucidiot.Magellan.Extract {
}
static void DumpDatabase(string MGIPath, string fileName) {
Console.WriteLine("Raima Database Manager Embedded V3.00 Database Schema Dump");
Console.WriteLine("Raima Database Manager Embedded Database Schema Dump");
Console.WriteLine("Database {0} in archive {1}", fileName, MGIPath);
DatabaseSchema ds;
try {
@ -121,6 +121,7 @@ namespace Lucidiot.Magellan.Extract {
Console.WriteLine("--------------------------------------------------");
return;
}
Console.WriteLine("Version: {0}", ds.Version);
Console.WriteLine("PageSize: {0}", ds.PageSize);
Console.WriteLine("--- FILE ENTRIES ---------------------------------");
@ -251,7 +252,9 @@ namespace Lucidiot.Magellan.Extract {
Console.WriteLine(" Timestamped");
using (new ColorSwitch(ConsoleColor.Yellow)) {
if (entry.FirstMemberEntryIndex < 0 || entry.FirstMemberEntryIndex + 1 > ds.SortEntries.Count)
if (entry.RecordEntryIndex < 0 || entry.RecordEntryIndex + 1 > ds.RecordEntries.Count)
Console.WriteLine(" Record #{0} does not exist", entry.RecordEntryIndex);
if (entry.FirstMemberEntryIndex < 0 || entry.FirstMemberEntryIndex + 1 > ds.MemberEntries.Count)
Console.WriteLine(" Member entry #{0} does not exist", entry.FirstMemberEntryIndex);
// TODO: No overlapping values when using the first index / count attributes
if (entry.FirstMemberEntryIndex + entry.MemberCount > ds.MemberEntries.Count)
@ -282,11 +285,13 @@ namespace Lucidiot.Magellan.Extract {
Console.WriteLine("--- MEMBER ENTRIES -------------------------------");
for (int i = 0; i < ds.MemberEntries.Count; i++) {
MemberEntry entry = ds.MemberEntries[i];
Console.WriteLine(" #{0}: member entry from record #{1}", i, entry.RecordIndex);
Console.WriteLine(" Offset: ", entry.Offset);
Console.WriteLine(" #{0}: member entry from record #{1}", i, entry.RecordEntryIndex);
Console.WriteLine(" Offset: {0}", entry.Offset);
Console.WriteLine(" {0} sort entries starting at #{1}", entry.SortEntryCount, entry.FirstSortEntryIndex);
using (new ColorSwitch(ConsoleColor.Yellow)) {
if (entry.RecordEntryIndex < 0 || entry.RecordEntryIndex + 1 > ds.RecordEntries.Count)
Console.WriteLine(" Record #{0} does not exist", entry.RecordEntryIndex);
if (entry.FirstSortEntryIndex < 0 || entry.FirstSortEntryIndex + 1 > ds.SortEntries.Count)
Console.WriteLine(" Sort entry #{0} does not exist", entry.FirstSortEntryIndex);
// TODO: No overlapping values when using the first index / count attributes

View File

@ -4,7 +4,7 @@ namespace Lucidiot.Raima {
[StructLayout(LayoutKind.Explicit, Size = 8)]
public struct MemberEntry {
[FieldOffset(0)]
public short RecordIndex;
public short RecordEntryIndex;
[FieldOffset(2)]
public short Offset;