Jump to content

Font in Dungeon Travelers


Go to solution Solved by piken,

Recommended Posts

  • Solution
Posted (edited)
Quote

but I cannot open this files with fontforge

It's not a standard .fnt file like that used in Windows and FontForge - games like to reuse existing filename extensions while having a completely different formats. This game uses a surprisingly wasteful 32-bpp format (RGBA premultiplied with all four channels having the same value instead of just storing the 8-bpp luminance). Using PVRTexTool:

image.thumb.png.50ba092238248f4c6cd592216aec00ce.png

The header has a glyph directory that probably contains the location/offset and size of each character:

image.png.9ce26dadd210a07146b9d30b91a05415.png

Quote

I found editor tool on github for AquaPlus games (https://github.com/marcussacana/AquaPlusEditor/tree/master). But it cant open .fnt files

Assuming it's similar, maybe you can tweak their 010 binary template https://github.com/marcussacana/AquaPlusEditor/blob/master/AquaPlusEditor/Font Structure.bt to this game.

Edited by piken
Link to comment
Share on other sites

Posted (edited)

Thank you for your reply

 

I'm currently trying to tweak 010 template, but it seems the structure has changed a lot

like, i think the multipliers for width and height are gone

 

is there any particular way to guess what a part of binary files means?

i mean, how can one find out the structure and come up with such 010 template?

Edited by lemoncake
Link to comment
Share on other sites

> how can one find out the structure and come up with such 010 template?

Reverse engineering is a bit of puzzle solving and trial and error (not a simple question, requiring a tutorial's worth of explanation with examples 😉e.g. https://reshax.com/topic/47-reverse-engineering-tutorials-collection/), with you staring at the numbers, looking at the patterns to see what makes sense. For example in the graphic above with the hex values, you can see well that each record is 12 bytes, and there are 3 distinct columns suggesting 3 uint32's (or possibly something smaller), and curiously the leftmost one increases monotonically in value. 🤔 Some hex editors like HxD and 010 have little inspector panels that show the value at your caret as several data types at once, and you can figure out what data type makes the most by ruling out impossibilities (e.g. rule out offsets that point beyond the end of a file or to gibberish).

> I just changed binary file and texture itself

Cool, welcome, enjoy.

Edited by piken
Add tutorial link
Link to comment
Share on other sites

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...