This commit is contained in:
GitHub Wokann
2023-12-18 13:11:51 +08:00
parent e144c7f0f3
commit d5d5631492
9 changed files with 3529 additions and 308 deletions

2
.gitignore vendored
View File

@@ -1,3 +1,5 @@
*.sav
*.exe
.vscode
*.nds
*.mch

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +1,4 @@
struct R2Save
{
/*0x00*/ struct R2SaveHeader R2SaveHeader;
//每个Mission数据均以gameMark: DSPRS开头
/*0x1BDBE*/ const unsigned char Ranger2Mission1[0x3020];
/*0x1EDDE*/ const unsigned char Ranger2Mission2[0x3020];
/*0x21DFE*/ const unsigned char Ranger2Mission3[0x3020];
/*0x24E1E*/ const unsigned char Ranger2Mission4[0x3020];
/*0x27E3E*/ const unsigned char Ranger2Mission5[0x3020];
/*0x2AE5E*/ const unsigned char Ranger2Mission6[0x3020];
};
//请注意,以下结构并不一定完全符合游戏设置,仍需进一步的研究
struct R2SaveHeader
{
/*0x00*/ const char gameMark[0x8]; //DSPRS/0/0/0
@@ -19,7 +8,39 @@ struct R2SaveHeader
/*0x14*/ unsigned int TheNewestSave; //00-Save1 01-Save2
//……
};
struct R2MainSave//size 0x9482
{
//……
/*0x8757*/ unsigned char LanguageFlag; //0-jp/usen 1-euen 2-fr 3-de 4-it 5-sp
//……
/*0x87E3*/ unsigned char PlayerName;//utf8
//……
};
struct R2QuickSave//size 0x9482
{
//……
/*0x8757*/ unsigned char LanguageFlag; //0-jp/usen 1-euen 2-fr 3-de 4-it 5-sp
//……
/*0x87E3*/ unsigned char PlayerName;//utf8
//……
};
struct R2Save
{
/*0x00*/ struct R2SaveHeader R2SaveHeader;
/*0X1C*/ struct R2MainSave R2MainSave1;
/*0X949E*/ struct R2MainSave R2MainSave2;
/*0x12920*/ struct R2SaveHeader R2QuickSaveHeader; //when used, fill with 00
/*0x1293C*/ struct R2QuickSave R2QuickSave;
//每个Mission数据均以gameMark: DSPRS开头
/*0x1BDBE*/ const unsigned char Ranger2Mission1[0x3020];
/*0x1EDDE*/ const unsigned char Ranger2Mission2[0x3020];
/*0x21DFE*/ const unsigned char Ranger2Mission3[0x3020];
/*0x24E1E*/ const unsigned char Ranger2Mission4[0x3020];
/*0x27E3E*/ const unsigned char Ranger2Mission5[0x3020];
/*0x2AE5E*/ const unsigned char Ranger2Mission6[0x3020];
};
//特殊任务1取得玛纳霏的蛋
const unsigned char Ranger2Mission1[0x3020] =
{
0x44,0x53,0x50,0x52,0x53,0x00,0x00,0x00,0xDA,0xBD,0x01,0x00,0xFF,0xFF,0xFF,0xFF,
@@ -794,6 +815,7 @@ const unsigned char Ranger2Mission1[0x3020] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//特殊任务2营救被绑架的利欧路
const unsigned char Ranger2Mission2[0x3020] =
{
0x44,0x53,0x50,0x52,0x53,0x00,0x00,0x00,0xFA,0xED,0x01,0x00,0xFF,0xFF,0xFF,0xFF,
@@ -1568,6 +1590,7 @@ const unsigned char Ranger2Mission2[0x3020] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//特殊任务3保卫大家的塔吧
const unsigned char Ranger2Mission3[0x3020] =
{
0x44,0x53,0x50,0x52,0x53,0x00,0x00,0x00,0x1A,0x1E,0x02,0x00,0xFF,0xFF,0xFF,0xFF,
@@ -2342,6 +2365,7 @@ const unsigned char Ranger2Mission3[0x3020] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//附加任务1冷水谷的帝牙卢卡
const unsigned char Ranger2Mission4[0x3020] =
{
0x44,0x53,0x50,0x52,0x53,0x00,0x00,0x00,0x3A,0x4E,0x02,0x00,0xFF,0xFF,0xFF,0xFF,
@@ -3116,6 +3140,7 @@ const unsigned char Ranger2Mission4[0x3020] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//附加任务2渺远沙漠的帕路奇亚
const unsigned char Ranger2Mission5[0x3020] =
{
0x44,0x53,0x50,0x52,0x53,0x00,0x00,0x00,0x5A,0x7E,0x02,0x00,0xFF,0xFF,0xFF,0xFF,
@@ -3890,6 +3915,7 @@ const unsigned char Ranger2Mission5[0x3020] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//附加任务3为了花之新娘与谢米
const unsigned char Ranger2Mission6[0x3020] =
{
0x44,0x53,0x50,0x52,0x53,0x00,0x00,0x00,0x7A,0xAE,0x02,0x00,0xFF,0xFF,0xFF,0xFF,

View File

@@ -1,6 +1,29 @@
//请注意,以下结构并不一定完全符合游戏设置,仍需进一步的研究
struct R3jpSaveHeader
{
/*0x00*/ const char gameMark[0x8]; //DSRASA/0/0
/*0x08*/ unsigned int OffsetOfSave1; //0x1C
/*0x0C*/ unsigned int OffsetOfSave2; //0x8C48
/*0x10*/ unsigned int checksum; //?
/*0x14*/ unsigned int TheNewestSave; //00-Save1 01-Save2
//……
};
struct R3jpMainSave//size 0x8C2C
{
//……
};
struct R3jpQuickSave//size 0x8C2C
{
//……
};
struct R3jpSave
{
/*0x00*/ struct R3jpSaveHeader R3jpSaveHeader;
/*0x1C*/ struct R3jpMainSave R3MainSave1;
/*0X8C48*/ struct R3jpMainSave R3MainSave2;
/*0x11874*/ struct R3jpSaveHeader R3QuickSaveHeader; //when used, fill with 00
/*0x11890*/ struct R3jpQuickSave R3QuickSave;
//每个Mission数据均以gameMark: DSRASA开头
/*0x1A4BC*/ const unsigned char Ranger3jpMission1[0x401C];
/*0x1E4D8*/ const unsigned char Ranger3jpMission2[0x401C];
@@ -11,16 +34,7 @@ struct R3jpSave
/*0x32564*/ const unsigned char Ranger3jpMission6[0x401C];
};
struct R3jpSaveHeader
{
/*0x00*/ const char gameMark[0x8]; //DSRASA/0/0
/*0x08*/ unsigned int OffsetOfSave1; //0x1C
/*0x0C*/ unsigned int OffsetOfSave2; //0x8C48
/*0x10*/ unsigned int checksum; //?
/*0x14*/ unsigned int TheNewestSave; //00-Save1 01-Save2
//……
};
//特殊任务1守护传说中的蓝色圆球
const unsigned char Ranger3jpMission1[0x401C] =
{
0x44,0x53,0x52,0x41,0x53,0x41,0x00,0x00,0xD8,0xA4,0x01,0x00,0xFF,0xFF,0xFF,0xFF,
@@ -1051,6 +1065,7 @@ const unsigned char Ranger3jpMission1[0x401C] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//特殊任务2调查神秘的火山爆发
const unsigned char Ranger3jpMission2[0x401C] =
{
0x44,0x53,0x52,0x41,
@@ -2082,6 +2097,7 @@ const unsigned char Ranger3jpMission2[0x401C] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//特殊任务3保护迷路的谢米
const unsigned char Ranger3jpMission3[0x401C] =
{
0x44,0x53,0x52,0x41,0x53,0x41,0x00,0x00,
@@ -3113,6 +3129,7 @@ const unsigned char Ranger3jpMission3[0x401C] =
0x00,0x00,0x00,0x00
};
//追加任务1寻找骑拉帝纳的白金宝珠
const unsigned char Ranger3jpMission4[0x401C] =
{
0x44,0x53,0x52,0x41,0x53,0x41,0x00,0x00,0x2C,0x65,0x02,0x00,
@@ -4143,6 +4160,7 @@ const unsigned char Ranger3jpMission4[0x401C] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//追加任务2向阿尔宙斯承诺
const unsigned char Ranger3jpMission5[0x401C] =
{
0x44,0x53,0x52,0x41,0x53,0x41,0x00,0x00,0x48,0xA5,0x02,0x00,0xFF,0xFF,0xFF,0xFF,
@@ -5173,6 +5191,7 @@ const unsigned char Ranger3jpMission5[0x401C] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//特殊任务4代欧奇希斯与谜之神殿
const unsigned char Ranger3jpMission6[0x401C] =
{
0x44,0x53,0x52,0x41,0x53,0x41,0x00,0x00,

View File

@@ -1,6 +1,29 @@
//请注意,以下结构并不一定完全符合游戏设置,仍需进一步的研究
struct R3overseaSaveHeader
{
/*0x00*/ const char gameMark[0x8]; //DSRASA/0/0
/*0x08*/ unsigned int OffsetOfSave1; //0x100
/*0x0C*/ unsigned int OffsetOfSave2; //0x8E00
/*0x10*/ unsigned int checksum; //?
/*0x14*/ unsigned int TheNewestSave; //00-Save1 01-Save2
//……
};
struct R3overseaMainSave//size 0x8D00
{
//……
};
struct R3overseaQuickSave//size 0x8D00
{
//……
};
struct R3overseaSave
{
/*0x00*/ struct R3overseaSaveHeader R3overseaSaveHeader;
/*0x100*/ struct R3overseaMainSave R3MainSave1;
/*0X8E00*/ struct R3overseaMainSave R3MainSave2;
/*0x11B00*/ struct R3overseaSaveHeader R3QuickSaveHeader; //when used, fill with 00
/*0x11C00*/ struct R3overseaQuickSave R3QuickSave;
//每个Mission数据均以gameMark: DSRASA开头
/*0x1A900*/ const unsigned char Ranger3jpMission1[0x4100];
/*0x1EA00*/ const unsigned char Ranger3jpMission2[0x4100];
@@ -11,16 +34,7 @@ struct R3overseaSave
/*0x32F00*/ const unsigned char Ranger3jpMission6[0x4100];
};
struct R3overseaSaveHeader
{
/*0x00*/ const char gameMark[0x8]; //DSRASA/0/0
/*0x08*/ unsigned int OffsetOfSave1; //0x100
/*0x0C*/ unsigned int OffsetOfSave2; //0x8E00
/*0x10*/ unsigned int checksum; //?
/*0x14*/ unsigned int TheNewestSave; //00-Save1 01-Save2
//……
};
//特殊任务1守护传说中的蓝色圆球
const unsigned char Ranger3overseaMission1[0x4100] =
{
0x44,0x53,0x52,0x41,0x53,0x41,0x00,0x00,0x00,0xAA,0x01,0x00,0x00,0x00,0x00,0x00,
@@ -1065,6 +1079,7 @@ const unsigned char Ranger3overseaMission1[0x4100] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//特殊任务2调查神秘的火山爆发
const unsigned char Ranger3overseaMission2[0x4100] =
{
0x44,0x53,0x52,0x41,0x53,0x41,0x00,0x00,0x00,0xEB,0x01,0x00,0x00,0x00,0x00,0x00,
@@ -2109,6 +2124,7 @@ const unsigned char Ranger3overseaMission2[0x4100] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//特殊任务3保护迷路的谢米
const unsigned char Ranger3overseaMission3[0x4100] =
{
0x44,0x53,0x52,0x41,0x53,0x41,0x00,0x00,0x00,0x2C,0x02,0x00,0x00,0x00,0x00,0x00,
@@ -3153,6 +3169,7 @@ const unsigned char Ranger3overseaMission3[0x4100] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//追加任务1寻找骑拉帝纳的白金宝珠
const unsigned char Ranger3overseaMission4[0x4100] =
{
0x44,0x53,0x52,0x41,0x53,0x41,0x00,0x00,0x00,0x6D,0x02,0x00,0x00,0x00,0x00,0x00,
@@ -4197,6 +4214,7 @@ const unsigned char Ranger3overseaMission4[0x4100] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//追加任务2向阿尔宙斯承诺
const unsigned char Ranger3overseaMission5[0x4100] =
{
0x44,0x53,0x52,0x41,0x53,0x41,0x00,0x00,0x00,0xAE,0x02,0x00,0x00,0x00,0x00,0x00,
@@ -5241,6 +5259,7 @@ const unsigned char Ranger3overseaMission5[0x4100] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//特殊任务4代欧奇希斯与谜之神殿
const unsigned char Ranger3overseaMission6[0x4100] =
{
0x44,0x53,0x52,0x41,0x53,0x41,0x00,0x00,0x00,0x30,0x03,0x00,0x00,0x00,0x00,0x00,

File diff suppressed because it is too large Load Diff

186
i18n.h Normal file
View File

@@ -0,0 +1,186 @@
#define TOOL_LANGUAGE_CHINESE_SIMPLIFIED 0
#define TOOL_LANGUAGE_ENGLISH 1
#define TOOL_LANGUAGE_COUNTS 2
#define TOOL_TEXTS_COUNTS 74
const char *TextOfPRNMDTool[TOOL_LANGUAGE_COUNTS][TOOL_TEXTS_COUNTS] =
{
[TOOL_LANGUAGE_CHINESE_SIMPLIFIED]=//GB2312<31>ַ<EFBFBD><D6B7><EFBFBD>
{
[0]="<EFBFBD><EFBFBD>ѡ<EFBFBD>񱾹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> [1.<2E><><EFBFBD><EFBFBD> 2.Ӣ<><D3A2>]\n",
[1]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n",
[2]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ŵĴ浵<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
"<EFBFBD>÷<EFBFBD>: PRNMDTool.exe [<5B>ļ<EFBFBD>1] [<5B>ļ<EFBFBD>2] ...\n\n",
[3]="<EFBFBD><EFBFBD><EFBFBD>»س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...\n",
[4]="%d <20><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n\n",
[5]="*---------------<2D><> %d <20><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>---------------*\n",
[6]="<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"%s\" \n\n",
[7]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_",
[8]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD> \"%s\"<EFBFBD><EFBFBD>\n",
[9]="<EFBFBD><EFBFBD> %d <20><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n\n",
[10]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD> \"%s\"<EFBFBD><EFBFBD>\n",
[11]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD><EFBFBD>Ա1<EFBFBD><EFBFBD><EFBFBD>\n",
[12]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ浵<EFBFBD><EFBFBD><EFBFBD>򲻰<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD>Ѳ<EFBFBD><EFBFBD>Ա1<EFBFBD><EFBFBD>2<EFBFBD><EFBFBD>3<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n",
[13]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD><EFBFBD>Ա %d <20><><EFBFBD><EFBFBD>\n",
[14]="<EFBFBD><EFBFBD>汾(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>Ѳ<EFBFBD><D1B2>Ա %d <20><>(<28>հ<EFBFBD>)<29><>\n",
[15]="<EFBFBD><EFBFBD>汾(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>Ѳ<EFBFBD><D1B2>Ա %d <20><>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>\n",
[16]="<EFBFBD><EFBFBD>汾(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>Ѳ<EFBFBD><D1B2>Ա %d <20><>(<28><><EFBFBD><EFBFBD>Ӣ<EFBFBD><D3A2><EFBFBD><EFBFBD>)<29><>\n",
[17]="<EFBFBD><EFBFBD>汾(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>Ѳ<EFBFBD><D1B2>Ա %d <20><><><C5B7>Ӣ<EFBFBD><D3A2><EFBFBD><EFBFBD>)<29><>\n",
[18]="<EFBFBD><EFBFBD>汾(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>Ѳ<EFBFBD><D1B2>Ա %d <20><><>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>)<29><>\n",
[19]="<EFBFBD><EFBFBD>汾(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>Ѳ<EFBFBD><D1B2>Ա %d <20><><><C5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>\n",
[20]="<EFBFBD><EFBFBD>汾(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>Ѳ<EFBFBD><D1B2>Ա %d <20><><>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD>)<29><>\n",
[21]="<EFBFBD><EFBFBD>汾(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>Ѳ<EFBFBD><D1B2>Ա %d <20><><><C5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>\n",
[22]="\n<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD>\n",
[23]="\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD> \"%s\" \n",
[24]="*============ %d <20><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>============*\n\n",
[25]="*** ע<><EFBFBD><E2A3BA><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>а<EFBFBD><D0B0><EFBFBD>Ѳ<EFBFBD><D1B2>Ա1<D4B1><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>\n\n",
[26]="<EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>\n\n",
[27]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>D001<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD>\n",
[28]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>D002<EFBFBD><EFBFBD>ȡ<EFBFBD>ô<EFBFBD>ŷ<EFBFBD><EFBFBD>ϣ˹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><EFBFBD><EFBFBD>\n",
[29]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>D003<EFBFBD><EFBFBD>Ӫ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD>\n",
[30]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>D004<EFBFBD><EFBFBD>Ѱ<EFBFBD>һ<EFBFBD>֮<EFBFBD>λã<EFBFBD>\n",
[31]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> <20><><EFBFBD><EFBFBD>D001<30><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>\n",
[32]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> <20><><EFBFBD><EFBFBD>D002<30><32>ȡ<EFBFBD>ô<EFBFBD>ŷ<EFBFBD><C5B7>ϣ˹<CFA3><CBB9><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><CEA3><EFBFBD>\n",
[33]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> <20><><EFBFBD><EFBFBD>D003<30><33>Ӫ<EFBFBD><D3AA>ʱ<EFBFBD><CAB1><EFBFBD>ȣ<EFBFBD>\n",
[34]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> <20><><EFBFBD><EFBFBD>D004<30><34>Ѱ<EFBFBD>һ<EFBFBD>֮<EFBFBD>λã<CEBB>\n",
[35]="ע<EFBFBD><EFBFBD>Ѳ<EFBFBD><EFBFBD>Ա1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀͨ<EFBFBD>غ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀͨ<EFBFBD>غ<EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¡<EFBFBD>R+X+LEFT<46><54><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>\n\n"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P8M2-9D6F-43H7\n"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><><C5B7>Ӣ<EFBFBD>İ桡<C4B0><E6A1A1><EFBFBD><EFBFBD>Mg35-Cpb8-4FW8\n"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><>޷<EFBFBD><DEB7>İ桡<C4B0><E6A1A1><EFBFBD><EFBFBD>DY4g-k28S-QB9F\n"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><>޵<EFBFBD><DEB5>İ桡<C4B0><E6A1A1><EFBFBD><EFBFBD>R3d4-cv2S-WC7W\n"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><><C5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>İ棺C58f-t3WT-Vn79\n"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><><C5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>İ棺FH38-fwD8-5S2a\n"
"\n",
[36]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD>\n",
[37]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD>Ӫ<EFBFBD>ȱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><EFBFBD><EFBFBD>ŷ·<EFBFBD><EFBFBD>\n",
[38]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>\n",
[39]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD>ȵĵ<EFBFBD><EFBFBD><EFBFBD>¬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n",
[40]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԶɳĮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD><EFBFBD><EFBFBD>\n",
[41]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><EFBFBD>Ϊ<EFBFBD>˻<EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>ף<EFBFBD>\n",
[42]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>\n",
[43]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32>Ӫ<EFBFBD>ȱ<EFBFBD><C8B1><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD>ŷ·<C5B7><C2B7>\n",
[44]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>ɣ<EFBFBD>\n",
[45]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>ˮ<EFBFBD>ȵĵ<C8B5><C4B5><EFBFBD>¬<EFBFBD><C2AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n",
[46]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>ԶɳĮ<C9B3><C4AE><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>ǣ<EFBFBD><C7A3><EFBFBD>\n",
[47]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33>Ϊ<EFBFBD>˻<EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>ף<EFBFBD>\n",
[48]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>ɫԲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n",
[49]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĻ<EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n",
[50]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>л<EFBFBD>ף<EFBFBD>\n",
[51]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>׷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>Ѱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵİ׽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n",
[52]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>׷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD>򰢶<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD>\n",
[53]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŷ<EFBFBD><EFBFBD>ϣ˹<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n",
[54]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD>ػ<EFBFBD><D8BB><EFBFBD>˵<EFBFBD>е<EFBFBD><D0B5><EFBFBD>ɫԲ<C9AB><D4B2><EFBFBD><EFBFBD>\n",
[55]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĻ<D8B5>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n",
[56]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>л<EFBFBD>ף<EFBFBD>\n",
[57]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> ׷<><D7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>Ѱ<EFBFBD><D1B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵİ׽<C4B0><D7BD><EFBFBD><EFBFBD>\n",
[58]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> ׷<><D7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD>򰢶<EFBFBD><F2B0A2B6><EFBFBD>˹<EFBFBD><CBB9>ŵ<EFBFBD><C5B5>\n",
[59]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>չ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD>ŷ<EFBFBD><C5B7>ϣ˹<CFA3><CBB9><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>\n",
[60]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵij<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> [1.<2E><> 2.<2E><>]\n<EFBFBD><EFBFBD>",
[61]="\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>Ŵ浵<EFBFBD>İ汾<EFBFBD>ǣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> \n[1.Ѳ<><D1B2>Ա1-<2D>հ<EFBFBD> 2.Ѳ<><D1B2>Ա2<D4B1><32>ӿƪ-<2D>հ<EFBFBD>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8> 3.Ѳ<><D1B2>Ա3<D4B1><33>֮<EFBFBD>켣-<2D>հ<EFBFBD> 4.Ѳ<><D1B2>Ա3<D4B1><33>֮<EFBFBD>켣-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]\n<EFBFBD><EFBFBD>",
[62]="<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>Ŵ浵_Ѳ<EFBFBD><EFBFBD>Ա1<EFBFBD><EFBFBD>_<EFBFBD>հ<EFBFBD>.sav",
[63]="<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>Ŵ浵_Ѳ<EFBFBD><EFBFBD>Ա2<EFBFBD><EFBFBD>_<EFBFBD>հ<EFBFBD>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>.sav",
[64]="<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>Ŵ浵_Ѳ<EFBFBD><EFBFBD>Ա3<EFBFBD><EFBFBD>_<EFBFBD>հ<EFBFBD>.sav",
[65]="<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>Ŵ浵_Ѳ<EFBFBD><EFBFBD>Ա3<EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.sav",
[66]="<EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>\n",
[67]="\n<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>Ŵ浵<EFBFBD>Ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD> \"%s\" \n",
[68]="\n<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>Ŵ浵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> [1.<2E><> 2.<2E><>]\n<EFBFBD><EFBFBD>",
[69]="\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD><EFBFBD>Ա1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊδ<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> [1.<2E><> 2.<2E><>]\n<EFBFBD><EFBFBD>",
[70]="\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD><EFBFBD>Ա1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊδ<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n[1.<2E><><EFBFBD><EFBFBD>Ϊδ<CEAA><CEB4><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>״̬ 2.<2E><><EFBFBD><EFBFBD>Ϊ<EFBFBD>ѽ<EFBFBD><D1BD>յ<EFBFBD><D5B5><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7>״̬ 3.<2E><>]\n<EFBFBD><EFBFBD>",
[71]="\n<EFBFBD>ѽ<EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD><EFBFBD>Ա1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊδ<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>\n",
[72]="\n<EFBFBD>ѽ<EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD><EFBFBD>Ա1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ѽ<EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>\n",
[73]="\nע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>²ſɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
},
[TOOL_LANGUAGE_ENGLISH]=
{
[0]="Please select the display language of this tool, enter the serial number and press Enter to confirm. [1. Chinese 2. English]\n",
[1]="Wrong parameters, please select again.\n",
[2]="Warning: You didn't provide sav file(s) that needs distribution. Please drag save file(s) onto this program or enter save filename(s) in the command line as follows.\n"
"Usage: PRNMDTool.exe [file1] [file2] ...\n\n",
[3]="Press Enter to exit...\n",
[4]="%d File(s) will be processed.\n\n",
[5]="*---------------File %d is being processed---------------*\n",
[6]="FileName: \"%s\" \n\n",
[7]="Distributed_",
[8]="Please check your file name. Can not open file \"%s\".\n",
[9]="File %d was processed.\n\n",
[10]="Please check your file name. Can not create new file \"%s\".\n",
[11]="Warning: This is a wrong savefile of ranger1.\n",
[12]="Warning: Wrong savefile or ranger 1, 2, 3 savefile that do not contain game progress. It can't be read by tool.\n",
[13]="Save Version: Ranger %d .\n",
[14]="Save Version (& Language): Ranger %d (jp).\n",
[15]="Save Version (& Language): Ranger %d (oversea).\n",
[16]="Save Version (& Language): Ranger %d (us-en).\n",
[17]="Save Version (& Language): Ranger %d (eu-en).\n",
[18]="Save Version (& Language): Ranger %d (eu-fr).\n",
[19]="Save Version (& Language): Ranger %d (eu-it).\n",
[20]="Save Version (& Language): Ranger %d (eu-de).\n",
[21]="Save Version (& Language): Ranger %d (eu-sp).\n",
[22]="\nThis file does not need to be distributed again.\n",
[23]="\nSee File: \"%s\" \n",
[24]="*============ %d File(s) are all done============*\n\n",
[25]="*** Note: Ranger1 Oversea file existed, which don't need to be distributed. See above to know how to unlock mission on Ranger1 oversea.\n\n",
[26]="Can not open file.\n\n",
[27]="Distributed! MissionD001: Recover the Precious Egg!\n",
[28]="Distributed! MissionD002: Gain Deoxys's Trust?!\n",
[29]="Distributed! MissionD003: Rescue Celebi!\n",
[30]="Distributed! MissionD004: Find Mew, the Mirage!\n",
[31]="NoNeed ToDo! Already Gotten MissionD001: Recover the Precious Egg!!\n",
[32]="NoNeed ToDo! Already Gotten MissionD002: Gain Deoxys's Trust?!!\n",
[33]="NoNeed ToDo! Already Gotten MissionD003: Rescue Celebi!!\n",
[34]="NoNeed ToDo! Already Gotten MissionD004: Find Mew, the Mirage!!\n",
[35]="Note: Ranger1 oversea don't need to be distributed.\n"
" After finishing the first game, Ranger Net will auto boot 3 missions, which you should finish the previous mission to unlock the next mission.\n"
" After finishing the first game, holding R+X+Left on the Ranger Net screen can unlock \"Enter the password\" option.\n\n"
" Then enter the code followed to unlock the Manaphy mission:\n"
" *US-en: P8M2-9D6F-43H7\n"
" *EU-en: Mg35-Cpb8-4FW8\n"
" *EU-fr: DY4g-k28S-QB9F\n"
" *EU-de: R3d4-cv2S-WC7W\n"
" *EU-sp: C58f-t3WT-Vn79\n"
" *EU-it: FH38-fwD8-5S2a\n"
"\n",
[36]="Distributed! SpecialMission1: Recover the Manaphy Egg!\n",
[37]="Distributed! SpecialMission2: Rescue Kidnapped Riolu!\n",
[38]="Distributed! SpecialMission3: Liberate the Tower!\n",
[39]="Distributed! ExtraMission1: Dialga in Hia Valley!?\n",
[40]="Distributed! ExtraMission2: Palkia in Haruba Desert!?\n",
[41]="Distributed! ExtraMission3: For the Bride and Shaymin!\n",
[42]="NoNeed ToDo! Already Gotten SpecialMission1: Recover the Manaphy Egg!!\n",
[43]="NoNeed ToDo! Already Gotten SpecialMission2: Rescue Kidnapped Riolu!!\n",
[44]="NoNeed ToDo! Already Gotten SpecialMission3: Liberate the Tower!!\n",
[45]="NoNeed ToDo! Already Gotten ExtraMission1: Dialga in Hia Valley!?!\n",
[46]="NoNeed ToDo! Already Gotten ExtraMission2: Palkia in Haruba Desert!?!\n",
[47]="NoNeed ToDo! Already Gotten ExtraMission3: For the Bride and Shaymin!!\n",
[48]="Distributed! SpecialMission1: Protect The Blue Sphere!\n",
[49]="Distributed! SpecialMission2: Investigate the Odd Eruption!!\n",
[50]="Distributed! SpecialMission3: Rescue the Lost Shaymin!!\n",
[51]="Distributed! ExtraMission1: Find Giratina's Griseous Orb!!\n",
[52]="Distributed! ExtraMission2: Pledge to Arceus!\n",
[53]="Distributed! SpecialMission4: Deoxys and the Odd Temple!\n",
[54]="NoNeed ToDo! Already Gotten SpecialMission1: Protect The Blue Sphere!\n",
[55]="NoNeed ToDo! Already Gotten SpecialMission2: Investigate the Odd Eruption!!\n",
[56]="NoNeed ToDo! Already Gotten SpecialMission3: Rescue the Lost Shaymin!!\n",
[57]="NoNeed ToDo! Already Gotten ExtraMission1: Find Giratina's Griseous Orb!!\n",
[58]="NoNeed ToDo! Already Gotten ExtraMission2: Pledge to Arceus!\n",
[59]="NoNeed ToDo! Already Gotten SpecialMission4: Deoxys and the Odd Temple!\n",
[60]="Or do you need to create an initial sav file containing distribution data? Enter the serial number and press Enter to confirm. [1.Yes 2.No]\n:",
[61]="\nWhat initial distribution sav do you want to create? Enter the serial number and press Enter to confirm.\n[1.Ranger1(jp) 2.Raner2_Shadows_of_Almia(jp&oversea) 3.Ranger3_Guardian_Signs(jp) 4.Ranger3_Guardian_Signs(oversea)]\n:",
[62]="InitialDistributinoSave_Ranger1_jp.sav",
[63]="InitialDistributinoSave_Ranger2_Shadows_of_Almia_jp&oversea.sav",
[64]="InitialDistributinoSave_Ranger3_Guardian_Signs_jp.sav",
[65]="InitialDistributinoSave_Ranger3_Guardian_Signs_oversea.sav",
[66]="Can not creat file.\n",
[67]="\nInitial distribution sav has been made, see file: \"%s\" \n",
[68]="\nDo you want to continue creating additional initial distribution save(s)? Enter the serial number and press Enter to confirm. [1.Yes 2.No]\n:",
[69]="\nIt's detected that this Ranger1 Manaphy mission has received eggs, but hasn't been transferred to DPPtHGSS.\nDo you need to reset the mission to the state where the egg hasn't been received?\nEnter the serial number and press Enter to confirm. [1.Yes 2.No]\n:",
[70]="\nIt's detected that this Ranger1 Manaphy mission has transferred Manaphy Egg to DPPtHGSS.\nDo you need to reset the mission to the state where the egg hasn't been received,\nor the state where the egg has been received but not transferred to DPPtHGSS?\nEnter the serial number and press Enter to confirm.\n[1.Reset to the state where the egg hasn't been received\n 2.Reset to the state where the egg has been received but not sent to DPPtHGSS.\n 3.No]\n:",
[71]="\nThe Manaphy mission of this Ranger1 sav has been reset to the state where the egg hasn't been received.\n",
[72]="\nThe Manaphy mission of this Ranger1 sav has been reset to the state where the egg has been received but not sent to DPPtHGSS.\n",
[73]="\nNote: You need to finish game before you can perform operations related to the Manaphy mission.\n"
},
};

View File

@@ -1,6 +1,25 @@
## 宝可梦巡护员网络任务配信器
Pokemon Ranger Net Mission Distribution Tool (PRNMDTool)<br>
卧看微尘制作made by wokann
## 功能
1. 为已有进度的巡护员1日版、巡护员2日版及海外版、巡护员3日版及海外版配信巡护员网络任务。
2. 生成包含巡护员网络任务的初始存档巡护员1日版、巡护员2日版及海外版、巡护员3日版及海外版
3. 重置巡护员的玛娜霏任务将已送出蛋的状态重置为未接收蛋或未送出蛋的状态。目前仅支持巡护员1日版及海外版
## 用法
1. 将存档文件直接拖拽至本工具PRNMDTool.exe上支持批量拖拽对应功能1、3
2. 使用命令行对应功能1、3
```
PRNMDTool.exe [文件名1] [文件名2] [文件名3] ...
```
3. 双击打开PRNMTool.exe可生成初始配信存档对应功能2
## 鸣谢
1. 巡护员1存档加解密及内存研究: @ajxpk @BlackShark @DeadSkullzJr
## 参考
1. https://projectpokemon.org/home/forums/topic/45846-pokemon-ranger-save-file-encryption/#replyForm
2. https://projectpokemon.org/home/forums/topic/6785-codes-for-pokemon-ranger-1-and-2/
3. https://projectpokemon.org/home/files/file/1933-pokemon-ranger-blank-mission-saves/
## Credit & References
ranger1 decrypt/encrypt and ram research: @ajxpk @BlackShark @DeadSkullzJr
1.https://projectpokemon.org/home/forums/topic/45846-pokemon-ranger-save-file-encryption/#replyForm
2.https://projectpokemon.org/home/forums/topic/6785-codes-for-pokemon-ranger-1-and-2/
3.https://projectpokemon.org/home/files/file/1933-pokemon-ranger-blank-mission-saves/

View File

@@ -1,40 +0,0 @@
@echo off
@echo *-------------------------------------------------------------*
@echo ^| <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD><D1B2>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> v0.1 <20><><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD>΢<EFBFBD><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ^|
@echo ^| PokemonRangerNetMissionDistributionTool v0.1 made by wokann ^|
@echo ^| 2023.12.10 ^|
@echo *-------------------------------------------------------------*
@echo.
%~d0
cd "%~dp0"
::@echo <20><><EFBFBD>Ϸŵ<CFB7><C5B5>ļ<EFBFBD><C4BC>ǣ<EFBFBD>"%~1"
if "%~1" == "" (
@echo <20><EFBFBD><EBBDAB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>Ѳ<EFBFBD><D1B2>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sav<61><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>bat<61>ļ<EFBFBD><C4BC>ϡ<EFBFBD>
@echo Please drag the ranger sav file needed to be distributed onto this bat file.
@echo.
pause
goto :eof
)
set filePath=%1
for %%F in ("%filePath%") do (
set "originalFileName=%%~nxF"
)
set "distributedfile=Distributed_%originalFileName%"
@echo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD>汾 [-r1/-r2/-r3]
@echo Please enter game version [-r1/-r2/-r3]
set /p gameversion=:
@echo.
@echo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD> [-jp/-oversea]
@echo Please enter game language [-jp/-oversea]
set /p gamelanguage=:
@echo.
@echo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...
@echo.
".\PRNMDTool.exe" "%gameversion%" "%gamelanguage%" "%~1" "%distributedfile%"
@echo.
@echo.
pause