UFO Extender (рус.)

From UFOpaedia
Jump to navigation Jump to search

Автор: Seb76

Оригинал статьи находится на личной странице пользователя (англ.).

Я был еще пацаном, когда появилась эта игра. У меня не было компьютера, но я помню, как играл в нее на компьютере отца своего друга, это было просто потрясающе. Прошли годы и трехмерность полностью изменила лицо видеоигр. Главный акцент ушел в количество полигонов и кадров в секунду. Duke Nukem, Quake, Unreal, — назовите любую. Я совершенно забыл об играх "прошлой эры". Позже мой интерес к эмуляциям привел меня к проекту DosBox; настоящая машина прошлого... После всех этих трехмерных оргий я решил дать ему шанс и начал новую игру в старый X-COM просто развлечься. Но затем разом нахлынули воспоминания; музыка, огромные пиксели, напряжение первого террора... Ощущения не изменились после всех этих лет. Так же несравненно. Я думаю, награду "лучшая игра всех времен" игра получила заслуженно. Я также пробовал спиноффы "UFO after-xxx", но я думаю, что их псевдо-реалтайм аспект затер то, что делало X-COM уникальным для меня, то ощущение, когда вы нажимаете кнопку "Конец хода". Все могло случиться далее...

Теперь (nowaday) большинство моих занятий с XCom — анализ его кода и попытки объяснить (and trying to explain the odd behaviors) поведения и посмотреть, как игра может быть изменена (с помощью нескольких патчей). Я постараюсь собрать здесь наиболее интересные куски, которые я смог найти (большинство моих находок на данный момент разбросаны по всей странице обсуждения). Не стесняйтесь использовать страницу обсуждения, если у вас есть вопросы и предложения.

UFO Extender

Модификатор является загрузчиком, я работаю над добавлением функциональности/исправления игры UFO Collector edition. Вы можете скачать его здесь: File:UFOLoader.zip. Загрузчик патчит программу в памяти, он не модифицирует исполняемый файл. Также преимуществом является то, что он не изменяет файлы на диске, таким образом риск потери вашей установки игры минимален (однако есть смысл сделать бэкап папки с игрой перед использованием загрузчика). Изменения не прерывают игру: нет необходимости в перезагрузке или в ожидании перехода глобус/тактика для того, чтобы увидеть применение патчей.

По умолчанию не применяется ни один патч; вам необходимо активировать их в *.ini файле. Для использования просто распакуйте *.zip файл в папку с вашей игрой XCOM, отредактируйте *.ini файл и запустите файл UFOLoader.exe. Он ищет файл с именем "UFO Defense.exe" (вы можете настроить (arrange) это в *.ini файле). Конечно, если ваш компьютер повиснет в процессе использования загрузчика — я не понесу никакой ответственности...

Не стесняйтесь сообщать обо всех замеченных проблемах, я попытаюсь помочь вам исправить их. Также легко принимаются любые идеи, даже если они стоят целого мода ;-)

ВНИМАНИЕ: Вам необходим VC2008 runtime для запуска этой программы. Если он не установлен, вы можете взять его здесь. Также если вы захотите использовать mp3 патч, у вас должен быть установлен Windows Media Player.

Для любопытных — исходные тексты доступны здесь: File:UFOExtender-src.zip. Код ужасен, но я слишком ленив, чтобы исправить это...

Кроме того, я заметил на форумах, что некоторые люди пытаются запустить загрузчик вместе с et_2005: мало шансов, что будет работать. Я полагаю, et_2005 сильно изменяет двоичные файлы и попытки патчить их вполне опасны. Некоторые вещи могут работать, некоторые другие не могут; вы поступаете на свой страх и риск. Наконец, я не делаю модификаций DAT файлов, поскольку есть уже много модов на их основе. Это позволяет им работать с загрузчиком (вот почему некоторые фичи xcomutil будут работать, до тех пор, пока они основываются на модифицировании ресурсов).

Экран снаряжения

Этот патч изменяет экран снаряжения. Он эффективно показывает характеристики полностью ;-)

  • Перед боем изменяет экран на такое (в финальной версии psi-характеристики показаны только в том случае, если был тренирован psi-уровень):

Equip.png

  • В процессе миссии экран снаряжения выглядит так:

Ingame.png

  • Также вы можете сделать видимым ранг:

Rank.png

(Строка "Weight>" внизу здесь только потому, что я использовал модифицированный english.dat со старой версией, вы не увидите этой строки в вашей версии)

  • Показывает статус гранаты: если вы выбрали взведенную гранату, это будет отражено в описании
  • Сохранение снаряжения: автоматически снаряжает вашу команду по их последней комплектации оружием (КРАЙНЕ ЭКСПЕРИМЕНТАЛЬНО). Новобранцы получат пистолет и немного патронов, но ничего навороченного. Не забудьте снарядить их должным образом
  • Авто осветители: автоматически снаряжает осветителями (если они есть на судне) в ночных миссиях (работает только с Сохранением снаряжения)

Музыка

PSX CD

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

  • 1,2,3,4: geoscape music
  • 5: gmdefend
  • 6: gmenbase
  • 7: gmmars
  • 8: gminter
  • 9: gmstory
  • 10,11: battlescape music
  • 12: gmnewmar

gmwin и gmlose отсутствуют. Из-за сходства gmlose заменяется gmstory и gmwin с gminter.

Музыка в формате MP3

Если у вашей игры есть музыкальные файлы *.mp3, вы можете использовать их вместо используемых по умолчанию MIDI (например, см. *.ini файл по умолчанию). Обратите внимание, что музыка intro по-прежнему будет использовать оригинальные файлы.

Анализ обломков

До строительства гипер-волновых декодеров невозможно узнать, какие миссии выполняют пришельцы. Даже после подбора инопланетного корабля, разведка XCOM не в состоянии определить, что было его целью. Теперь это не так. Захваченные навигационные модули теперь могут быть проанализированы и способны показать, какие дьявольские намерения имели пришельцы:

Wreck analysis.png

Вероятность получения информации основана на уровне сложности и на количестве элементов навигации НЛО, захваченных на миссии. Миссия НЛО и географическая зона также могут быть определены индивидуально.

Розуэлл мод

Делает возможным падение scout-кораблей в процессе их миссий:

Roswell.png

Это может случиться с любым разведчиком (scout), вне зависимости, обнаружен он или нет. Упавший НЛО станет видимым, так что вы сможете провести миссию подбора.

Ошибка разрыва модулей базы

Disjoint.png

Очередь строительства базы

Вы можете устанавливать модули базы на будущее. Постройка начнется, как только будет возможна:

Queue1.png Queue2.png

Средства зачисляются, когда вы помещаете элемент. No refund is possible. Могут быть некоторые проблемы с модулями 2x2, сообщайте о любых замеченных проблемах.

Тяжелый лазер

Добавляет 2 режима стрельбы тяжелому лазеру (который тянет много времени изначально :p):

  • Режим серийного огня (Burst mode): вы выбираете 3 цели и солдат сделает 5 выстрелов серийно (по каждой цели и между ними)

Burst1.png Burst2.png Burst3.png

  • Полностью автоматический: вы выбираете 2 точки, солдат покрывает область между ними 8 выстрелами

Fullauto1.png Fullauto2.png Fullauto3.png

  • Стрельба из оружия будет стоить 50 очков выносливости

Прицельность, основанная на дальности

Модифицирует прицельность, основываясь на расстоянии до цели. Прицельность уменьшается линейно (2% на клетку) при стрельбе за пределами режима огня:

  • автовыстрел: 7 клеток
  • навскидку: 15 клеток
  • прицельный: без штрафа

Эти значения следует рассматривать как первую прикидку; они настраиваемы в *.ini файле, так что легко пробуйте тестировать другие натройки и сообщайте, если найдете оптимальные.

Acc0000.png Acc0001.png Acc0002.png

Stun Fest

Добавляет команду "Оглушение" ("Stun") к меню большинства оружия. Очки времени/урон основаны на классе оружия:

Класс оружияОглушающий уронОчки времени, %
Пистолеты2015
Ружья и малая ракетница5040
"Тяжелые" вооружения и автопушка6550
Ракетницы8080
Шокер (без изменений)6530

Исправления ошибок игры

Горячие клавиши

Включены горячие клавиши. Раскладка клавиатуры — qwerty.

Горячие клавиши по умолчанию в режиме глобуса

  • Стрелка вверх: Вращать вверх
  • Стрелка вниз: Вращать вниз
  • Стрелка влево: Вращать влево
  • Стрелка вправо: Вращать вправо
  • Колесо мыши вверх: Приближение
  • Колесо мыши вниз: Отдаление
  • 1: Время в режиме глобуса 1
  • 2: Время в режиме глобуса 2
  • 3: Время в режиме глобуса 3
  • 4: Время в режиме глобуса 4
  • 5: Время в режиме глобуса 5
  • 6: Время в режиме глобуса 6
  • Средняя кнопка мыши: Перехват
  • B: Базы
  • G: Графики
  • U: Уфопедия
  • Escape: Настройки
  • F: Финансирование

