Página 1 de 2


Publicado: 02 Jul 2017, 11:45
por dondiego
Que he sacado otro motorcico, he estado practicando con git y tortoisegit y he hecho un merge del truecolor ZDoom (no sacado oficialmente) y del ZDoom poco antes de desaparecer. Luego he ido añadiendo cosas de los motores oficiales y del ZDoom LE. Vamos que es como el padre del QZDoom. Lo explico en el readme.
Ya arreglé el repositorio del ZDoom LE e intenté hacer un merge de este con una versión antigua del GZDoom pero no funcionó. Algo de ayuda me vendría bien con eso pero es complicado porque sería cuestión de conocer el motor más que otra cosa. Edito ya lo arreglé.

Mas info:

ZDoom32 2.8.4a (GL 1.9.1b) APR 16 2018

ZDoom32 is a fork of truecolor ZDoom by dpJudas and Rachael and ZDoom 2.9pre (https://github.com/rheit/zdoom).
It's a merge of dpJudas old truecolor branch (SEP 08 2016) and ZDoom master as of DEC 03 2016.
Later merged with the GZDoom g1.x branch (APR 24 2016).

Changes/features since 2.8.4:
- Fixed wrong alpha blending, this broke 3D floors in truecolor.
- Several bugfixes.

Changes/features since 2.8.3:
- Fixed generalized BOOM crushers not crushing.
- Fixed wrong weapon vertical position.
- Fixed security issues (execution of unsafe commands and ACS stack checking).
- Lots of official bugfixes.
- More compatibility fixes.

Changes/features since 2.8.2b:
- Fixed crashes on some old CPUs in software due to a broken asm routine.
- Fixed Doom turbo stairs not working anymore.
- Changed savegame list order, now they are sorted by slot number instead of alphabetically.
- Added free space margin aka safe frame for automap.
- Several bugfixes from GZDoom.

Changes/features since 2.8.2a:
- Fixed savegame bug on maps with dynamic lights.
- Don't hide the console when killing specific monster classes.
- Several minor bugfixes.

Changes/features since 2.8.2 GL:
- Added truecolor capped sky drawers.
- Added new 3x2 and 4x4 low detail modes.
- Increased size of the savegame comment area.
- Fall back to software renderer with unsupported OpenGL version.
- Fixed crash with voxels for the SSE2 executable (BD v21).
- Fixed crash with textures larger than those supported by the hardware in D3D and OGL (BD v21).
- Fixed crash with capped sky mode and very wide skies (Castlevania).
- Added four text colors: ice, fire, sapphire, teal.

Changes/features since 2.8.2:
- Included old OpenGL renderer from GZDoom 1.9.1 (off by default). Supports shaders on GL2 hardware.
- Added xBRZ to the GL renderer.
- Autoloading of brightmaps.pk3 and lights.pk3.
- added new Stairs_BuildUpDoomCrush special from Eternity.
- Switched to FMOD Ex 4.36 for sound.
- Fixed wrong weapon scale in savegame pic for low detail modes.
- Some recent GZDoom bug fixes.

Changes/features since 2.8.1:
- Old C++ truecolor renderer by dpJudas.
- Mostly up to date with the last ZDoom SVN and includes some later fixes and features (from QZDoom).
- Compiled with Pentium II architecture optimizations.
- Still has the assembly routines and SSE2 is not a requirement.
- Two executables, the one using SSE2 instructions requires a Pentium 4 or Pentium M CPU.
- Sprite and wall distance culling to increase performance.
- Low detail modes have been restored (from ZDoom LE) but are disabled for truecolor.
- Added video menu options to switch between d3d and ddraw and set ddraw display bits (ZDoom LE).
- Startup console fixed for Win98 (ZDoom LE) with a slightly different look.
- More modern default keyboard layout.
- Command versions of the original Doom cheats.
- Uses FmodEx 4.28 for sound.(*)
- Capped skies have been disabled for truecolor since there are no drawers. No support for truecolor textures either.
- Multithreading is disabled by default.
- No xinput joystick support.

Minimum estimated system requirements are: Pentium II 233, 32 mb of ram, 1 mb svga card and Windows 98.
For OpenGL mode a graphics card with GL 2.0 support is required.

(*) For modern windows i recommend CoolSoft VirtualMIDISynth with the following soundfonts: Roland SC-55, Yamaha DX50XG and AWE64 Gold from https://www.vogons.org/viewtopic.php?f=9&t=45600.
A good alternative is the Yamaha S-YXG50 Portable VSTi software synth at http://veg.by/en/projects/syxg50/.

NOTE: On Windows 8 and above trying to go fullscreen on some systems when using ddraw you may get a black screen, a batch file (RUNME_SAFE.cmd) is included for convenience.
Some letterboxed modes don't display properly and they might even crash on ddraw.
With old graphic drivers on win9x d3d might crash, update your drivers or set 'vid_forceddraw' to true.
3D floors are not properly rendered in truecolor (missing textures).

The source code can be downloaded from https://github.com/drfrag666/gzdoom/commits/gzdoom32.

Compiles with CMake 2.8.12, CodeBlocks 16.01 (TDM-GCC 4.9.2) and NASM 2.10.09. You'll need the following libraries:
dx9mgw.zip, fmodapi43623win-installer.exe and fluidsynth.7z (optional).
Run CMake to generate a CodeBlocks makefile, you can link directly against the dlls but not for DX (dinput).

Copyright © 1993-1996 id Software, 1998-2016 Randi Heit, 2002-2017 Christoph Oelckers, et al.
Copyright © 2016-2017 Magnus Norddahl and Rachael Alexanderson.
Copyright © 2014-2017 Alexey Lysiuk.

This version maintained by drfrag from zdoom.org. Includes patches by Blzut3 and hail-to-the-ryzen.

More stuff from drfrag:
ZDoom LE 2.8.2a, a fork of the ZDoom 2.8.1 maintenance branch for Windows 9x and old machines.
ZDoom CLASSIC 2.1.4a, a fork of ZDoom 2.1.4 for Windows 9x and pentium machines.
Romero's Heresy II, an universal ZDoom mod to play Heretic levels with Doom and Heretic modified weapons and monsters.
Romero's Heresy 0.15, a conversion of all the Heretic levels to Doom II.
My Brutal Doom v20c unofficial patch.
http://www.moddb.com/mods/brutal-doom/a ... cial-patch

Re: ZDoom32

Publicado: 07 Jul 2017, 13:42
por dondiego
Supongo que queda claro que la versión sin SSE2 también soporta truecolor.
Tengo que probarlo en mi p3 a 1 ghz todavía pero tengo que instalar dx9 y meterle una geforce fx antes (para que funcione con d3d y poder ponerlo con 32 bits).

@Faon: veo que tienes un celeron 1100, me podrías hacer el favor de probar el ZDoom32 ahí en truecolor (display options) y decirme cuantos frames te da a 640? Poniendo en la consola 'vid_fps 1'.

Re: ZDoom32

Publicado: 11 Jul 2017, 01:20
por dondiego
Bueno pues lo he probado en windows 98 y con direct3d me ha petao, el 2.8.1 oficial también peta. Le he metido la fx 5500 y directx 9.0c. Parece ser que el ZDoom necesita al menos el 2000 para funcionar con direct3d. Asi que he vuelto a meter la voodoo 3.
Si alguien lo ha consegido hacer funcionar alguna vez en el 98 con d3d que lo diga no vaya a ser que me de por deshabilitar el soporte d3d en el 98 y me.
Por cierto se cuelga el 98 al reiniciar o apagar, si alguien sabe donde se puede descargar todavía el suplemento de cierre del 98 lo mismo.
Los cielos multicapa (Hexen) ya están arreglaos asi que sacaré una versión definitiva pronto.

Lo que me gustaría hacer ahora es no dibujar los muros lejanos para mejorar el rendimiento, ya está hecho con los sprites. Si alguien sabe c++ y conoce el motor Doom y está dispuesto a ayudar ya sabe, yo me temo que no se hacerlo. El tal dpJudas de QZDoom ha sugerido una implementación. La idea es no dibujarlos (linedefs) y rellenar los huecos con el cielo. Ya había un limite de drawsegs en el original y esto sería por supuesto opcional. En FwallCoords no seria true? Si, ya se parece chino mandarino.

dpJudas escribió:I would do the following, if I were to implement this:

In RenderOpaquePass::CheckBBox (R_CheckBBox in in ZDoom) I would add a range test. If the bounding box is further than the far clipping distance then return false in this function. This will make it stop walking the BSP deeper than what is to be rendered.
In FWallCoords::Init clip the line against the far clipping plane. Return false when this results in the entire line being clipped. This will make it stop drawing walls exactly at the clip boundary.
The two first steps will leave unfilled holes in the distance. The clipper knows the ranges that are unfilled. Walk the solidsegs list (RenderClipSegment in GZD, global variable in ZDoom). Fill those ranges with black.

It probably will look better if the black fill is done with the sky if it is outside. I'm not sure how to detect this situation in an easy way as walking the solidsegs list won't contain the information required. Perhaps instead of walking the solidsegs it could draw a fake second line if the real line was clipped against the far clipping plane. That fake line would either draw a sky or black depending on the sector.

Re: ZDoom32

Publicado: 26 Jul 2017, 10:39
por dondiego
He sacado una versión definitiva, la anterior era de prueba. Hay muchos cambios.
Lo de antes ya lo implementó el dpJudas en el QZDoom y lo porté al ZDoom, no fue trivial.

Re: ZDoom32

Publicado: 09 Sep 2017, 18:11
por dondiego
Que hay en mi repositorio https://github.com/drfrag666/gzdoom (copiado el README.md):

Some ZDoom based legacy ports with lower system requirements for Windows 9x or later and older hardware.
Some branches are discontinued from now on (SEP 03 2017).

- gzdoom32 branch:
ZDoom32 is a fork of truecolor ZDoom by dpJudas and Rachael and a later ZDoom (https://github.com/rheit/zdoom).
It's a merge of dpJudas old truecolor branch (SEP 08 2016) and ZDoom master as of DEC 03 2016.
Now merged with the GZDoom g1.x branch (APR 24 2016).

- glzdoom32 branch:
A merge of ZDoom32 with a later GZDoom master (roughly 2.2) from NOV 17 2016 with later fixes. Discontinued.

- zdoom32 branch:
Old ZDoom32 2.8.2 branch without the GL renderer. Discontinued.

- gzdoomle branch:
ZDoom LE (Legacy Edition) is a fork of the ZDoom 2.8.1 maintenance branch (https://github.com/rheit/zdoom/tree/maint)
for Windows 98 and old machines. Now merged with GZDoom as of august 2013 (1.8.4a).

- zdoomle branch:
Old ZDoom LE 2.8.1a branch with OpenAL for win95 (released from the ZDOOM-LE repo). Discontinued.

- zdoomcl branch
ZDoom CLASSIC 2.1.4a is a fork of ZDoom 2.1.4 for Windows 9x and pentium machines.
Now merged with GZDoom 1.0.17 with later fixes and additions.

Re: ZDoom32

Publicado: 09 Sep 2017, 18:13
por dondiego
He sacado una versión nueva con un motor OpenGL mejorado del GZDoom 1.9.1, tiene shaders para gráficas antiguas GL 2.0. He cambiado a FMOD Ex 4.36 para el sonido. Ver primer post para los detalles y la descarga.

Re: ZDoom32

Publicado: 08 Nov 2017, 21:31
por dondiego
Otra versión nueva. Detalles en el primer post.

Re: ZDoom32

Publicado: 20 Nov 2017, 13:35
por dondiego
He tenido que sacar otra versión (2.8.2b) porque estaban corruptos los savegames en niveles con luces dinámicas. La explicación de lo que ha pasado en el foro del zdoom.

Re: ZDoom32

Publicado: 18 Ene 2018, 13:40
por dondiego
Saque otra version en diciembre por un par de fallos gordos, si alguien esta interesado explico lo que ha pasado en zdoom.org. Cuando estuvo aqui el Yomes petaba y era por una rutina en ensamblador que estaba mal y no iba bien en procesadores antiguos, no es que la hiciera yo. Si alguien quiere echar una mano para arreglarla que lo diga, la he deshabilitado y es por la "floatificacion del renderizador". :)
Recomiendo actualizar cuanto antes.

Re: ZDoom32

Publicado: 26 Feb 2018, 20:42
por dondiego
He sacado otra versión con los parches de seguridad que además arregla muchos fallos. Está en: