Put (in the phone's defprops), mesh=lodmesh'deusexdeco.phone'
This will make it use the original phone mesh, no matter whether you're using the HDTP version of deusex.u or the original version.
You can then reassign the texture as you're currently doing.
The second option is to do the above, but also: open the editor and in the textures browser load up HDTPanim.utx: this contains the animations for the phone. If you want to reskin the HDTP phone and keep a similar animated scheme, you'll have to come up with a similar number of textures in an animated series.
Either way, export one of these textures: this is how the new phone model is UV mapped.
Make a new version of your custom phone texture to match the HDTP phone's UV map.
Now, in your custom phone class, put
Code: Select all
function prebeginplay()
{
local mesh HDTPmesh;
HDTPmesh = LODMesh(dynamicloadObject("HDTPDecos.HDTPPhone",class'mesh')); //yes, uses a string to find a mesh
if(HDTPmesh != none)
{
mesh = HDTPmesh;
default.mesh = HDTPmesh; //just in case
skin = texture'MorpheusTextures.Skins.MorphHDTPphonetex1';
}
super.prebeginplay();
}
This thus works whether the user has HDTP installed or not, and saves you making two packages.