-
Публикации
361 -
Зарегистрирован
-
Посещение
Все публикации пользователя MVV
-
Но ведь отсутствие флага или 0 в качестве уровня приращения однозначно говорит о том, установлено ли у игрока это приращение. Тут сложность при создании экземпляров класса Augmentation при загрузке игры или смене локации? О-па, в AugmentationManager.uc уже даже есть уже перечисление классов приращений, лучше тогда эти индексы использовать. Хм, и они хранят приращения игрока в виде односвязного списка, причём next засунули в само приращение... В общем, по идее надо в этот менеджер добавить функцию воссоздания приращений из флагов. А как работает взятие предмета в руки? Разве нельзя имитировать это взятие при смене локации?
-
Ок, тогда пусть лучше идентификаторы приращений будут однобайтные: AugSpeed = 0x00 AugTarget = 0x01 AugCloak = 0x02 AugBallistic = 0x03 AugRadarTrans = 0x04 AugShield = 0x05 AugEnviro = 0x06 AugEMP = 0x07 AugCombat = 0x08 AugHealing = 0x09 AugStealth = 0x0A AugIFF = 0x0B AugLight = 0x0C AugMuscle = 0x0D AugVision = 0x0E AugDrone = 0x0F AugDefense = 0x10 AugAqualung = 0x11 AugDatalink = 0x12 AugHeartLung = 0x13 AugPower = 0x14 AugNone = 0xFF (если надо сослаться на отсутствие приращения)В слотах приращений можно хранить эти идентификаторы. Признаки активности и уровни можно уже связывать с конкретными приращениями, банально их можно хранить в виде массивов, индексы в котором будут эти самые идентификаторы. Ну а для экспериментирования - можно банально во флагах AugLightActive, AugLightLevel, ... Или для каждого приращения во флаге уместить и уровень, и активность, и номер ячейки в теле: flag = (augId << 24) + (augCellIndex << 16) + (level << 8) + (isActive). Тогда извлекаем значение флага AugLight в переменную flag, ((flag >> 16) & 0xFF) - индекс ячейки, ((flag >> 8) & 0xFF) - уровень, (flag & 0xFF) - активность. И на каждое приращение понадобится только по одному флагу.Флаг возможности усиления синтетическим сердцем, как было сказано - константный параметр самого приращения, можно возвращать методом класса приращения, его нет смысла хранить отдельно. При особом желании можно в константном массиве какого-нибудь класса хранить эти флаги. Номер клавиши вообще не вижу смысла связывать с приращениями. Или вы имеете в виду номер ячейки, которой можно управлять командой ActivateAugmentation? Тогда для этого надо просто глобально хранить массив идентификаторов приращений, и по идентификатору обращаться к слоту и переключать состояние... Ну или если во флагах, то во флаге AugSlot12 хранить значение AugLight, и то при условии, что нигде в User.ini эта привязка не задаётся, т.к. тогда её надо читать оттуда, а не сохранять с игрой.
-
Для каждой ячейки аугментаций, насколько я понимаю, вполне достаточно целого числа, надо лишь хранить номер приращения и уровень: AugNone = 0 AugLight = 0x0100 AugDefense = 0x0200 AugMuscle = 0x0300 AugRadarTrans = 0x0400 AugDrone = 0x0500 AugCombat = 0x0600 AugAqualung = 0x0700 AugSpeed = 0x0800 AugBallistic = 0x0900 AugCloak = 0x0A00 AugDatalink = 0x0B00 AugEMP = 0x0C00 AugEnviro = 0x0D00 AugIFF = 0x0E00 AugShield = 0x0F00 AugStealth = 0x1000 AugTarget = 0x1100 AugHeartLung = 0x1200 AugPower = 0x1300 AugHealing = 0x1400 AugVision = 0x1500И значение в ячейке будет slot = augId + level, и обратно augId = slot & 0xFF00, level = slot & 0x00FF. Если это хранить во флагах, то на каждый слот надо по одному флагу (AugSlotCranial1, AugSlotEyes1, AugSlotArms1, AugSlotSubdermal1, AugSlotSubdermal2, ...), или те же самые слоты можно в виде полей структурки описать.
-
Интересное решение. Но вообще наверное описание состояния игрока (здоровья, навыков, приращений) можно структурку в DeusExGlobals поместить, которую при сохранении помещать в SaveInfo, а при загрузке - обратно в DeusExGlobals. А что-то сложное (цели, заметки, карты, инвентарь) - в нативный объект в GameManager.
-
Если скорость сделать повыше, может и ничего будет смотреться, если, скажем, секунды за пол будет всё описание рисоваться (можно опцию сделать, когда нечего делать будет). Но вообще оно не так и нужно.
-
А если все-таки с шумом? Но да, главное - чтобы всё заработало.
-
Собственно, в окне сохранения уже есть шум, когда скриншот не загружен, и он тоже вполне неплох: Кстати, заметил " to slot" в заголовках окон загрузки/сохранения - по-моему, лучше без них: "Load Game", "Save Game".
-
Не очень такое сообщение вписывается в стиль DX... Может, шрифтом, как в списке записей, написать на черном фоне? Или ещё мысль: показывать шум, как на телевизоре без сигнала...
-
Может, лучше черный фон и текст "NO SCREENSHOT FOUND" или "NO SCREENSHOT AVAILABLE" или просто "NO SCREENSHOT"?
-
Я про эти пробелы писал ещё давным давно, теперь и мой глаз они не режут:) Play a Mod... - тоже надо с большой. И для заголовка окна лучше шрифт HarRierC, который не полужирный, он практически на 100% подходит:
-
Смотрю на меню, что-то не то, проверил - да, так и есть, в оригинальной игре в английском меню на кнопках каждое слово кроме предлогов с большой буквы: New Game, Play Intro, ... Ещё в заголовках окон надо шрифт раздобыть, как в оригинале.
-
Мне кажется, что-то в таком духе было бы в стиле DX:
-
А не лучше ли REBORN капсом и шрифтом главного меню? И цвет вроде не айс.
-
Пробел перед двоеточием в названии игры весьма странно смотрится. И шрифт бы тот, что предлагали недавно - совсем бы другой вид был:)
-
Я обычно таскал арбалет, дубинку, шокер, обрез, штурмовую, снайперку, ракетницу, гранаты, мультитулы и отмычки - итого остается 1 свободная ячейка для флакончика Амброзии:) Но когда захотелось ещё и Зуб Дракона носить, пришлось от штурмовой избавиться (остальное бросать хотелось меньше), а жалко, т.к. у неё есть подствольник.
-
Насчёт размера инвентаря - можно дополнительный навык сделать для увеличения, можно энергонезависимое приращение (типа, прокачка ног для увеличения подъёмной силы), можно просто на легком уровне делать инвентарь больше:)
-
И правда очень похож, хотя некоторые отличия есть.
-
Технически можно создать TTF-шрифты с глифами из DeusEx и потом их загружать, тогда будут и Юникод, и ностальгия:) И вроде как можно в пределах процесса просто подгружать шрифт в памяти без установки, если делать это из модуля (проверить надо).
-
Основа вполне повторяющаяся, просто полосатый фон (64х64 без лишних деталей можно прямо с этой картинки взять), плюс "дорожки" и светлые пятна там, где располагаются "дорожки" и элементы управления. Но они в любом случае понадобятся, только когда диалог будет завершён.
-
Прикол как раз в том, что в GMDX я даже до ворот замка дойти не успевал, террористы с территории замка видели солдат снаружи и лезли на рожон - и неважно, с какого входа заходишь, в любой момент они могли выйти к Аннушке на верную смерть. А в оригинальном деусе мог зайти с любого входа и выполнить задание, не попавшись никому на глаза, или же мог всех повырубать, и штурмом это не было... И заходить со стороны замка круче - отмычку тратить не надо:)
-
Во второй миссии вообще не помню, проверяется ли, убиты террористы или без сознания. Ты их вырубал или мимо проскальзывал везде? И вообще, описанный баг влияет только в случае, когда сохранение от русской игры открываешь в английской, если играть только ту или только другую, он не должен влиять.
-
Сделаем:) однако более правильным будет отображать дату и время не папки сохранения, а главного файла сохранения, т.к. дата папки меняется при добавлении/удалении файлов в ней.
-
Для этого же надо диалог выбора сохранения нарисовать, из которого дергать ту же функцию загрузки? Или что-то надо действительно придумывать?:)
-
О проблеме сообщили в 2016 году, а последняя версия инсталлятора вышла... Выводы?:) Вообще, полагаю, проблема не сильно многих касается, т.к. вряд ли много кто играет в обе версии (русскую и английскую). А исправить проблему легко - убрать строчку msgNotDead= из DeusEx.rut в текстовом редакторе.
-
А зачем может понадобиться загрузка пакетов из папки вне папки анреала?