مستقیم میرم سر اصل مطلب و با ارائه یه مثال نحوه این کار رو بهتون نشون میدم :
خلاصه کاری که باید انجام بشه :
1. تزریق فونت فارسی به بازی
2. پیدا کردن مقدار هگزادسیمال حروف ژاپنی (یا انگلیسی)
3. پیدا کردن مقدار هگزادسیمال حروف فارسی
4. جایگزینی مقادیر هگزادسیمال حروف ژاپنی (یا انگلیسی) با مقادیر هگزادسیمال حروف فارسی
توضیح مراحل كار :
ابتدا بهتره كه يه بك آپ از فايل اصلي بازي يه جاي ديگه نگه دارين. از فايل Goal 3 (J).nes يه كپي بگيريد و مثلا اسمش رو بزارين Work.nes :
1. تزریق فونت فارسی به بازی :
برنامه Tile Layer Pro را اجرا كنيد سپس فايل Work.nes را با آن باز نماييد. همان طور كه ملاحضه ميكنيد از حروف فارسي خبري نيست. با استفاده از اين برنامه ميتوانيد حروف ژاپني و در صورت لزوم حروف انگليسي را ويرايش كنيد و به جاي آنها حروف فارسي را جايگزين و سپس از اين حروف فارسي استفاده كنيد. ويرايش و ساخت حروف با اینکه به نظر بچه گانه ميآيد ولي كار بسيار حساسي هست و نياز به ابتكار عمل و مهارت زيادي دارد.
همان طور كه ميبينيد من در شكل زير چند حرف ژاپني را ويرايش كردهام و كلمات "پنالتي" و "مقابل هم" را ساختهام. پس از ويرايش حتما بايستي سيو كنيد.
2. پیدا کردن مقدار هگزادسیمال حروف ژاپنی
شبيه ساز NESticle را اجرا كنيد سپس فایل Goal 3 (J).nes را با آن لود نماييد. با زدن كليد F2 پنجرهاي مطابق شكل زير ظاهر ميشود. در اين پنجره ميتوانيد حروف به كار رفته در بازي را ببينيد. براي ثابت شدن محل حروف ميتوانيد به جايي از بازي برويد كه تصوير ثابتي دارد.
ميخواهيم عبارت
را ويرايش كنيم و تبديل كنيم به "پنالتي" براي اين منظور بايد مقادير هر يك از حروف را كه در مبناي هگزادسيمال هستند را پيدا كنيم و سپس عمل جايگزيني را انجام دهيم.
براي پيدا كردن مقدار هگزادسيمال يك حرف، آن را در جدول Pattern tables جستجو ميكنيم. (پيدا كردن يك حرف نياز به دقت زيادي دارد) سپس بر روي آن كليك ميكنيم. پنجره كوچك ديگري باز ميشود كه در بالاي آن مقدار هگزادسيمال آن حرف نوشته شده است. دقت كنيد كه فاصله يا جاي خالي هم مقداري بر مبناي هگزادسيمال دارد! مقدار هگزادسيمال عبارت
برابر است با 9D 9F AF CF 02 BD CB A3
3. پیدا کردن مقدار هگزادسیمال حروف فارسی
شبيه ساز NESticle را اجرا كنيد سپس فايل Work.nes را لود نماييد. اگر دقت كنيد بعضي از حروف ژاپني به هم ريختهاند. (خودتان حدس بزنيد چرا؟!) با زدن كليد F2 پنجره Pattern tables را ظاهر كنيد. مقادير هگزادسيمال حروفي را كه كلمه "پنالتي" را تشكيل ميدهند را پيدا كنيد. مقدار هگزادسيمال كلمه "پنالتي" برابر است با AD AE AF (دقت کنید که این مقدار ثابت نیست و بستگی به محلی دارد که شما آن را ویرایش و تبدیل به کلمه پنالتی کرده اید)
4. جایگزینی مقادیر هگزادسیمال حروف ژاپنی با مقادیر هگزادسیمال حروف فارسی
اكنون كافي است با استفاده از يك برنامه ويرايش هگزادسيمال مقدار 9D 9F AF CF 02 BD CB A3 را جستجو كرده و با مقدار AD AE AF 02 02 02 02 02 جايگزين كنيم. دقت كنيد كه در اين مثال 02 مقدار هگزادسيمال فاصله يا جاي خالي است كه در اينجا براي از بين بردن حروف اضافي عبارت
مورد استفاده قرار خواهيم داد.
شبيه ساز FCEUX را اجرا نماييد و فايل Work.nes را لود كنيد. از منوي Debug گزينه Hex Editor را انتخاب كنيد. در پنجره باز شده از منوي View گزينه Rom File را تيك بزنيد. از منوي Edit گزينه Find را بزنيد. در پنجره باز شده مقدار 9D 9F AF CF 02 BD CB A3 را جستجو كنيد و سپس آن را با مقدار AD AE AF 02 02 02 02 02 جايگزين نماييد. از منوي File گزينه Save Rom را بزنيد. از شبيه ساز خارج شويد و دوباره بازي را لود كنيد و نتيجه كار خود را ببيند.
ابزار لازم :
1. بازي Goal 3 (ورژن ژاپنی)
2. برنامه Tile Layer Pro
3. شبيه ساز NESticle
4. شبيه ساز FCEUX
1. بازي Goal 3 (ورژن ژاپنی)
2. برنامه Tile Layer Pro
3. شبيه ساز NESticle
4. شبيه ساز FCEUX
خلاصه کاری که باید انجام بشه :
1. تزریق فونت فارسی به بازی
2. پیدا کردن مقدار هگزادسیمال حروف ژاپنی (یا انگلیسی)
3. پیدا کردن مقدار هگزادسیمال حروف فارسی
4. جایگزینی مقادیر هگزادسیمال حروف ژاپنی (یا انگلیسی) با مقادیر هگزادسیمال حروف فارسی
توضیح مراحل كار :
ابتدا بهتره كه يه بك آپ از فايل اصلي بازي يه جاي ديگه نگه دارين. از فايل Goal 3 (J).nes يه كپي بگيريد و مثلا اسمش رو بزارين Work.nes :
1. تزریق فونت فارسی به بازی :
برنامه Tile Layer Pro را اجرا كنيد سپس فايل Work.nes را با آن باز نماييد. همان طور كه ملاحضه ميكنيد از حروف فارسي خبري نيست. با استفاده از اين برنامه ميتوانيد حروف ژاپني و در صورت لزوم حروف انگليسي را ويرايش كنيد و به جاي آنها حروف فارسي را جايگزين و سپس از اين حروف فارسي استفاده كنيد. ويرايش و ساخت حروف با اینکه به نظر بچه گانه ميآيد ولي كار بسيار حساسي هست و نياز به ابتكار عمل و مهارت زيادي دارد.
همان طور كه ميبينيد من در شكل زير چند حرف ژاپني را ويرايش كردهام و كلمات "پنالتي" و "مقابل هم" را ساختهام. پس از ويرايش حتما بايستي سيو كنيد.
2. پیدا کردن مقدار هگزادسیمال حروف ژاپنی
شبيه ساز NESticle را اجرا كنيد سپس فایل Goal 3 (J).nes را با آن لود نماييد. با زدن كليد F2 پنجرهاي مطابق شكل زير ظاهر ميشود. در اين پنجره ميتوانيد حروف به كار رفته در بازي را ببينيد. براي ثابت شدن محل حروف ميتوانيد به جايي از بازي برويد كه تصوير ثابتي دارد.
ميخواهيم عبارت
براي پيدا كردن مقدار هگزادسيمال يك حرف، آن را در جدول Pattern tables جستجو ميكنيم. (پيدا كردن يك حرف نياز به دقت زيادي دارد) سپس بر روي آن كليك ميكنيم. پنجره كوچك ديگري باز ميشود كه در بالاي آن مقدار هگزادسيمال آن حرف نوشته شده است. دقت كنيد كه فاصله يا جاي خالي هم مقداري بر مبناي هگزادسيمال دارد! مقدار هگزادسيمال عبارت
3. پیدا کردن مقدار هگزادسیمال حروف فارسی
شبيه ساز NESticle را اجرا كنيد سپس فايل Work.nes را لود نماييد. اگر دقت كنيد بعضي از حروف ژاپني به هم ريختهاند. (خودتان حدس بزنيد چرا؟!) با زدن كليد F2 پنجره Pattern tables را ظاهر كنيد. مقادير هگزادسيمال حروفي را كه كلمه "پنالتي" را تشكيل ميدهند را پيدا كنيد. مقدار هگزادسيمال كلمه "پنالتي" برابر است با AD AE AF (دقت کنید که این مقدار ثابت نیست و بستگی به محلی دارد که شما آن را ویرایش و تبدیل به کلمه پنالتی کرده اید)
4. جایگزینی مقادیر هگزادسیمال حروف ژاپنی با مقادیر هگزادسیمال حروف فارسی
اكنون كافي است با استفاده از يك برنامه ويرايش هگزادسيمال مقدار 9D 9F AF CF 02 BD CB A3 را جستجو كرده و با مقدار AD AE AF 02 02 02 02 02 جايگزين كنيم. دقت كنيد كه در اين مثال 02 مقدار هگزادسيمال فاصله يا جاي خالي است كه در اينجا براي از بين بردن حروف اضافي عبارت
شبيه ساز FCEUX را اجرا نماييد و فايل Work.nes را لود كنيد. از منوي Debug گزينه Hex Editor را انتخاب كنيد. در پنجره باز شده از منوي View گزينه Rom File را تيك بزنيد. از منوي Edit گزينه Find را بزنيد. در پنجره باز شده مقدار 9D 9F AF CF 02 BD CB A3 را جستجو كنيد و سپس آن را با مقدار AD AE AF 02 02 02 02 02 جايگزين نماييد. از منوي File گزينه Save Rom را بزنيد. از شبيه ساز خارج شويد و دوباره بازي را لود كنيد و نتيجه كار خود را ببيند.
من بازی گل سه رو با این روش تونستم تا حد زیادی ترجمه بکنم. البته یه سری تغییرات دیگه هم توی کدهای اسمبلیش دادم که اگه وقت کردم اونا رو هم آموزش خواهم داد. فعلا جدیدترین ویرایش گل سه فارسی رو میتونین از اینجا دانلود بکنین.
منبع :
Code:
http://microbaz.blogfa.com