So rather then define the animation using the mesh index number I want to use a mesh handle. The reason is the mesh index changes.
compiles fines but I get a CTD when I run it
h:
cpp:
compiles fines but I get a CTD when I run it
h:
Code:
MESHHANDLE meshhg_Vessel, meshhg_VC, meshhg_sm[1];
UINT meshi_Vessel, meshi_sm[1];
cpp:
Code:
ORION2NEW::ORION2NEW (OBJHANDLE hObj, int fmodel)
: VESSEL2 (hObj, fmodel)
{
mode = 0;
fairing = 0;
ofs = _V(0, 0, 0);
string[0] = 0;
tex_rcs = oapiRegisterExhaustTexture("exhaust_crcs");
tex_main = oapiRegisterExhaustTexture("exhaust_crcs");
cmMesh = oapiLoadMeshGlobal("Orion-MPCV\\orion-CM");
meshi_sm[0] = AddMesh(meshhg_sm[1] = oapiLoadMeshGlobal("Orion-MPCV\\orion606-SM"));
...
Code:
void ORION2NEW::DefineAnimations(void)
{
anim_HGA = CreateAnimation(0.0);
static UINT HGAGrp[4] = { GRP_HGA1, GRP_HGA2, GRP_HGA3, GRP_HGA4 };
static MGROUP_ROTATE HGA(meshi_sm[0], HGAGrp, 4, _V(0, 1.948546, .2253037), _V(1, 0, 0), (float)(90 * RAD));
AddAnimationComponent(anim_HGA, 0, 1, &HGA);
Code:
case 10:
AddMesh(coverMesh, &ofs);
AddMesh(meshhg_sm[1]);
// AddMesh(solar0Mesh, &ofs);
AddMesh(lasMesh, &ofs);
if (fairing) {
AddMesh(fair1Mesh, &ofs);
AddMesh(fair2Mesh, &ofs);
AddMesh(fair3Mesh, &ofs);
}
break;