У меня к вам вопрос, когда я изучал ваш мод, и его исходники.Я прочитал лог (history.txt), и обнаружил в нем такой текст "+добавлена простейшая физика".Этот текст очень удивил меня в том как вы смогли добавить физику в такой движок.Изучив я обнаружил physic.dll.Поняв что этот файл используете для физики.Когда я узнал что физика находиться в исходниках, я немедленно решил их изучить.Я обнаружил следующее:
defs.c
Странно, но больше я ничего не нашел.Как на таком могла работать физика?
Я решил позаимствовать ими, и скопировал все в свой мод под движок Half-Life 1.Было очень много ошибок.Более чем за час я исправил все ошибки.Немного изменил структуру файла physic.c (поменял на physic.cpp) добавив его в проект.Я сделал его как Base Entity.Чтобы в редакторе я мог создать энтитью, которая и являлась physic.Во время компиляции ошибок не наблюдалось.Я ждал...
И тут когда компиляция прошла успешно, я запустил свой мод (через ярлык).И сразу в меню выскочила ошибка об hl.exe, и игра вылетела.Я подумал что это из-за того что я не добавил physic.dll в папку мода, но все равно бесполезно.
Прошу помочь в решении проблемы.
Заранее благодарен
Frest ты не забыл прилинковать physic.dll? Я так думаю, что его следует загрузить, как fmod.dll, например, грузится, загрузить все его функции(используй программку dependency walker(C:\Program Files\Microsoft Visual Studio\COMMON\Tools\DEPENDS.EXE)чтобы просматривать функции дллок). Но лучше, я думаю, забей на это. Слишком много возни, и ради чего? Можно прекрасно обойтись без физики и рэгдоллов.
З.Ы. Кстати, а что за версию Ксаша ты смотрел ? У меня такое впечатление, что ты изучал не мод для ХЛ(Ксаш), а новый движок(Ксаш3Д).
У меня к вам вопрос, когда я изучал ваш мод, и его исходники
Ты не мод изучал, а движок. Вся интеракция скрыта от простого пользователя, наружу торчит только этот самый MOVETYPE_PHYSIC.
В самом ксаше запусти карту phystest, чтобы посмотреть на работу физики.
Добавлено 10-01-2009 в 12:29:
Да и еще - physic.dll это не только newton, но еще и 200 килобайт собственного кода.
Ku2zoff Это все на деле XashXT beta048. Дядя Миша Я прошлом году ещё смотрел этот phystest.Получается секрет физики в движке и его код закрыт (как и у HLFX), вы мне его не дадите.Значит придется не создавать физику :\ Дядя Миша Вопросы:
1. Как ты написал физику?
2. Где найти нужную информацию,учебники для создания физики в игре?
3. Очень хорошие советы по коддингу (которые помогли также тебе).
Получается секрет физики в движке и его код закрыт
13 февраля выйдет Xash3D beta 0.56 и я подумываю о том, чтобы вынести физику в пользовательские дллки - потому что мне лень создавать различные физ.объекты, которые могли бы придумать пользователи.
Правда не факт что успею это сделать.
1. никакого секрета тут нет - взял и написал.
2. подобной информации, применительно к Quake-движкам я не нашел нигде. Дело в том, что в Quake-движках (к коим относится и Half-Life) мир повернут относительно дефолтных координат как минимум два раза на 90 градусов. Из-за этого возникают известные проблемы с передачей координат туда и обратно. Как эту проблему решали в Valve - можно посмотреть в исходниках украденной бетки hl2. Кое-что я почерпнул оттуда.
3. Мне помог исключительно 5 летний опыт кодинга, а не какие-то там советы.
Я могу выложить исходник physic.dll но толку от этого не будет - он все равно привязан к своему формату карт, к компилятору bsp, распихан равномерно по всему движку и просто так вставить это в халфу не выйдет.
Jumpdaphuckup! кстати, а можно твою реализацию физики под Newton (у меня какой-то архивчик валяется), выложить во всеобщее пользование? Может кому и пригодится.
physic.dll - это не сферический конь в вакууме. Он для своей работы хочет интерфейс более чем из 100 (ста) функций.
И если штук 30 из них можно заменить аналогами из винды и халфы, то остальные 70 заменить нельзя ничем и найти в сырцах других движков тоже невозможно, поскольку я писал их с нуля.
Во вторых - там чистая функциональщина, ни одного класса.
Куча указателей на функции и прочие сложные для понимания вещи.
Для человека, незнакомого с чистым Си это как оглоблей по загривку.
Наконец, даже если ты чуточку разберешься с кодом - он использует уникальный формат bsp, который сильно отличается от классического.
Не принципом работы, а методом доступа и хранения лумпов.
Таким образом изучение подобных исходников не влечет за собой ничего кроме разочарования.
На вот тебе для затравки самое важное из физического движка.
Если поймешь как это прикрутить к халфе - помогу в дальнейшем.
Вложение: physic.zip (11.1 кб)
Этот файл был скачан 540 раз. XaeroX проверил это вложение на вирусы 11-01-2009 в 09:05
Дядя Миша писал: кстати, а можно твою реализацию физики под Newton (у меня какой-то архивчик валяется), выложить во всеобщее пользование? Может кому и пригодится.
Ты сам-то понял что-то в тех огрызках бажного кода?
Дядя Миша я имел ввиду что удивило как вы добавили физику
а текст всего лишь оправдал это
Добавлено 12-01-2009 в 12:56:
Скажите как мне репу свою поднять а то не хочу как позорник с низкой репой, я все таки изменился, стал добропорядычным человеком, ни то что было в прошлом году