mirror of
https://github.com/ApacheThunder/GBA-Exploader.git
synced 2025-06-18 11:35:38 -04:00
252 lines
6.0 KiB
C++
252 lines
6.0 KiB
C++
|
||
#include <stdio.h>
|
||
|
||
#include <NDS.h>
|
||
|
||
#include "message.h"
|
||
|
||
char *errmsg[14];
|
||
char *cnfmsg[11];
|
||
char *barmsg[4];
|
||
char *cmd_m[4];
|
||
char *t_msg[22];
|
||
char *savmsg[6];
|
||
|
||
static char *errmsg_j[14] = {
|
||
"FATの初期化に失敗しました", // 0
|
||
"適切なDLDIパッチを行ってください", // 1
|
||
"Slot2拡張パックがセットされていません", // 2
|
||
"最初からやり直してください", // 3
|
||
"SRAMのSAVEデータが、消失していました", // 4
|
||
"SAVファイルの処理は行えません", // 5
|
||
"32MB以上のファイルは扱えません", // 6
|
||
"指定したファイルは大きすぎます", // 7
|
||
"16MB以上のファイルは扱えません", // 8
|
||
"Flash 1MbのSAVEタイプは、", // 9
|
||
"[EXP128K]で取り扱う事ができません", // 10
|
||
"SAVファイルがありません!", // 11
|
||
"SAVファイルを削除していませか?", // 12
|
||
"(A):確認" // 13
|
||
};
|
||
|
||
static char *errmsg_e[14] = {
|
||
"FAT initialization failed ", // 0
|
||
"Please apply the appropriate DLDI Patch.", // 1
|
||
"Slot2 expansion pack not found ", // 2
|
||
"Please redo from start.", // 3
|
||
"SRAM save data not found ", // 4
|
||
"Can't process to SAV file.", // 5
|
||
"Can't load a file above 32MB", // 6
|
||
"Selected file too big.", // 7
|
||
"Can't load a file above 16MB", // 8
|
||
"The SAVE type of Flash 1Mb", // 9
|
||
"Can't be treated with [EXP128K].", // 10
|
||
"SAV file not found!", // 11
|
||
" delete the SAV file?", // 12
|
||
"(A):Confirm" // 13
|
||
};
|
||
|
||
|
||
static char *cnfmsg_j[11] = {
|
||
"(A):実行, (B):取消", // 0
|
||
"現在のSRAMにあるSAVEデータを", // 1
|
||
"SAVファイルに保存します", // 2
|
||
"SAVファイルのデータを", // 3
|
||
"SRAMのSAVEにロードします", // 4
|
||
"全SRAM領域をバックアップファイル", // 5
|
||
"(SRAM.BIN)から復旧します", // 6
|
||
"全SRAM領域をバックアップとして", // 7
|
||
"SRAM.BINに退避します", // 8
|
||
"このSlot2拡張パックを GBA ExpLoader用に", // 9
|
||
"設定(SRAMは失われます)していいですか?" // 10
|
||
};
|
||
|
||
static char *cnfmsg_e[11] = {
|
||
"(A):Run, (B):Cancel", // 0
|
||
"Write save data in SRAM", // 1
|
||
" to SAV file", // 2
|
||
"Load save data in SRAM", // 3
|
||
" from SAV file", // 4
|
||
"Restore all data in SRAM", // 5
|
||
" from file SRAM.BIN", // 6
|
||
"Backup all data in SRAM", // 7
|
||
" to file SRAM.BIN", // 8
|
||
"May I set this Slot2 expansion pack", // 9
|
||
"for GBA ExpLoader?" // 10
|
||
};
|
||
|
||
|
||
static char *barmsg_j[4] = {
|
||
" NORを消去中... ", // 0
|
||
" NORにコピー中... ", // 1
|
||
" RAMにロード中... ", // 2
|
||
" ROMを解析中... " // 3
|
||
};
|
||
|
||
static char *barmsg_e[4] = {
|
||
" Erasing NOR... ", // 0
|
||
" Copying to NOR... ", // 1
|
||
" Loading to RAM... ", // 2
|
||
" Analyzing ROM... " // 3
|
||
};
|
||
|
||
|
||
static char *cmd_m_j[4] = {
|
||
" 振動レベル : (小) ",
|
||
" 振動レベル : (中) ",
|
||
" 振動レベル : (大) ",
|
||
" ブラウザ用拡張メモリ "
|
||
};
|
||
|
||
static char *cmd_m_e[4] = {
|
||
" Rumble level: Weak ",
|
||
" Rumble level: Medium ",
|
||
" Rumble level: Strong ",
|
||
" Expansion RAM "
|
||
};
|
||
|
||
|
||
static char *t_msg_j[22] = {
|
||
"選択中のゲーム",
|
||
" PSRAMモード",
|
||
"(A):RAMにゲームをロードして実行 ",
|
||
"(B):SRAMのSAVEデータを SAVファイルに保存 ",
|
||
" 全SRAMデータ領域 (X):退避, (Y):復旧",
|
||
"(R):モード変更 ",
|
||
"(L)/(R):モード変更 ",
|
||
"(L):モード変更 ",
|
||
" NORモード ",
|
||
"(A):ゲームのコピー (X):NORを実行 ",
|
||
"(B):SRAMのSAVEデータを SAVファイルに保存 ", // 10
|
||
"(Y):SAVファイルを SRAMのSAVEにロード ",
|
||
"[%s] %d ゲーム",
|
||
"消失もしくは新規状態",
|
||
"現在のSRAMのSAVE",
|
||
" == GBAファイルがありません == ",
|
||
"初期化中....",
|
||
" 拡張モード",
|
||
"(A):3in1を設定してリセット",
|
||
"(L):モード変更 ",
|
||
"(R):ブラウザ用拡張メモリ ",
|
||
" SDRAMモード",
|
||
};
|
||
|
||
static char *t_msg_e[22] = {
|
||
"Selected game",
|
||
" PSRAM Mode ",
|
||
"(A):Run (B):Write SRAM to SAV file",
|
||
"(X):Backup whole SRAM to SRAM.BIN ",
|
||
"(Y):Restore SRAM.BIN to SRAM ",
|
||
"(R):Change mode ",
|
||
"(L)/(R):Change mode ",
|
||
"(L):Change mode ",
|
||
" NOR mode ",
|
||
"(A):Copy game (X):Run game in NOR ",
|
||
"(B):Write SRAM to SAV file ", // 10
|
||
"(Y):Load SAV file to SRAM ",
|
||
"[%s] %d game",
|
||
"Empty or new state",
|
||
"Current SRAM Save",
|
||
" == GBA file not found == ",
|
||
"Initialize....",
|
||
"Expansion mode",
|
||
"(A):Set mode and soft reset",
|
||
"(L):Change mode ",
|
||
"(R):Expansion RAM ",
|
||
" SDRAM Mode ",
|
||
};
|
||
|
||
|
||
static char *savmsg_j[6] = {
|
||
" SRAMにSAVEデータをロード", // 0
|
||
"(A):選択したファイルをロード", // 1
|
||
"(B):ロードしない(新規ゲーム)", // 2
|
||
" SRAMのSAVEデータを保存 ", // 3
|
||
"(A):選択したファイルに保存", // 4
|
||
"(B):保存しない(取消)", // 5
|
||
};
|
||
|
||
static char *savmsg_e[6] = {
|
||
" Load SRAM from SAV file ", // 0
|
||
"(A):Load from selected file", // 1
|
||
"(B):No load(New Game)", // 2
|
||
" Write SRAM to SAV file ", // 3
|
||
"(A):write to selected file", // 4
|
||
"(B):No write(Cancel)", // 5
|
||
};
|
||
|
||
|
||
void setLangMsg()
|
||
{
|
||
u32 UserLang = 0;
|
||
int i;
|
||
|
||
UserLang = PersonalData->_user_data.language;
|
||
|
||
if(UserLang != 0) {
|
||
for(i = 0; i < 14; i++)
|
||
errmsg[i] = errmsg_e[i];
|
||
for(i = 0; i < 11; i++)
|
||
cnfmsg[i] = cnfmsg_e[i];
|
||
for(i = 0; i < 4; i++)
|
||
barmsg[i] = barmsg_e[i];
|
||
for(i = 0; i < 4; i++)
|
||
cmd_m[i] = cmd_m_e[i];
|
||
for(i = 0; i < 22; i++)
|
||
t_msg[i] = t_msg_e[i];
|
||
for(i = 0; i < 6; i++)
|
||
savmsg[i] = savmsg_e[i];
|
||
return;
|
||
}
|
||
|
||
for(i = 0; i < 14; i++)
|
||
errmsg[i] = errmsg_j[i];
|
||
for(i = 0; i < 11; i++)
|
||
cnfmsg[i] = cnfmsg_j[i];
|
||
for(i = 0; i < 4; i++)
|
||
barmsg[i] = barmsg_j[i];
|
||
for(i = 0; i < 4; i++)
|
||
cmd_m[i] = cmd_m_j[i];
|
||
for(i = 0; i < 22; i++)
|
||
t_msg[i] = t_msg_j[i];
|
||
for(i = 0; i < 6; i++)
|
||
savmsg[i] = savmsg_j[i];
|
||
|
||
}
|
||
|
||
static bool _isKanji1(u8 ch)
|
||
{
|
||
if((ch >= 0x81) && (ch <= 0x9F))
|
||
return true;
|
||
if((ch >= 0xE0) && (ch <= 0xEF))
|
||
return true;
|
||
if((ch >= 0xFA) && (ch <= 0xFB)) // JIS X 0218他 IBM拡張文字 (0xFA40-0xFC4B)
|
||
return true;
|
||
return false;
|
||
}
|
||
|
||
char *jstrncpy(char *s1, char *s2, size_t n)
|
||
{
|
||
bool kan;
|
||
|
||
char *p = s1;
|
||
|
||
while(n) {
|
||
n--;
|
||
kan = _isKanji1((u8)*s2);
|
||
if(!(*s1++ = *s2++))
|
||
break;
|
||
}
|
||
|
||
if(kan)
|
||
*(s1 - 1) = '\0';
|
||
|
||
while(n--)
|
||
*s1++ = '\0';
|
||
|
||
*s1 = '\0';
|
||
|
||
return(p);
|
||
}
|
||
|