コード例 #1
0
ファイル: MDLItem.cpp プロジェクト: gthgame/gth
int CMDLMng::LinkMDLItemClass( int idxMDLClass )
{
	int i;
	mdlitemclass_t *mdlItemClass;
	mdlitemclasspart_t *part;
	int flag;

	mdlItemClass = &m_MDLItemClasses[idxMDLClass];
	if( mdlItemClass->loaded )  return true;

	flag = true;
	part = &mdlItemClass->parts[0];
	for( i = 0 ; i < mdlItemClass->numParts ; i++ , part++ )
	{
		if( part->tagName[0] )
		{
			if( !stricmp( part->tagName , "tag_hand" ) )
				part->onlyTag = true;
		}
		part->mdlIdx = LoadMDL( part->mdlName );
		if( part->mdlIdx < 0 )
		{
			flag = false;
			break;
		}
	}

	if( flag )
		CalcItemBoundBox( mdlItemClass );
	mdlItemClass->loaded = flag;

	return flag;
}
コード例 #2
0
ファイル: krlrides.cpp プロジェクト: 1suming/pap2
HRESULT KRLRides::DisplayDataChanged()
{
    int nRetCode = false;
    HRESULT hr = E_FAIL;
    HRESULT hrResult = E_FAIL;
    int nBindCharacter = false;

    if (m_RenderData.HasLoadedMDL())
    {
        hr = m_RenderData.Reset();
        KGLOG_COM_PROCESS_ERROR(hr);
    }

    hr = LoadMDL();
    KGLOG_COM_PROCESS_ERROR(hr);

    hr = LoadEquipModel();
    KGLOG_COM_PROCESS_ERROR(hr);

    hr = LoadDefaultSocket();
    KGLOG_COM_PROCESS_ERROR(hr);

    hr = BindCharacter();
    KGLOG_COM_PROCESS_ERROR(hr);

    nBindCharacter = true;

    nRetCode = InitPlayAnimation();
    KGLOG_PROCESS_ERROR(nRetCode);
    
    hrResult = S_OK;
Exit0:
    if (FAILED(hrResult))
    {
        if (nBindCharacter)
        {
            hr = UnbindCharacter();
            KGLOG_COM_CHECK_ERROR(hr);
			nBindCharacter = false;
        }

        hr = m_RenderData.Reset();
        KGLOG_COM_CHECK_ERROR(hr);
    }
    return hrResult;
}