Видео ролики бесплатно онлайн

Смотреть зрелые видео

Официальный сайт printclick 24/7/365

Смотреть видео бесплатно

08.02.10 15:06 Shtsh

Linux GamesУстановка Quake2 с улучшенной графикой

Классика... Как много в этом :)
Вот и руки дошли помучать вторую кваку. Вот только это - классика, и вышла игра давно... А система сильно изменилась с того времени. И не факт, что запустится какой-нибудь из гуляющих по интернету движков. Оффициальный-то уже устарел, и графику нормальную выдавать не может :( Но существует в природе куча модифицированных движков, сделанных фанатами. Правда, делали их тоже давно, и придётся для запуска шаманить или компилировать из исходников. Чем мы сейчас и займёмся.

Одним из самых известных сайтов, посвященных разработке на движках quake является Quakedev. А лучшим на данный момент движком является QuDos. Вот его мы и будем собирать.

Сначала идём сюда и качаем исходник
После этого распаковываем и открываем в редакторе Makefile. Там нам нужны следующие строчки

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Client and Renderers
BUILD_QUAKE2?=YES   # Build client (OSS sound, cdrom ioctls for cd audio).
BUILD_DEDICATED?=NO # Build dedicated server.
BUILD_GLX?=YES      # Build OpenGL renderer.
BUILD_SDLGL?=YES    # Build SDL OpenGL renderer.
ifeq ($(OSTYPE),Linux)
BUILD_ALSA_SND?=YES     # Enable support for ALSA (default sound on 2.6 Linux).
endif
BUILD_ARTS_SND?=NO      # Enable support for libaRts (KDE sound system) sound.
BUILD_OSS_SND?=YES      # Enable support for OSS (default) sound.
BUILD_SDL_SND?=YES      # Enable support for SDL sound.

# Mods
BUILD_GAME?=YES     # Build original game modification (game$(ARCH).so).
BUILD_3ZB2?=NO      # Build 3zb2 (bots) modification.
BUILD_CTF?=NO       # Build CTF (Capture The Flag) modification.
BUILD_JABOT?=NO     # Build JABot (bots) modification.
BUILD_ROGUE?=YES        # Build Rogue modification.
BUILD_XATRIX?=YES   # Build Xatrix modification.
BUILD_ZAERO?=YES        # Build Zaero modification.

# Configurable options.
WITH_BOTS?=YES      # Enable Ace Bot support in modifications (Quake2, Rogue, Xatrix and Zaero).
WITH_DATADIR?=NO    # Read from $(DATADIR) and write to "~/.quake2".
WITH_DGA_MOUSE?=NO  # Enable DGA mouse extension.
WITH_GAME_MOD?=YES  # Enable custom addons in the main modification (Quake2, Rogue, Xatrix and Zaero).
WITH_IPV6?=NO       # Enable IPv6 support. Tested on FreeBSD.
WITH_JOYSTICK?=NO   # Enable joystick support.
WITH_LIBDIR?=NO     # Read data and renderers from $(LIBDIR).
WITH_QMAX?=YES      # Enable fancier OpenGL graphics.
WITH_REDBLUE?=NO    # Enable red-blue 3d glasses renderer.
WITH_RETEXTURE?=YES # Enable retextured graphics support.
WITH_X86_ASM?=YES   # Enable x86 assembly code (only for i386).
WITH_XMMS?=NO       # Enable XMMS support (thanks AprQ2).


В них включаем/выключаем те параметры, которые нам нужны/не нужны (а то нафига мне поддержка xmms, которого у меня нету и мне незачем ставить его хедеры и библиотеки). Далее пишем make и ждём, когда соберётся. Если ругается на отсутствие какого-нибудь файла, то ставим соответствующий dev-пакет и повторяем операцию.
Мне потребовалось установить следующие пакеты из того, что у меня не было.
sudo apt-get install xorg-dev libvorbis-dev libsdl-dev


В результате, в папке quake2 появился собранный под мою систему движок игры. Далее с купленного диска игры (если найдёте) в папку baseq2 копируете pak0.pak
Потом нужно туда же скопировать этот файл.
Теперь можно и запускать QuDos. Тут я это сделал и мой монитор ругнулся на некорректное разрешение и пришлось перезапускать иксы. После этого я запускал его так
./QuDos +set vid_fullscreen 0

Теперь у нас есть квака с симпатичными эффектами и кучей плюшек
например, красивые взрывы
aaa10w.th.jpg

или нормальная вода
aaa11.th.jpg

Эффект блюра под водой
aaa16.th.jpg

А теперь идём сюда и качаем пак с текстурами (~300 MiB). Кидаем, естественно, в baseq2. Кстати, там есть ещё дополнительные текстуры с большим разрешением - если готовы качать около 800 Мбайт, то смотрите в разделе Berserker@Quake2.
В результате у нас получается что-то типа этого
aaa12.th.jpgaaa13.th.jpgaaa14.th.jpg

В общем, осталось поискать нормальные высокополигональные модели - и будет всё просто замечательно.

Важное примечание: Всё это требует довольно больших ресурсов! Так что на слабых машинах может заметно тормозить.


Теги:

Username 08.02.10 16:00 # +1
кстати круто. Прям сегодня и попробую.
Shtsh 08.02.10 16:13 # +1
Если хватит времени, терпения и мозгов, то попробую портировать на linux Berserker@quake2 - на сегодня действительно лучший движок q2 под винду.
Хотя, кажется, мозгов не хватит... Ибо там Berserker наворотил неслабо.
h0rr0rr_drag0n 08.02.10 17:40 # +0
На архитектуре x86_64 не собирается, ругаясь на:

src/ref_gl/gl_image.c:915: ошибка: несовместимые типы для ‘jpeg_mem_src’
/usr/include/jpeglib.h:959: замечание: здесь была предыдущая декларация ‘jpeg_mem_src’
src/ref_gl/gl_image.c: В функции ‘LoadPNG’:
src/ref_gl/gl_image.c:1183: предупреждение: в передаче аргумента 3 ‘png_get_IHDR’: несовместимый тип указателя
/usr/include/png.h:2228: замечание: expected ‘png_uint_32 *’ but argument is of type ‘long unsigned int *’
src/ref_gl/gl_image.c:1183: предупреждение: в передаче аргумента 4 ‘png_get_IHDR’: несовместимый тип указателя
/usr/include/png.h:2228: замечание: expected ‘png_uint_32 *’ but argument is of type ‘long unsigned int *’
make: *** [QuDos-build/ref_glx/gl_image.o] Ошибка 1


Что делать?? ;=((
Shtsh 08.02.10 17:45 # +0
h0rr0rr_drag0n 08.02.10 17:53 # +2
Нашел решение!
В src/ref_gl/gl_image.c заголовок функции jpeg_mem_src выглядит так:
1
2
3

void jpeg_mem_src(j_decompress_ptr cinfo, byte * mem, int len) {
 


тогда как в /usr/include/jpeglib.h он выглядит так:
1
2
3
4
5

EXTERN(void) jpeg_mem_src JPP((j_decompress_ptr cinfo,
                              unsigned char * inbuffer,
                              unsigned long insize));
 


Меняем в src/ref_gl/gl_image.c:915
byte * mem, int len)
на
unsigned char * mem, unsigned long len)
и вуаля! Все прекрасно компиляеца!
Shtsh 08.02.10 17:56 # +0
спасибо, может, кому поможет. Всё-таки исходники довольно старые.
HTaeD 09.02.10 03:08 # +0
Мне помогло! Спасибо!..
Jazz 08.02.10 18:11 # +0
SVN (или что там у них)-версия на amd64 собирается прекрасно
h0rr0rr_drag0n 08.02.10 21:17 # +0
А какой у них адрес репозитория SVN?
Мои исправления похоже не помогли. Игра вылетает при запуске с ошибкой:
Error: Hunk_End: Could not remap virtual block (2)
h0rr0rr_drag0n 08.02.10 21:19 # +0
Уже не надо :-)
y -S aur/qudos-svn
Shtsh 08.02.10 17:44 # +0
Во первых тут что?
WITH_X86_ASM?=YES # Enable x86 assembly code (only for i386).
Во вторых, попробуй установить libpng-dev
s7ang3r 08.02.10 17:49 # +0
Спасибо за обзор. Не знал про этот подвид "Квейка". До этого пользовался icculus'овскими исходниками.
Shtsh 08.02.10 17:53 # +0
Подвид квейка? Не совсем понял, что тут имелось в виду.
И это не столько обзор, сколько небольшая howto'шка
s7ang3r 08.02.10 18:02 # +0
> Подвид квейка?
После открытия исходных кодов появились всякие Quake2XP, Berserker@Quake2, Quake2maX, EGL и Quake II Evolved. Много их, не говоря уже про всякие моды и mission паки.

> небольшая howto'шка
Да и этого вполне хватило, чтобы заинтересовать.
Jazz 08.02.10 18:13 # +0
Обычно говорят «порт»
s7ang3r 08.02.10 18:21 # +0
Точно. Из головы вылетело.
NeonLight_Child 09.02.10 02:18 # +0
Скомпилировалось но вылетает с матюками при старте. Все паки рассувал куда надо
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77

neon@neon-desktop:~/Загрузки/q2/QuDos-0.40.1-src/quake2$ ./QuDos +set vid_fullsc
reen 0

========= Initialization =================
Quake 2 -- QuDos v0.40.1
http://qudos.quakedev.com/
Compiled: Feb  9 2010 -- 02:03:52
==========================================

========== File System Initialization ===========

Added packfile './baseq2/QuDos-0.40.1.pk3' (399 files).
Using './baseq2' for writing.
couldn't exec default.cfg
couldn't exec QuDos.cfg
Console initialized.

======== Sound Initialization ========

Initializing OSS Sound System
Buffer size: 32768
Sound sampling rate: 48000
Stereo: 1
Samples: 16384
Samplepos: 0
Samplebits: 16
Submission_chunk: 1
Speed: 48000
Starting Ogg Vorbis.
OGG_LoadPlaylist: could not open playlist: No such file or directory.
No Ogg Vorbis files found.
Shutting down Ogg Vorbis.

======== Video Initialization ========

------- Loading ref_q2glx.so -------
Video ref version: GL 0.01
Using libGL.so for OpenGL...
Opened GLU sucessfully OpenGLU...
... Using stencil buffer
Initializing OpenGL display
...Setting mode 4:  800 600
Using XFree86-VidModeExtension Version 2.2
I: got 8 bits of red
I: got 8 bits of blue
I: got 8 bits of green
I: got 24 bits of depth
I: got 0 bits of alpha
I: got 8 bits of stencil
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce GTX 260/PCI/SSE2/3DNOW!
GL_VERSION: 3.0.0 NVIDIA 185.18.36
GL_EXTENSIONS: GL_ARB_color_buffer_float GL_ARB_depth_buffer_float GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_instanced GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_framebuffer_object GL_ARB_geometry_shader4 GL_ARB_imaging GL_ARB_map_buffer_range GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shadow GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_transpose_matrix GL_ARB_vertex_array_object GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_bindable_uniform GL_EXT_depth_bounds_test GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_sRGB GL_EXT_texture_swizzle GL_EXT_texture_shared_exponent GL_EXT_timer_query GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_copy_depth_to_color GL_NV_depth_buffer_float GL_NV_conditional_render GL_NV_depth_clamp GL_NV_explicit_multisample GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_gpu_program4 GL_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_texgen_reflection GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_expand_normal GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_transform_feedback2 GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NVX_conditional_render GL_NV_vertex_buffer_unified_memory GL_NV_shader_buffer_load GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum
...allowing CDS
...enabling GL_EXT_compiled_vertex_array
...using GL_EXT_point_parameters
...using GL_ARB_multitexture
Texture units available: 4
Maximum Texture Size: 8192x8192
...GL_SGIS_multitexture not found
...using GL_SGIS_generate_mipmap
...using GL_ARB_texture_env_combine
...using GL_EXT_texture_filter_anisotropic
Maximum anisotropy level: 16
...ignoring GL_NV_fog_distance
...using GL_NV_texture_rectangle
...using GL_NV_register_combiners
...using GL_NV_texture_shader
...using GL_NV_multisample_filter_hint
...ignoring GL_ARB_texture_compression
...using GL_ARB_fragment_program
GL_ARB_fragment_program available but disabled, set the variable gl_reflection_fragment_program to 1 and type vid_restart
SNDDMA_Shutdown
Recursive shutdown
Error: Couldn't load pics/conchars
 
NeonLight_Child 09.02.10 02:24 # +0
Файл PAK0.PAK переписался в виде заглавных букв в названии. переименовал в pak0.pak. Заработало
NeonLight_Child 09.02.10 02:55 # +0
всетаки как текстуры подключать? по-моему тупо сбросить архив в baseq2 недостаточно?
Shtsh 09.02.10 12:12 # +0
вообще, достаточно. Но если не подхватываются, смени расширение на pk2 или pk3
HTaeD 09.02.10 02:58 # +0
А я настальгирую, гоняя DOOM Plutonia в wine )

/* Спасибо, плюс ещё одна времяубивалка */
HTaeD 09.02.10 03:09 # +0
хотя в генте есть
games-fps/qudos ((~)0.40.1): Enhanced Quake 2 engine
NeonLight_Child 09.02.10 14:00 # +0
модели:
http://quake2.divize.cz/clanky/high-quality-model-pack-v3-0-75.html

Лучшие блоги (все 107)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Элита (все 2128 из 160 городов)
Топ пользователей Топ блогов
В сети: dr_magnus, neclude

Новенькие: korovann, blaw, off220, troyane, arts
welinux.ru

Смотреть видео онлайн

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн