Quake

Entertainment for 5 minutes, hours, days
  • Serge wrote:yogev_ezra

    Это версия для Менуэт. Quake под Колибри никто не делал.
    А исходники вообще есть? Там нужно применить фикс http://redmine.kolibrios.org/projects/k ... rev_to=969 т.к. клавиши постоянно "залипают" - играть невозможно. Допустим, нажал вперёд, бежим вперёд, отпустил, а игрок продолжает бежать ещё какое-то время.
    Из хаоса в космос
  • Leency
    Изначальная версия под Menuet есть здесь. Исправленную под Колибри нужно спросить у Diamond'а.
  • Чтобы не забыть. Вот распакованный бинарник Квейка.
    http://rghost.ru/37170908

    Что нужно сделать:
    1. Подогнать размер окна и сделать прозрачным фон.
    2. Изменить вывод заголовка окна на ф 70.1.
    3. Вылечить залипание клавиш. Сейчас код обработки клавиш примерно такой:

    Code: Select all

    mov eax, 2              ;just read this key from buffer
     $int  0x40
    а должен быть вот такой:

    Code: Select all

    //Gluk fix
    		$push edx
    @getkey:
    		$mov  eax,2
    		$int  0x40
    		$cmp eax,1
    		$jne getkeyi
    		$mov ah,dh
    		$jmp getkeyii //jz?
    @getkeyi:
    		$mov dh,ah
    		$jmp getkey
    @getkeyii:
    		$pop edx
    P.S. Mario сказал, что проблема залипания клавиш есть и в Doom'e - исходники присутствуют, можно попробовать исправить и там.
    Из хаоса в космос
  • Я сказал "ЕМНИП были в Doom", не нужно искажать смысл моих слов. Я не утверждал, что они есть сейчас. Я давно не запускал Doom и не могу знать как оно сейчас, поскольку он переписывался (вроде Serge), чтобы и звук выводить. Квейк же "оригинальный" со всеми багами и использованием функции 58.

    Кстати в свое время я "изобрел" подобную схему обработки залипания для zSea, при листании - не знал, что кто-то уже изобрел еще раньше.
  • На последней в текущий момент ночной сборке SVN r.2589 программе запускается с 29 Мб ОЗУ. Видеорежим 640*480*32b. Проверено в Qemu.

    Весьма странное поведение для программы. Ведь в CPU показывает, что она потребляет только 0xA46000 или 10,27 Мб.

    З.Ы. Кстати в Doom залипания нет.
  • "Весьма странное поведение" вызвано тем, что программа очень старая, и проверкой в core/memory.inc:

    Code: Select all

    proc new_mem_resize stdcall, new_size:dword
    ...
            mov     edi, [new_size]
            add     edi, 4095
            and     edi, not 4095
    ...
            mov     esi, [edx+APPDATA.mem_size]
            add     esi, 4095
            and     esi, not 4095
    ...
    .expand:
    
            push    esi
            push    edi
    ...
    ;//-
            pop     edi
            push    edi
            mov     esi, [pg_data.pages_free]
            sub     esi, 1
            shr     edi, 12
            cmp     esi, edi
            jle     .out_of_memory
    ;//-
            pop     edi
            pop     esi
    ...
    
    ЗЫ. Яндекс и Гугль по запросу [sdl quake sources] на первом месте хором выдают страницу http://www.libsdl.org/projects/quake/ , на которую в этой же теме уже была ссылка и с которой эти исходники легко скачать. Я думаю, что Menuet-версия - это просто SDL-версия с захардкоженными путями файлов из-за того, что в Menuet нельзя было выяснить папку, откуда запущена программа, так что желающим перекомпилировать программу с новыми библиотеками не придётся писать большие куски кода.
    Сделаем мир лучше!
  • Уметь бы еще Сишный код разгребать - но какая то животная неприязнь к Си вообще.

    Зря наверное я в 10 лет взял ту книгу в руки. :)
  • Я собирал движок duke и движок quake, емнип. Так что могу попробовать снова чуть позже.
  • С SVN r. 2594 программа запускается с 17 Мб ОЗУ. Видеорежим 640*480*32b. Проверено в Qemu.
    Однако появились проблемы в других приложениях, в частности KFM.
  • Ревизия SVN r. 2595 исправила проблемы внесенные SVN r. 2594. Большое спасибо Serge за исправление.
    Еще немного поднажать и игра будет соответствовать официально заявленным 16 Мб памяти.
  • Возможно, я не сообщу ничего нового, но в Квейк играть просто невозможно: при движении клавиши как будто залипают, и не то, что о стрейфах от пуль, но и о какой-то приемлемой траектории движения, говорить не приходится. Вдобавок, сама игра выглядит странно - в ней как будто изменена гравитация.
  • Scampada
    См. мой пост выше.
    Из хаоса в космос
  • Leency
    Угу, не глянул тему вначале. Вроде как я понял, что-то было пофиксено, но в SVN по ссылке вверху страницы я не нашел ничего по этой теме. Не разобрался еще толком, где что смотреть.
  • Есть два животрепещущих вопроса:
    1) Есть свободные файлы ресурсов работающие с этим бинарником, чтобы положить в дистрибутив и не нарушать лицензию id Software?
    2) Кто -нибудь может до конца июня исправить код на предмет бага с залипанием клавиш? Сам я не Сишник и сделать этого не сумею.
  • Who is online

    Users browsing this forum: No registered users and 3 guests