SourceMod

addons SourceMod 1.10.0.6453

Нет прав для скачивания
Версия Дата выхода Скачиваний Оценка
1.10.0.6453 75 0.00 звёзд 0 оценок
1.9.0.6276 16 0.00 звёзд 0 оценок
Данная новость является вольным переводом официальной заметки на сайте SourceMod с замечаниями и правками от переводчика
Оригинал можно прочитать здесь

Новой стабильной веткой SourceMod теперь является версия 1.10. Как и всегда, некоторое время для старой ветки 1.9 будут доступны обновления геймдаты.

Новая версия включает в себя правки сообщества от следующих классных людей: headline, SlidyBat, PerfectLaugh, quasemago, Technoblazed, InvexByte, TiBarification, Pelipoika, Peace-Maker, thewavelength, rumblefrog, jason-e, Kailo, CrazyHackGUT, rsKliPPy, fakuivan, maximsmol, Silenci0, hydrogen-mvm, Hexer10, ddhoward, Bara, PowerLord, TheByKotik, komashchenko, BotoX, b3none, DJPlaya, PerfectLaugh, 404UNFca, JoinedSenses, TheDS1337, Batfoxkid, MartLegion, FortyTwoFortyTwo и Einyux.

Основные моменты этого релиза включают в себя:
  • Новый синтаксис для структур, оформленных с помощью enum. Подробнее - на нашей вики.
  • Поддержка 64-битных версий SRCDS.
  • Новые нативы для получения большего объёма информации касательно трассировки.
  • Обновлённая библиотека MySQL с поддержкой кодировки utf8mb4.
  • Новая команда для перезагрузки кеша databases.cfg без перезапуска сервера: sm_reload_databases
  • Повышение скорости компиляции за счёт многочисленных исправлений и изменений.
  • Изменение структуры бинарного файла плагина для будущих улучшений языка.
  • Улучшение стабильности и качества кода ядра.
  • Улучшение методмапов и документации API.
Все изменения, которые мы произвели в этой версии (замечание: изменения, помеченные знаком звёздочки, были так же перенесены и в SM 1.9):
Изменения SourceMod
  • [Исправление] Работа над багом CS:GO, связанный с таблицами строк (см. PR #1046)
  • [Исправление] Упрощение внутренностей логгера (см. PR #691)
  • [Исправление] Ошибка, вызывающая падение процесса из-за NULL в указателях на строки (см. PR #906) *
  • [Исправление] Возможность устанавливать -1/null в полях attacker и inflictor в хуке движка OnTakeDamage
  • [Исправление] CompileRegex() не всегда устанавливал корректный код ошибки (см. PR #775)
  • [Исправление] Компиляция с использованием Visual Studio 2017 и выше
  • [Исправление] SDKHooks: Сброс глобального идентификатора хука при снятии хука в Sourcehook (см. PR #916)
  • [Исправление] Предотвращение ошибок, связанных с использованием FrameIterator (см. PR #949) *
  • [Исправление] Улучшение текста ошибки для EmitSound() (см. PR #787)
  • [Исправление] BfRead.BytesLeft не был необязательным (см. PR #945) *
  • [Исправление] IBinTools: Блокировка загрузки несовместимых версий интерфейсов (см. PR #979)
  • [Исправление] Исправление неправильного пути к файлу matchmaking_ds, который использовался в некоторых случаях (см. проблему #1006)
  • [Исправление] Удаление лишнего использования MAPLIST_FLAG_NO_DEFAULT в стандартных плагинах (см. PR #870)
  • [Исправление] Исправление ошибки при переходе на резервную секцию default в маплистах (см. PR #923)
  • [Исправление] Исправление неправильного расчёта оставшегося времени после mp_restartgame в CS:S и CS:GO (см. PR #1072)
  • [Исправление] Новые нативы methodmap теперь опциональны (см. PR #867)
  • [Исправление] Удаление повторного форматирования в ReplyToCommand() (см. PR #932) *
  • [Исправление] Опечатка в PassType (см. PR #1018)
  • [Исправление] Улучшение описания в консольных переменных плагина номинаций карт (см. PR #758)
  • [Исправление] Улучшение описания у нативов CharToLower() и CharToUpper() (снова) (см. PR #750)
  • [Исправление] Исправление ошибки очередности параметров в документации к CancelClientMenu() (см. PR #982)
  • [Исправление] Улучшение документации в реализациях methodmap (см. PR #788)
  • [Исправление] Использование GetClientAuthId() в FormatUserLogText() (см. PR #805)
  • [Исправление] Добавлен отсутствующий вызов MarkNativeAsOptional() для SetAuthIdCookie() (см. PR #879)
  • [Исправление] Отправка сообщений ShowActivity() для клиентов SourceTV (см. PR #813)
  • [Исправление] Исправление ошибок, вызываемых sm_help при вызове во время процесса подключения (см. PR #723)
  • [Исправление] basevotes: Увеличение размера буфера для карт Workshop (см. PR #956)
  • [Исправление] Исправление неправильного форматирования Vote Delay Minutes когда задержка около 60 секунд (см. PR #1009)
  • [Новое] Поддержка 64-битной версии CS:GO для Linux и MacOS (см. PR #705)
  • [Новое] Добавление нативов трассировки (TR_EnumerateIntities(), TR_EnumerateEntitiesHull(), TR_ClipRayToEntity(), TR_ClipRayToEntityEx(), TR_ClipRayHullToEntity(), TR_ClipCurrentRayToEntity(), TR_ClipCurrentRayToEntityEx()) (см. PR #754)
  • [Новое] Добавление натива Tr_GetHitBoxIndex() (см. PR #1085)
  • [Новое] Добавление натива RemoveEntity() (см. PR #745)
  • [Новое] Добавление команды sm_reload_databases (см. PR #773)
  • [Новое] Добавление поддержки 64-битных целых чисел в методмапе Protobuf (см. PR #943)
  • [Новое] Разрешение различных значений для платформы в секции Keys в геймдате (см. PR #765)
  • [Новое] Открытие меню при наличии нескольких карт на неопределенный фильтр для команды !nominate (см. PR #983)
  • [Новое] Добавление натива Regex.MatchAll() и исправление поведения MatchRegex() для соответствия документации (см. PR #767)
  • [Новое] MySQL: Поддержка нескольких наборов результатов в подготовленных запросах (см. PR #825)
  • [Новое] Добавление натива LogStatckTrace() (см. PR #685)
  • [Новое] Добавление натива Protobuf.HasField()
  • [Новое] Добавление методмапа CommandIterator, включающий CommandIterator.Plugin для получения плагина, зарегистрировавшего команду (см. PR #819)
  • [Новое] Добавление отсутствующего возвращаемого значения в документации для CreateDirectory()
  • [Новое] Исправление различных регрессий и неопределенного поведения (см. PR #1022)
  • [Улучшение] Обновление поддержки игр для CS:GO, BMS, Empires, NMRiH, Insurgency, PVKII, IOSoccer, ZPS *
  • [Улучшение] Перемещение семантики для StringHashMap (см. PR #589)
  • [Улучшение] Удаление блокировки конфигурации БД (см. PR #791)
  • [Улучшение] Добавление описания для TFCond (см. PR #1005)
  • [Улучшение] Добавление методмапа Profiler (см. PR #814)
  • [Улучшение] Добавление методмапа GameData (см. PR #766)
  • [Улучшение] Добавление методмапов GlobalForward и PrivateForward (см. PR #1004)
  • [Улучшение] Добавление методмапа Cookie (см. PR #1012)
  • [Улучшение] Добавление геттера для Event.BroadcastDisabled (см. PR #946)
  • [Улучшение] Добавление методов Sort() и SortCustom() в методмап ArrayList (см. PR #1003)
  • [Улучшение] Добавление метода File.Flush() (см. PR #1056)
  • [Улучшение] Обновление TF2_IgnitePlayer() для поддержки установки длительности горения (см. PR #1038)
  • [Улучшение] Добавление вспомогательного шаблонного класса для повышения безопасности типов для вызовов функций (см. PR #965)
  • [Улучшение] Добавление дополнительных специфичных для TF2 константных DMG_ значений (см. PR #756)
  • [Улучшение] Добавление дополнительного идентификатора нестандартного убийства для TF2 (см. PR #972)
  • [Улучшение] Добавление щита и отталкивающая мина в cstrike.inc (см. PR #991)
  • [Улучшение] Разрешение возвращать любые значения в каллбеках нативов (см. PR #857)
  • [Улучшение] Добавление RequestFrameCallback с опциональным параметром для данных (см. PR #1068)
  • [Улучшение] Обновление sm_ban, sm_kick и sm_map для отображения меню, если выполняются без аргументов (см. PR #838)
  • [Улучшение] Использование кол-ва нулей в зависимости от кол-ва плагинов для вывода в sm plugins list (см. PR #1027)
  • [Улучшение] Улучшение текста ошибки для CreateNative() (см. PR #903)
  • [Улучшение] Использование настоящей сортировки для списков карт (см. PR #907)
  • [Улучшение] Добавление интернационализации (переводов) для basechat и исправление цветов для CS:GO (см. PR #674)
  • [Улучшение] Переход сеттеров/геттеров клантегов CS:GO на использование нетпропов + смещение по сигнатуре + смещение (см. PR #922)
  • [Улучшение] Стандартизация поиска карт среди движков, подобных TF2 (см. PR #931)
  • [Улучшение] Изменение MultiTargetFilter на typeset, позволяющий использование ArrayList (см. PR #955)
  • [Улучшение] Удаление использования оператора goto в ExtensionSys.cpp (см. PR #729)
  • [Улучшение] SQL Admin Manager: Чистка кода (см. PR #974)
  • [Прочее] Переписывание реализации DataPack (см. PR #688)
  • [Прочее] Прекращение использования примитивных функций float в угоду стандартным операторам (см. PR #763)
  • [Прочее] Обновление клиентской библиотеки MySQL до версии 5.5 (поддержка кодировки utf8mb4) (см. PR #786)
  • [Прочее] Обновление библиотеки SQLite до версии 3.26.0 (см. PR #783 и #935)
  • [Прочее] Увеличение размера константы MAX_NAME_LENGTH для соответствия константе CS:GO MAX_PLAYER_NAME_LENGTH
  • [Прочее] Использование безопасного strcpy где это возможно (см. PR #784 и #785)
  • [Прочее] Удаление интерфейса IDataPack (см. PR #864)
  • [Прочее] Обновление параметров в примере расширения для более sourcehook-friendly (хз даже как это правильнее всего перевести, чтобы было понятно - прим. переводчика) (см. PR #886)
  • [Прочее] Добавление инструкции компилятора #deprecated для GetMaxClients() (см. PR #818)
  • [Прочее] Добавление инструкции компилятора #deprecated для FormatUserLogText() (см. PR #856)
  • [Прочее] Очистка кода официальных плагинов (см. PR #777)
  • [Прочее] Исправление сборки на GCC 9 (см. PR #1024)
  • [Прочее] Добавление инструкции компилятора #deprecated для SQL_QuoteString() (см. PR #792)
  • [Прочее] Добавление пометки о зависимости FormatTime() от платформы (см. PR #908)

Изменения SourcePawn
(в этом разделе возможна наибольшая концентрация ошибок и ляпов перевода, т.к. пункты в нём даны сложным техническим языком, и как именно перевести их без потери смысла - сложный вопрос. в данном разделе лучше смотреть приводимые ссылки к ознакомлению и читать шапку обсуждения + дискуссию, чем полагаться полностью на текст. некоторые пункты в переводе убраны насовсем из-за сложности представления - прим. переводчика)
  • [Исправление] Исправление ошибки, связанной с инициализацией динамического char[] (см. PR #176)
  • [Исправление] Исправление утечки типа HEA при использовании оператора break в вложенных скоупах (см. PR #207)
  • [Исправление] Исправление ошибки, связанной с return в switch (см. проблему #236)
  • [Исправление] Исправление ошибки, приводящей к крашу при индексировании массива с помощью литерала (см. PR #286)
  • [Исправление] Исправление ошибки, приводящей к крашу при использовании плохо сформированного if выражения (см. PR #297)
  • [Исправление] Исправление ассерта, который срабатывал на неопределенном массиве (см. PR #290)
  • [Исправление] Исправление ошибки, приводящей к крашу при включении профилировщика (см. PR #316)
  • [Исправление] Уничтожение поддержки нескольких кодировок и исправление ошибки при запуске компилятора, приводившей к segmentation fault (см. PR #238)
  • [Исправление] Ослабление проверки типов для неявно прототипированных функций (см. PR #371)
  • [Исправление] Исправление опции запуска компилятора -D (см. PR #259)
  • [Исправление] Поиск стандартного include-файла в путях с инклудами
  • [Исправление] Увеличение счётчика ошибок при срабатывании фатальной ошибки (см. PR #171)
  • [Исправление] Исправление segmentation fault в DocGen (см. PR #185)
  • [Исправление] Исправление неправильного отладочного codestart в переменных структуры (см. PR #309)
  • [Исправление] Исправление регистрации инкрементов/декрементов в интерпретаторе (см. PR #190)
  • [Исправление] Исправление анонимной конкретизации методмапа (?!? - прим. переводчика) (см. PR #206)
  • [Исправление] Запрет ссылок на неопределенные аргументы массива (см. PR #315)
  • [Исправление] Удаление использования pow10() и прокладки для поддержки libc 2.27+ (см. PR #208)
  • [Исправление] Исправление некорректного упоминания проблемного файла в тексте ошибки когда отсутствует семиколон (точка с запятой) (см. PR #331)
  • [Исправление] Запрет на переопределение typedefs и typesets (см. PR #351)
  • [Исправление] Исправление ошибки, когда неиспользованные функции, помеченные stock, всё равно попадали в бинарный файл (см. PR #366)
  • [Исправление] Исправление предупреждения когда не-стоковые функции используются стоковыми функциями (?!? - прим. переводчика) (см. PR #352)
  • [Новое] Добавлен новый переходный синтаксис для структур (см. PR #287)
  • [Новое] Добавлена директива компилятора #warning (см. PR #170)
  • [Новое] Добавлена константа __LINE__ (см. PR #180)
  • [Новое] Добавлены метаданные RTTI и заменены старые секции с отладочными символами (см. PR #210)
  • [Новое] Копирование отладочного названия функции в стек для краш дампов (см. PR #159)
  • [Новое] Добавление базовой поддержки отладочного API для брейкпоинтов (см. PR #216)
  • [Новое] Полная поддержка базовых операций с плавающими числами в spshell (см. PR #195)
  • [Новое] Замена поля codeversion на поле поддерживаемых особенностей (см. PR #198)
  • [Улучшение] Добавлена оптимизация для not (см. PR #165)
  • [Улучшение] С++-фикация кода компилятора
  • [Улучшение]Улучшение скорости компиляции
    • Улучшение скорости компиляции за счёт оптимизации stgwrite (см. PR #183)
    • Оптимизация компиляции для больших глобальных массивов (см. PR #184)
    • Переписан лексер (см. PR #264)
    • Улучшение производительности компилятора при обработке символов
    • Переписано обрезание символов (см. PR #269)
    • Полный постоянный переход на UTF-8 (см. PR #270)
    • Удаление абстракции MEMFILE (см. PR #274)
    • Удаление трёх проходов при кодогенерации (см. PR #277)
    • Исправление утечек памяти (см. PR #280)
    • Замена макро-листа на хэш-таблицу (см. PR #282)
    • Удаление cmptag (см. PR #260)
  • [Улучшение] Упрощение инлайн фреймов выхода (см. PR #345)
  • [Улучшение] Расширение семантики в инструкции RETN (см. PR #192)
  • [Улучшение] Представление нового способа кодирования массивов
  • [Улучшение] Перенос проверок стэка в "function prologue" (см. PR #223)
  • [Прочее] Совмещение реализации HALT с интерпретатором и верификатором (см. PR #175)
  • [Прочее] Удалены then, begin и end токены (см. PR #161)
  • [Прочее] Удалено #pragma rational (см. PR #193)
  • [Прочее] Удалены неиспользуемые константы, вроде cellbits, charmin (см. PR #360)
  • [Прочее] Добавлена команда -v / --version в spshell с выводом доступности JIT'а (см. PR #203)
  • [Прочее] Добавлен аргумент компилятора -z, позволяющий настроить степень сжатия (см. PR #272)
  • [Прочее] Улучшение тестов (см. PR #204)
  • [Прочее] Исправление сборки на XCode 10 и выше (см. PR #326)
  • [Прочее] Использование clang-форматирования для проверки стиля кода (см. PR #340)
На странице загрузки стабильных сборок теперь располагается SM 1.10. Страница с разрабатываемыми сборками теперь ссылается на новый SM 1.11.
Большое спасибо Peace-Maker за написание этого новостного поста для нас!

Источник
  • Нравится
Реакции: Denzer
Сверху Снизу