QUOTE (Bittah Commander @ Jul 28 2009, 07:16 PM)

In my opinion the most practical way to do this would be to have everything work just the way it works already for as far as possible... So if a third house would be added, its sidebar should use the files in sidec03.mix (SIDEC%02d.MIX) and e01sc03.mix (E%02dSC%02d.MIX). Possibly also add a flag which allows a house to use the files within a specific mix file so multiple houses will be able to use the same files for their sidebar.
Same story for the speech files; the third house should use the files in speech03.mix (SPEECH%02d.MIX) and e01vox03.mix (E%02dVOX%02d.MIX), again possibly with a flag added to allow a house to use the speech files from a specific mix file in case multiple houses use the same AI voice.
It would also be beneficial for many mods if BaseUnit= could be specified under every house, rather than only under [General] (BaseUnit= under the house should overwrite the base unit sepcified under [General], but the one under [General] should be used if no base base unit is specified under the house). Naturally the AI should also be able to build from all CYs the MCVs deploy into.
Yea, see below Johan, i have expanded on your ideas more

QUOTE (Team Black @ Jul 28 2009, 10:16 PM)

this is a good idea. Personally I think side-specific MCVs would be better to do first, especially if we enable 3+ factions - it would benefit a lot of existing mods
Yea, this has always been a plan to add ever since the start

QUOTE (Aro @ Jul 29 2009, 02:04 AM)

A simple tag for the .ini files to specify a certain unit to a certain subfaction would be really sweet (Like in RA2), this is something I really wanted to do in TI, but without the workaround nonsense.
Special units? I dont quite know how this works, but if its simple, i can copy it form YR.
QUOTE (^Rampastein @ Jul 29 2009, 10:17 AM)

If possible, you could make it so that we shouldn't have to add "Civilian" to every unit's/building's "Owner=" key which the third side owns. (example: Owner=<ThirdSide>,Civilian)
More difficulty levels could also be useful (making FineDiffControl work?)
Btw, it's nice to see some progress for this project.. and it's nice to see it here on TiberiumWeb, might make this forum more popular.
I dont quite know why the game needs you to put Civilian onto new types that have the new house as its owner, but its possible i might be fixed with the BaseUnit and BuildConst hacks.
Adding more difficulty levels is a tad harder, but i can look into it.
QUOTE (Lin Kuei Ominae @ Jul 29 2009, 02:50 PM)

Bittah's Idea to expand the Houses and move some keys into this section sounds really good.
CODE
[Houses]
0=GDI
1=Nod
2=Neutral
3=Special
[GDI]
Name=GDI
Suffix=GDI
Prefix=G
Color=Gold
Multiplay=yes
Side=GDI
SmartAI=yes
BaseUnit=GDIMCV;moved from [General] in this section
BuildConst=GDIConYard;moved from [AI] in this section
By moving BaseUnit to the House would be a good start to make individual sides work. Then GDI and Nod could be really independant from each other.
And of course the biggest problem BuildConst under the AI section should be fixed to allow more entries. The alternative would be to move this into the sides section too as shown in the example code. This would also fix ambiguities when a conyard has more than one owner. Then the AI really knows to which side which conyard belongs.
I'm not sure if it's necessary to allow adding more sides too, as the AI should work already with more Houses, because in AI.ini you specify the House to which a certain TeamType belongs and not the Side. Though it could be useful to allow adding there some more neutral sides, which you can give different colors and this way allows to place on Multiplayer maps different colored units.
In RA2 it seems as it was necessary to give each completely independant House a different Side, why YuriCountry got it's own side and wasn't simply put in the GDI (Allies) or Nod (Soviet) lists.
CODE
[Sides]
GDI=GDI,Havoc;allow to add more Houses as subfactions which all belong to the same Side
Nod=Nod,BlackHand;allow to add more Houses as subfactions which all belong to the same Side
3rdSide=Scrin;allow to add more independant sides
Civilian=Neutral
Mutant=Special
With the support for more independant sides you should move imo the complete AI section into the Houses. This would really fix all ambiguities and would never lead into a GDI side building a Nod Refinery and vice versa.
CODE
[GDI]
Name=GDI
Suffix=GDI
Prefix=G
Color=Gold
Multiplay=yes
Side=GDI
SmartAI=yes
BaseUnit=GDIMCV;moved from [General] in this section
BuildConst=GDIConYard;moved from [AI] in this section
BuildPower=GAPOWR
BuildRefinery=GAPROC
BuildBarracks=GAPILE
BuildTech=GATECH
BuildWeapons=GAWEAP,DGWEAP
BuildDefense=GACTWR;this could be a problem as it's also AA
BuildPDefense=GAADVTWR
BuildAA=GACTWR;this could be a problem as it's also AG
BuildHelipad=GAHPAD
BuildRadar=GARADR
ConcreteWalls=GAWALL
NSGates=GAGATE_B
EWGates=GAGATE_A
UnloadingHarvester=HORV;just a graphical problem, but it would be fixed this way too
Wow, its nice to have your input LKO!

I agree with that you posted, it sounds good, whole point of this topic.
The only one i could change is
UnloadingHarvester, what i can move to UnitType specific.

------------------------------------------------------------------------------------------------------------------------
(I wrote this before LKO's post...)Also i have been thinking about some new things too, how about these?
HouseType.SidebarArtIndex=[byte int] This would allow you to specifiy specific sidebar art for a house, good for subfactions i suppose.
Example, a number of 2 would make the house use SideC02.mix, SideNC02.mix and so on.
HouseType.SpeechSide=[byte int] With this you can force a house to use a specific mix file for the speech, instead of adding a new one, again good for subfactions.
Example, a number of 1 would make the house use Speech01.mix
HouseType.LoadingScreenArtPrefix=[4 char str]
Specify a specific prefix for the loading screen art, instead of just LOAD###A/B.PCX, you can specificy a string to replace the prefix LOAD.
Example, putting EMPR on this key would result in EMPR###A/B.PCX.
HouseType.LoadingScreenTextColour=[Colour Scheme, 128 char str] Explains itself...
Example, NeonPink would make the loading screen text show in NeonPink.
HouseType.LoadingScreenProgressSound=[VoxType, 8 char str] Allows you to specify the sound of the progress text drawing on the loading screen.
Example, BOOB would use the VoxType BOOB from the sound list.
HouseType.ShowLoadingScreenTextColour=[boolean] Explains itself too...
Example, a value of false would turn of the text drawing and the sound that plays along side it, for use with static loading screens.
HouseType.Icon=[4 char str] This key would let you specify the houses icon, the icon that is used on the online and network dialogs, aswell as possiblity a option to show the icon on the skirmish dialog too. The code would add .PCX to this string.
Example, 3RD.PCX.
HouseType.BaseUnit=[UnitType, 8 char str] Explains itself, specifys the main base unit, or MCV for this house.
Example, BASEUNIT, would use BASEUNIT from the VehicleTypes list.
Of course, things like
LoadingScreenArtPrefix,
SidebarArtIndex and
SpeechSide etc,
would all defualt to how the game logic normaly works...
These are just a few for now, Think these are any good?
This post has been edited by CCHyper: Jul 29 2009, 03:27 PM