Renegade Projects Network Forums
Patching extra functionality into <gamemd.exe> - Printable Version

+- Renegade Projects Network Forums (https://forums.renegadeprojects.com)
+-- Forum: Inject the Battlefield (https://forums.renegadeprojects.com/forumdisplay.php?fid=60)
+--- Forum: Ares General Discussion (https://forums.renegadeprojects.com/forumdisplay.php?fid=19)
+--- Thread: Patching extra functionality into <gamemd.exe> (/showthread.php?tid=16)



- Guest - 09.05.2005

[offtopic:]
I'm agree with pd but then the solution of compare the possible illegal cd-key with legal cd-keys is more illegal that patch the gamemd.exe (if exist a list of original serials... then only is necessary to use a serial from the same site that you found the cd-keys list but only ea have the list of original cdkeys)

Code:
if compare_a_cdkey!=all_cdkeys_from_stolen_original_cdkey_list:
? ? ?not to do an illegal patch on the exe
else:
? ? ?do an illegal patch on the exe

then all is illegal... anticheck & the patch, why to do that? to limit new users of the patch? Tongue
[/offtopic]


- DCoder - 09.05.2005

Uh, not all edited exes mean they're cracks... This Saberhawk's version I'm using just cuts out the unused code (according to him).


- Bobingabout - 09.05.2005

aparantly, its also to speed teh game up while loading. if its the version i'm thinking of, but if he can do things like that, why didn't he have a go at doing what PD is doing? i know blade added a third mission button, but other than that, (and noCD cracks, and optimisation) nobody has tried patching/hacking the game.

@guest
ok, what PD is doing is against the EULA, but the main purpose of the EULA is to prevent illigal copies floating around. if this helps force people using illigal copies to go out and buy a game, just so they can use the patch, then its doing westwood/EA a favour.

all exe modifications, and even mods, are breaches of the EULA, but the EULA was written to prevent Piracy. modding isn't piracy, i supose thats why even though its a direct breach of the EULA WW didn't mind, infact i remember an official story writing compatition once where the prize was to have a mod made of your story. so, i supose WW wouldn't mind PDs patch. although, its EA we've got to worry about now, the might not be as nice about it...

anyway, i hope we leave the topic of Cracks, Piracy, and EULAs out of this topic again for a while...


oh, and i'm witrh PD on the "Using CDs Sucks" thing. for years i used a YR CD image on my desktop computer, saves a lot of diskswappings. however, now that i got my laptop, I've got a hard drive 1/3 of what i'm used to. so theres simply no room for CD images. if i could find a YR noCD crack, I'd use it. simply because using CDs sucks. infact, CDs suck so bad that i need 3 disks to play sims unleashed. my origial UL disk 1 is nackered. but i still need to play the game from it, just can't install, so i've got a copy of disk 1 to install from, aswell as disk 2, plus the original disk 1 to play from. that is just so annoying...


- Blade - 09.05.2005

All this discussion of anti-hacks is IMO pointless, as it just raises the barrier of entry to using the patch for people wo might be using modfied version of these files for legitimate reasons (just like anti-copy protection is about consumer control and not anti-piracy, it discourages only personal copying by the end user for friends, not the main source of piracy or lost revenue for the companies that make millions anyhow). That aside I think the existing checks are sufficient, you should check anything more than WW code itself does IMO.


- FS-21 - 09.05.2005

@guest
A check is required to see if can be patched or not (try to patch the patched or cracked exe to see what happen... hehehe )

And is true that not all edited exes mean they're cracks (as DCoder said with the Saberhawk's version)

I play with a YR CD image to not damage the original but I have an ripped stored in a lost CD by precaution (in Spain is legal if you have the original CD, I don't know if is the same in other countries) but if the ripped copy not works I should record in a CD the required exe files to avoid the check

And I have a question... who will use an illegal copy of this "very old" game ...when now is very cheap to buy YR? Tongue (after these comments the topic should continue with the RockPatch progress or start a new one because this has a lot of pages)


- DCoder - 09.05.2005

FS-21, always use the maximum available posts per page setting (in this forum, 50). Helps a huge lot. 15 pages ain't a lot.

PD, what are you gonna do next? Any chance of Armor Types array expansion?
Edit: I've got some basic knowledge of asm, perhaps I could help in some way?


- jonwil - 09.05.2005

Checking the serial wont help because of key generators which will generate a "random" serial that matches whatever algorithim is used inside the setup program to check the serial number (I myself used such a keygenerator when I reinstalled RA2 to start playing with the PD patch and the TX since I was unable to locate my RA2 and YR jewel cases Smile

I cant speak for PD but myself, my next things might be:
1.More SW work (i.e. making "un-hardcoded" clones of the Nuke, Psychic Reveal and Genetic Mutator). I think PaD is going to do the Lighting Storm so I wont be cloning that one Smile

2.Paradrop stuff (specifically adding per-paradrop defining of the parachute animation and sound and mabie a new clone customizable side-specific paradrop)

3.Adding new theaters to the game

4.Making more things non-specific or non-hard-coded
For example, there seems to be a limit somewhere connected to PoweredUnit= and PowersUnit= that would be good to find and overcome
Also, the PrismType= list should be expanded (if one can make it a tag that goes on a building, even better but otherwise it needs to be made into a list instead of just one unit.
Certainly if we can make the other tags like PrismSupportModifier= and PrismSupportHeight= per-building, that would be good.
Also, one could make the SlavesFreeSound=, SlaveMinerDeploySound= and SlaveMinerUndeploySound= unit specific
And the BunkerWallsUpSound= and BunkerWallsDownSound= building specific.

5.Prerequisite stuff (if I can actually find where it checks the prerequisites that is)

6.4th side stuff (since its very much requested)

And just generally, whatever I can find to work on Smile
Or whatever people like bobbing and PaD suggest I do Smile


- pd - 09.05.2005

I just came across the spotlight code.
It's still there in YR, full-working probably, but no way to enable it (HasSpotlight tag has been removed).
I don't think I'll work on that, this is just an information Tongue

I don't have plans, though ArmorTypes aren't a bad idea.
What about Verses? We'd need defaults. Set them to 0%? (not saying I know anything about how armors work, it's just a question).

The next thing I'll definitely do is continuing working on "the table" Tongue
Which is enough work already :wacko:


- jonwil - 09.05.2005

PaD, can you give me the addresses for that spotlight stuff?


- Guest - 09.05.2005

My version is a different loader totally for YR. That's how I removed unused code. Tongue


- Guest - 09.05.2005

Create an [ArmorTypes] section that can be altered though the first 11 (None,Flak,Plate,Light,Medium,Heavy,Wood,Steel,Concrete,special_1,special_2) would have to remain Hardcoded to maintain continuity in programming.

It should look like this:
[ArmorTypes]
1=None
2=Flak
3=Plate
4=Light
5=Medium
6=Heavy
7=Wood
8=Steel
9=Concrete
10=special_1
11=special_2
12=NewArmorType

I desperately need like ten more armortypes to individually set up some weapon effects.

\\//,DedmanWalkin


- C00L DuDe - 09.05.2005

yes new armor is nise Smile
but how about "Breaking of the 100-unit-limit" ?
I think this one is more important

also it will be nice if you can make the NukeSiren work with some other tag than DigSound (NukeSound for example)


- Bobingabout - 10.05.2005

verses default of 0 isn't a bad idea, its like this, 0% is can't attack it, 1% and 2% are special cases for force firing stuff. anything else is damage dealt.

100 unit bug, PD wants to fix it, he just can't see anything causing it.

nukesiren can be triggered by the animation itself...

and, probably off topic, ever read the UK amiga manual? it actually tells you to copy every game you get, then work off the copy. here, its perfectly legal to make as many copies of the game as you want, as long as you only use the game 1 instance at a time. IE, you and only you use the game, from any disk, original or copy, if you sell the game, you must destroy all copies.


- CannisRabidus - 10.05.2005

PaD;date=May 9 2005, 11:18 AM Wrote:I don't have plans, though ArmorTypes aren't a bad idea.
What about Verses? We'd need defaults. Set them to 0%? (not saying I know anything about how armors work, it's just a question).
[right][snapback]1140[/snapback][/right]
While you're in there you might want to look into fixing an error.
If a Versus= percentage early in the list is >0%, and is followed by several 0% values, then the values that follow are considered to also be 0% even if they are not. This happens for secondary weapons, when both the primary and secondary have the same Versus= values, and targeting differences are determined by the projectile (anti-ground & ant-air, for example). I would guess this is happening either simply because the secondary is read differently than primary, or else when the game seems to believe the primary has it covered so why check the secondary any further.

I know that sounds confusing.

For example -

[WarheadUsedByPrimaryAnti-GroundWeapon] ; this one gets used
Verses=100%,100%,100%,0%,0%,0%,0%,0%,0%,100%,0%

[WarheadUsedBySecondaryAnti-AirWeapon] ; this one won't be
Verses=100%,100%,100%,0%,0%,0%,0%,0%,0%,100%,0%

If I shoved a non-zero value in the middle of that, like -
Verses=100%,100%,100%,0%,0%,0%,1%,0%,0%,100%,0%
- then the 2 weapons would get used properly. From my tests it seems to be only 4 0% values in a row are tolerated; 5 0% values in a row will trip things up.


- DCoder - 10.05.2005

PD, the defaults are already there, and they are set to 100% (or am I totally misinterpreting this?):

Code:
* Possible StringData Ref from Data Obj ->"100%%,100%%,100%%,100%%,100%%,100%%,100%%,100%"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?->"%,100%%,100%%,100%%"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
:0075DDD9 68407C8400 ? ? ? ? ? ? ?push 00847C40

* Possible StringData Ref from Data Obj ->"Verses"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
<snip to reduce code size>
:0075DE0C BD0B000000 ? ? ? ? ? ? ?mov ebp, 0000000B; <--- how many CSV to read from Verses= .
<snip to reduce code size>
:0075DE55 4D ? ? ? ? ? ? ? ? ? ? ?dec ebp
<snip to reduce code size>
:0075DE58 75B7 ? ? ? ? ? ? ? ? ? ?jne 0075DE11

I guess to get more defaults you'd just need to extend the string that sits at 00847C40, and change 0000000B? (That's more Defaults, not actual Armor Types Tongue )