HLFX.Ru Forum Страницы (41): « Первая ... « 36 37 38 39 [40] 41 »
Показать все 608 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- PrimeXT - логическое продолжение XashXT (https://hlfx.ru/forum/showthread.php?threadid=5371)


Отправлено XaeroX 21-02-2025 в 15:10:

Цитата:
Дядя Миша писал:
Зашибись, то есть мы ещё на разных платформах можем столкнуться с разным поведением?

Всё ещё хуже - можешь указать другую версию STL прямо в опциях gcc при компиляции.

Добавлено 21-02-2025 в 10:10:

Но в целом - STL стандартизован, разница - в идеале - должна быть только в частях, не описанных стандартом, то есть где поведение unspecified (не путать с undefined). Вот только никто не идеален, увы.

__________________

xaerox on Vivino


Отправлено SNMetamorph 21-02-2025 в 16:14:

Цитата:
XaeroX писал:
А можно, пожалуйста, пример такой реализации? Не совсем понял, о чём тут речь.

Да обычная хэшмапа поверх массива, как в сишке, без плюсов даже.

Добавлено 21-02-2025 в 20:14:

Цитата:
Дядя Миша писал:
Зашибись, то есть мы ещё на разных платформах можем столкнуться с разным поведением?

В теории да. На практике не слышал за всё время, чтоб кто-то с таким сталкивался, но думаю вполне ненулевой шанс этого есть. Потому что в том же линуксе даже с libc какой-то бардак полный которых есть несколько штук непонятно зачем разных, между собой несовместимых.

__________________
Мой сайт
Xash3D Modding Discord


Отправлено XaeroX 21-02-2025 в 17:45:

Цитата:
SNMetamorph писал:
Да обычная хэшмапа поверх массива, как в сишке, без плюсов даже.

Как раз "хешмапа поверх массива" и позволяет сохранить валидными итераторы при её изменении. Там другая проблема - нужно заранее выделить этот массив, то есть знать число значений хэш-функции.

__________________

xaerox on Vivino


Отправлено SNMetamorph 08-03-2025 в 18:41:

Цитата:
SNMetamorph писал:
Основную работу завершил около недели назад, теперь занимаюсь побочными делами: дорабатываю save-restore систему, чтобы можно было читать/писать значения через лямбда-коллбэки, т.к. текущая система может работать только со значениями которые находятся по некоему оффсету в памяти относительно объекта самой энтити.


В общем, возиться с save-restore системой я закончил и меня очень устроило, каким образом её получилось неинтрузивно доработать под новый код. Теперь она полностью удовлетворяет новым требованиям. Далее я начал переделывать код оружий под новую систему, 8 оружий из 14 уже готово, дело (почти) за малым. На последок останутся Egon, Gauss, Satchel и RPG - с ними возни будет побольше, чем со всем остальным. Ну а после того, как адаптирую весь этот код, останется только сделать окончательный обзор сделанных изменений и внести мелкие правки, если это потребуется. И в общем-то можно будет наконец-то мерджить этот пулл реквест, над которым я уже 8 месяцев работаю.

После этого я планирую начать доделывать до конца освещение, сейчас над этим ведёт работу ncuxonaT, и у него есть много наработок, но деталями исследованного и проделанного он пока ещё не делился. Ну вот и получается, я приму от него эту эстафету.

__________________
Мой сайт
Xash3D Modding Discord


Отправлено Дядя Миша 09-03-2025 в 08:51:

Краткие итоги проделанной работы (как это вижу я):

1. Теперь для компиляции требуются свежие версии студии, с поддержкой лямбд. На старых этот код уже не соберётся
2. Никакого нового функционала в процессе не добавилось, для пользователя абсолютно ничего не изменилось
3. Код стал нечитабельным и непривычным для пользователя. Лямбды ужасно уродуют код, на него без слёз нельзя смотреть.

Цитата:
SNMetamorph писал:
После этого я планирую начать доделывать до конца освещение

А что планируется?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено SNMetamorph 09-03-2025 в 09:44:

Цитата:
Дядя Миша писал:
Теперь для компиляции требуются свежие версии студии, с поддержкой лямбд. На старых этот код уже не соберётся


У меня нет задачи поддерживать что-то старее чем C++17 (которому уже как 8 лет), как и задачи поддерживать что-либо кроме актуальных версий Windows/Linux/Android. Насчёт MacOS не знаю: во-первых, эта платформа никому из релевантных юзеров не интересна, во-вторых неясно, можно ли её поддерживать малыми усилиями, как это и обстоит с другими платформами. Вполне возможно что морочиться с её поддержкой не будет стоить потраченного времени вообще.

Цитата:
Дядя Миша писал:
Код стал нечитабельным и непривычным для пользователя.

Если б я его хотел оставить привычным, я бы его тогда не рефакторил. Моя задача напротив состоит в том, чтобы хотя бы частично разгрести ту кучу дерьма и откровенно плохих (вероятно, сделанных в спешке) решений, которых в HLSDK немало (одним из которых как раз был предикт оружия). Но задачи сделать всё идеально нет - напротив, исправить надо всё только самое плохое. Причём, некоторые вещи даже не требуют больших усилий, но делают работу с SDK гораздо проще, как например исправление банального header hell. Довольно классическая ситуация, когда кто-то начинает ковырять код в SDK, что-то меняет в хидерах, и на него сваливается тонна абсолютно невнятных ошибок, и новички абсолютно теряются

Цитата:
Дядя Миша писал:
Никакого нового функционала в процессе не добавилось, для пользователя абсолютно ничего не изменилось

Ну это пускай юзеры сами прокомментируют. Если конечно кто-то из них ещё заходит на форум, в чём я вообще не уверен, ибо давно все уже ушли кто в ВК, кто в Discord, некоторые из них вообще только в ЛС мне пишут.

Что касательно самих юзеров, мне известно как минимум 5 живых проектов, из которых 1 уже не далёк от релиза (та самая Ионизация). Вполне возможно кто-то делает что-то ещё и я об этом не знаю, или же банально я кого-то забыл: https://github.com/SNMetamorph/Prim...ased-on-primext

Цитата:
Дядя Миша писал:
А что планируется?

Об этом также будет подробно расписано, но потом.

__________________
Мой сайт
Xash3D Modding Discord


Отправлено Дядя Миша 09-03-2025 в 12:56:

Цитата:
SNMetamorph писал:
Моя задача напротив состоит в том, чтобы хотя бы частично разгрести ту кучу дерьма

Так народ вообще лишний раз в сейв-рестор не лезет и не хочет этим заниматься. Хоть с лямбдами, хоть без. А в C++ ты в любом случае обречён прописывать метаинформацию руками. Хоть в какие макросы ты это обверни.

Цитата:
SNMetamorph писал:
исправление банального header hell

Если кто-то что-то и добавляет в SDK, не понимая сути, он это делает строго по туториалу. Ты же своими действиями просто обнулил нахрен все туториалы, которые копились годами. Теперь их не добавишь. Молодец.

Если же кто-то понимает что он делает, то он и без тебя там всё перепишет, как ему потребно, тот же SoloKiller, к примеру.
Ну и да, я сильно сомневаюсь, что автор Ионизации что-то кодил в SDK, т.к. он не по этой части. Но если бы туторы не утратили актуальность - мог бы что-то и добавить. Кстати Aynekko начинал именно так - добавлял туторы и потихоньку начал понимать что он делает, подразобрался и набрался опыта.
Ты для всех новичков просто закрыл нахрен эту возможность и сидишь довольный. Зато теперь всё на лямбдах стало, какая радость.
Я вообще не понимаю зачем там лямбды нужны.

Добавлено 09-03-2025 в 15:56:

ЗЫ. Я ведь в своё время так и написал: не стану трогать в ксаше стоковый код оружия, чтобы сохранить возможность добавлять туда туторы, чтобы была совместимость. А ты об этом совершенно не подумал.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено SNMetamorph 09-03-2025 в 13:12:

Цитата:
Дядя Миша писал:
Если кто-то что-то и добавляет в SDK, не понимая сути, он это делает строго по туториалу. Ты же своими действиями просто обнулил нахрен все туториалы, которые копились годами. Теперь их не добавишь. Молодец.

Если же кто-то понимает что он делает, то он и без тебя там всё перепишет, как ему потребно, тот же SoloKiller, к примеру.
Ну и да, я сильно сомневаюсь, что автор Ионизации что-то кодил в SDK, т.к. он не по этой части. Но если бы туторы не утратили актуальность - мог бы что-то и добавить. Кстати Aynekko начинал именно так - добавлял туторы и потихоньку начал понимать что он делает, подразобрался и набрался опыта.
Ты для всех новичков просто закрыл нахрен эту возможность и сидишь довольный. Зато теперь всё на лямбдах стало, какая радость.
Я вообще не понимаю зачем там лямбды нужны.


Я каждодневно мониторю англоязычное коммьюнити (которое гораздо больше русскоязычного) и прекрасно вижу, как это всё происходит. Туториалов там тоже кратно больше, спросить есть у кого, но в итоге народ всё равно сегментируется на две чётко очерченных группы - первая это те, кто ничего осилить не может даже с туториалами и/или персональной помощью (их тот самый Solokiller отправляет учить C++, 90% людей на этом этапе отваливаются), и вторая это те, кто просто своим усердием добивается чего планировалось даже без какой-либо помощи извне, либо с её минимальным количеством (что мне кажется как раз таки про Aynekko и в том числе). То есть по итогу все эти туториалы, да и персональная помощь, в общем-то не делают особой погоды, а ключевую роль играют собственные усилия человека. Мне прекрасно понятно, почему оно так - HL-моддинг в плане программирования никогда не был особо дружелюбным, во-первых банально потому что там не простой скриптовый язык, а мешанина из C/C++, притом ещё и с отвратительным кодстайлом и самой структурой проекта. Это, конечно, не идёт ни в какое сравнение с гаррисмодовским или роблоксовским Lua. Так что попытки свести туториалы к копипасте (из-за чего приходится категорически не вносить изменений в код) тут буквально как мёртвому припарка. Англоязычное коммьюнити в свою очередь тоже попытались сделать некий проект в лице Unified SDK, куда можно было бы копипастить код из их же туториалов с TWHL, но уже давно видно, что это не работает как задумано.

__________________
Мой сайт
Xash3D Modding Discord


Отправлено Дядя Миша 09-03-2025 в 13:23:

Цитата:
SNMetamorph писал:
но в итоге народ всё равно сегментируется на две чётко очерченных группы

Так я тебе ровно про это и говорю. Одни сами всё умеют, а другие только по туторам.

Цитата:
SNMetamorph писал:
То есть по итогу все эти туториалы, да и персональная помощь, в общем-то не делают особой погоды

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

Цитата:
SNMetamorph писал:
но уже давно видно, что это не работает как задумано.

А почему, кстати?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено SNMetamorph 09-03-2025 в 13:39:

Цитата:
Дядя Миша писал:
А почему, кстати?


Потому что люди, пытаясь делать мод без базового знания C++, не могут даже самые элементарные ошибки заметить и уж тем более исправить. И таких вот подавляющее большинство.

__________________
Мой сайт
Xash3D Modding Discord


Отправлено Дядя Миша 09-03-2025 в 14:19:

СолоКиллер им токсично отвечает конечно. Ну впрочем - его дело.

Я собственно именно поэтому и говорю, что если народ хочет новую пушку или нового NPC (законное вобщем-то желание), не надо его отправлять учить C++. Не надо отправлять его учить C# или Lua. Человеку не нужно знание языка. Ему новый монстр нужен. Или пушка. Тут классическая подмена понятий. Ему бы такой скриптег с параметрами, чтобы добавил и готово.
Там визуально интуитивно можно за полминуты разобраться. И не надо ставить никакую студию. Потому что человек за студией полезет на торренты, ему там насуют полную панаму вирусов и ему будет уже не до игр.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Crystallize 09-03-2025 в 14:25:

Цитата:
SNMetamorph писал:
их тот самый Solokiller отправляет учить C++

Звучит жестоко

Цитата:
SNMetamorph писал:
HL-моддинг в плане программирования никогда не был особо дружелюбным

Ты скачиваешь архив с сорцами Спирита, распаковываешь, открываешь проект и одной кнопкой мгновенно собираешь его в бинарник.
Хотя я никогда не лез в оружия, да.
А что там более дружелюбно чем моддинг HL? На том же Луа в роблоксе, если это эталон, как долго происходит настройка проекта? Нужно ли лезть в консольные менеджеры пакетов как в Питоне?

Что дают эти лямбды ваши? Сейврестор поглядел, не увидел их о_О


Отправлено SNMetamorph 09-03-2025 в 14:40:

Цитата:
Crystallize писал:
На том же Луа в роблоксе, если это эталон, как долго происходит настройка проекта? Нужно ли лезть в консольные менеджеры пакетов как в Питоне?

Насчет конкретно роблокса не знаю, но в гаррисмодовском Lua вся подготовка это создание текстового файла с .lua расширением, и всё. Тебе даже по факту никакая IDE не нужна.

Цитата:
Crystallize писал:
А что там более дружелюбно чем моддинг HL?

Не упускай деталь, что я именно про моддинг в контексте программирования говорил. HL-моддинг конкретно в плане работы с контентом наверное самое дружелюбное из того что есть, примерно наравне со всеми играми на Source движке, включая и гаррис мод.

Что дружелюбнее в плане работы с кодом: майнкрафт, гмод, роблокс, AMXX (боже упаси, но факт) и вместе с ним же Pawn который в SAMP используется (я сам с этого и начинал кодить в начале 10-х). Что точно НЕ дружелюбнее чем HLSDK, так это скриптинг под Skyrim. Он просто отвратителен и ужасен, у них там используется свой скриптовый язык и они умудрились сделать так, что оно хуже всего остального существующего, даже лоу-левельных языков. Левел-эдитор у них тоже просто отвратителен, неописуемо ужасен. Я очень слабо себе представляю, как при таком блевотном инструментарии народ сделал так много модов на него, но это опять таки подтверждает мой поинт про то что в моддинге народ на 2 принципиально разных группы сегментируется.

Цитата:
Crystallize писал:
Что дают эти лямбды ваши? Сейврестор поглядел, не увидел их о_О

Если ты посмотришь мой PR, то увидишь, что в сейв-ресторе лямбды там используются только в одном месте и дважды. А ещё то, что это существующий код вообще никак не затрагивает. Я не зря упомянул про то, что всё получилось сделать неинтрузивно.

__________________
Мой сайт
Xash3D Modding Discord


Отправлено Дядя Миша 09-03-2025 в 15:02:

Цитата:
SNMetamorph писал:
у них там используется свой скриптовый язык и они умудрились сделать так, что оно хуже всего остального

А можно примерчег как это выглядит?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено SNMetamorph 09-03-2025 в 16:22:

Цитата:
Дядя Миша писал:
А можно примерчег как это выглядит?

Ну разве что чем-то таким могу поделиться
http://www.cipscis.com/skyrim/tutorials/beginners.aspx

__________________
Мой сайт
Xash3D Modding Discord


Временная зона GMT. Текущее время 21:42. Страницы (41): « Первая ... « 36 37 38 39 [40] 41 »
Показать все 608 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024