Hab grad Mandriva 9.2 gefunden:
ftp://mirrors.kernel.org/mandrake/Mandrakelinux/official/iso/9.2/i586/
Zieh es gerade und werd mich melden, wenn ich zum Probieren gekommen bin
Das Spiel
Man steuert den Polizisten John Blade, welcher von einem Hacker namens JC unterstützt wird. Man muss die Herkunft der Droge „U-4“ untersuchen, die von einer Firma namens „SinTek“ hergestellt wird. John Blade arbeitet für die „Hardcorps“ (gesprochen Hardcore), eine private Sicherheitsagentur, welche von der Regierung der Stadt Freeport City ins Leben gerufen wurde, um Unruhen zu bekämpfen.
Es gibt eine moderne Portierung namens Dominatrix.
Grafik & Sound
Das Spiel basiert auf einer aufgemotzten Quake II-Engine. Außerdem hat es einen sehr guten Soundtrack.
Installation
Um Sin auf modernen Linux-Distributionen zum laufen zu bringen, benötigt man erstmal alte Libs von loki-compat-libs und sdl12-compat.
Diese Archive entpackt man und kopiert den Inhalt der "x86"-Verzeichnisse in ein Verzeichnis, z.B. /usr/local/share/compat-libs/ (dieses muss ggf. erst erstellt werden)
Außerdem benötigt Sin libSDL 1.1 - glücklicherweise scheint libSDL 1.2, das in den meisten Distributionen vorhanden sein sollte, rückwärtskompatibel zu sein, weshalb es ausreicht, (als root oder mit sudo) einen Symlink zu setzen:
ln -s /usr/lib/libSDL-1.2.so.0 /usr/lib/libSDL-1.1.so.0
Nach diesen Vorarbeiten kann man die Sin-CD mounten und die Installation (wieder als root oder mit sudo) starten
sh /cdrom/setup.sh
startet einen schönen Loki-Installer.
Am Ende der Installation wird nach der Serial gefragt - gibt man diese falsch oder garnicht an, wird das Spiel nicht funktionieren, da die Executable des Spiels anscheinend geändert wird, wenn man eine korrekte Serialnummer angibt.
Ist die Installation abgeschlossen muss noch ein Start-Script erstellt werden, das dem Spiel sagt, dass es die alten Libraries (s.o.) nutzen soll.
Man erstellt also (als root..) im Sin-Spielverzeichnis (vermutlich /usr/local/games/Sin/) sin.sh mit folgendem Inhalt:
#! /bin/sh cd /usr/local/games/Sin LD_PRELOAD=/usr/local/share/compat-libs/libstdc++-libc6.2-2.so.3:/usr/local/share/compat-libs/libsmpeg-0.4.so.0 /usr/local/games/Sin/sin.exe $@
und macht diese (als root..) ausführbar:
chmod 755 /usr/local/games/Sin/sin.sh
Den bestehenden Symlink /usr/local/bin/Sin sollte man nun unlinken und durch einen Link auf das eben erstellte Script ersetzen:
unlink /usr/local/bin/Sin ln -s /usr/local/games/Sin/sin.sh /usr/local/bin/Sin
Nun kann man mit
Sin
(als normaler User) das Spiel starten. Es kann vorkommen, dass das Menü _sehr_ lahm und ruckelig ist, nachdem man den Videomodus auf OpenGL umgestellt hat. Das ist nicht weiter schlimm, sobald man das Spiel startet, legt sich das.
Falls das Spiel danach immer noch mit einem Speicherzugriffsfehler abstürzt, kann man versuchen, direkt mit OpenGL zu starten. Dazu ergänzt man in der eben angelegten Datei die Zeile, die das Spiel aufruft, um den Zusatz +set vid_ref gl
. Die ganze Zeile sieht dann so aus:
LD_PRELOAD=/usr/local/share/compat-libs/libstdc++-libc6.2-2.so.3:/usr/local/share/compat-libs/libsmpeg-0.4.so.0 /usr/local/games/Sin/sin.exe +set vid_ref gl $@
Demo
Es gibt auch eine Demoversion des Spiels, die merkwürdigerweise deutlich stressfreier läuft als die Vollversion.
- Anmelden oder Registrieren um Kommentare zu schreiben
- 7789 Aufrufe
Ne Lösung für die Installation gibts:
cd wget ftp://ftp.holarse-linuxgaming.de/native/Tools/libraries/libgtk1.2.tar tar xf libgtk1.2.tar export LD_LIBRARY_PATH=~/lib cd /media/SIN/ LANG="de" # nicht wirklich nötig export LANG # nicht wirklich nötig setup.data/bin/x86/setup.gtk bin/x86/registergui /home/reto/bin/Sin/sin.exe.gz #(Pfad hinten anpassen, sodass es auf die korrekte Datei zeigt)
Nun werden noch so einige alte Libs benötigt (SDL-1.1 etc), have fun! ;)
Danke schonmal!
Ich komme soweit, dass ich im Dialog den Key eingeben kann und dieser wird anscheinend auch angenommen. Allerdings habe ich keine Ahnung, wo ich jetzt die entschlüsselte sin.exe finden kann. Ich finde sie weder in de Verzeichnis von sin.exe.gz noch im Installationsverzeichnis...
Die sin.exe.gz im Installationsverzeichnis ist jetzt unverschlüsselt. Musst allerdings noch alle *.gz umbenennen, sodass ohne .gz (sin.exe.gz -> sin.exe)
So, nachdem die Installation nun gut verlief lässt sich Sin leider nicht starten... so siehts mit Software Rendering aus:
bloodyroot@bloodyroot-desktop:/usr/local/games/Sin$ LD_PRELOAD=/usr/local/share/compat-libs/libstdc++-libc6.2-2.so.3:/usr/local/share/compat-libs/libsmpeg-0.4.so.0.1.0 ./sin.exe +set vid_ref soft Added packfile ./base/pak0.sin (9421 files) Added packfile ./base/pak1.sin (289 files) Added packfile ./base/pak2.sin (2978 files) Added packfile ./base/pak3.sin (172 files) execing default.cfg execing /home/bloodyroot/.hyperion/Sin/players/blade/config.cfg Unknown command "rem" cddir is write protected. NET Initialized Console initialized. ------- Loading ./ref_soft.so ------- FindFile: can't find env/gogglesmap.tga Bad tga file env/gogglesmap.tga setting mode 2: 512 384 W Shutting down SW imp 1544k surface cache ref_soft version: SOFT 0.01 ------------------------------------ ------- sound initialization ------- GETOSPACE: fragstotal=32, fragsize=8192 Could not mmap sound device CL_CMDS_ProcessFile: global/global0.scr CL_CMDS_ProcessFile: FindFile: can't find global/global1.scr CL_CMDS_ProcessFile: FindFile: can't find global/global2.scr CL_CMDS_ProcessFile: FindFile: can't find global/global3.scr CL_CMDS_ProcessFile: FindFile: can't find global/global4.scr CL_CMDS_ProcessFile: FindFile: can't find global/global5.scr CL_CMDS_ProcessFile: FindFile: can't find global/global6.scr CL_CMDS_ProcessFile: FindFile: can't find global/global7.scr CL_CMDS_ProcessFile: FindFile: can't find global/global8.scr CL_CMDS_ProcessFile: FindFile: can't find global/global9.scr Mouse support enabled execing autoexec.cfg Shutting down SW imp Failed to load game.so ((null)) Exiting.
... und so mit OpenGL:
bloodyroot@bloodyroot-desktop:/usr/local/games/Sin$ LD_PRELOAD=/usr/local/share/compat-libs/libstdc++-libc6.2-2.so.3:/usr/local/share/compat-libs/libsmpeg-0.4.so.0.1.0 ./sin.exe +set vid_ref gl Added packfile ./base/pak0.sin (9421 files) Added packfile ./base/pak1.sin (289 files) Added packfile ./base/pak2.sin (2978 files) Added packfile ./base/pak3.sin (172 files) execing default.cfg execing /home/bloodyroot/.hyperion/Sin/players/blade/config.cfg Unknown command "rem" cddir is write protected. NET Initialized Console initialized. ------- Loading ./ref_gl.so ------- ref_gl version: GL 0.01 SetMode: 0x0, mode=3, fullscreen=0 GL_VENDOR: NVIDIA Corporation GL_RENDERER: GeForce GTX 260/PCI/SSE2 GL_VERSION: 3.2.0 NVIDIA 195.36.24 GL_EXTENSIONS: GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_copy_buffer GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_fragment_coord_conventions GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_half_float_pixel GL_ARB_half_float_vertex 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_provoking_vertex GL_ARB_seamless_cube_map GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_shadow GL_ARB_sync GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_compression GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra 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_bindable_uniform 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_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_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_object 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_shader_objects 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_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback2 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_conditional_render GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float 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_parameter_buffer_object2 GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_shader_buffer_load GL_NV_texgen_reflection GL_NV_texture_barrier 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_buffer_unified_memory 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_NVX_gpu_memory_info GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum Segmentation fault
Noch irgendjemand ne Idee?
Gruß
Thomas
@OGL: mit Hexeditor die Datei ref_gl.so öffnen, nach "GL_EXTENSION" suchen und das danach folgende "%s" durch zwei Leerzeichen ersetzen. Sollte helfen.
Hat auf jeden Fall etwas gebracht, jetzt sieht der Ouput ähnlich dem mit SW aus:
bloodyroot@bloodyroot-desktop:/usr/local/games/Sin$ LD_PRELOAD=/usr/local/share/compat-libs/libstdc++-libc6.1-1.so.2:/usr/local/share/compat-libs/libsmpeg-0.4.so.0.1.0 ./sin.exe +set vid_ref gl Added packfile ./base/pak0.sin (9421 files) Added packfile ./base/pak1.sin (289 files) Added packfile ./base/pak2.sin (2978 files) Added packfile ./base/pak3.sin (172 files) execing default.cfg execing /home/bloodyroot/.hyperion/Sin/players/blade/config.cfg Unknown command "rem" cddir is write protected. NET Initialized Console initialized. ------- Loading ./ref_gl.so ------- ref_gl version: GL 0.01 SetMode: 0x0, mode=3, fullscreen=0 GL_VENDOR: NVIDIA Corporation GL_RENDERER: GeForce GTX 260/PCI/SSE2 GL_VERSION: 3.3.0 NVIDIA 256.44 GL_EXTENSIONS: ...allowing CDS ...enabling GL_EXT_compiled_vertex_array ...ignoring GL_EXT_point_parameters ...ignoring GL_ARB_multitexture FindFile: can't find env/gogglesmap.tga Bad tga file env/gogglesmap.tga ------------------------------------ ------- sound initialization ------- GETOSPACE: fragstotal=32, fragsize=8192 Could not mmap sound device CL_CMDS_ProcessFile: global/global0.scr CL_CMDS_ProcessFile: FindFile: can't find global/global1.scr CL_CMDS_ProcessFile: FindFile: can't find global/global2.scr CL_CMDS_ProcessFile: FindFile: can't find global/global3.scr CL_CMDS_ProcessFile: FindFile: can't find global/global4.scr CL_CMDS_ProcessFile: FindFile: can't find global/global5.scr CL_CMDS_ProcessFile: FindFile: can't find global/global6.scr CL_CMDS_ProcessFile: FindFile: can't find global/global7.scr CL_CMDS_ProcessFile: FindFile: can't find global/global8.scr CL_CMDS_ProcessFile: FindFile: can't find global/global9.scr Mouse support enabled execing autoexec.cfg Failed to load game.so ((null)) Exiting.
verschieb mal game.so nach base/ und kopiere die game.so auf der CD nochmals ins Installationsverzeichnis
Sieht dann so aus:
-rwxrwxrwx 1 reto reto 565K 2000-11-30 01:29 ./game.so -rwxr-xr-x 1 reto reto 1.8M 2010-08-17 12:19 ./base/game.so
Evt. auch noch die /base/pak[0-3].sin neu kopieren - die warn bei mir defekt.
Wir nähern uns dem Ziel, das erneute Kopieren der game.so hat wirklich was gebracht. Allerdings gibt es jetzt wohl noch ein Problem mit dem Sound:
bloodyroot@bloodyroot-desktop:/usr/local/games/Sin$ SDL_DSP_NOSELECT='1'; export SDL_DSP_NOSELECT; LD_PRELOAD=/usr/local/share/compat-libs/libstdc++-libc6.2-2.so.3:/usr/local/share/compat-libs/libsmpeg-0.4.so.0.1.0 ./sin.exe Added packfile ./base/pak0.sin (9421 files) Added packfile ./base/pak1.sin (289 files) Added packfile ./base/pak2.sin (2978 files) Added packfile ./base/pak3.sin (172 files) execing default.cfg execing /home/bloodyroot/.hyperion/Sin/players/blade/config.cfg Unknown command "rem" NET Initialized Console initialized. ------- Loading ./ref_gl.so ------- ref_gl version: GL 0.01 SetMode: 0x0, mode=3, fullscreen=0 GL_VENDOR: NVIDIA Corporation GL_RENDERER: GeForce GTX 260/PCI/SSE2 GL_VERSION: 3.3.0 NVIDIA 256.44 GL_EXTENSIONS: ...allowing CDS ...enabling GL_EXT_compiled_vertex_array ...ignoring GL_EXT_point_parameters ...ignoring GL_ARB_multitexture FindFile: can't find env/gogglesmap.tga Bad tga file env/gogglesmap.tga ------------------------------------ ------- sound initialization ------- Could not open sound device CL_CMDS_ProcessFile: global/global0.scr CL_CMDS_ProcessFile: FindFile: can't find global/global1.scr CL_CMDS_ProcessFile: FindFile: can't find global/global2.scr CL_CMDS_ProcessFile: FindFile: can't find global/global3.scr CL_CMDS_ProcessFile: FindFile: can't find global/global4.scr CL_CMDS_ProcessFile: FindFile: can't find global/global5.scr CL_CMDS_ProcessFile: FindFile: can't find global/global6.scr CL_CMDS_ProcessFile: FindFile: can't find global/global7.scr CL_CMDS_ProcessFile: FindFile: can't find global/global8.scr CL_CMDS_ProcessFile: FindFile: can't find global/global9.scr Mouse support enabled execing autoexec.cfg dlopen(./base/game.so) LoadLibrary (./base/game.so) ==== InitGame ==== ------------------ Event system initialized: 305 classes 717 events 874740 total memory in response list ------- Server Initialization ------- SpawnServer: sintro.mpg Starting Up Server Loading Inline Models Spawning Entities FindFile: can't find maps/sintro.mpg.pth *********************************** *********************************** No paths found. Creating paths... *********************************** *********************************** 0 entities inhibited 0 teams with 0 entities FindFile: can't find global/global1.scr FindFile: can't find global/global2.scr FindFile: can't find global/global3.scr FindFile: can't find global/global4.scr FindFile: can't find global/global5.scr FindFile: can't find global/global6.scr FindFile: can't find global/global7.scr FindFile: can't find global/global8.scr FindFile: can't find global/global9.scr FindFile: can't find global/precache1.scr FindFile: can't find global/precache2.scr FindFile: can't find global/precache3.scr FindFile: can't find global/precache4.scr FindFile: can't find global/precache5.scr FindFile: can't find global/precache6.scr FindFile: can't find global/precache7.scr FindFile: can't find global/precache8.scr FindFile: can't find global/precache9.scr FindFile: can't find global/players1.scr FindFile: can't find global/players2.scr FindFile: can't find global/players3.scr FindFile: can't find global/players4.scr FindFile: can't find global/players5.scr FindFile: can't find global/players6.scr FindFile: can't find global/players7.scr FindFile: can't find global/players8.scr FindFile: can't find global/players9.scr Creating Surfaces Initializing Game 1 Initializing Game 2 Creating Baselines ------------------------------------- ====== Sin Initialized ====== Packet loopback : connect SVC_DirectConnect () loopback: client_connect New() from Blade Serverdata packet received. ./base/movies/sintro.mpg: No available audio device Fatal signal: Segmentation Fault (SDL Parachute Deployed)
Wenn ich die sintro.mpg umbennene komm ich ins Menü, allerdings ohne Sound und spätestens beim Spiel bricht er ab, wenn die CD nicht im Laufwerk habe. Ist sie drin, lädt er das Intro von der CD und ich bekomme wieder den Segfault. Hab schon ein wenig mit pasuspender, padsp und dem altbekannten echo "sin.exe 0 0 direct" > ... oss rumgespielt, allerdings ohne Erfolg
Update:
Nachdem ich mittels Synaptic das Paket libSDL-Pulseaudio deinstalliert und libSDL-All installiert habe kann ich spielen und habe im Intro auch Sound. Allerdings nicht im Menü oder im Spiel selbst.
Meldung hierzu in der Konsole:
Could not open sound device
und unzählige Male:
CL_LocalRandomSound: can't cache misc/sml1.wav
Ich mags ja kaum glauben, aber nach dem Neustart Heute und einem freundlichen
echo "sin.exe 0 0 direct" > /proc/asound/card0/pcm0p/oss geht alles.
Vielen Dank!!!
choen. Ich werde bei Gelegenheit dann einen aktualisierten installer schreiben fuer LIFLG.
Könnten wir mal ein Paradigma festsetzen: Keine Änderungen ausserhalb von /etc und /home für die Installation von nicht-paketierter Software?
Ist es wirklich nicht möglich den Symlink wegzulassen? Oder besser gesagt: Wie kann man den Symlink weglassen.
LD_PRELOAD* erweitern? Hmm?
Hat mal Jemand versucht, das Spiel unter einer aktuellen Distri zu installieren? Ich habs gerade unter Ubuntu 10.04 versucht. Das Problem hierbei ist, dass am Ende der Installation keine Passwortabfrage kommt und das Executable nicht entschlüsselt wird. Ich bin beim Recherchieren auf insgesamt zwei Postings gestoßen, die das Problem beschreiben. Eine Lösung hat allerdings noch keiner. Möglicher Ansatz wäre die Installation unter einem Uralt-Linux (bsp. Mandrake < 9.3), allerdings konnte ich nirgends eine derart alte Distri auftreiben :( Ein ca. 7 Jahre altes Mandrake move gibt es zwar, allerdings ist das eine LIVE-CD in der sich nichts installieren lässt...