Уголок tool-программистов
GameDev.ru / Сообщества / Уголок tool-программ / Форум / Экспорт анимации с нуля. (комментарии) (2 стр)

Экспорт анимации с нуля. (комментарии) (2 стр)

Страницы: 1 2
reloПостоялецwww20 янв. 200718:56#15
-=FiliMOON=-
слушай а че у тубя за ошибки:
1>.\Code\Export.cpp(105) : error C2065: 'i' : undeclared identifier
1>.\Code\Export.cpp(111) : error C2228: left of '.Indices' must have class/struct/union
1>.\Code\Export.cpp(111) : error C2228: left of '.v' must have class/struct/union
1>.\Code\Export.cpp(112) : error C2228: left of '.MaterialID' must have class/struct/union
1>.\Code\Export.cpp(114) : error C2228: left of '.Indices' must have class/struct/union
1>.\Code\Export.cpp(114) : error C2228: left of '.t' must have class/struct/union
1>.\Code\Export.cpp(159) : error C2228: left of '.Position' must have class/struct/union
1>.\Code\Export.cpp(159) : error C2228: left of '.Position' must have class/struct/union
1>.\Code\Export.cpp(160) : error C2228: left of '.Normal' must have class/struct/union
1>.\Code\Export.cpp(160) : error C2228: left of '.Normal' must have class/struct/union
1>.\Code\Export.cpp(161) : error C2228: left of '.TexCoord' must have class/struct/union
1>.\Code\Export.cpp(161) : error C2228: left of '.x' must have class/struct/union
1>.\Code\Export.cpp(161) : error C2228: left of '.TexCoord' must have class/struct/union
1>.\Code\Export.cpp(161) : error C2228: left of '.y' must have class/struct/union
1>.\Code\Export.cpp(167) : error C2228: left of '.Indices' must have class/struct/union
1>.\Code\Export.cpp(167) : error C2228: left of '.Indices' must have class/struct/union
1>.\Code\Export.cpp(168) : error C2228: left of '.MaterialID' must have class/struct/union
1>.\Code\Export.cpp(187) : error C2227: left of '->GetSubTexmap' must point to class/struct/union/generic type
1>.\Code\Export.cpp(212) : error C2228: left of '.Position' must have class/struct/union
1>.\Code\Export.cpp(212) : error C2228: left of '.x' must have class/struct/union
1>.\Code\Export.cpp(213) : error C2228: left of '.Normal' must have class/struct/union
1>.\Code\Export.cpp(213) : error C2228: left of '.x' must have class/struct/union
1>.\Code\Export.cpp(214) : error C2228: left of '.TexCoord' must have class/struct/union
1>.\Code\Export.cpp(214) : error C2228: left of '.x' must have class/struct/union
1>.\Code\Export.cpp(219) : error C2228: left of '.Indices' must have class/struct/union
1>.\Code\Export.cpp(220) : error C2228: left of '.MaterialID' must have class/struct/union
Serega2008Постоялецwww21 янв. 200714:42#16
-=FiliMOON=-
Почитал эти посты, как-то странно они там ошибки решают. Один говорит надо что-то качать, другой пишет что надо руками либы изменять и качать нечего не надо. А главный(Neil Hazzard), говорит объяснение этой ошибки, но не дает ответ как исправить.
Надо еще почитать конечно, но если ты вспомнишь как исправлять, то буду премного благодарен.
Serega2008Постоялецwww21 янв. 200715:09#17
Вобщем исправил ошибку с библиотекой заменой одной букввы как сказано в одном из постов.
Получилось следующие:
LINK : error : Internal error during ReadSymbolTable
  ExceptionCode            = C0000005
  ExceptionFlags          = 00000000
  ExceptionAddress        = 004623F2
  NumberParameters        = 00000002
  ExceptionInformation[ 0] = 00000000
  ExceptionInformation[ 1] = 00000008
CONTEXT:
  Eax    = 40009270  Esp    = 0012E6D8
  Ebx    = 00000002  Ebp    = 00E52D36
  Ecx    = 40009270  Esi    = 400096CC
  Edx    = 00000000  Edi    = 400096CC
  Eip    = 004623F2  EFlags = 00010246
  SegCs  = 0000001B  SegDs  = 00000023
  SegSs  = 00000023  SegEs  = 00000023
  SegFs  = 0000003B  SegGs  = 00000000
  Dr0    = 0012E6D8  Dr3    = 00000002
  Dr1    = 00E52D36  Dr6    = 40009270
  Dr2    = 00000000  Dr7    = 00000000
