Решил попытаться настроить компиляцию Xash для VS2010. Нашел набор инструментов платформы v60 (Visual Studio 6) от Daffodil. Вообщем, это сборник инструментов для поддержки старых платформ в новых. Решил пока что подготовить один проект для компиляции, изменил свойства. Результата нету. Как и была куча ошибок, так и осталась. На их сайте люди пишут, что этот набор реально работает, хотя и есть обсуждения ошибок.
Может я не совсем понял, что означает набор инструментов платформы? Как я понял, через набор инструментов ведётся работа с проектом в среде разработки с какой-либо конкретной версией, в зависимости от определённой версии набор инструментов платформы (вроде туфта, не смог по-лучше сформулировать).
Даже не знаю, что предположить. Может никаких параметров самого компилятора не изменилось или ещё что?
Может у вас какие-нибудь мысли будут?)
Думаю кто-то наверняка хотел бы поработать с Xash, и при этом не скачивать старую версию VS. Мне, например, не хочется устанавливать лишние программы. А вдруг, потом интерес пропадёт.
Получается либо вечный стрейф влево, либо после отжатия клавиши стрейф разбиндивается. Это на фитце.
Добавлено 20-12-2017 в 11:24:
даже ";+moveleft" такое вызывает. Точка с запятой чтоли виновата?
Добавлено 20-12-2017 в 11:30:
When using actions commands in a bind (ie +attack or +left) the first action will automatically be stopped when the key is released. To prevent this, start the command with a semicolon:
bind q ";+mlook" (This will keep mlook on until a -mlook is executed.)
semerjon писал: Нашел набор инструментов платформы v60 (Visual Studio 6) от Daffodil. Вообщем, это сборник инструментов для поддержки старых платформ в новых. Решил пока что подготовить один проект для компиляции, изменил свойства. Результата нету. Как и была куча ошибок, так и осталась.
Потому, что если переходишь на новую студию - надо править проекты ручками. Хедеры подключить новые, функции сменить на новые, незначительные варнинги отключить. Набор инструментов - это компилятор, линкер и либы. Хедеры туда не входят. Заметь, часть хедеров чисто сишные, в папках самой студии. А часть - виндовые, в папках windows sdk. Больше для сборки халфы/ксаша не нужно, там ATL/MFC не используются. Разве что хедеры OpenGL, но они многр лет сохраняют обратную совместимость.
Добавлено 20-12-2017 в 19:40:
semerjon
Если тебе уж так лень править проекты, попробуй вручную подключить тулзы, хедеры и либы от 6-ой студии к 2010-й. Это реально работает с небольшими огрехами, я сам пробовал. Но настоятельно рекомендую апгрейдить проект вручную. Обратная совместимость с 6-ой студией остаётся почти всегда.
Crystallize писал: даже ";+moveleft" такое вызывает. Точка с запятой чтоли виновата?
Объясняю. Вот это вот:
Цитата:
Yo Den писал: bind q "+left; +moveleft"
Будет работать только в ксаше и в кутри, откуда я собственно этот механизм и попятил. Оно там парсит строку бинда, находит точку с запятой и разделяет команды. Ни в кваке ни в халфе ни во второй кваке это работать не будет, там код обработки клавиш исходит из предположения, что один бинд = одна команда и не разделяет их. Но при этом для каждого нажатия клавиши генерируется авто-отжатие. Т.е. когда вы вводите +cmd не через консоль, а через забинденную клавишу, движок автоматически генерирует точно такую же команду с минусом. Но, как я уже говорил, код нажатия клавиш в халфе-кваке не способен различить две команды в бинде, поэтому команда отжатия формируется только для первой в списке, а дальше эти команды отправляются в команнд-буффер, который в отличие от кода обработки кнопок прекрасно видит эту точку с запятой и разделяет строку на две команды, но команда отжатия генерируется только для первой. Вот поэтому вторая и "залипает". Я ж поэтому сразу сказал, что нужен alias, но кто в наше время слушает дядю Мишу
Добавлено 20-12-2017 в 17:30:
Цитата:
Crystallize писал: даже ";+moveleft" такое вызывает. Точка с запятой чтоли виновата?
Обработчик клавиш ждёт первым символом '+'. Если не находит, то команда авто-отжатия не генерируется и кнопка остаётся залипшей, пока ты вручную через консоль не напишешь -moveleft.
Решил исправить ошибки, возникающие при компиляции Xash в vs2010. Сделал серверную DLL, получилось и работает. Клиентскую всё исправил, кроме одной строки.
C++ Source Code:
1
//Файл - cdll_int.h
2
//Строка - 43
3
4
typedefint HSPRITE; // handle to a graphic
И ошибка ссылается на определение HSPRITE в windef.h (одна из библиотек WinAPI вроде).
И что-то никак не могу придумать как переопределить HSPRITE. В интернете не нашёл. Может предложите совет?
У меня проблема с точностью да наоборот - я хочу XDM собирать под шестёркой.
2010 для меня это злое зло...
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo