Jump to content

Ninja Gaiden 2 Black - translation


Go to solution Solved by N o o B,

Recommended Posts

  • ikskoks changed the title to Ninja Gaiden 2 Black - translation
  • Engineer
  • Solution
Posted

The text elements of NINJA GAIDEN 2 Black are located in this file:

...\NINJAGAIDEN2BLACK\Binaries\Win64\databin\databin

 

The structure of this file is very similar to the structure of the "NINJA GAIDEN: Master Collection" games.

 

You can split this file (and import it) into additional files with this tool (I couldn't find another one):

Mod Tool to unpack Ninja Gaiden Master Collction data files

 

Among the extracted files, only the files with the .LANG extension are needed, they contain the texts.

However, I have not found an editing tool for these .LANG files. I hope someone else finds or makes one and shares it here (I attach some samples!).

I have edited the NEW GAME captioned in HEX editor as a trial and it works for import. (Changed NEW GAME text --> 00003.LANG and 00004.LANG)

Képernyőfelvétel (4234).png

NG2B_LANG_TEST.zip

  • Like 1
  • Engineer
Posted (edited)

Struct doesn't seems to be complicated but can't tell the same when it comes on re-building.

I will tell more once i get into it.

From now i know it will need double packing. First you will need unpack LANG into sub languages. There are 10 localization.

Here's struct for sub languages.

 

EDiT: Seems like full struct to me. Now how to convert it into the bms...

//------------------------------------------------
//--- 010 Editor v14.0 Binary Template
//
//      File: 
//   Authors: 
//   Version: 
//   Purpose: 
//  Category: 
// File Mask: 
//  ID Bytes: 
//   History: 
//------------------------------------------------
OutputPaneClear();LittleEndian();

local uint32 i,j,k,l;

char Sign[4];
uint32 Unknown_0,Unknown_1;
uint32 LangPackStrOffset;
uint32 TotalFileSize; //important when rebuilding *.dat
uint32 LocaleOffsetCount,LocaleSizeCount;
uint32 Unknown_2;
uint32 LocaleOffsets,LocaleSizeOffsets;

FSeek(LocaleOffsets);
uint32 Offset[LocaleOffsetCount];

FSeek(LocaleSizeOffsets);
uint32 Size[LocaleSizeCount];

for (i=0; i < LocaleOffsetCount; i++)
{
    FSeek(Offset[i]);
    struct
    {
        struct 
        {
            char Sign[8];
            uint32 Unknown_0,Unknown_1;
            uint32 FileSize;
            uint32 StringPackOffsetCount,StringPackSizeCount;
            uint32 Unknown_2;
            uint32 StringPackOffsets,StringPackSizeOffsets;
            FSeek(startof(CategoryPack)+StringPackOffsets);
            uint32 StringPackOffset[StringPackOffsetCount];
            FSeek(startof(CategoryPack)+StringPackSizeOffsets);
            uint32 StringPackSize[StringPackSizeCount];
            
            for (j=0; j < StringPackOffsetCount; j++)
            {
                FSeek(startof(CategoryPack)+StringPackOffset[j]);
                struct 
                {
                    char Sign[8];
                    uint32 Unknown_0,Unknown_1;
                    uint32 FileSize;
                    uint32 StringOffsetCount,StringSizeCount;
                    uint32 Unknown_2;
                    uint32 StringOffsets,StringSizeOffsets;
                    FSeek(startof(StringPack)+StringOffsets);
                    uint32 StringOffset[StringOffsetCount];
                    FSeek(startof(StringPack)+StringSizeOffsets);
                    uint32 StringSize[StringSizeCount];
                    struct
                    {
                        for (k=0; k < StringOffsetCount; k++)
                        {
                            FSeek(startof(StringPack)+StringOffset[k]);
                            struct
                            {
                                wchar_t String[StringSize[k]/2];
                            }Text;
                        }
                    }Strings;
                }StringPack;
            }    
        }CategoryPack;
    }Localization;
}

 

Edited by h3x3r
  • Engineer
Posted

So.. to have everything in one place.. 🙂

1.)

The text elements of NINJA GAIDEN 2 Black are located in this file:

...\NINJAGAIDEN2BLACK\Binaries\Win64\databin\databin

2.)
databin extract tool:
https://www.nexusmods.com/ninjagaidenmastercollection/mods/64?tab=files

3.)
.LANG editor tool:
https://github.com/Mystixor/NGMCToolbox

4.)
Mod loader:
https://github.com/Mystixor/NGModLoader


(font files and font edit: idk..)

Posted
4 hours ago, N o o B said:

So.. to have everything in one place.. 🙂

1.)

The text elements of NINJA GAIDEN 2 Black are located in this file:

...\NINJAGAIDEN2BLACK\Binaries\Win64\databin\databin

2.)
databin extract tool:
https://www.nexusmods.com/ninjagaidenmastercollection/mods/64?tab=files

3.)
.LANG editor tool:
https://github.com/Mystixor/NGMCToolbox

4.)
Mod loader:
https://github.com/Mystixor/NGModLoader


(font files and font edit: idk..)

thanks ,we need spiderman 2 localizations tool.Old tool not compatible for localizations_all.localization files.

  • Engineer
Posted
8 minutes ago, PlounchBoy said:

thanks ,we need spiderman 2 localizations tool.Old tool not compatible for localizations_all.localization files.

I don't care. It has nothing to do with Ninja Gaiden 2 Black. Open a new topic for it and (maybe) someone there will answer \ help you. 🙂

  • Like 1
Posted (edited)
1 hour ago, N o o B said:

I don't care. It has nothing to do with Ninja Gaiden 2 Black. Open a new topic for it and (maybe) someone there will answer \ help you. 🙂

🙂

 

Edited by PlounchBoy

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...