Но после того как я еще раз компилирую проект, все получается и без ошибок.
При запуске 3ds MAX выдает следующую ошибку:
DLL <путь к плагину> failed to initialize
Error code: 193 - %1 не является приложением Win32.

Что делать в данном случае?

reloПостоялецwww21 янв. 200716:15#18
Serega2008
СЛУШАЙ у тебя ведь же 8 макс у меня всё отл откомпилировалось
хочеш пришлю?
-=FileMoon=-Новичокwww21 янв. 200719:45#19
relo
Ну ёпрст, совсем то уж нупские вопросы не задавай. У всех всё работает, я ж не стал бы битые сорцы вылаживать.

ИМХО подоюные баги поди из-за того что ты переконвертил проджект в VS2005.

reloПостоялецwww21 янв. 200719:51#20
-=FiliMOON=-
ну да вполне вероятно, я уже все исправил, все пашет отлично, толко надо было бы тебе выложить лоадер.
-=FileMoon=-Новичокwww21 янв. 200721:42#21
relo
Ога, щас дам. Тока реально код ужасный, т.к. писал когда маленький был=)

P.S. метод морфинга - обычный vertex tweening

2ALL
Ловите лоадер!!!

// H

#ifndef __XF_ANIMATION_H__
#define __XF_ANIMATION_H__

#include "..//..//xfstd.h"
#include "..//..//core/Timer.h"

class CAnimationKey
{
  public:
    typedef struct XF_ANIM_VERTEX
    {
      XFvec3 position;
      XFvec3 normal;
    } XF_ANIM_VERTEX;

    typedef struct XF_ANIM_TEXCOORD
    {
      XFvec2 tex_coord;
    } XF_ANIM_TEXCOORD;

    typedef struct XF_ANIM_FACE
    {
      XFuint Index[3];
    } XF_ANIM_FACE;

    IDirect3DVertexBuffer9*    mmVertexBuffer;
    IDirect3DVertexBuffer9*    mmTexCoordBuffer;
    IDirect3DIndexBuffer9*    mmFaceBuffer;

    XFuint            mmNumOfAllVertexes;
    XFuint            mmNumOfAllTexCoords;
    XFuint            mmNumOfAllFaces;
    XFuint            mmNumOfAllIndexes;
    XFuint            mmMemOfAllVertexes;
    XFuint            mmMemOfAllIndexes;
    XFuint            mmMemOfAllTexCoords;

    XFvector<XF_ANIM_VERTEX>  mmVertexes;
    XFvector<XF_ANIM_TEXCOORD>  mmTexCoords;
    XFvector<XF_ANIM_FACE>    mmFaces;

    XFstring          mmName;
    XFuint            mmTime;

  public:
    CAnimationKey();
};

class CAnimation
{
  public:
    XFstring          mmName;
    XFvector<CAnimationKey*>  mmKeys;
    XFuint            mmLength;

  public:
    CAnimation();
};

class CAnimationSet
{
  public:
    XFvector<CAnimation*>      mmAnimations;
    XFuint              mmCurrentAnimation;
  private:
    IDirect3DVertexDeclaration9*  mmVertexDeclaration;
    XFfloat              mmScalar;
    XFuint              mmTextureID;
    XFmat4*              mmTMatrix;
    XFBoundBox*            mmBBox;
    XFuint              mmKey1;
    XFuint              mmKey2;

  public:
    XFRES              Create(XFstring);
    void              Release(void);
    void              Update(CTimer*, XFstring, XFuint);
    void              Render(void);
    XFBoundBox*            GetBoundBox(void);
    XFmat4*              GetTMatrix(void);

    CAnimationSet();
    ~CAnimationSet();
};

#endif

-=FileMoon=-Новичокwww21 янв. 200721:42#22
// CPP
CAnimationKey::CAnimationKey()
{
  mmVertexBuffer    =  NULL;
  mmFaceBuffer    =  NULL;
  mmTexCoordBuffer  =  NULL;
  mmNumOfAllVertexes  =  0;
  mmNumOfAllFaces    =  0;
  mmNumOfAllIndexes  =  0;
  mmMemOfAllVertexes  =  0;
  mmMemOfAllIndexes  =  0;
  mmTime        =  0;
}

CAnimation::CAnimation()
{
  mmLength = 0;
}

CAnimationSet::CAnimationSet()
{
  mmVertexDeclaration  =  0;
  mmScalar      =  0;
  mmTextureID      =  NULL;
  mmTMatrix      =  NULL;
  mmBBox        =  NULL;
  mmKey1        =  0;
  mmKey2        =  1;
  mmCurrentAnimation  =  0;
}

CAnimationSet::~CAnimationSet()
{
  this->Release();
}

XFRES CAnimationSet::Create(XFstring FileName)
{
  // Декларирование формата вершин
  D3DVERTEXELEMENT9 Declaration[] =
  {
    {0, 0,  D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0},
    {0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL,   0},
    {1, 0,  D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 1},
    {1, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL,   1},
    {2, 0,  D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0},
    D3DDECL_END()
  };

  CEngine::Instance()->D3DDevice9()->CreateVertexDeclaration(Declaration, &mmVertexDeclaration);

  // Создание матрицы трансформации
  mmTMatrix = new XFmat4;
  mmTMatrix->LoadIdentity();

  // Все кейфреймы анимации
  XFvector<CAnimationKey*> Keys;

  XFifstream File(FileName.c_str(), std::ios::in | std::ios::binary);
  if(!File) return XFR_ERROR;

  // Первая Фаза
  // Чтение всех кейфреймов анимационного трека (распределение на Set'ы во второй фазе)
  XFuint AllKeyFrames = 0;
  File.read((XFchar *)&AllKeyFrames, sizeof(XFuint));
  Keys.resize(AllKeyFrames);

  for(XFuint w = 0; w < AllKeyFrames; w++)
  {
    // Новый кейфрейм
    Keys[w] = new CAnimationKey;

    // Чтение времени
    File.read((XFchar *)&Keys[w]->mmTime, sizeof(XFuint));

    // Чтение геометрии
    XFuint    TempUINT;
    XFchar    TempChar;
    XFstring  TempSTLStr;

    File.read((XFchar*)&TempUINT, sizeof(XFuint));

    TempSTLStr = "";
    do{File >> TempChar; TempSTLStr += TempChar;} while(TempChar != 0);
    TempSTLStr.resize(TempSTLStr.size() - 1);

    if(!TempSTLStr.empty())
    {
      CRes2DTexture* ResTexture = new CRes2DTexture;

      //************ Для упорядоченности каталогов ************
      XFstring TempStr3;
      TempStr3.append(FileName, FileName.size() - TempSTLStr.size(), FileName.size());
      FileName.resize(FileName.size() - TempSTLStr.size());
      FileName += TempSTLStr;
      TempSTLStr = FileName;
      //*******************************************************

      mmTextureID = CEngine::Instance()->GetResourceManager()->LoadTexture(TempSTLStr.c_str());
    }
    else
      return XFR_ERROR;

    File.read((XFchar*)&TempUINT, sizeof(XFuint));
    Keys[w]->mmVertexes.resize(TempUINT);
    Keys[w]->mmTexCoords.resize(TempUINT);

    Keys[w]->mmNumOfAllVertexes   = TempUINT;
    Keys[w]->mmNumOfAllTexCoords = TempUINT;

    Keys[w]->mmMemOfAllTexCoords = Keys[w]->mmNumOfAllTexCoords * sizeof(CAnimationKey::XF_ANIM_TEXCOORD);
    Keys[w]->mmMemOfAllVertexes  = Keys[w]->mmNumOfAllVertexes * sizeof(CAnimationKey::XF_ANIM_VERTEX);

    File.read((char *)&TempUINT, sizeof(XFuint));
    Keys[w]->mmFaces.resize(TempUINT);

    for(XFuint i = 0; i < Keys[w]->mmVertexes.size(); i++)
    {
      File.read((char *)&Keys[w]->mmVertexes[i].position.x,  sizeof(XFfloat) * 3);
      File.read((char *)&Keys[w]->mmVertexes[i].normal.x,    sizeof(XFfloat) * 3);
      File.read((char *)&Keys[w]->mmTexCoords[i].tex_coord.x,  sizeof(XFfloat) * 2);
      Keys[w]->mmTexCoords[i].tex_coord.y = 1.0f - Keys[w]->mmTexCoords[i].tex_coord.y;
    }

    for(XFuint i = 0; i < Keys[w]->mmFaces.size(); i++)
    {
      File.read((char *)&Keys[w]->mmFaces[i].Index[0], sizeof(XFuint) * 3);
      File.read((char *)&TempUINT, sizeof(XFuint));
    }

    if(FAILED(CEngine::Instance()->D3DDevice9()->CreateIndexBuffer(sizeof(XFuint) * Keys[w]->mmFaces.size() * 3,
      D3DUSAGE_WRITEONLY, D3DFMT_INDEX32, D3DPOOL_DEFAULT, &Keys[w]->mmFaceBuffer, 0)))
      return XFR_ERROR;

    void* p_linkIB = NULL;

    if(FAILED(Keys[w]->mmFaceBuffer->Lock(0, sizeof(XFuint) * Keys[w]->mmFaces.size() * 3, (void**)&p_linkIB, 0))) return XFR_ERROR;
    memcpy(p_linkIB, &Keys[w]->mmFaces[0], sizeof(XFuint) * Keys[w]->mmFaces.size() * 3);
    Keys[w]->mmFaceBuffer->Unlock();

    if(FAILED(CEngine::Instance()->D3DDevice9()->CreateVertexBuffer(Keys[w]->mmMemOfAllVertexes,
      D3DUSAGE_WRITEONLY, D3DFVF_3D, D3DPOOL_MANAGED, &Keys[w]->mmVertexBuffer, NULL)))
      return XFR_ERROR;

    void* p_linkVB = NULL;

    if(FAILED(Keys[w]->mmVertexBuffer->Lock(0, Keys[w]->mmMemOfAllVertexes, (void**)&p_linkVB, 0))) return XFR_ERROR;
    memcpy(p_linkVB, &Keys[w]->mmVertexes[0], Keys[w]->mmMemOfAllVertexes);
    Keys[w]->mmVertexBuffer->Unlock();

    if(FAILED(CEngine::Instance()->D3DDevice9()->CreateVertexBuffer(Keys[w]->mmMemOfAllTexCoords,
      D3DUSAGE_WRITEONLY, D3DFVF_3D, D3DPOOL_MANAGED, &Keys[w]->mmTexCoordBuffer, NULL)))
      return XFR_ERROR;

    void* p_linkTCB = NULL;

    if(FAILED(Keys[w]->mmTexCoordBuffer->Lock(0, Keys[w]->mmMemOfAllTexCoords, (void**)&p_linkTCB, 0))) return XFR_ERROR;
    memcpy(p_linkTCB, &Keys[w]->mmTexCoords[0], Keys[w]->mmMemOfAllTexCoords);
    Keys[w]->mmTexCoordBuffer->Unlock();
  }

  // Вторая Фаза
  // Распределени всех кейфреймов по анимациям / чтение параметров анимаций

  // Всего
  XFuint AllAnims = 0;
  File.read((XFchar *)&AllAnims, sizeof(XFuint));

  // Чтение анимаций
  for(XFuint w = 0; w < AllAnims; w++)
  {
    XFchar    TempChar;
    XFstring  TempString;

    // Новая анимация
    CAnimation* NewAnimation = new CAnimation;

    // Чтение имени анимации
    TempString = "";
    do{File >> TempChar; TempString += TempChar;} while(TempChar != 0);
    TempString.resize(TempString.size() - 1);
    if(!TempString.empty()) NewAnimation->mmName = TempString;
    else return XFR_ERROR;

    // Кейфреймы анимации (с какого по какой кейфрейм)
    XFuint From_key = 0, To_key = 0;
    File.read((XFchar*)&From_key, sizeof(XFuint));
    File.read((XFchar*)&To_key, sizeof(XFuint));

    NewAnimation->mmKeys.resize(0);

    // Рассортировка кейфреймов
    for(XFuint i = From_key - 1; i < To_key; i++)
      NewAnimation->mmKeys.push_back(Keys[i]);

    // Рассчет времени длительности Set'а
    NewAnimation->mmLength = NewAnimation->mmKeys[NewAnimation->mmKeys.size() - 1]->mmTime - NewAnimation->mmKeys[0]->mmTime;

    // Новый Set в конец
    mmAnimations.push_back(NewAnimation);
  }

  mmBBox = new XFBoundBox;

  XFvec3 max = mmAnimations[0]->mmKeys[0]->mmVertexes[0].position;
  XFvec3 min = mmAnimations[0]->mmKeys[0]->mmVertexes[0].position;

  for(XFuint i = 0; i < mmAnimations[0]->mmKeys[0]->mmVertexes.size(); i++)
    mmBBox->AddVertex(mmAnimations[0]->mmKeys[0]->mmVertexes[i].position);

  Keys.clear();
  File.close();

  return XFR_OK;
}

