LINUX.ORG.RU

История изменений

Исправление mittorn, (текущая версия) :

void*. Там может быть тольуо CBaseEntity* или его порождённый класс, причём в случае выше экземпляр корректный

(gdb) print pent->pvPrivateData
$18 = (void *) 0xf8baa4f0
(gdb) print *(CBaseEntity*)pent->pvPrivateData
$19 = {_vptr.CBaseEntity = 0xc47521d1, pev = 0xc579bf80, m_pGoalEnt = 0x4, m_pLink = 0x0, static m_SaveData = {{fieldType = FIELD_CLASSPTR, fieldName = 0xf7151edd "m_pGoalEnt", fieldOffset = 8, fieldSize = 1,
      flags = 0}, {fieldType = FIELD_FUNCTION, fieldName = 0xf7151ee8 "m_pfnThink", fieldOffset = 16, fieldSize = 1, flags = 0}, {fieldType = FIELD_FUNCTION, fieldName = 0xf7151ef3 "m_pfnTouch", fieldOffset = 24,
      fieldSize = 1, flags = 0}, {fieldType = FIELD_FUNCTION, fieldName = 0xf7151efe "m_pfnUse", fieldOffset = 32, fieldSize = 1, flags = 0}, {fieldType = FIELD_FUNCTION, fieldName = 0xf7151f07 "m_pfnBlocked",
      fieldOffset = 40, fieldSize = 1, flags = 0}}, m_pfnThink = (void (CBaseEntity::*)(CBaseEntity * const)) 0xf71303d0 <CBasePlayerItem::AttemptToMaterialize()>, m_pfnTouch = NULL, m_pfnUse = NULL,
  m_pfnBlocked = NULL, ammo_9mm = 0, ammo_357 = 0, ammo_bolts = 0, ammo_buckshot = 0, ammo_rockets = 0, ammo_uranium = 0, ammo_hornets = 0, ammo_argrens = 0, m_flStartThrow = 0, m_flReleaseThrow = 0,
  m_chargeReady = 0, m_fInAttack = 0, m_fireState = 0}

Исходная версия mittorn, :

void*. Там может быть тольуо CBaseEntity* или его порождённый класс, причём в случае выше экземпляр корректный

[br](gdb) print pent->pvPrivateData[br]$18 = (void *) 0xf8baa4f0[br](gdb) print *(CBaseEntity*)pent->pvPrivateData[br]$19 = {_vptr.CBaseEntity = 0xc47521d1, pev = 0xc579bf80, m_pGoalEnt = 0x4, m_pLink = 0x0, static m_SaveData = {{fieldType = FIELD_CLASSPTR, fieldName = 0xf7151edd "m_pGoalEnt", fieldOffset = 8, fieldSize = 1,[br]      flags = 0}, {fieldType = FIELD_FUNCTION, fieldName = 0xf7151ee8 "m_pfnThink", fieldOffset = 16, fieldSize = 1, flags = 0}, {fieldType = FIELD_FUNCTION, fieldName = 0xf7151ef3 "m_pfnTouch", fieldOffset = 24,[br]      fieldSize = 1, flags = 0}, {fieldType = FIELD_FUNCTION, fieldName = 0xf7151efe "m_pfnUse", fieldOffset = 32, fieldSize = 1, flags = 0}, {fieldType = FIELD_FUNCTION, fieldName = 0xf7151f07 "m_pfnBlocked",[br]      fieldOffset = 40, fieldSize = 1, flags = 0}}, m_pfnThink = (void (CBaseEntity::*)(CBaseEntity * const)) 0xf71303d0 <CBasePlayerItem::AttemptToMaterialize()>, m_pfnTouch = NULL, m_pfnUse = NULL,[br]  m_pfnBlocked = NULL, ammo_9mm = 0, ammo_357 = 0, ammo_bolts = 0, ammo_buckshot = 0, ammo_rockets = 0, ammo_uranium = 0, ammo_hornets = 0, ammo_argrens = 0, m_flStartThrow = 0, m_flReleaseThrow = 0,[br]  m_chargeReady = 0, m_fInAttack = 0, m_fireState = 0}[br][br]