gametechmods

Robot Arena => Modifications => Topic started by: Serge on March 09, 2010, 10:27:05 AM

Title: Reverse-engineering the RA2 executable.
Post by: Serge on March 09, 2010, 10:27:05 AM
Hallo,

I got bored today and decided to do some reverse-engineering of the RA2 executable (http://imgur.com/8bhqQ.png) in order to modify some hardcoded stuff, mainly:
- 7 component limit
- weight classes

If anyone has more idea what useful .exe modification could be made, let me know. For now this thread will just be my notes and various info about the executable.
Title: Re: Reverse-engineering the RA2 executable.
Post by: JoeBlo on March 09, 2010, 10:31:58 AM
 :eek: wow.. the list of what you can do is limitless Serge
Title: Re: Reverse-engineering the RA2 executable.
Post by: Somebody on March 09, 2010, 11:09:12 AM
Think if the seven part limit went away...
this could be the beginning of RA3!
Title: Re: Reverse-engineering the RA2 executable.
Post by: Jonzu95 on March 09, 2010, 11:17:25 AM
There is RA3 Already...
Title: Re: Reverse-engineering the RA2 executable.
Post by: Serge on March 09, 2010, 11:32:48 AM
Think if the seven part limit went away...
this could be the beginning of RA3!

Actually, eFFe and I were planning on working on a few tech demos. Unfortunately, he got bored :P.
Title: Re: Reverse-engineering the RA2 executable.
Post by: LiNcK on March 09, 2010, 11:56:38 AM
There is RA3 Already...

... ... ...Whut?
Title: Re: Reverse-engineering the RA2 executable.
Post by: somestrangeguy on March 09, 2010, 11:57:10 AM
This is going to be the most epic thing to happend to RA2 in its whole history!

Also, I think Jonzu is wither high or he is confusing Red Alert with Robot Arena, because both are shortened RA
Title: Re: Reverse-engineering the RA2 executable.
Post by: G.K. on March 09, 2010, 12:03:55 PM
Oh, Oh! See if you can make a burst motor take CO2 instead of electricity!
Title: Re: Reverse-engineering the RA2 executable.
Post by: Avalanche on March 09, 2010, 12:23:25 PM
Hmm,make it so that your bots are aied by the game temporarily so you can fight ai thats yours!
Title: Re: Reverse-engineering the RA2 executable.
Post by: LiNcK on March 09, 2010, 12:32:25 PM
Hmm,make it so that your bots are aied by the game temporarily so you can fight ai thats yours!

Yeah, Maybe some kind of Auto-AIer...
Like it gives you options to define your bot with like a sheet were you sketch your bot (Were the weapons are, What type of bot it is) so you could like say when the motors get turned on or something instead of having to script it yourself xP
 
Ofcourse, Scripting it yourself would be more personalized & therefore a more advanced AI :P
Title: Re: Reverse-engineering the RA2 executable.
Post by: Jonzu95 on March 09, 2010, 12:53:39 PM
Put Robot Arena 3 to youtube, there is videos!
Title: Re: Reverse-engineering the RA2 executable.
Post by: Reier on March 09, 2010, 12:59:52 PM
Bot arena 3 ≠ Robot arena 3 dude.
Title: Re: Reverse-engineering the RA2 executable.
Post by: Jonzu95 on March 09, 2010, 01:02:00 PM
Not Bot Arena 3. There really is Robot Arena 3 video!
Title: Re: Reverse-engineering the RA2 executable.
Post by: Squirrel_Monkey on March 09, 2010, 01:03:04 PM
Where?
Title: Re: Reverse-engineering the RA2 executable.
Post by: Jonzu95 on March 09, 2010, 01:08:27 PM
In youtube!
Title: Re: Reverse-engineering the RA2 executable.
Post by: Squirrel_Monkey on March 09, 2010, 01:09:49 PM
Post Link then.
Title: Re: Reverse-engineering the RA2 executable.
Post by: Reier on March 09, 2010, 01:12:26 PM
Dude, link it.
Title: Re: Reverse-engineering the RA2 executable.
Post by: Jonzu95 on March 09, 2010, 01:42:13 PM
Tomorrow, I cant copy text with my phone...
Title: Re: Reverse-engineering the RA2 executable.
Post by: System32 on March 09, 2010, 03:11:56 PM
Bitch is hiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigh.
 
Al;so, could you post some snippets of code here? you know, for teh awesome, if you can...
Title: Re: Reverse-engineering the RA2 executable.
Post by: Sage on March 09, 2010, 03:22:23 PM
1. Allow animated gifs for bot skins.

2. Install a better online server for lag-less online play.

 
Title: Re: Reverse-engineering the RA2 executable.
Post by: Badnik96 on March 09, 2010, 03:54:34 PM
TELL. CLICK. NOW.
Title: Re: Reverse-engineering the RA2 executable.
Post by: somestrangeguy on March 09, 2010, 04:12:50 PM
Oh I get it! Jonzu is making another premature april fools attempt since the last one failed.
Title: Re: Reverse-engineering the RA2 executable.
Post by: G.K. on March 09, 2010, 04:16:58 PM
Win
Title: Re: Reverse-engineering the RA2 executable.
Post by: LiNcK on March 09, 2010, 04:44:31 PM
Bitch is hiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigh.
xDDDDD
Title: Re: Reverse-engineering the RA2 executable.
Post by: Reier on March 09, 2010, 04:50:58 PM
1. Allow animated gifs for bot skins.

2. Install a better online server for lag-less online play.
1. What? Bots don't have animated skins IRL...


2: That would be nice.
Title: Re: Reverse-engineering the RA2 executable.
Post by: d-lark on March 09, 2010, 05:01:58 PM
Fix the weight classes for lightweights so that they can actually equal 250 kg!
Title: Re: Reverse-engineering the RA2 executable.
Post by: Sage on March 09, 2010, 06:25:32 PM
1. Allow animated gifs for bot skins.

2. Install a better online server for lag-less online play.
1. What? Bots don't have animated skins IRL...


They usually don't have motors inside each other or stacked batteries either...
Title: Re: Reverse-engineering the RA2 executable.
Post by: SKBT on March 09, 2010, 06:32:24 PM
Fix Pnumatic cylanders so they can be used to self right a botwould be a nice thing.
1. Allow animated gifs for bot skins.

2. Install a better online server for lag-less online play.
1. What? Bots don't have animated skins IRL...


2: That would be nice.

Some bots have light patterns or flashing lights. (rationalization to do this)
Title: Re: Reverse-engineering the RA2 executable.
Post by: Jack Daniels on March 09, 2010, 06:34:45 PM
1. Allow animated gifs for bot skins.

2. Install a better online server for lag-less online play.
1. What? Bots don't have animated skins IRL...


They usually don't have motors inside each other or stacked batteries either...

Actually, you both have a point.  And wouldn't it be kinda cool if we could skin components that had animations for parts that actually moved. Like electric motors that have actual spinning innards (made with an animated skin).  I think the other possibilities could be scrolling LED signs on a bot (which isn't that far off to think about).

Ambient lighting would be cool... I know it is not practical but I am thinking about futuristic themed bots with neon underglow and glowing innards.  Sure, they don't do it in real life now because it is no way efficient.  But, in game, I think that would spice up the Candy quite a bit.

Edit: Ha! Shishka beat me to it!
Title: Re: Reverse-engineering the RA2 executable.
Post by: JoeBlo on March 09, 2010, 07:08:05 PM
just make the game accept gif images in general... so you can make animated UI without a load of painful and difficult Gib work (I still havent figured out if its possable) :P
Title: Re: Reverse-engineering the RA2 executable.
Post by: Reier on March 09, 2010, 07:20:04 PM
Sage: my point.
Make it so you can't stack or have components intersect. :P
Title: Re: Reverse-engineering the RA2 executable.
Post by: JoeBlo on March 09, 2010, 07:25:12 PM
it would be cool to make objects collide with themselves same as they do with other robots componants so overlapping couldnt be done.

only thing is that would probaly make them not able to pass though the chassis without some smart coding work
Title: Re: Reverse-engineering the RA2 executable.
Post by: russian roulette on March 09, 2010, 07:50:34 PM
More complex Chassis Design, i.e. no more having to topple over to get a cut off wedge or a drum chassis.
Title: Re: Reverse-engineering the RA2 executable.
Post by: Somebody on March 09, 2010, 08:36:50 PM
2 Problems...

