|
|
  |
#0001 -- ThirdSide And More... |
|
|
|
Jul 28 2009, 05:33 PM
|
Stealth Tank

Group: Members
Posts: 1,025
Joined: 31-October 06
Member No.: 208
Alliance: GDI
Favorite game: Tiberian Sun

|
HyperPatch Development Discussion #0001Alright, first discussion topic of the sub forum! Topic Theme: Adding full support for more than two houses into the game engine.Ok then, now how should i go about coding this up? Remember this includes everything that is house related, Loading Screens, Sidebars, EVA Speech and so on. There are many ways to do so, but i want to hear what works best for the modders themselfs! Remember to think simple, while try to expanded as many hardcoded problems as we can. I can add new INI keys to HouseTypes, so if you wish, you can suggest a full list of keys to be definable on the HouseType in the INI. Have fun and remember, its just a game at the end of the day, dont take it too seriously! Basically anything goes here, as long as your polite and respectful to peoples views and to myself, i wont take action towards you like deleting your posts or even getting you banned from the Tiberium Web forums itself if it has to come to that. I want to lay them rules down in the first post, and i hope people stick to this.-Hyper
This post has been edited by CCHyper: Aug 3 2009, 12:12 AM
--------------------
|
|
: |

|
|
|
Jul 28 2009, 05:42 PM
|

Cyborg Commando

Group: Members
Posts: 1,695
Joined: 22-November 06
From: Birmingham, UK
Member No.: 314
Alliance: Nod
Favorite game: Tiberian Sun

|
I'm not entirely sure on what to say as I'm not a huge fan of mods with any more than two sides (excluding sub factions). In any case. Sub factions would be a great addition, allowing additional sidebars, EVA voices and Loading screens for subfactions would be cool. Something that I think would be pretty sweet is allowing certain things like more side specific music tracks, sounds and whatnot, like in example: Nod would hear completely different sound effects on the field to what GDI hears (Referring to Global sounds like explosions, death sounds etc.). I'm a bit blank for ideas today, I'll post more and better ideas tomorrow when I'm feeling more... awake.
--------------------
Aro - Leader of Twisted Insurrection and Evolution.Tiberian Sun: UMPTiberian Sun: Modding ToolsTiberian Sun: Mapping Tools"Aro is OP." - TiberianFuture "Aro for Dictator!" - Droke "Aro for President!" - CL4ymOr3 "You're Aro, you always win." - daTS "He's referred to as The Aro because he really is that f*cking awesome!" - Fenring "Only members of the A.R.O. Society are allowed to use :WAT and related terms (TAW:, :BIGV, etc.)." - Crimsonum "To Aro, founder and leader of TI, the best public relations and mod manager, great friend, modder and mapper." - Lin Kuei Ominae
|
|
: |

|
|
|
Jul 28 2009, 05:48 PM
|
Stealth Tank

Group: Members
Posts: 1,025
Joined: 31-October 06
Member No.: 208
Alliance: GDI
Favorite game: Tiberian Sun

|
Well, allowing sidebars for a infinite amount of houses is easy, EVA sounds is a little more complicated, but i can do it.
Sub Factions, now how would this work? Because if i remember correctly, is there a problem with the [Sides] section not acknowledging allied sides?
This post has been edited by CCHyper: Jul 28 2009, 05:49 PM
--------------------
|
|
: |

|
|
|
Jul 28 2009, 06:52 PM
|
Stealth Tank

Group: Members
Posts: 1,025
Joined: 31-October 06
Member No.: 208
Alliance: GDI
Favorite game: Tiberian Sun

|
Python, its not a mod  HyperPatch is unofficial patch for Tiberian Sun, adding new logic's and fixing old bugs, hopefully  I will add that info into a topic this week so people know.
--------------------
|
|
: |

|
|
|
Jul 29 2009, 01:04 AM
|

Cyborg Commando

