ModEnc is currently in Maintenance Mode: Changes could occur at any given moment, without advance warning.

Difference between revisions of "Transforming Tooltips"

From ModEnc
Jump to: navigation, search
(Cleaning up as per the Styleguide. Feel free to fix if I've messed up.)
(cleaning up is great, adding some info, removing the "needs transcribing" bit)
Line 9: Line 9:
 
==Nomenclature==
 
==Nomenclature==
 
An IFV with no passenger is just called "IFV".
 
An IFV with no passenger is just called "IFV".
 +
 +
An IFV with a passenger which is not an [[InfantryType]] (meaning, it is a VehicleType, since no other object type can technically be a passenger) will be called "Rocket IFV".
  
 
An IFV whose passenger has {{TTL|UseOwnName|true}} set is called "<passenger> IFV" (where <passenger> is the {{TTL|UIName}} of the passenger).
 
An IFV whose passenger has {{TTL|UseOwnName|true}} set is called "<passenger> IFV" (where <passenger> is the {{TTL|UIName}} of the passenger).
  
 
If the passenger has {{TTL|UseOwnName|false}} set (which is the default value) then the following rules apply:
 
If the passenger has {{TTL|UseOwnName|false}} set (which is the default value) then the following rules apply:
* A) If the passenger's IFVMode weapon turret is turret index 0 (e.g. fvtur.vxl), then the IFV will be called "Rocket IFV"
+
* A) If the passenger's IFVMode weapon turret is turret index 1 (e.g. fvtur1.vxl), then the IFV will be called "Machine Gun IFV".
* B) If the passenger's IFVMode weapon turret is turret index 1 (e.g. fvtur1.vxl), then the IFV will be called "Machine Gun IFV"
+
* B) If the passenger's IFVMode weapon turret is turret index 2 (e.g. fvtur2.vxl), then the IFV will be called "Repair IFV".
* C) If the passenger's IFVMode weapon turret is turret index 2 (e.g. fvtur2.vxl), then the IFV will be called "Repair IFV"
+
* C) If the passenger's IFVMode weapon turret is turret index 3 (e.g. fvtur3.vxl), then the IFV will be called "<passenger> IFV" (where <passenger> is the {{TTL|UIName}} of the passenger).
* D) If the passenger's IFVMode weapon turret is turret index 3 or higher (e.g. fvtur3.vxl etc.), then the IFV will be called "<passenger> IFV" (where <passenger> is the {{TTL|UIName}} of the passenger).
+
* D) In all other cases (index 0 and index > 3) the IFV will be called "Rocket IFV".
 
+
* E) In {{ra2}}, where {{TTL|UseOwnName}} doesn't exist, one additional rule applies - if the passenger has a {{TTL|Primary}} weapon whose warhead has {{TTL|Bullets|yes}} set, it will be called "Machinegun IFV" regardless of the turret index.
 
 
----
 
 
 
{{NeedTesting}}
 
Higher than 3 has not actually been confirmed. If someone tests this then please amend this page.
 
 
 
----
 
 
 
  
 
==Inconsistencies in Yuri's Revenge==
 
==Inconsistencies in Yuri's Revenge==
Line 55: Line 49:
 
* Tip:Rocket="Rocket"  (as in "Rocket IFV")
 
* Tip:Rocket="Rocket"  (as in "Rocket IFV")
  
* Name:Fv="IFV"   (this is appended to all tooltips)
+
* The "IFV" suffix in all cases is the IFV's {{TTL|UIName}} entry.
  
 
* All other tooltips are built using the units' {{TTL|UIName}} entry.
 
* All other tooltips are built using the units' {{TTL|UIName}} entry.
 
----
 
{{NeedTesting}}
 
The "IFV" suffix may be a hardcoded reference, or it may be a reference to the IFVs {{TTL|UIName}} entry, this needs to be tested.
 
  
 
----
 
----
  
{{SourceCode|http://dc.strategy-x.com/src2/UnitClass/GetUIName.cpp|tr=yes}}
+
{{SourceCode|http://dc.strategy-x.com/src2/UnitClass/GetUIName.cpp}}
  
 
[[Category:General Editing Information]]
 
[[Category:General Editing Information]]

Revision as of 09:00, 28 July 2008

Introduction

If an InfantryType is inside a VehicleType with Template:TTL set, then the name of the VehicleType will change depending on several rules.

Given that there is only one VehicleType in the game with Template:TTL set, we will assume that we are working with the VehicleType known as the "IFV".

If your VehicleType is not called "IFV", then substitute the string "IFV" in the following examples with the Template:TTL of your VehicleType.


Nomenclature

An IFV with no passenger is just called "IFV".

An IFV with a passenger which is not an InfantryType (meaning, it is a VehicleType, since no other object type can technically be a passenger) will be called "Rocket IFV".

An IFV whose passenger has Template:TTL set is called "<passenger> IFV" (where <passenger> is the Template:TTL of the passenger).

If the passenger has Template:TTL set (which is the default value) then the following rules apply:

  • A) If the passenger's IFVMode weapon turret is turret index 1 (e.g. fvtur1.vxl), then the IFV will be called "Machine Gun IFV".
  • B) If the passenger's IFVMode weapon turret is turret index 2 (e.g. fvtur2.vxl), then the IFV will be called "Repair IFV".
  • C) If the passenger's IFVMode weapon turret is turret index 3 (e.g. fvtur3.vxl), then the IFV will be called "<passenger> IFV" (where <passenger> is the Template:TTL of the passenger).
  • D) In all other cases (index 0 and index > 3) the IFV will be called "Rocket IFV".
  • E) In Red Alert 2, where Template:TTL doesn't exist, one additional rule applies - if the passenger has a Template:TTL weapon whose warhead has Template:TTL set, it will be called "Machinegun IFV" regardless of the turret index.

Inconsistencies in Yuri's Revenge

In Yuri's Revenge, there are some inconsistencies with the use of Template:TTL:

  • IFVMode 2 (machine gun A, turret 1) is used by the GI, Conscript and Spy, and is called "Machine Gun IFV"
  • IFVMode 3 (flak weapon, turret 1) is used by the Flak Trooper. However, this results in "Machine Gun IFV", due to a lack of Template:TTL on the Flak Trooper.
  • IFVMode 4 (machine gun B, turret 1) is used by the SEAL, Tanya, Boris, and is called "<passenger> IFV"
  • IFVMode 4 (machine gun B, turret 1) is also used by Chrono Commando and Psi Commando, but for these units it is called "Machine Gun IFV". The Chrono Commando and Psi Commando do not have Template:TTL set, which causes this behaviour.


VehicleTypes as IFV passengers

The IFV naming system does not work with VehicleTypes. Whilst VehicleTypes can transform the IFV's turret and weapon, the IFV's tooltip will remain as "Rocket IFV".

Before you waste your time, you cannot solve the problem by rearranging turrets or modifying the string table. This has already been attempted without success.

Tooltip String Table Entries

People have asked what the string table entries are for the tooltips. These are:

  • Tip:Machinegun="Machine Gun" (as in "Machine Gun IFV")
  • Tip:Repair="Repair" (as in "Repair IFV")
  • Tip:Rocket="Rocket" (as in "Rocket IFV")
  • The "IFV" suffix in all cases is the IFV's Template:TTL entry.
  • All other tooltips are built using the units' Template:TTL entry.

Relevant pseudocode is available at http://dc.strategy-x.com/src2/UnitClass/GetUIName.cpp.