
Шёл 1996 год, и мы с отцом проходили Doom 2 в кооперативном режиме. Но на одном из уровней мы застряли и не могли его пройти. В этот момент к моему отцу пришла гениальная мысль - дать нам вечные жизни, как в одиночной игре с помощью кода IDDQD. Но поскольку коды не работают в сетевой игре, нам пришлось вскрыть файл сохраненной игры. Таким образом, мы смогли получить бессмертие, а также все три ключа (синий, красный и желтый), все доступное оружие, патроны и 200 единиц брони.
Конечно, у этого подхода были некоторые сложности. Патроны заканчивались, а ключи исчезали при переходе на новый уровень, оставляя только бессмертие и остаток патронов с предыдущего уровня. Также бывало, что нас выбрасывало из игры - то отца, то меня. Но ничто не могло омрачить наше наслаждение этой замечательной игрой, и мы благодарны команде id Software за этот шедевр.
Сегодня я не нашел информации о том, как повторить этот трюк, поэтому мне пришлось восстановить его по памяти. Позволь мне объяснить, как это сделать для любого количества игроков (до 4).
Прежде всего, вам нужно войти в игру всеми игроками. Затем один из игроков должен сохранить игру, что приведет к появлению файла сохраненной игры с названием DOOMSAV0.DSG (цифра 0 может быть другой, в зависимости от слота сохранения).
Затем каждый игрок должен произвести следующие действия с файлом:
1. Откройте файл DOOMSAV0.DSG с помощью любого шестнадцатеричного редактора, например, Volcov Commander.
2. Откройте файл для редактирования, нажав F4, а затем снова нажмите F4, чтобы перейти в шестнадцатеричный редактор.
3. Вы увидите что-то похожее на следующее (на скриншоте будут отмечены места изменений):
Адрес: 000000F0
Линия: 16
Столбец: 9
Значение: 02
Player 1

Адрес: 00000210
Линия: 43
Столбец: 1
Значение: 02
Player 2

Адрес: 00000320
Линия: 63
Столбец: 9
Значение: 02
Player 3

Адрес: 00000440
Линия: 78
Столбец: 1
Значение: 02
Player 4

4. После внесения изменений загрузите сохраненную игру и наслаждайтесь процессом.
Что касается кода IDKFA, который даёт все ключи, всё оружие и патроны.
Это только для Player 1:

Для остальных игроков нужно вычислять.
Вообще, считаю это даже и не нужно, станет неинтересно.
Но если кому захочется, можете попробовать. Я ориентировался на значение: 2C 01, которое находится по адресу 000000E0.
Например, следующий игрок по адресу: 00000200 (2C 01)
По поводу того, что выкидывает из игры.
Заметил, что, если изменить файл только у одного игрока – будут проблемы. Поэтому каждый должен внести изменения. Т.е. во всех файлах должны быть изменения для всех игроков.
Просто переписать записанную игру на другой ПК тоже не получится.


Всем удачи.