1. Think if you had 8 .gif motors and a .gif skin on your bot. It would lagggggggggggg.

2. Serge is gonna flip when he sees this.
Title: Re: Reverse-engineering the RA2 executable.
Post by: Pwnator on March 09, 2010, 09:50:14 PM
1. Allow animated gifs for bot skins.

2. Install a better online server for lag-less online play.
1. What? Bots don't have animated skins IRL...


They usually don't have motors inside each other or stacked batteries either...


An animated bot preview would be better.


Also, JB's idea on self-colliding components is exactly what I wanted to have for a long time. XD
Title: Re: Reverse-engineering the RA2 executable.
Post by: Naryar on March 10, 2010, 02:35:55 AM
Clearly, animated components and animated skins = massive lag fest.

But this is awesome
Title: Re: Reverse-engineering the RA2 executable.
Post by: Pwnator on March 10, 2010, 02:43:31 AM
Oh yeah, a much more beneficial feature would be a chassis weight calculator while sliding the ruler up and down.
Title: Re: Reverse-engineering the RA2 executable.
Post by: Madiaba on March 10, 2010, 07:44:38 AM
Lots of thoughts here....

Is that a 'trial' version of IDA(pro), Serge?
Title: Re: Reverse-engineering the RA2 executable.
Post by: Naryar on March 10, 2010, 07:55:50 AM
Lots of thoughts here....

But not enough modders, huh ?
Title: Re: Reverse-engineering the RA2 executable.
Post by: Condor33 on March 10, 2010, 11:40:04 AM
Adding in more than just plastic, aluminum, tite, steel armors would be nice.
 
I have no idea how you're managing to do this, Serge, but keep it up.
Title: Re: Reverse-engineering the RA2 executable.
Post by: Badnik96 on March 10, 2010, 01:39:57 PM
Maybe something so that bots like Thyrus' sideways bots can start out normal?
Title: Re: Reverse-engineering the RA2 executable.
Post by: Serge on March 10, 2010, 01:55:55 PM
Holy sh** that's a lot of ideas. Thanks guys!

Is that a 'trial' version of IDA(pro), Serge?
No, it's a registered, newest available version of IDA. PM me if you want more info.

What's possible: at the beggining, simple mods (7 component limit, classes) which require only modifying code will be possible. Then when I find some nice hooking points, I'll think about a code injection mechanism which will hopefully let me add code into the game.

What's the progress: currently going through WndProc (if anyone here was done WinAPI programming, please let me know) and it's massive switch statement. I am also starting to figure out the main game look and main classes / objects. I am still only at the beggining, though. I need to study DirectX, and especially it's functions. Also, it looks like Havok is just a static library. Hopefully I'll find some documentation on the itnernet, which will hopefully make things easier.
Title: Re: Reverse-engineering the RA2 executable.
Post by: System32 on March 10, 2010, 06:02:39 PM
And don't forget about those BW and AW classes!
Title: Re: Reverse-engineering the RA2 executable.
Post by: Jonzu95 on March 11, 2010, 07:52:23 AM
Okay, Here is the ''RA3'' Vid... http://www.youtube.com/watch?v=lS-iIS4uLoE (http://www.youtube.com/watch?v=lS-iIS4uLoE)

Edit: whoops it's RA1... Sorry guys...  :embarr
Title: Re: Reverse-engineering the RA2 executable.
Post by: Madiaba on March 11, 2010, 08:41:40 AM
Vid name: "Robot Arena - 3 second kill"

Jon, I surmise that the '3' is associated with the 'second kill', not the 'Robot Arena' part of the title. 
If you watch the vid....
 
-----------
I'll probably catch you on MSN, Serge. 
 

 
Title: Re: Reverse-engineering the RA2 executable.
Post by: JoeBlo on March 11, 2010, 09:20:11 AM
I'll probably catch you on MSN, Serge.


