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

Gecko Code: CPU Random Teching and DI

Stratocaster

Smash Ace
Joined
Oct 6, 2007
Messages
672
Location
Knoxville, TN
Hey all, I have a little something to share with you.

This Gecko code will make a CPU mix-up the four tech options (tech, tech-roll left, tech-roll right, no tech) and randomly DI either hard left, hard right, or not at all. It has capabilities to do a little more. It's purpose is for solo training for tech-chasing and combos.

First, here's a quick look of the code in action.



Pretty cool right? Notice how Falcon DI's the throw right the first time and left the second. He tech rolls left 3 out of the 4 times, but that's not normal. It's usually a fairly even mix. It's not perfect, but it is adjustable. Remember that missed tech is purposefully coded in. Also of note is me trying to be all cool at the end and end it with an fsmash to hit the missed tech or tech-in-place.

The current build of the code is listed below. The version number (v1.5 atm) is for me to keep track, and so you know when you look back if your version of the code is out of date. v1.0 was the first one that actually worked fully. v1.5 has a lot of bug fixes and fine-tuned the mix-ups the best I could.

I have 1.00, 1.01, and 1.02 working. 1.02 is the original code is most tested. I have a version of PAL I will post here which isn't fully workable yet. I hate to post an un-working product, but I can't figure out why it doesn't work, so maybe it's just not working correctly for me or someone else can figure out what's wrong.

[COLLAPSE=CPU P2 Mixes up Tech Options and DI v1.6 (1.02) {Stratocaster}]
Code:
04376BDC 38000000
28453F1A 00000001
48000000 80453FC0
DE000000 80008180
100006E4 000000FF
100006E0 00000000
14000680 BF7CCCCD
0446B174 0000E900
0446B1A4 0000E900
0446B1D4 0000E900
A8000008 00000003
100006E0 000000FF
A8000009 00000001
14000680 3F800000
0446B174 00001700
0446B1A4 00001700
0446B1D4 00001700
A8000009 00000003
14000680 00000000
3800223B 0000E714
10001AF7 00000005
3A00223B 0000E714
A8000000 00000001
10001AF7 00000004
E2000002 80008000
48000000 80453FC4
DE000000 80008180
100006E4 000000FF
100006E0 00000000
14000680 BF7CCCCD
A8000008 00000003
100006E0 000000FF
A8000009 00000001
14000680 3F800000
A8000009 00000003
14000680 00000000
3800223B 0000E714
10001AF7 00000005
3A00223B 0000E714
A8000000 00000001
10001AF7 00000004
28453F16 0000000E
10001AF7 00000006
E2000006 80008000
[/COLLAPSE]

[COLLAPSE=CPU P2 Mixes up Tech Options and DI v1.6 (1.00) {Stratocaster}]
Code:
04374D28 38000000
28451F5A 00000001
48000000 80452000
DE000000 80008180
100006E4 000000FF
100006E0 00000000
14000680 BF7CCCCD
044691AC 0000E900
044691DC 0000E900
0446920C 0000E900
A8000008 00000003
100006E0 000000FF
A8000009 00000001
14000680 3F800000
044691AC 00001700
044691DC 00001700
0446920C 00001700
A8000009 00000003
14000680 00000000
3800223B 0000E46C
10001AF7 00000005
3A00223B 0000E46C
A8000000 00000001
10001AF7 00000004
E2000002 80008000
48000000 80452004
DE000000 80008180
100006E4 000000FF
100006E0 00000000
14000680 BF7CCCCD
A8000008 00000003
100006E0 000000FF
A8000009 00000001
14000680 3F800000
A8000009 00000003
14000680 00000000
3800223B 0000E46C
10001AF7 00000005
3A00223B 0000E46C
A8000000 00000001
10001AF7 00000004
28451F56 0000000E
10001AF7 00000006
E2000006 80008000
[/COLLAPSE]

[COLLAPSE=CPU P2 Mixes up Tech Options and DI v1.6 (1.01) {Stratocaster}]
Code:
04375EFC 38000000
2845323A 00000001
48000000 804532E0
DE000000 80008180
100006E4 000000FF
100006E0 00000000
14000680 BF7CCCCD
0446A494 0000E900
0446A4C4 0000E900
0446A4F4 0000E900
A8000008 00000003
100006E0 000000FF
A8000009 00000001
14000680 3F800000
0446A494 00001700
0446A4C4 00001700
0446A4F4 00001700
A8000009 00000003
14000680 00000000
3800223B 0000E554
10001AF7 00000005
3A00223B 0000E554
A8000000 00000001
10001AF7 00000004
E2000002 80008000
48000000 804532E4
DE000000 80008180
100006E4 000000FF
100006E0 00000000
14000680 BF7CCCCD
A8000008 00000003
100006E0 000000FF
A8000009 00000001
14000680 3F800000
A8000009 00000003
14000680 00000000
3800223B 0000E554
10001AF7 00000005
3A00223B 0000E554
A8000000 00000001
10001AF7 00000004
28453236 0000000E
10001AF7 00000006
E2000006 80008000
[/COLLAPSE]

