Welcome
Welcome to the home page of RockPatch2, a hacking project for Command & Conquer: Yuri's Revenge with the aim to extend the game's modability and gameplay.
 
 Fixes
Posted by: pd - Fri, 2008 May 23 - Comments: 24 | Views: 535
avatar Similarly to 3 years ago, there were a few starting problems when I publicly presented a big bunch of my work the first time.
That, I guess, is natural, but I feel sorry for that anyway.

Thanks to the assist of people testing things, I have been able to trace down the sources of all known problems and compiled a fix package.
Thanks to everyone helping me by trying this!



VC++ 2008 Redistributable Package
The reason for why nothing happened for most people was that I didn't know the VisualC++ 2008 Redistributable Package from Microsoft is required to load my DLLs.
You will need to install it in order to get things working (don't worry, they're just about 2MB).

Download Microsoft Visual C++ 2008 Redistributable Package (x86)
Those on a x64 system should use this link.

Fix Package
I also traced down other bugs in Syringe, the gamemd.syr file and the ExceptChecker2.
This new package should also work with any past, present or future RockPatch / NPatch.

Download Fix Package (73.6 KB)

Please read Syringe + ExceptChecker2 - Public beta release! for details.

How To
Here's a quick summarized step-by-step guide to get things running:
  1. If you have the previously released testing package, delete Syringe.exe, gamemd.syr, ExceptChecker2.00.dll and the inj.
  2. Download the package linked to above.
  3. Extract the archive in your Yuri's Revenge folder.
  4. Associate SYR files to Syringe and run gamemd.syr.


If you want to run the game with command line arguments (e.g. "-win"), you'll have to create a BAT file with the following content:
Code
Syringe "gamemd.syr" -win

Posted in: News from the Battlefield  
 Syringe + ExceptChecker2 - Public beta release!
Posted by: pd - Thu, 2008 May 22 - Comments: 26 | Views: 613
avatar Update
The download links have been removed, because Syringe and the ExceptChecker need some critical fixes.

Right now it all won't work for most people, because it depends on the Visual C++ runtimes, which not everybody has.
I have my full attention on getting this fixed.




Syringe v0.1
I'm very proud to announce that a first release version of Syringe is done.

What the hell is "Syringe"?
I never announced it under this name, but it fits well. Syringe can "inject" DLL files into executable files without the need of editing that executable.

For the targeted executable, a Syringe control file (.SYR) is required, which holds some required information.
If such a control file is run, Syringe will check the executable's folder for DLL files that have a corresponding DLL injection information file (DLL.INJ) with them.
Those files contain information about where to set breakpoints in the target application and what function in the DLL is to call when a breakpoint is hit.

Syringe has been tested successfully under Windows XP Professional (x86) and Windows Vista Ultimate (x64).
It should work on any Windows from Windows 2000 Professional on.
I would appreciate every input I can get on this topic!

Download Syringe v0.1

For testing, place Syringe.exe in your YR directory.
I will release it as a standalone version with Setup etc at another time.

Syringe control file for YR 1.001
Here is the Syringe control file that will work for Yuri's Revenge 1.001, either TFD or non-TFD version.

Download the Syringe control file for YR 1.001

Place this file in your Yuri's Revenge directory.
To run it, either set Syringe as your default application to open SYR files, or simply drag it "into" Syringe.exe.

Nothing will happen, because the YR launcher (ra2md.exe) is not running.
This issue will be fixed with any DLL I release for the game.

ExceptChecker 2
The new ExceptChecker comes as the first released DLL file for Yuri's Revenge!

What this DLL does is replace the Internal Error window by one that tells you why the game crashed, if that information could be retrieved.
It already detects a number of Internal Error reasons listed on the ModEnc.

Download ExceptChecker 2.00

To use it, simply put the DLL and the DLL.INJ (both are required!) in your YR directory and run the game using Syringe.
If everything works, you should see the text ExceptChecker active. on the YR loading screen.

Try and remove some weapon's warhead and see what this baby can do!

Summary
Here's a quick summarized step-by-step guide to get things running:
  1. Download Syringe v0.1 and place Syringe.exe in your YR directory.
  2. Download the Syringe control file for YR 1.001 and place it in your YR directory.
  3. Download ExceptChecker 2.00 and place the files in your YR directory.
  4. Drag and drop gamemd.syr into Syringe.exe.
  5. Hoorah!


