![]() |
Показать все 23 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Xash3D and libraries (https://hlfx.ru/forum/showthread.php?threadid=3291)
Xash3D and libraries
Я конечно ламер, но не могу полностью понять архитектуру Xash3D и модов для него. Сам Xash3D это исполняемый файл и три библиотеки, все это дело подгружает мод ввиде других DLL файлов (та же Half-life со своей папкой VALVe).
Еще помню что-то вроде "xash_extras", где был еще и небольшой "каркас" поверх движка, но не суть.
Так вот, могу ли я использовать сторонний ЯП (который умеет создавать библиотеки конечно же) для создания мода, который будет "кушать" Xash3D точно так же как он "кушает" Half-life?
qpAHToMAS
Да, если язык поддерживает calling-conventions _cdecl и _stdcall, а также все стандартные типы данных С.
Из того, что я знаю, это язык ассемблера и, после определенных плясок с бубном, паскаль.
__________________
Ежли сторонний линекер не сумеет явно вывести GiveFnptrsToDll первым экспортом, то хренвам а не паскаль.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Как бы мне это проверить? Может на болванке какой? Что надо сделать для теста? Библиотеку с какой функцией?
Я могу подключить xash.dll в программу и посмотреть кол-во функций в библиотеке. Показывает, что у xash.dll их 297 .
qpAHToMAS
Не было у бабы заботы - купила баба порося?
__________________
XaeroX, ну, а что? Не на месте же сидеть, без порося темболее.
Добавлено 10-03-2012 в 01:07:
Как оказалось, _cdecl и _stdcall присутствуют, это вообще ходовые функции при работе с DLL.
а зачем это все? возьми hl библиотеки да вырежи себе все в них.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Вытащил названия функций из xash.dll, это нормально, что они с какими-то левыми символами? Только последние две адекватные.
http://paste.org.ru/?nne7zh
qpAHToMAS
Это задекорированные имена. Погугли инфу о том, как декорирует инфу о функциях компилятор MSVC.
В других компиляторах, кстати, декорирование может быть другим, а ксаш приучен именно к такому.
И да, я не уверен, что паскаль позволяет экспортировать из длл функции-члены классов, а это обязательное условие для ксаша.
__________________
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
В клиенте - да, а в сервере тчинки же всякие.
__________________
это нормально.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
pRoxxx, ну наверное она понимает эти "задекорированные имена" и преобразует в читабельный вид, может что-то типа условных обозначений.
убрал все вызовы VGUI из движка, ксашмод вылетает с
Sys_Crash: call 10031020 at address C0000005 |
1 | c:\games\thecastle\sdk\src\xash\engine\client\cl_game.c(662) : warning C4761: integral size mismatch in argument; conversion supplied |
2 | c:\games\thecastle\sdk\src\xash\engine\client\cl_game.c(1404) : warning C4761: integral size mismatch in argument; conversion supplied |
3 | c:\games\thecastle\sdk\src\xash\engine\client\cl_game.c(1404) : warning C4761: integral size mismatch in argument; conversion supplied |
4 | c:\games\thecastle\sdk\src\xash\engine\client\cl_game.c(1404) : warning C4761: integral size mismatch in argument; conversion supplied |
5 | c:\games\thecastle\sdk\src\xash\engine\client\cl_game.c(1404) : warning C4761: integral size mismatch in argument; conversion supplied |
6 | c:\games\thecastle\sdk\src\xash\engine\client\cl_game.c(2851) : warning C4761: integral size mismatch in argument; conversion supplied |
7 | c:\games\thecastle\sdk\src\xash\engine\client\cl_game.c(2851) : warning C4761: integral size mismatch in argument; conversion supplied |
8 | c:\games\thecastle\sdk\src\xash\engine\client\cl_game.c(2851) : warning C4761: integral size mismatch in argument; conversion supplied |
9 | c:\games\thecastle\sdk\src\xash\engine\client\cl_game.c(2851) : warning C4761: integral size mismatch in argument; conversion supplied |
__________________
-Brain is dead-
Вылет по такому адресу - это попытка обращения к указателю на функцию, который равен нулю. VGUI отрезается от движка за 10 минут, я не понимаю, что вы себе за проблемы придумываете на ровном месте.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Ой, случайно не в то окно запостил. Но в принципе тоже про библиотеку вышло.
Добавлено 06-12-2012 в 21:38:
Так, выяснил, что запуску мешала
// run anti (_-=ZhekA=-_) system for Xash3D engine |
__________________
-Brain is dead-
// run anti KiQ system for Xash3D engine |
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Взял кучу повредил. Да есть же у тебя совесть или где?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 20:47. | Показать все 23 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024