Overlay creation guide

Resources for NBA Live 07.

Overlay creation guide

Postby Patr1ck on Mon Mar 05, 2007 12:26 pm

Overlay editing tutorial

1. Extract the overlay you want to edit from the fe/overlays.viv.

You should use Dolffin for this since it autmatically decompresses it.
That will make it easier to hex edit the BIG file directly without having to re-import the APT file everytime you make a change to the
positioning. Also, I used the BIG file offsets, and not the apt file itself.

Most of the overlay names are straight forward. When editing the statisitcs overlay, there are 3 files you will need to extract and edit.

-overlays~statbg.fsh - this is the graphic background that is used when the game displays team stats and player stats.
-overlays~stat.fsh - this contains the text information for displaying team stats.
-overlays~plyrstat.fsh - this contains the text information for displaying player stats.

2. Find the texture limits.

Overlay graphics are different to 3d modeled graphics because they aren't "fit" into the space, they are only "overlayed." That means that
you can't make any of the textures bigger then they already are without a problem. If you go beyond the texture limits, the rest of the
image gets cutoff when displayed in-game. Most overlayed graphics don't use the entire image size, even if they take all of it up. I'm
sure its possible with some ebo editing or something, I don't know. The texture limits can be found after each image in a FSH file, but
you will need a hex editor or Dolffin to view them. EA uses texture limits for all menu and overlayed graphics.

Here's where to find the texture limits with Dolffin. Click the little plus sign on the texture, then click on the part that I highlighted in
yellow. In the right window, I have highlighted the part that tells you what the texture limits are, you only have to convert them from hex
into decimal. You always invert hex values when converting to decimal, but you only invert the numbers in pairs. So, a Hex value of 1234 is
not 4321 on calculator, but it is 3412. Now open Calculator. Make sure it is set to "Scientific" which can be changed in the "View" menu.
Click the button to the left of "Hex" and enter the hex value, it has been highlighted in yellow. The first value was 0C, which of course
comes up to only C on the calculator. Now we click the button to the left of "Dec", which is the Decimal button. That converts the hex to
decimal, which ended up being 12. So for that image in the fsh, its X limit is 12. The hex for the Y value is 1C, which ends up being 28 when
converted.

Image
Image

Save yourself sometime and use Hex Workshop. Open your BIG, "Find" (CTRL+F) a hex value of "7C01". Click one of the results and it will jump
to that offset with the "7C01" highlighted. 2 lines below the 7C01 is your X limit, and to the right is your Y limit. Click on one so that
the cursor is to the left of the value. Now look at the bottom left window of hex workshop. Those are hex to decimal conversions. The one
you want to look at is "Unsigned Short." Notice it is "12", the same thing we got when we did it the other way. This way is much faster.
Sometimes a "7C01" will come up in the search that isn't what we are trying to find.
Image
FYI, For all the background graphics of the score overlay the texture limit for height is 28, and since those textures are 32 pixels high,
the bottom 4 pixels of the image aren't displayed. The logo, the shotclock's background and the shotclock numbers all have their own texture
limits.

3. Make your graphics.

In Photoshop, when you are making each part, you should create guides using the values you found for the texture limits. That way you know
how big to make your graphic inside the canvas. Click the "view" menu and select "New guide". For the X limit, select "vertical" and enter the
limit you found for that part in the box, make sure it sais "px" after the value, which is an abbreviation for pixels. Do the same for the Y
limit, but choose "horizontal" and enter the Y value you found for that part in the box.

You should save each part as a psd because some of the parts are stretched or squeezed horizontally in-game, that way yo can easily make any
changes that are needed.

When you are done making all the parts, check it out in-game.

4. Positioning, size and font color.

Welcome to hell. This is the part that takes the most time. Once you know where to edit in the file, you will have to go in-game, take screens,
or use your memory to remember whether you increased or decreased the hex values and what direction it went. The format isn't too hard to understand.

4a. How to find the parts

If you just want the "how to" and "where to" for editing parts on the overlays which I have already edited before, then skip to 4b

Here is how to find the name of the parts so you can locate where they are in the apt file. This can be useful for anyone who wants to edit
the positioning of menu's or part's on a front-end screen or any other overlay that I haven't edited and found the parts for already.

Open up the BIG file in a hex editor. Do a search for "constant". You should find some text that sais "Apt constant file" This is the
beginning of the "const" file, which means that above it is the "Apt" file. The part names are towards the end of the apt file. Scroll up
because usually they aren't directly at the end of the file, although there is some text that can confuse us because it appears as if we found it.
Keep scrolling up until there isn't any more words. Now scroll back down a little bit and look for words that look like they are referring to
parts. This isn't always a perfect science, but it can help guide you on where you want to look to change a part.
For example, in the score overlay we find the following text-

......mcIntensityIcon.shotClock...intensity...awayLogo....homeLogo....momentumHome....momentumAway....homeScore...awayScore...clock...period..OffballShow.OffballHide

So we can assume that the order is-

Shotclock
Intensity
Away Logo
Home Logo
momentum Home
momentum Away
Home Score
Away Score
Clock
Period

That is pretty accurate, but it doesn't tell us everything or every part. The easiest way to find out what part is referred to is by
changing the size. Since most of the sizes are 803F, change them to 403F and see what shrunk in-game, you can find out where the size
is for each part in the next section.
Aslom I have no idea what the mcintensityIcon at the beginning and the Offball stuff at the end are.

Now we want to scroll up in the hex editor until we see the end of a pattern. You should recognize the pattern by all the F's you see.
The first pattern from the bottom is usually the last one on the list. So that would be the quarter or period.
The pattern is in the image.

Image

4b. Editing the parts

Image

Quick tutorial about Hex characters.

Hex goes like this, 0 is the smallest, and F is the biggest. "A" comes after 9, but 10 doesn't. 10 comes after "F".
So 10 is not 10. If you see this "1042" (4210) and you want to decrease it, the next step
is "0F42" (420F). If you are at "0042" (4200) and want to decrease it by 1, then you will end up with "FF41" (41FF).
Say you have "FF00" (00FF) and you want to increase it by 1, then you will get "0001" (0100). I hope you I explained it good enough. If not,
here's a hexadecimal guide that goes much deeper - http://www.lyzrdstomp.com/binary/hex1.html

I suggest when you start editing positions that you write the stuff down in a word processor like notepad, wordpad, etc. I like to write down the
original hex values for each position, especially with things like stat overlays because it can take forever trying to get certain text to
display, but there is a way around that which I will tell you about later. 99% of each part's size is always 0000 803F (3F80 0000 when
inverted). That makes it easier to recognize parts. To keep the aspect ratio of the text part, make sure both values equal whenever you
change them. There is a size value for both X and Y, or width and height.

Take a look at the purple highlighted part. That is the horizontal, or X position. It is 66B6 6042, which is actually 4260 B666. i usually stay
away from the first part (66B6) because those only make very minor changes, but are still useful when you are trying to precisely align a part.
I usually edit the first digit to see which way the part moves. So in this case I would change 6042 into 5042, save it, and check it out in-game
to see which way it went. Repeat for both the X an Y positions until you are happy with where it is.

You will also notice that most or all of the positions start with a 4 or a C. Whenever your part seems to be stuck and not moving anymore when
you change a value, change the 4 to a C or vice versa. Your part will jump farther then you wanted it to, but you should be able to get it to
where you wanted it in the first place without it hitting a virtual wall.

Here is a little trick I use for stat overlays without having to play entire games or intervene in the third quarter(which is the second best
option). First, many of the parts are either on the same horizontal or vertical line. Meaning they have very similar values when you look at
the hex. That is why it is important to write the values down so you can group which parts are aligned. That way, you only have to change one
part and just copy the value for the other part. When you call a timeout, that triggers the overlay and it uses the overlays~stat.BIG file for
text positioning. It shows the team logo, the word "Timeout" and the team name. I have shown you where they are in the BIG file below, so you
can use one of those to figure out where the other parts are displayed, by copying the other parts' x and y positions onto the "timeout" position.
Then you can guess what those parts are and finetune their positions without having to intervene in a simulated game and hope the overlay comes up
on its own.

4c. Font colors.

Most of the fonts are white, that makes them easier to find. They are very close to the beginning of the Apt file.

They show up like this-

FFFF FFFF

Image

Say you want to use this blue. Notice in the image the highlighted characters at the bottom? Those are the values you insert.

Image

But, there are only 6 numbers. So, with FFFF FFFF, we don't touch the last two F's. Also, we invert again, we invert the first two and
the last two.

So I have 123456. Put FF at the front like this FF12 3456. Then we invert to 12FF 5634.


5. Positions for score, and stat overlays.

I start my offsets on the line from where the part's size is. I wrote notes on certain parts.

Score overlay

1950-1960 ENTIRE SCOREBOARD INCLUDING ALL PARTS, increase y to lower

19D0-19f0 EA Logo individually
26b0-26c0 Shot clock background individually - decreasing x moves to right, but this does not move the shot clock numbers
6210-6220 Scoreboard Background
6250-6260 ?
6290-62a0 Shot Clock/EA Logo
62d0-62e0 Intensity stripe
6310-6320 Away Team Logo
6350-6360 Home Team Logo
6390-63a0 Momentum Home
63d0-63e0 Momentum Home
6410-6420 Momentum Away
6450-6460 Momentum Away
6490-64a0 Home Team Score
64d0-64e0 Away Team Score
6510-6520 Quarter Time
6550-6560 Quarter number

Score overlay fonts - not exact offsets, just the lines they are on.

0870 - Home Team Score
08b0 - Away Team Score
08e0 - Time
0920 - Quarter

Stat Overlay - overlays~plyrstat.big

09f0 ENTIRE OVERLAY AND TEXT
0aa0 Stat background
0ae0 Team logo
0b20 Player Portrait - This is the main player portrait, moving this one moves them all. I have no idea why EA made a million parts for players' portraits.
0b60 Portrait 0
0ba0 Portrait 1
0be0 Portrait 2
0c20 Portrait 3
0c60 Portrait 4
0ca0 Portrait 5
0ce0 Portrait 6
0d20 Portrait 7
0d60 Portrait 8
0da0 Portrait 9
0de0 ? Probably player stats number - Don't worry about them
0e30 ? Most likely the stat word like Assists or Rebounds
0e60 Team Fouls number
0ea0 Team Fouls word
0ee0 Personal Foul number
0f20 Personal Foul word
0f60 Last Name
0fa0 First Name

I didn't write down the font offsets.

Stat overlay - overlays~stat.big

I didn't find what everything was, but enough of the positioning was similar for me to guess where it is on the overlay.
Most of the parts have the same position as another part, that makes it easier to align.

0be0 Stat Background
0c20 Team logo
0c60 Bottom Right - Most likely the stat value that gets locked next to the word
0ca0 Bottom Left - Most likely a word
0ce0 Bottom Left - "
0d20 Bottom Left - "
0d60 Middle Right - Most likely the stat value that gets locked next to the word
0da0 Middle Left - Most likely a word
0de0 Middle Left - "
0e20 Middle Left - Team name - during timeout and maybe more
0e60 Top Right - This displays at the top of the overlay, it has the same vertical offset as the other "Top"
0ea0 Top Left -
0ee0 Top Left -
0f20 Top Left - "Timeout" word

I didn't write down the fonts for these either.

Thats about it. I'd like to thank "SoccerAccess" from the gaming access forums for making a guide using the 2005 score overlay,
which is where I first learned this.
I would also like to thank MJ_realm for giving me a clue last year that just opened up my understanding of the file in general.
Patr1ck
Administrator
Administrator
 
Posts: 13323
Joined: Thu May 19, 2005 5:54 pm
Location: Pasadena, California, US

Postby JaoSming on Mon Mar 05, 2007 12:38 pm

sticky this shiznit
Opinions are my own.

JaoSming
2KTV Producer
NBA 2K Developer
 
Posts: 29904
Joined: Tue Sep 13, 2005 12:45 am
Location: 2K

Postby 3.14159 on Mon Mar 05, 2007 12:42 pm

nice guide! this helps alot!! (Y)
User avatar
3.14159
 
Posts: 447
Joined: Fri Jan 19, 2007 6:18 pm

Postby Andrew on Mon Mar 05, 2007 2:16 pm

Excellent work! Stickied. :)
User avatar
Andrew
Retro Basketball Gamer
Administrator
 
Posts: 113952
Joined: Thu Aug 22, 2002 8:51 pm
Location: Australia

Postby Tuomas on Mon Mar 05, 2007 3:57 pm

Wow... I don't think I'll try that myself but superb job. You guys have been putting unbelieavble amount of work this year.
User avatar
Tuomas
 
Posts: 3166
Joined: Sun Mar 30, 2003 4:59 pm
Location: Finland

Postby Double LC on Thu Mar 08, 2007 8:49 pm

THank you...............finally make it............

pdub... have any picture for stat overlay....

(Y) (Y) (Y) (Y) (Y) (Y) (Y) (Y) (Y) (Y) (Y)
:D :D :D :D :D :D :D
Double LC
 
Posts: 14
Joined: Mon Dec 22, 2003 4:30 am
Location: Philippines

Postby McDwyane on Mon Mar 26, 2007 9:13 am

nice guide!
User avatar
McDwyane
 
Posts: 1603
Joined: Tue Dec 26, 2006 4:41 pm
Location: McDwyane's

Re: Overlay creation guide

Postby magicn on Sun Sep 19, 2010 6:04 pm

Is it possible to have a 24 sec countdown instead of the countdown from 9.
Image
User avatar
magicn
 
Posts: 127
Joined: Thu Jun 03, 2010 11:56 pm

Re: Overlay creation guide

Postby Patr1ck on Sun Sep 19, 2010 7:10 pm

No, it's not possible.
Patr1ck
Administrator
Administrator
 
Posts: 13323
Joined: Thu May 19, 2005 5:54 pm
Location: Pasadena, California, US

Re: Overlay creation guide

Postby Murat on Sun Sep 19, 2010 7:16 pm

Yeah, since 1995.
Murat
Contributor
Contributor
 
Posts: 6463
Joined: Sun Feb 14, 2010 6:07 am
Location: US/East Coast

Re: Overlay creation guide

Postby Phenobe-X on Sun Sep 18, 2011 12:58 am

PLLeasee can you guys show me how to move the scoreboard to the bottom of the screen plss reply
Follow me on Twitter @phenobe
ImageImageImage

"Visions of Martin Luther Staring at me Malcom X put a Hex on my future someone catch me". - Hiiipower,Kendrick Lamar
Section 80
User avatar
Phenobe-X
 
Posts: 202
Joined: Sun Mar 13, 2011 4:32 am
Location: Toronto,Ontario

Re: Overlay creation guide

Postby Patr1ck on Sun Sep 18, 2011 2:42 am

It's in the first post. Text search this page for "entire scoreboard" it tells you the offset where it can be found and how to lower it.
Patr1ck
Administrator
Administrator
 
Posts: 13323
Joined: Thu May 19, 2005 5:54 pm
Location: Pasadena, California, US

Re: Overlay creation guide

Postby Phenobe-X on Sun Sep 18, 2011 3:27 am

what should i open for offfest and where do i put y to lower?
Follow me on Twitter @phenobe
ImageImageImage

"Visions of Martin Luther Staring at me Malcom X put a Hex on my future someone catch me". - Hiiipower,Kendrick Lamar
Section 80
User avatar
Phenobe-X
 
Posts: 202
Joined: Sun Mar 13, 2011 4:32 am
Location: Toronto,Ontario

Re: Overlay creation guide

Postby Patr1ck on Sun Sep 18, 2011 5:38 am

It's all in the tutorial. Read it while you are trying to edit. Look at the pictures and you should be able to spot where the y offset is.
Patr1ck
Administrator
Administrator
 
Posts: 13323
Joined: Thu May 19, 2005 5:54 pm
Location: Pasadena, California, US

Re: Overlay creation guide

Postby Phenobe-X on Tue Sep 27, 2011 9:45 am

it really cant find it on my hex editor and which file should i open when search for the offsets
Follow me on Twitter @phenobe
ImageImageImage

"Visions of Martin Luther Staring at me Malcom X put a Hex on my future someone catch me". - Hiiipower,Kendrick Lamar
Section 80
User avatar
Phenobe-X
 
Posts: 202
Joined: Sun Mar 13, 2011 4:32 am
Location: Toronto,Ontario

Re: Overlay creation guide

Postby Patr1ck on Tue Sep 27, 2011 9:55 am

overlays~score.big
Patr1ck
Administrator
Administrator
 
Posts: 13323
Joined: Thu May 19, 2005 5:54 pm
Location: Pasadena, California, US

Re: Overlay creation guide

Postby Phenobe-X on Tue Sep 27, 2011 10:12 am

apt file?
Follow me on Twitter @phenobe
ImageImageImage

"Visions of Martin Luther Staring at me Malcom X put a Hex on my future someone catch me". - Hiiipower,Kendrick Lamar
Section 80
User avatar
Phenobe-X
 
Posts: 202
Joined: Sun Mar 13, 2011 4:32 am
Location: Toronto,Ontario

Re: Overlay creation guide

Postby Patr1ck on Tue Sep 27, 2011 10:31 am

Yeah. I forget whether I would extract the file or not. If the offsets look wrong, try editing it while it is in the big file.
Patr1ck
Administrator
Administrator
 
Posts: 13323
Joined: Thu May 19, 2005 5:54 pm
Location: Pasadena, California, US


Return to NBA Live 07 Tutorials & FAQs

Who is online

Users browsing this forum: No registered users and 1 guest