GMS v117.2 日本語化
:: 各種フォーム :: MapleプログラムReleases
Page 1 of 1
GMS v117.2 日本語化
based MapleCrystal
Lithium base OK!!
tools.data.MaplePacketLittleEndianWriter.java
に追加
変更後
tools.data.LittleEndianAccessor.java
変更後
tools.StringUtil.java
追加
RightとLeftで二箇所
変更後
Linux環境では内部の文字コードがutf8なのでgetBytes()としてしまうとMS932とバイト数に差が出るためエラーが起きる。
getBytes(MS932)とすることで解決。
キャラクター名なども問題なく日本語が使えます。
Lithium base OK!!
tools.data.MaplePacketLittleEndianWriter.java
に追加
- Code:
private static final Charset MS932 = Charset.forName("MS932");
変更後
- Code:
public final void writeAsciiString(final String s) {
write(s.getBytes(MS932));
}
public final void writeAsciiString(String s, final int max) {
if (s.getBytes(MS932).length > max) {
s = s.substring(0, max);
}
write(s.getBytes(MS932));
for (int i = s.getBytes(MS932).length; i < max; i++) {
write(0);
}
}
public final void writeMapleAsciiString(final String s) {
writeShort((short) s.getBytes(MS932).length);
writeAsciiString(s);
}
tools.data.LittleEndianAccessor.java
変更後
- Code:
public final String readAsciiString(final int n) {
//char ret[] = new char[n];
final byte ret[] = new byte[n];
for (int x = 0; x < n; x++) {
ret[x] = (byte) readByte();
}
try {
String str = new String(ret, "MS932");
return str;
} catch (Exception e) {
System.err.println(e);
}
return null;
}
tools.StringUtil.java
追加
- Code:
import java.nio.charset.Charset;
private static final Charset MS932 = Charset.forName("MS932");
RightとLeftで二箇所
変更後
- Code:
for (int x = in.getBytes(MS932).length; x < length; x++) {
Linux環境では内部の文字コードがutf8なのでgetBytes()としてしまうとMS932とバイト数に差が出るためエラーが起きる。
getBytes(MS932)とすることで解決。
キャラクター名なども問題なく日本語が使えます。
:: 各種フォーム :: MapleプログラムReleases
Page 1 of 1
Permissions in this forum:
返信投稿: 不可