Горячие клавиши по умолчанию в тактическом режиме

  • Стрелка вверх: Выбранный объект движется вверх
  • Стрелка вниз: Выбранный объект движется вниз
  • Стрелка влево: Меню левой руки
  • Стрелка вправо: Меню правой руки
  • Return: Конец хода
  • Escape: Меню настроек
  • BackSpace: Перейти к следующему объекту, удалить текущий из очереди
  • Tab: Перейти к следующему объекту
  • Пробел: Экран снаряжения
  • PageUp: Поднять обзор на один уровень
  • PageDown: Опустить обзор на один уровень
  • 1: режим резервирования времени — выключен
  • 2: режим резервирования времени — навскидку
  • 3: режим резервирования времени — авто
  • 4: режим резервирования времени — прицельный

Имена клавиш

Стандартные клавиши (A, 2 и т.д.) отрабатывают как есть, кроме них доступны следующие "специальные" клавиши (регистр влияет):

  • Back
  • BackSpace
  • Back Space
  • Tab
  • Clear
  • Return
  • Enter
  • Shift
  • Control
  • Menu
  • Pause
  • Escape
  • Space
  • Prior
  • PageUp
  • Next
  • PageDown
  • End
  • Home
  • Left
  • Up
  • Right
  • Down
  • Print
  • Insert
  • Delete
  • Num0
  • Numpad0
  • Num1
  • Numpad1
  • Num2
  • Numpad2
  • Num3
  • Numpad3
  • Num4
  • Numpad4
  • Num5
  • Numpad5
  • Num6
  • Numpad6
  • Num7
  • Numpad7
  • Num8
  • Numpad8
  • Num9
  • Numpad9
  • Multiply
  • Add
  • Separator
  • Subtract
  • Decimal
  • Divide
  • F1
  • F2
  • F3
  • F4
  • F5
  • F6
  • F7
  • F8
  • F9
  • F10
  • F11
  • F12
  • MouseMiddle
  • MouseWheelUp
  • MouseWheelDown
  • MouseWheelLeft
  • MouseWheelRight

Если вам нужна клавиша, не перечисленная здесь, и вы знаете ее VK_ код *, вы можете указать ее с помощью шестнадцатеричного (hex) значения (например, 0x90 для Num Lock)

Решение довольно грязное, ожидайте побочные эффекты и сообщайте о них...

Моды

  • Горячие гранаты: они взрываются даже при переброске...
  • Инвентарь пришельцев: доступ к инвентарю контролируемых пришельцев разрешен
  • Корабли всегда готовы: разрешает судам взлет даже при отсутствии 100% заправки/перевооружения/ремонта
  • Пришельцы не будут выглядеть беспечными при вашем штурме севшего НЛО. Теперь вы можете получить сопротивление, как будто их корабль был сбит. Замечу, что это не было тщательно протестировано, так что не стесняйтесь сообщать о любых произошедших странностях при активации этого патча!!
  • Заставку можно пропустить
  • Почему мы не можем использовать оружие чужих без исследования? В конце концов, пушки это пушки, вы просто давите на курок ... Для этого был добавлен новый взлом. При активации вы сможете использовать все найденные вещи пришельцев. Конечно, все еще необходимо их изучить, прежде чем вы сможете их производить!
  • Запрещен дрейф бластерной бомбы: отключены случайности, применяемые к траектории бластерной бомбы между точками. Это решит вопросы дрейфа, проявляющиеся с бластерной пусковой установкой, но также сделает пришельцев еще более смертоносными с этим оружием, при жестко запрограммированной точности 55% которого они больше никогда не промажут
  • Подбор всех обойм: подбирает все обоймы после тактической фазы, даже те, которые были использованы (не подбирает полностью исчерпанные)
  • Запрещена псионика пришельцев: больше нет псионических проблем при бое с сектоидами/этериалами
  • Гибель оглушенных при взрывах: как правило, оглушенные просто исчезают при взрыве. Теперь вам зачтется подрыв оглушенных (с опытом, моралью и прочими вещами, связанными с этим).

Blasted1.png Blasted2.png

