Renegade Projects Network Forums

Full Version: Patching extra functionality into <gamemd.exe>
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
don't you ever test things?
I do test things.
But I am not a RA2 modder so it might mean I dont test things the way someone who knows more about RA2 modding might, hence the (possible) bugs.
In any case, I will do whatever I can to solve these bugs.
It might help if you were to post pseudo code for all the changes/additions you have made on a webpage somewhere. That way, all of us could take a look see and point out any flaws/ideas/improvements/etc.

It would help to prevent bugs and to address any that arise.
What kind of pseudo-code?

Anyway,

Tank Bunker problem
Reason: Mistake by jonwil, only units PoweredUnit=yes can enter it
-> FIXED

Errors on loadup
Reason: Mistake by me, LoadSpecialYuriUI=no (default) makes it load sidec03.mix
-> FIXED

Tree thingy
doesn't seem to be true


any more bugs to report?
We have found and fixed the tank bunker issue and one cause of IEs on loading.
I tried and cant reproduce either the ore mine sound issue or the "infantry on the same cell as trees" issue, can anyone reproduce either of those?

My next projects are probobly going to be one of:
Prerequisite stuff (now that we finally found the checking code)
Superweapon stuff (e.g. clone nuke etc)
or New terrain theaters
Ore Mine sound is a fully functional feature. But it's unused in unmodded YR.
It looks like the genetic mutator is broken too, if you try to use it, it causes an internal error.
We are going to get a 1.05a fixing the tank bunker bug, the genetic mutator IE and anything other bugs that we can fix out ASAP.
When the sound is unused in unmodded YR, then I really should reinstall it :blink:

Anyway, the reason for errors on loadup seems to be something else.
So it's "not fixed" again Shift eyes
On the subject of the spotlights, if a structure has HasSpotlight=yes set, the game gets an IE when that structure is built so the tag is still parsed and is pointing to something.
ok, you've got to fix the whiteboy 74 units bug, thats really pissing me off now...

also, you've got to fix the 100 units bug, we planning on adding a lot more units now, and that would take us to atleast 120 buildable units...
PD, I can confirm that it should be a JZ at 00B931C6.
As for the genetic mutator bug, I will see if I can locate that.

RE: Genetic Mutator bug.
Firstly, last entry in debug.txt before the IE is [pd] Killing Infantry (InfDeath=9) (which makes sense since InfDeath=9 means "brute mutation"
I also get the following except.txt file.
I can also confirm that it doesnt happen if there are no infantry to mutate underneath where you use the mutator.
Further debugging has confirmed that the crash happens somewhere inside the call to pcd_PlayAnim at 00518A8B.
Hopefully it can be fixed Smile

I suggest renaming 0067BCE0 to INIGetBuilding
And 004770E0 to INIGetPrerequisiteBuilding since its only for Prerequisite stuff.
Speaking of prerequisite stuff, I will be able to do more with it as soon as we can figure out what INIGetPrerequisiteBuilding (aka 004770E0) takes as parameters and returns and etc.

I am currently working on the nuke. Firstly I am going to get a superweapon with Type=NewNuke working properly. (doing the exact same thing as the normal nuke).
Then I expand it so it uses per-superweapon numbers.

PD, I would like anything you have in your table about the class for superweapons (i.e. all the stuff that is there as part of the normal game code)
would it be possible for you to clone the ion curtain with costom colour?

@Jonwil, you do know what the 3 different requested changes to the prerequisite system are don't you? or do i need to list them here again?

Boolean Algerbraic reminder:
PrerequisiteMisc##= under [General], with Misc## as a prerequisite variable.
creates an Misc##=(entry+entry+entry) ;just like the existing PrerequisitePower=

PrerequisiteAlternate##= under each unit(i use the term unit loosely as in inf/units/aircraft/structures).
+(entry.entry.entry) ;Just a clone of Prerequisite=, but all(including Prerequisite=) ORd together
Default is False(AKA unit listed that you can't have(like cabhut, you can never own that));Default of Prerequisite= is True, meaning if the entry is blank you can build it, i think.

NegativePrerequisite= on each unit.
.!(entry+entry+entry) ;like PrerequisiteOveride=, but then NOTed to mean don't get instead of get.
Default true(AKA nothing listed, meaning you can still build it)

general structure wants to be like it is now, but Prerequisite= return wants to return this, leaving existing logics such as secret lab units, country spacifics, overides and what not still dominant over the negative, and alternates.
(Prequisite=+PrerequisiteAlternate01=+PrerequisiteAlternate02= etc).!NegativePrerequisite=
I'd imagine if you included PrerequisiteOveride it would be like this
(Prequisite=+PrerequisiteAlternate01=+PrerequisiteAlternate02= etc).!NegativePrerequisite=+PrerequisiteOveride=
this means overide would overpower negative prerequisite.

because i'd imagine it was Prerequisite=+PrerequisiteOveride=

.=and
+=or
!=not


Note, .!(Entry1+entry2+entry3) is the same as saying .!entry1.!entry2.!entry3
Firstly, PD, I need to know anything you can tell me about the function at 0044C980
And about +520, +16BA +BC at the start of the function.
And also the 5F8 at 0044CABA

I have a funny feeling that some of this code relies on the fact that the first SuperWeaponType is the nuke (in which case, that will have to be fixed).

Implementing more prerequisite groups should be the easiest to do.
Implementing the others will be harder unfortunatly.

Oh and how does PrerequisiteOverride= fit into this thing?
look up, if you can't read that, here it is in words.

Everything on Prerequisite= is anded together, meaning you must own everything, things in the PrerequisiteOveride are ord then ord to the Prerequite= tag.

so its anything on the PrerequisiteOveride= tag, or Everything on the Prerequisite= tag

then theres other things to take into account like Country SPacifics, Stolen units, and Secret Lab units(which Turns off the Country Spacific)

I imagine that its the prerequite and overide first, then Country Spacifics Domanant over that.

and stolen tech, I've never tried with overides and country spacifics... But i think its considered as just between the prerequisite buildings part, and the country spacifics. so its Must own all these buildings, or any of these, need to have spied on these, and must be of this side.

this reminds me, do you think you could expand the stolen tech logic too? so you can add new stolen tech structures, like for example, a fourth sides battle lab, or a new structure than can be spyable to get special units? (doesn't have to be while you expanding the prerequisite logic for the 3 requested additions, you might want to do it per side, using a FourthTechLab=)
Pssst, PrerequisiteOverride on a VehicleType in 95% of cases causes an NCO bug (unless you are only doing Prerequisite=GAWEAP, PrereqOverride=NAWEAP,YAWEAP aka the same factory class from another faction.) .