Перейти к контенту

Рекомендуемые сообщения

@dimich1984, щелкаешь ПКМ по проекту xrSound, в выпадающем меню выбираешь "Очистить". Ждёшь окончание очистки, затем перестраиваешь проект. Изменено пользователем Tpukcmep
  • Согласен 1

Тут собс-на вопрос возник: как сделать внутри окна WinAPI собственную консоль. (что-то типо log в X-Ray SDK) 

log в X-Ray SDK - это обычный listbox

Изменено пользователем abramcumner
  • Спасибо 1

Подскажите как такое сделать:

s = 's1$s2'
s1,s2 = s:match('^([^$]+)'), s:match('\$(.*)$')
s - shared_str.

 

А то как-то так повелось, что мои патерны на плюсах работают только на регулярных выражениях поисковика студии, там пишешь - все идеально, пытаешься запнуть тоже самое в игру, получаешь нечто словами неописуемое.

Да, и вторая часть строки опциональна, ее может и не быть.

Кто нить пробовал движок собрать в VS2015 Community. Есть статья по сборке движка на Сталкерин, но там для 2010 студии, от 2015 прилично отличается. Когда-то давно чуток кодил в VC++ 6, теперь все по другому. Смысл есть вопросы задавать по 2015 студии ?

@User_X.A.R26

Полно:

С этим что делать ?

s:\bugtrap\InPlaceNew.h(26): error C2084: функция "void *operator new(std::size_t,void *) throw()" уже имеет текст реализации
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vcruntime_new.h(86): note: см. предыдущее определение "new"
s:\bugtrap\InPlaceNew.h(37): error C2084: функция "void operator delete(void *,void *) throw()" уже имеет текст реализации
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vcruntime_new.h(92): note: см. предыдущее определение "delete"
 
С этим вроде понятно - судя по всему можно просто удалить из Encoding.h ?
s:\bugtrap\Encoding.h(21): warning C4005: HIGH_SURROGATE_START: изменение макроопределения
  C:\Program Files (x86)\Windows Kits\8.1\Include\um\winnls.h(93): note: см. предыдущее определение "HIGH_SURROGATE_START"
s:\bugtrap\Encoding.h(23): warning C4005: HIGH_SURROGATE_END: изменение макроопределения
  C:\Program Files (x86)\Windows Kits\8.1\Include\um\winnls.h(94): note: см. предыдущее определение "HIGH_SURROGATE_END"
s:\bugtrap\Encoding.h(25): warning C4005: LOW_SURROGATE_START: изменение макроопределения
  C:\Program Files (x86)\Windows Kits\8.1\Include\um\winnls.h(95): note: см. предыдущее определение "LOW_SURROGATE_START"
s:\bugtrap\Encoding.h(27): warning C4005: LOW_SURROGATE_END: изменение макроопределения
  C:\Program Files (x86)\Windows Kits\8.1\Include\um\winnls.h(96): note: см. предыдущее определение "LOW_SURROGATE_END"
Изменено пользователем UnLoaded

 

 

error C2084
Тут вроде как перегрузка операторов. Пробуй комментить и/или править. А можешь вообще выпилить BugTrap и не париться

 

warning C4005
Забей, ибо это просто предупреждение. Ну или выруби его отображение если сильно мозолит глаза

Плюнул на VS2015 - установил VS2013. Дело пошло лучше, но уткнулся в следующее:

1>3DNow!Lib.cpp(56): error C2365: nan: переопределение; предыдущим определением было "функция"
1>          C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\math.h(508): см. объявление "nan"
В файле 3DNow!Lib.cpp объявление выглядит так:
static const __int32 nan        =       0x7fffffff;
а в файле Microsoft Visual Studio 12.0\VC\include\math.h прописано так:
_CRTIMP double __cdecl nan(_In_ const char *);
Если я правильно мыслю - надо переименовать nan в 3DNow!Lib.cpp, и найти все его упоминания в проекте и заменить на новое имя ?
Изменено пользователем UnLoaded

Кто нить пробовал движок собрать в VS2015 Community.

 

Professional или Community - разницы нет. Основная проблема - изменения в стандарте языка и в библиотеках. Реально масса геморроя с тем, чтобы это заработало. С другой стороны, можно в студии 2015 использовать тулсет от предыдущих версий (если установлен конечно). В этом варианте вроде и менять ничего не надо, но это наверное не совсем то, что хотелось бы.

 

Я добивался сборки и работы движка ЗП в 2015 студии, но с оговоркой, что это очень сильно изменённый проект, сильно покоцанный и с массой моих изменений. Поэтому даже не могу точно сказать, что именно надо сделать и в каком минимально достаточном объёме, чтобы ванильный вариант заработал на студии 2015.

 

 

Если я правильно мыслю - надо переименовать nan в 3DNow!Lib.cpp, и найти все его упоминания в проекте и заменить на новое имя ?
или обернуть в namespace
А вообще на какой редакции и какие конкретно сорсы собираешь? Там ведь есть пару уже фикшенных вариантов сорсов ЗП от Лохотрона

 

 

А вообще на какой редакции и какие конкретно сорсы собираешь? Там ведь есть пару уже фикшенных вариантов сорсов ЗП от Лохотрона

Я не очень понимаю про какие-то редакции - скачал исходники из этой статьи, установил студию, теперь пытаюсь движок собрать...

Подскажите, что означает такая конструкция:

Переменная1 = Функция1(может вернуть true или false) ? Переменная2(типа float) : 0;

@UnLoaded

Переменная1 = Логическое значение ? результат если true : результат если false;

Аналог в lua

a = b == true and 50 or 0

Тернарный оператор называется, не забываем что этот оператор имеет минимальный приоритет.

Изменено пользователем НаноБот
Тернарный оператор называется

К чему такой мутняк ? Ведь в этом конкретном случае можно было написать:

if Функция1 then

     Переменная1 =  Переменная2

else

    Переменная1 =   0

end

Он дает какое то преймущество над if\else ?

Изменено пользователем UnLoaded

@UnLoaded, запись более короткая получается.

Например так короче.

virtual	int		GetCurrentFireMode	() { return m_bHasDifferentFireModes ? m_aFireModes[m_iCurFireMode] : 1; };

Функция возвращает размер очереди, если оружия имеет чисто одиночный огонь (в конфиге нет fire_modes), то возвращает размер очереди 1.

Изменено пользователем НаноБот

Нашел такое в исходниках

return !!m_flags.test(FAllowSprint);

Полез в Вики смотреть список операторов C++, нет такого "!!" оператора. Поясните, что это и как понимать ?

 

 

а два оператора. Используется для привдения к булеву типу.

Это типа так можно представить:  return (bool)m_flags.test(FAllowSprint); ?

 

Еще вопрос: пока читал про операторы, нашел там такую штуку "Синонимы операторов (диграфы)". Т.е. можно использовать синонимы(кстати привычные по Луа): and, or, not ну и еще несколько. Это работает в MS VC++ ?

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...