Привет! Спасибо за релиз базы, архитектура топ, особенно инжектор на BlackBone радует - работает как часы.
Сейчас сижу ковыряю код, пытаюсь адаптировать под последний патч Доты и перевести на более свежий Source 2 SDK. Столкнулся с парой затыков, буду благодарен, если подскажешь, в какую сторону копать:
Самое главное ViewMatrix. Старый паттерн на глобал в client.dll, похоже, рипнулся. Ты сейчас матрицу тянешь через поинтер на CRenderGameSystem или через интерфейс EngineClient? Если через рендер, то не подскажешь актуальный оффсет внутри класса? А то мой сканер находит 7 кандидатов, но валидация плавает, не хочется наугад тыкать.
И по NetVars/Schema. Смотрю, у тебя там всё на std::string и мапах построено. Хочу переписать это на рантайм-дампер и FNV1a хеши, чтобы в цикле отрисовки просадок не было. У тебя были какие-то наработки в эту сторону или лучше с нуля под глобал скоуп переписывать?
Ну и по мелочи: заметил, что в Matrix.hpp массив назван m_data, хотя в ванильном SDK обычно просто m. Из-за этого при мерже с другими либами ошибки лезут, пришлось немного подправить.
И еще хотел спросить, Я понимаю, что поддерживать базу под каждый патч — это адский труд. Меня не интересует готовый чит, чтобы играть. Я учусь и хочу понять правильную архитектуру под Source 2 (особенно работу с Entity Cache и иерархией классов).
Может, у тебя остались какие-то старые черновики, нерабочие исходники или просто наработки (WIP), которые не жалко скинуть для науки? Даже если код крашит игру или не компилится — мне главное увидеть твой подход к структуре данных.
Если это приват — без вопросов, понимаю. Но если есть чем поделиться для изучения — с меня причитается.
Еще раз спасибо за софт!