Mercurial > otakunoraifu
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();