Table of Contents
Games - Heretic
GitHub - Blasphemer/blasphemer aims to create a free content package for the Heretic engine, with a theme of metal-inspired dark fantasy.
Engine mods
Hacked Heretic voortzetting van het werk van Hast
DelphiHeretic port naar Delphi programmeertaal.
HeXetic This is the first port of Heretic and Hexen to DJGPP and Allegro. The Doom Wiki - Hexetic.
EDGE-Classic is a Doom source port that provides advanced features, ease of modding, and attractive visuals while keeping hardware requirements very modest. GitHub - edge-classic/EDGE-classic.
glheretic
glheretic (archive.org)
The Doom Wiki - Linux Heretic
GamingOnLinux - Building a Retro Linux Gaming Computer Part 38: The Stagnant Demesne
(gl)heretic port for FreeBSD:
This provided the hint to compile glheretic on SuSE 8.x instead of 9.1 to make it work on SuSE 9.1:
This code is based on a recent patch to glheretic needed to make heretic work correctly when compiled using gcc-3.3.*:
Source: SuSE-9.0 gcc-3.3.1 optimization turns off important warning
openSUSE 11.2 (x86)
Tried the glheretic 1.2 compiled on SuSE 8.2 on openSUSE 11.2 x86.
glheretic requires a heretic.wad present next to it.
I symlinked the blasphem.wad from GitHub - Blasphemer/blasphemer to heretic.wad to test.
musserver reported /dev/sequencer missing.
This required loading the snd-seq-oss kernel module with:
modprobe snd-seq-oss
./gleheretic could not find sndserver and musserver:
(...) I_Init: Setting up machine state. sh: sndserver: command not found sh: musserver: command not found
Had to extend the PATH environment variable with the directory were sndserver and musserver were:
export PATH=$PATH:/home/bas/games/heretic/glheretic
glheretic now starts, shows a black screen for a second, and then exits:
bas@linux-o8ap:~/games/heretic/glheretic> ls -al total 676 drwxr-xr-x 2 bas users 4096 2025-01-01 18:21 . drwxr-xr-x 3 bas users 4096 2025-01-01 17:34 .. -rw-r--r-- 1 bas users 12288 2023-03-12 00:06 blood1.raw -rw-r--r-- 1 bas users 12288 2023-03-12 00:06 blood2.raw -rw-r--r-- 1 bas users 3072 2023-03-12 00:06 blood3.raw -rw-r--r-- 1 bas users 3072 2023-03-12 00:06 blood4.raw -rw-r--r-- 1 bas users 3072 2023-03-12 00:06 blood5.raw -rw-r--r-- 1 bas users 3072 2023-03-12 00:06 blood6.raw -rw-r--r-- 1 bas users 3072 2023-03-12 00:06 bullet1.raw -rw-r--r-- 1 bas users 7801 2025-01-01 18:21 error.txt -rw------- 1 bas users 16384 2025-01-01 18:21 .error.txt.swp -rw-r--r-- 1 bas users 121 2023-03-12 00:16 file.glheretic.txt -rwxr-xr-x 1 bas users 517058 2023-03-12 00:06 glheretic -rw-r--r-- 1 bas users 16384 2023-03-12 00:06 haze.raw lrwxrwxrwx 1 bas users 15 2025-01-01 17:34 heretic.wad -> ../blasphem.wad -rw-r--r-- 1 bas users 842 2023-03-12 00:15 ldd.glheretic.txt -rwxr-xr-x 1 bas users 33649 2023-03-12 00:06 musserver -rwxr-xr-x 1 bas users 31824 2023-03-12 00:09 sndserver bas@linux-o8ap:~/games/heretic/glheretic> ./glheretic ======================================================== == == == GLHeretic v1.2 == == == == GLHeretic was ported to LINUX by Andre Werthmann == == == == You can download the latest versions under: == == http://heretic.linuxgames.com == == == == == == Press Return to go on. == == == ======================================================== Using homedirectory for savegames: /home/bas/.heretic/ V_Init: allocate screens. M_LoadDefaults: Load system defaults. opening basedefault: /home/bas/.heretic/glheretic.cfg [SDLGLDrv] OpenGL: Sprite filtering enabled [SDLGLDrv] OpenGL: Sprite compression enabled Z_Init: Init zone memory allocation daemon. [SDLGLDrv/glmem] initializing heap-system: FIX W_Init: Init WADfiles. adding heretic.wad MN_Init: Init menu system. R_Init: Init Heretic refresh daemon. Loading graphics [.....................................] P_Init: Init Playloop state. Init game engine. I_Init: Setting up machine state. D_CheckNetGame: Checking network game status. Checking network game status. startskill 2 deathmatch: 0 startmap: 1 startepisode: 1 player 1 of 1 (1 nodes) S_Init: Setting up sound. SB_Init: Loading patches. [SDLGLDrv/init] Loading OpenGL-library: libGL.so ... [SDLGLDrv/init] loaded OpenGL-library: 0 [SDLGLDrv/init] red_size: requested 5 bits, got 8 [SDLGLDrv/init] green_size: requested 6 bits, got 8 [SDLGLDrv/init] blue_size: requested 5 bits, got 8 [SDLGLDrv/init] depth_size: requested 16 bits, got 24 [SDLGLDrv/init] OpenGL_doublebuffer: requested 1, got 1 [SDLGLdrv/init] OpenGL driver: 1.5 Mesa 7.6 (DRI R300 Project) Mesa DRI R300 (RV410 5653) 20090101 x86/MMX/SSE2 TCL [SDLGLdrv/init] OpenGL Extensions: GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_point_parameters GL_ARB_shadow GL_ARB_shadow_ambient GL_ARB_texture_border_clamp GL_ARB_texture_compression 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_MESAX_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_array_bgra GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_logic_op GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_convolution GL_EXT_copy_texture GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_gpu_program_parameters GL_EXT_histogram GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_polygon_offset 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_subtexture GL_EXT_texture GL_EXT_texture3D GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_APPLE_packed_pixels GL_ATI_blend_equation_separate GL_ATI_texture_env_combine3 GL_ATI_texture_mirror_once GL_ATI_separate_stencil GL_IBM_multimode_draw_arrays GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_INGR_blend_func_separate GL_MESA_pack_invert GL_MESA_ycbcr_texture GL_MESA_window_pos GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texture_rectangle GL_NV_texgen_reflection GL_NV_vertex_program GL_OES_read_format GL_SGI_color_matrix GL_SGI_color_table GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SUN_multi_draw_arrays [SDLGLdrv/init] OpenGL driver doesn't support paletted textures Segmentation fault /home/bas/games/heretic/glheretic/musserver: error reading mesg. pipe
At first glance it seemed to be that the ATI Radeon X700 mobile GPU in this (Acer Pentium M) laptop with OpenGL driver 1.5 Mesa 7.6 (DRI R300 Project) does not support palletted textures.
stackoverflow - Palette Animation in OpenGL mentions that paletted textures are non-existent on “pre-shader-age” graphics cards.
But after looking at the code (opengl/gl_init.c) that is not what kills it, it just disables paletted textures.
The “Segmentation fault” is what ends the program. That should have been obvious to me the first time.
The “musserver: error reading mesg. pipe” is not involved, as disabling music by disabling MUSSERVER in Makefile and recompiling makes the musserver error disappear, but the Segmentation fault remains.
In short: glheretic 1.2 requires (major) rework to work on newer Linux distributions and GNU C Compilers.
Maps
WADs In Progress bevat screenshots van WADs waar aan gewerkt word.
Heretic Treasure Chest is a 3-episode megawad released in March 2010, created by as an attempt at doing the Heretic equivalent of the Community Chest series. Download here.