Skip to content

Tutorial: Translating and Adjusting Menus

Shadow edited this page Sep 4, 2020 · 6 revisions

Translating and Adjusting Menus

Several of the strings in text_misc.yml are strings that appear in menus. If you have strings that are longer than the original English strings there is a chance that they won't fit in the windows for the different menus. Here are a few things you can do to make the text fit inside the windows, in order of difficulty:

  • Shorten/Change the translation
  • Adjust the size of the window
  • Adjust the positions of text in the window

Shortening or changing the translations is often not ideal because your initial translation is usually going to be the best, but there are situations where this can work well. A shorter translation that is just as natural and functional as the original does happen. The most important thing is not sacrificing the quality of your translation to make things easier, most problems can be fixed by putting in a little extra time or asking for help!

Adjusting the Size of a Window

CoilSnake can adjust window sizes using the values in window_configuration_table.yml. This table has numerical values that are followed by four properties (Height, Width, X Offset, Y Offset). The main numbers correspond with the different windows in the game. Here is a list of those windows, taken from the ccscript reference:

#	Size	Position	Common use
0	13 x 8	(1, 1)		The standard gameplay menu  
1	19 x 8	(12, 1)		The standard dialogue window  
2	24 x 16	(7, 1)		Inventory window  
3	6 x 10	(1, 1)		The Use/Give/Drop/Help item menu  
4	11 x 6	(1, 3)		PSI description window  
5	11 x 16	(20, 1)		Telephone menu  
6	20 x 10	(8, 1)		Equip menu  
7	13 x 16	(18, 1)		List of equippable items  
8	30 x 18	(1, 1)		The status window  
9	19 x 18	(12, 1)		Shop windows  
10	8 x 4	(1, 10)		Cash on hand window  
11	11 x 4	(1, 15)		???  
12	19 x 16	(12, 1)		Store window/Debug menu status effect window  
13	24 x 16	(7, 1)		???  
14	24 x 6	(4, 1)		Battle message window  
15	21 x 6	(1, 1)		Standard-width battle menu  
16	8 x 8	(4, 1)		Offense/Defense/Assist PSI selection menu (used during battle) 
17	12 x 4	(12, 1)		Displays PSI name when selected in battle  
18	14 x 6	(1, 1)		Jeff's battle menu  
19	30 x 8	(1, 2)		The file selection menu  
20	22 x 4	(5, 9)		Continue/Copy/Delete file menu  
21	12 x 8	(10, 16)	Copy file menu, 2 slots  
22	12 x 6	(10, 16)	Copy file menu, 1 slot  
23	21 x 10	(6, 17)		Delete file confirmation menu  
24	16 x 10	(3, 14)		Text speed selection menu  
25	18 x 8	(18, 15)	Sound mode selection menu  
26	8 x 4	(5, 4)		Character name input  
27	17 x 4	(13, 4)		"Name this X" message  
28	30 x 16	(1, 9)		Letter selection window  
29	7 x 4	(7, 3)		Confirmation box: Ness's name  
30	7 x 4	(7, 7)		Confirmation box: Paula's name  
31	7 x 4	(7, 11)		Confirmation box: Jeff's name  
32	7 x 4	(7, 15)		Confirmation box: Poo's name  
33	8 x 4	(20, 3)		Confirmation box: King's name  
34	13 x 6	(15, 7)		Confirmation box: Favorite food  
35	13 x 6	(15, 13)	Confirmation box: Favorite thing  
36	24 x 4	(4, 21)		Confirmation box: "Are you sure?"  
37	13 x 8	(18, 6)		Healer/Mach Pizza window (Contains enough room for 3 choices)
38	12 x 4	(12, 1)		Single enemy/row spells (Current spell name for targetting a single enemy)
39	26 x 6	(3, 3)		???  
40	7 x 4	(1, 1)		Menu helper window (At top left of screen, displays "Who?", "Where?", etc)  
41	15 x 4	(16, 8)		Character select window with 2 characters  
42	21 x 4	(10, 8)		Character select window with 3 characters  
43	27 x 4	(4, 8)		Character select window with 4 characters  
44	24 x 16	(8, 2)		Giving items to other characters window  
45	15 x 6	(3, 11)		Equip menu offense/defense listing  
46	8 x 10	(4, 1)		The Offense/Defense/Assist/Other PSI menu (for outside of battle)  
47	30 x 10	(1, 9)		Save game corrupted window, PSI information window  
48	28 x 6	(1, 1)		Party leader battle menu  
49	20 x 4	(10, 4)		"To: Enemy" (Battle window)  
50	15 x 16	(14, 11)	Flavor chooser window
51	9 x 4	(22, 8)		Character select window with 1 character (Normally not seen, but used in debug menu)  
52	18 x 18	(7, 9)		???  

Now, here's what each of the properties do:

  • Height: The height of the window in tiles, where the tiles are 8 pixels wide
  • Width: The width of the window in tiles, where the tiles are 8 pixels tall
  • X Offset: The horizontal distance, in 8 pixel increments, from the top-left corner of the screen
  • Y Offset: The vertical distance, in 8 pixel increments, from the top-left corner of the screen

So Height and Width will make the window bigger/smaller, and X Offset and Y Offset will change where on the screen it will appear.

And that's exactly how simple it is! You just change the numbers for each of those values to adjust window sizes. In most cases, you'll only need to change the Height and Width, though occasionally you'll need to also change the X Offset and Y Offset to make sure your window doesn't cover up other windows or elements on the screen.

Adjusting the Positions of Text in a Window

This is MUCH more complicated. It involves finding specific offsets for where strings are drawn in the different windows. Editing them once you know where they are isn't too hard, but finding them is tricky. Because of this, I'll put all the files I currently know of that help with editing arrangements of windows, as well as some files that allow you to edit full windows all at once. If you find something you need isn't here, please contact me or post something on starmen.net's pkhack forums help topic.

  • Naming Screen Menu Items: Doesn't Include the actual font characters
  • Naming Screen Characters: JUST the characters that show up on the naming screens that are used to name things. Currently in hexadecimal, please read up more at [Modifying Game Fonts](Tutorial: Modifying Game Fonts) (Please note that you do not need to put the square brackets [] around your different character values in this file)
  • Status Window: By H.S, will overwrite the same text you changed in text_misc.yml
  • File Selection Options: By H.S, allows you to move some of the text around in the Continue/Copy/Delete/Setup menu as well as translate it. Overwrites the equivalent values in text_misc.yml
Clone this wiki locally