Others (Translation request) Dragonlord's Ambition [Complete Edition]

Darksshades

Member
Feb 7, 2020
122
380
Thanks for that first of all
Unfortunately the script "only" makes a new DS_ADD.DAT
This means that someone could translate conversations, intro, etc. but not the UI and probably items aswell since they are in DS_BASE.DAT
If you choose to translate conversations make sure to use full width latin characters as stated in the other forum, I'll have a look at the games C,system engine and see if there's any way to repack
Oh yeah, I was taking a look over the script today and found where all the rpg texts are. All the item names and descriptions.

I was trying it out with Dragon Carnival but it should be very similar to all their other games.
The rpg texts are inside DS_ADD.DAT, more specifically inside the "DID_DN_PARA_DAT" extracted file.
(in the case the name is not the same it should be a really big file with the termination _DAT)

You can open this file as text and you'll see all of the items/skills/popups texts over there in plain text. The file is in SHIFT-JIS encoding.

So in theory you could manually hexEdit the file to change the text. But realistically its not going to happen. The file have thousands of strings and you need to make sure to keep the same number of bytes on the areas designated for the text.
You don't have permission to view the spoiler content. Log in or register now.

So what needs to be done is to figure out how this file header structure works and where does it point to the strings and extract the strings into a separated textfile to be reinserted later just like it was done for the dialogue text.

I've tried messing around with it but I really have not idea how this is done. If anyone can figure it out please let me know.
 
  • Like
Reactions: masterdragonson

suppen

New Member
Jul 18, 2018
4
2
I've tried messing around with it but I really have not idea how this is done. If anyone can figure it out please let me know.
was it possible for you to change at least one character? from japanese to another japanese one if not english? or nothing happend, crash or half the text or no text at all? And how often is the same text there btw(in the file; in one place twice like in pic or even more)?

You don't have permission to view the spoiler content. Log in or register now.
my python crashes when i try to unpack it with the script. happens to often with python and unicode for me on linux x.x
maybe someone can share the file. Maybe someone can give us the extracted file and some of us can look into it after we checked that 'DID_DS_PARA_DAT' really could be the file. A translation of one cluster or two between those blocks of null sets would help as well.

but its funny. i guess we guys want really bad a game like sengoku rance again.
 
  • Like
Reactions: masterdragonson

Darksshades

Member
Feb 7, 2020
122
380
was it possible for you to change at least one character? from japanese to another japanese one if not english? or nothing happend, crash or half the text or no text at all? And how often is the same text there btw(in the file; in one place twice like in pic or even more)?
Yes, I just tried here and it worked fine.
I tested with Dragon Carnival and its all working fine.
You don't have permission to view the spoiler content. Log in or register now.
Here is teh hex edit made
You don't have permission to view the spoiler content. Log in or register now.

Same as the dialogue, the engine completely ignore half-width characters so it needs to be full-width.
Maybe we could hack the .exe to at least ignore the variable interpretation on the rpg strings but I think that'd be extremely hard to find on the assembly code.


Just to be sure I've extracted "Dragonlord's ambition" too and yes, the file containing the rpg strings are in "DID_DS_PARA_DAT"

I've edited it here and compressed it if you want to try it yourself on your game, I haven't started playing it yet. I've only changed the skill "たたかう" to Fight in this.

Editted DS_ADD.dat

You don't have permission to view the spoiler content. Log in or register now.

The way I did this translation was with the hexEditor wxMEdit, with encoding set to shift-JIS. Also note that it's important to mantain the same number of bits in the file. The data file references the strings based on the hex-position.
So this is a step-by-step:

1. Go to
2. Change conversion format to "Half-width character -> Full-width character"
3. Put the text up and hit Convert
4. Copy the full-width character
5. On wxMEdit change enconding at View->Encoding->Windows->[Windows-31J] Windows Japanese (Shift-JIS*)
5. On wxMEdit, click at the start of the jap string and right click, selecting 'paste with override'

And how often is the same text there btw(in the file; in one place twice like in pic or even more)?
It's usually only once.
Depending on the type of data there are times where 2 identical strings are near each other. But this usually means the first one is the internal identifier used by the engine to reference that skill and should not be changed. So you only need to change the right one, usually the second one.
 
  • Like
Reactions: masterdragonson

Darksshades

Member
Feb 7, 2020
122
380
Thanks for that first of all
Unfortunately the script "only" makes a new DS_ADD.DAT
This means that someone could translate conversations, intro, etc. but not the UI and probably items aswell since they are in DS_BASE.DAT
If you choose to translate conversations make sure to use full width latin characters as stated in the other forum, I'll have a look at the games C,system engine and see if there's any way to repack

First, sorry for the double post here.


I've made a script to brute-force extract the rpg strings from the file.

Here
(Anexed file 'data_files_and_extraction_script.zip')

Instead of looking for the proper headers which I can't figure out. I go through all the data and search for any japanese text on it.

It can extract and repack the texts but it can't change the memory size allocated for each string so you need to be carefull not to overflow the strings or the script might break.

Here are the extract/repack scripts
You need python installed to run it
You can either drag+drop the file or pass it as a parameter.

rpg_out -> extract jap text to filename_RPG_TXT.txt
rpg_in -> will get string from filename_RPG_TXT.txt and replace them in filename_parsed

Extract text:
Code:
python rpg_out.py DID_DS_PARA_DAT
Will create a DID_DS_PARA_DAT_RPG_TXT.txt with the Repack text:
Code:
python rpg_in.py DID_DS_PARA_DAT
Will create a new file DID_DS_PARA_DAT_parsed with the text replaced

You can them rename DID_DS_PARA_DAT_parsed to DID_DS_PARA_DAT inside the extrated folder and repack it in the game again using the same compression script as the previous dialogue text.
Here


If you're curious, this is all the extracted text I got from the 'Dragonlord's Ambition' file:
Here is the file:
And here is an image just to show how its formated
You don't have permission to view the spoiler content. Log in or register now.


Warnings and considerations:
This way of brute force can't change the allocated string sizes. So you need to test how many character each type of text can fit so it doesn't overflow inside the next string or header.
This is more like a workaround than a proper script tool but it can be used to give skill names some fast abreviations to help read them rpg elements faster.

The rpg text also ignores ascii, so you need to use double-width characters just like the dialogue. The above post shows how to convert ascii to double-width character.

-
Edit: Seems the old script links were deleted so I'll attach them to this post instead.
 
Last edited:

Darksshades

Member
Feb 7, 2020
122
380
Oh yeah, I found out a while back that this circle's games are made using Ruby and a free open source japanese engine named Tsukasa Engine ( )

Not sure if it helps at all on decompiling it but there it is.