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)



- pd - 05.05.2005

You don't need to change the InfantryMutate thing.
The MutateWarhead holds the InfDeath/Mutation that should be played, as I already enabled new ones, you can just leave the InfantryMutate stuff as it is.

InfantryNuked hm.
Dunno if that has to be changed.
I think the Nuke behaviour should just stay as it is, even in the clones.
Sure you should be able to customize
- the Nuke missile
- that siren's sound
- Explosion anims
- in all everything Audio+Visual related.

The behaviour itself... hm we need more opinions.

If I should make the 3 EVA sounds customizable, I need additional 12 bytes.
I dunno how much you did already, but could you move your SW data to [SW+188] then instead of 17C?
I could do the EVA sound hack then.
I'm just not sure what about defaults. It would be a REALLY long loading routine then...


- Bobingabout - 05.05.2005

@PD
can't you already have a unique EVA sound each superweapon? if i remember right, they just never added the sounds for the other sides.

@jonwil
i tried windowed mode on my laptop 2 weeks ago, worked perfectly. it only filled the screen because the res was set to the same as the desktop res, but it did have a blue bar at the top that i could click and drag to move the window.

also. PD is working on mutator, or was it dominator?

PD also found the prerequisite stuff, be he lost it. i can help you find it if you want.

and finally, hardcoded things to unhardcode. SLAV, and prerequisiteprocalternate only works with 1 entry listed. it would be so much more usefull if we could get slave miners to work with more than 1 type of slave.
more things, FV, DESO(something nn that unit is hardcoded, not quite sure what exactly). and i can't think of anything else


- jonwil - 05.05.2005

There is definatly a clear hard-coded bit of code for the sounds where it references exe strings like EVA_NuclearSiloDetected, EVA_IronCurtainDetected, EVA_PsychicDominatorDetected and so on. So, making it so that the new superweapons have a tag which, if it exists, will specify the EVA sound to play makes sense.
There is more code for the other sounds too.

I havent started on the SWs since I have decided to wait for PD to finish the dominator stuff. So go ahead and put in the EVA stuff.

For defaults, have "no sound at all".
i.e. if the EVAActivatedSound= tag doesnt exist, play no sound.
Otherwise play whatever sound was specified.

I think my list covers all the nuke stuff that is hardcoded and/or global.
Making all of it un-hard-coded and/or SW specific makes sense IMO.
Only one I am not sure about is InfantryNuked.

PD is doing Dominator, not mutator.

If we have the prerequisite code (where it is and how it checks for prerequisites), that is good, it might mean I can add new prerequisite stuff.
But if all we have is the load code that reads the stuff from the ini files, thats no help since I already have that Smile

Will see about the slave miner and IFV.
The prerequisiteprocalternate thing needs to be turned from one value into a list (something I dont know how to do Smile

I am currently in the process of adding a stealth sound that is seperate from the submarine sound.
You put StealthSound= in the same place as the existing CloakSound= tag (the default will be NavalUnitEmerge).
Then, you put Stealthable=Yes on a unit. This new tag basicly does everything Cloakable= does (including reading CloakingSpeed=) except that it will play the StealthSound= sound instead of the CloakSound= sound

My next contributions will be:
Stealth Sound stuff
Un-hardcode stuff
Destroyable Cliffs stuff (if I can do anything with those)
Prerequisite code (if we can find and figure out the buts I need)

Those (or some combination of those) is what is likely to go into the next patch from me (along with the bridge code, taunts for new countries and bunker change)

I think (but dont quote me on this) PD wants to release the next patch after the dominator stuff is done (I think its about time for a new patch too Smile


- Bobingabout - 05.05.2005

if you defining a difference between stealth and cloak, then you will need to clone cloakgenerator to work with stealthgenerator tag, same but uses other cloaking sound. this is used on structures to make them cloak other nearby objects, whats the use of a stealth system where they make a unique sound, if when they enter and leave a cloaked base, they still make the ships cloaking sound?

also, if you creating a new stealth type, do you think that its possible to add a new stealth detection tag? so for example, a tank that can see cloaked ships, can't see stealthed units? and vica verca?

Sensors=yes, and then StealthSensors=yes?

also, would be usefull if you can make these tags work on buildings, if at all possible, because currently, there is no way to make a building see stealthed units.


oh, and i hope you not abandoning your tibtree code...


- Marshall - 05.05.2005

InfantryNuked= is unrelated to superweapons, it simply tells the game which animation to use for InfDeath 7 (I think it's 7). Same for InfantryMutate= (InfDeath 9 animation).


- Renegade - 05.05.2005

If he actually gets more theaters to work, I guess The Matze will be more than happy to help us. I wouldn't worry about that.

Question: I guess when making the paradrop-clone, you cloned the Type and/or Action? In that case, is it possible to override the "placement-rules", i.e. when you aim a normal paradrop on a building, the troopers will be dropped around it ? can you make it so they fall on the building, for bombing purposes?

And, one more thing, while thinking about it: If you can do all that SW-stuff, and you can get the original exe to compare...can't you just re-enable vehicle selling from the service depot? Then people wouldn't have to use fake SWs all the time.

Flags that may be worth Un-Generalizing:
- 'Stray' perhaps...may be useful to let scout-type units loose, while precious units stick to the team.
- 'CrewEscape'...Guide says it manages the chance of crew escaping on Crewed=yes objects. With individual chance, you could have units were the crew always escape, while it's just a chance on others.
- The 'UpgradeXXXSound's - having a custom upgrade-sound on certain units could add to the atmosphere, not to mention that you could have them cheer or something if you did your own voices. (Or, you could assign the cheer-sound as the unit's UpgradeXXXSound, if you wanted to)
- Same goes for the 'BaseUnderAttackSound', which may have even a tactical value...if you invested enough time, you could make sure the user can hear what kind of building is under attack. ("Warning: Construction Yard under attack!")
- The other BuildingXXXSounds would have a comfort character, but they don't have the tactical value.
- 'PlaceBeaconSound' - if possible, perhaps overridable by country (or side, if you add side-sections)? Would help in TCs.
- 'Chrono[In|Out]Sound' perhaps?
- 'DeployDir'
- 'Wake'
- 'WeaponNullifyAnim' - as override on weapons, so, for example, a very mighty weapon creates a bigger anim, or a laser creates a different effect than a machine gun.
- 'Gate[Up|Down]'
- 'BunkerWalls[Up|Down]Sound'
- '[Dea|A]ctivateSound'
- 'ExtraXXXLight' - as a per-unit-value, this could make up for the missing light/alphaimage logicis on units. Could be used for holy warriors or electric units, for example. Or, as a negative - so that a certain race's units spread darkness.
- The several 'Overload...' flags, to enable custom, different Masterminds.

NOTE: I just went through RULES1; it may be that some of these flags are unused/overridden anyway. If that's the case, I'm sure somebody will mention it.


- Guest - 05.05.2005

Is it posible to make custom wakes on different types of ground (not only water)?.. it can be useful for dust clouds if unit is moving on sand for example


- Bobingabout - 05.05.2005

i think we getting to about the next release too.


- jonwil - 05.05.2005

Custom Wakes, no, I dont have a clue if they are possible.

I will do the StealthGenerator= tag similar to the CloakGenerator= tag assuming I can find the right places where the sound is played.

The only difference between the Stealth stuff and the Cloak stuff is the sound.
As far as the rest of the game code is concerned, they are 100% the same (i.e. Stealthxxx implies Cloakxxx)

So no, no new stealth detection type.

As for making Sensors=Yes (or whatever it is) work on buildings, I dont have a clue how to do that at this point.

Tibtree, I am currently still trying to find the place where it actually reads the tiberium type (so I can change it)

For the paradrop clone, I didnt do that bit, PD did it.

As to where the infantry fall, I dont know that code at all but mabie PD can implement a tag to make infantry fall on the building instead of around it.
Or better yet, mabie REAL parabombs can be implemented. There might actually be some partial logic attached to the BombParachute= tag or failing that, once we have the abillity to say "send this plane or planes here and attach whatever the user selects" (i.e. airstrike) code going, you could then use a weapon like the Kirov Airship bomb (which falls down from the airship) to do parabombs.

Selling from the service depot, I have no clue about that.

As for un-generalizing, I am mainly interested in taking stuff that is hardcoded into the EXE and putting it into rules.ini as opposed to taking stuff from the rules.ini [General] section (and related sections) and making it unit-specific (since that second thing is harder to do)

When doing clones of the nuke etc, any lighting effects used by them will also need to be cloned, whatever they may be.

Also, I have 3 ideas for improving RA2.)

The first is for a superweapon that basicly fires a given weapon at the target location, with an optional firing animation and also a firing sound. This could be used for space based weapons (e.g. Ion Cannon) or for a weapon like the Artillery Barrage in Generals or whatever else.

The second is for a superweapon that can spawn units (or infantry) at a given location (i.e. same thing as the generals Rebel Ambush)

The third idea I had (that is probobly possible) is to implement a Tunnel system like in Generals. I have an idea in mind as to how to pull it off too Smile


- Bobingabout - 05.05.2005

you can already have tunnels...

and a superweapon that fires a weapon is also something requested. we'd like something like the old cluster missile superweapons, or EMP superweapon, because they basicly fired a weapon from the super weapons structure to wherever you targetted. the EMP cannon was a turret like the grand cannon, but fireing was called by a superweapon, that weapon had a unit disabling effect, but thats not the important part in this conversation. invisable flight to target weapons, with warhead delays can be used to create just about any weapon, fireing from the building type, and sudden impact on the land type.


- CannisRabidus - 05.05.2005

Tunnels like in Generals means you can build a tunnel entrance where you want it.


- Bobingabout - 05.05.2005

oh. ah you can probably tell, I've never played Generals


- jonwil - 05.05.2005

well my idea was for weapons that attack from "out of nowhere" (i.e. they attack directly on the selected target with the animation indicating where they came from)

But if it is possible to implement "attack from the SW building", that would be good too.

I am talking about implementing something similar to the GLA Tunnel Network from C&C Generals, not the "tunnels" (as placeable in FA2 via [Tubes] stuff)

Bad news is that I havent yet been able to get the stealth sound stuff going.
The way cloaking works in RA2 is that there is one subroutine for "cloak" and one for "uncloak". Then, each subroutine is called from 3 places. One pair of locations is for when a cloaked unit is initally cloaked or when its uncloaked (e.g. when attacking I think).
One pair is for when a building is cloaked by a CloakGenerator.
And one pair is for when a unit is cloaked by a CloakGenerator and also I think some of when it is cloaked/uncloaked for attacking etc.

Short of completly cloning every single thing related to Cloakable=, CloakGenerator=, CloakRadiusInCells= etc, I dont see how to make the cloak stuff work at this time.

So (since we havent yet located the prerequisite stuff), I will now move on to destroyable cliffs and un-hardcoding stuff.


- jonwil - 05.05.2005

The plan (if/when it gets implemented) is for a TunnelNetwork= tag that goes on buildings.
Then, it would work like a Soviet Battle Bunker.
The difference is that instead of each building having a "list" of the contents, each player would have one list.
Then, all TunnelNetwork= buildings owned by that player would reference that list.
Meaning that the infantry inside (for a lot of reasons, it would be infantry only) would appear to be in every TunnelNetwork= building at once (and able to be removed from any one of them by the same way you remove them from a battle bunker).

So you can put infantry in one and have them pop out another one.
However, this is for down the track I suspect Smile


- Bobingabout - 05.05.2005

what did we tell you about double posting? it was 11 mins!

anyway, imo, clone the whole damb lot of the cloaking code, that might allow for the second type of cloakinf stuff.