public bool SaveFileForCGI(string filename) { try { StreamWriter sw = new StreamWriter(filename, false, System.Text.Encoding.Unicode); CardLibrary cardLibrary = CardLibrary.GetInstance(); Card[] Cards = MainDeck.GetList(); foreach (Card card in Cards) { CardDescription cd = cardLibrary.GetCardByID(card.ID); string s = CharacterSet.JPDBCToSBC(cd.japName); sw.WriteLine(s); } Cards = SideDeck.GetList(); if (Cards.Length > 0) { sw.WriteLine("####"); } foreach (Card card in Cards) { CardDescription cd = cardLibrary.GetCardByID(card.ID); sw.WriteLine(CharacterSet.JPDBCToSBC(cd.japName)); } Cards = FusionDeck.GetList(); if (Cards.Length > 0) { sw.WriteLine("===="); } foreach (Card card in Cards) { CardDescription cd = cardLibrary.GetCardByID(card.ID); sw.WriteLine(CharacterSet.JPDBCToSBC(cd.japName)); } Cards = TempDeck.GetList(); if (Cards.Length > 0) { sw.WriteLine("$$$$"); } foreach (Card card in Cards) { CardDescription cd = cardLibrary.GetCardByID(card.ID); sw.WriteLine(CharacterSet.JPDBCToSBC(cd.japName)); } sw.Close(); DeckName = Regex.Replace(filename, @".[^.]*$", ""); DeckName = Regex.Replace(DeckName, @"^.*\\", ""); MainDeck.isChanged = false; SideDeck.isChanged = false; FusionDeck.isChanged = false; TempDeck.isChanged = false; return(true); } catch { return(false); } }