Sidebar

Xash3D SDL2 форк

ZhekA

New member
Feb 27, 2008
4,126
37
mittorn said:
https://transfer.sh/10qDUH/xash3d-win.zip
Снова обновление.
Здесь есть некоторые изменения в глубине движка. Они могли как что-то поломать, так и что-то починить.
Неплохо бы проверить XDM, последние версии которого плохо работали под xash. Возможно, часть багов уйдёт.
При запуске.
 

Attachments

mittorn

New member
Apr 22, 2010
1,213
15
0
2 ZhekA:
думаю, ты и сам можешь найти эту библиотеку.
Я не уверен, можно ли включать статическую линковку.

[ADDED=mittorn]1444684120[/ADDED]
Да, кстати. Думаю, тут есть знатоки VS. Как лучше делать линковку с crt на windows?
Если линковать статически с libc - то вырастут все бинарники. Полагаю, могут появиться конфликты с другими компонентами.
С общим msvcrt - способ вроде как официально не поддерживаемый. неибудет ли проблем из-за разных версий?
И чем отлисается отладочная версия библиотеки с d в конце от обычной? кроме того, что её нигде нет и скачивать отдельно приходится?
ДМ тут где-то рекомендовал собирать с msvc6. Как поступать с ULL там? Он вообщп long long не умеет? Или делает дурачка просто?
 
Last edited:

mittorn

New member
Apr 22, 2010
1,213
15
0
2 ZhekA:
Там русским языком написано, какую crt либу искать.
И выложил не я, а appveyor.
Я хотел сделать статическую линковку, но получил не работающий на сервере бинарь. По этому пока оставил так, тбо скачать msvcrt12d.dll можно и это везде работает. Прошу помощи с msvc и crt на будущее

[ADDED=mittorn]1444730028[/ADDED]
2 Дядя Миша:
Он знаковый.
 
Last edited:

mittorn

New member
Apr 22, 2010
1,213
15
0
2 StanVick:
На языке линуксойда, пытающегося собрать прогу для windows. Да так, чтобы она лишних msvcrt120d.dll не тянула.
 

gfdjr5

[NULL]
Nov 25, 2012
563
0
0
mittorn said:
2 StanVick:
На языке линуксойда, пытающегося собрать прогу для windows. Да так, чтобы она лишних msvcrt120d.dll не тянула.

Найди на Хабре статью "Создание компактных приложений на VC++"
Или "Компоновка с msvcrt.dll в Visual C++: проблемы и решения"
 

mittorn

New member
Apr 22, 2010
1,213
15
0
2 Дядя Миша:
Ответ очевиден - для дебага.
Потому и вопрос - могу ли я тупо заменить либу на недебаговую или на msvcrt.dll?
2 gfdjr5:
Статью видел, она меня насторожила т.к crt разный, а совестимость они похлеще glibc ломают.

[ADDED=mittorn]1444756817[/ADDED]
2 Дядя Миша:
Оффтоп
 
Last edited:

mittorn

New member
Apr 22, 2010
1,213
15
0
2 DarkEssence:
у меня на windows server 2003 не заработала + статик - по 600 кб к каждому бинарю. Наверно, надо msvcrt делать. Но переделывать что-то удалённо на appveyor довольно нелегко.
В остальном xash crt почти не нужен.
Ибо свой есть. Т.е можно переделать десяток функций на winapi и crt больше не понадобится. Только вот код будет ужасный и оно того не стоит.

[ADDED=mittorn]1444758409[/ADDED]
Этот дебаг ещё и лагать наверно должен.
У меня ещё одна проблема нашлась - виндовая сборка под wine упорно не хочет читать файлы 2й паранойи. Совсем. Возможно, у меня с фс в wine проблемы, но прошу проверить под windows если кто качал.
 
Last edited:

gfdjr5

[NULL]
Nov 25, 2012
563
0
0
http://netcode.ru/cpp/?artID=2757
Дебаг и релиз версии msvcrt.dll отличаются, и если вдруг (при использовании длл) new делается в длл, а delete в приложении (или наоборот), то гарантированны проблемы, потому что способы выделения/удаления (в дебаг и релиз версиях рантайма) будут разные, явный признак подобной ошибки: ссылка на файл dbgheap.h/dbgheap.cpp, а дальше что нибудь типа error line 1044. Для этого необходимо что бы везде (и в длл, и в приложении) стояли одинаковые версии Runtime Library (есть много вариантов: мультитреадед дебаг/мультитреадед/... ) - главное что бы они были одинаковые.
 

gfdjr5

[NULL]
Nov 25, 2012
563
0
0
http://www.gamedev.ru/flame/forum/?id=93403

[ADDED=gfdjr5]1444761339[/ADDED]
Мб пересесть с вс2013 на вс2010? Или даже вс6?

[ADDED=gfdjr5]1444762289[/ADDED]
Ну, или так:
Есль приличное количество статей, в то числе и на руском языке, о том как обойтись без рантайм библиотек, если очень хочется.
Правда придется пожертвовать весьма многим, например исключениями, STL(!), заменить функции из crt на фцнкции из kerrnel32
(например, использовать lstrcpy, lstrlen вместо strcpy, strlen. Это плохо влияет на портируемость), и возможно операторами new/delete.

Есть еще "грязный хак", в использовании MSVCRT.DLL от Visual Studio 6, все равно эта DLL стала часть Windows, начиная с ХР,
двже WS2_32.DLL (WinSock2) зависит от этой DLL. Таким образом можно использовать некоторые возможности CRT.
 
Last edited:

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Найди на Хабре статью "Создание компактных приложений на VC++"
Дядя Миша ото и сам такую статью писал, но - для шестой студии.
Стреляет правильно, но анимация перевёрнута.
Где-то в ивентах, не? Там вся эта пакость прячется.
В остальном xash crt почти не нужен.
Ибо свой есть.
Настоятельно рекомендую избавиться от Q_atof. Калечная она. К сожалению я слишком поздно это понял.
А ещё лучше - отвязать её вообще, т.к. в ксаше не просто свой аллокатор, но и своя crt
Я тогда ошибочно полагал, что меньше привязка к родному CRT - тем лучшее.
Хотя относительно str* я по прежнему так считаю. Но вот всё остальное вернул бы обратно, честное слово.
 

mittorn

New member
Apr 22, 2010
1,213
15
0
2 Дядя Миша:
У нас уже были споры по этому поводу.
Я даже заменянял функции на макросы. всё работало, но я решил вернуть как было - ведь зачастую системные библиоиеки могут быть хуже оптимизированы (в плане набора инструкций).

[ADDED=mittorn]1444766048[/ADDED]
Что с ивентами - не совсем понял. Тут ведь сервнр по другому работает. Ивенты - сугубо клиентская часть
 
Last edited:

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord