diff --git a/Lang/Japanese.pj.Lang b/Lang/Japanese.pj.Lang index 0855b3c89..208b46056 100644 --- a/Lang/Japanese.pj.Lang +++ b/Lang/Japanese.pj.Lang @@ -4,8 +4,8 @@ //About DLL #1 # "Japanese" // LANGUAGE ID #2 # "Nekokabu" // Author -#3 # "2.2" // Version -#4 # "2015/12/5" // Date +#3 # "2.3.1" // Version +#4 # "2016/10/11" // Date //About DLL Dialog #5 # "現在の言語" @@ -247,7 +247,7 @@ #463# "前回使ったチートを記憶する(&R)" #464# "ロムの実行中はスクリーンセーバーを無効にする" #465# "フレームレートを表示" -#466# "フレームレート表示形式" +#466# "フレームレート表示形式" #467# "Project64がすでに起動しているかチェックする" #468# "ゲーム毎にセーブディレクトリを作成する" #469# "64DD IPLロムパス:" @@ -456,6 +456,22 @@ #1104# "オプション" #1105# "セーブスロット" +/********************************************************************************* +* Support Window * +*********************************************************************************/ +#1200# "Project64のサポート" +#1201# "Project64は、Microsoft Windowsが動作するPC上でNintendo64ビデオゲームシステムをエミュレートするように設計されたソフトウェアパッケージです。オリジナルのハードウェアシステムと同じように本物のN64ソフトウェアをプレイすることができます。\n\nもしあなたがProject64が好きで、日頃のお礼をしたかったり、または継続的な改善を要求するのであればProject64のサポートをお願いいたします。\n\nProject64をサポートしている場合:" +#1202# "確認コードの入力" +#1203# "Project64のサポート" +#1204# "続ける" +#1205# "確認コードを入力してください" +#1206# "確認コードが正しくありません" +#1207# "ありがとうございました!" +#1208# "コードの入力" +#1209# "Eメールで届いたコードを入力してください" +#1210# "OK" +#1211# "キャンセル" + /********************************************************************************* * Messages * *********************************************************************************/ diff --git a/Source/Glide64/3dmath.cpp b/Source/Glide64/3dmath.cpp index 1c59092f3..6100d4f42 100644 --- a/Source/Glide64/3dmath.cpp +++ b/Source/Glide64/3dmath.cpp @@ -110,8 +110,8 @@ void calc_linear(VERTEX *v) if (rdp.cur_cache[0]) { // scale >> 6 is size to map to - v->ou = (acosf(x) / 3.141592654f) * (rdp.tiles[rdp.cur_tile].org_s_scale >> 6); - v->ov = (acosf(y) / 3.141592654f) * (rdp.tiles[rdp.cur_tile].org_t_scale >> 6); + v->ou = (acosf(-x) / 3.141592654f) * (rdp.tiles[rdp.cur_tile].org_s_scale >> 6); + v->ov = (acosf(-y) / 3.141592654f) * (rdp.tiles[rdp.cur_tile].org_t_scale >> 6); } v->uv_scaled = 1; WriteTrace(TraceRDP, TraceVerbose, "calc linear u: %f, v: %f", v->ou, v->ov); diff --git a/Source/Glide64/Main.cpp b/Source/Glide64/Main.cpp index 89b8c36dd..f55f23315 100644 --- a/Source/Glide64/Main.cpp +++ b/Source/Glide64/Main.cpp @@ -447,6 +447,8 @@ void ReadSpecialSettings(const char * name) g_settings->hacks |= hack_GoldenEye; else if (strstr(name, (const char *)"PUZZLE LEAGUE")) g_settings->hacks |= hack_PPL; + else if (strstr(name, (const char *)"WIN BACK") || strstr(name, (const char *)"OPERATION WINBACK")) + g_settings->hacks |= hack_Winback; g_settings->alt_tex_size = GetSetting(Set_alt_tex_size); g_settings->use_sts1_only = GetSetting(Set_use_sts1_only); diff --git a/Source/Glide64/Settings.h b/Source/Glide64/Settings.h index d7198524c..34c742a6c 100644 --- a/Source/Glide64/Settings.h +++ b/Source/Glide64/Settings.h @@ -151,9 +151,10 @@ public: #define hack_TGR (1<<24) //Top Gear Rally #define hack_TGR2 (1<<25) //Top Gear Rally 2 #define hack_Tonic (1<<26) //tonic trouble -#define hack_Yoshi (1<<27) //Yoshi Story -#define hack_Zelda (1<<28) //zeldas hacks -#define hack_OoT (1<<29) //zelda OoT hacks +#define hack_Winback (1<<27) //WinBack - Covert Operations +#define hack_Yoshi (1<<28) //Yoshi Story +#define hack_Zelda (1<<29) //zeldas hacks +#define hack_OoT (1<<30) //zelda OoT hacks uint32_t hacks; //wrapper settings diff --git a/Source/Glide64/rdp.cpp b/Source/Glide64/rdp.cpp index fee1cf887..ea70a343c 100644 --- a/Source/Glide64/rdp.cpp +++ b/Source/Glide64/rdp.cpp @@ -929,11 +929,17 @@ static void rdp_texrect() else { //gDPTextureRectangle - if (g_settings->hacks&hack_ASB) + if (g_settings->hacks&hack_Winback) { + rdp.pc[rdp.pc_i] += 8; + return; + } + + if (g_settings->hacks&hack_ASB) rdp.cmd2 = 0; else rdp.cmd2 = ((uint32_t*)gfx.RDRAM)[a + 0]; - rdp.cmd3 = ((uint32_t*)gfx.RDRAM)[a + 1]; + + rdp.cmd3 = ((uint32_t*)gfx.RDRAM)[a + 1]; rdp.pc[rdp.pc_i] += 8; } } @@ -943,7 +949,7 @@ static void rdp_texrect() return; } - if (rdp.skip_drawing || (!fb_emulation_enabled && (rdp.cimg == rdp.zimg))) + if (rdp.skip_drawing || (!fb_emulation_enabled && (rdp.cimg == rdp.zimg))) { if ((g_settings->hacks&hack_PMario) && rdp.ci_status == ci_useless) { diff --git a/Source/Project64-core/RomList/RomList.cpp b/Source/Project64-core/RomList/RomList.cpp index 08080e1ab..1edb29a7d 100644 --- a/Source/Project64-core/RomList/RomList.cpp +++ b/Source/Project64-core/RomList/RomList.cpp @@ -313,7 +313,7 @@ void CRomList::FillRomList(strlist & FileList, const char * Directory) } catch (...) { - WriteTrace(TraceUserInterface, TraceError, "execpetion processing %s", (LPCSTR)SearchPath); + WriteTrace(TraceUserInterface, TraceError, "exception processing %s", (LPCSTR)SearchPath); } } #endif