Inori / FuckGalEngine

My tools to crack galgame
822 stars 146 forks source link

MinoriPatch for old games ef_first, ef_latter, ef_ft, eden #34

Closed imKota closed 5 years ago

imKota commented 5 years ago

Hello @Inori!

Inori commented 5 years ago

Well emm..... to be honest, I haven't operated on these old games, my first targeted game is <ソレヨリノ前奏詩>, so I don't have too much information to share with you....

But since the goal is to replace text and pictures, I think it shouldn't be to much difficult.

For text, the tool fuckpaz can unpack and repack resource from those old games (except for Steam version though :( ), you can translate these scripts just like new ones. It's easy.

For pictures, I guess the old games also use libpng to parse png files, just old versions. And for libpng, it provides a way to custom it's io function about how to read from png data, using png_set_read_fn. You must first learn how to use libpng.. After that, your goal is to find png_read_info in the compiled exe, hook it and get png_structp pointer, then just reset io function with your own.

Inori commented 5 years ago

Hook CreateFontA and CreateFontIndirectA, change lplf->lfCharSet to your location should work.

Another thing is that you may need to modify some params of EnumFontFamiliesExA's lpEnumFontFamExProc routine, to enable some special font

Inori commented 5 years ago

This is exactly what I said about EnumFontFamiliesExA, see the comments here.