mirror of
https://github.com/odiecay/chronicle-ps4.git
synced 2026-10-17 08:02:27 +02:00
Some of the game's words are textures, not messages: the area name cards on the loading screen, the dungeon floor banners and the bosses' names. The disc has one picture of each per language, and the TrueType font never touched them. The port now takes a language's pictures from lang/textures/<language>/<name>.png (the save folder's before the executable's), so they follow game.language like the messages do. A picture is scaled to its texture and left unused if its shape is wrong. The hook sits at the two texture decode sites and at the loading screen, whose area card is one texture called "maptitle", so it is named by its file (mt01...). The pictures are not shipped, since they are made from the disc's art. tools/textpack/build.py draws them on the player's machine from the words in tools/textpack/strings/*.json: it erases the old lettering from the disc's own textures and letters the language's words in the message font (the area cards and floor labels are that face, squeezed or embossed). The bosses' names are a serif, for which Cinzel (SIL OFL) stands in. The pictures carry no shadow; the port casts it, so it follows the Options sliders: Area Name Shadow, Floor Label Shadow and Boss Name Shadow, next to Text Shadow and Symbol Shadow. A change shows from the next area that loads the picture.
textpack
Draws the localization's pictures of text (area name cards, dungeon floor labels, boss names) from the words in
strings/*.json. See "Pictures of text" in docs/LOCALIZATION.md for what the port does with them.
python tools/textpack/build.py --originals <extracted textures> --out <save folder>/lang/textures [--scale 1|4]
build.pythe command.textpack.pydraws text with the Compendium font (it builds the accented letters the font leaves blank).plates.pyrebuilds a card's backdrop without its lettering by combining the languages' cards.slots.pyfinds the word boxes of an existing sheet.shadow_preview.pyshows the shadow the port casts.strings/titles.json,title_styles.json(per-area look),floors.json,bosses.jsonare the words. Nothing in this folder comes from the disc; the pictures are made from the player's own textures and are not committed.- Needs Python 3 with numpy, Pillow and opencv-python.