mirror of
https://github.com/oldmud0/LilithPort.git
synced 2024-12-22 14:35:39 +01:00
Translated all strings to English
Hopefully I got everything...
This commit is contained in:
parent
f954827a14
commit
78b46615ab
7 changed files with 588 additions and 578 deletions
|
@ -99,7 +99,7 @@ void MainForm::Begin()
|
|||
SonarThread = gcnew Thread(gcnew ThreadStart(this, &MainForm::RunSonar));
|
||||
SonarThread->Start();
|
||||
|
||||
this->Text += String::Format(L" [{0}] [Server Port:{1}]", ServerName, MTOPTION.OPEN_PORT);
|
||||
this->Text += String::Format(L" ({0}) (Server Port: {1})", ServerName, MTOPTION.OPEN_PORT);
|
||||
WriteTime(0, SystemMessageColor);
|
||||
WriteMessage(L"Server initialization complete.\n[MOTD]-------------------\n", SystemMessageColor);
|
||||
|
||||
|
@ -301,14 +301,14 @@ void MainForm::Begin()
|
|||
if(MTINFO.VERSION_CHECKED) {
|
||||
WriteMessage(String::Format(L"Server version: v{0}\n", ServerVersion), SystemMessageColor);
|
||||
if(LP_VERSION > ServerVersion){
|
||||
WriteMessage(L"Your client is newer than the server. Some functions may be incompatible.\n", ErrorMessageColor);
|
||||
WriteMessage(L"WARNING: Your client is newer than the server. Some functions may be incompatible.\n", ErrorMessageColor);
|
||||
}
|
||||
else if(LP_VERSION < ServerVersion) {
|
||||
WriteMessage(L"LilithPortのバージョンがサーバより低いため、一部機能の互換性が取れない場合があります。\n最新バージョンを確認してください。\n", ErrorMessageColor);
|
||||
WriteMessage(L"WARNING: Your client is older than the server. Some functions may be incompatible.\n", ErrorMessageColor);
|
||||
}
|
||||
}
|
||||
else{
|
||||
WriteMessage(L"MTSP, または古いバージョンのLilithPortサーバです。一部機能の互換性が取れない場合があります。\n", ErrorMessageColor);
|
||||
WriteMessage(L"WARNING: You are connecting to an MTSP server or a very old LilithPort server. Some functions will be incompatible.\n", ErrorMessageColor);
|
||||
}
|
||||
|
||||
// 蔵受信開始
|
||||
|
@ -316,28 +316,28 @@ void MainForm::Begin()
|
|||
|
||||
|
||||
if(MTOPTION.CONNECTION_TYPE == CT_HOST){
|
||||
this->Text += String::Format(L" [{0}] [Host Port:{1}]", ServerName, MTOPTION.OPEN_PORT);
|
||||
this->Text += String::Format(L" ({0}) (Host Port: {1})", ServerName, MTOPTION.OPEN_PORT);
|
||||
}
|
||||
else{
|
||||
this->Text += String::Format(L" [{0}] [Client]", ServerName);
|
||||
this->Text += String::Format(L" ({0}) (Client)", ServerName);
|
||||
}
|
||||
WriteMessage(String::Format(L"{0}に接続しました。 (ID = {1})\n", ServerName, me->ID), SystemMessageColor);
|
||||
WriteMessage(String::Format(L"Connected to {0}. (ID = {1})\n", ServerName, me->ID), SystemMessageColor);
|
||||
|
||||
if(ServerName->Length > 0){
|
||||
if(ServerName[0] == '+'){
|
||||
ServerMode = SM_MIX;
|
||||
WriteMessage(L"混在サーバです。\n", SystemMessageColor);
|
||||
WriteMessage(L"Server is in mixed mode.\n", SystemMessageColor);
|
||||
}
|
||||
if(ServerName[0] == '@'){
|
||||
ServerMode = SM_MATCH;
|
||||
WriteMessage(L"チャット禁止サーバです。\n", SystemMessageColor);
|
||||
WriteMessage(L"Chat is disabled on this server.\n", SystemMessageColor);
|
||||
}
|
||||
else if(ServerName[0] == '#'){
|
||||
ServerMode = SM_NORA;
|
||||
WriteMessage(L"おおっと! 野良サーバ\n", SystemMessageColor);
|
||||
WriteMessage(L"Whoa! A Nora server!\n", SystemMessageColor); //fixme: hard translation (野良サーバ)
|
||||
|
||||
ListView = LV_BLIND;
|
||||
listBoxMember->Items[0] = gcnew String(L"野試合会場");
|
||||
listBoxMember->Items[0] = gcnew String(L"Open Match"); //fixme: hard translation (野試合会場)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -362,27 +362,27 @@ void MainForm::Begin()
|
|||
|
||||
if(e->ErrorCode == 0){
|
||||
if(me->ID == 0xFFFF){
|
||||
WriteMessage(String::Format(L"{0}は満室です。\n", ServerName), ErrorMessageColor);
|
||||
WriteMessage(String::Format(L"ERROR: {0} is full!\n", ServerName), ErrorMessageColor);
|
||||
}
|
||||
else if(me->ID == 0xFFFE){
|
||||
WriteMessage(L"本体のバージョンが違います。\n", ErrorMessageColor);
|
||||
WriteMessage(L"ERROR: Program version is different.\n", ErrorMessageColor);
|
||||
}
|
||||
else if(me->ID > MAX_ID){
|
||||
WriteMessage(String::Format(L"{0}はこれ以上IDを発行できません。\n", ServerName), ErrorMessageColor);
|
||||
WriteMessage(String::Format(L"ERROR: {0} could not issue any more player IDs.\n", ServerName), ErrorMessageColor);
|
||||
}
|
||||
else if(address != 0){
|
||||
WriteMessage(L"サーバに接続できませんでした。\n回線が混雑している可能性があります。\n", ErrorMessageColor);
|
||||
WriteMessage(L"ERROR: Could not connect to the server.\nThe connection may be busy.\n", ErrorMessageColor);
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(e->ErrorCode == WSAECONNRESET){
|
||||
WriteMessage(L"サーバのポートが開いていません。\n", ErrorMessageColor);
|
||||
WriteMessage(L"ERROR: The connection was reset. \n", ErrorMessageColor);
|
||||
}
|
||||
else if(e->ErrorCode == WSAETIMEDOUT){
|
||||
WriteMessage(L"サーバからの応答がありませんでした。\nサーバが稼働していないか、アドレスが間違っている可能性があります。\n", ErrorMessageColor);
|
||||
WriteMessage(L"ERROR: The connection timed out.\nThis could be due to many reasons: the server is not running, or the address may be incorrect.\n", ErrorMessageColor);
|
||||
}
|
||||
else if(e->ErrorCode != WSAHOST_NOT_FOUND){
|
||||
WriteMessage(String::Format(L"ソケットエラー > {0}\n", e->ErrorCode), ErrorMessageColor);
|
||||
WriteMessage(String::Format(L"Unknown socket error: {0}\n", e->ErrorCode), ErrorMessageColor);
|
||||
}
|
||||
if(MTINFO.DEBUG){
|
||||
WriteMessage(e->ToString() + L"\n", DebugMessageColor);
|
||||
|
@ -440,7 +440,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
|
||||
if(rcv->Length > MAX_PACKET){
|
||||
if(MTINFO.DEBUG){
|
||||
form->WriteMessage(String::Format(L"Large Packet > {0} from {1}\n", rcv[0], ep->ToString()), DebugMessageColor);
|
||||
form->WriteMessage(String::Format(L"Got very large packet > {0} from {1}\n", rcv[0], ep->ToString()), DebugMessageColor);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -453,7 +453,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
|
||||
case PH_PONG:
|
||||
if(rcv->Length == 1 && Ping > 0){
|
||||
form->WriteMessage(String::Format(L"Ping : {0}ms\n", timeGetTime() - Ping), SystemMessageColor);
|
||||
form->WriteMessage(String::Format(L"Ping: {0}ms\n", timeGetTime() - Ping), SystemMessageColor);
|
||||
Ping = 0;
|
||||
}
|
||||
break;
|
||||
|
@ -497,7 +497,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
|
||||
if(IDCounter <= MAX_ID){
|
||||
if(IDCounter == MAX_ID){
|
||||
form->WriteMessage(L"発行IDが限界に達しました。\n", ErrorMessageColor);
|
||||
form->WriteMessage(L"ERROR: issued ID is above the max ID!\n", ErrorMessageColor);
|
||||
}
|
||||
|
||||
// メンバー登録
|
||||
|
@ -643,7 +643,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
|
||||
case PH_NOTICE:
|
||||
if(UDP != nullptr){
|
||||
form->WriteMessage(L"[サーバー告知]-------------------\n", SystemMessageColor);
|
||||
form->WriteMessage(L"[Message of the Day]-------------------\n", SystemMessageColor);
|
||||
form->WriteNotice(Encoding::Unicode->GetString(rcv, 2, (rcv->Length)-2));
|
||||
form->WriteMessage(L"-------------------------------\n", SystemMessageColor);
|
||||
}
|
||||
|
@ -702,14 +702,14 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
}
|
||||
if(MTINFO.DEBUG){
|
||||
if(id == 0){
|
||||
form->WriteMessage(L"メンバーリストの要求を返信しました。\n", DebugMessageColor);
|
||||
form->WriteMessage(L"Replied to player list request.\n", DebugMessageColor);
|
||||
}
|
||||
}
|
||||
|
||||
if(id > 0 && i >= MemberList->Count){
|
||||
// サーバでもクラでも見えない状態
|
||||
if(MTINFO.DEBUG){
|
||||
form->WriteMessage(String::Format(L"Unknown({0})の検索\n", id), ErrorMessageColor);
|
||||
form->WriteMessage(String::Format(L"Unknown ({0}) search!\n", id), ErrorMessageColor);
|
||||
}
|
||||
|
||||
// バックアップ検索
|
||||
|
@ -718,16 +718,16 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
// Unknown通知
|
||||
array<BYTE>^ send = gcnew array<BYTE>(3){ PH_LOST, 0xFF, 0xFF };
|
||||
UDP->BeginSend(send, send->Length, MemberListBackUp[id]->IP_EP, gcnew AsyncCallback(SendPackets), UDP);
|
||||
form->WriteMessage(String::Format(L"Unknown({0})に通知をしました。\n", id), SystemMessageColor);
|
||||
form->WriteMessage(String::Format(L"Sent notice to Unknown ({0}).\n", id), SystemMessageColor);
|
||||
}
|
||||
catch(Exception^){
|
||||
if(MTINFO.DEBUG){
|
||||
form->WriteMessage(String::Format(L"Unknown({0})への通知に失敗しました。\n", id), ErrorMessageColor);
|
||||
form->WriteMessage(String::Format(L"Failed to send notice to Unknown ({0})!\n", id), ErrorMessageColor);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
// バックアップリスト以上のID
|
||||
form->WriteMessage(String::Format(L"履歴に存在しない接続IDです。\nサーバをシャットダウン後、しばらくしてからサーバを起動してください。\n", id), ErrorMessageColor);
|
||||
form->WriteMessage(String::Format(L"This ID is not present in the log. Shut down and restart the server after waiting a while.\n", id), ErrorMessageColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -819,7 +819,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
if(member > 0){
|
||||
if(ListView != LV_BLIND){
|
||||
form->WriteTime(0, SystemMessageColor);
|
||||
form->WriteMessage(MemberList[member]->NAME + L"が退室しました。\n", SystemMessageColor);
|
||||
form->WriteMessage(MemberList[member]->NAME + L" has left.\n", SystemMessageColor);
|
||||
}
|
||||
|
||||
// 観戦中止
|
||||
|
@ -835,11 +835,11 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
else{
|
||||
if(id == 0){
|
||||
form->WriteTime(0, SystemMessageColor);
|
||||
form->WriteMessage(ServerName + L"がシャットダウンしました。\n", SystemMessageColor);
|
||||
form->WriteMessage(ServerName + L" was shut down.\n", SystemMessageColor);
|
||||
MemberList[0]->STATE = 0xFF;
|
||||
}
|
||||
else if(id == 0xFFFF){
|
||||
form->WriteMessage(ServerName + L"には登録されていません。\n時間を置いて再接続してみてください。\n", ErrorMessageColor);
|
||||
form->WriteMessage(ServerName + L" is not registered. Please try to connect at a later time.\n", ErrorMessageColor);
|
||||
MemberList[0]->STATE = 0xFF;
|
||||
}
|
||||
else{
|
||||
|
@ -847,18 +847,18 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
if(id == MemberList[i]->ID){
|
||||
if(i == 0){
|
||||
form->WriteTime(0, SystemMessageColor);
|
||||
form->WriteMessage(L"サーバとの接続が切断されました。\n", ErrorMessageColor);
|
||||
form->WriteMessage(L"ERROR: Connection to the server lost.\n", ErrorMessageColor);
|
||||
MemberList[0]->STATE = 0xFF;
|
||||
}
|
||||
else{
|
||||
if(ListView != LV_BLIND){
|
||||
if(rcv[0] == PH_QUIT){
|
||||
form->WriteTime(0, SystemMessageColor);
|
||||
form->WriteMessage(MemberList[i]->NAME + L"が退室しました。\n", SystemMessageColor);
|
||||
form->WriteMessage(MemberList[i]->NAME + L" has left.\n", SystemMessageColor);
|
||||
}
|
||||
else{
|
||||
form->WriteTime(0, SystemMessageColor);
|
||||
form->WriteMessage(MemberList[i]->NAME + L"の回線が途切れました。\n", ErrorMessageColor);
|
||||
form->WriteMessage(L"Connection with "+ MemberList[i]->NAME + L" was interrupted.\n", ErrorMessageColor);
|
||||
if(MTINFO.DEBUG){
|
||||
form->WriteMessage(String::Format(L"ID = {0}\n", MemberList[i]->ID), DebugMessageColor);
|
||||
form->WriteMessage(String::Format(L"IP_EP = {0}\n", MemberList[i]->IP_EP), DebugMessageColor);
|
||||
|
@ -902,7 +902,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
|
||||
if(MemberList[i]->STATE == MS_SEEK && rcv[3] != MS_SEEK){
|
||||
form->WriteTime(0, SystemMessageColor);
|
||||
form->WriteMessage(String::Format(L"{0}が対戦募集を締め切りました。\n", MemberList[i]->NAME), SystemMessageColor);
|
||||
form->WriteMessage(String::Format(L"{0} is now in seek mode.\n", MemberList[i]->NAME), SystemMessageColor);
|
||||
}
|
||||
|
||||
MemberList[i]->STATE = rcv[3];
|
||||
|
@ -910,7 +910,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
|
||||
if(MemberList[i]->STATE == MS_SEEK){
|
||||
form->WriteTime(0, SystemMessageColor);
|
||||
form->WriteMessage(String::Format(L"{0}が対戦募集状態になりました。\n", MemberList[i]->NAME), SystemMessageColor);
|
||||
form->WriteMessage(String::Format(L"{0} is now in seek mode.\n", MemberList[i]->NAME), SystemMessageColor);
|
||||
if(MTOPTION.SEEK_SOUND_ENABLE){
|
||||
try{
|
||||
Media::SoundPlayer^ wav = gcnew Media::SoundPlayer(gcnew String(MTOPTION.SEEK_SOUND));
|
||||
|
@ -986,7 +986,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
if(rcv[3] == 0xFF){
|
||||
// そんな人いなかった
|
||||
form->WriteTime(0, SystemMessageColor);
|
||||
form->WriteMessage(MemberList[i]->NAME + L"は既にいませんでした。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"We didn't have "+MemberList[i]->NAME + L" before.\n", SystemMessageColor);
|
||||
|
||||
if(MTOPTION.CONNECTION_TYPE == CT_SERVER){
|
||||
// 全員に通達
|
||||
|
@ -1016,9 +1016,9 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
form->WriteMessage(String::Format(MemberList[i]->NAME + L" > state:{0}\n", rcv[3]), DebugMessageColor);
|
||||
}
|
||||
form->WriteTime(0, SystemMessageColor);
|
||||
form->WriteMessage(MemberList[i]->NAME + L"の状態を更新しました。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"Updated state for " + MemberList[i]->NAME + L".\n", SystemMessageColor);
|
||||
if(MTOPTION.CONNECTION_TYPE != CT_SERVER && MemberList[i]->ID == 0){
|
||||
form->WriteMessage(L"サーバーとの通信が途切れた可能性があります。再接続をしてみてください。\n", ErrorMessageColor);
|
||||
form->WriteMessage(L"Connection to the server may have been lost. Please try to reconnect.\n", ErrorMessageColor);
|
||||
}
|
||||
MemberList[i]->STATE = rcv[3];
|
||||
form->listBoxMember->Refresh();
|
||||
|
@ -1113,6 +1113,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
|
||||
// 格ツクじゃないよ
|
||||
try{
|
||||
//TODO: change FM exe check
|
||||
String^ exe = gcnew String(MTOPTION.GAME_EXE);
|
||||
FileVersionInfo^ info = FileVersionInfo::GetVersionInfo(exe);
|
||||
|
||||
|
@ -1141,8 +1142,8 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
}
|
||||
catch(Exception^){
|
||||
send[1] = 0xFF;
|
||||
form->WriteMessage(L"格闘ツクールの実行ファイルではありません。\n", ErrorMessageColor);
|
||||
form->WriteMessage(L"オプションで実行ファイルのパスを設定してください。\n", ErrorMessageColor);
|
||||
form->WriteMessage(L"ERROR: This is not a valid 2D Fighter Maker executable.\n", ErrorMessageColor);
|
||||
form->WriteMessage(L"Please go to the settings menu and set it.\n", ErrorMessageColor);
|
||||
}
|
||||
|
||||
UDP->BeginSend(send, send->Length, ep, gcnew AsyncCallback(SendPackets), UDP);
|
||||
|
@ -1159,7 +1160,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
}
|
||||
|
||||
if(i >= MemberList->Count){
|
||||
form->WriteMessage(L"リストにいない人物からの対戦要求がありました。\n", ErrorMessageColor);
|
||||
form->WriteMessage(L"ERROR: A match request was received from someone not on the list.\n", ErrorMessageColor);
|
||||
MemberList[0]->STATE = MS_FREE;
|
||||
|
||||
if(MTOPTION.CONNECTION_TYPE != CT_SERVER){
|
||||
|
@ -1207,7 +1208,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
if(ListView != LV_BLIND){
|
||||
form->WriteTime(0, SystemMessageColor);
|
||||
form->WriteMessage(MemberList[i]->NAME, NameColor[MemberList[i]->TYPE]);
|
||||
form->WriteMessage(L"から対戦の申し込みです。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"A new challenger!\n", SystemMessageColor);
|
||||
}
|
||||
}
|
||||
finally{
|
||||
|
@ -1220,25 +1221,25 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
if((rcv[1] != MS_FREE)&&(rcv[1] != MS_SEEK)){
|
||||
switch(rcv[1]){
|
||||
case MS_REST:
|
||||
form->WriteMessage(L"挑戦相手は休憩中です。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"Challenger is currently on break.\n", SystemMessageColor);
|
||||
break;
|
||||
case MS_VS:
|
||||
form->WriteMessage(L"挑戦相手は対戦中です。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"Challenger is currently playing.\n", SystemMessageColor);
|
||||
break;
|
||||
case MS_WATCH:
|
||||
case MS_COUCH:
|
||||
form->WriteMessage(L"挑戦相手は観戦中です。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"Challenger is currently spectating.\n", SystemMessageColor);
|
||||
break;
|
||||
case MS_SEEK:
|
||||
break;
|
||||
case MS_READY:
|
||||
form->WriteMessage(L"挑戦相手は他の人と対戦準備中です。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"Challenger is currently preparing for battle against another person.\n", SystemMessageColor);
|
||||
break;
|
||||
case 0xFE:
|
||||
form->WriteMessage(L"挑戦相手とプレイするゲームが違います。\n", ErrorMessageColor);
|
||||
form->WriteMessage(L"ERROR: You and your challenger have a different game or game version.\n", ErrorMessageColor);
|
||||
break;
|
||||
default:
|
||||
form->WriteMessage(L"挑戦相手が対戦出来る状態ではありません。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"Challenger is currently not in a state for matchmaking.\n", SystemMessageColor);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1331,7 +1332,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
|
||||
// 対戦開始
|
||||
form->WriteTime(0, SystemMessageColor);
|
||||
form->WriteMessage(String::Format(L"対戦を開始します。(delay:{0})\n", NetVS->DELAY), SystemMessageColor);
|
||||
form->WriteMessage(String::Format(L"Starting match... (Delay: {0})\n", NetVS->DELAY), SystemMessageColor);
|
||||
|
||||
// 音でお知らせ
|
||||
if(MTOPTION.VS_SOUND_ENABLE){
|
||||
|
@ -1381,7 +1382,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
}
|
||||
catch(Exception^){
|
||||
MTINFO.TEAM_ROUND_HP = false;
|
||||
form->WriteMessage(L"対戦相手が古いバージョンのLilithPortか、MTSPです。\n", ErrorMessageColor);
|
||||
form->WriteMessage(L"ERROR: Opponent is using an old version of LilithPort or MTSP!\n", ErrorMessageColor);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1394,7 +1395,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
|
||||
case PH_VS_END:
|
||||
if(NetVS != nullptr){
|
||||
form->WriteMessage(L"対戦終了のお知らせです。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"The match was ended.\n", SystemMessageColor);
|
||||
|
||||
NetVS->SEQUENCE = VS_END;
|
||||
form->QuitGame();
|
||||
|
@ -1424,14 +1425,14 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
try{
|
||||
if(NetVS->R_FRAME > f + NetVS->DELAY){
|
||||
if(MTINFO.DEBUG){
|
||||
form->WriteMessage(String::Format(L"無効なパケット(遅延) > {0} / {1}\n", f, NetVS->R_FRAME), DebugMessageColor);
|
||||
form->WriteMessage(String::Format(L"Invalid packet (delay): {0}/{1}\n", f, NetVS->R_FRAME), DebugMessageColor);
|
||||
}
|
||||
break;
|
||||
}
|
||||
else if(f > NetVS->R_FRAME + NetVS->DELAY){
|
||||
// まずこない
|
||||
if(MTINFO.DEBUG){
|
||||
form->WriteMessage(String::Format(L"無効なパケット(先行) > {0} / {1}\n", f, NetVS->R_FRAME), DebugMessageColor);
|
||||
form->WriteMessage(String::Format(L"Invalid packet (preceding): {0}/{1}\n", f, NetVS->R_FRAME), DebugMessageColor);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -1469,7 +1470,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
try{
|
||||
if(f >= NetVS->L_FRAME + NetVS->DELAY){
|
||||
if(MTINFO.DEBUG){
|
||||
form->WriteMessage(String::Format(L"無効なパケット(先行要求) > {0} / {1}\n", f, NetVS->L_FRAME), DebugMessageColor);
|
||||
form->WriteMessage(String::Format(L"Invalid packet (prior request): {0}/{1}\n", f, NetVS->L_FRAME), DebugMessageColor);
|
||||
}
|
||||
UDP->BeginSend(send, send->Length, ep, gcnew AsyncCallback(SendPackets), UDP);
|
||||
break;
|
||||
|
@ -1477,13 +1478,13 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
else if(NetVS->L_FRAME > f + NetVS->DELAY*2){
|
||||
// 既にデータがないのでこれがくるとゲームにならない
|
||||
if(MTINFO.DEBUG){
|
||||
form->WriteMessage(String::Format(L"無効なパケット(遅延要求) > {0} / {1}\n", f, NetVS->L_FRAME), DebugMessageColor);
|
||||
form->WriteMessage(String::Format(L"Invalid packet (delayed request): {0}/{1}\n", f, NetVS->L_FRAME), DebugMessageColor);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if(MTINFO.DEBUG){
|
||||
form->WriteMessage(String::Format(L"要求パケット > {0} / {1}\n", f, NetVS->L_FRAME), DebugMessageColor);
|
||||
form->WriteMessage(String::Format(L"Request packet: {0}/{1}\n", f, NetVS->L_FRAME), DebugMessageColor);
|
||||
}
|
||||
|
||||
Array::Copy(BitConverter::GetBytes(NetVS->LOCAL[f % NetVS->LOCAL->Length]), 0, send, 5, 2);
|
||||
|
@ -1508,7 +1509,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
NetVS->REMOTE[NetVS->R_READ] = w;
|
||||
|
||||
if(MTINFO.DEBUG){
|
||||
form->WriteMessage(String::Format(L"返信パケット > {0} : {1}\n", f, w), DebugMessageColor);
|
||||
form->WriteMessage(String::Format(L"Reply packet: {0} : {1}\n", f, w), DebugMessageColor);
|
||||
}
|
||||
|
||||
if(NetVS->WAITING == 2){
|
||||
|
@ -1594,10 +1595,10 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
|
||||
if(i >= MemberList->Count){
|
||||
// 外来客
|
||||
form->WriteMessage(L"観戦者が来ました。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"A spectator has joined.\n", SystemMessageColor);
|
||||
}
|
||||
else{
|
||||
form->WriteMessage(MemberList[i]->NAME + L"が観戦に来ました。\n", SystemMessageColor);
|
||||
form->WriteMessage(MemberList[i]->NAME + L" has joined the match as a spectator.\n", SystemMessageColor);
|
||||
}
|
||||
}
|
||||
finally{
|
||||
|
@ -1611,19 +1612,19 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
if(rcv[1] > 0){
|
||||
switch(rcv[1]){
|
||||
case 1:
|
||||
form->WriteMessage(L"観戦が許可されていませんでした。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"Spectating is disabled for this match.\n", SystemMessageColor);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
form->WriteMessage(L"観戦席は満席でした。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"All spectator seats are taken!\n", SystemMessageColor);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
form->WriteMessage(L"観戦に間に合いませんでした。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"You did not join in time to spectate.\n", SystemMessageColor);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
form->WriteMessage(L"既に相手がこちらを観戦対象にしていました。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"You are already watching the opponent!\n", SystemMessageColor); //fixme: hard translation: 既に相手がこちらを観戦対象にしていました。
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1682,7 +1683,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
GameThread = gcnew Thread(gcnew ParameterizedThreadStart(form, &MainForm::RunGame));
|
||||
GameThread->Start((UINT)RT_WATCH);
|
||||
|
||||
form->WriteMessage(L"観戦を開始します。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"Now spectating. Starting game...\n", SystemMessageColor);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -1692,7 +1693,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
UINT32 f = BitConverter::ToUInt32(rcv, 1);
|
||||
|
||||
if(f > WatchFrame + WatchHistory->Length - 20){
|
||||
form->WriteMessage(L"同期が取れなくなったため観戦を中止します。\n", ErrorMessageColor);
|
||||
form->WriteMessage(L"ERROR: Could not synchronize; leaving spectator mode...\n", ErrorMessageColor); //fixme: hard translation: 同期が取れなくなったため観戦を中止します。
|
||||
form->QuitWatch(true);
|
||||
}
|
||||
|
||||
|
@ -1700,7 +1701,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
try{
|
||||
if(WatchFrame > f + 20){
|
||||
if(MTINFO.DEBUG){
|
||||
form->WriteMessage(String::Format(L"観戦パケット(遅延) > {0} / {1}\n", f, WatchFrame), DebugMessageColor);
|
||||
form->WriteMessage(String::Format(L"Spectator packet (delay): {0}/{1}\n", f, WatchFrame), DebugMessageColor);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -1729,7 +1730,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
|
||||
if(id == MemberList[0]->ID){
|
||||
// 閉幕のお知らせ
|
||||
form->WriteMessage(L"観戦終了のお知らせです。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"The match was ended. Leaving spectator mode...\n", SystemMessageColor);
|
||||
form->QuitWatch(false);
|
||||
}
|
||||
else{
|
||||
|
@ -1737,7 +1738,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
Monitor::Enter(InputHistory);
|
||||
try{
|
||||
if(MTINFO.DEBUG){
|
||||
form->WriteMessage(String::Format(L"観戦中止 > {0}\n", id), DebugMessageColor);
|
||||
form->WriteMessage(String::Format(L"Spectator end: {0}\n", id), DebugMessageColor);
|
||||
}
|
||||
|
||||
for(i = 0; i < SpectatorList->Count; i++){
|
||||
|
@ -1774,17 +1775,20 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
try{
|
||||
form->richTextBoxLog->SelectionStart = form->richTextBoxLog->Text->Length;
|
||||
|
||||
form->richTextBoxLog->SelectionColor = SecretColor;
|
||||
form->richTextBoxLog->AppendText(L"Inflicted DAMAGE on ");
|
||||
|
||||
form->richTextBoxLog->SelectionColor = NameColor[MemberList[i]->TYPE];
|
||||
form->richTextBoxLog->AppendText(MemberList[i]->NAME);
|
||||
|
||||
form->richTextBoxLog->SelectionColor = SecretColor;
|
||||
form->richTextBoxLog->AppendText(L"に ");
|
||||
form->richTextBoxLog->AppendText(L" at ");
|
||||
|
||||
form->richTextBoxLog->SelectionColor = TalkMessageColor;
|
||||
form->richTextBoxLog->AppendText(UInt32(time).ToString());
|
||||
|
||||
form->richTextBoxLog->SelectionColor = SecretColor;
|
||||
form->richTextBoxLog->AppendText(L"の ダメージ!!\n");
|
||||
form->richTextBoxLog->AppendText(L"!!\n");
|
||||
|
||||
form->richTextBoxLog->SelectionStart = form->richTextBoxLog->Text->Length;
|
||||
if(!MTOPTION.LOG_LOCK) {
|
||||
|
@ -1823,7 +1827,7 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
// UDP接続終了
|
||||
if(UDP != nullptr){
|
||||
UDP = nullptr;
|
||||
form->WriteMessage(L"回線を切断しました。\n", SystemMessageColor);
|
||||
form->WriteMessage(L"Connection was interrupted!\n", SystemMessageColor);
|
||||
}
|
||||
}
|
||||
catch(SocketException^ e){
|
||||
|
@ -1832,11 +1836,11 @@ void MainForm::ReceivePackets(IAsyncResult^ asyncResult)
|
|||
if(e->ErrorCode == WSAECONNRESET){
|
||||
// パケットが弾かれた
|
||||
if(MTINFO.DEBUG){
|
||||
form->WriteMessage(L"ERROR > WSAECONNRESET\n", DebugMessageColor);
|
||||
form->WriteMessage(L"ERROR: WSAECONNRESET\n", DebugMessageColor);
|
||||
}
|
||||
}
|
||||
else{
|
||||
form->WriteMessage(String::Format(L"ソケットエラー({0})\n", e->ErrorCode), ErrorMessageColor);
|
||||
form->WriteMessage(String::Format(L"SOCKET ERROR: {0}\n", e->ErrorCode), ErrorMessageColor);
|
||||
if(MTINFO.DEBUG){
|
||||
form->WriteMessage(e->ToString() + L"\n", DebugMessageColor);
|
||||
}
|
||||
|
@ -1871,8 +1875,8 @@ void MainForm::TimerGetIP()
|
|||
// HP持ち越しタイマー
|
||||
void MainForm::SetTeamHP(){
|
||||
if(MTINFO.DEBUG){
|
||||
WriteMessage(L"EVENT:SET_TEAM_HP\n", DebugMessageColor);
|
||||
WriteMessage(String::Format(L"PROCESS:{0}, WINNER:P{1}, HP:{2}\n", (UINT)MTINFO.PROCESS, ((UINT)MTINFO.WINNER)+1, MTINFO.P_HP), DebugMessageColor);
|
||||
WriteMessage(L"EVENT: SET_TEAM_HP\n", DebugMessageColor);
|
||||
WriteMessage(String::Format(L"PROCESS: {0}, WINNER: P{1}, HP: {2}\n", (UINT)MTINFO.PROCESS, ((UINT)MTINFO.WINNER)+1, MTINFO.P_HP), DebugMessageColor);
|
||||
}
|
||||
Thread::Sleep(1000);
|
||||
try {
|
||||
|
@ -1939,7 +1943,7 @@ void MainForm::RunSonar()
|
|||
|
||||
if((timeGetTime() - MemberList[i]->RESPONSE) > 100*1000){
|
||||
WriteTime(0, SystemMessageColor);
|
||||
WriteMessage(MemberList[i]->NAME + L"との通信が途絶えました。\n", ErrorMessageColor);
|
||||
WriteMessage("Connection with " + MemberList[i]->NAME + L" was interrupted.\n", ErrorMessageColor);
|
||||
|
||||
send[0] = PH_LOST;
|
||||
|
||||
|
@ -1963,7 +1967,7 @@ void MainForm::RunSonar()
|
|||
}
|
||||
else{
|
||||
if((timeGetTime() - MemberList[1]->RESPONSE) > 100*1000){
|
||||
WriteMessage(L"サーバとの通信が途絶えました。\n", ErrorMessageColor);
|
||||
WriteMessage(L"Connection with the server timed out.\n", ErrorMessageColor);
|
||||
leave = true;
|
||||
Ranging = false;
|
||||
}
|
||||
|
@ -1973,7 +1977,7 @@ void MainForm::RunSonar()
|
|||
}
|
||||
}
|
||||
catch(Exception^){
|
||||
WriteMessage(L"ソナースレッドでエラーが発生しました。\n", ErrorMessageColor);
|
||||
WriteMessage(L"An exception was thrown in the sonar thread.\n", ErrorMessageColor);
|
||||
}
|
||||
finally{
|
||||
Monitor::Exit(MemberList);
|
||||
|
@ -2151,7 +2155,7 @@ void MainForm::RunGame(Object^ obj)
|
|||
path += "\\" + file;
|
||||
bw = gcnew BinaryWriter(File::Create(path));
|
||||
|
||||
WriteMessage(String::Format(L"\"{0}\"にリプレイファイルを作成します。\n", file), SystemMessageColor);
|
||||
WriteMessage(String::Format(L"Replay file will be created: \"{0}\"\n", file), SystemMessageColor);
|
||||
|
||||
// ヘッダ
|
||||
bw->Write(header);
|
||||
|
@ -2194,7 +2198,7 @@ void MainForm::RunGame(Object^ obj)
|
|||
}
|
||||
}
|
||||
catch(IOException^ e){
|
||||
WriteMessage(String::Format(L"ERROR > リプレイファイル\n{0}\n", e->ToString()), ErrorMessageColor);
|
||||
WriteMessage(String::Format(L"Error writing to replay file:\n{0}\n", e->ToString()), ErrorMessageColor);
|
||||
|
||||
if(bw != nullptr){
|
||||
bw->Close();
|
||||
|
@ -2242,24 +2246,24 @@ void MainForm::RunGame(Object^ obj)
|
|||
|
||||
if(CreateProcess(MTOPTION.GAME_EXE, NULL, NULL, NULL, false, DEBUG_PROCESS, NULL, wdir, &si, &pi)){
|
||||
if(run_type == RT_PLAYBACK){
|
||||
WriteMessage(String::Format(L"\"{0}\"を再生します。\n", Path::GetFileName(ReplayFilePath)), SystemMessageColor);
|
||||
WriteMessage(String::Format(L"Opening \"{0}\" for playback...\n", Path::GetFileName(ReplayFilePath)), SystemMessageColor);
|
||||
}
|
||||
else{
|
||||
WriteMessage(String::Format(L"\"{0}\"を起動します。\n", Path::GetFileNameWithoutExtension(gcnew String(MTOPTION.GAME_EXE))), SystemMessageColor);
|
||||
WriteMessage(String::Format(L"Starting \"{0}\"...\n", Path::GetFileNameWithoutExtension(gcnew String(MTOPTION.GAME_EXE))), SystemMessageColor);
|
||||
}
|
||||
}
|
||||
else{
|
||||
WriteMessage(String::Format(L"ERROR({0}) > \"{1}\"が開けませんでした。\n", GetLastError(), gcnew String(MTOPTION.GAME_EXE)), ErrorMessageColor);
|
||||
WriteMessage(String::Format(L"ERROR ({0}): Could not run \"{1}\".\n", GetLastError(), gcnew String(MTOPTION.GAME_EXE)), ErrorMessageColor);
|
||||
return;
|
||||
}
|
||||
|
||||
if(MTOPTION.SHOW_GAME_OPTION){
|
||||
WriteMessage(String::Format(L"[対戦設定]----------------------\n"
|
||||
L"最大ステージ数: {0} / "
|
||||
L"ランダムステージ: {1} / "
|
||||
L"ラウンド数: {2} / "
|
||||
L"ゲームタイマー: {3}\n"
|
||||
L"ラウンドHP持ち越し: {4}\n"
|
||||
WriteMessage(String::Format(L"[Current settings]----------------------\n"
|
||||
L"Max stages: {0} / "
|
||||
L"Random stage: {1} / "
|
||||
L"# of rounds: {2} / "
|
||||
L"Round timer: {3}\n"
|
||||
L"Carry over HP between rounds: {4}\n"
|
||||
L"-------------------------------\n"
|
||||
, MTINFO.MAX_STAGE, MTINFO.STAGE_SELECT, MTINFO.ROUND, MTINFO.TIMER, MTINFO.TEAM_ROUND_HP == true ? "ON" : "OFF"), SystemMessageColor);
|
||||
}
|
||||
|
@ -2510,7 +2514,7 @@ void MainForm::RunGame(Object^ obj)
|
|||
c.Eax = WatchHistory[WatchFrame % WatchHistory->Length];
|
||||
|
||||
if(c.Eax == 0xFFFF && WaitingWatch == 2){
|
||||
WriteMessage(L"タイムアウトしたため観戦を終了します。\n", ErrorMessageColor);
|
||||
WriteMessage(L"Stopped spectating due to timeout.\n", ErrorMessageColor);
|
||||
QuitWatch(true);
|
||||
}
|
||||
}
|
||||
|
@ -2607,7 +2611,7 @@ void MainForm::RunGame(Object^ obj)
|
|||
c.Eax = WatchHistory[WatchFrame % WatchHistory->Length];
|
||||
|
||||
if(c.Eax == 0xFFFF && WaitingWatch == 2){
|
||||
WriteMessage(L"タイムアウトしたため観戦を終了します。\n", ErrorMessageColor);
|
||||
WriteMessage(L"Stopped spectating due to timeout.\n", ErrorMessageColor);
|
||||
QuitWatch(true);
|
||||
}
|
||||
}
|
||||
|
@ -2667,7 +2671,7 @@ void MainForm::RunGame(Object^ obj)
|
|||
|
||||
if(MTOPTION.DISPLAY_NAME){
|
||||
if(is_p1 == 0 && is_p2 == 0){
|
||||
append_cap = _stprintf_s(MTINFO.TITLE, _T("%s [野試合中]"), MTINFO.TITLE);
|
||||
append_cap = _stprintf_s(MTINFO.TITLE, _T("%s [Free Play]"), MTINFO.TITLE); //fixme: hard translation: 野試合中
|
||||
}
|
||||
else if(is_p2 == 0){
|
||||
append_cap = _stprintf_s(MTINFO.TITLE, _T("%s [%s]"), MTINFO.TITLE, MTINFO.P1_NAME);
|
||||
|
@ -2678,16 +2682,16 @@ void MainForm::RunGame(Object^ obj)
|
|||
}
|
||||
if(MTOPTION.DISPLAY_VERSUS){
|
||||
if(MTOPTION.SHOW_RESULT){
|
||||
append_cap = _stprintf_s(MTINFO.TITLE, _T("%s 対戦数:%d (%d - %d)"), MTINFO.TITLE, num_vs, p1_win, p2_win);
|
||||
append_cap = _stprintf_s(MTINFO.TITLE, _T("%s Match: %d (%d - %d)"), MTINFO.TITLE, num_vs, p1_win, p2_win);
|
||||
}else{
|
||||
append_cap = _stprintf_s(MTINFO.TITLE, _T("%s 対戦数:%d"), MTINFO.TITLE, num_vs);
|
||||
append_cap = _stprintf_s(MTINFO.TITLE, _T("%s Match: %d"), MTINFO.TITLE, num_vs);
|
||||
}
|
||||
}
|
||||
if(MTOPTION.DISPLAY_FRAMERATE){
|
||||
append_cap = _stprintf_s(MTINFO.TITLE, _T("%s fps:%3d(%d%)"), MTINFO.TITLE, blt_count, input_count);
|
||||
append_cap = _stprintf_s(MTINFO.TITLE, _T("%s FPS: %3d(%d%)"), MTINFO.TITLE, blt_count, input_count);
|
||||
}
|
||||
if(MTOPTION.DISPLAY_RAND){
|
||||
append_cap = _stprintf_s(MTINFO.TITLE, _T("%s 乱数:%d"), MTINFO.TITLE, rand_count);
|
||||
append_cap = _stprintf_s(MTINFO.TITLE, _T("%s Rand: %d"), MTINFO.TITLE, rand_count);
|
||||
}
|
||||
|
||||
blt_count = 0;
|
||||
|
@ -2738,7 +2742,7 @@ void MainForm::RunGame(Object^ obj)
|
|||
int nValue = e_address;
|
||||
char pszText[32];
|
||||
_itoa_s(nValue, pszText, 32 * sizeof(char), 16);
|
||||
WriteMessage(String::Format(L"EVENT:{0}\n", gcnew String(pszText)), DebugMessageColor);
|
||||
WriteMessage(String::Format(L"EVENT: {0}\n", gcnew String(pszText)), DebugMessageColor);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2941,10 +2945,10 @@ void MainForm::RunGame(Object^ obj)
|
|||
if(MTINFO.INITIALIZED){
|
||||
if(WaitingWatch > 0){
|
||||
WaitingWatch = 0;
|
||||
WriteMessage(L"観戦を中止します。\n", SystemMessageColor);
|
||||
WriteMessage(L"Stopped watching.\n", SystemMessageColor);
|
||||
}
|
||||
else if(_tcslen(MTINFO.ORIGINAL_TITLE) > 0){
|
||||
WriteMessage(String::Format(L"\"{0}\"を終了しました。\n", gcnew String(MTINFO.ORIGINAL_TITLE)), SystemMessageColor);
|
||||
WriteMessage(String::Format(L"Ended \"{0}\".\n", gcnew String(MTINFO.ORIGINAL_TITLE)), SystemMessageColor);
|
||||
|
||||
if(run_type == RT_VS){
|
||||
if(MTINFO.CONTROL == 1){
|
||||
|
@ -2953,11 +2957,11 @@ void MainForm::RunGame(Object^ obj)
|
|||
p2_win = i;
|
||||
}
|
||||
WriteTime(0, SystemMessageColor);
|
||||
WriteMessage(String::Format(L"対戦成績 : {0}戦 {1}勝 {2}敗\n", num_vs, p1_win, p2_win), SecretColor);
|
||||
WriteMessage(String::Format(L"Score: {0} matches, {1} wins (P1) {2} wins (P2)\n", num_vs, p1_win, p2_win), SecretColor);
|
||||
}
|
||||
}
|
||||
else{
|
||||
WriteMessage(L"ゲームを終了しました。\n", SystemMessageColor);
|
||||
WriteMessage(L"Ended the game.\n", SystemMessageColor);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3032,7 +3036,7 @@ void MainForm::RunVersus()
|
|||
|
||||
if(NetVS->SEQUENCE != VS_PING){
|
||||
if(NetVS->SEQUENCE != VS_ERROR){
|
||||
WriteMessage(L"挑戦相手からの応答がありませんでした。\n", ErrorMessageColor);
|
||||
WriteMessage(L"ERROR: There was no response from the opponent.\n", ErrorMessageColor);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -3060,7 +3064,7 @@ void MainForm::RunVersus()
|
|||
}
|
||||
|
||||
if(NetVS->SEQUENCE != VS_SETTING){
|
||||
WriteMessage(L"挑戦相手との回線が不安定です。\n", ErrorMessageColor);
|
||||
WriteMessage(L"ERROR: The connection to the opponent is unstable.\n", ErrorMessageColor);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3081,7 +3085,7 @@ void MainForm::RunVersus()
|
|||
}
|
||||
|
||||
if(c < 4){
|
||||
WriteMessage(L"ディレイ値の計算が正常に行われませんでした。\n", ErrorMessageColor);
|
||||
WriteMessage(L"ERROR: Could not determine the delay from the opponent's ping.\n", ErrorMessageColor);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3107,14 +3111,14 @@ void MainForm::RunVersus()
|
|||
NetVS->SLEEPING = false;
|
||||
|
||||
if(NetVS->SEQUENCE != VS_STANDBY){
|
||||
WriteMessage(L"対戦準備が完了しませんでした。\n", ErrorMessageColor);
|
||||
WriteMessage(L"ERROR: The match initialization process could not be completed.\n", ErrorMessageColor);
|
||||
return;
|
||||
}
|
||||
|
||||
NetVS->SEQUENCE = VS_DATA;
|
||||
|
||||
// 対戦開始
|
||||
WriteMessage(String::Format(L"対戦を開始します。(delay:{0})\n", NetVS->DELAY), SystemMessageColor);
|
||||
WriteMessage(String::Format(L"Match starting! (Delay: {0})\n", NetVS->DELAY), SystemMessageColor);
|
||||
|
||||
GameThread = gcnew Thread(gcnew ParameterizedThreadStart(this, &MainForm::RunGame));
|
||||
GameThread->Start((UINT)RT_VS);
|
||||
|
@ -3349,9 +3353,9 @@ UINT16 MainForm::RemoteInput()
|
|||
}
|
||||
|
||||
if(eax == 0xFFFF && NetVS->SEQUENCE == VS_TIMEOUT){
|
||||
WriteMessage(L"タイムアウトしたため対戦を終了します。\n", ErrorMessageColor);
|
||||
WriteMessage(L"The match ended due to a timeout.\n", ErrorMessageColor);
|
||||
if(MTINFO.DEBUG){
|
||||
WriteMessage(String::Format(L"Frame > L:{0} / R:{1} (delay:{2})\n", NetVS->L_FRAME, NetVS->R_FRAME, NetVS->DELAY), DebugMessageColor);
|
||||
WriteMessage(String::Format(L"Frame > L: {0} / R: {1} (delay: {2})\n", NetVS->L_FRAME, NetVS->R_FRAME, NetVS->DELAY), DebugMessageColor);
|
||||
}
|
||||
|
||||
QuitGame();
|
||||
|
@ -3364,9 +3368,9 @@ UINT16 MainForm::RemoteInput()
|
|||
if(NetVS->SEQUENCE != VS_DATA) return 0;
|
||||
|
||||
if((eax & 0x0003) == 0x0003){
|
||||
WriteMessage(L"不正パケットの受信 > 左右同時押し\n", ErrorMessageColor);
|
||||
WriteMessage(L"Received illegal packet: press left and right simultaneously\n", ErrorMessageColor); //fixme: dubious translation: 不正パケットの受信 > 左右同時押し
|
||||
if(MTINFO.DEBUG){
|
||||
WriteMessage(String::Format(L"IP = {0}\n", NetVS->IP_EP->Address), DebugMessageColor);
|
||||
WriteMessage(String::Format(L"IP: {0}\n", NetVS->IP_EP->Address), DebugMessageColor);
|
||||
}
|
||||
|
||||
QuitGame();
|
||||
|
@ -3440,7 +3444,7 @@ UINT16 MainForm::ReadReplayData(BinaryReader^ br, REPLAY_INFO& ri)
|
|||
}
|
||||
}
|
||||
catch(EndOfStreamException^){
|
||||
WriteMessage(L"リプレイファイルの再生が終了しました。\n", SystemMessageColor);
|
||||
WriteMessage(L"End of replay file.\n", SystemMessageColor);
|
||||
|
||||
br->Close();
|
||||
br = nullptr;
|
||||
|
@ -3516,7 +3520,7 @@ void MainForm::RunAutoRest() {
|
|||
int to = MTOPTION.AUTO_REST_TIME; // タイムアウト指定時間
|
||||
AutoRestRanging = true;
|
||||
if(MTINFO.DEBUG){
|
||||
WriteMessage(String::Format(L"自動休憩スレッド開始 {0}分\n", to), DebugMessageColor);
|
||||
WriteMessage(String::Format(L"Auto rest thread starts in {0} minute(s)!\n", to), DebugMessageColor);
|
||||
}
|
||||
while(AutoRestRanging){
|
||||
AutoRestSleeping = true;
|
||||
|
@ -3537,7 +3541,7 @@ void MainForm::RunAutoRest() {
|
|||
// フリー状態なら休憩状態にする
|
||||
if(UDP != nullptr && MemberList[0]->STATE == MS_FREE){
|
||||
ChangeState((BYTE)MS_REST);
|
||||
WriteMessage(L"休憩状態を変更しました。 > オン\n", SystemMessageColor);
|
||||
WriteMessage(L"Rest mode set to ON.\n", SystemMessageColor);
|
||||
}
|
||||
AutoRestRanging = false;
|
||||
AutoRestThread = nullptr;
|
||||
|
@ -3549,9 +3553,9 @@ void MainForm::ChangeSeek() {
|
|||
|
||||
if(MemberList[0]->STATE == MS_FREE){
|
||||
ChangeState((BYTE)MS_SEEK);
|
||||
WriteMessage(L"対戦募集状態を変更しました。 > オン\n", SystemMessageColor);
|
||||
WriteMessage(L"Seek mode set to ON.\n", SystemMessageColor);
|
||||
WriteTime(0, SystemMessageColor);
|
||||
WriteMessage(String::Format(L"{0}が対戦募集状態になりました。\n", MemberList[0]->NAME), SystemMessageColor);
|
||||
WriteMessage(String::Format(L"{0} is now accepting new matches.\n", MemberList[0]->NAME), SystemMessageColor);
|
||||
}
|
||||
else if(MemberList[0]->STATE == MS_SEEK){
|
||||
if(GameThread != nullptr && GameThread->IsAlive){
|
||||
|
@ -3560,9 +3564,9 @@ void MainForm::ChangeSeek() {
|
|||
ChangeState((BYTE)MS_FREE);
|
||||
}
|
||||
|
||||
WriteMessage(L"対戦募集状態を変更しました。 > オフ\n", SystemMessageColor);
|
||||
WriteMessage(L"Seek mode set to OFF.\n", SystemMessageColor);
|
||||
WriteTime(0, SystemMessageColor);
|
||||
WriteMessage(String::Format(L"{0}が対戦募集を締め切りました。\n", MemberList[0]->NAME), SystemMessageColor);
|
||||
WriteMessage(String::Format(L"{0} has stopped accepting new matches.\n", MemberList[0]->NAME), SystemMessageColor);
|
||||
}
|
||||
}
|
||||
void MainForm::ChangeLogWordWrap() {
|
||||
|
@ -3570,13 +3574,13 @@ void MainForm::ChangeLogWordWrap() {
|
|||
richTextBoxLog->WordWrap = MTOPTION.LOG_WORDWRAP;
|
||||
toolStripMenuItemWordWrap->Checked = MTOPTION.LOG_WORDWRAP;
|
||||
if(MTOPTION.LOG_WORDWRAP){
|
||||
WriteMessage(L"テキスト折り返し > オン\n", SystemMessageColor);
|
||||
WriteMessage(L"Text wrap set to ON.\n", SystemMessageColor);
|
||||
}else{
|
||||
WriteMessage(L"テキスト折り返し > オフ\n", SystemMessageColor);
|
||||
WriteMessage(L"Text wrap set to OFF.\n", SystemMessageColor);
|
||||
}
|
||||
}
|
||||
void MainForm::ClearLog(){
|
||||
if(MessageBox::Show(L"ログを10行残して削除します。\nよろしいですか?", L"ログの削除", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
if(MessageBox::Show(L"This will remove all but the last 10 lines of the log.\nAre you sure you want to clear the log?", L"Clear Log", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
}else{
|
||||
return;
|
||||
}
|
||||
|
@ -3587,7 +3591,7 @@ void MainForm::ClearLog(){
|
|||
int index = richTextBoxLog->GetFirstCharIndexFromLine(len-11);
|
||||
richTextBoxLog->SelectionStart=0;
|
||||
richTextBoxLog->Select(0, index);
|
||||
richTextBoxLog->SelectedText= L"[削除されました]\n";
|
||||
richTextBoxLog->SelectedText= L"[Deleted]\n";
|
||||
}
|
||||
}
|
||||
catch(Exception ^e){
|
||||
|
|
|
@ -32,9 +32,6 @@ namespace LilithPort {
|
|||
MainForm(void)
|
||||
{
|
||||
InitializeComponent();
|
||||
//
|
||||
//TODO: ここにコンストラクタ コードを追加します
|
||||
//
|
||||
|
||||
// ブックマークをメニューに登録
|
||||
String^ tmpName;
|
||||
|
@ -51,7 +48,7 @@ namespace LilithPort {
|
|||
|
||||
toolStripMenuItemDelBookMark = (gcnew System::Windows::Forms::ToolStripMenuItem());
|
||||
toolStripMenuItemBookMark->DropDownItems->Add(toolStripMenuItemDelBookMark);
|
||||
toolStripMenuItemDelBookMark->Text = L"削除(&D)";
|
||||
toolStripMenuItemDelBookMark->Text = L"&Delete";
|
||||
toolStripMenuItemDelBookMark->Tag = L"toolStripMenuItemBookMark" + i;
|
||||
toolStripMenuItemDelBookMark->Click += gcnew System::EventHandler(this, &MainForm::toolStripMenuItemDelBookMark_Click);
|
||||
}
|
||||
|
@ -293,7 +290,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
ReloadListToolStripMenuItem->Name = L"ReloadListToolStripMenuItem";
|
||||
ReloadListToolStripMenuItem->ShortcutKeys = System::Windows::Forms::Keys::F5;
|
||||
ReloadListToolStripMenuItem->Size = System::Drawing::Size(228, 22);
|
||||
ReloadListToolStripMenuItem->Text = L"&Refresh member list";
|
||||
ReloadListToolStripMenuItem->Text = L"&Refresh player list";
|
||||
ReloadListToolStripMenuItem->Click += gcnew System::EventHandler(this, &MainForm::ReloadListToolStripMenuItem_Click);
|
||||
//
|
||||
// menuStrip1
|
||||
|
@ -801,28 +798,28 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
//
|
||||
this->toolStripMenuItemVS->Name = L"toolStripMenuItemVS";
|
||||
this->toolStripMenuItemVS->Size = System::Drawing::Size(121, 22);
|
||||
this->toolStripMenuItemVS->Text = L"対戦する";
|
||||
this->toolStripMenuItemVS->Text = L"Fight";
|
||||
this->toolStripMenuItemVS->Click += gcnew System::EventHandler(this, &MainForm::toolStripMenuItemVS_Click);
|
||||
//
|
||||
// toolStripMenuItemWatch
|
||||
//
|
||||
this->toolStripMenuItemWatch->Name = L"toolStripMenuItemWatch";
|
||||
this->toolStripMenuItemWatch->Size = System::Drawing::Size(121, 22);
|
||||
this->toolStripMenuItemWatch->Text = L"観戦する";
|
||||
this->toolStripMenuItemWatch->Text = L"Spectate";
|
||||
this->toolStripMenuItemWatch->Click += gcnew System::EventHandler(this, &MainForm::toolStripMenuItemWatch_Click);
|
||||
//
|
||||
// toolStripMenuItemSeek
|
||||
//
|
||||
this->toolStripMenuItemSeek->Name = L"toolStripMenuItemSeek";
|
||||
this->toolStripMenuItemSeek->Size = System::Drawing::Size(121, 22);
|
||||
this->toolStripMenuItemSeek->Text = L"対戦募集する";
|
||||
this->toolStripMenuItemSeek->Text = L"Seek/Challenge"; //対戦募集する
|
||||
this->toolStripMenuItemSeek->Click += gcnew System::EventHandler(this, &MainForm::toolStripMenuItemSeek_Click);
|
||||
//
|
||||
// toolStripMenuItemPing
|
||||
//
|
||||
this->toolStripMenuItemPing->Name = L"toolStripMenuItemPing";
|
||||
this->toolStripMenuItemPing->Size = System::Drawing::Size(121, 22);
|
||||
this->toolStripMenuItemPing->Text = L"PING";
|
||||
this->toolStripMenuItemPing->Text = L"Ping";
|
||||
this->toolStripMenuItemPing->Click += gcnew System::EventHandler(this, &MainForm::toolStripMenuItemPing_Click);
|
||||
//
|
||||
// toolStripSeparator12
|
||||
|
@ -834,7 +831,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
//
|
||||
this->toolStripMenuItemKick->Name = L"toolStripMenuItemKick";
|
||||
this->toolStripMenuItemKick->Size = System::Drawing::Size(121, 22);
|
||||
this->toolStripMenuItemKick->Text = L"KICK";
|
||||
this->toolStripMenuItemKick->Text = L"Kick";
|
||||
this->toolStripMenuItemKick->Click += gcnew System::EventHandler(this, &MainForm::toolStripMenuItemKick_Click);
|
||||
//
|
||||
// richTextBoxLog
|
||||
|
@ -868,7 +865,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
this->contextMenuItemCopy->Name = L"contextMenuItemCopy";
|
||||
this->contextMenuItemCopy->ShortcutKeys = static_cast<System::Windows::Forms::Keys>((System::Windows::Forms::Keys::Control | System::Windows::Forms::Keys::C));
|
||||
this->contextMenuItemCopy->Size = System::Drawing::Size(163, 22);
|
||||
this->contextMenuItemCopy->Text = L"コピー(&C)";
|
||||
this->contextMenuItemCopy->Text = L"&Copy";
|
||||
this->contextMenuItemCopy->Click += gcnew System::EventHandler(this, &MainForm::contextMenuItemCopy_Click);
|
||||
//
|
||||
// toolStripSeparator6
|
||||
|
@ -881,7 +878,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
this->contxtMenuItemSaveLog->Name = L"contxtMenuItemSaveLog";
|
||||
this->contxtMenuItemSaveLog->ShortcutKeys = static_cast<System::Windows::Forms::Keys>((System::Windows::Forms::Keys::Control | System::Windows::Forms::Keys::S));
|
||||
this->contxtMenuItemSaveLog->Size = System::Drawing::Size(163, 22);
|
||||
this->contxtMenuItemSaveLog->Text = L"ログの保存(&S)";
|
||||
this->contxtMenuItemSaveLog->Text = L"&Save log";
|
||||
this->contxtMenuItemSaveLog->Click += gcnew System::EventHandler(this, &MainForm::toolStripMenuItemSaveLog_Click);
|
||||
//
|
||||
// textBoxInput
|
||||
|
@ -897,8 +894,8 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
//
|
||||
// openFileDialog1
|
||||
//
|
||||
this->openFileDialog1->Filter = L"MT Replay file (*.mtr)|*.mtr";
|
||||
this->openFileDialog1->Title = L"LilithPort用のリプレイファイル";
|
||||
this->openFileDialog1->Filter = L"MT replay file (*.mtr)|*.mtr";
|
||||
this->openFileDialog1->Title = L"Open LilithPort replay";
|
||||
//
|
||||
// statusStrip1
|
||||
//
|
||||
|
@ -997,7 +994,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
|
||||
delegate void WriteMessageDelegate(String^ msg, Color color);
|
||||
|
||||
// MemberInfoさんはstdafx.hにお引越ししました
|
||||
// MemberInfoはstdafx.hにお引越ししました
|
||||
static Generic::List<MemberInfo^>^ MemberList;
|
||||
static Generic::List<MemberInfoBackUp^>^ MemberListBackUp;
|
||||
static UINT16 IDCounter; // Max 3FFF(16383)
|
||||
|
@ -1011,7 +1008,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
|
||||
// IP取得用
|
||||
static WebClient^ GetIPClient;
|
||||
static Uri^ GetIPUri = gcnew Uri("http://checkip.dyndns.org/");
|
||||
static Uri^ GetIPUri = gcnew Uri("http://checkip.dyndns.org/"); //TODO: change checkip.dyndns.org to something more futureproof
|
||||
static Thread^ TimerGetIPThread;
|
||||
static bool GetIPCancelled;
|
||||
static bool GetIPSleeping;
|
||||
|
@ -1101,6 +1098,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
void StartGame(UINT type){
|
||||
// 格ツクじゃないよ
|
||||
try{
|
||||
//TODO: Quite frankly, I think this is a really bad way of detecting "supported" FM files. Case in point: FM15.
|
||||
FileVersionInfo^ info = FileVersionInfo::GetVersionInfo(gcnew String(MTOPTION.GAME_EXE));
|
||||
|
||||
if(info->FileDescription != L"2D格闘ツクール2nd." && info->FileDescription != L"2D格闘ツクール95"){
|
||||
|
@ -1116,8 +1114,8 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
}
|
||||
}
|
||||
catch(Exception^){
|
||||
WriteMessage(L"格闘ツクールの実行ファイルではありません。\n", ErrorMessageColor);
|
||||
WriteMessage(L"オプションで実行ファイルのパスを設定してください。\n", ErrorMessageColor);
|
||||
WriteMessage(L"ERROR: This is not a valid or supported Fighter Maker executable.\n", ErrorMessageColor);
|
||||
WriteMessage(L"Please go to the Options menu and set the path to a supported FM executable.\n", ErrorMessageColor);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1231,7 +1229,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
array<TCHAR>^ h = br->ReadChars(header->Length);
|
||||
for(int i = 0; i < h->Length; i++){
|
||||
if(h[i] != header[i]){
|
||||
WriteMessage(L"有効なリプレイファイルではありません。\n", ErrorMessageColor);
|
||||
WriteMessage(L"ERROR: This is not a valid replay file. The header was not recognized.\n", ErrorMessageColor);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1239,7 +1237,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
ver = br->ReadChar();
|
||||
|
||||
if(ver < _T('1') || ver > _T('4')){
|
||||
WriteMessage(L"有効なリプレイのバージョンではありません。\n", ErrorMessageColor);
|
||||
WriteMessage(L"ERROR: This replay is not supported. Only replays between versions 1 and 4 are supported.\n", ErrorMessageColor);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1253,10 +1251,10 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
}
|
||||
else{
|
||||
if(_tcslen(MTINFO.ORIGINAL_TITLE) > 0){
|
||||
WriteMessage(String::Format(L"{0}が起動中です。\n", gcnew String(MTINFO.ORIGINAL_TITLE)), SystemMessageColor);
|
||||
WriteMessage(String::Format(L"{0} is starting.\n", gcnew String(MTINFO.ORIGINAL_TITLE)), SystemMessageColor);
|
||||
}
|
||||
else{
|
||||
WriteMessage(L"他のゲームが起動中です。\n", SystemMessageColor);
|
||||
WriteMessage(L"Another game is already starting.\n", SystemMessageColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1264,14 +1262,14 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
void QuitGame(){
|
||||
if(GameThread != nullptr && GameThread->IsAlive){
|
||||
if(MTINFO.DEBUG){
|
||||
WriteMessage(L"ゲームプロセスを停止します。\n", DebugMessageColor);
|
||||
WriteMessage(L"Closing game process...\n", DebugMessageColor);
|
||||
}
|
||||
try{
|
||||
Process::GetProcessById(MTINFO.PROCESS_ID)->CloseMainWindow();
|
||||
}
|
||||
catch(ArgumentException^){
|
||||
if(MTINFO.DEBUG){
|
||||
WriteMessage(L"例外 > ArgumentException\n", DebugMessageColor);
|
||||
WriteMessage(L"Caught an ArgumentException trying to close the game! Abandoning game thread.\n", DebugMessageColor);
|
||||
}
|
||||
GameThread->Abort();
|
||||
GameThread = nullptr;
|
||||
|
@ -1338,7 +1336,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
if(state == MS_WATCH) ChangeState((BYTE)MS_FREE);
|
||||
if(state == MS_COUCH) ChangeState((BYTE)MS_REST);
|
||||
|
||||
toolStripMenuItemWatch->Text = gcnew String(L"観戦する");
|
||||
toolStripMenuItemWatch->Text = gcnew String(L"Spectate");
|
||||
}
|
||||
|
||||
void Restart(){
|
||||
|
@ -1392,7 +1390,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
MTOPTION.CONNECTION_TYPE = CT_FREE;
|
||||
MemberList[0]->TYPE = CT_FREE;
|
||||
MemberList[0]->STATE = MS_FREE;
|
||||
this->Text = gcnew String(L"LilithPort [Free Play]");
|
||||
this->Text = gcnew String(L"LilithPort (Free Play)");
|
||||
listBoxMember->Refresh();
|
||||
}
|
||||
|
||||
|
@ -1507,7 +1505,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
}
|
||||
|
||||
if(i >= MemberList->Count && MTOPTION.CONNECTION_TYPE != CT_SERVER){
|
||||
name = gcnew String(String::Format(L"Unknown(ID:{0})", id));
|
||||
name = gcnew String(String::Format(L"Unknown (ID: {0})", id));
|
||||
col = ErrorMessageColor;
|
||||
|
||||
// メンバーリスト外のIDがいたので問い合わせ
|
||||
|
@ -1584,7 +1582,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
WriteTime(1, SystemMessageColor);
|
||||
}
|
||||
// 表示
|
||||
WriteMessage(String::Format(L"[ {0} ] ", name), col);
|
||||
WriteMessage(String::Format(L"<{0}> ", name), col);
|
||||
WriteMessage(String::Format(L"{0}\n", tmpMsg), TalkMessageColor);
|
||||
}
|
||||
|
||||
|
@ -1682,7 +1680,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
richTextBoxLog->SelectionStart = richTextBoxLog->Text->Length;
|
||||
richTextBoxLog->SelectionColor = NameColor[type];
|
||||
richTextBoxLog->SelectionBackColor = CommentBackColor;
|
||||
richTextBoxLog->AppendText(String::Format(L"[ {0} ] ", name));
|
||||
richTextBoxLog->AppendText(String::Format(L"<{0}> ", name));
|
||||
|
||||
richTextBoxLog->SelectionColor = TalkMessageColor;
|
||||
richTextBoxLog->SelectionBackColor = CommentBackColor;
|
||||
|
@ -1702,27 +1700,28 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
}
|
||||
else{
|
||||
WriteTime(0, SystemMessageColor);
|
||||
WriteMessage(String::Format(L"{0}が入室しました。\n", name), SystemMessageColor);
|
||||
WriteMessage(String::Format(L"{0} has joined.\n", name), SystemMessageColor);
|
||||
}
|
||||
}
|
||||
|
||||
void WriteCommandList(){
|
||||
WriteMessage(
|
||||
L"/help : コマンド一覧の表示\n"
|
||||
L"/clear : ログの削除\n"
|
||||
L"/log : RTF形式でログの保存\n"
|
||||
L"/debug : デバッグモードの切り替え\n"
|
||||
L"/vs : ランダムに対戦を挑む\n"
|
||||
L"/game : ゲームの起動\n"
|
||||
L"/replay : リプレイファイルの再生\n"
|
||||
L"/quit : 起動中のゲームを終了\n"
|
||||
L"/reload : メンバーリストの更新\n"
|
||||
L"/restart : フリープレイから新規に回線接続\n"
|
||||
L"/rest : 休憩状態の切り替え\n"
|
||||
L"/seek : 対戦募集状態の切り替え\n"
|
||||
L"/list : リストの表示を切り替え\n"
|
||||
L"/leave : 退室&フリープレイに移行\n"
|
||||
L"/exit : プログラムの終了\n", SystemMessageColor);
|
||||
L"/help: Displays a full list of available commands.\n"
|
||||
L"/clear: Clears the chat log.\n"
|
||||
L"/log: Saves the log to an RTF file.\n"
|
||||
L"/debug: Toggles debug mode.\n"
|
||||
L"/vs: Challenge a random opponent!\n"
|
||||
L"/game: Starts the game.\n"
|
||||
L"/replay: Opens a replay file.\n"
|
||||
L"/quit: Closes the game during battle.\n"
|
||||
L"/reload: Reloads player list.\n"
|
||||
L"/restart: Reconnects to the last known server.\n"
|
||||
L"/rest: Toggles rest mode.\n"
|
||||
L"/seek: Toggles seek mode.\n"
|
||||
L"/list: Displays the player list.\n"
|
||||
L"/leave: Exits the server and enters Free Play mode.\n"
|
||||
L"/exit: Exits the program.\n"
|
||||
L"LilithPort also supports drag-and-drop for replay files and for locating the FM executable.", SystemMessageColor);
|
||||
}
|
||||
|
||||
void RandomVersus(){
|
||||
|
@ -1755,7 +1754,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
StartGame(RT_VS);
|
||||
}
|
||||
else{
|
||||
WriteMessage(L"対戦できる相手がいませんでした。\n", SystemMessageColor);
|
||||
WriteMessage(L"Could not find the opponent in the player list.\n", SystemMessageColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1783,15 +1782,15 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
Monitor::Exit(richTextBoxLog);
|
||||
}
|
||||
|
||||
WriteMessage(String::Format(L"\"{0}\"にログを保存しました。\n", file), SystemMessageColor);
|
||||
WriteMessage(String::Format(L"Log saved to \"{0}\".\n", file), SystemMessageColor);
|
||||
}
|
||||
else if(textBoxInput->Text->StartsWith("/debug", StringComparison::OrdinalIgnoreCase)){
|
||||
MTINFO.DEBUG ^= 1;
|
||||
if(MTINFO.DEBUG){
|
||||
WriteMessage(L"デバッグモード > オン\n", SystemMessageColor);
|
||||
WriteMessage(L"Debug mode is now ON!\n", SystemMessageColor);
|
||||
}
|
||||
else{
|
||||
WriteMessage(L"デバッグモード > オフ\n", SystemMessageColor);
|
||||
WriteMessage(L"Debug mode is now OFF.\n", SystemMessageColor);
|
||||
}
|
||||
}
|
||||
else if(textBoxInput->Text->StartsWith("/vs", StringComparison::OrdinalIgnoreCase)){
|
||||
|
@ -1815,11 +1814,11 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
|
||||
if(MemberList[0]->STATE == MS_FREE){
|
||||
ChangeState((BYTE)MS_REST);
|
||||
WriteMessage(L"休憩状態を変更しました。 > オン\n", SystemMessageColor);
|
||||
WriteMessage(L"Rest mode set to ON.\n", SystemMessageColor);
|
||||
}
|
||||
else if(MemberList[0]->STATE == MS_REST){
|
||||
ChangeState((BYTE)MS_FREE);
|
||||
WriteMessage(L"休憩状態を変更しました。 > オフ\n", SystemMessageColor);
|
||||
WriteMessage(L"Rest mode set to OFF.\n", SystemMessageColor);
|
||||
}
|
||||
}
|
||||
else if(textBoxInput->Text->StartsWith("/seek", StringComparison::OrdinalIgnoreCase)){
|
||||
|
@ -1844,7 +1843,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
|
||||
richTextBoxLog->SelectionColor = TalkMessageColor;
|
||||
richTextBoxLog->SelectionBackColor = NoticeBackColor;
|
||||
richTextBoxLog->AppendText(Byte(dice).ToString() + L"\n");
|
||||
richTextBoxLog->AppendText("Rolled a "+Byte(dice).ToString() + L"\n");
|
||||
|
||||
richTextBoxLog->SelectionStart = richTextBoxLog->Text->Length;
|
||||
if(!MTOPTION.LOG_LOCK) {
|
||||
|
@ -1876,6 +1875,9 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
// TYPE 0:Server 1:Host 2:Client
|
||||
WriteMessage(String::Format(L"{0} / {1} / {2} / {3}\n", MemberList[i]->NAME, MemberList[i]->ID, MemberList[i]->IP_EP, MemberList[i]->TYPE), DebugMessageColor);
|
||||
}
|
||||
}
|
||||
else {
|
||||
WriteMessage("/memberlist can only be performed when debug mode is enabled.", ErrorMessageColor);
|
||||
}
|
||||
}
|
||||
else if(textBoxInput->Text->StartsWith("/memberhistory", StringComparison::OrdinalIgnoreCase)){
|
||||
|
@ -2109,7 +2111,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
Array::Copy(BitConverter::GetBytes(0), 0, send, 1, 2);
|
||||
UDP->Send(send, 3, MemberList[1]->IP_EP);
|
||||
|
||||
WriteMessage(L"メンバーリストを更新しました。(連続しての更新はサーバーに負荷がかかるため、注意してください。)\n", SystemMessageColor);
|
||||
WriteMessage(L"Manually updated the players list. (The list is usually updated continuously as manual requests place a load on the server.)\n", SystemMessageColor);
|
||||
}
|
||||
void WriteStatus(String^ msg){
|
||||
toolStripStatusLabel->Text = msg;
|
||||
|
@ -2127,7 +2129,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
}
|
||||
// TimerGetIPタイムアウト
|
||||
if(e->Cancelled) {
|
||||
WriteMessage(L"IPアドレス取得の要求がタイムアウトによりキャンセルされました。\n", ErrorMessageColor);
|
||||
WriteMessage(L"IP address acquisition request failed due to a timeout.\n", ErrorMessageColor);
|
||||
if(MTINFO.DEBUG){
|
||||
WriteMessage(e->ToString() + L"\n", DebugMessageColor);
|
||||
}
|
||||
|
@ -2151,7 +2153,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
}
|
||||
catch(Exception^ e) {
|
||||
Global_address = 0;
|
||||
WriteMessage(L"IPアドレス情報の抽出に失敗しました。\nLilithPortのバージョンが古い可能性があります。\n", ErrorMessageColor);
|
||||
WriteMessage(L"ERROR: Failed to extract IP address information. This version of LilithPort may be outdated.\n", ErrorMessageColor);
|
||||
|
||||
if(MTINFO.DEBUG){
|
||||
WriteMessage(e->ToString() + L"\n", DebugMessageColor);
|
||||
|
@ -2163,14 +2165,14 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
if(reply != nullptr) reply->Close();
|
||||
}
|
||||
if(Global_address > 0) {
|
||||
WriteMessage(String::Format(L"IPアドレスを取得しました。 > {0}\n", s3[1]), SystemMessageColor);
|
||||
WriteMessage(L"[変換アドレス:ポート]\nLilithPort用 > ", SystemMessageColor);
|
||||
WriteMessage(String::Format(L"IP address acquired: {0}\n", s3[1]), SystemMessageColor);
|
||||
WriteMessage(L"[Converted address]\nLilithPort: ", SystemMessageColor);
|
||||
|
||||
richTextBoxLog->SelectionColor = TalkMessageColor;
|
||||
richTextBoxLog->SelectionBackColor = NoticeBackColor;
|
||||
richTextBoxLog->AppendText(String::Format(L"{0}:{1}\n", EncryptionIP(s3[1]), MTOPTION.OPEN_PORT));
|
||||
|
||||
WriteMessage(L"MTSP用 > ", SystemMessageColor);
|
||||
WriteMessage(L"MTSP: ", SystemMessageColor);
|
||||
richTextBoxLog->SelectionColor = TalkMessageColor;
|
||||
richTextBoxLog->SelectionBackColor = NoticeBackColor;
|
||||
richTextBoxLog->AppendText(String::Format(L"{0}:{1}\n", MTEncryptionIP(s3[1]), MTOPTION.OPEN_PORT));
|
||||
|
@ -2244,14 +2246,14 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
GetIPClient->OpenReadCompleted += gcnew OpenReadCompletedEventHandler(this, &MainForm::GetIPOpenReadCompleted);
|
||||
|
||||
// タイムアウトタイマー
|
||||
WriteMessage(L"IPアドレスを取得中です...\n", SystemMessageColor);
|
||||
WriteMessage(L"Obtaining IP address from "+GetIPUri->ToString()+"...\n", SystemMessageColor);
|
||||
TimerGetIPThread = gcnew Thread(gcnew ThreadStart(this, &MainForm::TimerGetIP));
|
||||
TimerGetIPThread->Start();
|
||||
try{
|
||||
GetIPClient->OpenReadAsync(GetIPUri);
|
||||
}
|
||||
catch(WebException^ e) {
|
||||
WriteMessage(L"IPアドレスの取得に失敗しました。\n", ErrorMessageColor);
|
||||
WriteMessage(L"ERROR: Could not obtain IP address.\n", ErrorMessageColor);
|
||||
|
||||
if(MTINFO.DEBUG){
|
||||
WriteMessage(e->ToString() + L"\n", DebugMessageColor);
|
||||
|
@ -2373,7 +2375,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
s->ShowDialog(this);
|
||||
|
||||
if(!File::Exists(gcnew String(MTOPTION.GAME_EXE))){
|
||||
MessageBox::Show(L"実行ファイルのパスを設定してください。", L"ゲームがありません");
|
||||
MessageBox::Show(L"Please set the path to the Fighter Maker executable file.", L"No game file found");
|
||||
|
||||
OptionForm^ o = gcnew OptionForm;
|
||||
o->GameExePathError = true;
|
||||
|
@ -2395,7 +2397,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
}
|
||||
|
||||
if(MTOPTION.CONNECTION_TYPE == CT_SERVER && MTINFO.ERRORED == false){
|
||||
if(MessageBox::Show(L"サーバを落としますか?", L"終了の確認", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::No){
|
||||
if(MessageBox::Show(L"If you close LilithPort, the server will be closed and all players will be kicked.\nShut down the server?", L"Confirm Server Shutdown", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::No){
|
||||
IsFormClosing = false;
|
||||
e->Cancel = true;
|
||||
return;
|
||||
|
@ -2503,7 +2505,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
|
||||
PacketSendAllMember(msg, 0);
|
||||
|
||||
WriteMessage(L"[サーバー告知]-------------------\n", SystemMessageColor);
|
||||
WriteMessage(L"[Message of the Day]-------------------\n", SystemMessageColor);
|
||||
WriteNotice(textBoxInput->Text);
|
||||
WriteMessage(L"-------------------------------\n", SystemMessageColor);
|
||||
}
|
||||
|
@ -2511,7 +2513,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
AnalyzeCommand();
|
||||
}
|
||||
else if(UDP != nullptr && ServerMode >= SM_MATCH){
|
||||
WriteMessage(L"チャットは禁止されています。\n", SystemMessageColor);
|
||||
WriteMessage(L"Chat is disabled on this server.\n", SystemMessageColor);
|
||||
}
|
||||
else if(UDP != nullptr){
|
||||
// チャット発言
|
||||
|
@ -2590,18 +2592,18 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
// 休憩状態の変更
|
||||
if(state == MS_FREE){
|
||||
ChangeState((BYTE)MS_REST);
|
||||
WriteMessage(L"休憩状態を変更しました。 > オン\n", SystemMessageColor);
|
||||
WriteMessage(L"Rest mode is now ON.\n", SystemMessageColor);
|
||||
}
|
||||
else if(state == MS_REST){
|
||||
ChangeState((BYTE)MS_FREE);
|
||||
WriteMessage(L"休憩状態を変更しました。 > オフ\n", SystemMessageColor);
|
||||
WriteMessage(L"Rest mode is now OFF.\n", SystemMessageColor);
|
||||
}
|
||||
else if(state == MS_VS){
|
||||
WriteMessage(L"対戦を中止します。\n", SystemMessageColor);
|
||||
WriteMessage(L"Ending match...\n", SystemMessageColor);
|
||||
QuitGame();
|
||||
}
|
||||
else if(state == MS_WATCH || state == MS_COUCH){
|
||||
WriteMessage(L"観戦を中止します。\n", SystemMessageColor);
|
||||
WriteMessage(L"Ending spectate...\n", SystemMessageColor);
|
||||
QuitWatch(true);
|
||||
}
|
||||
}
|
||||
|
@ -2666,7 +2668,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
}
|
||||
|
||||
System::Void toolStripMenuItemVersion_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
WriteMessage(L"LilithPort v1.07\n", SystemMessageColor);
|
||||
WriteMessage(L"LilithPort v1.07\nEnglish translation by longbyte1\n", SystemMessageColor);
|
||||
}
|
||||
|
||||
System::Void toolStripMenuItemExit_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
|
@ -2676,11 +2678,11 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
// ブックマーク追加
|
||||
System::Void toolStripMenuItemAddBookMark_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
if((MTOPTION.BOOKMARK_COUNT - MTOPTION.BOOKMARK_DELETED_COUNT) > 9) {
|
||||
MessageBox::Show(L"これ以上ブックマークを追加できません。\nブックマークは最大10個まで登録できます。\n\n追加するには、ブックマークの削除を行ってください。", L"ブックマークの追加", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
MessageBox::Show(L"You can only have up to 10 bookmarks. Please free up some space by deleting some bookmarks.", L"Add Bookmark", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
return;
|
||||
}
|
||||
if(MTOPTION.CONNECTION_TYPE == CT_SERVER || MTOPTION.CONNECTION_TYPE == CT_FREE ){
|
||||
MessageBox::Show(L"SERVERモード、\nFREEモードはブックマークに追加できません。", L"ブックマークの追加", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
MessageBox::Show(L"You can't add anything to the bookmarks list while in Free Play mode or in Server mode!", L"Add Bookmark", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -2698,7 +2700,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
// 削除メニュー
|
||||
toolStripMenuItemDelBookMark = (gcnew System::Windows::Forms::ToolStripMenuItem());
|
||||
toolStripMenuItemBookMark->DropDownItems->Add(toolStripMenuItemDelBookMark);
|
||||
toolStripMenuItemDelBookMark->Text = L"削除(&D)";
|
||||
toolStripMenuItemDelBookMark->Text = L"&Delete";
|
||||
toolStripMenuItemDelBookMark->Tag = L"toolStripMenuItemBookMark" + MTOPTION.BOOKMARK_COUNT;
|
||||
toolStripMenuItemDelBookMark->Click += gcnew System::EventHandler(this, &MainForm::toolStripMenuItemDelBookMark_Click);
|
||||
|
||||
|
@ -2721,7 +2723,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
System::Void toolStripMenuItemBookMark_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
UINT tmpInt = (UINT)((ToolStripMenuItem^)sender)->Tag;
|
||||
|
||||
if(MessageBox::Show(((ToolStripMenuItem^)sender)->Text+ L" に接続します。\nよろしいですか?", L"ブックマーク接続", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
if(MessageBox::Show(L"Connect to "+((ToolStripMenuItem^)sender)->Text+ L"?\n", L"Connect from Bookmark", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
}else{
|
||||
return;
|
||||
}
|
||||
|
@ -2737,7 +2739,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
Object^ tmpTag;
|
||||
tmpTag = ((ToolStripMenuItem^)sender)->Tag;
|
||||
UINT tmpInt = (UINT)toolStripMenuItemBookMarkMenu->DropDownItems[(String^)tmpTag]->Tag;
|
||||
if(MessageBox::Show((String^)toolStripMenuItemBookMarkMenu->DropDownItems[(String^)tmpTag]->Text+ L" をブックマークから削除します。\nよろしいですか?", L"ブックマークの削除", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
if(MessageBox::Show((String^)toolStripMenuItemBookMarkMenu->DropDownItems[(String^)tmpTag]->Text+ L" will be deleted.\nContinue?", L"Delete Bookmark", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
toolStripMenuItemBookMarkMenu->DropDownItems->Remove(toolStripMenuItemBookMarkMenu->DropDownItems[(String^)tmpTag]);
|
||||
MTOPTION.BOOKMARK_DELETED_COUNT++;
|
||||
|
||||
|
@ -2774,14 +2776,14 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
// 再起動
|
||||
System::Void RestartToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
if(MTOPTION.CONNECTION_TYPE == CT_SERVER) {
|
||||
if(MessageBox::Show(L"サーバを落とします。\nよろしいですか?", L"再起動", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
if(MessageBox::Show(L"This will shut down the server and drop all players.\nAre you sure you want to do this?", L"Restart", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
}else{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(MTOPTION.CONNECTION_TYPE == CT_HOST || MTOPTION.CONNECTION_TYPE == CT_CLIENT){
|
||||
if(MessageBox::Show(L"回線を切断します。\nよろしいですか?", L"再起動", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
if(MessageBox::Show(L"This will disconnect you from the server.\nContinue?", L"Restart", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
}else{
|
||||
return;
|
||||
}
|
||||
|
@ -2793,14 +2795,14 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
// 退室
|
||||
System::Void LeaveToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
if(MTOPTION.CONNECTION_TYPE == CT_SERVER) {
|
||||
if(MessageBox::Show(L"サーバを落とします。\nよろしいですか?", L"退室", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
if(MessageBox::Show(L"This will shut down the server and drop all players.\nAre you sure you want to do this?", L"Leave", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
}else{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(MTOPTION.CONNECTION_TYPE == CT_HOST || MTOPTION.CONNECTION_TYPE == CT_CLIENT){
|
||||
if(MessageBox::Show(L"回線を切断します。\nよろしいですか?", L"退室", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
if(MessageBox::Show(L"This will disconnect you from the server.\nContinue?", L"Leave", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
}else{
|
||||
return;
|
||||
}
|
||||
|
@ -2815,11 +2817,11 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
|
||||
if(MemberList[0]->STATE == MS_FREE){
|
||||
ChangeState((BYTE)MS_REST);
|
||||
WriteMessage(L"休憩状態を変更しました。 > オン\n", SystemMessageColor);
|
||||
WriteMessage(L"Rest mode is now ON.\n", SystemMessageColor);
|
||||
}
|
||||
else if(MemberList[0]->STATE == MS_REST){
|
||||
ChangeState((BYTE)MS_FREE);
|
||||
WriteMessage(L"休憩状態を変更しました。 > オフ\n", SystemMessageColor);
|
||||
WriteMessage(L"Rest mode is now OFF.\n", SystemMessageColor);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2865,7 +2867,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
Monitor::Exit(richTextBoxLog);
|
||||
}
|
||||
|
||||
WriteMessage(String::Format(L"\"{0}\"にログを保存しました。\n", file), SystemMessageColor);
|
||||
WriteMessage(String::Format(L"Saved log to \"{0}\".\n", file), SystemMessageColor);
|
||||
}
|
||||
|
||||
System::Void toolStripMenuItemReplay_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
|
@ -2975,11 +2977,12 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
|
||||
System::Void richTextBoxLog_LinkClicked(System::Object^ sender, System::Windows::Forms::LinkClickedEventArgs^ e) {
|
||||
// 強制終了対策
|
||||
//XXX this is really insecure. Are you seriously going to trust a random link on the chat?
|
||||
try{
|
||||
Process::Start(e->LinkText);
|
||||
}
|
||||
catch(Exception^){
|
||||
WriteMessage(L"不正な文字列リンクです。\n", ErrorMessageColor);
|
||||
WriteMessage(L"Invalid link.\n", ErrorMessageColor);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3034,7 +3037,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
Array::Copy(BitConverter::GetBytes(MemberList[0]->ID), 0, send, 1, 2);
|
||||
UDP->BeginSend(send, send->Length, WatchTarget, gcnew AsyncCallback(SendPackets), UDP);
|
||||
|
||||
toolStripMenuItemWatch->Text = gcnew String(L"観戦をやめる");
|
||||
toolStripMenuItemWatch->Text = gcnew String(L"Stop spectating");
|
||||
}
|
||||
else{
|
||||
QuitWatch(true);
|
||||
|
@ -3062,7 +3065,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
int index = listBoxMember->SelectedIndex;
|
||||
int id = MemberList[index]->ID;
|
||||
|
||||
if(MessageBox::Show(String::Format(L"[ {0} ](ID:{1})をキックします。\nよろしいですか?", MemberList[index]->NAME, MemberList[index]->ID), "KICK", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
if(MessageBox::Show(String::Format(L"{0} (ID: {1}) will be kicked.\nAre you sure you want to be kicked?", MemberList[index]->NAME, MemberList[index]->ID), "Kick Player", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
}else{
|
||||
return;
|
||||
}
|
||||
|
@ -3074,7 +3077,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
|
||||
if(ListView != LV_BLIND){
|
||||
WriteTime(0, SystemMessageColor);
|
||||
WriteMessage(String::Format(L"{0}(ID:{1})をキックしました。\n", MemberList[index]->NAME, MemberList[index]->ID), SystemMessageColor);
|
||||
WriteMessage(String::Format(L"{0} (ID: {1}) was kicked.\n", MemberList[index]->NAME, MemberList[index]->ID), SystemMessageColor);
|
||||
}
|
||||
if(MemberList[0]->STATE == MS_WATCH || MemberList[0]->STATE == MS_COUCH){
|
||||
if(TargetID == MemberList[index]->ID){
|
||||
|
@ -3093,7 +3096,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
for(int i = 1; i < MemberList->Count; i++){
|
||||
UDP->BeginSend(quit, quit->Length, MemberList[i]->IP_EP, gcnew AsyncCallback(SendPackets), UDP);
|
||||
if(MTINFO.DEBUG){
|
||||
WriteMessage(String::Format(L"{0}に通知\n", MemberList[i]->ID), DebugMessageColor);
|
||||
WriteMessage(String::Format(L"Notified {0}\n", MemberList[i]->ID), DebugMessageColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3142,6 +3145,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
System::Void MainForm_DragEnter(System::Object^ sender, System::Windows::Forms::DragEventArgs^ e) {
|
||||
e->Effect = DragDropEffects::None;
|
||||
|
||||
//TODO: change FM exe check
|
||||
if(e->Data->GetDataPresent(DataFormats::FileDrop)){
|
||||
array<String^>^ file = safe_cast<array<String^>^>(e->Data->GetData(DataFormats::FileDrop, false));
|
||||
String^ extension = Path::GetExtension(file[0])->ToLower();
|
||||
|
@ -3200,7 +3204,7 @@ private: System::Windows::Forms::ToolStripMenuItem^ toolStripMenuItemWordWrap;
|
|||
MTOPTION.STAGE_SELECT = MTOPTION.MAX_STAGE == 1 ? 1 : 0;
|
||||
}
|
||||
|
||||
WriteMessage(String::Format(L"プレイするゲームを\"{0}\"に変更しました。\n", Path::GetFileNameWithoutExtension(file[0])), SystemMessageColor);
|
||||
WriteMessage(String::Format(L"Game file changed to \"{0}\".\n", Path::GetFileNameWithoutExtension(file[0])), SystemMessageColor);
|
||||
}
|
||||
else{
|
||||
Option->SetGameExePath(file[0]);
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
using namespace LilithPort;
|
||||
|
||||
void OptionForm::SaveOption(bool apply){
|
||||
//TODO: change FM exe check
|
||||
MainForm^ parent = safe_cast<MainForm^>(this->Owner);
|
||||
|
||||
try{
|
||||
|
|
|
@ -28,9 +28,6 @@ namespace LilithPort {
|
|||
OptionForm(void)
|
||||
{
|
||||
InitializeComponent();
|
||||
//
|
||||
//TODO: ここにコンストラクタ コードを追加します
|
||||
//
|
||||
}
|
||||
|
||||
protected:
|
||||
|
@ -444,7 +441,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
//
|
||||
// folderBrowserDialog1
|
||||
//
|
||||
this->folderBrowserDialog1->Description = L"リプレイ保存フォルダ";
|
||||
this->folderBrowserDialog1->Description = L"Select replay folder";
|
||||
//
|
||||
// colorDialog1
|
||||
//
|
||||
|
@ -531,9 +528,9 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
this->labelKeywordSound->AutoSize = true;
|
||||
this->labelKeywordSound->Location = System::Drawing::Point(10, 17);
|
||||
this->labelKeywordSound->Name = L"labelKeywordSound";
|
||||
this->labelKeywordSound->Size = System::Drawing::Size(174, 13);
|
||||
this->labelKeywordSound->Size = System::Drawing::Size(177, 13);
|
||||
this->labelKeywordSound->TabIndex = 1;
|
||||
this->labelKeywordSound->Text = L"Separate keywords with commas (,)";
|
||||
this->labelKeywordSound->Text = L"Separate keywords with commas (,).";
|
||||
//
|
||||
// textBoxKeyword
|
||||
//
|
||||
|
@ -609,7 +606,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
this->groupBoxTalkSound->Size = System::Drawing::Size(336, 56);
|
||||
this->groupBoxTalkSound->TabIndex = 5;
|
||||
this->groupBoxTalkSound->TabStop = false;
|
||||
this->groupBoxTalkSound->Text = L"Remarks";
|
||||
this->groupBoxTalkSound->Text = L"Chat";
|
||||
//
|
||||
// buttonTalkSoundPlay
|
||||
//
|
||||
|
@ -1106,7 +1103,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
this->groupBoxSave->Controls->Add(this->radioButtonReplayVersion2);
|
||||
this->groupBoxSave->Location = System::Drawing::Point(195, 216);
|
||||
this->groupBoxSave->Name = L"groupBoxSave";
|
||||
this->groupBoxSave->Size = System::Drawing::Size(154, 46);
|
||||
this->groupBoxSave->Size = System::Drawing::Size(166, 46);
|
||||
this->groupBoxSave->TabIndex = 4;
|
||||
this->groupBoxSave->TabStop = false;
|
||||
this->groupBoxSave->Text = L"Replay file compression";
|
||||
|
@ -1174,7 +1171,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
this->groupBoxTeamOption->Controls->Add(this->checkBoxTeamRoundHP);
|
||||
this->groupBoxTeamOption->Location = System::Drawing::Point(9, 268);
|
||||
this->groupBoxTeamOption->Name = L"groupBoxTeamOption";
|
||||
this->groupBoxTeamOption->Size = System::Drawing::Size(341, 65);
|
||||
this->groupBoxTeamOption->Size = System::Drawing::Size(353, 65);
|
||||
this->groupBoxTeamOption->TabIndex = 6;
|
||||
this->groupBoxTeamOption->TabStop = false;
|
||||
this->groupBoxTeamOption->Text = L"Team play";
|
||||
|
@ -1205,7 +1202,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
this->groupBoxSimulate->Controls->Add(this->labelSimDelay);
|
||||
this->groupBoxSimulate->Location = System::Drawing::Point(195, 161);
|
||||
this->groupBoxSimulate->Name = L"groupBoxSimulate";
|
||||
this->groupBoxSimulate->Size = System::Drawing::Size(154, 48);
|
||||
this->groupBoxSimulate->Size = System::Drawing::Size(166, 48);
|
||||
this->groupBoxSimulate->TabIndex = 5;
|
||||
this->groupBoxSimulate->TabStop = false;
|
||||
this->groupBoxSimulate->Text = L"Simulation";
|
||||
|
@ -1269,7 +1266,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
this->groupBoxView->Controls->Add(this->checkBoxRand);
|
||||
this->groupBoxView->Location = System::Drawing::Point(195, 9);
|
||||
this->groupBoxView->Name = L"groupBoxView";
|
||||
this->groupBoxView->Size = System::Drawing::Size(154, 145);
|
||||
this->groupBoxView->Size = System::Drawing::Size(166, 145);
|
||||
this->groupBoxView->TabIndex = 4;
|
||||
this->groupBoxView->TabStop = false;
|
||||
this->groupBoxView->Text = L"Title bar";
|
||||
|
@ -1323,9 +1320,9 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
this->checkBoxRand->AutoSize = true;
|
||||
this->checkBoxRand->Location = System::Drawing::Point(16, 117);
|
||||
this->checkBoxRand->Name = L"checkBoxRand";
|
||||
this->checkBoxRand->Size = System::Drawing::Size(139, 17);
|
||||
this->checkBoxRand->Size = System::Drawing::Size(104, 17);
|
||||
this->checkBoxRand->TabIndex = 4;
|
||||
this->checkBoxRand->Text = L"Random number display";
|
||||
this->checkBoxRand->Text = L"Random number";
|
||||
this->checkBoxRand->UseVisualStyleBackColor = true;
|
||||
this->checkBoxRand->CheckedChanged += gcnew System::EventHandler(this, &OptionForm::ApplyButtonEnable);
|
||||
//
|
||||
|
@ -1408,9 +1405,9 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
this->labelStageSelect->AutoSize = true;
|
||||
this->labelStageSelect->Location = System::Drawing::Point(16, 52);
|
||||
this->labelStageSelect->Name = L"labelStageSelect";
|
||||
this->labelStageSelect->Size = System::Drawing::Size(63, 13);
|
||||
this->labelStageSelect->Size = System::Drawing::Size(76, 13);
|
||||
this->labelStageSelect->TabIndex = 0;
|
||||
this->labelStageSelect->Text = L"Battle stage";
|
||||
this->labelStageSelect->Text = L"Random stage";
|
||||
//
|
||||
// numericUpDownStageSelect
|
||||
//
|
||||
|
@ -1778,13 +1775,13 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
// discriptionlabel
|
||||
//
|
||||
this->discriptionlabel->AutoSize = true;
|
||||
this->discriptionlabel->Location = System::Drawing::Point(8, 9);
|
||||
this->discriptionlabel->Location = System::Drawing::Point(6, 11);
|
||||
this->discriptionlabel->Name = L"discriptionlabel";
|
||||
this->discriptionlabel->Size = System::Drawing::Size(281, 52);
|
||||
this->discriptionlabel->Size = System::Drawing::Size(350, 39);
|
||||
this->discriptionlabel->TabIndex = 3;
|
||||
this->discriptionlabel->Text = L"By obfuscating your IP address, you can\r\nreduce security risks associated with pu"
|
||||
L"blishing a server.\r\nWhen you create a server, you should use your converted\r\nIP "
|
||||
L"address rather than your real one.";
|
||||
this->discriptionlabel->Text = L"By obfuscating your IP address, you can reduce security risks associated\r\nwith pu"
|
||||
L"blishing a server. When you create a server, you should use your\r\nconverted IP a"
|
||||
L"ddress rather than your real one.";
|
||||
//
|
||||
// Convertbutton
|
||||
//
|
||||
|
@ -1872,7 +1869,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
this->tabPageDetails->Padding = System::Windows::Forms::Padding(3);
|
||||
this->tabPageDetails->Size = System::Drawing::Size(369, 339);
|
||||
this->tabPageDetails->TabIndex = 8;
|
||||
this->tabPageDetails->Text = L"Misc.";
|
||||
this->tabPageDetails->Text = L"Miscellaneous";
|
||||
this->tabPageDetails->UseVisualStyleBackColor = true;
|
||||
//
|
||||
// groupBoxDetails
|
||||
|
@ -2029,22 +2026,22 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
DWORD MixerVolumeMin, MixerVolumeMax;
|
||||
|
||||
void AdviceGameExe(){
|
||||
textBoxGameExe->Text = gcnew String(L"右のボタンを押してパスを設定してください");
|
||||
textBoxGameExe->Text = gcnew String(L"You should set the path to your game file.");
|
||||
textBoxGameExe->Focus();
|
||||
}
|
||||
|
||||
void CheckStageValue(){
|
||||
if(numericUpDownStageSelect->Value > numericUpDownMaxStage->Value){
|
||||
labelMaxStage->Text = gcnew String(L"開始ステージ");
|
||||
labelStageSelect->Text = gcnew String(L"終端ステージ");
|
||||
labelMaxStage->Text = gcnew String(L"Start stage:");
|
||||
labelStageSelect->Text = gcnew String(L"End stage:");
|
||||
}
|
||||
else{
|
||||
labelMaxStage->Text = gcnew String(L"最大ステージ数");
|
||||
labelStageSelect->Text = gcnew String(L"対戦ステージ");
|
||||
labelMaxStage->Text = gcnew String(L"Max stages:");
|
||||
labelStageSelect->Text = gcnew String(L"Match stage:");
|
||||
}
|
||||
|
||||
if(numericUpDownStageSelect->Value == 0){
|
||||
labelStageSelect->Text = gcnew String(L"ランダムステージ");
|
||||
labelStageSelect->Text = gcnew String(L"Random stage:");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2284,9 +2281,10 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
}
|
||||
|
||||
System::Void buttonGameExe_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
openFileDialog1->Title = gcnew String(L"格闘ツクールの実行ファイル");
|
||||
openFileDialog1->Filter = gcnew String(L"exe file (*.exe)|*.exe");
|
||||
openFileDialog1->Title = gcnew String(L"Select a Fighter Maker executable file");
|
||||
openFileDialog1->Filter = gcnew String(L"Executable file (*.exe)|*.exe");
|
||||
|
||||
//TODO: Again, detecting whether it is supported should NOT be dependent on the file description.
|
||||
if(openFileDialog1->ShowDialog() == ::DialogResult::OK){
|
||||
FileVersionInfo^ info = FileVersionInfo::GetVersionInfo(openFileDialog1->FileName);
|
||||
|
||||
|
@ -2294,7 +2292,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
textBoxGameExe->Text = openFileDialog1->FileName;
|
||||
}
|
||||
else{
|
||||
textBoxGameExe->Text = L"格闘ツクールの実行ファイルではありません";
|
||||
textBoxGameExe->Text = L"Invalid or unrecognized Fighter Maker executable";
|
||||
textBoxGameExe->SelectAll();
|
||||
textBoxGameExe->Focus();
|
||||
}
|
||||
|
@ -2308,7 +2306,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
}
|
||||
|
||||
System::Void buttonVSSound_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
openFileDialog1->Title = gcnew String(L"対戦時に鳴らす音声ファイル");
|
||||
openFileDialog1->Title = gcnew String(L"Sound to be played on start of match");
|
||||
openFileDialog1->Filter = gcnew String(L"wav file (*.wav)|*.wav");
|
||||
|
||||
if(openFileDialog1->ShowDialog() == ::DialogResult::OK){
|
||||
|
@ -2317,7 +2315,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
}
|
||||
|
||||
System::Void buttonNoticeSound_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
openFileDialog1->Title = gcnew String(L"告知受信時に鳴らす音声ファイル");
|
||||
openFileDialog1->Title = gcnew String(L"Sound to be played on announcement");
|
||||
openFileDialog1->Filter = gcnew String(L"wav file (*.wav)|*.wav");
|
||||
|
||||
if(openFileDialog1->ShowDialog() == ::DialogResult::OK){
|
||||
|
@ -2326,7 +2324,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
}
|
||||
|
||||
System::Void buttonEnterSound_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
openFileDialog1->Title = gcnew String(L"メンバー入室時に鳴らす音声ファイル");
|
||||
openFileDialog1->Title = gcnew String(L"Sound to be played on player join");
|
||||
openFileDialog1->Filter = gcnew String(L"wav file (*.wav)|*.wav");
|
||||
|
||||
if(openFileDialog1->ShowDialog() == ::DialogResult::OK){
|
||||
|
@ -2335,7 +2333,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
}
|
||||
|
||||
System::Void buttonNameSound_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
openFileDialog1->Title = gcnew String(L"ニックネームが呼ばれたら鳴らす音声ファイル");
|
||||
openFileDialog1->Title = gcnew String(L"Sound to be played when nickname is mentioned");
|
||||
openFileDialog1->Filter = gcnew String(L"wav file (*.wav)|*.wav");
|
||||
|
||||
if(openFileDialog1->ShowDialog() == ::DialogResult::OK){
|
||||
|
@ -2344,7 +2342,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
}
|
||||
|
||||
System::Void buttonTalkSound_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
openFileDialog1->Title = gcnew String(L"発言で鳴らす音声ファイル");
|
||||
openFileDialog1->Title = gcnew String(L"Sound to be played on chat message");
|
||||
openFileDialog1->Filter = gcnew String(L"wav file (*.wav)|*.wav");
|
||||
|
||||
if(openFileDialog1->ShowDialog() == ::DialogResult::OK){
|
||||
|
@ -2353,7 +2351,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
}
|
||||
|
||||
System::Void buttonSeekSound_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
openFileDialog1->Title = gcnew String(L"対戦募集で鳴らす音声ファイル");
|
||||
openFileDialog1->Title = gcnew String(L"Sound to be played when invited to a match");
|
||||
openFileDialog1->Filter = gcnew String(L"wav file (*.wav)|*.wav");
|
||||
|
||||
if(openFileDialog1->ShowDialog() == ::DialogResult::OK){
|
||||
|
@ -2362,7 +2360,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
}
|
||||
|
||||
System::Void buttonKeywordSound_Click(System::Object^ sender, System::EventArgs^ e) {
|
||||
openFileDialog1->Title = gcnew String(L"キーワードで鳴らす音声ファイル");
|
||||
openFileDialog1->Title = gcnew String(L"Sound to be played when keyword is mentioned (stalk)");
|
||||
openFileDialog1->Filter = gcnew String(L"wav file (*.wav)|*.wav");
|
||||
|
||||
if(openFileDialog1->ShowDialog() == ::DialogResult::OK){
|
||||
|
@ -2504,6 +2502,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
String^ extension = Path::GetExtension(file[0])->ToLower();
|
||||
FileVersionInfo^ info = FileVersionInfo::GetVersionInfo(file[0]);
|
||||
|
||||
//TODO: game file detection
|
||||
if(extension == ".exe" && (info->FileDescription == L"2D格闘ツクール2nd." || info->FileDescription == L"2D格闘ツクール95")){
|
||||
e->Effect = DragDropEffects::All;
|
||||
}
|
||||
|
@ -2719,19 +2718,19 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
String^ buf = comboBoxProfile->Items[comboBoxProfile->SelectedIndex]->ToString();
|
||||
String^ bufClone = String::Format(L"{0}{1}", buf, "_");
|
||||
if(buf->Length > MAX_ARRAY-1){
|
||||
mes = L"プロファイル名が長すぎます。\n複製を行うには、プロファイル名を短くしてください。";
|
||||
mes = L"The profile name is too long.\nPlease shorten it in order to copy the profile correctly.";
|
||||
}
|
||||
for(int i=0; i < Profile::ProfileList->Count; i++){
|
||||
if(Profile::ProfileList[i] == bufClone){
|
||||
mes = L"既に複製されたプロファイルが存在します。";
|
||||
mes = L"This profile already exists.";
|
||||
}
|
||||
}
|
||||
if(Profile::ProfileList->Count > 31){
|
||||
mes = L"これ以上プロファイルを作成できません。";
|
||||
mes = L"There are too many profiles! You cannot have more than 31 profiles.";
|
||||
return;
|
||||
}
|
||||
if(mes != nullptr){
|
||||
MessageBox::Show(mes, L"プロファイル複製", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
MessageBox::Show(mes, L"Copy Profile", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
return;
|
||||
}
|
||||
Profile::ProfileList->Add(bufClone);
|
||||
|
@ -2751,7 +2750,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
// プロファイル削除
|
||||
int index = comboBoxProfile->SelectedIndex;
|
||||
String^ buf = comboBoxProfile->Items[index]->ToString();
|
||||
if(MessageBox::Show(String::Format(L"{0}を削除します。\nよろしいですか?", buf), L"プロファイル削除", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
if(MessageBox::Show(String::Format(L"Are you sure you want to delete the profile \"{0}\"?", buf), L"Delete Profile", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == ::DialogResult::Yes){
|
||||
Profile::ProfileList->RemoveAt(index);
|
||||
comboBoxProfile->Items->RemoveAt(index);
|
||||
|
||||
|
@ -2769,7 +2768,7 @@ private: System::Windows::Forms::CheckBox^ checkBoxShowResult;
|
|||
return;
|
||||
}
|
||||
if(Profile::ProfileList->Count > 31){
|
||||
MessageBox::Show(L"これ以上プロファイルを作成できません。", L"プロファイル追加", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
MessageBox::Show(L"There are too many profiles! You cannot have more than 31 profiles.", L"Add Profile", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -27,9 +27,6 @@ namespace LilithPort {
|
|||
StartupForm(void)
|
||||
{
|
||||
InitializeComponent();
|
||||
//
|
||||
//TODO: ここにコンストラクタ コードを追加します
|
||||
//
|
||||
}
|
||||
|
||||
protected:
|
||||
|
@ -105,9 +102,9 @@ namespace LilithPort {
|
|||
this->groupBoxProfile = (gcnew System::Windows::Forms::GroupBox());
|
||||
this->groupBoxWelcome = (gcnew System::Windows::Forms::GroupBox());
|
||||
this->textBoxWelcome = (gcnew System::Windows::Forms::RichTextBox());
|
||||
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->numericUpDownOpenPort))->BeginInit();
|
||||
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->numericUpDownPort))->BeginInit();
|
||||
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->numericUpDownMaxConnection))->BeginInit();
|
||||
(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->numericUpDownOpenPort))->BeginInit();
|
||||
(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->numericUpDownPort))->BeginInit();
|
||||
(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->numericUpDownMaxConnection))->BeginInit();
|
||||
this->groupBoxStartMode->SuspendLayout();
|
||||
this->groupBoxConnection->SuspendLayout();
|
||||
this->groupBoxProfile->SuspendLayout();
|
||||
|
@ -117,10 +114,10 @@ namespace LilithPort {
|
|||
// radioButtonServer
|
||||
//
|
||||
this->radioButtonServer->AutoSize = true;
|
||||
this->radioButtonServer->Location = System::Drawing::Point(8, 18);
|
||||
this->radioButtonServer->Location = System::Drawing::Point(15, 19);
|
||||
this->radioButtonServer->Name = L"radioButtonServer";
|
||||
this->radioButtonServer->Size = System::Drawing::Size(56, 16);
|
||||
this->radioButtonServer->TabIndex = 1;
|
||||
this->radioButtonServer->Size = System::Drawing::Size(56, 17);
|
||||
this->radioButtonServer->TabIndex = 0;
|
||||
this->radioButtonServer->Text = L"Server";
|
||||
this->radioButtonServer->UseVisualStyleBackColor = true;
|
||||
this->radioButtonServer->CheckedChanged += gcnew System::EventHandler(this, &StartupForm::radioButtonServer_CheckedChanged);
|
||||
|
@ -128,9 +125,9 @@ namespace LilithPort {
|
|||
// radioButtonHost
|
||||
//
|
||||
this->radioButtonHost->AutoSize = true;
|
||||
this->radioButtonHost->Location = System::Drawing::Point(70, 18);
|
||||
this->radioButtonHost->Location = System::Drawing::Point(101, 19);
|
||||
this->radioButtonHost->Name = L"radioButtonHost";
|
||||
this->radioButtonHost->Size = System::Drawing::Size(47, 16);
|
||||
this->radioButtonHost->Size = System::Drawing::Size(47, 17);
|
||||
this->radioButtonHost->TabIndex = 1;
|
||||
this->radioButtonHost->Text = L"Host";
|
||||
this->radioButtonHost->UseVisualStyleBackColor = true;
|
||||
|
@ -139,10 +136,10 @@ namespace LilithPort {
|
|||
// radioButtonClient
|
||||
//
|
||||
this->radioButtonClient->AutoSize = true;
|
||||
this->radioButtonClient->Location = System::Drawing::Point(123, 18);
|
||||
this->radioButtonClient->Location = System::Drawing::Point(178, 19);
|
||||
this->radioButtonClient->Name = L"radioButtonClient";
|
||||
this->radioButtonClient->Size = System::Drawing::Size(53, 16);
|
||||
this->radioButtonClient->TabIndex = 1;
|
||||
this->radioButtonClient->Size = System::Drawing::Size(51, 17);
|
||||
this->radioButtonClient->TabIndex = 2;
|
||||
this->radioButtonClient->Text = L"Client";
|
||||
this->radioButtonClient->UseVisualStyleBackColor = true;
|
||||
this->radioButtonClient->CheckedChanged += gcnew System::EventHandler(this, &StartupForm::radioButtonClient_CheckedChanged);
|
||||
|
@ -150,118 +147,118 @@ namespace LilithPort {
|
|||
// labelServerName
|
||||
//
|
||||
this->labelServerName->AutoSize = true;
|
||||
this->labelServerName->Location = System::Drawing::Point(6, 41);
|
||||
this->labelServerName->Location = System::Drawing::Point(6, 44);
|
||||
this->labelServerName->Name = L"labelServerName";
|
||||
this->labelServerName->Size = System::Drawing::Size(49, 12);
|
||||
this->labelServerName->Size = System::Drawing::Size(70, 13);
|
||||
this->labelServerName->TabIndex = 0;
|
||||
this->labelServerName->Text = L"サーバ名:";
|
||||
this->labelServerName->Text = L"Server name:";
|
||||
//
|
||||
// textBoxIP
|
||||
//
|
||||
this->textBoxIP->Location = System::Drawing::Point(70, 18);
|
||||
this->textBoxIP->Location = System::Drawing::Point(113, 19);
|
||||
this->textBoxIP->Name = L"textBoxIP";
|
||||
this->textBoxIP->Size = System::Drawing::Size(116, 19);
|
||||
this->textBoxIP->TabIndex = 2;
|
||||
this->textBoxIP->Size = System::Drawing::Size(116, 20);
|
||||
this->textBoxIP->TabIndex = 0;
|
||||
//
|
||||
// labelOpenPort
|
||||
//
|
||||
this->labelOpenPort->AutoSize = true;
|
||||
this->labelOpenPort->Location = System::Drawing::Point(7, 65);
|
||||
this->labelOpenPort->Location = System::Drawing::Point(7, 71);
|
||||
this->labelOpenPort->Name = L"labelOpenPort";
|
||||
this->labelOpenPort->Size = System::Drawing::Size(59, 12);
|
||||
this->labelOpenPort->Size = System::Drawing::Size(59, 13);
|
||||
this->labelOpenPort->TabIndex = 0;
|
||||
this->labelOpenPort->Text = L"待受ポート:";
|
||||
this->labelOpenPort->Text = L"Listen port:";
|
||||
//
|
||||
// numericUpDownOpenPort
|
||||
//
|
||||
this->numericUpDownOpenPort->Location = System::Drawing::Point(133, 63);
|
||||
this->numericUpDownOpenPort->Maximum = System::Decimal(gcnew cli::array< System::Int32 >(4) {65535, 0, 0, 0});
|
||||
this->numericUpDownOpenPort->Minimum = System::Decimal(gcnew cli::array< System::Int32 >(4) {1024, 0, 0, 0});
|
||||
this->numericUpDownOpenPort->Location = System::Drawing::Point(176, 68);
|
||||
this->numericUpDownOpenPort->Maximum = System::Decimal(gcnew cli::array< System::Int32 >(4) { 65535, 0, 0, 0 });
|
||||
this->numericUpDownOpenPort->Minimum = System::Decimal(gcnew cli::array< System::Int32 >(4) { 1024, 0, 0, 0 });
|
||||
this->numericUpDownOpenPort->Name = L"numericUpDownOpenPort";
|
||||
this->numericUpDownOpenPort->Size = System::Drawing::Size(53, 19);
|
||||
this->numericUpDownOpenPort->Size = System::Drawing::Size(53, 20);
|
||||
this->numericUpDownOpenPort->TabIndex = 4;
|
||||
this->numericUpDownOpenPort->Value = System::Decimal(gcnew cli::array< System::Int32 >(4) {7500, 0, 0, 0});
|
||||
this->numericUpDownOpenPort->Value = System::Decimal(gcnew cli::array< System::Int32 >(4) { 7500, 0, 0, 0 });
|
||||
//
|
||||
// buttonOK
|
||||
//
|
||||
this->buttonOK->Location = System::Drawing::Point(274, 205);
|
||||
this->buttonOK->Location = System::Drawing::Point(233, 223);
|
||||
this->buttonOK->Name = L"buttonOK";
|
||||
this->buttonOK->Size = System::Drawing::Size(58, 24);
|
||||
this->buttonOK->TabIndex = 6;
|
||||
this->buttonOK->Text = L"起動";
|
||||
this->buttonOK->Size = System::Drawing::Size(99, 26);
|
||||
this->buttonOK->TabIndex = 4;
|
||||
this->buttonOK->Text = L"OK";
|
||||
this->buttonOK->UseVisualStyleBackColor = true;
|
||||
this->buttonOK->Click += gcnew System::EventHandler(this, &StartupForm::buttonOK_Click);
|
||||
//
|
||||
// buttonCancel
|
||||
//
|
||||
this->buttonCancel->DialogResult = System::Windows::Forms::DialogResult::Cancel;
|
||||
this->buttonCancel->Location = System::Drawing::Point(338, 205);
|
||||
this->buttonCancel->Location = System::Drawing::Point(338, 223);
|
||||
this->buttonCancel->Name = L"buttonCancel";
|
||||
this->buttonCancel->Size = System::Drawing::Size(57, 24);
|
||||
this->buttonCancel->TabIndex = 7;
|
||||
this->buttonCancel->Text = L"閉じる";
|
||||
this->buttonCancel->Size = System::Drawing::Size(98, 26);
|
||||
this->buttonCancel->TabIndex = 5;
|
||||
this->buttonCancel->Text = L"Cancel";
|
||||
this->buttonCancel->UseVisualStyleBackColor = true;
|
||||
this->buttonCancel->Click += gcnew System::EventHandler(this, &StartupForm::buttonCancel_Click);
|
||||
//
|
||||
// textBoxComment
|
||||
//
|
||||
this->textBoxComment->Location = System::Drawing::Point(80, 43);
|
||||
this->textBoxComment->Location = System::Drawing::Point(80, 47);
|
||||
this->textBoxComment->Name = L"textBoxComment";
|
||||
this->textBoxComment->Size = System::Drawing::Size(94, 19);
|
||||
this->textBoxComment->TabIndex = 2;
|
||||
this->textBoxComment->Size = System::Drawing::Size(94, 20);
|
||||
this->textBoxComment->TabIndex = 1;
|
||||
//
|
||||
// labelComment
|
||||
//
|
||||
this->labelComment->AutoSize = true;
|
||||
this->labelComment->Location = System::Drawing::Point(7, 46);
|
||||
this->labelComment->Location = System::Drawing::Point(7, 50);
|
||||
this->labelComment->Name = L"labelComment";
|
||||
this->labelComment->Size = System::Drawing::Size(40, 12);
|
||||
this->labelComment->Size = System::Drawing::Size(63, 13);
|
||||
this->labelComment->TabIndex = 4;
|
||||
this->labelComment->Text = L"コメント:";
|
||||
this->labelComment->Text = L"Description:";
|
||||
//
|
||||
// textBoxName
|
||||
//
|
||||
this->textBoxName->Location = System::Drawing::Point(80, 18);
|
||||
this->textBoxName->Location = System::Drawing::Point(80, 20);
|
||||
this->textBoxName->Name = L"textBoxName";
|
||||
this->textBoxName->Size = System::Drawing::Size(94, 19);
|
||||
this->textBoxName->TabIndex = 1;
|
||||
this->textBoxName->Size = System::Drawing::Size(94, 20);
|
||||
this->textBoxName->TabIndex = 0;
|
||||
//
|
||||
// labelName
|
||||
//
|
||||
this->labelName->AutoSize = true;
|
||||
this->labelName->Location = System::Drawing::Point(6, 21);
|
||||
this->labelName->Location = System::Drawing::Point(6, 23);
|
||||
this->labelName->Name = L"labelName";
|
||||
this->labelName->Size = System::Drawing::Size(61, 12);
|
||||
this->labelName->Size = System::Drawing::Size(58, 13);
|
||||
this->labelName->TabIndex = 0;
|
||||
this->labelName->Text = L"ニックネーム:";
|
||||
this->labelName->Text = L"Nickname:";
|
||||
//
|
||||
// numericUpDownPort
|
||||
//
|
||||
this->numericUpDownPort->Location = System::Drawing::Point(133, 40);
|
||||
this->numericUpDownPort->Maximum = System::Decimal(gcnew cli::array< System::Int32 >(4) {65535, 0, 0, 0});
|
||||
this->numericUpDownPort->Minimum = System::Decimal(gcnew cli::array< System::Int32 >(4) {1024, 0, 0, 0});
|
||||
this->numericUpDownPort->Location = System::Drawing::Point(176, 44);
|
||||
this->numericUpDownPort->Maximum = System::Decimal(gcnew cli::array< System::Int32 >(4) { 65535, 0, 0, 0 });
|
||||
this->numericUpDownPort->Minimum = System::Decimal(gcnew cli::array< System::Int32 >(4) { 1024, 0, 0, 0 });
|
||||
this->numericUpDownPort->Name = L"numericUpDownPort";
|
||||
this->numericUpDownPort->Size = System::Drawing::Size(53, 19);
|
||||
this->numericUpDownPort->TabIndex = 4;
|
||||
this->numericUpDownPort->Value = System::Decimal(gcnew cli::array< System::Int32 >(4) {7500, 0, 0, 0});
|
||||
this->numericUpDownPort->Size = System::Drawing::Size(53, 20);
|
||||
this->numericUpDownPort->TabIndex = 1;
|
||||
this->numericUpDownPort->Value = System::Decimal(gcnew cli::array< System::Int32 >(4) { 7500, 0, 0, 0 });
|
||||
//
|
||||
// numericUpDownMaxConnection
|
||||
//
|
||||
this->numericUpDownMaxConnection->Location = System::Drawing::Point(146, 88);
|
||||
this->numericUpDownMaxConnection->Minimum = System::Decimal(gcnew cli::array< System::Int32 >(4) {1, 0, 0, 0});
|
||||
this->numericUpDownMaxConnection->Location = System::Drawing::Point(189, 95);
|
||||
this->numericUpDownMaxConnection->Minimum = System::Decimal(gcnew cli::array< System::Int32 >(4) { 1, 0, 0, 0 });
|
||||
this->numericUpDownMaxConnection->Name = L"numericUpDownMaxConnection";
|
||||
this->numericUpDownMaxConnection->Size = System::Drawing::Size(40, 19);
|
||||
this->numericUpDownMaxConnection->TabIndex = 3;
|
||||
this->numericUpDownMaxConnection->Value = System::Decimal(gcnew cli::array< System::Int32 >(4) {1, 0, 0, 0});
|
||||
this->numericUpDownMaxConnection->Size = System::Drawing::Size(40, 20);
|
||||
this->numericUpDownMaxConnection->TabIndex = 5;
|
||||
this->numericUpDownMaxConnection->Value = System::Decimal(gcnew cli::array< System::Int32 >(4) { 1, 0, 0, 0 });
|
||||
//
|
||||
// labelMaxConnection
|
||||
//
|
||||
this->labelMaxConnection->AutoSize = true;
|
||||
this->labelMaxConnection->Location = System::Drawing::Point(7, 90);
|
||||
this->labelMaxConnection->Location = System::Drawing::Point(7, 98);
|
||||
this->labelMaxConnection->Name = L"labelMaxConnection";
|
||||
this->labelMaxConnection->Size = System::Drawing::Size(79, 12);
|
||||
this->labelMaxConnection->Size = System::Drawing::Size(140, 13);
|
||||
this->labelMaxConnection->TabIndex = 0;
|
||||
this->labelMaxConnection->Text = L"最大接続者数:";
|
||||
this->labelMaxConnection->Text = L"Maximum number of players:";
|
||||
//
|
||||
// groupBoxStartMode
|
||||
//
|
||||
|
@ -274,19 +271,19 @@ namespace LilithPort {
|
|||
this->groupBoxStartMode->Controls->Add(this->numericUpDownOpenPort);
|
||||
this->groupBoxStartMode->Controls->Add(this->radioButtonHost);
|
||||
this->groupBoxStartMode->Controls->Add(this->radioButtonClient);
|
||||
this->groupBoxStartMode->Location = System::Drawing::Point(201, 12);
|
||||
this->groupBoxStartMode->Location = System::Drawing::Point(201, 14);
|
||||
this->groupBoxStartMode->Name = L"groupBoxStartMode";
|
||||
this->groupBoxStartMode->Size = System::Drawing::Size(194, 115);
|
||||
this->groupBoxStartMode->TabIndex = 8;
|
||||
this->groupBoxStartMode->Size = System::Drawing::Size(235, 125);
|
||||
this->groupBoxStartMode->TabIndex = 0;
|
||||
this->groupBoxStartMode->TabStop = false;
|
||||
this->groupBoxStartMode->Text = L"起動モード";
|
||||
this->groupBoxStartMode->Text = L"Mode";
|
||||
//
|
||||
// textBoxServerName
|
||||
//
|
||||
this->textBoxServerName->Location = System::Drawing::Point(70, 38);
|
||||
this->textBoxServerName->Location = System::Drawing::Point(85, 41);
|
||||
this->textBoxServerName->Name = L"textBoxServerName";
|
||||
this->textBoxServerName->Size = System::Drawing::Size(116, 19);
|
||||
this->textBoxServerName->TabIndex = 5;
|
||||
this->textBoxServerName->Size = System::Drawing::Size(144, 20);
|
||||
this->textBoxServerName->TabIndex = 3;
|
||||
//
|
||||
// groupBoxConnection
|
||||
//
|
||||
|
@ -294,30 +291,30 @@ namespace LilithPort {
|
|||
this->groupBoxConnection->Controls->Add(this->labelIP);
|
||||
this->groupBoxConnection->Controls->Add(this->textBoxIP);
|
||||
this->groupBoxConnection->Controls->Add(this->numericUpDownPort);
|
||||
this->groupBoxConnection->Location = System::Drawing::Point(201, 133);
|
||||
this->groupBoxConnection->Location = System::Drawing::Point(201, 145);
|
||||
this->groupBoxConnection->Name = L"groupBoxConnection";
|
||||
this->groupBoxConnection->Size = System::Drawing::Size(194, 66);
|
||||
this->groupBoxConnection->TabIndex = 9;
|
||||
this->groupBoxConnection->Size = System::Drawing::Size(235, 72);
|
||||
this->groupBoxConnection->TabIndex = 2;
|
||||
this->groupBoxConnection->TabStop = false;
|
||||
this->groupBoxConnection->Text = L"接続先";
|
||||
this->groupBoxConnection->Text = L"Destination";
|
||||
//
|
||||
// labelAccessPort
|
||||
//
|
||||
this->labelAccessPort->AutoSize = true;
|
||||
this->labelAccessPort->Location = System::Drawing::Point(7, 42);
|
||||
this->labelAccessPort->Location = System::Drawing::Point(7, 46);
|
||||
this->labelAccessPort->Name = L"labelAccessPort";
|
||||
this->labelAccessPort->Size = System::Drawing::Size(71, 12);
|
||||
this->labelAccessPort->Size = System::Drawing::Size(29, 13);
|
||||
this->labelAccessPort->TabIndex = 5;
|
||||
this->labelAccessPort->Text = L"接続先ポート:";
|
||||
this->labelAccessPort->Text = L"Port:";
|
||||
//
|
||||
// labelIP
|
||||
//
|
||||
this->labelIP->AutoSize = true;
|
||||
this->labelIP->Location = System::Drawing::Point(7, 21);
|
||||
this->labelIP->Location = System::Drawing::Point(7, 23);
|
||||
this->labelIP->Name = L"labelIP";
|
||||
this->labelIP->Size = System::Drawing::Size(43, 12);
|
||||
this->labelIP->Size = System::Drawing::Size(48, 13);
|
||||
this->labelIP->TabIndex = 3;
|
||||
this->labelIP->Text = L"アドレス:";
|
||||
this->labelIP->Text = L"Address:";
|
||||
//
|
||||
// groupBoxProfile
|
||||
//
|
||||
|
@ -325,39 +322,39 @@ namespace LilithPort {
|
|||
this->groupBoxProfile->Controls->Add(this->textBoxComment);
|
||||
this->groupBoxProfile->Controls->Add(this->textBoxName);
|
||||
this->groupBoxProfile->Controls->Add(this->labelName);
|
||||
this->groupBoxProfile->Location = System::Drawing::Point(12, 12);
|
||||
this->groupBoxProfile->Location = System::Drawing::Point(12, 13);
|
||||
this->groupBoxProfile->Name = L"groupBoxProfile";
|
||||
this->groupBoxProfile->Size = System::Drawing::Size(183, 67);
|
||||
this->groupBoxProfile->TabIndex = 10;
|
||||
this->groupBoxProfile->Size = System::Drawing::Size(183, 73);
|
||||
this->groupBoxProfile->TabIndex = 1;
|
||||
this->groupBoxProfile->TabStop = false;
|
||||
this->groupBoxProfile->Text = L"プロフィール";
|
||||
this->groupBoxProfile->Text = L"Profile";
|
||||
//
|
||||
// groupBoxWelcome
|
||||
//
|
||||
this->groupBoxWelcome->Controls->Add(this->textBoxWelcome);
|
||||
this->groupBoxWelcome->Location = System::Drawing::Point(12, 85);
|
||||
this->groupBoxWelcome->Location = System::Drawing::Point(12, 92);
|
||||
this->groupBoxWelcome->Name = L"groupBoxWelcome";
|
||||
this->groupBoxWelcome->Size = System::Drawing::Size(183, 113);
|
||||
this->groupBoxWelcome->TabIndex = 11;
|
||||
this->groupBoxWelcome->Size = System::Drawing::Size(183, 122);
|
||||
this->groupBoxWelcome->TabIndex = 3;
|
||||
this->groupBoxWelcome->TabStop = false;
|
||||
this->groupBoxWelcome->Text = L"サーバメッセージ";
|
||||
this->groupBoxWelcome->Text = L"Server message";
|
||||
//
|
||||
// textBoxWelcome
|
||||
//
|
||||
this->textBoxWelcome->Location = System::Drawing::Point(8, 19);
|
||||
this->textBoxWelcome->Location = System::Drawing::Point(8, 21);
|
||||
this->textBoxWelcome->MaxLength = 254;
|
||||
this->textBoxWelcome->Name = L"textBoxWelcome";
|
||||
this->textBoxWelcome->Size = System::Drawing::Size(167, 86);
|
||||
this->textBoxWelcome->Size = System::Drawing::Size(167, 93);
|
||||
this->textBoxWelcome->TabIndex = 0;
|
||||
this->textBoxWelcome->Text = L"";
|
||||
this->textBoxWelcome->WordWrap = false;
|
||||
//
|
||||
// StartupForm
|
||||
//
|
||||
this->AutoScaleDimensions = System::Drawing::SizeF(6, 12);
|
||||
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
|
||||
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
|
||||
this->CancelButton = this->buttonCancel;
|
||||
this->ClientSize = System::Drawing::Size(407, 241);
|
||||
this->ClientSize = System::Drawing::Size(448, 261);
|
||||
this->ControlBox = false;
|
||||
this->Controls->Add(this->groupBoxWelcome);
|
||||
this->Controls->Add(this->groupBoxProfile);
|
||||
|
@ -365,18 +362,18 @@ namespace LilithPort {
|
|||
this->Controls->Add(this->groupBoxStartMode);
|
||||
this->Controls->Add(this->buttonOK);
|
||||
this->Controls->Add(this->buttonCancel);
|
||||
this->Icon = (cli::safe_cast<System::Drawing::Icon^ >(resources->GetObject(L"$this.Icon")));
|
||||
this->Icon = (cli::safe_cast<System::Drawing::Icon^>(resources->GetObject(L"$this.Icon")));
|
||||
this->MaximizeBox = false;
|
||||
this->MinimizeBox = false;
|
||||
this->Name = L"StartupForm";
|
||||
this->ShowInTaskbar = false;
|
||||
this->StartPosition = System::Windows::Forms::FormStartPosition::CenterParent;
|
||||
this->Text = L"スタートアップ";
|
||||
this->Text = L"Welcome";
|
||||
this->Load += gcnew System::EventHandler(this, &StartupForm::StartupForm_Load);
|
||||
this->Shown += gcnew System::EventHandler(this, &StartupForm::StartupForm_Shown);
|
||||
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->numericUpDownOpenPort))->EndInit();
|
||||
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->numericUpDownPort))->EndInit();
|
||||
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->numericUpDownMaxConnection))->EndInit();
|
||||
(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->numericUpDownOpenPort))->EndInit();
|
||||
(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->numericUpDownPort))->EndInit();
|
||||
(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->numericUpDownMaxConnection))->EndInit();
|
||||
this->groupBoxStartMode->ResumeLayout(false);
|
||||
this->groupBoxStartMode->PerformLayout();
|
||||
this->groupBoxConnection->ResumeLayout(false);
|
||||
|
@ -441,7 +438,7 @@ namespace LilithPort {
|
|||
|
||||
// サーバ名チェック
|
||||
if(textBoxServerName->Text->Length == 0){
|
||||
MessageBox::Show(L"サーバ名を入力してください。\n\nSERVERモードで起動するには、\nサーバ名を入力する必要があります。", L"SERVERモードエラー", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
MessageBox::Show(L"Please enter a server name.", L"Server Mode Error", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
return;
|
||||
}
|
||||
mp = Runtime::InteropServices::Marshal::StringToHGlobalAuto(textBoxServerName->Text);
|
||||
|
@ -449,7 +446,7 @@ namespace LilithPort {
|
|||
Runtime::InteropServices::Marshal::FreeHGlobal(mp);
|
||||
p2 = _tcschr(p1, _T(','));
|
||||
if (p2 != NULL){
|
||||
MessageBox::Show(L"サーバ名に使用できない文字(,)があります。\nサーバ名を確認してください。", L"SERVERモードエラー", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
MessageBox::Show(L"The server name cannot contain illegal characters such as the comma.\n", L"Server Mode Error", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -472,14 +469,14 @@ namespace LilithPort {
|
|||
// IPチェック
|
||||
if(MTOPTION.CONNECTION_TYPE == CT_HOST || MTOPTION.CONNECTION_TYPE == CT_CLIENT) {
|
||||
if(textBoxIP->Text->Length == 0){
|
||||
MessageBox::Show(L"接続先アドレスを入力してください。\n\nHOST, CLIENTモードで起動するには、\n接続先のアドレスを入力する必要があります。", L"HOST, CLIENTモードエラー", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
MessageBox::Show(L"Please enter a destination address.\nThe destination address is the server you are connecting to.", L"Host/Client Mode Error", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
return;
|
||||
}
|
||||
mp = Runtime::InteropServices::Marshal::StringToHGlobalAuto(textBoxIP->Text);
|
||||
_tcscpy_s(p1, static_cast<PTCHAR>(mp.ToPointer()));
|
||||
p2 = _tcschr(p1, _T(','));
|
||||
if (p2 != NULL){
|
||||
MessageBox::Show(L"接続先アドレスに使用できない文字(,)があります。\n接続先アドレスを確認してください。", L"HOST, CLIENTモードエラー", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
MessageBox::Show(L"The destination address cannot contain illegal characters such as the comma.\n", L"Host/Client Mode Error", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -493,7 +490,7 @@ namespace LilithPort {
|
|||
textBoxName->Text = gcnew String(MTOPTION.NAME);
|
||||
|
||||
if(textBoxName->Text->Length == 0){
|
||||
textBoxName->Text = gcnew String(L"名無しさん");
|
||||
textBoxName->Text = gcnew String(L"NamelessDude"); //Default name
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -112,12 +112,12 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAQAMAAAAAAAAAAAAAAAAAAAAA
|
||||
|
|
|
@ -96,7 +96,7 @@ void LoadMTOption()
|
|||
GetPrivateProfileString(iniSystem, _T("SeekSound"), _T("seek.wav"), MTOPTION.SEEK_SOUND, _MAX_PATH, ini);
|
||||
GetPrivateProfileString(iniSystem, _T("KeywordSound"), _T("name.wav"), MTOPTION.KEYWORD_SOUND, _MAX_PATH, ini);
|
||||
GetPrivateProfileString(iniSystem, _T("Keyword"), _T(""), MTOPTION.KEYWORD, MAX_KEYWORD, ini);
|
||||
GetPrivateProfileString(iniSystem, _T("Name"), _T("NamelessDude"), MTOPTION.NAME, MAX_NAME, ini);
|
||||
GetPrivateProfileString(iniSystem, _T("Name"), _T("NamelessDude"),MTOPTION.NAME, MAX_NAME, ini);
|
||||
GetPrivateProfileString(iniSystem, _T("Comment"), _T(""), MTOPTION.COMMENT, MAX_NAME, ini);
|
||||
MTOPTION.CONNECTION_TYPE = GetPrivateProfileInt(iniSystem, _T("ConnectType"), 0, ini);
|
||||
MTOPTION.PORT = GetPrivateProfileInt(iniSystem, _T("Port"), 7500, ini);
|
||||
|
@ -675,10 +675,10 @@ String^ EncryptionIP(String^ ip)
|
|||
ipString = Int64(Net::IPAddress::Parse(ip)->Address).ToString();
|
||||
}
|
||||
catch (ArgumentNullException^) {
|
||||
return L"変換失敗。IPぬるぽエラー";
|
||||
return L"IP conversion failed due to an ArgumentNullException.";
|
||||
}
|
||||
catch (FormatException^) {
|
||||
return L"変換失敗。IP形式エラー";
|
||||
return L"IP conversion failed due to a FormatException.";
|
||||
}
|
||||
|
||||
array<Byte> ^binaryData = gcnew array<Byte>(11);
|
||||
|
@ -689,10 +689,10 @@ String^ EncryptionIP(String^ ip)
|
|||
ipBase64 = Convert::ToBase64String(binaryData);
|
||||
}
|
||||
catch (ArgumentNullException^) {
|
||||
return L"変換失敗。Base64ぬるぽエラー";
|
||||
return L"Null pointer trying to convert IP to Base64.";
|
||||
}
|
||||
catch (FormatException^) {
|
||||
return L"変換失敗。Base64形式エラー";
|
||||
return L"Base64 conversion failed due to a FormattingException.";
|
||||
}
|
||||
return ipBase64;
|
||||
}
|
||||
|
@ -700,6 +700,9 @@ String^ EncryptionIP(String^ ip)
|
|||
String^ MTEncryptionIP(String^ ip)
|
||||
{
|
||||
String^ result, ^buf, ^part;
|
||||
|
||||
//DO NOT CHANGE DO NOT CHANGE
|
||||
//Strange that the dictionary is missing ひ through ん.
|
||||
String^ dic = L"そぞただちぢっつづてでとどなにぬねのはばabcdefghijklmnopqrstuvwxyz"
|
||||
L"ABCDEFGHIJKLMNOPQRSTUVWXYGぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜ";
|
||||
|
||||
|
@ -719,7 +722,7 @@ String^ MTEncryptionIP(String^ ip)
|
|||
return result;
|
||||
}
|
||||
catch(Exception^){
|
||||
return L"IPアドレスのMTSP変換に失敗しました。";
|
||||
return L"MTSP conversion of the IP address failed.";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -752,6 +755,8 @@ _int64 MTDecryptionIP(String^ cipher_ip)
|
|||
String^ buf;
|
||||
TCHAR part;
|
||||
int index;
|
||||
|
||||
//DO NOT CHANGE DO NOT CHANGE
|
||||
String^ dic = L"そぞただちぢっつづてでとどなにぬねのはばabcdefghijklmnopqrstuvwxyz"
|
||||
L"ABCDEFGHIJKLMNOPQRSTUVWXYGぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜ";
|
||||
|
||||
|
|
Loading…
Reference in a new issue