![]() |
Показать все 11 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- неправильная сборка hl.dll (https://hlfx.ru/forum/showthread.php?threadid=5865)
неправильная сборка hl.dll
я только что построила hl.dll с помощью visual studio 2022 и half life sdk updated для visual studio 2017 и когда я нажимаю начать новую игру и выбераю уровень сложности игра вылетает с ошибкой
assertion failed!
program: C:\игры\Xash3D\valve\dlls\hl.dll
expresion: nullptr != g_pFileSystemModule
Line: 53
for information on how your program can cause an assertion failure see the visual c++ documntation on asserts
(press retry to debug the application - JIT must be enabled)
я нашла в utils.cpp строку 53 о которой говорилось в ошибк и убрала от туда строчку nullptr != g_pFileSystemModule но тогда игра просто вылетает без ошибки
я пыталась сделать скриншот ошибки но не получается, по этому я его переписала
Если вы хотите делать мод однозначно под Ксаш, то выбирайте одно из:
* делать на нашем HLSDK Portable
* выкинуть из своего кода всё что связано с g_pFileSystemModule, g_pFileSystem и так далее
* дождаться пока я пока поддержку filesystem_stdio в Ксаше доделаю
__________________
Xash3D FWGS форк
а как найти что связяано с g_pFileSystemModule, g_pFileSystem и так далее?
Добавлено 19-07-2022 в 19:46:
и еще что значит выкинуть просто если эту строку убрать игра не запускаетмя
Ekaterina Half-Life SDK updated for use with VS2017 не совместим с движками Xash3D и Xash3D FWGS. В твоём случае проблема в следующем: в этих обновлённых исходниках используется библиотека filesystem_stdio.dll, которой в ксашах просто нет, в ксашах интерфейсы времён WON-версии Half-Life для работы с файлами. Выхода два:
1. Найти, где подгружается модуль g_pFileSystemModule и вырезать весь этот код и то, что он за собой тащит. Если он где-то используется, то заменить его старыми макросами LOAD_FILE_FOR_ME и т.д., я их на память не помню.
2. Использовать HLSDK из репозитория Valve. Эти исходники собираются 2022 студией после нескольких правок: для клиента нужно отключить предупреждения 4996;4091;4018, для сервера 4996;4477;4474;4091. В файлах util_vector.h и extdll.h нужно заменить #include "math.h" на #include <cmath>, а лучше вот так для обратной совместимости со студиями младше 2015:
#if _MSC_VER >= 1900 // C++11 Compatible for Visual Studio 2015 and later. |
#include <cmath> |
#else |
#include "math.h" |
#endif |
спасибо попробую
Ku2zoff там есть CMake, в Visual Studio как раз начиная с 2017 уже есть встроенная поддержка. Просто тыкаешь на файлик, оно дальше само.
__________________
Xash3D FWGS форк
я скачала half life master из репозитория valve но как понять где код для клиента а где для сервера?
Добавлено 20-07-2022 в 14:14:
допустим клиент это hl_cdll а сервер это hldll, я отключила все предупреждения, и заменила #include "math.h" на то что вы сказали.
Добавлено 20-07-2022 в 14:20:
теперь кучу раз появилась ошибка
Ошибка C2668 abs: неоднозначный вызов перегруженной функции hldll C:\Users\sukas\Downloads\hlmaster\halflife-master\dlls\bmodels.cpp 553
Добавлено 20-07-2022 в 14:22:
наверное ошибка с функцией abs
// Misc C-runtime library headers |
#include "stdio.h" |
#include "stdlib.h" |
#include "math.h" |
1 | // Misc C-runtime library headers |
2 | #include "stdio.h" |
3 | #include "stdlib.h" |
4 | #if _MSC_VER >= 1900 // C++11 Compatible for Visual Studio 2015 and later. |
5 | #include <cmath> |
6 | #else |
7 | #include "math.h" |
8 | #endif |
я так и написала в файле hl_cdll\header files\util_vector.h
#if _MSC_VER >= 1900 // C++11 Compatible for Visual Studio 2015 and later.
#include <cmath>
#else
#include "math.h"
#endif
Компиляция проходит нормально но вылезает ошибка
Ошибка MSB3073 выход из команды "call ..\..\filecopy.bat C:\Users\pavel\Downloads\hlmaster\hlmaster2\halflife-master\projects\vs2010\Debug\hldll\hl.dll ..\..\..\game\mod\dlls\hl.dll
call ..\..\filecopy.bat C:\Users\pavel\Downloads\hlmaster\hlmaster2\halflife-master\projects\vs2010\Debug\hldll\\hl.pdb ..\..\..\game\mod\dlls\hl.pdb
:VCEnd" с кодом 1. hldll C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets 157
Добавлено 20-07-2022 в 14:59:
я ещё переместила папку с кодом в другое место может быть оно из-за этого не компилируется
Добавлено 20-07-2022 в 15:01:
может что то неправильно скачалось
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 17:17. | Показать все 11 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024