Автор Тема: Структуры и классы игры  (Прочитано 1418 раз)

Оффлайн graveman

  • Прохожий
  • *
  • Сообщений: 50
  • Репутация: +2/-0
  • Its cool! Man
    • Просмотр профиля
Структуры и классы игры
« : Июнь 09, 2014, 07:58:27 am »
Кто-нибудь знает, зачем в CMapNode 10 указателей на CPtrNode? Может они как-то взаимосвязаны с 10-ю пулами объектов, порожденных от производных классов CEntity?

Функция с адресом 004C9F40 вызывается для отрисовки педов, тачек, домов и динамических объектов. Поэтому, если забить ее нулевой функцией можно получить город-невидимку с дорогами. От тачек останутся фары. От всех останутся тени. Дороги, некоторые удаленные здания и эффекты света и ореола останутся.
« Последнее редактирование: Июнь 11, 2014, 10:39:25 pm от Sektor »

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 514
  • Репутация: +33/-0
    • Просмотр профиля
Re: Структуры и классы игры
« Ответ #1 : Июнь 10, 2014, 05:25:49 pm »
Это тоже самое, что если бы мы сделали пустую функцию.

Оффлайн graveman

  • Прохожий
  • *
  • Сообщений: 50
  • Репутация: +2/-0
  • Its cool! Man
    • Просмотр профиля
Re: Структуры и классы игры
« Ответ #2 : Июнь 11, 2014, 12:31:02 pm »
Это тоже самое, что если бы мы сделали пустую функцию.
Ну да, я джампил на пустую функцию в первой инструкции.

Кто-нибудь знает о назначении флагов CEntity?
« Последнее редактирование: Июнь 11, 2014, 10:39:40 pm от Sektor »

Оффлайн DK

  • Новичек
  • **
  • Сообщений: 226
  • Репутация: +317/-0
    • dk22pac
    • Просмотр профиля
Re: Структуры и классы игры
« Ответ #3 : Июнь 11, 2014, 08:49:28 pm »
Цитировать
Функция с адресом 004C9F40
Я же скидывал обновленную базу...
0x4C9F40     ; CRenderer::RenderEverythingBarRoads(void)
Plugin-SDK https://github.com/DK22Pac/plugin-sdk

Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Оффлайн graveman

  • Прохожий
  • *
  • Сообщений: 50
  • Репутация: +2/-0
  • Its cool! Man
    • Просмотр профиля
Re: Структуры и классы игры
« Ответ #4 : Июнь 16, 2014, 07:00:39 am »
Цитировать
Функция с адресом 004C9F40
Я же скидывал обновленную базу...
0x4C9F40     ; CRenderer::RenderEverythingBarRoads(void)
Это название мне известно. Может у кого старые базы.

Оффлайн DK

  • Новичек
  • **
  • Сообщений: 226
  • Репутация: +317/-0
    • dk22pac
    • Просмотр профиля
Re: Структуры и классы игры
« Ответ #5 : Июнь 20, 2016, 08:00:01 pm »
Кстати, оригинальное название класса CMapNode - CSector.
Дело в том, что вся карта разделены на секторы, и отдельно в каждом секторе есть списки обьектов, расположенных в этом секторе.
Всего таких секторов - 80 * 80 (6400).
В кажом секторе - 10 списков (по 2 для разных типов обьектов).
Код: C++
  1. class CPtrNode {
  2. public:
  3.     void     *m_ptr; // usually a ptr to CEntity
  4.     CPtrNode *m_pNext;
  5.     CPtrNode *m_pPrev;
  6. };
  7.  
  8. class CPtrList {
  9. public:
  10.     CPtrNode *m_pLast;
  11. };
  12.  
  13. class CSector {
  14. public:
  15.     CPtrList m_buildingList;
  16.     CPtrList m_buildingOverlapList;
  17.     CPtrList m_objectList;
  18.     CPtrList m_objectOverlapList;
  19.     CPtrList m_vehicleList;
  20.     CPtrList m_vehicleOverlapList;
  21.     CPtrList m_pedList;
  22.     CPtrList m_pedOverlapList;
  23.     CPtrList m_dummyList;
  24.     CPtrList m_dummyOverlapList;
  25. };
Plugin-SDK https://github.com/DK22Pac/plugin-sdk

Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv