жа что бы работала игруха с PHYSX выще версии 2.2 нужно 20 метров драйверов (
но зато! реальная быстрая физика
Жаль. А я надеялся что есть способ без правки рееста (под юзером с ограниченными правами писать в реестр нельзя, т.е. обязательно нужны права админа, что не есть хорошо). Но спасибо и на этом.
Вот. Сделал "либу".
Юзать проще простого: just plug and play. В смысле, достаточно просто вызвать LoadLibrary("PhysX_Light.dll") в проге, использующей PhysX, и на компе без установленных дров всё будет работать (пока правда не проверял
).
http://tav.fatal.ru/PhysX_Light/Phys...SS-v6.11.01.7z
Только есть пара ньюансов:
1. В папке с игрой должны находиться все dll-ки из PhysX, которые она использует.
2. В папке с игрой должна находиться папка с номером версии используемого в игре SDK, напр. папка "v2.6.2", содержимое которой -- копия С:\Program Files\AGEIA Technologies\v2.6.2. Если игра использует другую версию SDK, то папка просто должна называться иначе. (Данная версия либы поддерживает все версии SDK от 2.3.1 до 2.6.2 включительно.)
Вот, напр., готовый архивчик, собранный на основе последней версии PhysX SDK и SystemSoftware.
Либа корректно обрабатывает ситуацию, когда дрова SystemSoftware уже установлены, и даже когда установлены, но более ранней версии, чем того требует прога (последнее не проверял, но работать должно).
Также в случае краша приложения или если любознательный юзер нажал ресет, данные реестра не теряются -- либа при подсоединении к процессу, перед тем как править реестр, сохраняет резервную копию всей ветви "HKEY_LOCAL_MACHINE\SOFTWARE\AGEIA Technologies" в файл. Так вот, после такого не-совсем-грамотного-завершения-процесса достаточно просто ещё раз запустить PhysX-прогу, а потом нормально выйти из неё -- при детаче либа сама всё восстанавливает в реестре так, как ы былО, до её запуска.
И последнее, либа (а следовательно и любая прога, её юзающая) требует прав админа. И используйте её на свой страх и риск, никаких гарантий, AS IS.
>насколько легально будет подобное распространение драйвера в коммерческом проекте?
Если проект коммерческий, то это так принципиально?
В смысле, если чел готов купить игру, то 20Мб уже не рИшают.
Вообще конечно ребятам из AGEIA это не понравится. Но где-то читал на их форуме, что распространять сами дрова в виде инсталлятора можно. Про всякие самопальные урезанные версии не знаю. Но в некоммерческом проекте думаю на это никто внимания обращать не будет.