static InputFormRef Init(Form self) { return(new InputFormRef(self , "" , Program.ROM.RomInfo.mask_pointer() , 4 , (int i, uint addr) => { return Program.ROM.u8(addr) != 255; } , (int i, uint addr) => { uint c = Program.ROM.u16(addr); string str = Program.ROM.getString(addr, 2); if (!Program.ROM.RomInfo.is_multibyte()) { if (c >= 0x81 && c <= 0xFF) { //英語版FEにはUnicodeの1バイトだけ表記があるらしい. str = "@00" + c.ToString("X02"); } } str = FETextEncode.RevConvertSPMoji(str); return i.ToString("X04") + " " + c.ToString("X04") + " " + str; } )); }
String CString(uint p, out int out_DataSize) { string str = this.ROM.getString(p, out out_DataSize); return(FETextEncode.RevConvertSPMoji(str)); }
String listbyte_to_string_low(byte[] str, int len) { string r = this.SystemTextEncoder.Decode(str, 0, len); return(FETextEncode.RevConvertSPMoji(r)); }