I sense big things brewing :P
Title: Re: Reverse-engineering the RA2 executable.
Post by: Reier on March 11, 2010, 09:23:43 AM
Okay, Here is the ''RA3'' Vid... http://www.youtube.com/watch?v=lS-iIS4uLoE (http://www.youtube.com/watch?v=lS-iIS4uLoE)

Edit: whoops it's RA1... Sorry guys...  :embarr


*AHEMM*
Title: Re: Reverse-engineering the RA2 executable.
Post by: Clickbeetle on March 13, 2010, 10:28:22 PM
Oh, Oh! See if you can make a burst motor take CO2 instead of electricity!


Seconded.


So what all can you do by reverse engineering the exe, exactly?  Is it like the door to infinity, or are some of the ideas in here overly optimistic?
Title: Re: Reverse-engineering the RA2 executable.
Post by: G.K. on March 29, 2010, 12:40:07 PM
Try to get it so you can designate batteries for specific motors.
Title: Re: Reverse-engineering the RA2 executable.
Post by: Serge on March 29, 2010, 03:58:39 PM
hai,

I've had to take a break for a week or so due to being kinda busy. I hope I'll have some time to mess around with the executable later on, provided I'm not spending all my day on #iphone-lowlevel @ freenode :P.

By reversing it completely, you can not only change existing behavior (like the "7" in the rule-of-7), but also add your own logic to the code (by "hooking" into the functions).
Title: Re: Reverse-engineering the RA2 executable.
Post by: Somebody on March 29, 2010, 04:06:56 PM
Probably the best things you could do would be:
Rule of 7
Fixing havok explosions (if possible)
Making it so parts can get inside robots
Title: Re: Reverse-engineering the RA2 executable.
Post by: russian roulette on March 29, 2010, 04:09:22 PM
Do I hear Multi bots in 1 lab?
Title: Re: Reverse-engineering the RA2 executable.
Post by: SKBT on March 29, 2010, 04:10:34 PM
Another idea adding to the insanly long list already is Extenders and armor plates can deform and dent like the chaisis can.
Title: Re: Reverse-engineering the RA2 executable.
Post by: Sparkey98 on March 29, 2010, 04:16:12 PM
Do I hear Multi bots in 1 lab?
wht I was thinking
 
do I hear components going threw chassis without BFE or AAM?
Title: Re: Reverse-engineering the RA2 executable.
Post by: G.K. on March 29, 2010, 04:19:24 PM
Simple .txt edit is simple.
Title: Re: Reverse-engineering the RA2 executable.
Post by: System32 on March 29, 2010, 05:20:14 PM
8 bots in one arena please!
Title: Re: Reverse-engineering the RA2 executable.
Post by: Virus Bomb on March 29, 2010, 05:40:23 PM
Getting rid of AGOD would be nice if it's possible.
Title: Re: Reverse-engineering the RA2 executable.
Post by: Sparkey98 on March 29, 2010, 05:51:42 PM
Simple .txt edit is simple.

without .txt Editing
Title: Re: Reverse-engineering the RA2 executable.
Post by: Badnik96 on March 29, 2010, 05:53:42 PM
Round-chassis? (as in round sides not entire chassis)
Title: Re: Reverse-engineering the RA2 executable.
Post by: russian roulette on March 29, 2010, 06:57:05 PM
Chose the baseplate side for more complex shapes.
Title: Re: Reverse-engineering the RA2 executable.
Post by: somestrangeguy on March 30, 2010, 06:42:36 AM
Round-chassis? (as in round sides not entire chassis)
This gave me another idea. As you probably wont be able to completly change the Chassis desinging into something else, how about remove the dot limit and the distance limit beetween the dots? Those usually give me loads of trouble.
Title: Re: Reverse-engineering the RA2 executable.
Post by: JoeBlo on March 30, 2010, 06:46:19 AM
good idea.... Do that Serge ^^ instead of hacking our arcade :P
Title: Re: Reverse-engineering the RA2 executable.
Post by: somestrangeguy on April 03, 2010, 12:05:44 PM
That could actually be possible. He would just need to add another step and copypasta the step 2 and change it around a bit.