void CAnimationSet::Release()
{
  for(XFuint i = 0; i < mmAnimations.size(); i++)
    for(XFuint j = 0; j < mmAnimations[i]->mmKeys.size(); j++)
    {
      SAFE_RELEASE(mmAnimations[i]->mmKeys[j]->mmVertexBuffer);
      SAFE_RELEASE(mmAnimations[i]->mmKeys[j]->mmTexCoordBuffer);
      SAFE_RELEASE(mmAnimations[i]->mmKeys[j]->mmFaceBuffer);
      CEngine::Instance()->GetResourceManager()->ReleaseResource(mmTextureID, XFRT_TEXTURE);
    }
}
-=FileMoon=-Новичокwww21 янв. 200721:42#23
void CAnimationSet::Update(CTimer* AnimTimer, XFstring NameOfAnimation, XFuint bLoop)
{
  CAnimation* Animation = NULL;

  for(XFuint i = 0; i < mmAnimations.size(); i++)
    if(mmAnimations[i]->mmName == NameOfAnimation)
    {
      Animation = mmAnimations[i];
      mmCurrentAnimation = i;
      break;
    }

  if(!Animation)
  {
//    CEngine::Instance()->ToLog("Анимация не существует", XFLQ_FATALERROR);
    return;
  }

  if(!Animation->mmKeys.size())
  {
//    CEngine::Instance()->ToLog("Анимацмя не содержит ключей", XFLQ_FATALERROR);
    return;
  }

  mmScalar += CEngine::Instance()->GetLogicCore()->GetFpsCounter()->GetFPS() * AnimTimer->GetElapsedTime() / 5;

  if(mmScalar >= 1.0f)
  {
    mmKey1++;
    mmKey2++;
    mmScalar = 0.0f;
    if(bLoop)
    {
      if(mmKey1 >= Animation->mmKeys.size()) mmKey1 = 0;
      if(mmKey2 >= Animation->mmKeys.size()) mmKey2 = 0;
    }
  }
}

