Activate "combos"

Started by Pedja, May 31, 2011, 12:24:20 PM

Previous topic - Next topic

Pedja

Hi all,

I was reading this thread Universal button activator/mapper/spoofer and I am wondering if this can be used/modified to activate a series of buttons (but not at the same time) like when you try to do a combo in a fighting game, but I don't really know how to approach it. Any help is appreciated.

Thanks in advance and sorry for any miswritten, English isn't my first language.

dcx2

This could work.  I would call these "button macros".  It would take some effort to do, though.

You need a way to specify which button is being pressed.  You need memory to hold the macro pattern.  You may or may not need to add some sort of delay factor between changing keys (the game doesn't like it if you press buttons "too fast").  You would also need a counter to keep track of which button in the macro you're currently on.

I would work on this, but I've been working on other things lately.  I might try something like this eventually.

Patedj

#2
I'm sure it is. Anything is possible really. Well almost anything. Nonetheless, I'm sure, one of the guys that worked on the code will direct you. dcx2 is quite busy lately, (working epically on texture hacking)

btw, combination codes that activate super moves tend to be activated else where. ie: up right down activates Move(a). If you find the move # then you can simply activate it by pressing only one button.

Did you have a game in particular that you were looking at?
You can pm me, I've got time for your troubles.

Pedja

Thanks, I'll try to work on it this weekend when I have more time (although I don't expect to get something useful myself). The only "old school" fighting game I have handy is Guilty Gear XX Accent Core Plus PAL (R3NPH3), so I'll use it.
About the delay I guess I could use the own game's timer, but I prefer to use an independent counter for that, anyway I think that's the easy part (just a lot of trial and error to see how much delay is needed).
I will probably get stuck trying to "put" the macro and/or trying to run across it, but we'll see...

dcx2

#4
For a timer, you should be able to just decrement a value internally every frame.  For instance, after a button of the macro is "pressed", it reads the delay timer and starts decrementing it once per frame.  When it hits 0, execute the next macro button.

---

You'll probably want to use the bl trick for storing the data inside the C2 code.  If you'll be compiling the code on your own, you could use assembly directives to initialize the memory reserved for the macro, but if you wanted to change the macro you'd have to recompile.

For instance, you'll probably string together the various bit patterns necessary for the macro.  Assume this is a simple Hadouken, and each macro gets 4 bytes (this gives you 2 bytes for a timer that can be used to customize the delay between each button in the macro; you could use 0xFFFF to represent "stop executing macro"; below I default to a timer of 1 frame).


.int 0x00010004 # down
.int 0x00010006 # down-right
.int 0x00010002 # right
.int 0xFFFF0800 # A

You'd also need to store a pointer to the current macro button, probably in that bl trick data area.

EDIT:

I've been thinking about this..I don't think you would need to write any ASM.  It has spoofing built in, just poke the right memory area.  I'll see if I can come up with a Hadouken macro example for you later.

Pedja

I get the idea, I just need to make a code with a timer and a counter that pokes the buttons on gr12, but the universal code don't work with this game and I'm failing miserably at porting it  :'(

dcx2

What game are you trying?

Nintendo updated their SDK and it changed the pad function.  I attached the working pad func to the original post.  If you can't find that pad func, it won't work for you.

I have yet to port it to the new pad func that I found in SMG2.

Pedja

#7
I'm trying with Guilty Gear XX Accent Core Plus, I can't find the function you posted and the game it's pretty new, it probably has the new one so I'll keep an eye on your work. Thanks.

Edit: I have the PAL version the US and JAP versions are older.

toonlink444

Quote from: Patedj on May 31, 2011, 12:50:32 PM
I'm sure it is. Anything is possible really. Well almost anything. Nonetheless, I'm sure, one of the guys that worked on the code will direct you. dcx2 is quite busy lately, (working epically on texture hacking)

btw, combination codes that activate super moves tend to be activated else where. ie: up right down activates Move(a). If you find the move # then you can simply activate it by pressing only one button.

Did you have a game in particular that you were looking at?
Jesus can do anything!!! But I don't belive he was a god or prophit or saint or whatever they say he is.
You texture hacking dcx2. What game? I used to do that it's hard, never got the hang of it.
In the begining there was nothing. Then it exploded
New blog!! Check it out for hacking Smash Bros Brawl!! http://letshackblank.blogspot.com/