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

Transforming Tooltips: Difference between revisions

From ModEnc
Jump to navigation Jump to search
Exporting the naming to separate article, needs styling love
 
m Replacing Template:TTL with Template:F.
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Cleanup}}
==Introduction==
If an InfantryType is inside a VehicleType with {{f|Gunner|yes|link}} set, then the name of the VehicleType will change depending on several rules.


If an InfantryType is inside a VehicleType with 'Gunner=yes' set, then the name of the VehicleType will change depending on several rules. Given that there is only one VehicleType in the game with 'Gunner=yes' set, we will assume that we are working with the VehicleType known as the "IFV".
Given that there is only one VehicleType in the game with {{f|Gunner|yes|link}} 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 'UIName=' of your VehicleType.


If your VehicleType is not called "IFV", then substitute the string "IFV" in the following examples with the {{f|UIName|link}} of your VehicleType.


IFV with no passenger is called "IFV"


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


IFV whose passenger has 'UseOwnName=true' set is called "<passenger> IFV" (where <passenger> is the 'UIName=' of the passenger).
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 {{f|UseOwnName|true|link}} set is called "<passenger> IFV" (where <passenger> is the {{f|UIName|link}} of the passenger).


If the passenger has 'UseOwnName=false' set (default) then the following rules apply:
If the passenger has {{f|UseOwnName|false|link}} set (which is the default value) then the following rules apply:
*A) If the passenger's IFVMode weapon turret is turret index 0, 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, 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, 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 {{f|UIName|link}} of the passenger).
*D) If the passenger's IFVMode weapon turret is turret index 3 (or higher), then the IFV will be called "<passenger> IFV" (where <passenger> is the '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 {{f|UseOwnName|link}} doesn't exist, one additional rule applies - if the passenger has a {{f|Primary|link}} weapon whose warhead has {{f|Bullets|yes|link}} set, it will be called "Machinegun IFV" regardless of the turret index.


Note: Higher than 3 has not actually been confirmed. If someone tests this then please ammend this page.
==Inconsistencies in Yuri's Revenge==


In Yuri's Revenge, there are some inconsistencies with the use of {{f|UseOwnName|link}}:
* 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 {{f|UseOwnName|true|link}} on the Flak Trooper.


* IFVMode 4 (machine gun B, turret 1) is used by the SEAL, Tanya, Boris, and is called "<passenger> IFV"


Inconsistencies in Yuri's Revenge:
* 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 {{f|UseOwnName|true|link}} set, which causes this behaviour.


In Yuri's Revenge, there are some inconsistencies with the use of 'UseOwnName='
*IFVMode 2 (machine gun A, turret 1) is used by GI, Conscript and Spy. "Machine Gun IFV"
*IFVMode 4 (machine gun B, turret 1) is used by SEAL, Tanya, Boris. "<passenger> IFV"
*IFVMode 4 (machine gun B, turret 1) is used by Chrono Commando, Psi Commando. "Machine Gun IFV"


Chrono Commando and Psi Commando do not have 'UseOwnName=true' set. I believe they should.
==VehicleTypes as IFV passengers==
 
*IFVMode 3 (flak weapon, turret 1) is used by Flak Trooper. "Machine Gun IFV"
I believe that the Flak Trooper should also have 'UseOwnName=true' set.
 
Both of the above inconsistencies are dealt with in the YR Unofficial 1.002 Mini-Patch.
 
 
 
 
VehicleTypes as IFV passengers:


The IFV naming system does not work with VehicleTypes.
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".
Whilst VehicleTypes can transform the IFV's turret and weapon, the IFV's tooltip will remain as "Rocket IFV".


Before you waste your time, I'll tell you now that you can't solve the problem by rearranging turrets or modifying the string table (leastways, I have tried for several hours without success).
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.
 


Some people have asked what the string table entries are for the tooltips. Since it's kind of related to this I'll tell you:
==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:Machinegun="Machine Gun"  (as in "Machine Gun IFV")


tip:repair="Repair"  (as in "Repair IFV")
* Tip:Repair="Repair"  (as in "Repair IFV")


tip:rocket="Rocket"  (as in "Rocket IFV")
* Tip:Rocket="Rocket"  (as in "Rocket IFV")


name:fv="IFV"   (appended to all tooltips - note: this may be a hardcoded reference, or it may be a reference to the IFVs UIName= entry, I haven't tested it.)
* The "IFV" suffix in all cases is the IFV's {{f|UIName|link}} entry.


* All other tooltips are built using the units' {{f|UIName|link}} entry.


All other tooltips are built using the units' UIName= entry.
----


{{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]]

Latest revision as of 08:44, 27 November 2009

Introduction

If an InfantryType is inside a VehicleType with Gunner=yes set, then the name of the VehicleType will change depending on several rules.

Given that there is only one VehicleType in the game with Gunner=yes 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 UIName 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 UseOwnName=true set is called "<passenger> IFV" (where <passenger> is the UIName of the passenger).

If the passenger has UseOwnName=false 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 UIName 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 UseOwnName doesn't exist, one additional rule applies - if the passenger has a Primary weapon whose warhead has Bullets=yes 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 UseOwnName:

  • 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 UseOwnName=true 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 UseOwnName=true 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 UIName entry.
  • All other tooltips are built using the units' UIName entry.

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