Page 3 of 4

Re: А Quake то есть?

Posted: Tue Aug 05, 2008 11:58 pm
by maximYCH
Просьба выложить старые файлы http://www.kolibri.hut1.ru/quake/sdlquake.7z, http://www.kolibri.hut1.ru/quake/pak0.7z в новом месте :)

Re: Quake

Posted: Sat Aug 27, 2011 11:06 am
by Leency
Serge wrote:yogev_ezra

Это версия для Менуэт. Quake под Колибри никто не делал.
А исходники вообще есть? Там нужно применить фикс http://redmine.kolibrios.org/projects/k ... rev_to=969 т.к. клавиши постоянно "залипают" - играть невозможно. Допустим, нажал вперёд, бежим вперёд, отпустил, а игрок продолжает бежать ещё какое-то время.

Re: Quake

Posted: Sun Sep 04, 2011 4:17 pm
by Asper
Leency
Изначальная версия под Menuet есть здесь. Исправленную под Колибри нужно спросить у Diamond'а.

Re: Quake

Posted: Fri Mar 23, 2012 2:04 am
by Leency
Чтобы не забыть. Вот распакованный бинарник Квейка.
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 - исходники присутствуют, можно попробовать исправить и там.

Re: Quake

Posted: Fri Mar 23, 2012 2:38 am
by Mario
Я сказал "ЕМНИП были в Doom", не нужно искажать смысл моих слов. Я не утверждал, что они есть сейчас. Я давно не запускал Doom и не могу знать как оно сейчас, поскольку он переписывался (вроде Serge), чтобы и звук выводить. Квейк же "оригинальный" со всеми багами и использованием функции 58.

Кстати в свое время я "изобрел" подобную схему обработки залипания для zSea, при листании - не знал, что кто-то уже изобрел еще раньше.

Re: Quake

Posted: Sun Apr 08, 2012 5:32 pm
by Mario
На последней в текущий момент ночной сборке SVN r.2589 программе запускается с 29 Мб ОЗУ. Видеорежим 640*480*32b. Проверено в Qemu.

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

З.Ы. Кстати в Doom залипания нет.

Re: Quake

Posted: Mon Apr 09, 2012 12:53 pm
by CleverMouse
"Весьма странное поведение" вызвано тем, что программа очень старая, и проверкой в 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 нельзя было выяснить папку, откуда запущена программа, так что желающим перекомпилировать программу с новыми библиотеками не придётся писать большие куски кода.

Re: Quake

Posted: Mon Apr 09, 2012 1:31 pm
by Mario
Уметь бы еще Сишный код разгребать - но какая то животная неприязнь к Си вообще.

Зря наверное я в 10 лет взял ту книгу в руки. :)

Re: Quake

Posted: Mon Apr 09, 2012 2:34 pm
by SoUrcerer
Я собирал движок duke и движок quake, емнип. Так что могу попробовать снова чуть позже.

Re: Quake

Posted: Mon Apr 09, 2012 5:44 pm
by Mario
С SVN r. 2594 программа запускается с 17 Мб ОЗУ. Видеорежим 640*480*32b. Проверено в Qemu.
Однако появились проблемы в других приложениях, в частности KFM.

Re: Quake

Posted: Mon Apr 09, 2012 9:02 pm
by Mario
Ревизия SVN r. 2595 исправила проблемы внесенные SVN r. 2594. Большое спасибо Serge за исправление.
Еще немного поднажать и игра будет соответствовать официально заявленным 16 Мб памяти.

Re: Quake

Posted: Fri Apr 27, 2012 4:13 pm
by Scampada
Возможно, я не сообщу ничего нового, но в Квейк играть просто невозможно: при движении клавиши как будто залипают, и не то, что о стрейфах от пуль, но и о какой-то приемлемой траектории движения, говорить не приходится. Вдобавок, сама игра выглядит странно - в ней как будто изменена гравитация.

Re: Quake

Posted: Fri Apr 27, 2012 8:30 pm
by Leency
Scampada
См. мой пост выше.

Re: Quake

Posted: Fri Apr 27, 2012 11:03 pm
by Scampada
Leency
Угу, не глянул тему вначале. Вроде как я понял, что-то было пофиксено, но в SVN по ссылке вверху страницы я не нашел ничего по этой теме. Не разобрался еще толком, где что смотреть.

Re: Quake

Posted: Fri May 25, 2012 1:10 am
by Mario
Есть два животрепещущих вопроса:
1) Есть свободные файлы ресурсов работающие с этим бинарником, чтобы положить в дистрибутив и не нарушать лицензию id Software?
2) Кто -нибудь может до конца июня исправить код на предмет бага с залипанием клавиш? Сам я не Сишник и сделать этого не сумею.