PrimeXT
PrimeXT copied to clipboard
Initial implementation of weapon prediction
ключевая идея такова, и состоит из нескольких шагов:
1) отделить весь код оружия от класса энтити оружия, вынести всю оружейную логику в серверсайдный CBaseWeaponLogic. класс энтити оружия должен иметь в себе только базовую инициализацию по типу задания модели и класснейма, ну и поинтер на CBaseWeaponLogic, через который будут прокидываться вызовы методов внутрь логики
2) далее, сделать код CBaseWeaponLogic компилируемым и на клиенте, и на сервере, отвязать его от серверсайдных классов/типов/функций
3) имплементировать на стороне клиента код предиктинга оружия. тут работа предстоит немаленькая.
4) как-то пофиксить save-restore у энтить оружия. как вариант, продублировать данные, которые требуется сохранить, в классе энтити оружия, а потом при загрузке/сохранении их записывать/читать из weapon logic объекта. в теории ничего в этом методе нерабочего нет, просто придётся на каждый класс писать кучку бойлерплейта.