[COLLAPSE=CPU P2 Mixes up Tech Options and DI v1.6 (PAL) {Stratocaster}
**NOT YET FULLY FUNCTIONING**]
Code:
04376AE0 38000000
28444CCA 00000001
48000000 80444D70
DE000000 80008180
100006E4 000000FF
100006E0 00000000
14000680 BF7CCCCD
0445BF7C 0000E900
0445BFAC 0000E900
0445BFDC 0000E900
A8000008 00000003
100006E0 000000FF
A8000009 00000001
14000680 3F800000
0445BF7C 00001700
0445BFAC 00001700
0445BFDC 00001700
A8000009 00000003
14000680 00000000
3800223B 0000EDCC
10001AF7 00000005
3A00223B 0000EDCC
A8000000 00000001
10001AF7 00000004
E2000002 80008000
48000000 80444D74
DE000000 80008180
100006E4 000000FF
100006E0 00000000
14000680 BF7CCCCD
A8000008 00000003
100006E0 000000FF
A8000009 00000001
14000680 3F800000
A8000009 00000003
14000680 00000000
3800223B 0000EDCC
10001AF7 00000005
3A00223B 0000EDCC
A8000000 00000001
10001AF7 00000004
28444CC6 0000000E
10001AF7 00000006
E2000006 80008000
[/COLLAPSE]

What you need to know about using this code
First, it's only for player 2. It is designed to only function if P2 is set to CPU. The code will make a CPU set to any setting other than normal become normal on hit. This means that if you go in training mode and set the CPU to stand in training mode and then hit them, they will become a normal CPU. To understand why, see the section on how the code works.

To use it in Dolphin, you just need to enable cheats and add it to the Gecko code list and enable it there. It works a little differently in Dolphin, so you may want to use the version below which is optimized for Dolphin use. To use it on a Wii, it'll need to be soft-modded and you'll need a loader/app set up for this. I'm no expert on this subject, but I got it to work for me in two ways and there will be a brief section below on this.

Dolphin Version (1.02 only)
Dolphin applies this code slightly differently. All you need to know is that the result is it chooses tech-roll more often then usual. This version of the code adjusts for that. v1.02 shouldn't be a problem since you know, the internet and all.

[COLLAPSE=CPU P2 Mixes up Tech Options and DI v1.6 (1.02) {Stratocaster}]
Code:
28453F1A 00000001
48000000 80453FC0
DE000000 80008180
100006E4 000000FF
100006E0 00000000
14000680 BF7CCCCD
0446B114 0000E900
0446B144 0000E900
0446B174 0000E900
0446B1A4 0000E900
0446B1D4 0000E900
A8000008 00000003
100006E0 000000FF
A8000009 00000001
14000680 3F800000
0446B114 00001700
0446B144 00001700
0446B174 00001700
0446B1A4 00001700
0446B1D4 00001700
A8000009 00000003
14000680 00000000
3800223B 0000E714
10001AF7 00000005
3A00223B 0000E714
A8000000 00000001
10001AF7 00000004
E2000002 80008000
48000000 80453FC4
DE000000 80008180
100006E4 000000FF
100006E0 00000000
14000680 BF7CCCCD
A8000008 00000003
100006E0 000000FF
A8000009 00000001
14000680 3F800000
A8000009 00000003
14000680 00000000
3800223B 0000E714
10001AF7 00000005
3A00223B 0000E714
A8000000 00000001
10001AF7 00000004
28453F16 0000000E
10001AF7 00000006
E2000003 80008000
[/COLLAPSE]

How the code works
First you should know I CANNOT CHANGE THE AI. No one really knows anything about the AI in melee (not even where it is in the code afaik), and you could imagine that tackling this problem from that angle would be very challenging. Anyway, please don't assume I'm an all-powerful wizard who can make the CPU's do my will.

Teching:
How it works is I change the value that determines whether player 2 will tech when hitting a surface, as well as disabling the value that controls the 'tech window' which keeps you from spamming L/R to tech. Then I made it alternate in a value about every 4 frames to disable teching for that frame. The result is that they will tech about 3/4ths of the time. This includes walls and ceilings too. It can even work for a player-controlled character. I could make it literally impossible for you to miss a tech! Anyway, this has the side effect of making the CPUs tech some CRAZY stuff that is either very hard to tech with a 1 frame window, and even things that are impossible to tech. Hit them against a wall again and again, and they'll tech even if usually the teching window hasn't been refreshed yet (there's a 40 frame dead-zone which you cannot tech). This means that tech-traps do not work, so don't practice those I guess.

Tech-rolls:
My solution for tech-rolls is more roundabout than I would like, but it works so whatever. I couldn't find a nice value which indicated which way to tech or anything, but I found something which input a left or right value which could be used for teching. In order for this to work, the input must be far enough that they will turn around normally and they must be human-controlled. To get this to work, after a CPU is hit, they become a "human" CPU, just like the human option in training mode. Then they will start wiggling the stick back and forth, basically. Alternating between left, right, and none every frame. This results in them tech-rolling when they hit the ground. Whenever hitstun is over, they return to being a normal CPU. The side-effects are that sometimes the switch doesn't happen immediately after hitstun is over, and they'll just stand there and turn back and forth (lol). This can probably be fixed, but I'm not too worried about it. It also means they will wiggle out of hitstun ASAP. So you should be able to pretty visibly tell when they are out of hitstun, and they will land on their feet if at all possible.

DI:
DI is the most simple to implement, but the hardest to decide what the best solution is. Basically there's a value for each character which identifies which way they are DIing (Well two, one for horizontal and one for vertical), this can be edited even if the character is a CPU, so there's no need to switch them to human mode. Currently, my solution is just to alternate between left, right, and none real fast. Those are the most basic DI options, after all. This means they might DI really well or really poorly, and it's just luck pretty much. There's a place for all sorts of angles and partial DI's but those are all pretty situational, and detecting these situations is not currently possible. I'll look into this, but I can't see there being a perfect solution. The DI is customizable though, so if you want to practice against a particular DI, that is certainly possible.

Code breakdown
This is a breakdown of what every line does to make it clear to see what it is doing and how it can be edited.

[COLLAPSE=CPU P2 Mixes up Tech Options and DI v1.6 (1.02) {Stratocaster}]
04376BDC 38000000 //Makes game think controller 2 is plugged in
28453F1A 00000001 //If P2 is a CPU
48000000 80453FC0 //Set's pointer to value at this address
DE000000 80008180 //Check's that pointer is within reasonable range.

100006E4 000000FF //Disables the tech window for P2
100006E0 00000000 //Makes P2 tech

14000680 BF7CCCCD //P2 DI's fully to the left
0446B114 0000E900 //These 5 lines input a tech to the left.
0446B144 0000E900 //5 is the max that can be used
0446B174 0000E900 //delete any number of these lines to tech roll less
0446B1A4 0000E900 //3 lines are suggested for Wii play
0446B1D4 0000E900 //5 lines are suggested for Dolphin play

A8000008 00000003 //Every 4 frames do the following:
100006E0 000000FF //Make P2 NOT tech

A8000009 00000001 //Every Other frame do the following:
14000680 3F800000 //P2 DI's fully right
0446B114 00001700 //These 5 lines input a tech to the right.
0446B144 00001700 //They work exactly like the ones for left.
0446B174 00001700
0446B1A4 00001700
0446B1D4 00001700

A8000009 00000003 //Every 4 frames do the following:
14000680 00000000 //P2 has no DI

3800223B 0000E714 //If P2 is in hitstun (kinda)
10001AF7 00000005 //CPU type: human
3A00223B 0000E714 //If P2 is not in hitstun
A8000000 00000001 //Execute once:
10001AF7 00000004 //CPU type: normal

E2000002 80008000 //endif line (2 endifs)
48000000 80453FC4 //Sheik and Nana Fix
DE000000 80008180 //These lines parallel much of the code already
100006E4 000000FF //Except these character's mem address are
100006E0 00000000 //stored in different spots than usual.
14000680 BF7CCCCD //If changes are made, it must be checked that
A8000008 00000003 //the change is made to this part of the code too,
100006E0 000000FF //if applicable.
A8000009 00000001
14000680 3F800000
A8000009 00000003
14000680 00000000
3800223B 0000E714
10001AF7 00000005
3A00223B 0000E714
A8000000 00000001
10001AF7 00000004

28453F16 0000000E //Nana Fix, if IC's
10001AF7 00000006 //CPU type: Nana

E2000006 80008000 //endif line (6 endifs) note: other endifs are built into the code
[/COLLAPSE]

If you want to make custom edits, you may be able to figure out what changes you need to make based on these notes. I may add more detailed instructions for certain changes later.

Likely Questions

Can this be made into a ASM/dol mod version?
Not easily. The code uses some Gecko-specific functions which would need to be implemented in a different way in ASM. This is probably possible, but would require a lot of re-working.

Can you make them jump/attack/dodge/shine ASAP?
Yeah, this is probably on the way. The tech-rolling thing may interfere with this some, but I'm pretty sure me or someone else will figure this out or get around to it. I envision a version which you can select which option you want you opponent to do ASAP or make it randomly select from the options.

How do you I get this to work on my Wii?
You'll have to get it softmodded first. I literally have no idea how to do this. Someone did it for me. Then you can use GeckoOS or Dios Mios Lite. GeckoOS requires the disc, Dios Mios Lite can run off an SD card. I really don't want to write a guide on this. I'm certainly no expert, but here's the info I used to get it to work for me.

InternetExplorer's guide (for GeckoOS):
[COLLAPSE="How to run Melee codes on a softmodded Wii"]
Disclaimer: I am not responsible for any damage done to your Wii by using these tools.

Part 1
  1. Download this SSBM Code Tools file.
  2. Take everything in the "SD Root" folder and copy it to the root of your SD card. If you already have an 'apps' folder, it will merge with the one being copied.
  3. Make sure your Wii is connected to a wireless network.
Part 2
(Note: If you already use other mods for USB loading or GC backup loading, skip this part)
  1. Remove your Gamecube memory cards.
  2. From the Homebrew Channel, run the IOS236 Installer.
  3. Choose to install from network.
  4. After installation is complete and you're back at the Homebrew Channel, it is safe to re-insert your memory cards.
Part 3
(Note: If you already use other mods for GC backup loading, skip this part)
  1. From the Homebrew Channel, run the Homebrew MIOS Patcher.
  2. Press A on your Gamecube controller to install the patch.
Part 4
  1. On your PC, load Ocarina Code Manager, select "Open TXT file", and open GALE01.txt, located in the Ocarina Code Manager folder.
  2. Check the codes you want included. I've added some of my favorite codes to the file, but you can also add your own.
  3. Click "Export to GCT" and choose "store to file". Name the file GALE01.gct
  4. Copy GALE01.gct to sd:/GeckoOSmod/codes/GALE01.gct
Starting the Game
  1. Load Gecko OS Mod from the Homebrew Channel.
  2. Enable Ocarina, the default hook type should be fine (VI, I believe)
  3. Start the game!
[/COLLAPSE]
Additional Resource on GeckoOS
(I think IE's guides skips a few small steps which this covers, I used both in conjuction)

achilles1515's guide on using Dios Mios Lite

I'm just copy and pasting this from another conversation I had. Hopefully it helps. I helped my friend get these codes running from, *i believe*, a fresh softmod so try following these instructions. This is assuming you are trying to run the game off of an SD card, though (which you should do anyway).

Use this guide for installing IOS 236. Even if you think you already have this installed, do it again. I think the installer that InternetExplorer had bundled was not working correctly or something
http://gwht.wikidot.com/ios236

Then you need Dios Mios Lite if you are running from an SD card.

Download this and put this "wad" folder on the root of your sd card. Inside the WAD folder contains Dios Mios Lite.

Now you need to install this Dios Mios Wad:
Download this Wad manager homebrew app and put it in your "apps" folder on the root of your SD card. Then open this program up on your Wii and install the Dios Mios WAD

Now download Dios-Mios-Booter and put that in your "apps" folder as well. This is what you'll use to launch the game (using the steps I noted at the bottom of the 20xx training thread to get codes working).

And if you don't have your ISO in the correct format already,

(copied from a Facebook message I sent someone)
download this program
http://www.hacksden.com/attachment.php?attachmentid=696&d=1350496227
its for your computer
the ISO has to be in a specific format on the sd card for it to read it correctly
so what you want to do
is drag your .iso file over top of that discex.exe file
and then discEX creates a folder called GALE01 (in the same location on your comp that your ISO file came from)
and then you'll want to copy that GALE01 folder to your sd card in the location:
SD:\games\
[/spoiler]


You will, of course, need a softmodded Wii to be able to run SSBM with Gecko codes (Ocarina Codes). If you are unfamiliar with this procedure, please visit the Gecko Codes Thread where InternetExplorer has a guide on setting it up. In his guide, he uses GeckoOS to launch the game with codes activated. I personally could not get that app to work, and the same with CFG Loader. Instead, I used Dios-Mios-Booter, a much simpler application that worked flawlessly for me. My miniguide on getting this to work is as follows (using DIOS MIOS Lite to run the game off an SD card. This can be done off USB as well using regular DIOS MIOS and changing the locations below from SD to USB):

Game location:
SD:\games\GALE01\game.iso

Codes location:
SD:\games\GALE01\GALE01.gct

(GALE01 will be GALP01 if you are using PAL)

Note: Make sure there are no brackets around your game name such as this [GALE01]. The booter will still recognize the game but codes won’t work. It has also been reported that USB loading cannot handle as many cheats active at once as SD loading can, and that USB loading cannot even handle all the cheats from this thread at once. SD loading can certainly do all of these + more (personal testing).​

Then run Dios-Mios-Booter, hit B in the main menu and it should bring up options. Hit R to go to the next page. turn cheats on. Return to main menu and boot the smash ISO.

and follow IE's steps on the first page of the Gecko Codes thread for making a .gct.


EDIT:
v1.6 - controller no longer needs to be plugged in to P2 and a couple end-ifs were added which should increase compatibility with other codes.
 

Attachments

Last edited:

Zilyn

Smash Apprentice
Joined
Jun 28, 2013
Messages
91
Location
Murfreesboro Tennessee
This man right here, is a matter of days away from graduating and just casually pumps out something the smash community has been dying for since the game came out! You're a champion of the Smash community!
 

Hawt Salsa

Smash Apprentice
Joined
Oct 11, 2013
Messages
123
Location
Federal Way, WA
NNID
illuminati
3DS FC
0666-0420-1337
This is great. I'll be working hard with this one.
 
Last edited:

dkuo

Smash Lord
Joined
Apr 21, 2010
Messages
1,464
Location
San Jose, CA
good ****. debating getting a wii now lol

im curious though, is it possible to have the cpu di with a full spectrum of directions (aka not only hard left/right/none)? nvm read the post
 
Last edited:

d z

Smash Cadet
Joined
Mar 14, 2014
Messages
49
Good stuff Stratocaster, super exciting! Platinum age of smash indeed.
 

pheijai

Smash Rookie
Joined
May 7, 2014
Messages
21
Works like a charm! Thank you for the awesomeness stratocaster! Will be working hard with this!
 

Tee ay eye

Smash Hero
Joined
Jun 1, 2008
Messages
5,635
Location
AZ
does this work with diosmios? the OP said something about gecko-specific, but i wasn't sure if that just meant you couldn't do something else with them

EDIT: nvm got it working with DiosMios

question:
how quickly do the CPUs mash out of grab?

also, how does this code work in training mode? i read the OP, but i was confused by your explanation of the CPUs turning normal on-hit.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
This is sick, Stratocaster. Fantastic work! It will help people immensely. Thanks for such a complete and documented post. I've been working a little on adding in random teching (with some of those offsets you mentioned to me in our convo) and I've got the random teching working but haven't gotten around to adding in mixups yet. It's essentially the same thing as this code, but purely in ASM so it will be able to be integrated into the DOL file.

Question. For the "dead zone" window value, you had mentioned if you force it to 0xFF then it will take the issue away. I'm assuming that is forcing it to think the last time you teched was 255+ frames ago. If this value is below 0x28 (40 decimal) will you never be able to tech, even if you have 00 stored into the location the line before to make them tech everytime? I'm not by my good computer at the moment so I can't check this.

Btw,

add this line of code to spoof player 2 (so they don't need to have a controller plugged in on the console) :awesome:

(1.02)
04376BDC 38000000
 
Last edited:
Joined
Jun 27, 2005
Messages
10,463
Location
the west
Bout to get this.

A great addition to this hack, if plausible, would be to make it so that if the cpu doesn't tech, he mixes it up with how long he waits to roll/stand/attack, since a lot of players do that.
 

Stratocaster

Smash Ace
Joined
Oct 6, 2007
Messages
672
Location
Knoxville, TN
question:
how quickly do the CPUs mash out of grab?

also, how does this code work in training mode? i read the OP, but i was confused by your explanation of the CPUs turning normal on-hit.
Yeah CPUs tend to mash out of grab faster then usual, I think. I forgot about this and have mostly gotten used to just throwing quickly.

In training, you know how you can set the CPU to stand, attack, jump, etc.? Well the code changes this value to the regular CPU type which is used when you load a CPU in versus mode. So basically, you can use it in training mode, but the ability to keep the CPU to one of these types of actions is gone. So even though you've set the CPU to stand, he'll just act like he does in vs instead.

This is sick, Stratocaster. Fantastic work! It will help people immensely. Thanks for such a complete and documented post. I've been working a little on adding in random teching (with some of those offsets you mentioned to me in our convo) and I've got the random teching working but haven't gotten around to adding in mixups yet. It's essentially the same thing as this code, but purely in ASM so it will be able to be integrated into the DOL file.

Question. For the "dead zone" window value, you had mentioned if you force it to 0xFF then it will take the issue away. I'm assuming that is forcing it to think the last time you teched was 255+ frames ago. If this value is below 0x28 (40 decimal) will you never be able to tech, even if you have 00 stored into the location the line before to make them tech everytime? I'm not by my good computer at the moment so I can't check this.

Btw,

add this line of code to spoof player 2 (so they don't need to have a controller plugged in on the console) :awesome:

(1.02)
04376BDC 38000000
Dude, teching is the easy part. Tech-rolling is the hard part. I feel like there has to be a more direct way to do it. We need to figure out exactly what value the game reads to decide if it's going to tech-roll and which way. The values I use are used for other things too and I think it just effects another value. Also I have no idea why the game has 5 values that seem to do the same thing...

Yes, the dead zone works precisely like you described it.

I'll add that line. Thanks.

Bout to get this.

A great addition to this hack, if plausible, would be to make it so that if the cpu doesn't tech, he mixes it up with how long he waits to roll/stand/attack, since a lot of players do that.
That's a good idea. I can see it being doable. It's impossible to really emulate what a human does though. People will take advantage of someone rushing in and roll out or wait if they wait. Implementing this randomly means things like missed tech -> stomp, will work even if you are too late to hit anyone with a brain who would choose to roll out in that situation. I'm not sure if doing this completely randomly is an improvement or not. Maybe making it an optional addition would be best. As it stands, the action taken is either chosen by the CPU or it's a random roll done because the tech-roll inputs will cause a roll. I'll look into making this better in the future, but it seems ok for now.
 

Sanu

Smash Champion
Joined
Dec 22, 2005
Messages
2,179
Amazing thread. Love the in depth explanation, especially the commented code.

Thanks Strato!
 

pheijai

Smash Rookie
Joined
May 7, 2014
Messages
21
Hey stratocaster! Wonderful and amazing work! I am loving this right now. Few things I wanted to ask/mention:

Did you add the line that achilles suggested and does it work?

Also, has anybody tested this code along with achilles' P2 spam utilt/dsmash codes? It seems to cause issues when I combine this code with the P2 spam codes. P2 starts to just spam the A button like it is spamming utilt and I can't even move around the game menu without unplugging the controller. After that, none of the toggles work. For the P2 spam codes and the random DI/tech code, having one off and the other on works perfectly, but using them together seems to cause issues. For some reason, when I was messing around with it last night, I had both those codes in my GALE01.gct and it worked perfectly but when I messed around with it this morning to remove some codes I did not think I would use, it started having issues. I tried restoring the gct back to the version I used last night, but that decided to not work anymore. It is working now tho because I removed the P2 spam codes.

So, I was just wondering if the line worked. I wanted to test to see if that would fix the P2 spam and random DI/tech conflict. Otherwise, I will just keep the DI/tech code and just leave the P2 spam codes until I actually want to use it.

Did anybody notice that with this code on and the CPU busts out the shield, the shield moves around and makes the shield look all funny? I think this has to do with the wiggling that was mentioned in the post. CPUs also wiggle out quite rapidly O_o

This code also seems to make CPUs suicide sometimes (maybe this is affected by the CPU DI code? or maybe it has to do with wiggling again? Just speculation). When playing against a fox/falco, if I knock him off stage and stand near the edge or edgehog, they would firefox straight up or even firefox outwards (completely opposite direction of where the ledge is). Like if the fox/falco was off stage on the right, and even tho the edge is to the left of them, they would sometimes firefox outwards in about a 45 degrees up and to the right.

I am using Dios Mios Booter. I followed achilles' guide to softmodding the wii and running it off the SD card.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Dude, teching is the easy part. Tech-rolling is the hard part. I feel like there has to be a more direct way to do it. We need to figure out exactly what value the game reads to decide if it's going to tech-roll and which way. The values I use are used for other things too and I think it just effects another value. Also I have no idea why the game has 5 values that seem to do the same thing...

Yes, the dead zone works precisely like you described it.

I'll add that line. Thanks.
Thanks for the answer.

I guess I should have explicitly stated that I have random tech rolling working as well, not just teching in place.

The game uses those 5 values to determine whether a player is holding or spamming a button.
 

LyeN

Smash Rookie
Joined
Oct 22, 2013
Messages
19
Location
NorCal Peninsula
add this line of code to spoof player 2 (so they don't need to have a controller plugged in on the console) :awesome:

(1.02)
04376BDC 38000000
Could you make another version of this code for Dolphin? I was also wondering if this operates as its own code or if we can just add it to the code in the OP?

Also Stratocaster, remember to update the OP :p
 

TerryJ

Smash Journeyman
Joined
Apr 12, 2010
Messages
488
Location
BEST COAST, WA
NNID
1337-1337-1337
3DS FC
1337-1337-1337
Could anyone help me get this working on wiiflow? when i put the code on my SD card its not showing up
WiiFlow doesn't like to show what codes are in the GCT file. As long as you checked the code in OCR and have Ocarina set to ON under Melee's settings in WiiFlow it should work.
 

hectohertz

Smash Ace
Joined
Aug 20, 2006
Messages
800
Location
Brooklyn, NY
this is also great for practicing edgeguarding, bc they will tech. (even if they shouldnt be able to). learn how to give your opponent no chance!

wishist:
-after missing a tech, they randomly either get up, get up attack, ground roll left, ground roll right
-cpus shine/jabon the first frame they can

but this is so ****ing amazing omg
 

Todd Bonney

Smash Lord
Joined
Dec 17, 2005
Messages
1,098
Could anyone help me get this working on wiiflow? when i put the code on my SD card its not showing up
I got it working in WiiFlow by putting it in a plain old txt file in the codes folder. Have you got other codes working with WiiFlow?

I noticed the CP seems to be even dumber than usual off stage with this code. Am I imagining? Fox will up-b away from the stage more often than towards it.

Also, shoot a laser at CP's shield to see something funny. It's actually a good way to see the code working.
 
Last edited:

TerryJ

Smash Journeyman
Joined
Apr 12, 2010
Messages
488
Location
BEST COAST, WA
NNID
1337-1337-1337
3DS FC
1337-1337-1337
I got it working in WiiFlow by putting it in a plain old txt file in the codes folder. Have you got other codes working with WiiFlow?
Wait what? Really? What version of WiiFlow are you using and are you storing the codes on the SD card, if so what directory?

The only way I've gotten codes to work on WiiFlow is by having the .GCT file in the same folder as the game.iso. ie x:/games/GALE01/GALE01.gct and x:/games/GALE01/game.iso
 
Last edited:

TobiasXK

Smash Ace
Joined
Aug 9, 2004
Messages
579
Location
austintown
CPU never techrolls on v1.2 for me (using the 1.5 code)? could be a code conflict with something from the 20xx pack, i guess; does anyone else have the issue though?

it mixes up DI and tech/missed tech, but never tech rolls and if it misses the tech it seems to always wakeup-roll right

nvm
 
Last edited:

BreezyFalcon

Smash Rookie
Joined
Sep 24, 2013
Messages
10
Location
Pasadena, Maryland
I got it working in WiiFlow by putting it in a plain old txt file in the codes folder. Have you got other codes working with WiiFlow?

I noticed the CP seems to be even dumber than usual off stage with this code. Am I imagining? Fox will up-b away from the stage more often than towards it.

Also, shoot a laser at CP's shield to see something funny. It's actually a good way to see the code working.
This is what i've tried doing but it doesn't show up. I've put other codes on before and they worked just fine
 

pheijai

Smash Rookie
Joined
May 7, 2014
Messages
21
CPU never techrolls on v1.2 for me (using the 1.5 code)? could be a code conflict with something from the 20xx pack, i guess; does anyone else have the issue though?

it mixes up DI and tech/missed tech, but never tech rolls and if it misses the tech it seems to always wakeup-roll right
Do you have a controller plugged in for P2? (tech roll doesn't work without a controller plugged in) If you do then it should be code conflict like you said. Tho as of right now, I haven't found code conflicts that messes up the tech roll.
 

TobiasXK

Smash Ace
Joined
Aug 9, 2004
Messages
579
Location
austintown
Do you have a controller plugged in for P2? (tech roll doesn't work without a controller plugged in) If you do then it should be code conflict like you said. Tho as of right now, I haven't found code conflicts that messes up the tech roll.
o i'm dumb i just read the port order on the wii backwards. so i thought there was a P2 controller, but it was in the P3 port. tytyy
 

pheijai

Smash Rookie
Joined
May 7, 2014
Messages
21
I had a post above talking about this code having conflicts with some codes from the 20XX hack pack. I think i found the issue. When using the online GCT maker, the order in which you choose your codes seems quite important for this. It is not important for the hack pack codes but it is very important to pick this code, the "random DI/tech" code LAST. If you check any codes AFTER checking this code, those codes will not work and may start acting up or is toggled on permanently (and cannot be toggled off).

What I noticed is that, whichever code I check AFTER this code, it will automatically be activated and there is no way of toggling it off. I am using V1.02 melee with Dios Mios Booter running off an SD card.

For example, if I have checked the "random DI/tech" code and then AFTERWARDS, I check "Dpad right toggles fixed camera" and then put that GCT into my SD card and run the game, the fixed camera code will be automatically activated and permanently on and there will be no way to toggle it off (this sentence seems so ugly but w/e). This also seems to be the case for other codes too, like the P2 spam codes and the hold shield codes and even the Dpad codes.

Codes like "Default tournament settings" and "hold A+B for salty runback" just do not work if it is checked after the "random DI/tech" code.

Right now, I made sure I checked all the codes I want BEFORE checking this code, and sure enough, they all work now.

The codes I've tested so far are:

Default tourney settings
C-stick in 1P mode
Turn white during shield stun
Hold A+B for salty runback
Skip results screen & normal KO counter
Almost all of the Dpad toggle codes (Dpad only, R+Dpad, L+Dpad, X+Dpad, L+R+Dpad)



Hope this helped somebody! :b:
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
I had a post above talking about this code having conflicts with some codes from the 20XX hack pack. I think i found the issue. When using the online GCT maker, the order in which you choose your codes seems quite important for this. It is not important for the hack pack codes but it is very important to pick this code, the "random DI/tech" code LAST. If you check any codes AFTER checking this code, those codes will not work and may start acting up or is toggled on permanently (and cannot be toggled off).

What I noticed is that, whichever code I check AFTER this code, it will automatically be activated and there is no way of toggling it off. I am using V1.02 melee with Dios Mios Booter running off an SD card.

For example, if I have checked the "random DI/tech" code and then AFTERWARDS, I check "Dpad right toggles fixed camera" and then put that GCT into my SD card and run the game, the fixed camera code will be automatically activated and permanently on and there will be no way to toggle it off (this sentence seems so ugly but w/e). This also seems to be the case for other codes too, like the P2 spam codes and the hold shield codes and even the Dpad codes.

Codes like "Default tournament settings" and "hold A+B for salty runback" just do not work if it is checked after the "random DI/tech" code.

Right now, I made sure I checked all the codes I want BEFORE checking this code, and sure enough, they all work now.

The codes I've tested so far are:

Default tourney settings
C-stick in 1P mode
Turn white during shield stun
Hold A+B for salty runback
Skip results screen & normal KO counter
Almost all of the Dpad toggle codes (Dpad only, R+Dpad, L+Dpad, X+Dpad, L+R+Dpad)



Hope this helped somebody! :b:
I'm glad you figured out your problem. I have had that issue before while I was writing codes - it's usually caused by not having enough endif's.

Do me a favor if you can, and add this line to the end of the code:

E0000000 80008000

and then try making the gct again, with this code NOT last and see if it fixes it.
 

pheijai

Smash Rookie
Joined
May 7, 2014
Messages
21
I'm glad you figured out your problem. I have had that issue before while I was writing codes - it's usually caused by not having enough endif's.

Do me a favor if you can, and add this line to the end of the code:

E0000000 80008000

and then try making the gct again, with this code NOT last and see if it fixes it.
Hey achilles! It worked flawlessly! Thank you!

I had the same suspicion when I looked at the breakdown of the code, but I did not know how to add my own endif line. Hopefully stratocaster will see these posts and add the line to his code so other people wont have this problem.

Question for you achilles: Does that endif code work for all versions? v1.00, v1.01, and v.1.02?

Code:
28453F1A 00000001
48000000 80453FC0
DE000000 80008180
100006E4 000000FF
100006E0 00000000
14000680 BF7CCCCD
0446B174 0000E900
0446B1A4 0000E900
0446B1D4 0000E900
A8000008 00000003
100006E0 000000FF
A8000009 00000001
14000680 3F800000
0446B174 00001700
0446B1A4 00001700
0446B1D4 00001700
A8000009 00000003
14000680 00000000
3800223B 0000E714
10001AF7 00000005
3A00223B 0000E714
A8000000 00000001
10001AF7 00000004
E2000002 80008000
48000000 80453FC4
DE000000 80008180
100006E4 000000FF
100006E0 00000000
14000680 BF7CCCCD
A8000008 00000003
100006E0 000000FF
A8000009 00000001
14000680 3F800000
A8000009 00000003
14000680 00000000
3800223B 0000E714
10001AF7 00000005
3A00223B 0000E714
A8000000 00000001
10001AF7 00000004
28453F16 0000000E
10001AF7 00000006
E2000006 80008000

Now, you do not need to check this code last to avoid the endif issue. Thanks achilles!

EDIT: Changed code to make it have 6 endifs at the end so then it will not have conflicts with other codes that are added in after this one.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Hey achilles! It worked flawlessly! Thank you!

I had the same suspicion when I looked at the breakdown of the code, but I did not know how to add my own endif line. Hopefully stratocaster will see these posts and add the line to his code so other people wont have this problem.

Question for you achilles: Does that endif code work for all versions? v1.00, v1.01, and v.1.02?

Code:
28453F1A 00000001
48000000 80453FC0
DE000000 80008180
100006E4 000000FF
100006E0 00000000
14000680 BF7CCCCD
0446B174 0000E900
0446B1A4 0000E900
0446B1D4 0000E900
A8000008 00000003
100006E0 000000FF
A8000009 00000001
14000680 3F800000
0446B174 00001700
0446B1A4 00001700
0446B1D4 00001700
A8000009 00000003
14000680 00000000
3800223B 0000E714
10001AF7 00000005
3A00223B 0000E714
A8000000 00000001
10001AF7 00000004
E2000002 80008000
48000000 80453FC4
DE000000 80008180
100006E4 000000FF
100006E0 00000000
14000680 BF7CCCCD
A8000008 00000003
100006E0 000000FF
A8000009 00000001
14000680 3F800000
A8000009 00000003
14000680 00000000
3800223B 0000E714
10001AF7 00000005
3A00223B 0000E714
A8000000 00000001
10001AF7 00000004
28453F16 0000000E
10001AF7 00000006
E2000003 80008000
E0000000 80008000

Now, you do not need to check this code last to avoid the endif issue. Thanks achilles!
Yes, it will work for all of them. That line I told you to add is a full terminator and not an endif terminator. I was sort of using that as a base check to see if the missing endif is the actual problem. I would try doing the correct fix and removing that line I told you to add, and then changing

E2000003 80008000

to

E2000004 80008000 (4 endifs)

and seeing if that works. That way, you're not adding in extra lines of code (which are valuable because there is a code line limit [currently]).
 

Stratocaster

Smash Ace
Joined
Oct 6, 2007
Messages
672
Location
Knoxville, TN
Just fyi, I've been a little busy the last couple days and will probably continue to be busy a couple more days (Graduation, moving, etc.) Most of the bugs that have been mentioned are known. I need to make a list, but I made the thread from memory and couldn't remember the bugs off the top of my head.

I want to add the line that makes P2's controller always plugged in, but I want the offset for all the versions so that I can change them all at once so they are the same version. Unless you have those offsets available achilles1515, I'm not going to get to that for a couple days. I haven't forgetten, that's why I haven't done it yet.

I'm sorry the endifs don't seem to have turned out correctly. You should know there are endifs built into the code other places which are not listed. Any if line with an odd number at the end of the left line has an endif. It's like:
A8000008 No end if
A8000009 End if

I thought I looked at that, but I think I made an error and there is one endif missing. It should probably be E2000003 to E2000004.
 

pheijai

Smash Rookie
Joined
May 7, 2014
Messages
21
Yes, it will work for all of them. That line I told you to add is a full terminator and not an endif terminator. I was sort of using that as a base check to see if the missing endif is the actual problem. I would try doing the correct fix and removing that line I told you to add, and then changing

E2000003 80008000

to

E2000004 80008000 (4 endifs)

and seeing if that works. That way, you're not adding in extra lines of code (which are valuable because there is a code line limit [currently]).
Just fyi, I've been a little busy the last couple days and will probably continue to be busy a couple more days (Graduation, moving, etc.) Most of the bugs that have been mentioned are known. I need to make a list, but I made the thread from memory and couldn't remember the bugs off the top of my head.

I want to add the line that makes P2's controller always plugged in, but I want the offset for all the versions so that I can change them all at once so they are the same version. Unless you have those offsets available achilles1515, I'm not going to get to that for a couple days. I haven't forgetten, that's why I haven't done it yet.

I'm sorry the endifs don't seem to have turned out correctly. You should know there are endifs built into the code other places which are not listed. Any if line with an odd number at the end of the left line has an endif. It's like:
A8000008 No end if
A8000009 End if

I thought I looked at that, but I think I made an error and there is one endif missing. It should probably be E2000003 to E2000004.
Hey stratocaster and achilles! Finally got home to test the line achilles gave me. So I tested the line and that did not work. I selected the "random tech/di" code to be the first one and all the codes after it were just automatically toggled on and stayed on with no way of toggling them off. So I kept trying and it finally works now. The DI/tech code works perfectly and there is no conflict with the other codes. The way I fixed this is........ 6 endifs O_o

The line I changed is:

E2000003 80008000

to

E2000006 80008000 (6 endifs?)

4 did not work for me, 5 did not work, but 6 worked.

NOTE: this is for v1.02
 
Top Bottom