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)



RE: Patching extra functionality into &lt;gamemd.exe&gt; - CannisRabidus - 17.02.2005

PaD Wrote:Well, I didn't change anything on the logic itself when editing the mutation routine, so nothing like that should be damaged.
More specifically, NotHuman= is designed to force the use of the unit's Die1= infantry sequence, no matter the InfDeath= of the warhead that kills it.

This is why dogs don't do the infantry melt thing in radiation, or do the electro-die thing when tesla'd, etc. Where this is very relevant here is, it also thwarts the game's stock, single AnimToInfantry InfDeath. Like, you can't mutate a dog, you know? It just dies.

So it's important to not break the [Mutate] effect where NotHuman= is concerned.

I dunno what you should do about new AnimToInfantry-type infantry deaths... should they respect NotHuman or ignore it? I can envision modders wanting both types available...


- Big Jah - 17.02.2005

Did you play RA1? Well, nevermind, but I wonder if possible to make specific shock and fire (and other) deaths for animals? For example a working shocked dog...


RE: Patching extra functionality into &lt;gamemd.exe&gt; - Bobingabout - 17.02.2005

Marshall Wrote:Cheek. There's nothing in the tutorial about the consequences of not adding the tag. Given that I made the research into MakeInfantry for the purposes of the only fully explained tutorial on the subject, to me the implication was that MakeInfantry was required for MakeInfantry purposes, nothing more [especially given that MakeInfantry works without InfDeaths]. Others could quite easily make that mistake. Just because you knew that not including the tag would cause an error doesn't mean that everyone else knows.
There is also no mention in PD's tutorial about the use of Next= in conjunction with MakeInfantry.

I'll have to say sorry here. because you are right. it does tell you that you need to add the anim to the MakeInfantry= tag, but it doesn't say what will go wrong if you don't...

and no it doesn't say anything about the Next= tag either.


RE: Patching extra functionality into &lt;gamemd.exe&gt; - CannisRabidus - 17.02.2005

Big Jah Wrote:Did you play RA1? Well, nevermind, but I wonder if possible to make specific shock and fire (and other) deaths for animals? For example a working shocked dog...
Theoretically this could be done by having an InfDeath= point to a new Die*= sequence. But every infantry animation would require a new sequence then.

Wait a minute. If the code for all InfDeaths was modified so that when it encountered NotHuman=, instead of playing Die1=, it played a Die*= sequence where "*" was equal to the value of the InfDeath=...

example -
If InfDeath=5, then play the electro die anim, unless unit is NotHuman=yes, in which case play that unit's Die5= sequence. Since there is no Die5=, the modder would have to add the code for this and all other Die*= sequences (and only for the NotHuman units). These need only be copies of Die1= if he has no new graphics. If things were really slick, then the game would automatically use Die1= if Die5= was not present Wink


- Marshall - 17.02.2005

My thoughts on NotHuman:

1. compatibility
A mod should not be required for the patch to work unless absolutely necessary for a super-cool piece of new functionality (in which case the future YRCP will be mandatory for the exe patch).

