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)



- Bobingabout - 08.03.2005

i don't know how to patch yet, can barely understand what most of it is doing, but the best part is i can find tags Big Grin

now, these are interesting:

;floats
;ArmorInfantryMult=
;ArmorUnitsMult=
;ArmorAircraftMult=
;ArmorBuildingsMult=
;ArmorDefensesMult=
;CostInfantryMult=
;CostUnitsMult=
;CostAircraftMult=
;CostBuildingsMult=
;CostDefensesMult=
;SpeedInfantryMult=
;SpeedUnitsMult=
;SpeedAircraftMult=
;BuildTimeInfantryMult=
;BuildTimeUnitsMult=
;BuildTimeAircraftMult=
;BuildTimeBuildingsMult=
;BuildTimeDefensesMult=
;IncomeMult=

;Firepower=
;Groundspeed=
;Airspeed=
;Armor=
;Cost=
;BuildTime=

;strings
;VeteranInfantry=
;VeteranUnits=
;VeteranAircraft=
;ParentCountry=

;WallOwner=bool


thats a list, of almost all the tags on the countries that you can specify.

it also looks for prefix and suffix... but i can't read what its actually doing.

most of them are just for confirmation that you can do it, but, WallOwner!! what does that do? ParantCountry!! and firepower, buildtime etc, global to all units and buildings??

something for PD to have a look at...


- Blade - 08.03.2005

Parent country is used on SP maps where you can create additional countries for trigger purposes. Such countries are given a parent country to set how they behave and what countries technology they use.


- Marshall - 08.03.2005

Regarding new palettes for infantry, amazing. I have spent the last 2 months working on a way of optimizing use of the 36 unused colours in the unittem.pal so as to replicate an entirely different 256 colour palette for some new infantry. Now I don't have to worry about it Smile

New colours in the mp menu? Why worry about making it optional - you've already added RMG improvements that aren't optional. I think mp colours is one you could get away with.

By the way pd, any thoughts regarding the IE I encountered?


- pd - 08.03.2005

@Bobing:
Prefix and Suffix are char types.
It seems that I just didn't call the procedure INIGetChar yet Wink

@Marshall:
OK, I could hardcode some new colors.
Maybe I could make a poll about that, on multiple boards.
But wait... how many colors are there that we want to add?
Black of course, any more else?

For the IE... no idea, sorry.
The strange part is that only your opponent got an IE...

Ah, did you get the 1.03 version of my patch?
I'm asking because I'm used to get a patcher from you about a few hours after I sent it to you Wink
If not, my Outlook sucks.


- Bobingabout - 08.03.2005

thing he means with meaking new colours optional is:

an activation tag souch as "CostomMenuColors=yes" and a new list [MenuColors] containing pointers to the names to use IE:
0=Gold
1=DarkBlue
2=DarkRed
3=Purple....

and so on, allowing you to specify only the ones you want on the menu.

problem is what happens if that list is not there?

also, getting it to display the colour on the menu isn't easy. menu needs a BGR(RGB in reverse order) and the colours are in the unique YR method of HSB. meaning, easiest thing for PD to do is make another list to display the costom colour.

or, something else we been working on, finding the HSB2RGB conversion algorithms, or writing our own onto the end of the list.


another reason why optional is because theres no easy way to add more unless you simply hard coding more into it, in which case it would only be a couple more, and you'd probably still have the colour on the menu problem not matching the color in the list if you wanted to change it.


RE: Patching extra functionality into &lt;gamemd.exe&gt; - DCoder - 08.03.2005

PaD Wrote:Black of course, any more else?

Black MP color results in invisible EVA text (status, such as Power output, is displayed against black background).


- Marshall - 08.03.2005

Yeah sorry pd, I'm working at my girlfriend's house since yesterday so haven't been at my computer.
I'll try to send you the new patcher program by tomorow evening.

I'm pretty confident the occasional IE I'm getting is as a result of the new InfDeaths. Then again, I seem to be the only one with a problem. It's intermittent though so maybe others haven't used the new system as heavily or regularly as me. I'll send you any further except.txt I get in future (after thorough testing to make sure it's nothing else of course).


- pd - 08.03.2005

That with the patcher is OK, I can wait, I got the stuff already Tongue
No, really, it's OK.

So, official announcement: new version maybe tomorrow evening.

You are definitely NOT the only one who gets IEs.
OK, many people who had IEs found mistakes made by theirselves, but some things don't seem to have a clear reason, and may be caused by my patch.
I hope that's not the case, but I cannot guarantee it either.

@DCoder:
I like black pretty much.
That with the black text color is... erm... fate Wink


- Guest - 08.03.2005

Why not make black have white eva text?


- Bobingabout - 08.03.2005

the colour of the text is determined by the colour of your side, its impossible to have white text when your remaps are black...

thats the only problem with black, but its still good to give to an AI.


- Renegade - 09.03.2005

Actually, I have black in TD, and I use it frequently. Anyone who has played RA2 more than a few times can play it without EVA-text. Not to forget that stuff like "Low Power" can not only be noticed by EVA-text, but also by sound, your RADAR being gone, your energy-bar turning red, active-animations stopping, etc., etc.

Put black in, drop a line in the readme about the EVA-text. Who still chooses it knew exactly what to expect.


- Blade - 09.03.2005

IMO, black is too buggy and will drag down the apparent quality of the patch, no black unless you can alter the text colour speficically for it.


- Bobingabout - 09.03.2005

like i said, and was with the original plan PD had, create a list, which means its a feature than can only be turned on in a mod...

[NewMenuColors]
1=NeonGreen;Black Wink
2=Red; Nice Brown

just an example.

but the actual original idea was [MenuColors] which would require you to specify all the existing colours on there too. only trouble the other way is that you can't turn off the original 8.

BTW, the original 8 go by position in the colours list, not the name.


also, some kind of way to change the actual colour in the drop down menu... not easy, like i said before since they use 2 different formats.

PD said if WW used the standard HLS instead of their unique HSB it would be a lot easier. But I've written some working formulas for sat and bri, and a big if section containing 6 formulas for hue, he could import that to YR if he really wanted to...

I'l try converting that massive 12 if 6 formula block of code for hue into a formula, well 3 formulas, 1 for each colour(RBG).

but this is how it works, first hue is calculated, resulting in 1 colour being 255, 1 being 0, and the last anywhere from 0 to 255. these are then crunched by Sat first, which increases any number bellow 255 by the percentage represented by sat of the remaining value.

lol, IE, sat is 127(50%), a colour is 155, that leaves 100 remaining, the sat would add 50% of that 100 to 155, IE 155+100*.5=155+50=205.
or a colour of 0 would simply add 127, cos thats half.

Bri would then do the same the other way, IE, lower values higher than 0. IE 255 on the colour and 127 on the bri would result in 127 on the colour, 127 would become 63, and so on.

so if the hue gave RGB 255,127,0 with sat and bri of 127 each, we'd end up with something like 192,127,63, its just the hue thats the hard part. and hard for PD to add unless its a formula instead of a bunch of ifs and a few formulas.

you see, the hue begins with red as 255 where green and blue are 0. first green rises in a stright line until 1/6 of the way through hue, when it hits max, at which point both red and green are 255, and blue is 0. then red drops till 1/3. blue rises till 1/2, green drops till 2/3, red rises till 5/6 and in the last 6th, blue drops again.

I've got a grath of it. top section is hue, middle is sat, and bottomis bri. in the graph for sat and bri i assumed hue was 0, hence red=255, green=0 and blue=0. so a red line represents colour of 255, and cyan a colour of 0. they get calculated in the order HSB, but it doesn't really matter what order the effects of bri and sat are added.


if anyone can think of a formula to get an RGB value out of that map for hue, let me know.


- Guest - 09.03.2005

I've sent PD code for converting 255base HSB to standard HSB


RE: Patching extra functionality into &lt;gamemd.exe&gt; - Chronojam - 09.03.2005

Bobingabout Wrote:i don't know how to patch yet, can barely understand what most of it is doing, but the best part is i can find tags Big Grin

now, these are interesting:

;floats
;ArmorInfantryMult=
;ArmorUnitsMult=
;ArmorAircraftMult=
;ArmorBuildingsMult=
;ArmorDefensesMult=
;CostInfantryMult=
;CostUnitsMult=
;CostAircraftMult=
;CostBuildingsMult=
;CostDefensesMult=
;SpeedInfantryMult=
;SpeedUnitsMult=
;SpeedAircraftMult=
;BuildTimeInfantryMult=
;BuildTimeUnitsMult=
;BuildTimeAircraftMult=
;BuildTimeBuildingsMult=
;BuildTimeDefensesMult=
;IncomeMult=

;Firepower=
;Groundspeed=
;Airspeed=
;Armor=
;Cost=
;BuildTime=

;strings
;VeteranInfantry=
;VeteranUnits=
;VeteranAircraft=
;ParentCountry=

;WallOwner=bool
thats a list, of almost all the tags on the countries that you can specify.

it also looks for prefix and suffix... but i can't read what its actually doing.

most of them are just for confirmation that you can do it, but, WallOwner!! what does that do? ParantCountry!! and firepower, buildtime etc, global to all units and buildings??

something for PD to have a look at...

These are all country modifiers to let a country have different buildspeeds for things, armor for different object classes, etc. Armor=armor multiplier, Cost=cost multiplier, Speed=speed multiplier, buildtime=how slower than normal does it build (or is it the opposite?), incomemult=how much more money do you get than normal from ore, firepower=attack damage bonus to all units, groundspeed=groundspeed bonus, airspeed=airspeed bonus, armor=defense bonus, cost=cost bonus (which is bad in reality?), buildtime=speed modifier; veteranxxx=units produced with one level of veteranship (one chevron) and all associated properties. WallOwner is a yes/no about if a country owns/builds walls, ParentCountry specifies what country's behavior this country should emulate. Yes, the big multipliers are old global modifiers from the RA1 era. Not sure how they would work in conjunction with the others; two possibilities that make sense are the specific ones being overrides, or the two kinds of values combining to form one multiplier for the base value. Let me know if I just made absolutely no sense. I'm sleepy ^^