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

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

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

Carmageddon

Тема в разделе "Установка и запуск игр", создана пользователем vetal, 22 июн 2004.

  1. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    3dfx-версия только для DOS.
     
    kreol и INHELLER нравится это.
  2. Eraser Чистильщик

    Eraser

    Хелпер

    Регистрация:
    29 дек 2001
    Сообщения:
    10.369
    Mr.Capone, я подозреваю, что у тебя банально слишком слабый процессор для Кармагеддона в досбоксе, конфиг ты так и не заполнил, но если действительно так - тут уж ничего не поделать.
     
  3. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.282
    Core 2 Duo 2,8 ГГц у него.
     
  4. Mr.Capone

    Mr.Capone

    Регистрация:
    11 дек 2009
    Сообщения:
    30
    Конфиг написал) Ладно, попробую сам разобраться.
     
  5. KOCTEH

    KOCTEH

    Регистрация:
    3 мар 2011
    Сообщения:
    1
    подскажите пожалуйста! а реально на Висту поставить Карму? и как это зделать? я скачал отсюда, ток никак не получается запустить установочный файл, пишет - Unable to setup DirectDraw - please check that DirectX is installed.
    Window Vista home premium SP2
     
  6. Antariy

    Antariy

    Регистрация:
    4 мар 2011
    Сообщения:
    233
    Кармагеддон использует 320х200 разрешение "по умолчанию" без явного указания обратного, современные видеосистемы такого не поддерживают. Это причина невозможности инициализации DirectDraw'а.

    Попробуйте этот метод:

    Создайте ярлык на файл CARMA95.EXE. В свойствах *ярлыка* (правой кнопкой мыши по ярлыку -> Свойства), добавьте -hires параметр через пробел после пути и имени файла.

    Т.е., если у Вас путь, например, такой:
    Код:
    С:\carmageddon\CARMA95.EXE
    то он должен стать такой:

    Код:
    С:\carmageddon\CARMA95.EXE -hires
     
  7. kreol Старший офицер Чёрной Гвардии

    kreol

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

    Регистрация:
    2 июл 2007
    Сообщения:
    115.209
    Читал ли ты: а) первую страницу этой темы (первые сообщения на ней); б) вопрос пользователя внимательно?
     
  8. Antariy

    Antariy

    Регистрация:
    4 мар 2011
    Сообщения:
    233
    Если это ко мне, то а) нет, не читал ) и б) я не имею обыкновения сотрясать воздух пустыми ответами, как ровно и вопросами. Кармагеддон не запускается из-за ошибки инициализации DirectX именно потому что карма пытается выставить его в 320х200 разрешение без сего известного ключа.
    Чем осуждать, проще проверить.

    Вместо P.S.
    Вот точное содержание сообщения *до* использование -hires ключа

    ---------------------------
    Carmageddon Fatal Error
    ---------------------------
    Unable to setup DirectDraw - please check that DirectX is installed

    ---------------------------
    OK
    ---------------------------

    Место в листинге:
    Код:
    004a733c 8b048518d65100 mov eax,[image00400000+0x11d618 (0051d618)+eax*4] ds:0023:0051d618=000000c8 ; высота (200)
    ...
    004a7351 8b048514d65100 mov eax,[image00400000+0x11d614 (0051d614)+eax*4] ds:0023:0051d614=00000140 ; ширина (320)
    

    Если использовать ключ всё работает...
     
    Последнее редактирование: 4 мар 2011
  9. kreol Старший офицер Чёрной Гвардии

    kreol

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

    Регистрация:
    2 июл 2007
    Сообщения:
    115.209
    Всё-таки перечитай ещё раз, пожалуйста. Хотя бы вот это (одно слово мной выделено жирным шрифтом):
     
  10. Antariy

    Antariy

    Регистрация:
    4 мар 2011
    Сообщения:
    233
    Человек мог банально ошибиться и перепутать "установочный" файл с файлом игры... Файл со значком-то один.

    Подождём что человек этот скажет, но я уверен на 100%, хотя бы потому как сам два дня назад скачал здесь карму, и столкнулся вот с этой как раз проблемой )) Никак не ожидал что Виндовая версия будет требовать ключ -hires чтобы исользовать высокое разрешение... Нашёл в чём дело просто путём отладки.

    Добавка:
    К тому же
    Unable to setup DirectDraw - please check that DirectX is installed
    довольно странное сообщение для установщика рипанной игры, впрочем, нет там никакого установщика как такового.
     
    Последнее редактирование: 5 мар 2011
  11. Antariy

    Antariy

    Регистрация:
    4 мар 2011
    Сообщения:
    233
    Просто как дополнение к уже сказанному.

    Архив carmageddon.rar, размер ~30,6 МБ. Файл CARMA95.EXE, размер 1.311.232 байта.
    По смещению 11bc00h в файле расположен флаг, отвечающий за индикацию -hires режима. Изначально он установлен в 0, и устанавливается кодом в 1 если в командной строке был ключ -hires.
    Необходимо установить этот флаг в 1 сразу в файле, и тогда не будет необходимости в ключе -hires вообще. Думаю, это снимет не один десяток повторяющихся вопросов здесь - запуская экзешник люди будут игру автоматически начинать в высоком )) разрешении.
     
    kreol нравится это.
  12. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Однако тогда мы потеряем возможность запуска в low-res.
    Кроме того, если бы все сначала читали самое первое сообщение темы, десятков повторяющихся вопросов не было бы.
     
  13. kreol Старший офицер Чёрной Гвардии

    kreol

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

    Регистрация:
    2 июл 2007
    Сообщения:
    115.209
    Antariy, но он ведь мог скачать и образ диска.
    Плюс - я как раз не просто так сразу сказал про первое сообщение темы.)
     
  14. Antariy

    Antariy

    Регистрация:
    4 мар 2011
    Сообщения:
    233
    Верно, не было бы.
    А насчёт низкого разрешения - много ли современных видеосистем могут работать в полноэкранном режиме 320х200?
     
  15. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    А если я решу запускать игру не на современной системе?
    Дописать '-hires' к ярлыку может любой, это не сложно.
     
    kreol нравится это.
  16. Antariy

    Antariy

    Регистрация:
    4 мар 2011
    Сообщения:
    233
    Образ диска содержит тот же экзешник, или с вероятностью 99,(9)% экзешник с той же логикой (с теми же исходниками).

    Ну, погладял первую страничку... Зацепило только это:
    Вот это вот неверно про Win95 версию ) или неверно для каждого отдельно взятого компьютера.

    Повторяюсь ещё раз - эту же самую ошибку выдала игра и мне. Просто совпадение что я на следующий же день увидал этот вопрос.

    Почитайте мой второй пост в теме, я его после подредактировал. Всего этого считаю достаточным как доказательство, в любом случае приводить километровые листинги не считаю целесообразным.

    О чём вообще спор тут не понятно ) Ну увидал я сообщение с той же самой ошибкой что мне игра выдала, ну написал совет, тот который для меня работает. А вышло что...

    ---------- Сообщение добавлено в 14:01 ---------- Предыдущее сообщение размещено в 13:56 ----------

    Да, конечно!
    Это я и посоветовал всего лишь в самом своём первом посте в теме (и на форуме). За что был обвинён в невнимательности и разгильдяйстве ))

    Самое что обидное - автора "поста - заварщика бучи" не видать...

    ---------- Сообщение добавлено в 14:54 ---------- Предыдущее сообщение размещено в 14:01 ----------

    А за благодарность - спасибо, kreol!
     
  17. kreol Старший офицер Чёрной Гвардии

    kreol

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

    Регистрация:
    2 июл 2007
    Сообщения:
    115.209
    Antariy, просто пользователь, к сожалению, получается виноват в любом случае: если всё так, как ты говоришь, то он мог прочитать решение этой проблемы во втором сообщении данной темы (а перед тем, как задать вопрос в теме, её нужно прочитать).
    А вообще - этой теме давно нужна большая и серьёзная шапка.
     
  18. Antariy

    Antariy

    Регистрация:
    4 мар 2011
    Сообщения:
    233
    Да нет, я пользователя абсолютно не виню ))
     
  19. kreol Старший офицер Чёрной Гвардии

    kreol

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

    Регистрация:
    2 июл 2007
    Сообщения:
    115.209
    А я виню.
     
  20. Antariy

    Antariy

    Регистрация:
    4 мар 2011
    Сообщения:
    233
    Ответ на этот правильный вопрос.
    Итак, взяв, как данность, что большинство видеокарт в мире не будут работать в полноэкранном разрешении 320x200 DirectDraw'а, можно предложить сделать 640х480 разрешением "по-умолчанию", вместо текущих 320х.
    Таким образом, большинство современных пользователей, (современных - в смысле - не подозревающих о таких "экзотических" разрешениях как 320х200) будут преспокойно запускать игрушку. А те, кто имеет систему способную работать с таким разрешением - само собой разбираются: где, что и почём ))

    В общем, предлагаю торжественно переименовать ключ "-hires" в "-lores", и изменить логику переключения разрешений соответственно. Т.о. - если программа запускается просто так, без ключа -lores, она будет автоматом инициализировать DirectX под 640х480. Если же -lores ключ будет задан в командной строке, то программа будет юзать 320х200.
    Всем хорошо, все довольны ))

    Вот фрагмент листинга, разбирающего, "чего там пользователь в командной строке понаписал". Для экзешника из архива, указанного несколько выше (http://www.old-games.ru/forum/showthread.php?p=731685#post731685).

    Код:
    004A61F8 8365F0FB               and     dword ptr [ebp-10h],0FFFFFFFBh	; просто для зацепки
    004A61FC 8365F0DF               and     dword ptr [ebp-10h],0FFFFFFDFh
    004A6200 8365F0FD               and     dword ptr [ebp-10h],0FFFFFFFDh
    004A6204 8B45F0                 mov     eax,[ebp-10h]
    004A6207 50                     push    eax
    004A6208 E8A37B0400             call    fn_004EDDB0
    004A620D 83C404                 add     esp,4
    004A6210 8B7D10                 mov     edi,[ebp+10h]
    004A6213 B9FFFFFFFF             mov     ecx,0FFFFFFFFh
    004A6218 2BC0                   sub     eax,eax
    004A621A F2AE                   repne   scasb
    004A621C F7D1                   not     ecx
    004A621E 8D41FF                 lea     eax,[ecx-1]
    004A6221 85C0                   test    eax,eax
    004A6223 0F8423000000           je      loc_004A624C
    004A6229 683CD85100             push    offset 51D83Ch	; VA смещение строки -hires
    004A622E 8B4510                 mov     eax,[ebp+10h]
    004A6231 50                     push    eax
    004A6232 E8D9610400             call    fn_004EC410	; сравнение подстроки, регистрочувствительно
    004A6237 83C408                 add     esp,8
    004A623A 85C0                   test    eax,eax
    004A623C 0F840A000000           je      loc_004A624C
    004A6242 C70500D6510001000000   mov     dword ptr [51D600h],1 ; соббс-сно, сам флаг-индекс hires'а
    004A624C                    loc_004A624C:
    
    Т.е. - используя этот фрагмент, в принципе можно отыскать необходимый код и в другом экзешнике другой компиляции. Характирная маскировка бит с AND встречается не часто в листинге, а три подряд - только единожды в данном фрагменте (впрочем, это только перл плохооптимизируещего компилятора).


    Итак, для указанного архива, в CARMA95.EXE необходимо отыскать и заменить следующие шестнадцатеричные значения.
    Первая колонка - смещение в файле, вторая - то что там есть в оригинальной версии (если есть не то, что указано, то файл падчить категорически не рекомендуется), третья - на что надо заменить.

    Код:
    RAW Offset        Оригинал        Должно стать
        11bc00              00                  01
         a5648              01                  00
        11be3d     6869 ("hi")         6c6f ("lo")
    
    Примечания.
    Обязательно, заменяя на единицу здесь, необходимо использовать именно единицу (!) - это не булевая переменная - это индекс массива разрешений, который использует программа.
    В принципе, можно было бы и lowres вместо lores сделать ключём... но это более короткий вариант.

    Позже закину сам изменённый экзешник если будет надобность.


    Кстати, что интересно, Glide не упоминается в CARMA95.EXE нигде. Так что многие посты утверждающие что она юзает Glide на 3Dfx картах - неверны. Программа сразу же была предназначена только под DirectX... Во всяком случае - версия из указанного архива (не думаю, что все они отличаются, тем не менее)
     
    Последнее редактирование: 7 мар 2011
    Revolter, kreol и MisterGrim нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление