PDA

Просмотр полной версии : [решено] две ошибки при компиляции


tempura
14.11.2009, 23:05
ну и сразу тему заведу в новом разделе :)


Две ошибки при компиляции остались: 'GetCorpse' : is not a member of 'ObjectAccessor'
'AddUpdateObject' : is not a member of 'ObjectAccessor' Еще десятка три я поправил. :)

Я точно знаю, что они на что-то поменялись. Но я совершенно не представляю - на что именно. :( Есть кому подсказать?

Ревизия 8817, на нее поставлены патчи сделанные с прошлого компила - ревизии 8598. :(

Кто спасти может?

maksqwe
14.11.2009, 23:15
* objmgr -> sObjectMgr
* spellmgr -> sSpellMgr
* WaypointMgr -> sWaypointMgr
* poolhandler -> sPoolMgr
* objaccessor -> sObjectAccessor
* mapmgr -> sMapMgr
* sInstanceSaveManager -> sInstanceSaveMgr
* ticketmgr -> sTicketMgr
* CreatureEAI_Mgr -> sEventAIMgr
* auctionmgr -> sAuctionMgr
* achievementmgr -> sAchievementMgr
* gameeventmgr -> sGameEventMgr
* accmgr -> sAccountMgr

http://getmangos.com/community/showthread.php?t=10902

tempura
14.11.2009, 23:22
Круто, спасибо. :) Я тут по истории коммитов уже нашел чуток. :)
по 8718 коммиту, вот эта хрень:
Corpse *bones = ObjectAccessor::GetCorpse(*player, lguid);
меняется вот на эту:
Corpse *bones = player->GetMap()->GetCorpse(lguid);

:) кое-как и сам немного на умного начинаю быть похожим. :)



А вот тупая замена ObjectAccessor на sObjectAccessor - не помогает. :(
теперь ищу как вот это старое:
ObjectAccessor::Instance().AddUpdateObject(this);
на что-то новое исправить. :(

Пока вот вроде нашел (и там еще несколько подобных):
- if( Creature* pCreature = ObjectAccessor::Instance().GetObjectInWorld(MAKE_N EW_GUID(*itr, data->id, HIGHGUID_UNIT), (Creature*)NULL) )
+ if( Creature* pCreature = ObjectAccessor::GetCreatureInWorld(MAKE_NEW_GUID(* itr, data->id, HIGHGUID_UNIT)) )
сейчас разбираться буду.




На случай, если в контексте надобно, вот этот кусок патча:
void Object::ForceValuesUpdateAtIndex(uint32 i)
{
m_uint32Values_mirror[i] = GetUInt32Value(i) + 1; // makes server think the field changed
if(m_inWorld)
{
if(!m_objectUpdated)
{
ObjectAccessor::Instance().AddUpdateObject(this);
m_objectUpdated = true;
}
}
}

tempura
14.11.2009, 23:41
вот в ObjectAccessor.h внизу стоит: #define sObjectAccessor ObjectAccessor::Instance() значит в теории мне надо ObjectAccessor::Instance().AddUpdateObject(this); исправить на sObjectAccessor.AddUpdateObject(this); Так? Но оно все равно выдает ту же самую ошибку при компиляции. :(
'AddUpdateObject' : is not a member of 'ObjectAccessor'
\src\game\ObjectAccessor.h(79) : see declaration of 'ObjectAccessor'

tempura
14.11.2009, 23:46
Ога, все, нашел. Я самый умный! :)

Было:
ObjectAccessor::Instance().AddUpdateObject(this);
Надо:
AddToClientUpdateList();

коммит 8678

ArhangelSM
19.11.2009, 16:35
здравствуйте подкиньте пожалуйста ссылки на патчи карателя для 3.2.2а и еще на какие не буть хорошие

tempura
19.11.2009, 16:51
...и прощайте...