In case of XCom units destroyed that way, they'll no longer go MIA but KIA

  • Keep Base Navigation Modules: do not remove navigation controls from recovered items after a successful base assault
  • More Smoke: set the limit of smoking tiles to 2048 (up from 400). I don't expect this to work perfectly on the first try; smoke is referenced on lots of places and I'm not sure I patched everywhere needed. Report what works and what fails
  • Force Language: tired of selectin your language every time your start the game? This is for you
  • Funding Council Income Only
  • Surrender Defence Missions
  • Disable Base Defenses: disable the base defence mecanism. Why delay the inevitable? A battle ship will eventually come through... Useful if you want to use some defence modules for tactical purposes
  • Initial Alien Bases without the trouble of setting things up
  • Show grenades primed status
  • Faster base defense sequence: remove the wait periods during base defense sequence. The need to press the button can be removed too
  • Reorder soldiers in craft

SoldiersPosition.png

If you hold the mouse button for more than 200ms when clicking, the soldier will be moved to the top/bottom of the list. Now you can force rookies on the front line... It also enables you to check the soldier's stats by clicking on his name.

  • Line of fire restriction for psiamp and mind probe. Of course the aliens are not impacted
  • Change initial base layout
  • Change experience caps
  • No Funkers: only guys that went on the last mission are checked for promotion
  • Bloodthirst: compute the "promotion score" based on killing stats only
  • Limited Military
  • De equip crafts

Deequip.png

  • TFTD Doors: open a facing door by right-clicking. It'll cost you 4 TUs
  • Assign all personnel (scientists/engineers) on a project by decreasing quantity below zero (à la ET)
  • HQ4x: raise the resolution of the game and apply some filtering. It is quite CPU intensive though...
  • D3D: replace DirectDraw calls to Direct3D9. It sets the monitor to its default resolution and uses D3D to stretch the image on screen. It may also fix the speed issues if your video driver is configured properly
  • D3D Windowed: run the game in a window
  • Always On Top: force the window in the foreground
  • Clip Cursor: prevent the cursor from going outside the window. Move/resize the window to unlock it.
  • Scale Mouse: attempt to fix the cursor running off screen when using HQ4x and/or D3D
  • Screen Ratio: add black bars to keep aspect ratio on non 16/10 monitors (based on patch from mikawo)
  • No Auto Wake Up: stunned unit still have their stun level decrease, but they won't wake up on there own
  • Alien Bleeding: aliens suffer from fatal wounds
  • No Alien Freak Out Messages: don't show "Alien Commander has panicked" and the like messages
  • Max FPS: limit the framerate for the ones that cannot get vsync working. Not as smooth as vsync limited, but better than nothing (only works with D3D or Video Pitch enabled)
  • Craft Ready Message: notify when a craft is ready

CraftReady.png

  • CPU Mask: force the process on a specific processor (1 is processor 0, 2 is processor 1, 4 is processor 2, etc)
  • High Priority: run XCOM with "above normal" priority
  • General Store Capacity: change the capacity of general stores (default is 50). Capped at 187 to prevent integer overflows.
  • Auto Sell: allows the player to activate an automatic production and automatic selling mode in manufacturing. By pressing the down arrow button to reduce the quantity of desired items below zero, the mode will switch to the autosell mode, represented by three dollar signs ("$$$"). In this mode, production will never cease unless resources become unavailable, and all produced items will be immediately sold. By pressing the down arrow a second time, it will switch to autoproduce mode, represented by three asterisks ("***"). This functions in the same way as autosell, but the results will not be sold, merely stockpiled forever; caution should be used with this mode, as it can drain resources quickly
  • Show Money: shrink the clock in the date/time panel on the main geoscape screen, and adds a funds display above it. It is useful for examining remaining funds during manufacturing projects, while waiting for time to pass.
  • Doubleclick Movement: change the requirement for moving a unit in the battlescape from clicking a tile once, to doubleclicking it (within 500ms). Failing to doubleclick will result in no action being taken. This allows for a considerable safety margin with movement, as the default movement controls are easy to accidentally trigger on the wrong tiles.

OBDATA.DAT patching

Change the value of some OBDATA.DAT settings on the fly. To change a value, add a line "itemname setting=value" (without the quotes). For example:

High Explosive Damage=200

Available settings:

  • Damage
  • Resistance (to explosions)
  • Weight
  • Damage Type
  • Auto accuracy
  • Snap accuracy
  • Aimed accuracy
  • Auto TUs
  • Snap TUs
  • Aimed TUs
  • Size (clip size)

Item names are case insensitive and available at OBDATA.DAT.

Hacks

These hacks heavily alter the gameplay and should only be used for testing purpose.

  • Prevent game over when score is really bad at the end of the month
  • Big brother: all shall be revealed ;-)
  • Alien pets: Alien turn handed over to the human player
  • Show All Locations: displays all active locations, detected or not
  • FPS: show an FPS counter in the geoscape. Mostly used for debugging D3D