• 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!

Alpha and Omega Stage Toggles Mod

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
First, a video explanation:

This mod has several parts. There's the part where you actually toggle from one to another, the color change (originally by ShamRock), all of the Omega stage files, and the DOL mods for everything.

The toggle part's Gecko code is this:
Code:
Update: You may only be able to play menu sounds on the SSS, but there are 10 possible menu sounds to choose from. I've updated it to play better sounds, but this should also work

Toggle Between Alpha and Omega at SSS (v1.02) [_glook]
C225A3C4 00000010
3DE08046 61EFB108
3A000000 3A200000
7E4F802E 7E319378
3A10000C 2C100025
4081FFF0 3E00803F
6210A3D0 81F00000
2C0F0000 4082001C
562F0295 41820038
39E00001 91F00000
38600008 48000018
562F0253 41820020
39E00000 91F00000
38600009 3DE08002
61EF4030 7DE903A6
4E800421 FC010040
60000000 00000000

Customize sound with this:
C225A3C4 00000010
3DE08046 61EFB108
3A000000 3A200000
7E4F802E 7E319378
3A10000C 2C100025
4081FFF0 3E00803F
6210A3D0 81F00000
2C0F0000 4082001C
562F0295 41820038
39E00001 91F00000
3860000X 48000018 <--- To Omega
562F0253 41820020
39E00000 91F00000
3860000Y 3DE08002 <--- To Alpha
61EF4030 7DE903A6
4E800421 FC010040
60000000 00000000

Replace X and Y with one of these sounds:
0 is back
1 is Forward
2 is select
3 is "Wrong"
4 is "tingaling"
5 is PEW! (sound when L+R+A+Starting)
6 is snapshot
7 is siren
8 is pick up
9 is drop
A is eat food
I repurpose one of the debug menu options (address 803fa3d0) and use this to store whether we are in Omega or Alpha mode. At the Stage Select screen, if we are in Alpha mode, we can switch to Omega mode by pressing "R", and we can do vice versa with "L". When a switch happens, the menu forward sound plays to indicate an action has occured.

Having a sound to indicate change is nice, but we need a reminder for the user about which mode they're currently in. For this, I use ShamRock's code to change the color of the stage icon border, except modified to use the Alpha/Omega toggle.
Code:
Display Unique Icon Borders for Alpha and Omega (v1.02) [ShamRock, _glook]
C225A3C0 00000010
3E00803F 6210A3D0
82100000 2C100000
4082000C 3E0000FF
4800000C 3E000033
62100066 3E20804D
623176DB 8A310000
1E310003 3A400000
5613063F 7E738A14
2C1300FF 40810008
3A6000FF 5610002F
7E109B78 5610C03F
3A520001 2C120003
41A0FFD8 3E2080CA
62313570 92110000
92110004 C001001C
60000000 00000000

Edit: flieskiller has an additional code if you want to unset the value back to Alpha whenever entering the SSS:
http://smashboards.com/threads/alpha-and-omega-stage-toggles-mod.404694/#post-19342861

This is all nice and fancy, but it doesn't actually do anything. That's where this next code comes in:
Code:
If in Omega Mode, try loading Omega version of stage (v1.02) [_glook]
C21C06F4 0000000D
38000000 3C60803F
6063A3D0 80630000
2C030000 41820048
3860006F 98640002
90810004 3821FFFC
7C832378 3CA08001
60A56204 7CA903A6
4E800421 3CA08033
60A5796C 7CA903A6
4E800421 38210004
80810004 2C030000
4080000C 38600072
98640002 00000000
This code hooks into the place where the stage's filename is read and checks if we are in Omega or Alpha mode. If we are in Alpha mode, we proceed as normal. However, if we are in Omega mode, we change the filename. Normally, stages have a filename that start with the letters "Gr". We change that to be "Go". We then check to see if the file exists. If it does, we proceed with the new filename. If the file doesn't exist, we change the name back to "Gr". It should be noted that if we are in Alpha mode, it changes the name to "Gr" no matter what, just in case the filename was changed earlier to "Go".
What this means is that you can include alternate stage files in the ISO. The alternate files HAVE to be the EXACT same size as the old one and they must be the same basic stage, as all the DOL functions will run of the original stage. To add a stage file to your ISO, you can manually edit the ISO hex to insert it somewhere (there's about 28 MBs of free space near the beginning of the ISO, though remember to update the FST) or you can just use GCRebuilder to do it.

Sometimes, though, you just want to toggle some dol mods, not load an entire new file. Besides this uses up a good chunk of free space on the ISO (and there's only about 28 Mbs to begin with). In that case, you can use the Omega toggle (803fa3d0) to do this. I'm gone ahead and taken the liberty of doing just that in a couple of ways.

The first DOL mod I created was one to load a different stage entirely. Here's one such example:
Code:
Omega Mode toggles for some stages (v1.02) [_glook]
C225BB40 0000000D
8804000B 3D80803F
618CA3D0 818C0000
2C0C0000 41820050
2C000016 4082000C
38000053 48000040
2C000019 4082000C
38000042 48000030
2C00001B 4082000C
380000F8 48000020
2C00000B 4082000C
380000D7 48000010
2C000017 40820008
380000E3 00000000
This hooks into the part where the stage id is read. It checks if we're in Alpha mode an proceeds normally if we are. If not, we do a series of ifs to check various stage IDs. If they match, we instead change the stage id to something else. This particular code changes Venom to Snag the Trophies, Icicle Mountain to Brinstar Escape, Flatzone to Majora's Mask, Rainbow Cruise to Goomba, and Pokefloats to Entei.

You'll notice that I included Snag the trophies, but some of you are aware that the trophies that spawn will crash versus mode. However, I don't want to remove functionality from Classic mode. So I toggle the trophy spawn dynamically. This is based off of the "Disable Trophy Spawn" code by wparam, except I check to see if we're in Classic mode first. If we are, we load the trophies as usual. If we're not, we don't load the trophies. This can be used separate from the Omega/Alpha stuff, so feel free to use it if you're going to be using the Trophy stage in the versus mode.
Code:
Disable Trophy Spawn if in versus mode (Snag the Trophies Stage) (v1.02) [wparam, _glook]
C22199FC 00000005
3D808047 618C9D30
898C0000 2C0C0003
40820014 3D80802F
618C2094 7D8903A6
4E800421 00000000

How about normal DOL mods? Well, you can alter DOL mods to check to see if you're in omega mode. If ALPHA mode, do what it normally does. If Omega, do whatever the DOL mod usually does. I've gone ahead and made modified codes of a lot of the existing DOL mods, most originally done by Zauron and flieskiller:
Code:
Peach's Castle Disable Switches and Bullet Bill (Zauron)
-----------------------------------------------
At 801CD8A8:
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
beq ALPHA
OMEGA:
blr
ALPHA:
mflr r0
C21CD8A8 00000004
3C80803F 6084A3D0
80840000 2C040000
41820008 4E800020
7C0802A6 00000000

Disable Shy Guys on Yoshi's Story (Zauron)
---------------------------------
At 801E3348:
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
bne OMEGA
lis r12, 0x801E
ori r12, r12, 0x3418
mtctr r12
bctrl
OMEGA:
C21E3348 00000005
3D80803F 618CA3D0
818C0000 2C0C0000
40820014 3D80801E
618C3418 7D8903A6
4E800421 00000000

Disable Rising Platforms and Water Jets on Fountain of Dreams (Zauron)
-------------------------------------------------------------
At 801CC8AC:
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
beq ALPHA
OMEGA:
nop # Replace with FC000028
b RETURN
ALPHA:
fmadds f0, f0, f31, f0
RETURN:
C21CC8AC 00000005
3D80803F 618CA3D0
818C0000 2C0C0000
4182000C FC000028
48000008 EC0007FA
60000000 00000000
----
At 801CC8B4:
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
beq ALPHA
OMEGA:
lis r12, 0x801C
ori r12, r12, 0xC9F0
mtctr r12
bctrl
ALPHA:
lwz r0, 0x14(r27)
RETURN:
C21CC8B4 00000006
3D80803F 618CA3D0
818C0000 2C0C0000
41820014 3D80801C
618CC9F0 7D8903A6
4E800421 801B0014
60000000 00000000

Disable Ship Spawn on & Great Fox's Gun on Corneria [Zauron]
------------------------------------------------------------
At 801DDA48:
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
bne RETURN
ALPHA:
lis r12, 0x801D
ori r12, r12, 0xCE1C
mtctr r12
bctrl
RETURN:
C21DDA48 00000005
3D80803F 618CA3D0
818C0000 2C0C0000
40820014 3D80801D
618CCE1C 7D8903A6
4E800421 00000000
----
At 801E1390:
blt RETURN
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
beq ALPHA
OMEGA:
lis r12, 0x801E
ori r12, r12, 0x17C0
mtctr r12
bctr
ALPHA:
lis r12, 0x801E
ori r12, r12, 0x13A8
mtctr r12
bctr
RETURN:
C21E1390 00000008
41800038 3D80803F
618CA3D0 818C0000
2C0C0000 41820014
3D80801E 618C17C0
7D8903A6 4E800420
3D80801E 618C13A8
7D8903A6 4E800420
60000000 00000000

Jungle Japes Everything is disabled and immobile (water, doodads, Klap Traps)(1.02)[flieskiller]
-----------------------------------------------------------------------------------
At 80202c98:
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
bne RETURN
ALPHA:
mulli  r0, r28, 0x14
RETURN:
C2202C98 00000004
3D80803F 618CA3D0
818C0000 2C0C0000
40820008 1C1C0014
60000000 00000000

Disable Rising Lava on Brinstar [Zauron]
----------------------------------------
At 801D99E0:
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
beq RETURN
blr
RETURN:
mflr r0
C21D99E0 00000004
3D80803F 618CA3D0
818C0000 2C0C0000
41820008 4E800020
7C0802A6 00000000

Onett Disable cars and Remove Drug Store platforms [flieskiller]
----------------------------------------------------------------
At 801e379c:
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
bne RETURN
ALPHA:
lis r12, 0x801E
ori r12, r12, 0x37F4
mtctr r12
bctrl
RETURN:
C21E379C 00000005
3D80803F 618CA3D0
818C0000 2C0C0000
40820014 3D80801E
618C37F4 7D8903A6
4E800421 00000000
----
At 801e3794:
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
bne RETURN
ALPHA:
lis r12, 0x801E
ori r12, r12, 0x37F4
mtctr r12
bctrl
RETURN:
C21E3794 00000005
3D80803F 618CA3D0
818C0000 2C0C0000
40820014 3D80801E
618C37F4 7D8903A6
4E800421 00000000

Mute City Disable cars [flieskiller]
------------------------------------
At 801f0188:
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
bne RETURN
ALPHA:
lis r12, 0x801F
ori r12, r12, 0x1A34
mtctr r12
bctrl
RETURN:
C21F0188 00000005
3D80803F 618CA3D0
818C0000 2C0C0000
40820014 3D80801F
618C1A34 7D8903A6
4E800421 00000000

Disable Stage Transformations on Pokemon Stadium [Zauron]
---------------------------------------------------------
At 801D1548:
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
bne RETURN
ALPHA:
lis r12, 0x801D
ori r12, r12, 0x4548
mtctr r12
bctrl
RETURN:
C21D1548 00000005
3D80803F 618CA3D0
818C0000 2C0C0000
40820014 3D80801D
618C4548 7D8903A6
4E800421 00000000

Disable Final Destination Background Transitions [Achilles, Dan Salvato]
------------------------------------------------------------------------
At 8021AAE4:
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
bne RETURN
ALPHA:
lis r12, 0x8021
ori r12, r12, 0xB2E8
mtctr r12
bctrl
RETURN:
C221AAE4 00000005
3D80803F 618CA3D0
818C0000 2C0C0000
40820014 3D808021
618CB2E8 7D8903A6
4E800421 00000000

Disable Tree Blow on Dreamland [Zauron]
---------------------------------------
At 80211444:
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
bne RETURN
ALPHA:
lis r12, 0x8021
ori r12, r12, 0x19E0
mtctr r12
bctr
RETURN:
C2211444 00000005
3D80803F 618CA3D0
818C0000 2C0C0000
40820014 3D808021
618C19E0 7D8903A6
4E800420 00000000

Kongo Jungle 64 (past stage) Remove Barrel [flieskiller]
--------------------------------------------------------
At 8020f4c0:
lis r12, 0x803f
ori r12, r12, 0xa3d0
lwz r12, 0(r12)
cmpwi r12, 0
bne RETURN
ALPHA:
lis r12, 0x8020
ori r12, r12, 0xF52C
mtctr r12
bctrl
RETURN:
C220F4C0 00000005
3D80803F 618CA3D0
818C0000 2C0C0000
40820014 3D808020
618CF52C 7D8903A6
4E800421 00000000

I've gone ahead and created an xdelta patch that you can use to patch a copy of SSBM v1.02. The patch clobbers over the Debug Menu, so keep that in mind. Here's a link to the xdelta patch:
http://www.mediafire.com/download/ou0zv22t1mjon9g/1_2_with_omega_toggles.xdelta

Thanks for reading!
 
Last edited:

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
That's very cool, but would it be easy to just get the "freeze" stages part and not the different file? Because I'm doing a custom memory card save (while waiting for 20XXTE) and I'd like to import your code into my save.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
If you don't include the third code (the one that loads a different file), you should be fine. It only uses the Omega toggle, it doesn't do anything to it. The only code that's strictly required is the first one, since all the second one does is change things visually. That being said, it shouldn't hurt anything even if you were to include the third code. It defaults back to the Gr version if it can't find a file with the prefix Go.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
This is really neat, Glook. So you found a function that just checks if a filename is a valid one within the ISO? That sounds interesting.

Btw, this,

lis r12,0x8047
ori r12,r12,0x9d30
lbz r12,0(r12)

Can be condensed down to just two lines.

lis r12,0x8048
lbz r12,-0x62D0(r12)


Idk why I didn't think about that until just a few days ago...
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
This is really neat, Glook. So you found a function that just checks if a filename is a valid one within the ISO? That sounds interesting.

Btw, this,

lis r12,0x8047
ori r12,r12,0x9d30
lbz r12,0(r12)

Can be condensed down to just two lines.

lis r12,0x8048
lbz r12,-0x62D0(r12)


Idk why I didn't think about that until just a few days ago...
Oh right, thanks, that could be very useful for saving space (once I write a script to do the math for me).

Yeah, each time a file is read, it first checks the file before trying to read it. AFAIK, this is done for every file that's attempted to be read. I believe 0x800178E8 is a convenience function to do all of that (though I haven't really verified that, though I think it runs for more than just stage loading). In that function, there's a spot where it places the pointer to the string with the filename you want to check to r3. It then calls 0x80016204 then immediately after that calls 0x8033796C. As far as I can tell, 0x80016204 checks the length of the filename. 0x8033796C does a bunch of stuff, but what I know is that if the files doesn't exist, it returns -1. It returns some integer if the file does exist.

Edit: Using a very simple diff algorithm, the difference between normal PlKp.dat and SDR PlKp.dat is 451 bytes. I think I'll manage to find somewhere to store this diff in memory.

Edit2: Nevermind, there was a bug. It's actually 1338 bytes. Still, I think I can manage to find space for it.
 
Last edited:

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
I have one complaint about it: The sound used when you toggle is the same as when you navigate the menu, it should be a different sound to differentiate both actions.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
I have one complaint about it: The sound used when you toggle is the same as when you navigate the menu, it should be a different sound to differentiate both actions.
Yeah, but it's the only sound I could get to work that wasn't the "Switch" and "Back" sounds, which is even worse. If you know how to play a different sound, I'd be more than happy to change it.
 
Last edited:

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
Yeah, but it's the only sound I could get to work that wasn't the "Switch" and "Back" sounds, which is even worse. If you know how to play a different sound, I'd be more than happy to change it.
I know @ Dan Salvato Dan Salvato used the homerun bat sound when pressing start at the press start screen in his 20XXTE.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
When the stage is actually selected, the cursor is red, even if Omega mode is activated. Did you try changing it? It would be better if it was purple too.
 

Sham Rock

Smash Apprentice
Joined
Feb 10, 2014
Messages
95
Location
Outside of your grab range
When the stage is actually selected, the cursor is red, even if Omega mode is activated. Did you try changing it? It would be better if it was purple too.
Yeah, just noticed that yesterday evening to. That one´s on me, the injection point of the color change (one before stage striking) only gets executed when a stage hasn´t been selected yet (i.e. only before a loading cycle), that was to prevent people from striking after a loading cycle has been initiated which would result in the game trying to load stage "1E"(no stage selected) and crashing the game. I haven´t had the time to fix that currently but on the other hand if you have a not so visible color (especially with the half transparent black overlay during loading) your eye doesn´t catch what stage was selected very quickly. And in my experience it happens a lot in sessions that the other player just advances while you look at your phone or something and when you look back at the screen you only have a second to realize what stage was selected. This may not be such a big issue when playing on a ntsc disk based system which takes foreeeeeeeever to load, but when playing pal on a quick load cube you dont have much time to find the dark purple cursor when looking at the screen after the stage has already been selected.

But it will be fixed soon, I promise
 

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
Also, something annoys me when I use the toggle: I feel like after selecting a match, it should return to the the normal version. Right now, if I select frozen Pokémon stadium, then I choose random quickly after the match and arrive on FoD, it will be frozen too. Do you think there is a fix possible, like when a level is chosen, return back the variable used by your code to 0? I'd appreciate a lot.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
Also, something annoys me when I use the toggle: I feel like after selecting a match, it should return to the the normal version. Right now, if I select frozen Pokémon stadium, then I choose random quickly after the match and arrive on FoD, it will be frozen too. Do you think there is a fix possible, like when a level is chosen, return back the variable used by your code to 0? I'd appreciate a lot.
I personally prefer it the way it is now, but if you want to change it, you can hook into the code during scene change and set the omega toggle to 0, which I've mentioned is the word at 0x803fa3d0. You can probably even add it to Achilles' Flush Cache on Scene change.

The ASM is of the form:
lis r12, 0x803f
ori r12, r12, 0xa3d0
li r11, 0
stw r11, 0(r12)
 

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
on a scene change, it's a bad idea, because functions like the timer from Pokémon stadium means it won't work anymore, the best would be when you press start from the CSS. Do you know a function called by only that so I can hook on it?
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
on a scene change, it's a bad idea, because functions like the timer from Pokémon stadium means it won't work anymore, the best would be when you press start from the CSS. Do you know a function called by only that so I can hook on it?
I don't unfortunately. Though if you only want it to apply it when start is pressed on CSS, you can first check to see if the scene id and subscene id match the value for the SSS or something.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
Scene ID in byte 80479D30, and it looks like it's 0x2 for versus mode. subsceneId (or screenId) is byte 80479D33. It's 0 at the CSS, 1 at the SSS and maybe 2 at actual gameplay. I believe 3 is sudden death and 4 is the results screen.
 

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
I found it a little by accident, but it suits me fine 100% as I wanted it to be.

Leaving the SSS or ending a match returns to Alpha mode:

Omega mode removed when leaving SSS
C21A415C 00000003
3D80803F 618CA3D0
39E00000 91EC0000
3803FFFF 60000000
 
Last edited:

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
I found it a little by accident, but it suits me fine 100% as I wanted it to be.

Leaving the SSS or ending a match returns to Alpha mode:

Omega mode removed when leaving SSS
C21A415C 00000004
3D80803F 618CA3D0
39E00000 91EC0000
3803FFFF 481A0444
60000000 00000000
I added a reference to your post in the OP.
 
Last edited:

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
You can only play menu sounds at the SSS, but there are 10 to choose from. I've updated the code to use two of those other menu sounds so that it can't be confused with "Stage Select" sound. It's customizable and I've included the list of sounds you can play.

See the spoiler in the first post in the toggler spoiler (the first one) for the updated code.
 

Wooggle

Smash Apprentice
Joined
Jul 7, 2014
Messages
83
Location
NJ, USA
When I try to apply the patch used xdelta3, I get the following error message:
xdelta3: target window checksum missmatch: XD3_INVALID_INPUT

I am using a version 1.2 melee iso. Do you know what the problem is?
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
When I try to apply the patch used xdelta3, I get the following error message:
xdelta3: target window checksum missmatch: XD3_INVALID_INPUT

I am using a version 1.2 melee iso. Do you know what the problem is?
xdelta only works on a clean copy of the original file, so if you've done anything to it, like texture hacks, it won't work.

You'd have to apply the xdelta patch and then apply the texture hacks afterwards.
 
Last edited:

Wooggle

Smash Apprentice
Joined
Jul 7, 2014
Messages
83
Location
NJ, USA
The new iso file worked. I have no idea what was wrong with the old file though

Edit: For some reason, the game does not revert back from omega mode when I exit the SSS. Everything else works perfectly
 
Last edited:

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
The new iso file worked. I have no idea what was wrong with the old file though

Edit: For some reason, the game does not revert back from omega mode when I exit the SSS. Everything else works perfectly
Glad it's working now. The game sticks with whatever mode was last played or selected instead of always resetting. You're not the first to complain, though, so for the next version, I might put an option in the options menu to reset when going to the character selection screen.
 

Aerros11

Smash Journeyman
Joined
Sep 5, 2009
Messages
284
I'm not certain if this was asked: do the omega stages have different stage IDs in comparison to their respective alpha version IDs?
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
I'm not certain if this was asked: do the omega stages have different stage IDs in comparison to their respective alpha version IDs?
No, stage IDs have no meaning by themselves in SD Remix. I have a table in memory with the key being the stage id of the stage slot the user selected and also whether we want alpha or omega. It give back the Melee stage id of the stage to load, any DOL mods to apply for that stage, and whether to load an alternate file for that stage.
 

Aerros11

Smash Journeyman
Joined
Sep 5, 2009
Messages
284
Even 20xxTe is going to have omega stages I believe so I think manipulation of your code is going to sky rocket by its release. Basically I want to replace Yoshi's Island omega stage to Achilles' version (while still maintaining the alpha version in tact). Is there a way to do such a thing? Thanks for the initial reply; I feel like that hint should have been enough for anyone else to figure out but I guess I need a further explanation
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
Even 20xxTe is going to have omega stages I believe so I think manipulation of your code is going to sky rocket by its release. Basically I want to replace Yoshi's Island omega stage to Achilles' version (while still maintaining the alpha version in tact). Is there a way to do such a thing? Thanks for the initial reply; I feel like that hint should have been enough for anyone else to figure out but I guess I need a further explanation
Yeah, that's possible, and it's basically what this system does. How you do it will depend on what the stage replacement is. I assume you've already done the first three parts, which is set up the toggle, change the border color, and play a sound. From the sounds of it, it looks like you just want to load a different stage file entirely. That's what my "If in Omega Mode, try loading Omega version of stage (v1.02) [_glook]" code is for. When you build your ISO, put in the Achilles version of the stage except instead of having the filename start with "Gr", have it start with "Go". There's more details in the first post if you're stuck.
 

Aerros11

Smash Journeyman
Joined
Sep 5, 2009
Messages
284
Yeah, that's possible, and it's basically what this system does. How you do it will depend on what the stage replacement is. I assume you've already done the first three parts, which is set up the toggle, change the border color, and play a sound. From the sounds of it, it looks like you just want to load a different stage file entirely. That's what my "If in Omega Mode, try loading Omega version of stage (v1.02) [_glook]" code is for. When you build your ISO, put in the Achilles version of the stage except instead of having the filename start with "Gr", have it start with "Go". There's more details in the first post if you're stuck.
I think I just asked a bad example or maybe I was in full derp mode when I had asked.
I guess this is more of a technical question with three criteria:

- Preserve Alpha Stage "Gr"
- Replace Omega Stage "Go"
- With Kalos League "[Roy's Target Test]"

Right now I have Kalos League over Jungle Japes (both alpha and omega).
I did this by going into start.dol and switching Jungles Japes' ID [02030D0C] to Roy's Test [02030D39]..
..but is there a way to preserve the alpha and replace the omega with a completely different stage?

Sorry for the question spam but I hope that if there's an answer, someone else may find it helpful too.

Well, Best Wishes (seriously with all the holidays!)
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
I think I just asked a bad example or maybe I was in full derp mode when I had asked.
I guess this is more of a technical question with three criteria:

- Preserve Alpha Stage "Gr"
- Replace Omega Stage "Go"
- With Kalos League "[Roy's Target Test]"

Right now I have Kalos League over Jungle Japes (both alpha and omega).
I did this by going into start.dol and switching Jungles Japes' ID [02030D0C] to Roy's Test [02030D39]..
..but is there a way to preserve the alpha and replace the omega with a completely different stage?

Sorry for the question spam but I hope that if there's an answer, someone else may find it helpful too.

Well, Best Wishes (seriously with all the holidays!)
You'll probably want to check out the section "Omega Mode toggles for some stages (v1.02) [_glook]". The basic description of what it is doing is in that section, and it's pretty simple to reproduce. If you want a place to start, you can convert the code I have listed there to assembly code and start off of that.
 

Aerros11

Smash Journeyman
Joined
Sep 5, 2009
Messages
284
I had trouble with dolphin hacking and whatnot when I first started modding so that might be an issue but it's not so much of a big deal right now for me. I'll most likely just settle with what I have for now until I try ASM again. Thanks for all your responses even though I totally backed out in the end~
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
I had trouble with dolphin hacking and whatnot when I first started modding so that might be an issue but it's not so much of a big deal right now for me. I'll most likely just settle with what I have for now until I try ASM again. Thanks for all your responses even though I totally backed out in the end~
No worries. Sorry, though, I thought you were well-versed already in the process and I probably have given you advice that was totally confusing for someone who hasn't done a fair amount of ASM and Melee hacking. There's a great starting point in one of the stickies, if you're still interested in getting into it.
 
Top Bottom