void CAnimationSet::Render()
{
  CEngine::Instance()->D3DDevice9()->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);

  // Alpha Test - BEGIN
  CEngine::Instance()->D3DDevice9()->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE);
  CEngine::Instance()->D3DDevice9()->SetRenderState(D3DRS_ALPHAREF,        0x08);
  CEngine::Instance()->D3DDevice9()->SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL);
  // Alpha Test - END

  CEngine::Instance()->D3DDevice9()->SetRenderState(D3DRS_SRCBLEND,  D3DBLEND_SRCALPHA);
  CEngine::Instance()->D3DDevice9()->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);

  CEngine::Instance()->D3DDevice9()->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
  CEngine::Instance()->D3DDevice9()->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
  CEngine::Instance()->D3DDevice9()->SetTextureStageState(0, D3DTSS_COLOROP,   D3DTOP_MODULATE);

  CEngine::Instance()->D3DDevice9()->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
  CEngine::Instance()->D3DDevice9()->SetTextureStageState(0, D3DTSS_ALPHAOP,   D3DTOP_SELECTARG1);

  CEngine::Instance()->D3DDevice9()->SetRenderState(D3DRS_VERTEXBLEND, D3DVBF_TWEENING);
  CEngine::Instance()->D3DDevice9()->SetRenderState(D3DRS_TWEENFACTOR, *((DWORD*)(&mmScalar)));

  CEngine::Instance()->D3DDevice9()->SetVertexDeclaration(mmVertexDeclaration);
  CEngine::Instance()->D3DDevice9()->SetTexture(0, CEngine::Instance()->GetResourceManager()->GetResTexture(mmTextureID)->GetTexture());
  CEngine::Instance()->D3DDevice9()->SetStreamSource(0, mmAnimations[mmCurrentAnimation]->mmKeys[mmKey1]->mmVertexBuffer, 0, sizeof(CAnimationKey::XF_ANIM_VERTEX));
  CEngine::Instance()->D3DDevice9()->SetStreamSource(1, mmAnimations[mmCurrentAnimation]->mmKeys[mmKey2]->mmVertexBuffer, 0, sizeof(CAnimationKey::XF_ANIM_VERTEX));
  CEngine::Instance()->D3DDevice9()->SetStreamSource(2, mmAnimations[mmCurrentAnimation]->mmKeys[mmKey1]->mmTexCoordBuffer, 0, sizeof(CAnimationKey::XF_ANIM_TEXCOORD));
  CEngine::Instance()->D3DDevice9()->SetIndices(mmAnimations[mmCurrentAnimation]->mmKeys[mmKey1]->mmFaceBuffer);
  CEngine::Instance()->D3DDevice9()->SetTransform(D3DTS_WORLD, reinterpret_cast<D3DXMATRIX*>(mmTMatrix));
  CEngine::Instance()->D3DDevice9()->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, mmAnimations[mmCurrentAnimation]->mmKeys[mmKey1]->mmNumOfAllVertexes, 0, mmAnimations[mmCurrentAnimation]->mmKeys[mmKey1]->mmFaces.size());

  CEngine::Instance()->D3DDevice9()->SetRenderState(D3DRS_ALPHATESTENABLE, FALSE);
  CEngine::Instance()->D3DDevice9()->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE);
}

