Активность
- Сегодня
-
GChaldon присоединился к сообществу
-
Вот я о том же. Я не буду переносить из MCP такие мелкие фиксы как "широкое меню, фикс карты для TR и т.д."- это мелкие правки, в сравнении будто я переношу мелкую правочку из esp в esm, хотя правочка и так работает идеально. Для сохранения совместимости и универсальности надо перенести более глобальные и общие масштабные фиксы. Начнём с малого с MCP, через MGE (вообще прикрутить рендер DX9-11 нафиг 😄 ) к большему - MWSE.
-
Да, я согласен с вами полностью прогресс не должен вредить совместимости н ив коем случае, но что делать, допустим, с 4гб патчем? MCP находит в заголовке Morrowind.exe (PE header) специальное поле «Характеристики» и вписывает в него флаг 0x0020 (IMAGE_FILE_LARGE_ADDRESS_AWARE), говоря Windows: «Этому приложению можно доверять, позволь ему видеть больше памяти». Таким образом даются 4 ГБ памяти. И всё, это потолок. Но если мы хотим сделать 8 ГБ памяти тем же путём что и MGE XE, только на уровне движка, а не со стороны внешнего органа MGE XE?
-
ИМХО: стоит перенести только те правки то что MCP вносит в text.dll, что бы компенсировать невозможность обычным MCP пропатчить модифицированный text.dll. Остальной функционал MCP лучше оставить застывшим во времени, для совместимости с модами. Многие моды сделаны из рассчета MCP, если фикс будет вносится иным способом не факт что мод корректно заработает. Плюс продвинутые MWSE моды проверяют требуемые компоненты и выдают окно с требованием при запуске игры. Им будет все равно на содержимое text.dll, они проверяют в MCP какие опции установлены пользователем. А еще если мне не изменяет память без установки MCP последние версии толи MGE XE то ли MWSE выдают ошибку с русской версией morrowind.exe, не помню что именно. Так что нужно соблюдать баланс между прогрессом и совместимостью.
-
Загрузил стабильную версию 3.01.1 (сообщения при повышении уровня, буфер консоли гибридный) в раздел плагины, закрепил её файлы в шапке темы. Это будет отправной точкой в дальнейшем совершенствовании, в принципе с ней можно играть. (Она в оригинальном виде, каким сделал его Angel Death). Я уже провел полный рефакторинг файлов/кода. Разместил все по отдельным папкам. Теперь каждый файл .CPP либо .H структурно элегантен, не выполняет один всю работу. А именно console.cpp и helperfunctions.cpp. Приступаю к анализу того, какие правки необходимо перенести из MCP в text.dll на уровень движка. Необходимо не только text.dll вырвать из состояния "застыло во времени" но и правки из MCP.
-
wisefox присоединился к сообществу
- Вчера
-
Доделал MWSE меню управления ключами в angel.ini https://www.fullrest.ru/files/mwse-menyu-dlya-moda-russkiy-vvod-teksta Уже некоторое время хотел сделать проверку ключей top\cel\mrk и выводить предупреждение если отключено, т.к. иногда встречаются пользователи у которых выключено и у них криво работает перевод модов. Только я хотел это к своему модулю данных прикрутить как доп функцию, а тут вышел апдейт text.dll с выбором клавиши и я решил что выбор кнопки 100% нужно автоматизировать для простого игрока внутри морровинда, что бы не нужно было икать сканкоды и вручную вписывать. В результате сделал отдельное меню управления всеми параметрами. Вот как то так вышло.
-
yamizukz присоединился к сообществу
- Последняя неделя
-
Anton_dy присоединился к сообществу
-
И снова здравствуйте форумчане! Спешу вас порадовать тем, что я внёс исправление в расширение консоли (если включена функция EnableConsole=1 в Angel.ini)! Теперь при наличии длинных скриптов text.dll должен вести себя так, как и задумывалось! Коротко о том что было сделано: 1. Безопасность памяти. Увеличен буфер вывода с 1024 до 2048 байт в Con_Printf Заменён опасный sprintf на безопасный strncpy с принудительной нуль-терминацией Добавлена проверка памяти в .dump s команде через IsBadReadPtr 2. Умное управление ресурсами. Гибридная система буферов в GameCommandLine Быстрый стековый буфер 1КБ для обычных команд (как изначально было в статичной версии) Динамический буфер 4КБ для длинных скриптов (автовыделение) 3. Защита от переполнений. _vsnprintf с sizeof() вместо магических чисел Гарантированная нуль-терминация во всех строковых операциях Уменьшен массив argv со 1024 до 64 элементов для безопасности (если будет обрезаться строка, сделаю и его гибким, с изначальным значением 64 и он сможет увеличиваться по мере необходимости). А теперь о каждом действии и подробно: 1. Безопасность памяти (Buffer Overrun в Con_Printf): 2. Самое главное изменение - умная система буферов в GameCommandLine: Изначальная строгая статичная версия: Моя версия - гибкая, при получении текста/длинного скрипта сама выбирает какой буфер выделять для текущей операции: 3. Защита дампа памяти: Было (чтение любой памяти): Стало (проверка доступности): 4. Добавление защиты в сам файл Console.cpp: Прикрепляю новый text.dll c пофикшенной консолью и изменённым исходником консоли. Сохранена кодировка cp1251 (ох как же она мне дорога, кто бы знал....). Все предыдущие фиксы включены в эту версию. ПРОШУ ОБРАТИТЬ ВНИМАНИЕ, Я ДО СИХ ПОР НЕ МЕНЯЛ ВЕРСИЮ (написание версии text.dll) C ВЕРСИИ 3.00! Я ЭТО СДЕЛАЮ КОГДА БУДЕТ ПРОВЕДЕНА ПОЛНАЯ РЕВИЗИЯ ВСЕХ .cpp ИСХОДНИКОВ И ПРОЙДУТ ТЕСТЫ, ТОГДА ВЕРСИЯ СРАЗУ ПЕРЕПРЫГНЕТ С ВЕРСИИ 3.00 ДО версии 3.02! п.с если мне кто-то подскажет как я могу скрывать длинные рулоны сообщений под спойлер, буду премного благодарен. text.dll Console.cpp
-
jovep присоединился к сообществу
-
auduy присоединился к сообществу
-
То что было лицензионным в СССР вовсе не значит лицензионным за бугром. Тогда и музыку тырили в открытую мы у них, они у нас... Ни кто не выставляет иски по этому поводу. Однако после интеграции с зарубежьем в свободном использовании это исчезло. Новые игры типа Обливион или Скайрим не меняют EXE и DLL файлы, а следовательно не нарушают права. Но для продажи игры все равно должно быть разрешение и договоренность с авторами по процентам отчисления с продаж. Без разрешения можно продавать только отдельно русификатор без исходных файлов. Я уверен, что у 1С есть лицензии на продажу CD дисков. Не стало дисков - не стало продаж. Аналогично и для польской версии, но я не верю что за бугром дали добро на изменение игрового движка. В Морке есть поддержка кодовых страниц для языков, но внедрение DLL в исходник является нарушением не авторских прав, а защиты ПО.
-
Ну лично мое мнение, конечно не подтвержденное никакими пруфами что у ру издателей (не только 1с и у других) были права только на распространение дисков, даже если бессрочные, то с выходом дисков из обихода, они просто забили. Делать свой стим не особо выгодно, тем более заново права на цифровое распространение получать. А во всяких стимах\гогах нет ру перевода у старых игр, опять же из за отсутствия прав и исходников перевода, из за того что тогда отдавалось все на откуп местного издателя. А сейчас зарубежным издателям (не только бевезде) просто нафиг не сдалось искать кто там чего в 2002 году издавал в других странах, а если по документам права на сам перевод оставались у издателя еще и выкупать их у него. Вот лично это мое мнение. ну само по себе продажа ключей стим\гог нормально и проблемы где взять игру нет, вот с отсутствием русского перевода, который был на дисках, бедя
-
На скрине кусочек кода МВ, аглицкого. Не от 1с, а именно чисто породного как он есть. Где черным по синему нарисованы "официальные" языки. Что намекает. Другой вопрос, что сама беседка не стала себя обременять переводом (и заморочками с локалями), что для тех времен было нормальной практикой. Еще, на коробке с диском, ясно написано, что сие Лицензионная копия, а этому надо верить. В каких отношения 1с была с Беседкой, тема отдельного научного изыскания. Но учитывая статус 1с, "для перевода игры нужно разрешение" оно у них скорее всего было во всем феншуе, т.к. вкрячивать кусок кода в виде этого самого ДЛЛа, куда проще имея доступ к этому самому коду. Если же, 1с не имела ничего такого, то у беседки было полно времени (аж 20лет) чтобы высказать свое фи, в той, или иной форме. И если не изменяет память, то ни Обливион ни Скурицион, не вызывали у беседки вопросов к локализации. Другой вопрос, что 1с могла не дать разрешение на публикацию ру версию в ГОГЕ, либо оное не смогли "получить". Т.е. называть официально лицензионную копию (от1с))) - пираткой, несовсем корректно. Так проще делать, не? Проще повесить внешний патч, чем копать код, с низвестными последствиями по совместимости с модами и обновлениями. Бладмун это 2003, хотя да, с переводом он вышел едва не в 2005ом, там большая задержка была. А перевод и выход Морровинда в ру версии, осень 2002го. Может отдельную кнопку сделать? 😄 Одна версия, но, по умолчанию все "лишнее" выключено. Для включения, зайти в АнгелИни и что-то там поменять, после чего, Длл будет считывать во всей полноте привнося разумное и доброе и вечное. Они давно на всё положили на 32х. Впрочем, как и беседка на поддержку своих старых активов. А так конечно, теперь в тренде продажа ключей, а где вы возьмете саму игру, уже никого не волнует. 😄 Создание локализации != созданию лекарства от опроса диска и выкладыванию в открытый доступ без взимания налога на желания обрести желаемое.
-
всегда думал что сотни лицушных игр на дисках от 1с\акелла\бука\новый диск пропали с продажи, потому что диски вышли из обихода, а создавать "свой стим" не было денег\желания\целесообразности да лицуха была только на распространение дисков. А оказывается 1с просто всю жизнь пиратили... но вот ровно аккурат к окончанию массового использования данного носителя одумались и решили все больше ни ни. Обливион 1с тоже спиратили? эти диски тоже с продажи пропали и тоже в стиме\гоге не ру языка.
-
Не хочу проверять, но подозреваю что сейчас они просто ключи на стим или гог продают, поэтому и указывают английский язык. Так стоп, вроде по ссылке и нельзя купить, какая то старая карточка товара А раньше вроде как именно русскую версию продавали, я услышал об этом когда продаж уже не было, поэтому не могу сказать достоверно. сборки с модами на бусти никто за лицуху и не считает, изначально речь про диск от 1с шла. 1с же по лицензии диск морки выпускали?
-
Согласен, 1С много игр выпустила... своих... Даже сейчас вроде есть цифровая в продаже, только английская.: https://online.1c.ru/games/game/19055674 На стиме предлагают купить английскую и накатить "русификатор". А в русификаторе копия файлов от игры 1С, в том числе и morrowind.exe На других сайтах встречается морка на продажу и даже есть с готовым набором модов. Наивно считать их лицухой, P.S. Цифровую не смотрел, не знаю что там сделано.
-
Согласен с предыдущим оратором разные версии делать не нужно, только юзеров путать. Если сможете восстановить функционал 3.01 с фиксом отсутствующих сообщений, то 3.01 + ваши правки слепого пятна + настройка горячей клавиши уже стоит назвать 3.02 что бы юзер явно понимал: вот есть версия 3.02, в которой тоже что и в 3.01 + выбор клавиши. Хотя возможно я бы nocd сделал опционалом, что бы у каждой версии была версия X, и версия X+nocd. Потому что одно дело мод на выбор клавиши, другое дело кряк
-
На стиме есть только два оф.перевода для FR и DE от UbiSoft. В русской версии изменена "morrowind.exe", это делать за бугром ни кто не позволит. MCP патчит оригинальный ехе, но не выкладывает его измененным файлом. Перевод был сделан в далеком 2004 году. Тогда практически все было без лицензии. OpenMW позволяет запускать игру на телефонах и разных языках, это другой движок и разрешение для него не нужно. Делать две версии textdll не надо. Он либо есть, либо нет. Это как у MCP, нет упрощенной и полной версии.
-
и волки целы, и овцы сыты (с) Тогда решено - я сделаю одну версию, пофикшенную, которая останется на версии 3.01 (консоль, мб еще какие баги найду в коде) А вторая версия будет увеличивать свою версию 3.01-> 3.02 и т.д., но там будет меняться и развиваться патчи, фиксы модульность и другие фьюча хотелки. Либо предлагайте идеи, я всегда рад и открыт для предложений, ведь я не только для себя это делаю) п. с. Я тоже думал, что 1с - лицензия.