void SetUniqueGfx(int index) { graphicsState.RemoveGfxHeaderType(GfxHeaderType.Unique); if (index != 0) { FileParser uniqueGfxHeaderFile = Project.GetFileWithLabel("uniqueGfxHeadersStart"); GfxHeaderData header = uniqueGfxHeaderFile.GetData("uniqueGfxHeader" + index.ToString("x2")) as GfxHeaderData; if (header != null) { bool next = true; while (next) { graphicsState.AddGfxHeader(header, GfxHeaderType.Unique); 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(); }
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(); }