Hello everybody! In this tutorial- i'll show you, how to edit most of text in S3K. So, lest's go to something easy. Something, like.. Data select text We gonna talk about "NO SAVE", and etc. First: prepare font for it (font placed in General/Sprites/S2Menu/2P Options.bin) When you edit (or not edit) font- let's find the text. He is not noted or commented, so he is here in s3k.asm: Code: byte_DB1C: dc.b $2B, $2C, $FF, $30, $1E, $33, $22, $FF, $21, $22, $29, $22, $31, $22, $FF; No save/Delete byte_DB2B: dc.b 0, 0, 0, 0, 0, $FF; idk, lol byte_DB31: dc.b $37, $2C, $2B, $22, $FF; Zone# byte_DB36: dc.b $20, $29, $22, $1E, $2F, $FF; Clear How you can see- letters presented here as numbers. For editing- we need to know a ID for letter. Here is a table to simplify your life Spoiler: Table A-1E B-1F C-20 D-21 E-22 F-23 G-24 H-25 I-26 J-27 K-28 L-29 M-2A N-2B O-2C P-2D Q-2E R-2F S-30 T-31 U-32 V-33 W-34 X-35 Y-36 Z-37 A lot, right?) Continue: Let's make something interesting. Something, like...... Not super-interesting, but, now you see, it's work! Try to make something with this. (NOTE: insert even after texts. With this- compiler will not give errors. Like it: Code: byte_DB1C: dc.b $2B, $2C, $FF, $30, $1E, $33, $22, $FF, $21, $22, $29, $22, $31, $22, $FF even byte_DB2B: dc.b 0, 0, 0, 0, 0, $FF even byte_DB31: dc.b $37, $2C, $2B, $22, $FF even byte_DB36: dc.b $20, $29, $22, $1E, $2F, $FF even ) All another text in data select menu- edit like this. Ok, after data select we go to.. Title Cards It's a twist, yeah?) It's harder, than in another Sonic games. We'll make a AIZ card First: Theory Title cards made from few files: E,N,O,Z from General/Sprites/Title card/Title Card Red ACT.bin (KosM); and another letters for current zone (placed in Levels/Name of level/KosinskiM Art/Title Card.bin) Second: Prepare font Open SonMapEd, or graphics editor, and prepare letters: We'll make a "Green Grove" A replaced with R, and D with V Let's look at mappings: Code: word_2EEAC: dc.w 4 ; DATA XREF: ROM:0002EE10o;ZONE dc.b 0, 6, $85, $31, $FF, $DC;Z dc.b 0, $A, $85, $28, $FF, $EC;O dc.b 0, 6, $85, $22, 0, 4;N dc.b 0, 6, $85, $1C, 0, $14;E word_2EEC6: dc.w $B ; DATA XREF: ROM:0002EE10o;AIZ dc.b 0, 6, $85, $4D, $FF, $E0;A dc.b 0, 6, $85, $22, $FF, $F0;N dc.b 0, 6, $85, $59, 0, 0;G dc.b 0, 6, $85, $1C, 0, $10;E dc.b 0, 2, $85, $62, 0, $20;L dc.b 0, 2, $85, $5F, 0, $30;I dc.b 0, 6, $85, $65, 0, $38;S dc.b 0, 2, $85, $62, 0, $48;L dc.b 0, 6, $85, $4D, 0, $50;A dc.b 0, 6, $85, $22, 0, $60;N dc.b 0, 6, $85, $53, 0, $70;D Notes: Code: dc.w $B Number of letters Code: dc.b 0, Place for letter. If you want to change it- set 30 to make it at bottom right with ZONE, or set -30 to make it upper. (actually, you can set any ID, i think, but 30- optimal and universal, lMO) Code: 6, $85, $4D, $FF, $E0;A 2- it's a size of letter; uses for not wide letters like "J", "L", or "I". 6- uses for other normal letters $A- For letters like W,M, or O $85- how looks this letter (set 95 for rotate it upside down) $4D- id of letter $FF- first ID of letter's place ($FF- left, or 0 for place it right) $E0- second ID of letter's place Get it? Let's go: We need to change mappings, to make it say "Green Grove" Do you remember, how did we replace the letters?) We'll do this: Code: word_2EEC6: dc.w $A ; DATA XREF: ROM:0002EE10o;AIZ dc.b 0, 6, $85, $59, $FF, $E0;G dc.b 0, 6, $85, $4D, $FF, $F0;R dc.b 0, 6, $85, $1C, 0, 0;E dc.b 0, 6, $85, $1C, 0, $10;E dc.b 0, 6, $85, $22, 0, $20;N dc.b 0, 6, $85, $59, 0, $40;G dc.b 0, 6, $85, $4D, 0, $50;R dc.b 0, $A, $85, $28, 0, $60;O dc.b 0, 6, $85, $53, 0, $75;V dc.b 0, 6, $85, $1C, 0, $85;E Result: It's all, folks! Later, i'll tell you how to edit results screens and credits. Tell me, if you had a questions. I'll be back..
you should also show how to move the title card mappings more to the left so they align with the 'zone' text, like all the other title cards
You need just change the last IDs ($FF, $E0;G) to more left IDs. I mean, if you want make it more left- just change last ID of every letter by ten less. (If it was $FF, $E0- change it to $FF, $D0). Few triks: If last ID is start from letter ($A0-$FF)- the ID before him should be $FF. If it will be 0, letter will appear in the end at right side, far beyond the screen. The letters should be located 20 pixels apart. That is, if the first letter is located in $A0, the next one should be located in $B0. If the letter is wide, the next one should be located 25 pixels apart ($A0, the next one will be $B5)
Ok, here is a little guide for credits edit. As you can know, credits- just a text. No super-hard code, or something, but when you are trying to change it- you get a lot of errors. For fixing it- just put even after lines: Code: byte_5BCD2: dc.b $F dc.b 7 dc.b "EXECUTIVE PRODUCER",0,0 even byte_5BCE8: dc.b $11 dc.b $E dc.b "HAYAO NAKAYAMA",0,0 even And edit it:
Now I might sound a little dumb, because I don't know how Sonic 3 and Knuckles Coding works the text thing. But is there an actual limit on how many characters(letters) can be put in the ending credits screen.
I think, you can't put all alphabet in one line, man) Gimme one minute, i'll check it.. EDIT: I think, yes. When line is out of screen, but letters is not ended- all letters become to an random incomprehensible mess.
Thank you so much! Now I will know how to change the text in Sonic 3 & Knuckles. You're a holy man, bro
I haven't been active on this site for literally years now, but if you ever plan on finishing this with a tutorial for editing the character text on the level results screen it would be a lifesaver for a project I'm currently working on.
Ofcource! I almostly forgot it tho, lol. Anyway, for the first- you need to know what and where placed. In the General/Sprites/Results/Map-Results are next definitions: word_2F332- TOTAL word word_2F362- RING hud word word_2F35A- TIME hud word word_2F378- mapping for THROUGH word word_2F39E- mapping for GOT word. If you want to edit character name- you need to find the graphics file for it. Every character has separate graphics file for letters; In General/Sprites/Results/ you can find these graphics files: Results Kmuckles.bin, Results Sonic.bin and etc. You need just edit them in graphics editor like Tile Layer Pro, FaTILEty, or SonMapEd/Flex2. Compression is Kosinski Moduled (KosM). Here you go
Thanks very much! This is all very useful info to know, but what I was mainly concerned about was whether or not it was possible to edit the mappings for the character names. Say for example you had a sprite-swap of a character over Sonic who's name was more than 5 characters long, how would you go about editing the sprite mappings for Sonic's name on the results screen to accommodate for this?