diff scn2k/scn2k_cmd.cc @ 65:4416cfac86ae

Convert EUC-JP files to UTF8
author Thibaut Girka <thib@sitedethib.com>
date Fri, 26 Nov 2010 10:53:15 +0100
parents 4b9ffe15a87d
children e4a12dd9a51b
line wrap: on
line diff
--- a/scn2k/scn2k_cmd.cc
+++ b/scn2k/scn2k_cmd.cc
@@ -39,7 +39,7 @@ using namespace std;
 
 
 // #define SCN_DUMP
-/* 注意点: @@@ で表記 */
+/* 羈刻 @@@ ц;荐 */
 
 
 
@@ -115,11 +115,11 @@ int Flags::Get(int type, int number) con
 	if (index == 11) index = 9;
 	if (index > TYPE_VARMAX || uint(type) > 4) return 0;
 	if (type == 0) {
-		// A[]..G[], Z[] を直に読む
+		// A[]..G[], Z[] 眼茯
 		if (uint(number) >= 2000) return 0;
 		return var[index][number];
 	} else {
-		// Ab[]..G4b[], Z8b[] などを読む
+		// Ab[]..G4b[], Z8b[] 茯
 		int factor = 1 << (type - 1);
 		int eltsize = 32 / factor;
 		if (uint(number) >= (64000 / factor)) return 0;
@@ -144,11 +144,11 @@ void Flags::Set(VarInfo info, int value)
 		fprintf(stderr,"Error: invalid access to Var<%d>[%d]\n",info.type,info.number);
 	}
 	if (type == 0) {
-		// A[]..G[], Z[] を直に書く
+		// A[]..G[], Z[] 眼吾
 		if (uint(info.number) >= 2000) return;
 		var[index][info.number] = value;
 	} else {
-		// Ab[]..G4b[], Z8b[] などを書く
+		// Ab[]..G4b[], Z8b[] 吾
 		int factor = 1 << (type - 1);
 		int eltsize = 32 / factor;
 		int eltmask = (1 << factor) - 1;
@@ -340,13 +340,13 @@ void Flags::SaveSys(string& save) { //FI
 }
 
 bool Flags::Exec(Cmd& cmd) {
-	if (cmd.cmd_type == CMD_FLAGS) { // 代入演算
+	if (cmd.cmd_type == CMD_FLAGS) { // 篁eユ膊
 		if (cmd.args.size() != 2) return false;
 		Set(cmd.args[0], cmd.args[1].value);
 		cmd.clear();
 		return true;
 	}
-	if (cmd.cmd1 == 1 && cmd.cmd2 == 0x0a) { // 文字列演算
+	if (cmd.cmd1 == 1 && cmd.cmd2 == 0x0a) { // 絖羲膊
 		VarInfo arg1 = cmd.args[0];
 		switch(cmd.cmd3) {
 			case 0:
@@ -360,7 +360,7 @@ bool Flags::Exec(Cmd& cmd) {
 					for (i=0; i < sc[i] && len != 0; i++, len--) {
 						if (sc[i]<0 && sc[i+1]!=0) i++;
 					}
-					s.erase(i); // 全角で len 文字まで切り詰める
+					s.erase(i); // 茹 len 絖障у荅違
 					SetStr(arg1, s);
 	// fprintf(stderr,"Set[%d,%d]<-%s\n",arg1.type,arg1.number,s.c_str());
 				} else break;
@@ -371,7 +371,7 @@ bool Flags::Exec(Cmd& cmd) {
 					SetStr(arg1, "");
 					cmd.clear();
 				} else if (cmd.cmd4 == 1) {
-					// 領域指定で文字列クリア
+					// 絎ф絖
 					VarInfo v1 = cmd.args[0];
 					VarInfo v2 = cmd.args[1];
 					eprintf("memclear(str). Var[%d]<%d> - Var[%d]<%d>\n",v1.type, v1.number, v2.type, v2.number);
@@ -407,7 +407,7 @@ bool Flags::Exec(Cmd& cmd) {
 				break; }
 			case 5: // substring, index from left
 			case 6: // substring, index from right
-				// 全角対応らしい
+				// 茹絲上
 				//FIXME: Make sure it works properly
 				{ int offset = cmd.args[2].value;
 				int len = strlen(cmd.Str(cmd.args[1]));
@@ -415,7 +415,7 @@ bool Flags::Exec(Cmd& cmd) {
 				const char* s = str.c_str();
 				if (cmd.cmd3 == 6) offset = len - offset;
 				if (offset < 0) offset = 0;			
-				// 先頭 N 文字を読み飛ばす
+				//  N 絖茯翠違
 				int i;
 				int offset_top = 0;
 				for (i=0; i<offset && s[offset_top] != 0; i++) {
@@ -424,7 +424,7 @@ bool Flags::Exec(Cmd& cmd) {
 				}
 				if (s[offset_top] == 0) {
 					SetStr(arg1, "");
-				} else if (cmd.cmd4 == 0) { // 長さ制限なし
+				} else if (cmd.cmd4 == 0) { // 激狗
 				    SetStr(arg1, string(s, offset_top, len-offset_top));
 				} else { // cmd.cmd4 == 1
 					int slen = cmd.args[3].value;
@@ -447,7 +447,7 @@ bool Flags::Exec(Cmd& cmd) {
 				SetSys(i);
 				cmd.clear();
 				break; }
-			case 8: // 文字列を切って短くする
+			case 8: // 絖c
 				if (cmd.args[1].value <= 0) {
 					SetStr(arg1, "");
 				} else if (cmd.args[1].value < strlen(cmd.Str(cmd.args[1]))) {
@@ -455,7 +455,7 @@ bool Flags::Exec(Cmd& cmd) {
 				}
 				cmd.clear();
 				break;
-			case 0x0e: // 漢字モードでitoa
+			case 0x0e: // 羲√≪若itoa
 				{
 				int arg1 = cmd.args[0].value;
 				string result;
@@ -488,19 +488,19 @@ bool Flags::Exec(Cmd& cmd) {
 				cmd.clear();
 				}
 				break;
-			case 0x0f: case 0x11: // itoa (0x11 の方は zero padding するっぽい)
+			case 0x0f: case 0x11: // itoa (0x11 鴻 zero padding c純)
 				if (cmd.cmd4 == 0) {
 					int arg1 = cmd.args[0].value;
 					char buf[1024]; sprintf(buf, "%d", arg1);
 					SetStr(cmd.args[1], buf);
 					cmd.clear();
 				} else if (cmd.cmd4 == 1) {
-					// 漢字(SJIS) : 82 [4f+N]
-					// やはり漢字じゃない?
+					// 羲√(SJIS) : 82 [4f+N]
+					// 羲√鐚
 					int arg1 = cmd.args[0].value;
 					char buf[1024]; char fmt[1024];
 					if (cmd.cmd3 == 0x0f) {
-						sprintf(fmt, "%%%dd",cmd.args[2].value); /* 空白でパディング */
+						sprintf(fmt, "%%%dd",cmd.args[2].value); /* 腥榊純сc潟 */
 					} else {
 						sprintf(fmt, "%%0%dd",cmd.args[2].value);
 					}
@@ -509,7 +509,7 @@ bool Flags::Exec(Cmd& cmd) {
 					cmd.clear();
 				}
 				break;
-			case 0x64: // 文字列の表示 : 引数をテキストウィンドウに表示
+			case 0x64: // 絖茵腓 : 綣違鴻c潟茵腓
 				if (cmd.cmd4 == 1) {
 					char buf[256];
 					snprintf(buf, 255, "%d", Get(cmd.args[0].type, cmd.args[0].number));
@@ -521,9 +521,9 @@ bool Flags::Exec(Cmd& cmd) {
 				break;
 		}
 	}
-	if (cmd.cmd1 == 1 && cmd.cmd2 == 0x0b) { // 数値変数演算
+	if (cmd.cmd1 == 1 && cmd.cmd2 == 0x0b) { // 医ゅ井膊
 		if (cmd.cmd3 == 0 && cmd.cmd4 == 0) {
-			/* 複数の変数をセット */
+			/* 茲違紊違祉 */
 			VarInfo v1 = cmd.args[0];
 			eprintf("set multiple-var Var[%d]<%d> <- ",v1.type, v1.number);
 			int i;
@@ -539,7 +539,7 @@ bool Flags::Exec(Cmd& cmd) {
 			eprintf("\n");
 			cmd.clear();
 		} else if (cmd.cmd3 == 1 && cmd.cmd4 == 0) {
-			/* 領域指定で変数をクリア */
+			/* 絎у違 */
 			VarInfo v1 = cmd.args[0];
 			VarInfo v2 = cmd.args[1];
 			eprintf("memclear. Var[%d]<%d> - Var[%d]<%d>\n",v1.type, v1.number, v2.type, v2.number);
@@ -552,7 +552,7 @@ bool Flags::Exec(Cmd& cmd) {
 			}
 			cmd.clear();
 		} else if (cmd.cmd3 == 1 && cmd.cmd4 == 1) {
-			/* 領域指定で変数をセット */
+			/* 絎у違祉 */
 			VarInfo v1 = cmd.args[0];
 			VarInfo v2 = cmd.args[1];
 			int value = cmd.args[2].value;
@@ -565,7 +565,7 @@ bool Flags::Exec(Cmd& cmd) {
 					Set(v1, value);
 			}
 			cmd.clear();
-		} else if (cmd.cmd3 == 4 && cmd.cmd4 == 1) { // 領域クリア(sysfunc.txt)
+		} else if (cmd.cmd3 == 4 && cmd.cmd4 == 1) { // (sysfunc.txt)
 			VarInfo v1 = cmd.args[0];
 			int step = cmd.args[1].value;
 			int deal = cmd.args[2].value;
@@ -576,7 +576,7 @@ bool Flags::Exec(Cmd& cmd) {
 				v1.number += step;
 			}
 			cmd.clear();
-		} else if (cmd.cmd3 == 0x64 && cmd.cmd4 == 0) { //領域で数値を合計する
+		} else if (cmd.cmd3 == 0x64 && cmd.cmd4 == 0) { //ф医ゃ荐
 			VarInfo v1 = cmd.args[0];
 			VarInfo v2 = cmd.args[1];
 			eprintf("sum var. Var[%d]<%d> - Var[%d]<%d>\n",v1.type, v1.number, v2.type, v2.number);
@@ -633,9 +633,9 @@ bool SimpleCmd::operator==(const SimpleC
 **   Cmd
 */
 
-/* 数値 num := 0x24 0xff <int num> */
-/* 変数 var := 0x24 <uchar type> 0x5b <exp> 0x5d */
-/* 項 token := num | var | 0x28 <exp> 0x29 | <plus|minus> token */
+/* 医 num := 0x24 0xff <int num> */
+/* 紊 var := 0x24 <uchar type> 0x5b <exp> 0x5d */
+/*  token := num | var | 0x28 <exp> 0x29 | <plus|minus> token */
 
 int Cmd::GetLeftToken(const char*& d, VarInfo& info) {
 	bool var_flag = true;
@@ -648,7 +648,7 @@ int Cmd::GetLeftToken(const char*& d, Va
 		var_flag = false;
 	}
 	if (d[0] == 0x24 && ((unsigned const char*)d)[1] == 0xff) {
-	// if ( (d[0] == 0x30 || d[0] == 0x31) && d[1] == 0x24 && ((unsigned const char*)d)[2] == 0xff) 	/* @@@ not supported; selection 内で、0x30|0x31 が付随することがある */
+	// if ( (d[0] == 0x30 || d[0] == 0x31) && d[1] == 0x24 && ((unsigned const char*)d)[2] == 0xff) 	/* @@@ not supported; selection с0x30|0x31 篁 */
 		// numerical atom
 		d += 6;
 		value = read_little_endian_int(d-4);
@@ -746,8 +746,8 @@ Cmd::Cmd(const Flags& f, int _sys_ver) :
 	pos = -1;
 }
 
-/* 演算子 op := 0x5c <uchar op> */
-/* 数式 exp: [op] <token> [op <token> [...]] */
+/* 羲膊絖 op := 0x5c <uchar op> */
+/* 医 exp: [op] <token> [op <token> [...]] */
 int Cmd::GetExpression(const char*& d, VarInfo* info_ptr) {
 #define STACK_DEPTH 1024
 #define OP_LB 11
@@ -755,7 +755,7 @@ int Cmd::GetExpression(const char*& d, V
 	int val_stack[STACK_DEPTH];
 	int stack_count = 0;
 	
-	// 第一項の読み込み
+	// 膃筝茯粋昭
 	while(*d == 0x28) {
 		d++;
 		dprintf("(");
@@ -772,7 +772,7 @@ int Cmd::GetExpression(const char*& d, V
 	
 	if (*d != 0x5c && stack_count == 0) {
 		if (info_ptr) *info_ptr = info;
-		return value; // 単純なleft-termはここで終了。有効なinfo_ptrを帰す(可能性がある)
+		return value; // 膣left-termх篋鴻info_ptr絽違鐚醇с鐚
 	}
 	
 	while(*d == 0x5c) {
@@ -783,7 +783,7 @@ int Cmd::GetExpression(const char*& d, V
 		if (op_type >= 10) SetError();
 		int cur_pri = op_pri(op_type);
 		while(stack_count != 0 && op_pri(op_stack[stack_count-1]) <= cur_pri) {
-			// 優先順位の高い、先行する演算を行う
+			// 篏蕭茵羲膊茵
 			value = eval(val_stack[stack_count-1], op_stack[stack_count-1], value);
 			stack_count--;
 		}
@@ -798,12 +798,12 @@ int Cmd::GetExpression(const char*& d, V
 		value = GetLeftToken(d, info);
 
 		while (*d != 0x5c && stack_count > 0) {
-			// 未実行の演算を終わらせる
+			// 絎茵羲膊腟
 			if (op_stack[stack_count-1] != OP_LB) {
 				value = eval(val_stack[stack_count-1], op_stack[stack_count-1], value);
 				stack_count--;
 			} else if (*d == 0x29) { /* op_stack == OP_LB */
-			// bracket 終端があれば、閉じておく
+			// bracket 腟腴違
 				d++;
 				dprintf(")");
 				stack_count--;
@@ -819,7 +819,7 @@ int Cmd::GetExpression(const char*& d, V
 	return value;
 }
 
-// 条件分岐専用に、条件演算と算術演算の混合を検知できる専用ルーチン(本来はGetExpressionで差し支えない)
+// >散絏絨>散羲膊膊茵羲膊羞桁罎ャс絨若鰹ャGetExpressionу勲)
 int Cmd::GetExpressionCond(const char*& d) {
 	char op_stack[STACK_DEPTH];
 	int val_stack[STACK_DEPTH];
@@ -828,7 +828,7 @@ int Cmd::GetExpressionCond(const char*& 
 #define ATTR_FLAG 1
 	int stack_count = 0;
 	
-	// 第一項の読み込み
+	// 膃筝茯粋昭
 	while(*d == 0x28) {
 		d++;
 		dprintf("(");
@@ -850,7 +850,7 @@ int Cmd::GetExpressionCond(const char*& 
 		else dprintf("err.");
 		int cur_pri = op_pri_cond(op_type);
 		while(stack_count != 0 && op_pri_cond(op_stack[stack_count-1]) <= cur_pri) {
-			// 優先順位の高い、先行する演算を行う
+			// 篏蕭茵羲膊茵
 			if (op_stack[stack_count-1] >= 60) {
 				if (valattr_stack[stack_count-1] != ATTR_FLAG || valattr != ATTR_FLAG) SetError();
 			} else {
@@ -873,7 +873,7 @@ int Cmd::GetExpressionCond(const char*& 
 		valattr = ATTR_VAL;
 
 		while (*d != 0x5c && stack_count > 0) {
-			// 未実行の演算を終わらせる
+			// 絎茵羲膊腟
 			if (op_stack[stack_count-1] != OP_LB) {
 				if (op_stack[stack_count-1] >= 60) {
 					if (valattr_stack[stack_count-1] != ATTR_FLAG || valattr != ATTR_FLAG) SetError();
@@ -883,7 +883,7 @@ int Cmd::GetExpressionCond(const char*& 
 				value = eval(val_stack[stack_count-1], op_stack[stack_count-1], value);
 				if (op_stack[stack_count-1] >= 40) valattr = ATTR_FLAG;
 				stack_count--;
-			// bracket 終端があれば、閉じておく
+			// bracket 腟腴違
 			} else if (*d == 0x29) { /* op_stack == OP_LB */
 				d++;
 				dprintf(")");
@@ -905,23 +905,23 @@ args = 0x28 <exp> [[0x2c] <exp> [[0x2c] 
 */
 
 int Cmd::GetArgs(const char*& d) {
-	if (*d != 0x28) return 0; /* 引数なし */
+	if (*d != 0x28) return 0; /* 綣違 */
 	d++;
 	dprintf("args:");
 	VarInfo var;
 	int i; for (i=0; i<100 ; i++) {
-		/* number, variable, string の種別なく値を得る */
-		if (*d == 0x61) { // よくわからない(智代アフター)
+		/* number, variable, string 腮ャゃ緇 */
+		if (*d == 0x61) { // (坂撮≪帥)
 			dprintf("@%d",d[1]);
 			d += 2;
 			if (*d == 0x28) {
 				dprintf("{");
-				GetArgs(d); // (A,B,C)節が含まれることがある
+				GetArgs(d); // (A,B,C)膀障
 				dprintf("}");
 			} else {
 				dprintf("{}");
 			}
-		} else if (d[0] == 0x0a || d[0] == 0x40) { // よくわからない (Little Busters!)
+		} else if (d[0] == 0x0a || d[0] == 0x40) { //  (Little Busters!)
 			int var;
 			if (system_version == 0) { var = read_little_endian_int(d+1); d += 5;}
 			else { var = read_little_endian_short(d+1); d += 3;}
@@ -935,7 +935,7 @@ int Cmd::GetArgs(const char*& d) {
 			args.push_back(var);
 		} else SetError();
 		if (*d == 0x29) break;
-		if (*d == 0x2c) {d++;} // 次の arg が演算子で始まる、などがなければ存在しない
+		if (*d == 0x2c) {d++;} // 罨< arg 羲膊絖у障医
 		dprintf(",");
 	}
 	if (*d == 0x29) d++;
@@ -944,48 +944,48 @@ int Cmd::GetArgs(const char*& d) {
 }
 
 int Cmd::GetArgsSpecial(int normal_args,const char*& d) {
-	if (*d != 0x28) return 0; /* 引数なし */
+	if (*d != 0x28) return 0; /* 綣違 */
 	d++;
 	dprintf("args:");
 	int i; for (i=0; i<normal_args; i++) {
-		/* number, variable, string の種別なく値を得る */
+		/* number, variable, string 腮ャゃ緇 */
 		if (*d == 0x24 || (*d == 0x5c && (d[1] == 1 || d[1] == 0)) || *d == 0x28) {
 			GetExpression(d);
 		} else if (StrType(d)) {
 			GetString(d);
 		} else SetError();
 		if (*d == 0x29) break;
-		if (*d == 0x2c) {d++;} // 次の arg が演算子で始まる、などがなければ存在しない
+		if (*d == 0x2c) {d++;} // 罨< arg 羲膊絖у障医
 		dprintf(",");
 	}
 	for (i=0; i<argc ; i++) {
 		if (*d == 0x28) {
 /*
 ** cmd 01-22:0c1c, 01-22:0835
-** Princess Bride のカードが落ちるアニメの場面
-** なお、_PBCARDANM* の画像はこのコマンドでのみ使われているので、特殊処理として無視することも可能
+** Princess Bride 若純<≪<顔
+** _PBCARDANM* 糸潟潟с推戎с号∴
 **
 ** cmd 01-04:0276, 026c, 0270
-** 複数の enum が args の数だけ続く処理。特殊処理として分離する
+** 茲違 enum  args 違膓号≪
 */
 dprintf("enum.<");
-			/* (...) は列挙型 or 構造体の可能性がある */
+			/* (...)  or 罕篏醇с */
 			const char* d_orig = d;
 			int pt = args.size(); args.push_back(VarInfo(0));
 			int count = GetArgs(d);
 			args[pt] = VarInfo(count);
 dprintf(">");
 		} else if (*d == 0x61 && (d[1] >= 0x00 && d[1] <= 0x04) && d[2] == 0x28 ) {
-			/* 使われるコマンドは 01-21:004b, 01-28:0064 のいずれか(R,C,PB,LO)
-			** それらのコマンドは
-			** arg1: 画像ファイル名
-			** arg2 : Sel 番号
-			** らしく、arg3 以降が 0x61 <00-04> (a,b,c,...) となる(ダンプ上は enum と表記される)
-			** () 内の引数はさまざまで、a のみ(画像ファイル名)、
+			/* 篏帥潟潟 01-21:004b, 01-28:0064 鐚R,C,PB,LO)
+			** 潟潟
+			** arg1: 糸<ゃ
+			** arg2 : Sel 
+			** arg3 篁ラ 0x61 <00-04> (a,b,c,...) 鐚潟筝 enum 茵荐)
+			** () 綣違障障сa 随糸<ゃ鐚
 			** a,b b=SEL?
-			** a,b,c (b,c)=座標?
+			** a,b,c (b,c)=綺ф鐚
 			** a,(b,c,d,e,f,g) b-g = src / dest?
-			** らしい
+			** 
 			*/
 			dprintf("kasane. #%d <",d[1]);
 			d += 2;
@@ -994,21 +994,21 @@ dprintf(">");
 			args[pt] = VarInfo(count);
 			dprintf(">");
 		} else if (*d == 0x24 || (*d == 0x5c && (d[1] == 1 || d[1] == 0))) {
-			/* cmd 01-15:0028 ; 始めに 0x24 節があり、続いて 0x28 節になる */
+			/* cmd 01-15:0028 ; 紮 0x24 膀膓 0x28 膀 */
 			VarInfo var;
 			GetExpression(d, &var);
 			args.push_back(var);
-			i--; // この引数はargc の数には入らない
+			i--; // 綣違argc 違ャ
 		} else SetError();
 		if (d[0] == 0x0a || d[0] == 0x40) {
-			/* cmd 01-15:0028 ; 0x28 節の後に毎回 0x0a 節が来る */
+			/* cmd 01-15:0028 ; 0x28 膀緇罸 0x0a 膀ャ */
 			int var;
 			if (system_version == 0) { var = read_little_endian_int(d+1); d += 5;}
 			else { var = read_little_endian_short(d+1); d += 3;}
 			dprintf("line %d; ",var);
 		}
 		if (*d == 0x29) break;
-		if (*d == 0x2c) {d++;} // 次の arg が演算子で始まる、などがなければ存在しない
+		if (*d == 0x2c) {d++;} // 罨< arg 羲膊絖у障医
 		dprintf(",");
 	}
 	if (*d == 0x29) d++;
@@ -1124,7 +1124,7 @@ void Cmd::GetSelection(const char*& d) {
 			else { var = read_little_endian_short(d+1); d += 3;}
 			dprintf("Line %d; ",var);
 			if (text.length() != 0) {
-				if (cond_result) ; // 条件節が true なら表示しない
+				if (cond_result) ; // >散膀 true 茵腓冴
 				else {
 					const char* str = text.c_str();
 					VarInfo var;
@@ -1145,12 +1145,12 @@ void Cmd::GetSelection(const char*& d) {
 			dprintf(":cond:");
 			d++;
 			while(d[0] != 0x29) {
-				int result = GetExpressionCond(d); // PRINT- 節でないばあい、条件表示。次は文字節、またはPRINT節のはず
-				if (*d == 0x32) { // 0x32 なら、現在の条件節を表示しない
+				int result = GetExpressionCond(d); // PRINT- 膀с違>散茵腓冴罨<絖膀障PRINT膀
+				if (*d == 0x32) { // 0x32 憜>散膀茵腓冴
 					d++; dprintf("##");
 					cond_result = result;
-				} else if (*d == 0x31) { // 0x31 なら、現在の条件節を表示する
-						// Little Busters! : この条件で正しいかは未検証
+				} else if (*d == 0x31) { // 0x31 憜>散膀茵腓冴
+						// Little Busters! : >散фc罎荐
 					d++; dprintf("***");
 					cond_result = !result;
 				}
@@ -1165,7 +1165,7 @@ void Cmd::GetSelection(const char*& d) {
 		} else if (*d == 0x23 && strncmp(d,"###PRINT",8) == 0) {
 			d += 8;
 			if (d[0] != 0x28) SetError();
-			else { // 文字変数の内容の表示
+			else { // 絖紊違絎鴻茵腓
 				d++;
 				dprintf("Print.");
 				VarInfo info;
@@ -1173,7 +1173,7 @@ void Cmd::GetSelection(const char*& d) {
 				if (d[0] != 0x29 || info.type == -1) SetError();
 				d++;
 				dprintf(";");/*
-				// 数値を全角文字に変換して登録
+				// 医ゃ茹絖紊脂
 				char str[10], str2[20]; // itoa
 				sprintf(str, "%d", info.value);
 				int i; for (i=0; str[i] != 0; i++) {
@@ -1187,7 +1187,7 @@ void Cmd::GetSelection(const char*& d) {
 	}
 	d++;
 	/* @@@ */
-	/* 一致しない場合があるのでコメントアウト */
+	/* 筝眼翫с潟<潟≪ */
 	// if (arg_count != argc) SetError();
 	dprintf("\n}\n");
 }
@@ -1198,7 +1198,7 @@ void Cmd::GetCmd(Flags& flags_orig, cons
 
 	cmdstr[0] = 0;
 	rawdata = d;
-	if (*d == 0x23) { /* コマンド */
+	if (*d == 0x23) { /* 潟潟 */
 		cmd_type = CMD_OTHER;
 		cmd1 = *(unsigned const char*)(d+1);
 		cmd2 = *(unsigned const char*)(d+2);
@@ -1209,8 +1209,8 @@ void Cmd::GetCmd(Flags& flags_orig, cons
 		/* verbose */
 			// dprintf(" 0x23 - cmd %02x-%02x:%04x:%02x[%2d] \n",cmd1,cmd2,cmd3,cmd4,argc);
 			sprintf(cmdstr, "%02x-%02x:%04x:%02x  : %s",cmd1,cmd2,cmd3,cmd4, CmdDescr(cmd1,cmd2,cmd3,cmd4));
-		/* 引数を得る */
-		/* 特殊引数のもの */
+		/* 綣違緇 */
+		/* 号綣違 */
 		int is_special = 0;
 		if (cmd1 == 0) {
 			if (cmd2 == 1) {
@@ -1229,12 +1229,12 @@ void Cmd::GetCmd(Flags& flags_orig, cons
 					if (*d++ != 0x28) { SetError(); return;}
 					dprintf("\t");
 					int cond = GetExpressionCond(d);
-					if (cmd3 == 1) cond = !cond; // 逆になる
+					if (cmd3 == 1) cond = !cond; // 
 					if (*d++ != 0x29) { SetError(); return; }
 					int jumpto = read_little_endian_int(d);
 					d += 4;
 					dprintf("-> %d\n", jumpto);
-					if (! cond) jump_arg = jumpto; /* condition が満たされない場合、ジャンプ */
+					if (! cond) jump_arg = jumpto; /* condition 羣翫吾c潟 */
 					is_special = 1;
 				} else if (cmd3 == 4) {
 					/* switch to */
@@ -1264,7 +1264,7 @@ void Cmd::GetCmd(Flags& flags_orig, cons
 			}
 		}
 retry:
-		/* 一般引数のもの */
+		/* 筝綣違 */
 		if (!is_special) {
 			dprintf(" 0x23 - cmd %02x-%02x:%04x:%02x[%2d]  : %s\n",cmd1,cmd2,cmd3,cmd4,argc,CmdDescr(cmd1,cmd2,cmd3,cmd4));
 			dprintf("\t");
@@ -1278,7 +1278,7 @@ retry:
 			dprintf("\n");
 
 		}
-	} else if (*d == 0x24) { /* 代入演算 */
+	} else if (*d == 0x24) { /* 篁eユ膊 */
 		if (d[1] == 0x12 || d[2] != 0x5b) SetError();
 		dprintf("expr: ");
 		sprintf(cmdstr, "expr");
@@ -1291,20 +1291,20 @@ retry:
 		else dprintf("%s",op_str[type]);
 		d += 2;
 		int value2 = GetExpression(d);
-		// 代入情報を埋め込む
+		// 篁eユ宴莨若
 		if (type != 30) value2 = eval(value, type-20, value2);
 		cmd_type = CMD_FLAGS;
 		args.push_back(info);
 		args.push_back(value2);
 		dprintf("\n");
-	} else if (StrType(d)) { /* 文字出力 */
+	} else if (StrType(d)) { /* 絖阪 */
 		VarInfo info;
 		info.type = TYPE_STR;
 		info.value = GetString(d);
 		args.push_back(info);
 		cmd_type = CMD_TEXT;
 		dprintf("\n");
-	} else if (*d == 0x0a || *d == 0x40 || *d == 0x21) { /* デバッグ用データと既読フラグ */
+	} else if (*d == 0x0a || *d == 0x40 || *d == 0x21) { /* 亥若帥∵ */
 		cmd_type = CMD_NOP;
 		if (*d == 0x0a) {
 			dprintf("line ");
@@ -1319,9 +1319,9 @@ retry:
 			}
 			dprintf("%d\n", l);
 		} else { /* 0x40, 0x21 */
-			// 既読マーカーらしい。エントリーポイントとセーブポイントも使われる。
-			// RealLive 1.2.5から、0x40はセーブポイント、0x21はエントリーポイント。
-			// 1.2.5以前、どちらも0x40が使われる。
+			// ∵若若潟若ゃ潟祉若ゃ潟篏帥
+			// RealLive 1.2.50x40祉若ゃ潟0x21潟若ゃ潟
+			// 1.2.5篁ュ<0x40篏帥
 			int kidoku_index;
 			d++;
 			if (system_version == 0) {
@@ -1332,10 +1332,10 @@ retry:
 				d += 2;
 			}
 			dprintf("kidoku marker %d\n", kidoku_index);
-			// text_readflagは、このkidoku_indexを使ったら良いかな。
+			// text_readflagkidoku_index篏帥c
 		}
 	} else if (*d == 0x2c) { /* ??? */
-		dprintf("commd;0x2c\n"); // conditional jump の行き先によくあるらしい(常に、かはわからない)
+		dprintf("commd;0x2c\n"); // conditional jump 茵鐚絽吾鐚
 		d++;
 	} else { 
 		SetError();
@@ -1456,7 +1456,7 @@ const char* Cmd::Str(const VarInfo& info
 }
 
 int Cmd::AddStr(char* s) {
-	// 1-0a-0064 はこういうものが必要らしい
+	// 1-0a-0064 綽荀
 	int start = strend;
 	while (*s) strheap[strend++] = *s++;
 	strheap[strend++] = 0;
@@ -1474,7 +1474,7 @@ void Cmd::read(const CmdSimplified& from
 	cmd3 = from.cmd3;
 	cmd4 = from.cmd4;
 	argc = from.argc;
-	/* args の読み込み */
+	/* args 茯粋昭 */
 	args.clear();
 	char* d = from.args;
 	if (d == NULL) return;
@@ -1517,7 +1517,7 @@ void Cmd::write(CmdSimplified& to, char*
 	to.cmd3 = cmd3;
 	to.cmd4 = cmd4;
 	to.argc = argc;
-	/* args の書き込み */
+	/* args 吾莨若 */
 	if (args.empty()) {
 		to.args = NULL;
 	} else {
@@ -1549,7 +1549,7 @@ void CmdSimplified::copy(const CmdSimpli
 	*this = from;
 	if (args == NULL) return;
 	char* args_old = from.args;
-	/* args のコピー */
+	/* args 潟 */
 	while(*args_old != TYPE_END) {
 		if (*args_old == TYPE_VAL) {
 			args_old += 5;
@@ -1569,16 +1569,16 @@ void CmdSimplified::Save(string& saveret
 	sprintf(buf, "%02x-%02x:%04x:%02x(%02d),", cmd1, cmd2, cmd3, cmd4, argc);
 	saveret += buf;
 	
-	/* args のコピー */
+	/* args 潟 */
 	char* d = args;
 	while(d && *d != TYPE_END) {
 		if (*d == TYPE_VAL) {
 			d++;
 			sprintf(buf, "%d,", read_little_endian_int(d));
 			d += 4;
-		} else { /* TYPE_STR と仮定 */
+		} else { /* TYPE_STR 篁絎 */
 			d++;
-			if (strlen(d) > 1000) d[1000] = 0; // ありえない・・・
+			if (strlen(d) > 1000) d[1000] = 0; // 祉祉
 			int i; int cnt = 0;
 			buf[cnt++] = '"';
 			for (i=0; d[i] != 0; i++) {
@@ -1681,7 +1681,7 @@ int main(int argc, char** argv) {
 		char* data = info->CopyRead();
 		char* d = data;
 		char* dend = d + info->Size();
-		/* version 確認 */
+		/* version 腆肴 */
 		if (read_little_endian_int(d) == 0x1cc) {
 			system_version = 0;
 		} else if (read_little_endian_int(d) == 0x1d0) {
@@ -1703,7 +1703,7 @@ int main(int argc, char** argv) {
 		const char* dstart = d;
 		fprintf(stderr,"Dumping %s\n",fname);
 		Flags flags;
-		/* 最初から最後までコマンド取得 -> 出力を繰り返す */
+		/* 緇障с潟潟緇 -> 阪膵違菴 */
 		while(dcur<dend) {
 			const char* dprev = dcur;
 			Cmd cmd(flags, system_version); cmd.ClearError();