1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

ALPHA STORM фиксим и изучаем ресурсы

Тема в разделе "Мастерская", создана пользователем WERTA, 17 окт 2009.

  1. kreol Старший офицер Чёрной Гвардии

    kreol

    Администратор

    Регистрация:
    2 июл 2007
    Сообщения:
    116.337
    WERTA, так если ты русифицируешь игру - вступай в переводчики! Я думаю, твои знания (и технические, и языковые [чего только одно знание китайского стоит!!!]) там очень бы пригодились. А потом можно будет и о более высоком звании подумать (при желании, конечно).))
     
    WERTA нравится это.
  2. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    Русифицировал

    Закончил русификацию не фиксированных подписей игры. Предлагаю взглянуть всем. Так как неизмененные названия систем у вас прописаны еще в моих сейвах, то не нужно подгружать старый сейв, а смотреть названия систем сразу без загрузки. А то названия систем немного поменяются и будут типа этих «Насяльника.. ». Все-таки наши слова в плане букв длинее, приходилось сокращать, или формировать слова в предложении как будто их изрек мастер Йода (что тоже клево). Просто скопируйте файлы в соответствующие места, не забыв сохранить старые. Зато пояснения к устройствам получились на ура. Русифицирован обычный рип storm.exe.
     

    Вложения:

    SAS, hrust, ahsasa и 2 другим нравится это.
  3. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    Неприятная недоработка

    Сегодня выявил не очень приятную для рипов вещь. Если применить Нову в системах но без корабля Черных, то сразу возникает глюк. Причина в том, что самопальная (от WERTA) процедура запуска Новы подразумевает всегда наличие двух кораблей в системе Шааля и Черных. Я попытался это исправить. Ввести запрет на запуск Новы если системы Шааля и Черных не равны. Все это удобно размещалось в процедуре расчета расстояния до звезды, Помните когда загорается ARMED на пульте Новы, это эта процедура. А так загоралась бы в любом месте системы (это не критично) лишь бы в системе были Черные. Но не хватило места всего лишь для одной важной переменной и об этом финте пришлось забыть. Код уже больше не позволяет над собой издеваться, все переменные заняты, места просто нет. Лафа кончилась. В принципе, в вариантах сложности где нужны три пуска Новы игрок, если он хочет пройти игру, конечно же воздержится от пуска Новы как говорится "в холостую". В общем ничего больше не меняю, рипы проверил, все ОК. Кто нибудь еще проверял рипы, отпишитесь если нашли косяки, но только для ХР. Продолжаю мастырить оболочку. Задействовал практически все мувики игры.
     
    kreol и reg2s нравится это.
  4. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    Полный ДОС рип в двух вариантах

    Выкладываю мои наработки. Полностью исправленный рип с различными уровнями сложности в двух вариантах англ. и русифицированный.
    Вот ссылки.
    NEW ALPHA STORM (DOS) ENG.rar
    NEW ALPHA STORM (DOS) RUS.rar
    Читайте readme.!!! и тестируйте
    Играть чисто под ХР (хотя попробуйте и в боксе, там должны быть несущественные глюки)
    В общем это исправленный и пропатченный рип где
    1. Убран глюк в карте tower.alf
    2. Включен взрыв Новы в нескольких вариантах сложности
    3. Оригинальным приемом убрано зависание при выходе из системы после стычки с Черными
    4. Произведена русификация большей части надписей
    5. И вообще исправлена нелогичность игры.

    Виндовая оболочка пока не готова, нет времени.
     
    Последнее редактирование: 6 авг 2010
    Neitan, Dimouse, reg2s и 2 другим нравится это.
  5. TBAPb MIA

    TBAPb

    Legacy

    Регистрация:
    26 сен 2005
    Сообщения:
    2.047
    В 64-битных операционных системах поддержки 16-битных приложений (в т.ч. NTVDM) нет.
     
    WERTA нравится это.
  6. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    В связи с новыми обстоятелствами касательно иры в ДОСБОксе 0.74 хочу переосмылить и построить планы на будущее, в рамках, как давно говорил пятнистый "...нового мышления..."
    О запуске игры сказано:
    Здесь
    И здесь
    Все что я сделал для ЭТОЙ игры выше, а потратил я на это три месяца своей жизни, спал при этом 4-5 часов в день, это было не зря. Я не обламываюсь от этого нисколько. Себе я уже доказал, что можно модифицировать игру побайтно (а может и побитно) и придать ей новый оригинальный оттенок в сюжете и концепции. Теперь расклад, что есть:
    1) Просмоторщик уровней в формате *.alf, а также тесктур
    2) Редактор шрифтов игры
    3) Патчик сейв-фала для небольшого расширения возможностей Шааля и его корабля
    4) Русификация файла storm.exe.
    5) Оригинальные усложнения игры в рип-варианте на англ. и русском. Другими словами это играбельный и проходимый рип.

    Из этого конкретно можно дополнить игру пунктами 1-4. Пункт 5) это для тех кому хочется погорячее. У кого есть варианты как все это культурно представить для скачивания вместе с игрой или отдельно от нее, отпишитесь здесь.
     
    Последнее редактирование: 23 май 2010
    kreol, Fabricator и ahsasa нравится это.
  7. kreol Старший офицер Чёрной Гвардии

    kreol

    Администратор

    Регистрация:
    2 июл 2007
    Сообщения:
    116.337
    WERTA, идеи три.
    1. Выложить каждый пункт отдельно. Но это, наверное, не очень удобно.
    2. Выложить всё это одним архивом как "дополнение" к rip'у и образу (образ, понятное дело, на сайте будет, и довольно скоро, надеюсь). Разумеется, с описанием того, что есть что и как чем пользоваться.
    3. Самый, наверное, лучший, но при этом и самый сложный и трудоёмкий вариант - это сделать некую "сборку" из всего (или части) этого в виде установщика, который при запуске позволит пользователю выбрать, что из этого он хочет себе поставить. То есть примерно то же, что было сделано (и выложено у нас) для System Shock 2.
    Но создать подобное, конечно, под силу только тебе.)
     
    WERTA нравится это.
  8. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    Формат спрайтов игры Alpha Storm

    LIF format
    HEADER------------------------------------------
    WIDTH (4Bt)
    HEIGHT (4Bt)
    FRAMES_COUNT (4Bt)
    -----------------------------------------------
    POINTERS---------------------------------------
    FRAMES_COUNT x 4Bt
    -----------------------------------------------
    FRAME_DATA-------------------------------------
    ...BYTES...
    END


    POINTERS – смещения границ кадров в файле.
    FRAMES_COUNT – количество кадров в спрайте.

    FRAME_DATA
    Состоит всегда из цепочек байтов – ROWS
    type TRow=array of Byte
    Первый элемент цепочки ROW[1] - всегда длина цепочки в байтах включая и ROW[1]
    потом ….BYTES - ROW[2],ROW[3],ROW[4]….
    Правила отображения цепочки (наболее адекватный подобранный мною алгоритм (к сож. неполный))
    Если ROW=0 то следующий за ним ROW[i+1] всегда его повторитель нулевого цвета.
    Если (ROW>0)&(ROW<16), то это повторитель, а следующий за ним ROW[i+1] это цвет.
    Остальное ROW просто цвет

    Прилагаю программу просмотра спрайтов
    LIF_viewer.rar

    посмотрите, там можно щелкнуть мышкой по спрайту и выделенная строка изображения отобразится в виде исходной сжатой цепочки байтов внизу
     
    oFF_rus и kreol нравится это.
  9. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    Формат спрайтов Alpha Storm *.lif - я его почти расколол
    Кодировка одной растровой строки состоит из серии цепочек.
    Варианты цепочек
    первый байт в еначале растровой строки это всегда ее длина в байтах –[LEN]
    1) конец предыдущей цеп… | [00][REP]|[REP*] … следующая
    2) конец предыдущей цеп … | [REP*][COL]|[REP*] … следующая
    3) конец предыдущей цеп … | [REP*][COL]|[00] … следующая
    4) конец предыдущей цеп … | [00][REP] |[00] … следующая
    5) конец предыдущей цеп … | [00][REP][NEXT][B1][B2][B3][B4][B5]…. |… следующая
    6) конец предыдущей цеп … | [REP*][COL][NEXT][B1][B2][B3][B4][B5]…. |… следующая
    7).конец пред. строки||[LEN][NEXT][B1][B2][B3][B4][B5]…. до тех пор пока|00 или REP… следующая
    [00] нулевой байт
    [COL] цвет, любое значение
    [REP] байт-повторитель только для нуля, возможно меньше какого то значения (я думаю что 128), просто говорит сколько байтов повторять, а может вообще от 1 до 255
    [REP*] – дополнительный байт-повторитель отличается от [REP], что имеет какую-то границу, что-то около 20-30, больше которой перестает восприниматься как повторитель.
    [NEXT] байт-предиктор, больше какой-то границы (я думаю что 128), говорит, что нужно просто вывести следующие 255-[NEXT]+1 байт [B1], [B2] , [B3]…, причем среди них если следовать логике не должно быть повторителей.

    Возможно я гоню насчет разницы между [REP*] и [REP]
    То, что это формат данных генетически принадлежит RLE это понятно. Мне важно знать это домашняя заготовка или какой-то стандартный формат? Подскажите кто знает.
    Прилагаю просмотр, я там в алгоритме нагородилмного, буду исправлять
    LIF.rar
     
    Dimouse, kreol и oFF_rus нравится это.
  10. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    уфф...добил формат!!!

    [REP] - повторяем [REP] раз
    [REP*] - повторяем [REP*]+1 раз и все.
    Привел просмотрщик в приличный вид, полюбуйтесь на этот зоопарк
    Обратите внимание на кадр №107 Черного Перекатыша
    (d_sn.lif), как такое могло пройти, тут нужны эксперты в области защиты нравственности геймеров ;) и особенно детей :baby:
    Прилагаю смотрите.
    LIF_viewer_by_WERTA.rar
     
    Последнее редактирование: 14 авг 2010
    Steel Rat, oFF_rus и kreol нравится это.
  11. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    Для классфикации архитектуры карт игры объясните мне вот что. Часто в игре реализованы вертикально колышащиеся объекты - колодец и дыра в потолке и в них ходит какой нибудь цилиндр. Тут вроде все ясно. Тогда как в такой же архитектуре реализовать вот это (начало уровня dark1.alf ) Цилиндлры колышатся а в потолке и полу дырок нет. Это что два (а может четыре) сектора в одном? В думовской архитектуре такое было возможно?
    Загадка
     
  12. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    Начал понимать форматы *.bif и *.pac.

    BIF формат
    Все отображается пока коряво, интуитивно чувствую что почти разгадал, но чего то не хватает

    Вот что лежит в файлах bif. (надписи и картинки)
    allhalf.bif – маленькие картинки 14 типов кораблей в игре.
    allships.bif – нормальные картинки 14 типов кораблей в игре.
    impoship.bif – все большие и маленькие иконки приборов, виды кораблей для импостера, надпись ELECTRONIC WARFARE (она без искажений)
    plnthalf.bif– красивые планеты всего 16 штук (маленькие картинки)
    planets.bif – красивые планеты всего 16 штук
    podules.bif – все приборы (объемный вид), надписи INSTALL, EXCHANGE, CONSUME, REMOVE, и надпись для меню игры CONFIRM (она без искажений)
    spellstuff.bif – это самое интересное и загадочное. Все иконки, щит, регенерация и нереализованные:
    FLYSTORM -
    SUMMONING - переводится как вызов в суд, к начальнику, на ковер...
    RUNETRAP -
    REPULSE – Смог различить синюю руку
    COMBISPELL- не знаю
    Еще смог различить красивый глаз ящера (а Шааль вообще человек или нет?) – не знаю какая из этих фич этому соответствует.
    Я вообще потом составлю список всего того, что таки не вышло в этой игре. Эх жалко...

    Формат *.bif в чем то повторяет формат спрайтов игры, только в нем не прописывается длина цепочки вывода, но в нем используется почему то байт 80h. Я думал его роль в переводе строки, но это не так. Добиваясь вывода надписей ELECTRONIC WARFARE и CONFIRM, я понял, что скорее этот байт просто служит разметкой начала конца цепочки вывода и все. Но остальные рисунки все равно читаются с искажениями.

    PAC формат (который нестандартный PBM)
    Здесь мне помог Vladimir 777 с поиском и разметкой начал секций. Файлы состоят из графических секций произвольной высоты. Начало смещения каждой секции жестко задано в storm.exe, в начале секции таблица байтов (которые могут быть повторителями (скорее повторителями только для 0), все, что кроме этих байтов это цвета. Пока упражняюсь с combscrn.pac, но для него че-то последняя секция при смене байтов цвета выводится коряво. После правки для этих файлов размер и начала секций не должны изменяться.

    Если кто-то что-то знает пишите сюда, очень нужны дополнительные данные по сжатию растровых данных, всякие там разновидности RLE.

    Это все к русификации перевода игры. Скорее всего еще несколько надписей могут быть переведены в игре.
     
    Dimouse, Vladimir 777 и kreol нравится это.
  13. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    Разобрался с *.bif файлами

    Прочитал bif формат. Просто не учел выравнивание по ширине 2 байт. Почему-то эти рисунки читаются с выборкой по 2 байта и все. Тут в бифах спрятаны много надписей. Отображаются абсолютно все рисунки, кроме одного. Но все-таки один рисунок так и не прочитался. Он лежит в конце impoship.bif перед надписями CAPTURE, CONSUME (это когда снимаем устройство с корабля). Я вижу что строки пикселов считываются нормально, но сам размер растра похоже задан ошибочно. Мне кажется, там нарисованы глаза ящера, которые на панели CAPTURE, CONSUME. Но это сути не меняет. Еще нужно будет соблюсти я думаю маску, которая задана байтами 80h – задают начало и конец фрагмента заливки маски по строке. Для чего эта маска я так и не понял, но я ее должен буду соблюсти.

    В общем, остаются надписи которые только в паках.
    REACTOR, Shields, Weapons, Systems, Speed, Range, Speed, Auto, Single – combscrn.pac
    ENGAGE DRIVE – gnav.pac – здесь эта надпись вообще не при делах, забыли они про нее что-ли?
    ENGAGE DRIVE – lnav.pac (в мониторе СИСТЕМА)
    Music, FX-Volume, HARD, EASY – optionsc.pac
    Transfer, Mana, Shield – podscrn.pac

    Паки попробую начать править вручную для мелких надписей Shields, Weapons, Systems, Speed, Range, Speed (поправил посмотрел результат). Для крупных буду думать. Может тоже редактор сооружу. Но здесь без изменения размеров секций. Только правка цветовых байтов.

    Итог. В принципе уже сейчас рискну заявить что перевод всех надписей в игре возможен. Ну может кроме самых крупных в паках.

    А вот еще одна загадка игры 15 способностей Шааля
    Способности Шааля
    Ваши варианты их названий. Также судя по другим рисункам это не включаемые темы (как броня, щит, режим Бога, регенерация ), а чисто вооруженческие темы.
     
    Последнее редактирование: 15 сен 2010
    Dimouse, kreol и Vladimir 777 нравится это.
  14. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    Незадействованные способности Шааля

    Да, они идут по порядку в storm.exe

    FlyStorm - глаза мухи, наверное вызываем мушиний рой, заклевывающий противника.
    Runetrap - Molten Man череп только без огня, не знаю, ловушка Руны, кстати на аптечке есть руна, надо посмотреть что она значит.
    Repulse - отталкивание, рука, наверное отбрасывла противника далеко на край сектора карты
    Summoning - наверное гипноз, глаз змеи, наверное аналог снежинки, но снежинка полностью обездвиживает, а эта тема позволяла гулять клиенту мирно некоторое время.
    Molt Man - линяющий человек (опять рептоидная тема, люди вы наведите справки об этом Шаале, он человек или нет, для сюжета нужно). Ну, задача этой темы для меня загадка.
    Combispell - вообще нет нет значка, в конце списка тем

    Эти неактивные темы аналогичны, пси-пульсу, дизрупту, файерболу. Для этих тем нет в бифах картинки "тема + полупрозрачная пупырышка на нижней панели", хотя от них погли и отказаться уже на этом этапе, но мини иконки для них есть. Мне стало очень интересно, а что если они в коде просто выключены, если их удастся включить, скорее всего глюка не будет, может им действительно влом было баланс игры выправлять. По сосокупности имеющихся данных игру выпускали однозначно в спешке.
     
    Последнее редактирование: 2 фев 2012
    Dimouse, Vladimir 777 и kreol нравится это.
  15. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    Со скрытыми способностями Шааля все стало ясно.

    Сегодня таки смог включить их и посмотреть что будет. Начал с сейвов.
    В сейве байт по адресу :0000419C отвечает за выбранное оружие (я взял для левой панели, под Ctrl), так вот, вешая последовательно от 00 до 0E мы и получим полный доступ ко всем способностям Шааля. В общем, итог печален. Это даже не отключенные темы, а явный недодел, но глюков они не вызывают, и их «стоимость» в Мане отрицательна, так что не удивляйтесь, что когда вы стрельнете у вас добавится маны на 100 единиц. В итоге рабочими оказались только FlyStorm байт – 02h и Repulse байт – 08h. Стреляют они тем же что и нарисовано на панели. Посланный рукой Шааля предмет растекается зеленой соплей о противника, валит противника сразу (100 маны это много) как дизрупт и все. Остальные темы включались, но ничего ровным счетом не происходило при нажатии Ctrl. Может в других условиях это действует? А включить эти темы в коде игры я так думаю проще простого, надо просто поискать в коде и найти их стоимость маны минус 100 единиц в двоичном представлении, и поменять на +100 и они должны включиться. Кто-нибудь еще потестируйте меняя байт по адресу :0000419C в сейвах, может к не работающим темам особый подход нужен может только на базах работаю или еще где, тогда я и их активирую. Но у меня сомнения, это похоже просто не успели ребята и тупо их заглушили и все.
    Сегодня все непонятки с нереализванными фичами игры закончились. Больше ничего не осталось загадочного в игре (для меня).
     
    Vladimir 777 и kreol нравится это.
  16. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    Что так и осталось за кадром в Alpha Storm

    После изучения ресурсов игры (не всех) складывается следующая картина.
    Что задумывалось, но так и не вышло в Alpha Storm

    1. Устройства TIME WARP, BATTERY, DRILLER – есть для них текстуры, но нет их в podules.bif , в строках storm.exe их тоже нет
    2. В Искоренителе предполагались места установки NOVA BOMB и STASIS, для них были заготовлены таблички NOVA BOMB, STASIS в текстурах игры.
    3. Не реализованы и заглушены способности Шааля FLYSTORM, SUMMONING, RUNETRAP, REPULSE– для них есть рисунки в spellstuff.bif и строки в storm.exe, а COMBISPELL– есть только строка в storm.exe.
    4. Неизвестное и неберущееся устройство есть на пиратских кораблях, у него пустая табличка (наверное нужно подписать РЕМОНТ, или РЕЗЕРВ).
    5. На мостике Искоренителя не нашлось места для плазменного монитора с видом космобоя (незадействована текстура №50 в shaaltex. tex и temptex.tex). В кораблях остальных противников кроме Черных такие мониторы есть на стенах.
    6. Не реализован отдельно монитор СКАНЕР (изображение искоренителя с желтым кругом вокруг), текстура №68 в shaaltex. tex и temptex.tex. Он переключается с других мониторов.
    7. Не реализована карта dark_4.alf ссылка на нее есть в строках storm.exe.
    8. Импостер мог бы еще выдавать подставу (есть такие картиночки) на: Базу Империи, Логово Пиратов, Башню Варгов и даже для корабля Черных причем для него есть аж две картиночки – Большой корабль Черных и поменьше (impoship.bif).

    Подведем итоги:
    Налицо как задуманные, непроработанные и почти законченные варианты в игре, от которых отказались по причине нехватки времени. Похоже хотели выпустить игру до конца 1996 г.
    Файлы скомпилированы 10.01.1997.
    Файл storm.exe крякнут до 04.03.1997.

    НО НЕДОСТАТКИ И НЕДОДЕЛКИ ТАК И НЕ СМОГЛИ СДЕЛАТЬ ЭТУ ИГРУ ХУЖЕ!
     
    funny22, Dimouse, Vladimir 777 и ещё 1-му нравится это.
  17. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    Результаты изучения заглушенных способностей Шааля оказались полезными.
    По адресу :00094354 в storm.exe идет список тем Шааля в том порядке, как они выводятся на нижней панели при выборе клавишами [ и ]. Чуть ниже :00094364 начиная со стоимости Molten Man - B6030000 (950) идут стоимость каждой темы в единицах маны по 4 байта. Как я и сказал стоимость заглушенных тем отрицательна. Т.е. скрытые темы можно добавить в этот список отображения, но при этом пожертвовать какой-нибудь другой темой в этом списке, поскольку список жестко ограничен. Сегодня рухнула последняя надежда активировать темы. В игре есть интересные персонажи – Пират с саблями и Черный Перекатыш, они умеют отражать обратно выстрелы. Я думал может хоть эти темы они не отражаются от них, тогда получилось бы вполне мощное средство борьбы с ними (Глаз Мухи – 100 маны и разит наповал), но увы, они также отражали эти выстрелы из мухомета, поэтому включать темы смысла нет. Но что можно улучшить.
    1. Навести порядок в панели выбора тем. Слева включаемые на время темы, стоимость уменьшается от левого края. Справа темы вооружения, стоимость уменьшается от правого края. Довольно удобно будет их выбирать в бою.
    2. Ну и можно ужесточить баланс игры, немного накрутить цену каждой темы
     
    kreol и Vladimir 777 нравится это.
  18. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    Продолжаем...

    Здравствуйте, все, кто любит загадки битов и байтов.
    Продолжим наше исследование.
    Я наверное уже сообщал, что структура записей stars.dat разгадана не полностью.
    Остались 5 байтов в структуре записи из 44 байтов. Один я сегодня разгадал. Это байт в структуре записи под номером (нумерация с 0) 0Dh. Это просто степень крутости системы, чем круче система, тем укомплектованнее и круче в ней корабли. А навело меня на это расшифрованное изображение galed.pac. Вот оно.
    [​IMG]
    Star level – это именно этот байт. В нем используются всегда только младшие 4 бита 00-0F
    Осталась только расстановка кораблей противника. Это еще как минимум 2, возможно все 4 байта в структуре записи под номерами 10h, 11h, 12h, 13h. Далее рекомендую непосредственно, чтобы не тратить время, экспериментировать с байтами системы Elklenix, с которой начинает Шааль при старте. Адреса этих байтов в stars.dat 0000103Ch, 0000103Dh, 0000103Eh, 0000103Fh. Вся суть в заполнении таблицы 4 х 4, изображенной в центре нижней половины экрана. Здесь не битовая кодировка, а какая-то другая. Ведь кораблей одного типа всегда может быть несколько более 1, например 4хImp.Scout+2хImp.Enforcer+1xImp.StarBase. Кораблей также не должно быть более 7. В принципе 32 бита, таблица из 16 гнезд, если равномерно по два бита на гнездо, т.е. кораблей одного типа может быть не более 3, однако на деле бывает больше. Я откровенно не понял принцип кодирования расстановки кораблей по этим 4 байтам. То что я подозреваю, укладывается в 32 бита. По строкам таблицы
    3 + 2 + 2 +1 битов = 8 битов. Последний 1 бит на звездные базы, но уже экспериментируя видел сегодня, что у одной расы могут быть аж 2 базы. Тогда зайдем по-другому, для строки other (возможно случайно формируемые корабли остальных рас, возможно вообще запасная зарезервированная строка) можно оставить по одному биту и тогда остается 28 бит на три расы, берем 27 бит, получаем 9 бит на расстановку кораблей каждой расы. Мелких я точно видел бывало 7, т.е на мелкие по 3 бита, на остальное по 2, итого 3+2+2+2=9 бит. Теперь нужно пробовать определить порядок битов в кодировке. И еще более 7 кораблей в системе не должно быть, программа похоже сама их обрезает до 7, если есть зашкал по сумме всех ячеек таблицы 4х4.

    Далее, я уже давно сделал редактор stars.dat, однако в игру встроен свой редактор. Запуск его либо команд-лайн, либо, из скорее всего, самого экрана галактической карты, там есть текстовая строка ввода. Я все варианты «подозрительных» строковых ресурсов уже перебрал, но не смог запустить редактор.

    Для чего все это нужно. Игра в принципе имеет слабый баланс, мне лично хотелось бы покруче. Помимо патчинга основного кода я планирую различные варианты звездной карты, с разным количеством гиперсвязей и разной мощностью противника. В принципе не меняя расстановку кораблей можно уже сейчас регулировать мощность, изменяя байт «крутизны», но ведь если полностью раскодировать биты расстановки кораблей можно настроить игру на максимум сложности прохождения. Например расставить возле планет с базами, не 1 орб. станцию, а две – это будет интересней. Жду советов и решений.
     
  19. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    Потратил два дня на разгадку, но ничего не изменилось. Воз и ныне там. Битовое кодирование расстановки кораблей так я и не понял. Однако я решил так, раз я не могу разгадать, почему бы не воспроизводить в системе Elklenix такие же 4 байта из других систем, для которых расстановка известна, иногда это срабатывало, а иногда приводило к выходу сразу же в началае игры или полному зависшему проигрышу в начале игры (та да-да дам).
    В общем расстановку я не советую никому менять, а байт крутости вертеть можно. Он ксати еще и влияет на появление недобитков и новых сил в системе, после того как вы там всех положите и вернетесь через некоторое время или сразу в эту систему. Я еще знаю, чтоформат файла sav как и самой памяти для игры не динамический а жестко фиксированный. Это относится к ограничению количества кораблей и размеру сохраненных карт планетных баз в сейве.
     
    Последнее редактирование: 29 янв 2011
    funny22, Dimouse, kreol и ещё 1-му нравится это.
  20. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.618
    В плане патчинга игры для изменения сложности, нашел место управления здоровьем Шааля.
    Процедура управления здоровьем Шааля
    Смещение дано по WinDASM (реальное смещение в storm.exe - 0002E2EE)
    :000138EE FF05CC9A0100 inc dword ptr [00019ACC] это у нас здоровье тов. Шааля
    :000138F4 FF05D09A0100 inc dword ptr [00019AD0] это у нас урон здоровью тов. Шааля
    :000138FA 833DD09A010000 cmp dword ptr [00019AD0], 00000000 (сравн. урон с 0)
    :00013901 0F84E8000000 je 000139EF (если урон. здоров.=0 то сразу выходим)
    :00013907 8B1DD09A0100 mov ebx, dword ptr [00019AD0] (кидаем урон. в ebx)
    :0001390D 0BDB or ebx, ebx (проверяем знак ebx)
    :0001390F 792C jns 0001393D (если урон здор. полож. (это не есть gut) то прыгаем)
    :00013911 F7DB neg ebx (инверсия знака ebx (лечилка, аптечка и др) )
    :00013913 8BC3 mov eax, ebx (загрузка ebx в eax)
    :00013915 33DB xor ebx, ebx (обнуляем ebx)
    :00013917 83F864 cmp eax, 00000064 (вот здесь можно начать шаманить)
    :0001391A 7208 jb 00013924
    :0001391C BB02000000 mov ebx, 00000002
    :00013921 83E864 sub eax, 00000064
    :00013924 83F80A cmp eax, 0000000A
    :00013927 7204 jb 0001392D
    :00013929 43 inc ebx
    :0001392A 83E80A sub eax, 0000000A
    :0001392D 0BC0 or eax, eax
    :0001392F 7401 je 00013932
    :00013931 43 inc ebx (в результате всех этих манипуляций ebx ,будет меняться от 2 до 4, да тупо загрузит его 3 и все, это инкремент когда заходишь в лечилки, включаешь аптечку и регенерацию, а может 2 оставить, точно два тогда и регенерация будет медленнее работать, а все что ниже :00013921 забить нопами)
    :00013932 830DD09A010000 or dword ptr [00019AD0], 00000000 (ненужная проверка урона(ой, извините лечения), он в любом случае всегда положителен тут)
    :00013939 7902 jns 0001393D
    :0001393B F7DB neg ebx
    :0001393D 291DD09A0100 sub dword ptr [00019AD0], ebx
    :00013943 291DCC9A0100 sub dword ptr [00019ACC], ebx (попробуйте замените на ADD - 011DCC9A0100 :)лечилки станут смертельно опасными)
    :00013949 790A jns 00013955
    :0001394B C705CC9A010000000000 mov dword ptr [00019ACC], 00000000 ( тут всем ясно)
    :00013955 833DCC9A010064 cmp dword ptr [00019ACC], 00000064
    :0001395C 720A jb 00013968



    Для чего я все это нагородил. Реально со смещения :0001390F отодвинуть немного полезный код, чтобы вставить одну единственную строчку до :0001390F
    :0001390F C1E310 shl ebx,1 (удвоим поражающую мощь противников Шааля). А более и не надо, а то Черные будут выносить с одного раза. Можно только прибвление реализовать, это поболее байт потребует, но внизу достаточно только оставить строки
    :0001391C BB02000000 mov ebx, 00000002
    и
    :0001393B F7DB neg ebx
    а все остальное там лишнее.

    Проверьте кому интересно.
     
    Последнее редактирование модератором: 9 фев 2011
    kreol, Vladimir 777 и Dimouse нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление