• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

PAL stocks in NTSC

Anutim

Smash Apprentice
Joined
Oct 22, 2013
Messages
185
Download!

LMAO, just realized that I included the wrong start.dol in the download...

For now, just follow the instructions regarding using a hex editor if you want to do this. The IfAll.usd file is still legit, so don't worry about that one.

"Drag and drop everything except this readme-file into your "root" folder.

For 20XX/SD Remix/Beast5 users (or if you're just using an already edited start.dol), you'll need a hex editor (I recommend HxD):
Open 20XX/SD Remix's &&systemdata and drag-n-drop Start.dol into HxD/your hex editor.
Go to offset 2F6608 (Ctrl + G for HxD users).
And paste 3C 00 C1 B0 (Ctrl + B for HxD users, DON'T USE Ctrl + V).
Save and you're done! (Note that you still want to drop IfAll.usd into your "root" folder regardless of mod pack.

All credit goes to @ Achilles1515 Achilles1515 (original Gecko code creator) and @ Dan Salvato Dan Salvato (for his Melee Toolkit which helped me find PAL's stock size).

Original gecko code:

042F9A28 3C00C1B0


Fun fact:
You can change C1B0 to move the stocks to where you want (@ a Y-axis)
C1A8 = -21 = NTSC
C1B0 = -22 = PAL

http://www.h-schmidt.net/FloatConverter/IEEE754.html
Type your value (-21, -22 etc) in Decimal Representation, hit Enter and copy the first 4 values after 0x at Hexadecimal Representation."
 
Last edited:

Milun

Smash Ace
Joined
Oct 29, 2009
Messages
516
Location
Australia
I uh... don't think I can help with this, sorry. Never touched Stocks in my life and wasn't even aware PAL and NTSC were different.
 

Doq

Smash Lord
Joined
Dec 28, 2012
Messages
1,037
Location
The Lab, Sweet Home, OR
I do PSA and Music tracks (outside of my Purin recolors as well). This isn't my dealio either sorry.

ot~ Term's over. I feel like working on crowns.
 
Last edited:

Anutim

Smash Apprentice
Joined
Oct 22, 2013
Messages
185
I uh... don't think I can help with this, sorry. Never touched Stocks in my life and wasn't even aware PAL and NTSC were different.
But you've messed around with models before, right? Is there a way to identify coordinate data for models?
 

Milun

Smash Ace
Joined
Oct 29, 2009
Messages
516
Location
Australia
Well, you can search for 3F 80 00 00 in whichever hex has the CSP textures in it. That's how position data works in Melee. An example of it would be: 3F 80 00 00 41 02 00 00 C1 80 00 00 C0 00 00 00

What you'd want to change there would be the C1 80 00 00 (the Y value) to something higher or lower and see what it affects in game. Now a smarter way to do it would be to compare the two files; one NTSC and one PAL and see which hex changes. Find the position data which is different between the two and I'd say that's your best bet.
 

Anutim

Smash Apprentice
Joined
Oct 22, 2013
Messages
185
Well, you can search for 3F 80 00 00 in whichever hex has the CSP textures in it. That's how position data works in Melee. An example of it would be: 3F 80 00 00 41 02 00 00 C1 80 00 00 C0 00 00 00

What you'd want to change there would be the C1 80 00 00 (the Y value) to something higher or lower and see what it affects in game. Now a smarter way to do it would be to compare the two files; one NTSC and one PAL and see which hex changes. Find the position data which is different between the two and I'd say that's your best bet.
Thanks! Earlier I had nothing to search for, but at least now I know what to look for!
 

Anutim

Smash Apprentice
Joined
Oct 22, 2013
Messages
185
Well, you can search for 3F 80 00 00 in whichever hex has the CSP textures in it. That's how position data works in Melee. An example of it would be: 3F 80 00 00 41 02 00 00 C1 80 00 00 C0 00 00 00

What you'd want to change there would be the C1 80 00 00 (the Y value) to something higher or lower and see what it affects in game. Now a smarter way to do it would be to compare the two files; one NTSC and one PAL and see which hex changes. Find the position data which is different between the two and I'd say that's your best bet.
Meh. Searched through the entire IfAll.usd. None of the values related to 3F 80 00 00 that was changed in PAL changes the stocks. I'm currently experimenting with changing some 3F 80 00 00 values that are the same in both versions of the game and so far I've managed to remove the texture for the first stock (only the first stock tho, the rest look the same), LOL.

My guess is that there's some fix for the position of the stocks somewhere in the start.dol.
@ Achilles1515 Achilles1515 time to do your .dol mod magic? :p
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Capture.PNG


Custom Stock Icon Y-Axis Display (1.02) [Achilles]
042F9A28 3C00C1A8

= First half of a 32-bit floating point number
Default value is -21 (0xC1A80000)

I wouldn't call this the most "elegant" way to modify the stock icon height, but it works. This code hooks in the custom value right before the game would store the default value. But I'm not exactly sure how the game gets these default values...I think they are calculated somehow and not pulled from a single memory address.
 
Last edited:

Anutim

Smash Apprentice
Joined
Oct 22, 2013
Messages
185
View attachment 42132

Custom Stock Icon Y-Axis Display (1.02) [Achilles]
042F9A28 3C00C1A8

= First half of a 32-bit floating point number
Default value is -21 (0xC1A80000)

I wouldn't call this the most "elegant" way to modify the stock icon height, but it works. This code hooks in the custom value right before the game would store the default value. But I'm not exactly sure how the game gets these default values...I think they are calculated somehow and not pulled from a single memory address.
I died. Literally. Been sitting with IfAll for sooooooooo many hours trying to fix this and you do it in a few hours, ON ONE DAY?
BASED ACHILLES, SDFIHSDHFIISDHFSJDIFJDSIFHISFu

edit: brb, commiting samurai
 
Last edited:

Anutim

Smash Apprentice
Joined
Oct 22, 2013
Messages
185
View attachment 42132

Custom Stock Icon Y-Axis Display (1.02) [Achilles]
042F9A28 3C00C1A8

= First half of a 32-bit floating point number
Default value is -21 (0xC1A80000)

I wouldn't call this the most "elegant" way to modify the stock icon height, but it works. This code hooks in the custom value right before the game would store the default value. But I'm not exactly sure how the game gets these default values...I think they are calculated somehow and not pulled from a single memory address.
How would I make this into a DOL mod btw? i dunno shiet, mayne
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
How would I make this into a DOL mod btw? i dunno shiet, mayne
You'd modify at the DOL offset @ 002FCE48 and change whatever's at that offset to 3C00C1A8. (I'm not 100% positive that's the offset since I'm doing this with math, and not an ISO, so it may be wrong. The easiest way would be to open Dolphin in debug mode, find the bytes around 802F9A28, then search for those in Start.dol with a hex editor.)
 

Anutim

Smash Apprentice
Joined
Oct 22, 2013
Messages
185
You'd modify at the DOL offset @ 002FCE48 and change whatever's at that offset to 3C00C1A8. (I'm not 100% positive that's the offset since I'm doing this with math, and not an ISO, so it may be wrong. The easiest way would be to open Dolphin in debug mode, find the bytes around 802F9A28, then search for those in Start.dol with a hex editor.)
It's just a bunch of 00 tho, LOL. Guessing I can put the code anywhere at unused DOL space, @ Achilles1515 Achilles1515 ?
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
It's just a bunch of 00 tho, LOL. Guessing I can put the code anywhere at unused DOL space, @ Achilles1515 Achilles1515 ?
Like I said, it may not be the correct address, I was doing the offset in my head. You wouldn't put that code just anywhere, you're wanting to overwrite an existing ASM function with another.
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
Maybe this is silly but what are the size and height of the PAL stock icons? I see how to change them but I don't know the numbers to make them like PAL.
 

Anutim

Smash Apprentice
Joined
Oct 22, 2013
Messages
185
Maybe this is silly but what are the size and height of the PAL stock icons? I see how to change them but I don't know the numbers to make them like PAL.
-22 is PAL.
So @2F6608 in the start.dol change whatever's there to 3C00C1B0.
I'll update the main post with simple drag & drops for people.
@Kadano you wanted to know when I'd make a post about the PAL stocks. :)
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Custom Stock Icon Scale and Y-Axis Offset (1.02) [Achilles]
C22F9A28 00000004
3C003F59 6000999A
901D002C 901D0030
3C00C1B0 60000000
60000000 00000000


ASM:
inject @ 802f9a28

#stock icon scale [float]
lis r0,0x3f59
ori r0,r0,0x999a
#store x scale
stw r0,0x2c(r29)
#store y scale
stw r0,0x30(r29)
#load stock icon height offset [float]
lis r0,0xc1b0
ori r0,r0,0x0000

Default = 1.00
Default = -21.00
I think there are some scale limitations (greater than 1) that make the stock icons disappear completely but idk, I didn’t “extensively” test this or anything. I tried putting in 3 as the value and they disappeared…but we’re more interested in going smaller anyway, which seems to work fine. I think going smaller affects the height as well.

No file modifications necessary!

The above code changes the stock icons from Vanilla:
vanilla stock.PNG



To Custom:

Scale = 0.85
Height = -22.00

code stock.PNG


@ A Anutim
 
Last edited:

Anutim

Smash Apprentice
Joined
Oct 22, 2013
Messages
185
Custom Stock Icon Scale and Y-Axis Offset (1.02) [Achilles]
C22F9A28 00000004
3C003F59 6000999A
901D002C 901D0030
3C00C1B0 60000000
60000000 00000000


ASM:
inject @ 802f9a28

#stock icon scale [float]
lis r0,0x3f59
ori r0,r0,0x999a
#store x scale
stw r0,0x2c(r29)
#store y scale
stw r0,0x30(r29)
#load stock icon height offset [float]
lis r0,0xc1b0
ori r0,r0,0x0000

Default = 1.00
Default = -21.00
I think there are some scale limitations (greater than 1) that make the stock icons disappear completely but idk, I didn’t “extensively” test this or anything. I tried putting in 3 as the value and they disappeared…but we’re more interested in going smaller anyway, which seems to work fine. I think going smaller affects the height as well.

No file modifications necessary!

The above code changes the stock icons from Vanilla:
View attachment 45262

To Custom:

Scale = 0.85
Height = -22.00

View attachment 45261

@ A Anutim
Epic, I'll check this out after Beauty when I have time.

@ Dan Salvato Dan Salvato should definitely include this in 20XXTE. C:
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
I'd rather only include it if it was identical to the PAL sizing. What are the differences at this point?
 

Anutim

Smash Apprentice
Joined
Oct 22, 2013
Messages
185
I'd rather only include it if it was identical to the PAL sizing. What are the differences at this point?

-22 = PAL (C1B0)
Not sure about the scaling and I don't have time to look it up atm, but shouldn't be too hard to find out.
Just open up Dolphin and screenshot the PAL size and then compare it to that. There's also the difference that makes the character logos in the BG slightly more transparent, but I don't know how to change that without replacing images. Not very important tho.
 
Last edited:

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
You only need the images offsets, the rest should be rather simple. I don't think anyone have documented them so far tho.
They're all on a thread called portraits and stock icons or something. If I remember correctly though it actually doesn't include white Sheik lol. I'll find her when I get around to it, it's super easy now that we know the offsets in MnSlChr.usd.
 
Top Bottom