void SetMainGfx(int index) { graphicsState.RemoveGfxHeaderType(GfxHeaderType.Main); FileParser gfxHeaderFile = Project.GetFileWithLabel("gfxHeaderTable"); Data pointerData = gfxHeaderFile.GetData("gfxHeaderTable", index * 2); GfxHeaderData header = gfxHeaderFile.GetData(pointerData.GetValue(0)) as GfxHeaderData; if (header != null) { bool next = true; while (next) { graphicsState.AddGfxHeader(header, GfxHeaderType.Main); next = false; if (header.ShouldHaveNext) { GfxHeaderData nextHeader = header.NextData as GfxHeaderData; if (nextHeader != null) { header = nextHeader; next = true; } // Might wanna print a warning if no next value is found } } } InvalidateAllTiles(); }