2. Moddability
Should be simple and easy to modify. Ideally, that would mean that instead of pointing to a DieX= sequence, it would point to an alternative animation entry (besides, Human infantry don't get a unique anim for each individual soldier, do they?).

3. Use
If it's not going to get used, PD doesn't want the extra work. IMHO InfDeaths for NotHuman infantry will get very little use.
A possible alternative is a way to say "This particular InfDeath ignores NotHuman=yes". However, I think that wouldn't get much use either.


In conclusion, there are many things that are both simpler to implement and more useful than animal InfDeaths.



@Bobingabout, no problem Smile


- ZombyDragon - 17.02.2005

Is it possible for you to take scripts from TS and out them in your hack? I ask this becuse if it was resonable then you could put alot of the TS back in if the logic isnt in the yr .exe. It seems to hard to bother with and as you can tell im no programmer.


- Renegade - 17.02.2005

Perhaps Cannis' idea, but with another InfDeath rather than a Die*-sequence?

i.e. "If something gets Tesla'd, use InfDeath=5, except if it's NotHuman=yes, then use InfDeath=11.", with InfDeath=11 being a dog being fried, or a generic "animal" look-alike.

This way, you'd only have to add one standalone anim instead of new sequences to all infantry...


- Blade - 17.02.2005

Perhaps an AltInfDeath=# tag on weapons for animation to play when target has NotHuman=yes. If not set default is AltInfDeath=1 for the target, maintaining compatibility with what is the status quo. This, in conjunction with additional Infantry deaths which are now possible gives the optimum solution IMO.

Edit: It also means that the Genetic Mutator could generate an alternate unit depending on if its target was human or animal.


- Marshall - 17.02.2005

IF it were implemented, I would concur with Blade.


RE: Patching extra functionality into &lt;gamemd.exe&gt; - CannisRabidus - 17.02.2005

Blade Wrote:Perhaps an AltInfDeath=# tag on weapons for animation to play when target has NotHuman=yes. If not set default is AltInfDeath=1 for the target, maintaining compatibility with what is the status quo. This, in conjunction with additional Infantry deaths which are now possible gives the optimum solution IMO.

Edit: It also means that the Genetic Mutator could generate an alternate unit depending on if its target was human or animal.
This would be better as a unit property rather than a weapon property.

Do nothing, and the use of NotHuman= is the same.

Add AltInfDeath= to the dog, and this tells the game to ignore NotHuman=, and play the AltInfDeath=.

Add AltInfDeath= to a unit with NotHuman=no, and that particular unit plays a custom death anim.

Even more optimum Wink


- Bobingabout - 18.02.2005

sorry to go off topic here a bit. But I've been playing with this latest version of the patch with my(and hunts7's) mod. works like a dream!

first point to note, is the fact that for the first time, both CDA, and the other countries on the same sode both built tech centres. theres got to be more than just adding new countries abilities that he's added.

that means that when i complete the AI.ini for CDA, i will have an almost fully working 4th side emulation. dowside is short game explotion, which i'm sure he'll work on pretty soon. (from what he's told me, next on his list is 100 units, 74 units"whiteboy", and baseunits bugs.) when he gets baseunits working, thats 4 sides working to the mods original plan.

all i've got to say is:

Go PD!

EDIT: 1 more thing. you never mentioned taunts for the new countries. did you add any compatibility for new country taunts?

i started an unholy alliance network game to test it out. the new country never had any taunts(as was to be expected). atleast it never crashed.
this should be thought about for a future patch. since it doesn't crash, and its only a multiplayer game feature, i supose its not required. but it would be nice.


now continue your debate about this NonHuman= stuff, its worth adding to the wishlist if you ask me.


- Marshall - 18.02.2005

@Cannis:
Eh? Blade was saying AltInfDeath=[Integer] on the warhead to indicate the infdeath to use if the warhead killed a unit with NotHuman=yes.
This would allow a different infdeath to be used for animals than humans for specific weapons which would also enable genetic mutation possibilities against animals.

You're saying AltInfDeath=[Animation] on the unit so that it always dies using the same animation? What's the point of that? Besides, we can already do that using DeathAnims=[List of Animations]
Even if you meant AltInfDeath=[Integer] on the unit we can already do that using DeathAnims= (by stating the anim of course, not the infdeath number).

Or am I misunderstanding something?


- Renegade - 18.02.2005

Blade's AltInfDeath-concept sounds great (and solid).
I'm totally supporting that. pd? Opinion?


- ZombyDragon - 18.02.2005

I thinik haveing it on the art entry is better becuse you may have a perfect electo dog animation, but it doesnt fit an bear or alligator. If it was on the art entry then you would have a fitting one for each.


- Guest - 18.02.2005

Why not supply the infdeath anims for the nonhumans in the unit's section and the infdeath tag to point to whichever infdeath to use for the nonhuman.
If the weapon says to use infdeath 5, it should look in the unit for altinfdeath5=anim.