bitterhowl (и все, кому интересно), попробую как можно проще выразить по данным вопросам личную точку зрения (но нужно учитывать, что я не владею всем контекстом темы - мой последующий ответ есть попытка дать быстрый ответ, не погружаясь в подробности).
Цитата
Как не имеющий Steam в принципе, и не собирающийся его ставить, имею вопрос - в чём принципиальное отличие Steam-версии Второмеди от дисковой?
Полагаю, под принципиальным отличием в данном вопросе подразумевается потенциально возможное внесения изменений в исходный функционал игрового процесса Меди 2.
Давайте поразмыслим. Скажем, кто-то из нас программист из CA, получивший задание осуществить успешное портирование классической дисковой версии на цифровую стимовскую платформу.
В любой работе мы ограничены ресурсами времени, мы исходим из текущих приоритетов проекта, мы делаем то, что нужно, а не то, что хотим.
Один из фундаментальных законов, то бишь народная мудрость, гласит - "работает - не трогай". Даже здесь в моддинге это встречается.
Теперь подумаем, будет ли программист из CA вносить изменения в код фич игрового процесса, если нужно просто подключить программу к новомодным веб-сервисам ?
Предполагаю, что нет, пока на это не будет конкретного задания от руководства. Скажу больше - сдается мне, что именно в свете этой задачи и сделали единый экзешник Меди 2 на Стиме.
Зачем дублировать одну и ту же работу по подключению одних и тех же стимовских функций на два классических экзешника ?
Это можно сделать один раз (и сделать хорошо, избавившись от последствий дублирования уже проделанной работы, что по своей природе есть зло, т.к. есть потенциальный источник внесения ошибок), потребуется лишь объединить кодовые базы ванильной Меди 2 и дополнений в единый модуль развертывания.
Исходя из моего рассуждения, принципиальных отличий быть не должно. Но технически они есть, т.к. стимовский экзешник прибегает к вызовам стимовских функций из DLL библиотеки steam_api.dll (кажется, так называется). Но вряд ли, вряд ли этот код соприкасается с кодом игрового процесса. Подумайте, это же ценность CA, этот код продается и приносит деньги - его изменения нежелательны, особенно в свете замены одной детали на другую (GameSpy на Steam). Я не самый опытный мододел Меди 2, но мод опыт тестирования собственного мода (я используя и классическую дисковую и современную стимовскую версии одновременно) говорит о том, что они, скорее всего, эквиваленты.
Цитата
Приложение, ломающее лимиты, отслеживает запущен ли Стим, как пишут. Сработает ли оно, если запущена дисковая Второмедь на фоне просто работающего "пустого" Стима?
Зависит от того, как отслеживает. Если отслеживание заключается в том чтобы просто найти в памяти запущенный процесс с тем или иным именем (так, например, делаю я сам в своей программе лаунчера модов), то скорее всего сработает. Возвращаясь к теме находчивости, можно даже создать фейковую заглушку для стимовских процессов, т.е. это например могут быть тупо тестовые утилиты с тем же самым именем. Или вообще переименовать экзешники Меди 2 и подложить стимовскую DLL каким-то образом. Другое дело, если отслеживание заключается в том, чтобы проникнуть вглубь памяти запущенного процесса, что-то там заменить с целью, например, перепрыгнуть инструкцию, или подменить значение, то такие простецкие фокусы уже не прокатят.
Резюме - я считаю, что вся путаница вокруг версий классической и стимовской - порождена CA. Ну внесли они изменения служебного рода, после чего обновили циферку в версии своей проги - не потому, что что-то стало лучше в плане геймплея, а тупо потому, что рабочие процессы компании требуют фиксации изменения согласно той или иной стратегии версионирования. Движок один и тот же остался, просто 1.5 vs 1.52 есть отражение того факта, что изменилась инфраструктура дистрибьюции игры. Если нет явных чейнджлогов на сайте CA, что стимовская версия фиксит то и сё, то вероятность моих предположений высока.