Jump to content

Rock Raiders Hook?


McJobless
 Share

Recommended Posts

I dunno why I didn't bring this up before.

I'm not sure how many of you know of it, but OpenSauce recently entered its first public release. It's essentially an extension to Halo Custom Edition, in that it adds a ton new features, and it allows developers to write their own code for Halo.

Now, I'm sure many of you probably will be acquainted with how it works, but I'll explain for the rest; basically you create a .dll which the application is searching for (in Halo's case, d3d9.dll, part of the DirectX components), have all your custom code in there, and make sure in your modified version to link to the original DLL (either you rename it, or in the case of DirectX, point the program back to the one in System32).

My question is, if we were to use a Memory Editor like Jesus7Freak did for his trainer, could we start exploiting new features in LegoRR? I'm pretty sure we've got a couple things we'd like to change (obviously we can't go TOO far yet, because we don't know the original source code, so we'd need to take baby steps to see how we would introduce content into the game), and this might be the best way to do it.

Link to comment
Share on other sites

I've already investigated memory editing for LRR. I also made a trainer a long time ago, however didn't always work. You can do stuff like change what is spawned out of walls to out monsters while the game is running. However the major problem is there is no way to get LRR to communicate back to the memory editor so that... for example, if you are in x level and you meet x requirements change the wall spawn to bats. The only way to do so is try and find this in LRR's memory which takes some time searching to find the correct values that alter the game. You must also be careful not to alter values that are for different things or it can hang or crash the game.

It would be good for instance, if one could get the information on how many raiders, buildings, resources there are and locations of that stuff. Pull that info back to the memory hack, then get it to write a game map with all that info. Once done, you could replace the original game map with the saved one from memory... and essentially it would be like a save/load system.

I guess with enough searching through the hundreds of results you can find the correct values that will effect the game.

Link to comment
Share on other sites

  • 3 weeks later...

Eh, a bit late, but here is what I think.

Alright, so you're asking if we can edit a DLL LRR uses to make it run custom code when the edited function in the DLL is called?

Ya, I think it's possible. I don't know to what extent we can edit things, but really, in the end, it probably depends on a combination of creativity, knowledge of assembly and whatever else you're using to edit the DLL, and knowledge of RR's binary. Perhaps one of the directx render functions can be hacked to have a loop running concurrent to the main one that handles all of the features you want to add in. Since it runs every frame, it would essentially be the game loop.

Now you've made me curious; I want to see just how much people would do with this. I'd do it myself for the fun of it if it weren't for the fact that I'd have to use Windows to do it.

Hehe, imagine making the power plant absorb oxygen. Imagine spawning three monsters instead of one every time a monster is spawned. Oh, the possibilities. Sounds like fun. Can't wait till somebody does something (if ever).

Link to comment
Share on other sites

I'm currently working it, right now, by looking at how Open Sauce was created and using that as a base to form my code which will plug straight in to Rock Raiders.

And nope, not edit a .dll file. We make a new one, call it "d3drm.dll", and inside that new .dll, we make it call the original "d3drm.dll" (which we rename to something more fancy).

Link to comment
Share on other sites

I'm currently working it, right now, by looking at how Open Sauce was created and using that as a base to form my code which will plug straight in to Rock Raiders.

Oh, working on it already? I can't wait to see the awesome results!

And nope, not edit a .dll file. We make a new one, call it "d3drm.dll", and inside that new .dll, we make it call the original "d3drm.dll" (which we rename to something more fancy).

Ah, okay, 100 times easier :)

Now that I take a closer look at the OP, I see you said that.

Link to comment
Share on other sites

Oh, working on it already? I can't wait to see the awesome results!

If anyone wants to have an attempt at it, please do. I'm trying, but it's not going to be very good...

Link to comment
Share on other sites

Well, I'm not going to do anything serious with it since it involves WINDOWS, but I might be able to lend you a hand? Don't know. I don't have much experience with this stuff.

Link to comment
Share on other sites

I'd appreciate some help next time I get back to coding it. Right now, I have some very important last-school-year stuff I need to do/study for.

Link to comment
Share on other sites

Right. I also have college prep work.

Let me know when you're ready to give it a go. Hopefully I can help at least a little bit. Not guaranteeing miracles or anything.

Link to comment
Share on other sites

Hehe, imagine making the power plant absorb oxygen.

Just add a negative OxygenCoef to the building and it can do this. Anything with a Stats entry can create or deplete oxygen. But more on topic, having more freedom over monsters would be so great. Maybe we could get rid of their dependence on boulders.

Link to comment
Share on other sites

Maybe we could get rid of their dependence on boulders.

What I'd really like to also unlock is some of the laser functionality. Almost, I'd love to get a sub-menu for spawning different raider types in-game. That should be easiest because the .cfg indicated some of the code setup.

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.