private void tileset_Change(Widget widget) { State.SelectedTileset = ((ComboBox)widget).SelectedIndex; Data.TileSet tileset = State.Data.TileSets[State.SelectedTileset]; for (int i = 0; i < 4; i++) { if (tileset.GetPalette(i) < 0 || tileset.GetPalette(i) >= State.Data.Palettes.Count) { tileset.SetPalette(i, 0); } m_PaletteCombos[i].SelectedIndex = tileset.GetPalette(i); } bool loadtiles = (State.Data.TileSets[State.SelectedTileset] != null); if (loadtiles) { for (int i = 0; i < Data.TileSet.TilesPerSet; i++) { m_MetaTiles[i].Flags = State.Data.TileSets[State.SelectedTileset].GetFlags(i); for (int j = 0; j < 4; j++) { TilePageAttribute tile_page_attrib = State.Data.TileSets[State.SelectedTileset].GetSubTile(i, j); m_MetaTiles[i].SetTile(j, tile_page_attrib.Tile, State.GfxPage(tile_page_attrib.Page).Texture); m_MetaTiles[i].Attribute = tile_page_attrib.Attribute; } } } }
private void cmbTilesets_SelectionChanged(Widget widget) { int index = ((ComboBox)widget).SelectedIndex; if (index != State.SelectedTileset || index != State.Data.Maps[State.SelectedMap].Tileset) { State.SelectedTileset = State.Data.Maps[State.SelectedMap].Tileset = index; refreshCurrentMapPanel(); } Data.TileSet tileset = State.Data.TileSets[State.SelectedTileset]; if (tileset != null) { for (int i = 0; i < 4; i++) { if (tileset.GetPalette(i) < 0 || tileset.GetPalette(i) >= State.Data.Palettes.Count) { tileset.SetPalette(i, 0); } byte[] palette = new byte[4]; palette[0] = State.Data.Palettes[tileset.GetPalette(0)][0]; for (int j = 1; j < 4; j++) { palette[j] = State.Data.Palettes[tileset.GetPalette(i)][j]; } State.Palette.LoadPalette(i, palette); } } }
private void cmbTilesets_SelectionChanged(Widget widget) { State.SelectedTileset = ((ComboBox)widget).SelectedIndex; Data.Chunk chunk = State.Data.Chunks[State.SelectedChunk]; if (chunk != null) { chunk.Tileset = State.SelectedTileset; } Data.TileSet tileset = State.Data.TileSets[State.SelectedTileset]; if (tileset != null) { for (int i = 0; i < 4; i++) { if (tileset.GetPalette(i) < 0 || tileset.GetPalette(i) >= State.Data.Palettes.Count) { tileset.SetPalette(i, 0); } byte[] palette = new byte[4]; palette[0] = State.Data.Palettes[tileset.GetPalette(0)][0]; for (int j = 1; j < 4; j++) { palette[j] = State.Data.Palettes[tileset.GetPalette(i)][j]; } State.Palette.LoadPalette(i, palette); } for (int i = 0; i < Data.TileSet.TilesPerSet; i++) { for (int j = 0; j < 4; j++) { TilePageAttribute tile_page_attrib = State.Data.TileSets[State.SelectedTileset].GetSubTile(i, j); aioTileset.SetTile(i, j, tile_page_attrib.Tile, State.GfxPage(tile_page_attrib.Page).Texture); aioTileset.SetAttribute(i, tile_page_attrib.Attribute); } } loadChunkElement(); } }