The following post will be long and I will try to make it so anyone can do it.
So lets say you want to insert your own text into a tutorial screen or into anything in the game without replacing the original text found in the game. We can do this by taking advantage of the placeholder pointers found in .bcs files. This is accomplished thanks to
Otherworldbob who found out how the game finds text
You can find out about his method here:
deadrisingwiki.com/wiki/Mod:Changing_Text#Expanding_the_TextNote:**Always make backup of any files you are about to modify as changes you make might not have been done correctly and could possibly break stuff.**
Tools:-Gibbed Tools
Found here:
deadrising2mods.proboards.com/index.cgi?board=dr2tools&action=display&thread=21Some people have experienced problems. If for you it's not working I am on windows 7 64 Bit system using Gibbed Rev 11 without any problems.
-Hex Editor
One can be found in this post:
deadrising2mods.proboards.com/index.cgi?board=dr2tuts&action=display&thread=226Setting up to read custom text:Once you got that we can get started
First lets locate the tutorial we want to modify. For the purpose of this example I will be using the
saving tutorial who's ID is 7. The reason I am gonna use this one is you can walk up to any restroom stall for the first time and it will pop up so you can see immediate results without having to call it up from missions.txt.
Default location of these tutorials is in
C:\Program Files (x86)\Capcom\Dead Rising 2\data\frontend\ingame.bigor
C:\Program Files\Capcom\Dead Rising 2\data\frontend\ingame.bigExtract the files with gibbed tools and you will get a lot of files inside the folder ingame_big. In here will be the tutorials a long with a few other layouts that pop up during the game. Locate and open
tut_saving.txt which will be in the ingame_big folder.
Code found inside
tut_saving.txtcFEScreen tut_saving
{
cFEWidget main
{
A=0.00000
cFEWidget page_1
{
cFEScreen art_bg
{
Ref="tut_art_bg.txt"
}
cFEWidget main_contents
{
cFEEBMText title
{
Text="60085 IDS_TUTORIAL_SAVING_TITLE"
Font="arialblk46"
Justify="center"
JPScale=1.20000
X=0.08594
Y=0.09445
W=0.82813
H=0.04444
R=0.11765
G=0.47059
B=0.46275
ScaleX=1.30000
ScaleY=1.30000
cFEBitmap star
{
File="tut_cmn_star"
W=0.03019
A=0.71765
}
cFEBitmap star1
{
File="tut_cmn_star"
W=0.03019
A=0.71765
}
}
cFEBitmap picture1
{
File="tut_img_saving_1"
X=0.12500
Y=0.20833
W=0.23438
H=0.30556
}
cFEBitmap picture2
{
File="tut_img_saving_2"
X=0.38281
Y=0.20833
W=0.23438
H=0.30556
}
cFEBitmap picture3
{
File="tut_img_saving_3"
X=0.64062
Y=0.20833
W=0.23438
H=0.30556
}
cFEText text1
{
Text="60086 IDS_TUTORIAL_SAVING_TEXT1"
Font="arialblk18"
Wrap="true"
JPScale=1.20000
X=0.12656
Y=0.53055
W=0.19141
H=0.02778
ScaleX=1.20000
ScaleY=1.20000
CornerScaling="true"
}
cFEText text2
{
Text="60087 IDS_TUTORIAL_SAVING_TEXT2"
Font="arialblk18"
Wrap="true"
JPScale=1.20000
X=0.38438
Y=0.53055
W=0.19141
H=0.02778
ScaleX=1.20000
ScaleY=1.20000
CornerScaling="true"
}
cFEText text3
{
Text="60088 IDS_TUTORIAL_SAVING_TEXT3"
Font="arialblk18"
Wrap="true"
JPScale=1.20000
X=0.64219
Y=0.53055
W=0.19141
H=0.02778
ScaleX=1.20000
ScaleY=1.20000
CornerScaling="true"
}
}
cFEWidget help
{
cFEBitmap electricaltape
{
File="tut_cmn_electricaltape"
X=0.65859
Y=0.87222
W=0.26563
H=0.08333
RotX=0.00000
RotY=0.00000
RotZ=0.01745
}
cFEBitmap electricaltape1
{
File="tut_cmn_electricaltape"
X=0.07813
Y=0.87222
W=0.26563
H=0.08333
ScaleX=-1.00000
RotX=0.00000
RotY=0.00000
RotZ=-0.01745
Visible="false"
}
cFEWidget button_return
{
X=0.73438
Y=0.88889
W=0.15625
H=0.03889
cFEBitmap button
{
File="a_button"
W=0.14000
H=0.99997
}
cFEText text
{
Text="10021 IDS_DIALOG_BTN_CONTINUE"
Font="arialblk18"
DropShadow="true"
DropShadowX=0.00100
DropShadowY=0.00100
X=0.16000
W=0.80000
H=0.99997
}
}
}
}
cFEAnim normal
{
AnimateR="true"
AnimateG="true"
AnimateB="true"
AnimateA="true"
AnimateScaleX="true"
AnimateScaleY="true"
StateNormal="true"
cFEKeyFrame Frame0
{
Interpolation="ease"
EaseIn=1.00000
EaseOut=0.00000
R=0.00000
G=0.00000
B=0.00000
A=0.00000
ScaleX=1.10000
ScaleY=1.10000
}
cFEKeyFrame Frame10
{
Time=10
Event="tut_animations_done"
}
}
}
}
In the file you fine a whole bunch of code which is useful if you want to further customize how your layout is set up
For now we are only focusing on the text itself. As you see there are 3 Text instances created. For now lets focus on changing 1 of them so you can compare results.
Text1:cFEText text1
{
Text="60086 IDS_TUTORIAL_SAVING_TEXT1"
Font="arialblk18"
Wrap="true"
JPScale=1.20000
X=0.12656
Y=0.53055
W=0.19141
H=0.02778
ScaleX=1.20000
ScaleY=1.20000
CornerScaling="true"
}
Text="60086 IDS_TUTORIAL_SAVING_TEXT1" is the line we are interested in. Ok now that we found the line we want lets go find a placeholder line. We can find all placeholders easily thanks to this page:
deadrisingwiki.com/wiki/Mod:Game_text/Correct_line_numberingLets make use of the first place holder we find and that is
00004 placeholder. Ok now go back into your
tut_saving.txt and under
Text="60086 IDS_TUTORIAL_SAVING_TEXT1"
replace
60086 to
00004 so its
Text="00004 IDS_TUTORIAL_SAVING_TEXT1"
Don't worry about the stuff after
00004 as it had the same effect with or without it.
Ok save your
tut_saving.txt and you can close it as we are done with this file for now. Repack the folder so you get
ingame.big and make a backup of your original and replace the one in the
frontend folder with the one you just made.
If you were to run your game now you should see immediate results and under the first column of text for saving instead of the usual text you should see text that says placeholder.
Lets go ahead and customize this text now to whatever you want it to say. Under the same folder
frontend there is a file called
str_en.bcs depending on your language you want to modify the file that corresponds to you.
Custom Text Insert:Now lets find the placeholder you inserted into your
tut_saving.txt since its the first placeholder available it should be the first one that pops up when you do a
Ctrl + F Placeholder. You can confirm its yours if the text before it in the file is the same line found above it in the page with all the text numbers.
In our case we are making sure the text before our placeholder says
START DEMO. Ok so we confirm its the correct one and now comes the involved part. If its a small amount of text you can just replace the text there with a smaller or same amount of characters placeholder contains. If you have a long amount of characters you need to insert then you have to go a different route.
Thanks to
Otherworldbob we can find the pointer and you can have any amount of characters as long as we got null bytes. You can scroll down to the bottom of the file and find a whole bunch of blank space which can be used for custom text. To make use of this space we gotta make the pointer find this new location. While you are here make a note of a space which is empty as we will be using this for our custom text. For the purpose of this example I will be using location
5DEC0This sounds complicated but its really simple once you know how to do it. Let's go back to the place of our original placeholder found in
0000ED8C This is where the first letter of
Placeholder is found.
For those who don't know how
ED80 turns into
ED8C is by finding the line you are looking for which if you look on the left is found under
ED80 then by going to the letter you want which is P for placeholder once you highlight it you find out its under
0C at the top of the editor.
Ok now that we are all on the same page lets get back to making our custom text
To find the pointer that locates
ED8C all we do is switch it around to
8CED. So Ctrl + F type in
8CED and change Data type to hex values also make sure search direction is all. Your hex editor should have brought you to
76CC and 76CD their values under hex should be
8C and ED which is the same as
ED8C backwards.
So far so good now we need to replace the pointer values so it can find the custom text which will be located in
5DEC0 we do this by replacing the values to represent the location of our text. We do the same thing here we did for
ED8C and make our
5DEC0 be reversed. Our values for
76CC will turn into
C0,
76CD will be
DE and
76CE will become
05 this will now point to our address at
5DEC0Any text inserted after
5DEC0 will now be displayed up until it reads a null value. This concludes custom text
I hope I covered everything needed and I hope I did
Otherworldbob teachings justice for this would have not been possible without him.