Group: Members
Posts: 1,695
Joined: 22-November 06
From: Birmingham, UK
Member No.: 314
Alliance: Nod
Favorite game: Tiberian Sun

|
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. Edit: Definitely agree with Team Black, though I know you've been bugged to hell about this already by Morpher, so I wont add to that.
This post has been edited by Aro: Jul 29 2009, 01:05 AM
--------------------
Aro - Leader of Twisted Insurrection and Evolution.Tiberian Sun: UMPTiberian Sun: Modding ToolsTiberian Sun: Mapping Tools"Aro is OP." - TiberianFuture "Aro for Dictator!" - Droke "Aro for President!" - CL4ymOr3 "You're Aro, you always win." - daTS "He's referred to as The Aro because he really is that f*cking awesome!" - Fenring "Only members of the A.R.O. Society are allowed to use :WAT and related terms (TAW:, :BIGV, etc.)." - Crimsonum "To Aro, founder and leader of TI, the best public relations and mod manager, great friend, modder and mapper." - Lin Kuei Ominae
|
|
: |

|
|
|
Jul 29 2009, 01:50 PM
|

Stealth Tank

Group: Members
Posts: 1,065
Joined: 14-November 06
From: Germany
Member No.: 281
Alliance: CABAL
Favorite game: Tiberian Sun

|
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
This post has been edited by Lin Kuei Ominae: Jul 29 2009, 02:01 PM
--------------------
|
|
: |

|
|
|
Jul 29 2009, 02:20 PM
|
Stealth Tank

Group: Members
Posts: 1,025
Joined: 31-October 06
Member No.: 208
Alliance: GDI
Favorite game: Tiberian Sun

|
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
--------------------
|
|
: |

|
|
|
Jul 29 2009, 03:41 PM
|

Tick Tank

Group: Members
Posts: 690
Joined: 4-June 07
From: Finland
Member No.: 957
Alliance: Nod
Favorite game: Tiberian Sun

|
QUOTE (CCHyper @ Jul 29 2009, 05:20 PM)  Think these are any good? I'm not a member of any mod (atm), but I once tried to create a third side and that sounds to be a great system for making new sides (and especially for new sub-factions). Moving the [AI] section also sounds great. How about adding these two keys there too? (this way we can have more "personalized" AI, like some subfactions would be really aggressive (high value in ComputerBaseDefenseResponse) and some would pretty much just build defenses). QUOTE MaximumBaseDefenseValue=A ComputerBaseDefenseResponse=X ; how much does the computer overrespond to attacks on its base? Also, how are you going to add these tags for the new sides (or, are these tags even used at all in base TS? Too lazy to check the exe now  )? QUOTE NodBaseDefenseCoefficient=Y.Y GDIBaseDefenseCoefficient=Z.Z Maybe add also them to the [<Faction/Side>] section, with some"BaseDefenseCoefficient" name for the key.
This post has been edited by ^Rampastein: Jul 29 2009, 03:44 PM
--------------------
|
|
: |

|
|
|
Jul 29 2009, 07:12 PM
|
Stealth Tank

Group: Members
Posts: 1,025
Joined: 31-October 06
Member No.: 208
Alliance: GDI
Favorite game: Tiberian Sun

|
QUOTE (^Rampastein @ Jul 29 2009, 04:41 PM)  I'm not a member of any mod (atm), but I once tried to create a third side and that sounds to be a great system for making new sides (and especially for new sub-factions). Moving the [AI] section also sounds great. How about adding these two keys there too? (this way we can have more "personalized" AI, like some subfactions would be really aggressive (high value in ComputerBaseDefenseResponse) and some would pretty much just build defenses). Also, how are you going to add these tags for the new sides (or, are these tags even used at all in base TS? Too lazy to check the exe now  )? Maybe add also them to the [<Faction/Side>] section, with some"BaseDefenseCoefficient" name for the key. I can add code to the game via "hacking" the games code, or hooking as some people like to call it. To do this i have to add space into the executable. I could in theory add any global value to be house specific, so keep giving suggestions!
--------------------
|
|
: |

|
|
|
Jul 29 2009, 07:23 PM
|

Forum Administrator

Group: Administrators
Posts: 1,340
Joined: 1-October 06
From: The Netherlands
Member No.: 5
Alliance: GDI
Favorite game: Tiberian Sun

|
QUOTE (CCHyper @ Jul 29 2009, 04:20 PM)  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. This makes me remember... What's also needed is loading screens (and possibly even different menus) for more resolutions: 960x600 1024x768 1088x612 1152x864 1280x720 1280x768 1280x800 1280x960 1280x1024 1360x768 1600x900 1680x1024 1680x1050 1920x1080 1920x1200 And to elaborate on possibly even different menus, I meant different a different menu for every resolution. Possibly this could so that a resolution uses the menu graphics from its own mix file, unless they're not there, in which case it'll use the menu graphics from a mix file of a lower resolution (meaning that higher resolutions possibly only have a higher resolution background and have the buttons in a different place, but use the same buttons as the lower resolutions). ...Or maybe it's more practical to fix the Mode Toggle logic lol. AllowModeToggle seems to work fine at first, but after a while some people will notice system freezes while playing TS (the system will just completely hang and you'll have to reboot). I used to have this problem myself, and stopped using AllowModeToggle because of it, but I don't know whether I'd still experience the same problem now (since I'm practically using a new system now, aside from 1 hard drive and the case).
--------------------

|
|
: |

|
|
|
Jul 29 2009, 09:04 PM
|
Stealth Tank

Group: Members
Posts: 1,025
Joined: 31-October 06
Member No.: 208
Alliance: GDI
Favorite game: Tiberian Sun

|
Ill add support for 768 only, any higher and the code starts to get very big...
--------------------
|
|
: |

|
|
|
Jul 29 2009, 10:16 PM
|

Stealth Tank

Group: Members
Posts: 1,065
Joined: 14-November 06
From: Germany
Member No.: 281
Alliance: CABAL
Favorite game: Tiberian Sun