XFBoundBox* CAnimationSet::GetBoundBox()
{
  return mmBBox;
}

XFmat4* CAnimationSet::GetTMatrix()
{
  return mmTMatrix;
}
Serega2008Постоялецwww2 фев. 20079:21#24
relo
Ну пришли, мыло:
Serega2008Постоялецwww2 фев. 20079:23#25
-=FiliMOON=-
А такого же лоадера только на OpenGL нету?) Я просто с DirectX'ом не очень дружу)
LuНовичокwww16 фев. 200720:31#26
ОГРОМНАЯ ПРОСЬБА КО ВСЕМ!!!
помогите кто чем может! пыталась переделать проект под MAX 8 и VS2005!
выдает ошибки

------ Rebuild All started: Project: XFA_plugin, Configuration: Hybrid Win32 ------
Deleting intermediate and output files for project 'XFA_plugin', configuration 'Hybrid|Win32'
Compiling...
Export.cpp
Main.cpp
Generating Code...
Compiling resources...
Compiling manifest to resources...
Linking...
  Creating library .\Hybrid/XFA_plugin.lib and object .\Hybrid/XFA_plugin.exp
XFA_plugin.exp : warning LNK4070: /OUT:X-Flame_Animation_Format.dll directive in .EXP differs from output filename 'C:\Program Files\Autodesk\3dsMax8\plugins\XFA_plugin.dle'; ignoring directive
Export.obj : error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in
function "public: class CAnimation & __thiscall std::vector<class CAnimation,class std::allocator<class CAnimation> >::operator[](unsigned int)"
(??A?$vector@VCAnimation@@V?$allocator@VCAnimation@@@std@@@std@@QAEAAVCAnimation@@I@Z)
C:\Program Files\Autodesk\3dsMax8\plugins\XFA_plugin.dle : fatal error LNK1120: 1 unresolved externals
Creating browse information file...
Microsoft Browse Information Maintenance Utility Version 8.00.50727
Copyright (C) Microsoft Corporation. All rights reserved.
Build log was saved at "file://c:\Documents and Settings\Людмила\Рабочий стол\XFA-plugin\XFA-plugin\Hybrid\BuildLog.htm"
XFA_plugin - 2 error(s), 1 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

Подскажите,пожалуйста, как их исправить!
или если у кого есть-кинте на мыло

hexmanПостоялецwww29 мар. 200715:51#27
Да, интересно было бы узнать, как применять vertex tweening в OpenGL. Нету лоадера в нем?
OburecПостоялецwww9 июня 200718:06#28
error C2504: 'Options' : base class undefined, никто в недавнем прошлом не решал проблемму для 7-о макса?
dexПостоялецwww14 авг. 20071:44#29
киньте кто-нить исходники, плиз, ато все ссылки дохлые
Страницы: 1 2

/ Форум / Уголок tool-программистов

Тема в архиве.

2001—2018 © GameDev.ru — Разработка игр