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.
Nope, no new stuff, just a reply Tongue

Quote:as for your extra countries, you do still need the [11thcountry] header right?

if you do, which I'm hoping you do, then name:country## would be determined using the UIName= tag.

anyway, since you have to specify in your code what files it reads, wouldn't it just be as easy to look for a tag, then store those filenames in the slot where you are hardcoding the new filenames?

If I'm understanding what you've told me right, you can make it read any tags you want, only problem is where to store the data. so if you've already written in (hardcoded if you will) the name to be C13_flag, couldn't it just as easily be determined by a tag?

Yep the headers and section will still be required.
The stuff with UIName= is very weird. The UIName is used for the list in the skirmish menu and for ingame, but NOT for the loading screen. I dunno why, changing that would cost a few researches, and I don't think it's THAT important.

Determining filenames by flags is a good idea actually, and I think it's fairly easy. It just sucks that I have to rewrite my code then Shift eyes
But indeed, it's a better idea. I'll see what I can do.

Quote:@PD 4th side GUI is optional anyway, its set by your Side= tag on the country. setting it to Side=GDI will mean that you get the Allied GUI and EVA, but still your 4th sides tech tree. i beleave it was blade who originally pointed that out to me aswell anyway.

Thanks a LOT for that info, I didn't think of it yet.
BTW, I dunno if it was mentioned here or tried yet, what GUI is used when Side=FourthSide and sidec04.mix doesn't exist?
I don't think it's neccessary to allow the modder to choose the filename of the various assets - why would they need to? It's just extra work for you pd!
c23_flag.pcx, c23_ls.shp, c23_ls.pal
are all perfectly good filenames.
PaD Wrote:BTW, I dunno if it was mentioned here or tried yet, what GUI is used when Side=FourthSide and sidec04.mix doesn't exist?
i don't think i actually said it, but it causes an IE. setting side to GDI or Nod if you want soviets is what i had to do before i extracted sidec01 and renamed to sidec04

Marshall Wrote:I don't think it's neccessary to allow the modder to choose the filename of the various assets - why would they need to? It's just extra work for you pd!
c23_flag.pcx, c23_ls.shp, c23_ls.pal
are all perfectly good filenames.

its not "neccessary" but would be usefull. i sugested it beause from what PD told me, it would be doable with minimum effort.

(this was his reply when i asked about adding tags for 4th side stuff)
"well it's easy to make the game read them... ...but hard to find out where to store the data so it works correctly"
and since he's writing in to look for a spacific file(he already knows where he wants the data to be stored), getting the filename from a tag wouldn't be that much more work.
It's not that much work but actually, I also think it's better not to let it be determined by a tag. Besides, you'd have to set that flag for the old countries, too, and that would be against my compability rule.

I finished my work on the countries, you can have 89 new ones in total Smile.
Why 89? Well, the last country would be 99, it loads the flag c99_flag.pcx.
c100_flag.pcx wouldn't work because 100 has 3 digits. I could change that, but isn't 89 enough...?
Besides, I didn't test having 89 countries. But I tested 20, and it works.
As I said, I also fixed the sidec03.mix stuff, a new patch version should be released tomorrow I think.

@ Marshall:
I dunno what's wrong, but the infantry deaths work wonderful for me. Maybe you made the "end of file mistake" like DCoder? Or used [NewInfantryDeaths] instead of [NewInfDeaths] (I make that mistake sometimes Shift eyes)?
I hope you can fix it.
Where does NotHuman= fit in with the additional MakeInfantry infdeaths?
Hm you mean e.g. turning infantry into cows?
I never tried that... no idea if it works.
I think he means turning cows into Brutes, which was impossible in the original game due to [COW] being NonHuman=yes. IOW, do your mutations obey this blockade?
Testing with the latest patch, I have the following problem:

Test case 1:

[NewInfMutations]
1=GENDEAT3 ;11
2=GENDEAT4 ;12
3=ROTTDIE1 ;13

Result: No mutation InfDeaths (InfDeaths 9, 11, 12, 13) work - no anims are played, no infantries are created. Killed infantry just disappear. Standard InfDeaths work okay.


Test Case 2:

[NewInfDeaths]
1=YURIDIE ;101

[NewInfMutations]
1=GENDEAT3 ;11
2=GENDEAT4 ;12
3=ROTTDIE1 ;13

Result: InfDeath 101 works okay. InfDeath 13 causes an Internal Error. Other InfDeaths were not tested.


All anims are in anims list and have own entry in artmd.ini

The new sections are at the end of the file, and have the following lines after them:

"


;END OF FILE


"

Am I really the only one with this problem?
maybe its because they are at the end of the file... try putting them before the end of the file, like, maybe just after all the other lists. between [Warheads] and [MultiplayerDialogSettings] for example.

although, it could be several things...
Okay, I've solved the problem - it was a problem at my end but it's something that people need to be aware of:

For all InfDeaths defined as mutations, i.e. InfDeaths 9 and 11-99:
The animation MUST HAVE a MakeInfantry=X line.

If just one of them does not have this line then all mutations will not play an animation at all.

Alternatively, you can have an associated anim that does not have a MakeInfantry= line, provided it does have a Next= line that points to an anim that does have a MakeInfantry= line (or a Next= line that points to... and so on).


The reason I had a mutation death that wasn't a mutation was because I wanted to use the unit palette. Presumably I can do this using AltPalette=yes instead which I will try later.

This should probably be noted in pd's patch usage tutorial (undoubtedly someone will make a comprehensive guide to modding with the patch at some point).

I'm now going to go and make a note of this in my MakeInfantry article on modenc.
if you read the tutorisl it does say that you must add the anim to the MakeInfantry= tag...
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.
What would I do if I didn't have Marshall... Big Grin
Again, his fast work makes me able to make a fast homepage update, meaning:

Patch v1.02 including overworked NewCountries is available now!

I'm going to update the first two tutorials as soon as possible.
Thanks very much for finding that with the Next= stuff @ Marshall.
Same to Bobingabout who told me that in my tutorials it is not said that the Yuri UI filenames must have the ending "y" to work (I'm not going to change that because of compability reasons).

The thing I'm doing next could take some time.
I'll start a research on the 100-unit bug.
Tons of things are written about it, but I need to see everything myself and test some things (I was confrontrated with it once, but that's a long time ago).

@DCoder:
No, my patch hasn't got to do anything with NotHuman.
What exactly does the NotHuman tag do? Is it just there to avoid animals having human infantry deaths?
If so, I dunno if that is fixable, or if it's good to fix it.
Maybe an additional tag could be implemented (sth like "MutatesNonHuman=yes").
That's something for the wishlist I think.
Yes, that's what NonHuman is for. And I don't think you should break it, on the contrary, you should just check and make sure you don't break it.
Well, I didn't change anything on the logic itself when editing the mutation routine, so nothing like that should be damaged.