|
QUOTE (CCHyper @ Jul 29 2009, 02:20 PM)  HouseType.LoadingScreenTextColour=[Colour Scheme, 128 char str] Explains itself... Example, NeonPink would make the loading screen text show in NeonPink. Yep, that would be good to have. Though i think it would be even more useful to be able to change the different text lines too e.g. HouseType.LoadingScreenTextLine1=Analyzing Combat Zone Topography... HouseType.LoadingScreenTextLine2=Compensating for Ambient Light Values... HouseType.LoadingScreenTextLine3=Compiling Wartime Conventions... HouseType.LoadingScreenTextLine4=Gathering Intel on involved Factions... HouseType.LoadingScreenTextLine5=Creating theories on likely enemy plan... HouseType.LoadingScreenTextLine6=Secondary check of combat zone... HouseType.LoadingScreenTextLine7=Deploying forces to combat zone... HouseType.LoadingScreenTextLine8=Final analysis of outcome... Maybe even allow to specifiy a certain graphic file, so you can have some kind of animated loading screen, e.g. with a progress bar instead of text A key for the position of the text could be also useful, so the loading screen status window isn't fixed to the right side. e.g. HouseType.LoadingScreenTextXY=545,245 QUOTE (CCHyper @ Jul 29 2009, 02:20 PM)  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. a nice gimmick, but i wouldn't spend too much time on this. The other things are more important. The other new keys sound really good and if you can implement them go for it.  QUOTE (CCHyper @ Jul 29 2009, 07:12 PM)  I could in theory add any global value to be house specific, so keep giving suggestions! How about moving the Veteran factors from General to the Houses. So Nod could gain more speed when veteran than GDI, but GDI a bit more firepower etc. TeamDelays, AIHateDelays and MultiplayerAICM too. Then we can give the different sides a different difficulty. (wow so many "different"s in one sentence) Pilot,Crew,Technician,Engineer,Disguise and Paratrooper too. So each Side can have different escaping infantry from destroyed buildings/units. And while you move already BaseUnit, you could move RepairBay,HarvesterUnit and PadAircraft too. (though i'm not sure if PadAircraft is necessary as the Nod aircraft works fine even if the original entry says PadAircraft=ORCA,ORCAB without mentioning any Nod aircraft) P.S. Thank you very very much spending so much time in my all time favorite game.
This post has been edited by Lin Kuei Ominae: Jul 29 2009, 10:39 PM
--------------------
|
|
: |

|
|
|
Jul 30 2009, 05:31 AM
|

Flamethrower Infantry

Group: Members
Posts: 132
Joined: 15-January 09
From: New Zealand - Land of slow Broadband
Member No.: 1,264
Alliance: GDI
Favorite game: Tiberian Sun

|
Oh shi- this is all beautiful.
--------------------
QUOTE (jadems) [TS] is a once in a while game. You can go away, but you can never leave.
|
|
: |

|
|
|
Jul 30 2009, 06:23 AM
|

Tick Tank

Group: Members
Posts: 690
Joined: 4-June 07
From: Finland
Member No.: 957
Alliance: Nod
Favorite game: Tiberian Sun

|
QUOTE (Lin Kuei Ominae @ Jul 30 2009, 01:16 AM)  TeamDelays, AIHateDelays and MultiplayerAICM too. Then we can give the different sides a different difficulty. (wow so many "different"s in one sentence) If MultiplayerAICM gets moved I think it'd be useful to move also the global difficulty sections ([Easy], [Normal], [Difficult]), which give much more control for the AI's difficulty than MultiplayerAICM. Or, did the difficulty keys already work with Houses? I have a little "flashback" how I once gave [GDI] Cost = 0.5, but I don't remember if it worked in-game or not (it works in RA1).
This post has been edited by ^Rampastein: Jul 30 2009, 06:24 AM
--------------------
|
|
: |

|
|
|
Jul 30 2009, 01:19 PM
|
Stealth Tank

Group: Members
Posts: 1,025
Joined: 31-October 06
Member No.: 208
Alliance: GDI
Favorite game: Tiberian Sun

|
QUOTE (Lin Kuei Ominae @ Jul 29 2009, 11:16 PM)  I think it would be even more useful to be able to change the different text lines too. e.g.
HouseType.LoadingScreenTextLine1=Analyzing Combat Zone Topography... HouseType.LoadingScreenTextLine2=Compensating for Ambient Light Values... HouseType.LoadingScreenTextLine3=Compiling Wartime Conventions... HouseType.LoadingScreenTextLine4=Gathering Intel on involved Factions... HouseType.LoadingScreenTextLine5=Creating theories on likely enemy plan... HouseType.LoadingScreenTextLine6=Secondary check of combat zone... HouseType.LoadingScreenTextLine7=Deploying forces to combat zone... HouseType.LoadingScreenTextLine8=Final analysis of outcome... This can be done, though i would have to limit the strings to abotu 64 char only, to save hassle on small loading screens. QUOTE (Lin Kuei Ominae @ Jul 29 2009, 11:16 PM)  Maybe even allow to specifiy a certain graphic file, so you can have some kind of animated loading screen, e.g. with a progress bar instead of text. Now this would be hard to do, allowing PCX, SHP and/or VQA support on loading screens would require a lot of code, but ill keep a note of it. A progress bar could be done by usingthe code the online game dialog uses. QUOTE (Lin Kuei Ominae @ Jul 29 2009, 11:16 PM)  A key for the position of the text could be also useful, so the loading screen status window isn't fixed to the right side. e.g.
HouseType.LoadingScreenTextXY=545,245 This is a good idea, ill add this, shoudl be simple too from what i have seen, though something more like HouseType.LoadingScreenText1XY=, HouseType.LoadingScreenText2XY= and so on would be much better. QUOTE (Lin Kuei Ominae @ Jul 29 2009, 11:16 PM)  How about moving the Veteran factors from General to the Houses. So Nod could gain more speed when veteran than GDI, but GDI a bit more firepower etc. Did RA2/YR have something like this? If so does it work well? I might be able to copy the code over  QUOTE (Lin Kuei Ominae @ Jul 29 2009, 11:16 PM)  Pilot,Crew,Technician,Engineer,Disguise and Paratrooper too. So each Side can have different escaping infantry from destroyed buildings/units. I cant believe i missed these! Of course ill add these, so how about this too? HouseType.BuildingType.CrewTypeA=[UnitType or InfantryType, 8 char str]HouseType.BuildingType.CrewTypeB=[UnitType or InfantryType, 8 char str]
Would give you a nice MCV or E2 (random choice) when the building is destroyed  And then if you want to customise a certain building, you would have...
BuildingType.CrewTypeA=[UnitType or InfantryType, 8 char str] BuildingType.CrewTypeB=[UnitType or InfantryType, 8 char str]QUOTE (Lin Kuei Ominae @ Jul 29 2009, 11:16 PM)  And while you move already BaseUnit, you could move RepairBay,HarvesterUnit and PadAircraft too. (though i'm not sure if PadAircraft is necessary as the Nod aircraft works fine even if the original entry says PadAircraft=ORCA,ORCAB without mentioning any Nod aircraft) I can move these too, no problem! Note though, PadAircraft= is ONLY used when a BuildingType what acts as a helipad has HoverPad=true on its section, and then still, it will ONLY take the first value from PadAircraft= and place this AircraftType on the helipad once it is constructed. QUOTE (Orac @ Jul 30 2009, 06:31 AM)  Oh shi- this is all beautiful. Orly? QUOTE (^Rampastein @ Jul 30 2009, 07:23 AM)  If MultiplayerAICM gets moved I think it'd be useful to move also the global difficulty sections ([Easy], [Normal], [Difficult]), which give much more control for the AI's difficulty than MultiplayerAICM. This is indeed a idea, but i dont want to go that far into the AI yet, is amessy web  QUOTE (^Rampastein @ Jul 30 2009, 07:23 AM)  Or, did the difficulty keys already work with Houses? I have a little "flashback" how I once gave [GDI] Cost = 0.5, but I don't remember if it worked in-game or not (it works in RA1). Do you think you could test these for me? That i would know if i have to work on these... QUOTE (Bittah Commander @ Jul 30 2009, 11:21 AM)  In fact I actually think it might be even more beneficial if PadAircraft could be assigned to the building even; that way 1 house could have multiple helipads that all come with a different aircraft. It'd also be nice if modders would be able to make certain aircraft only able to land on certain helipads... I have plans for this on Building Types, BuildingType.PadAircraftA=[AircraftType, 8 char str] and BuildingType.PadAircraftB=[AircraftType, 8 char str]. And doesnt Dock= control what a TechnoType can land/dock with? QUOTE (Bittah Commander @ Jul 30 2009, 11:21 AM)  Making aircraft able to take off and land not vertically would also be nice, but I'm guessing that'd require you to make a new locomotor. I remember VK working on something like this in NPatch, it dont require a new locomotor, but its a lot of work... QUOTE (Bittah Commander @ Jul 30 2009, 11:21 AM)  Anyway, about the menu/loading screen resolutions; how about adding support for 1 wide-screen resolution as well (I'd suggest 1280x800)? Ill think about it...
--------------------
|
|
: |

|
|
|
Jul 30 2009, 03:06 PM
|

Stealth Tank

Group: Members
Posts: 1,065
Joined: 14-November 06
From: Germany
Member No.: 281
Alliance: CABAL
Favorite game: Tiberian Sun

|
QUOTE (CCHyper @ Jul 30 2009, 02:19 PM)  Did RA2/YR have something like this? If so does it work well? I might be able to copy the code over  No, the veteran bonuses are global and the same for all sides too. I think you mixed that up with the country specific bonuses where you can adjust the sides Airspeed, Armor, Cost, GroundSpeed, ROF, BuildTime. This was used to give the same unit different properties on different subfactions. In TS they seem to exist already, as they stand already in rules.ini and game.exe but are unused. It should be tested if these work already. QUOTE (CCHyper @ Jul 30 2009, 02:19 PM)  HouseType.BuildingType.CrewTypeA=[UnitType or InfantryType, 8 char str]HouseType.BuildingType.CrewTypeB=[UnitType or InfantryType, 8 char str]
Would give you a nice MCV or E2 (random choice) when the building is destroyed  And then if you want to customise a certain building, you would have... BuildingType.CrewTypeA=[UnitType or InfantryType, 8 char str]BuildingType.CrewTypeB=[UnitType or InfantryType, 8 char str] If the BuildingType specific ones overwrite the global ones, it would be ok. A key which sets the number of escaping units could be also useful. BuildingType.CrewNumberA=[Byte 0-255]So you can restrict the escaping units to 1 engineer on a conyard. I'm not sure if possible but how about a key which sets the range of health the escaping units have? BuildingType.CrewHealth=[Byte 0-100%]the escaping units would then have a random health from CrewHealth to 100% (e.g. CrewHealth=100 would mean all escaping units have full strength; 0 a random health between dead and full strength) QUOTE (CCHyper @ Jul 30 2009, 02:19 PM)  And doesnt Dock= control what a TechnoType can land/dock with? Unfortunately it only gives some kind of priority list, where the aircraft prefers to use the specified entries when searching automatically for a helipad. But when ordered manualy it can land on other helipads too. E.g. a GDI harv with Dock=GDIRefn could still dock on a Nod refinery. Or the GDI orca can land and reload on Nod helipads too. This should be fixed to be really exclusive, so if the unit doesn't has a certain building in this list it really can't dock with it.
This post has been edited by Lin Kuei Ominae: Jul 30 2009, 03:12 PM
--------------------
|
|
: |

|
|
|
Jul 30 2009, 04:24 PM
|
Stealth Tank

Group: Members
Posts: 1,025
Joined: 31-October 06
Member No.: 208
Alliance: GDI
Favorite game: Tiberian Sun

|
QUOTE (Bittah Commander @ Jul 30 2009, 03:59 PM)  By the way, I've assigned Cost= to a house before (to reduce the cost of everything for testing purposes)... Works flawlessly  Good to know, something less for me to hack! xD QUOTE (Lin Kuei Ominae @ Jul 30 2009, 04:06 PM)  No, the veteran bonuses are global and the same for all sides too. I think you mixed that up with the country specific bonuses where you can adjust the sides Airspeed, Armor, Cost, GroundSpeed, ROF, BuildTime. This was used to give the same unit different properties on different subfactions. In TS they seem to exist already, as they stand already in rules.ini and game.exe but are unused. It should be tested if these work already. I think Johans above post proves these work, but i will take your word, they need extensive testing. QUOTE (Lin Kuei Ominae @ Jul 30 2009, 04:06 PM)  If the BuildingType specific ones overwrite the global ones, it would be ok. It does indeed work as a overwrite. If the key on the BuildingType exists, then it will ignore the HouseType one, and in trn the global one. QUOTE (Lin Kuei Ominae @ Jul 30 2009, 04:06 PM)  A key which sets the number of escaping units could be also useful.
BuildingType.CrewNumberA=[Byte 0-255]
So you can restrict the escaping units to 1 engineer on a conyard. Sure, but i would have to limit this for logic sake, otherwise we might run into spawn problems. So 5 for InfantryTypes, 1 for UnitTypes. QUOTE (Lin Kuei Ominae @ Jul 30 2009, 04:06 PM)  I'm not sure if possible but how about a key which sets the range of health the escaping units have?
BuildingType.CrewHealth=[Byte 0-100%]
the escaping units would then have a random health from CrewHealth to 100% (e.g. CrewHealth=100 would mean all escaping units have full strength; 0 a random health between dead and full strength) This could be possible, but hard. Also why dead? i think between 25 and 100 is good. QUOTE (Lin Kuei Ominae @ Jul 30 2009, 04:06 PM)  Unfortunately it only gives some kind of priority list, where the aircraft prefers to use the specified entries when searching automatically for a helipad. But when ordered manualy it can land on other helipads too.
E.g. a GDI harv with Dock=GDIREFN could still dock on a Nod refinery. Or the GDI orca can land and reload on Nod helipads too.
This should be fixed to be really exclusive, so if the unit doesn't has a certain building in this list it really can't dock with it. Ill look into it, but priority lists... thats new to me, something i know nothing about im affraid.
--------------------
|
|
: |

|
|
|
Jul 30 2009, 04:49 PM
|

Forum Administrator

Group: Administrators
Posts: 1,340
Joined: 1-October 06
From: The Netherlands
Member No.: 5
Alliance: GDI
Favorite game: Tiberian Sun

|
On a side-note, would it be possible to make it so that when a helipad has HoverPad=yes and the aircraft that comes with it has a build limit, the helipad can't be built when the build limit of the aircraft has been reached? Adding a build limit to the helipad as well would be useless, since then the player would just be able to keep building and selling the helipad to get as many of the aircraft that come with it as he wants, regardless of the build limit. Also, I just did a quick test on the house controls; they all work flawlessly  I noticed something else however... Apparently PadAircraft (even though it only uses the first unit specified) needs to have at least 2 aircraft specified, or the game will crash as soon as you click to build the helipad on the sidebar. Attached except.txt just in case Hyper gets curious.
--------------------
|
|
: |

|
|
|
Jul 30 2009, 09:53 PM
|

Stealth Tank

Group: Members
Posts: 1,065
Joined: 14-November 06
From: Germany
Member No.: 281
Alliance: CABAL
Favorite game: Tiberian Sun

|
I'm so glad that my beloved tibweb is more active again. Thanks Hyper, for doing this research here.  One thing we really need when new sides/subfactions work, is a key which works the other way round as prerequisite and forbids to build something, when one object in the specified list is present for this player. BuildingType.NegativePrerequisite=NATMPL in this case, if you have already a temple you can't build the thing where this is set. This would make it possible to forbid Nod to build the MMKII even if it has everything necessary. In this context it might be also useful to add the Ra2 key ForbiddenHouses, so you can make one object completely unbuildable for certain houses. The Ra2 TechnoType key PrerequisiteOverride would be useful too, as we have only a very limited number of the global PrerequisiteGroups like PrerequisitePower and these are the only way to achieve an "OR" conjunction, while Prerequisite itself is an "AND" conjunction. However it would be of course useful to have more of the PrerequisiteGroups too like PrerequisiteGroup1=: PrerequisiteGroup9= ;9 should be enough imo as you don't have so many different types of buildings like powerplants,factories... and then you can assign the group on a unit /building with Prerequisite=GDIFactory, PrereqGroup1Especially when new sides are fully working, would this be useful for e.g. a group of all refineries, all helipads, all shipyards etc
This post has been edited by Lin Kuei Ominae: Jul 30 2009, 10:01 PM
--------------------
|
|
: |

|
|
|
Jul 31 2009, 11:30 AM
|
Stealth Tank

Group: Members
Posts: 1,025
Joined: 31-October 06
Member No.: 208
Alliance: GDI
Favorite game: Tiberian Sun

|
QUOTE (Bittah Commander @ Jul 30 2009, 05:49 PM)  On a side-note, would it be possible to make it so that when a helipad has HoverPad=yes and the aircraft that comes with it has a build limit, the helipad can't be built when the build limit of the aircraft has been reached? Adding a build limit to the helipad as well would be useless, since then the player would just be able to keep building and selling the helipad to get as many of the aircraft that come with it as he wants, regardless of the build limit. So like, the house can only have a certain number of the free AircraftType, say 10, and then when the player builds that helipad after 10, it comes with no free AircraftType? QUOTE (Bittah Commander @ Jul 30 2009, 05:49 PM)  Also, I just did a quick test on the house controls; they all work flawlessly  Thats good news, thanks! QUOTE (Bittah Commander @ Jul 30 2009, 05:49 PM)  I noticed something else however... Apparently PadAircraft (even though it only uses the first unit specified) needs to have at least 2 aircraft specified, or the game will crash as soon as you click to build the helipad on the sidebar. Attached except.txt just in case Hyper gets curious. Well, i never had that problem, and that internal error you get is inside BuildingTypeClass::Raw_Cost(), in the area where it gets the PadAircraft= entrys cost. Could you test this more for me please? QUOTE (Lin Kuei Ominae @ Jul 30 2009, 10:53 PM)  I'm so glad that my beloved tibweb is more active again. Thanks Hyper, for doing this research here.  No problem, i plan on making this forum more active, spread the word, we need input! For the future of HyperPatch! QUOTE (Lin Kuei Ominae @ Jul 30 2009, 10:53 PM)  One thing we really need when new sides/subfactions work, is a key which works the other way round as prerequisite and forbids to build something, when one object in the specified list is present for this player.
BuildingType.NegativePrerequisite=NATMPL
in this case, if you have already a temple you can't build the thing where this is set. This would make it possible to forbid Nod to build the MMKII even if it has everything necessary. I like how people have accepted the new style of keys ^^ Anyways, Prerequisites are a very sticky logic, quite a lot of code. WW changed the code so much between the last true TS patch and the release of Firestorm, of course the PrerequisiteNodFactory etc... But ill keep looking at it. QUOTE (Lin Kuei Ominae @ Jul 30 2009, 10:53 PM)  In this context it might be also useful to add the Ra2 key ForbiddenHouses=, so you can make one object completely unbuildable for certain houses.
The Ra2 TechnoType key PrerequisiteOverride would be useful too, as we have only a very limited number of the global PrerequisiteGroups like PrerequisitePower and these are the only way to achieve an "OR" conjunction, while Prerequisite itself is an "AND" conjunction. However it would be of course useful to have more of the PrerequisiteGroups too like...
PrerequisiteGroup1= to PrerequisiteGroup9= ;9 should be enough imo as you don't have so many different types of buildings like powerplants ,factories. Then you can assign the group on a unit /building with Prerequisite=GDIFactory,PrereqGroup1, Especially when new sides are fully working, would this be useful for e.g. a group of all refineries, all helipads, all shipyards etc Well ForbiddenHouses= might be possible, but again, i really dont know yet how all that works...
This post has been edited by CCHyper: Jul 31 2009, 04:41 PM
--------------------
|
|
: |

|
|
|
Jul 31 2009, 04:43 PM
|
Stealth Tank

Group: Members
Posts: 1,025
Joined: 31-October 06
Member No.: 208
Alliance: GDI
Favorite game: Tiberian Sun

|
QUOTE (Bittah Commander @ Jul 31 2009, 03:31 PM)  What I had in mind was that when the build limit of the aircraft is reached, the helipad that comes with that aircraft can't be built anymore either... But what you said might be even better  Well the idea i suggested is quite easy to do, its just a counter attached to the HouseType instance, once it reaches 10 (number of helipads built with free AircraftType) it would deny the next built helipad of the specified type a free AircraftType.
--------------------
|
|
: |

|
|
|
  |
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
|
|