If you want to run the game with command line arguments (e.g. "-win"), you'll have to create a BAT file with the following content:
Code
Syringe "gamemd.syr" -win



Final Words
Alright, now go and try this!
I hope everything works out and if it does, I hope my DLL system can convince you of its greatness. Wink

If not, let me know! Be sure to give me OS and other information in that case.
Posted in: News from the Battlefield  
 Compability Notice
Posted by: pd - Wed, 2008 Apr 23 - Comments: 6 | Views: 198
avatar Before I release a first usable DLL some time and I get flamed about it, I should give you this note in advance:

The DLL system is compatible only to Windows 2000 Professional or higher.

I didn't give this too much importance since my Windows 98 time is long over, which is why I didn't tell you earlier.
However, it is my honest opinion that by now, Windows 98 is truly outdated.
If you decide to complain about this, I'm fine with it, but there is absolutely no way I can "fix" this issue, since I am relying on the Windows debugging features, which aren't available on any Windows version prior to Windows 2000 Professional.

Furthermore, I've now successfully moved to Windows Vista and I've been using it for three days now. Unlike you may be thinking, I am very happy with it so far.
I didn't try YR on it yet, but according to Droke, it runs just fine, which includes online play.
If I happen to find a Vista related problem, I'll try my best to fix it, don't expect me to replace the use of the IPX protocol though, I have no idea about network programming at all...
Posted in: News from the Battlefield  
 New developments
Posted by: pd - Sun, 2008 Apr 20 - Comments: 6 | Views: 200
avatar While I'm not too much closer to a final result, I have been increasing the convenience of using my DLL system a lot.

First off, I started another little DLL project, the ExceptChecker.
Now unlike the previous ExceptChecker, this one will give you a larger amount of detail on the errors that occur.
For example, if you forget to assign a Warhead to a Weapon, it will tell you what Weapon is lacking a Warhead.

The ExceptChecker is not too much work, so you can expect a first version (and therefore a first glimpse at using DLLs) of it in a while.
Chances are good that I create one for TS as well.

It keeps getting better though:
Due to *very* recent developments (last couple of hours), my DLL system does not require any modification of the game's executable.
Theoretically, this should enable support for NPatch and old RockPatch versions, however, there seem to be a few problems concerning this which I can hopefully fix.
Posted in: News from the Battlefield  
 Status report
Posted by: pd - Mon, 2008 Mar 03 - Comments: 5 | Views: 285
avatar Possibly, some people desperately load this site and wait for some kind of a status update, to no avail.
Of course, not everyone looks into the forums (although I recommend to do that!).

So let me make an "official" status report for everyone.
I'm still working on the base of this DLL project - replicating the original game's classes and making its functionality available for C++.

That alone is a huge bunch of work. IIRC, I have about 80 C++ files now, each at about 2KB. Now imagine that amount of source code. Tongue
Bad news: it's not even close to being done. Wink
The good news is however, that I don't need it actually done to start working on "RockPatch2", which will probably be split in two parts with different names.
That's why I will begin to work on it parallely to the base, YR++.

So what can you do with YR++?
Well, if you know C++ (and I really mean if you do know it... hello world skills are far from enough), you can do a bunch of things already.
Add superweapon types, add hotkey commands, ah, you name it.
The functionality grows and grows, the result will be something similar to the DirectX SDK.

So when will there be "RockPatch2"?
Sorry, no ETA. Tongue
At the moment, I'm having technical difficulties, the mainboard of my desktop is broken and I don't really plan on getting a new one too soon.
I ordered an external HDD case though which will allow me to continue from my laptop.
I've been out of work for 2 weeks now, a time in which I could have done a lot actually. The "early 2008 release" is in danger, but still a doable thing (my definition of "early" includes the whole April).

About the RP2 features, all the things that have been done in assembly (see the striked-through items here will be ported to C++. After that, I'm going to continue with a huge bunch of new possibilities.
Posted in: News from the Battlefield  

Powered by DCoder's News System (DcNS) 0.5, © DCoder 2006.