Sidebar

Xash3D SDL2 форк

Staff member
VIP
Mar 28, 2010
15,566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
а я добровольно ставил. Просто из интереса
В рассчёт не берём - сегодня поставил, завтра снёс. Из интереса.
Принимай охотнее код от других людей, вместо того, чтобы плеваться от того какой он, можно попытаться объяснить что не так.
Предлагаешь вместо того, чтобы писать код долго объяснять людям почему они мудаки? Еще лучше!
 

nemyax

тндайпц тра
Staff member
Модератор
Jul 30, 2015
643
25
18
Дядя Миша said:
Её никто и не ставит.
Я добровольно поставил. До последнего держал XP, но тут пошли 64-bit only игори и софт. Система не основная, включается только для запуска программ. Программы таки запускает, поэтому грех жаловаться.
 

FiEctro

Супер Модератор
Staff member
Супер Модератор
Jul 28, 2006
17,167
33
  • Золотая медаль 213
  • Neh
Отдавайте раз в пол года код на ревизию ДМ, чего тут спорить то?
 

mittorn

Active member
Apr 22, 2010
1,229
22
38
2 FiEctro:
А он согласится ревизить это говно?
Вроде наши ошибки - наши проблемы - сами ревизим (на фоне дифа с оригиналом все неудачные правки заметны).
Если какую-то часть надо - я могу даже в оригинальный ксаш перекинуть - чтобы Дяде Мише не парится с мержем (но только на 3224 разумеется).
 

FiEctro

Супер Модератор
Staff member
Супер Модератор
Jul 28, 2006
17,167
33
  • Золотая медаль 213
  • Neh
2 mittorn:
А я и не писал слать говно, у вас же уже кто то этим занимается. Вот набралось за полгода исправлений, провели ревизию, всё причесали, говно убрали и дали ДМ.
 
Staff member
VIP
Mar 28, 2010
15,566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
А он согласится ревизить это говно?
*пойот*
Нужно приготовиться терять потому что
Многие откажутся воспринимать это говно
Но,но,всегда есть это грёбаное "но"
В каждом выборе присутствует оно
Они одевают маску хип-хопа
Даже кричат,что у них чёрные жопы
Делая при этом из рэпа клоунаду
Но тогда я знаю как их называть надо
Это фальшивые Эм Си,они считают,что рэп это прикол
Шмаль,одежда,баскетбол
Клубы,понятия,хмурые лица,стрелы
Фильмы про нигеров,мат без предела
И всё.Таким нет любви,нет признания
Им всем противостоит моё сознание! :umnik:
 

a1batross

Umu~!
Jan 6, 2015
674
27
2 Дядя Миша:
А чем ты собственно сейчас занимаешься? Видишь наши ошибки, с моментальной скоростью показываешь что не так, почему мы мудаки и даже ведь не поспоришь.
 
Staff member
VIP
Mar 28, 2010
15,566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 a1batross: я вообще не собирался никуда лезть. Митторн зачем-то показал мне багфикс и пролетарское чутье сразу же забило тревогу - тут что-то не так. Если вы в чём-то не уверены - всегда же можно написать приватку или спросить прямо здесь в теме. Самая главная гадость, это когда вы что-то меняете, но при этом не имеет ни малейшего представления, где это потом может вылезти. Причём вылезает оно через полгода и уже ни с чем не ассоциируется. Расскажу недавний поучительный случай. Я в прошлом месяце писал конвертор карт из Q1, H2, HL, BSP2, BSP31 -> XashNT. В какой-то момент обратил внимание, что с карт пропали некоторые ротатабли на Dm-Knot. Т.к. я в этот момент уже вовсю переписывал рендерер, то решил, что они просто перестали отображаться. Но потом, я дописал рендеринг мира, а ротатабли так и не появились, причём на ощупь их тоже не было. Достал бэкапы, начал сравнивать. Баг возник в тот момент, когда я в конверторе карт энтити не просто пересохранял в новый формат, а парсил как в компиляторах и потом вызывал UnparseEntities. И я тут же всё понял. Там односвязный список, энтити парсятся в прямом порядке, а сохраняются в обратном. Вас никогда не удивляло, что в описании энтити класснейм то в самом верху, то в самом низу?
Это вот оно самое, тянется еще с кваки. Причём впрямую зависит от того, сколько раз были вызваны компиляторы. Даже если один и тот же компилер вызвать несколько раз, строки снова пересортируются. Переделал список энтить на двусвязный список, но баг не исчез. Дело в том, что по большому счёту порядок следования полей весьма критичен лишь в очень немногих случаях.
Одним из таких случаев является поле spawnorigin у ротатабли. Обычный оригин показывает место такой секретной комнатки, куда ротатабля помещается для корректного освещения радом, а в игре она появляется по месту спавноригина.
Нетрудно догадаться, что здесь двойная ошибка - прямая зависимость от порядка следования полей, особая расстановка порядка в FGD, зависимость от того прошла карта полный цикл компиляции или нет и самое интересное - был ли запущен hlcsg с параметром -onlyents. После первого запуска ротатабли исчезнут, после второго вернутся. Вообщем такое адское нагромождение UB.
То есть тут надо во первых сохранить энтити всегда в одном и том же порядке следования полей. Во вторых нивелировать зависимость у ротатабли от порядка их вызова. И такого говна со времён кваки тянется предостаточно, никто это не то что не фиксит, а даже не подозревает про его наличие.
 

a1batross

Umu~!
Jan 6, 2015
674
27
2 Дядя Миша:
само собой. Нет такого изменения, которое бы потом не повлекло за собой что-то ещё другое.
Понаступав на такие грабли достаточно, мы с mittorn и ничего особо не меняем, давно уже. Разве что поверх достраиваем. Кто-то со стороны -- да. Тут уже просто "недоглядели".
 
Staff member
VIP
Mar 28, 2010
15,566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 a1batross: я в стрёмных местах старался оставлять каменты, почему это говно нельзя трогать. Но не везде.
 

GNU/Hurt

Maïté
Mar 5, 2014
1,092
25
38
2 Дядя Миша:
>порядок следования полей весьма критичен

можешь кинуть список критичных полей?
 

mittorn

Active member
Apr 22, 2010
1,229
22
38
2 DarkEssence:
Да. Попробую с mingw сегодня подружить. Студией вроде уже собирали.
 

ComradeAndrew

๖ۣۜC++
Apr 2, 2010
1,044
28
7
0
2 mittorn:
А сборку под студию где посмотреть можно?

Post automatically merged:

Оффтоп
 
Last edited:

mittorn

Active member
Apr 22, 2010
1,229
22
38
2 DarkEssence:
это не я собирал.

Post automatically merged:

Сегодня успешно заставил работать 64битный ксаш.
С оригинальной cs_amd64.so заставить работать не получилось string_t не смог заставить работать т.к указатели расположены слишком далеко и offset не уменьшается.
А вот хл вполне запустился после нескольких правок.
Пришлось сделать следуйщее:
0. Заменить long на int чтобы попасть в модель данных lp64 не изменяя протоколов и прочего
1. Задефайнить MAKE_STRING как ALLOC_STRING везде
2. переписать аллокатор строк в движке - теперь он работает на статическом буффере
3. исправить типы, чтобы работали переходы между уровнями и сохранения
4. удалить сгенерированные файлы графов - их формат не совместим
5. Изменить стурктуру для seqgroup, чтобы после увеличения указателя сохранился её размер. seqgroup->data убран. Не знаю, нужен ли он, но ни одного использования отличного от 0 я не обнаружил. Может, здесь подскажут, где он действитльно используется
6. Убрать запись указателя на текстуру в модели в int. Передал обходным путём, так корректнее.
 
Last edited:
Staff member
VIP
Mar 28, 2010
15,566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Изменить стурктуру для seqgroup, чтобы после увеличения указателя сохранился её размер. seqgroup->data убран.
Известная тема. Я еще в 64-битных компиляторах для паранои с этим столкнулся.
А зачем вы вообще делали 64-битный ксаш?