public DLGEntry(BinaryReaderEx br, Dictionary <int, string> strings, Dictionary <int, SHAPEntry> shapEntries, Dictionary <int, CTRLEntry> ctrlEntries, Dictionary <int, DLGOEntry> dlgoEntries) { int nameOffset = br.ReadInt32(); int shapOffset = br.ReadInt32(); int ctrlOffset = br.ReadInt32(); br.AssertInt32(0); br.AssertInt32(0); br.AssertInt32(0); br.AssertInt32(0); br.AssertInt32(0); Unk9 = br.ReadInt32(); int dlgoOffset = br.ReadInt32(); LeftEdge = br.ReadInt16(); TopEdge = br.ReadInt16(); RightEdge = br.ReadInt16(); BottomEdge = br.ReadInt16(); Unk14 = br.ReadInt16(); br.AssertInt16(-1); br.AssertInt32(-1); br.AssertInt16(-1); br.AssertInt16(0); br.AssertInt32(0); Name = strings[nameOffset]; Shape = shapEntries[shapOffset]; Control = ctrlEntries[ctrlOffset]; DLGO = dlgoEntries[dlgoOffset]; }
private static Dictionary <int, DLGOEntry> ReadDLGO(BinaryReaderEx br, Dictionary <int, string> strings, Dictionary <int, SHAPEntry> shapEntries, Dictionary <int, CTRLEntry> ctrlEntries) { ReadSectionHeader(br, "DLGO", out int entrySize, out int entryCount); int startPosition = (int)br.Position; Dictionary <int, DLGOEntry> dlgoEntries = new Dictionary <int, DLGOEntry>(); for (int i = 0; i < entryCount; i++) { int offset = (int)br.Position - startPosition; dlgoEntries[offset] = new DLGOEntry(br, strings, shapEntries, ctrlEntries); } br.Pad(0x10); return(dlgoEntries); }