DelphiDoom
Mirror of DelphiDoom source on GitHub
Install / Use
/learn @sneakernets/DelphiDoomREADME
//------------------------------------------------------------------------------ // // DelphiDoom: A modified and improved DOOM engine for Windows // based on original Linux Doom as published by "id Software" // Copyright (C) 2004-2013 by Jim Valavanis // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA // 02111-1307, USA. // //------------------------------------------------------------------------------ // E-Mail: jimmyvalavanis@yahoo.gr // Site : http://sourceforge.net/projects/delphidoom/ //------------------------------------------------------------------------------
General
This is the translation of the Linux C source code of the game Doom to the Delphi programming language. Many features have been added to take advantage of modern hardware: External hi-res textures, 32 bit color software renderer, OpenGL support, md2 models, dynamic lightmaps, mp3 music and more... In addition provides accurate demo playback of most Vanilla Doom demos.
Description
This Application is a WIN32 port of the famous Doom game created by ID Software.
Capabilities
Allow to play Doom and Doom2 WAD files.
Command Line Parameters
See doc\cmdparams.txt file.
Console Commands
See doc\consolecommands.txt file.
History
Version 1.1.4 build 581 - (May 28, 2013)
See Doom_what's new.txt, Heretic_what's new.txt and Hexen_what's new.txt
Version 1.1.4 build 550 - (18/3/2013)
Added spawnmobj console command Added -blancbeforerender command line parameter (software mode only) Added optimizedcolumnrendering console variable, when true (default) uses optimized method while rendering wall columns and sky. Fixed ascpect ratio when using widscreen monitors. Added allowhidetails console variable. Added widescreen,widescreensupport console variables. Added forcedaspect console variable to set custom aspect ratio. Added pngtransparentcolor and pngtransparentcolor2 console variables. Added optimizedthingsrendering console variable, when true (default) uses optimized method while rendering sprites Multithreading column rendering. Added assumecommontranspantcolors console variable, when true assumes x0FFFF, x0FF00FF and x0FFFF00 as transparency indicators in png images.
Version 1.1.4 build 537 - (21/5/2012) (beta)
Turbo scale limited to 200% Added modelmapping console command to determine which models are present. (OpenGL version only) Speed optimizations in 32 bit color software mode (fps incresed 5-10%).
Version 1.1.3 build 532 - (17/3/2012) (beta)
NOTE: This beta version can not guaranty future demo playback compatibility and load/save game compatibility with future official releases. Added autoadjustmissingtextures console variable, when true try to "guess" and correct missing textures. Autoloads required pak/pk3 files inside AUTOLOAD wad lump. Added custom parameters to mobjs ([parameter name(string)] - [value(integer)], eg inventory). Added A_SetCustomParam, A_AddCustomParam, A_SubtractCustomParam mobj functions. Added A_SetTargetCustomParam, A_AddTargetCustomParam, A_SubtractTargetCustomParam mobj functions. Added A_JumpIfCustomParam, A_JumpIfCustomParamLess, A_JumpIfCustomParamGreater mobj functions. Added A_JumpIfTargetCustomParam, A_JumpIfTargetCustomParamLess, A_JumpIfTargetCustomParamGreater mobj functions. Added A_SetShootable and A_UnSetShootable mobj functions. Added A_PlayerMessage mobj function. Added allowplayerbreath console variable, when true play player breath sound. (default is false) Added A_PlayerFaceMe mobj function. Added MF2_EX_FLOORCLIP mobj flag. Faster loading when -devparm is defined. Added A_GoTo, A_GoToIfCloser, A_GoToIfHealthLower mobj functions. Added A_GoToIfCustomParam, A_GoToIfCustomParamLess, A_GoToIfCustomParamGreater mobj functions. Added A_GoToIfTargetCustomParam, A_GoToIfTargetCustomParamLess, A_GoToIfTargetCustomParamGreater mobj functions. Added A_SetFloorClip and A_UnSetFloorClip mobj functions. DLIGHTSDRAWRANGE and SHADOWSDRAWRANGE increased to 2048 * FRACUNIT. Fixed disapearing sprites with transparency < 50% in OpenGL mode. Doesn't try to spawn DoomBuilder 3D Editing mode camera (doomednum=32000). Support for Chex Quest and Chex Quest 2. Support for Hacx (varsion 1.2) 'TEXT' keyword in dehacked files works now with music. Great speed optimizations in 8 bit color software mode (fps incresed 10-15%).
Version 1.1.3 build 510 - (7/3/2012) (beta)
Zlib updated to version 1.2.5. OpenGL version for DelphiHexen (There is still work to do but besides some rendering issues seems stable for gameplay).
Version 1.1.3 build 509 - (3/3/2012) (beta)
This release contains an experimental build with Free Pascal Compiler (Doom - OpenGL mode only) Added interact state for mobjs. Added A_SpawnSmokeUp, A_SpawnSmokeDown and A_SpawnSmokeHorz mobj functions Added MF2_EX_INTERACTIVE mobj flag. Added A_SetInteractive and A_UnSetInteractive mobj functions Fixed wav chunks reading bug. Added MF2_EX_DONTINFIGHTMONSTERS mobj flag, suppress monster infight for mobjs of the same inheritance. Added A_SetMonsterInfight and A_UnSetMonsterInfight mobj functions. Added A_RemoveSelf mobj function. Added A_NoiseAlert mobj function. Added A_ConsoleCommand mobj function. Chase camera positioning improvements. FastMM memory manager upgrated to version 4.99. Corrected stencil sky rendering in OpenGL mode.
Version 1.1.3 build 500 - (20/1/2012)
Displays Disk Buzy icon for 4 ticks instead of 4 frames. WAD lumps hash indexing for better performance. (using djb2 hash function) Fixed ENDOOM bug witch causing menu to respond during ending game while playing a demo. Added A_SpawnItemEx mobj function Fixed bug that didn't recornized mf2_ex flags inside ACTORDEF lumps Added Green blood and Blue blood flags. Added MF2_EX_NOTELEPORT flag. Added A_RandomMissile mobj function. Default zone size increased from 8 MB to 32 MB. Show demo playback progress. Added showdemoplaybackprogress console variable. Transparency in 8 bit rendering using euclidian square distance to aproximate palette indexes. Added diher8bittransparency console variable. Added displayresolution alias for "detaillevel" console variable. Fixed Medusa Effect Bug. Added engage console command, alias for start and playgame. Precalculate floating point parameters of custom mobj functions as fixed_t. Boom compatible friction effect. Boom compatible pushers. (linedef special 224/wind, 225/current, 226/push-pull) Suspends interpolation for teleporting objects, that eliminates some drawing gliches. Fixed transparency HUD in OpenGL mode. Added support for GL_FRIENDLY nodes (OpenGL version). Automatically loads *.GWA files if autoloadgwafiles console variable is set to true. (OpenGL version). Fixed background flat in finale text drawing (F_TextWrite) Added giveallkeys, idkeys console commands, give all keys (idkeys cheat). Fixed sprite clipping bug in OpenGL mode when looking up/down. Removed limit on lines hit. Hash Indexing of external PAK/PK3/ZIP files. FastMM memory manager upgrated to version 4.94. Default miditempo changed to 128. Added MF2_EX_PUSHABLE and MF2_EX_CANNOTPUSH mobj flags, enabled pushable objects. Added A_HideThing and A_UnHideThing mobj functions. Added support for dynamic lights, using LIGHTDEF lump. Added hidedoublicatedbarrels console variable, if there are many barrels at the exact same position draws only one. Precaclulate OpenGL display lists for floors and ceilings if possible. Fixed sky rendering problems in OpenGL mode. Added Crash state in mobjs. New simplified blocklinks handling mechanism. Fixed Dehacked bug, now correctly handles POINTER keyword Added gl_stencilsky conslole variable. Corrected some issues in OpenGL rendering. Added support for MD2 models (OpenGL only). Check for LIGHTDEF lumps inside PAK/PK3 files. (First parse all LIGHTDEF entries and then all LIGHTDEF.txt entries) Added gl_drawmodels console variable. Added gl_smoothmodelmovement console variable. Dynamic lightmap implementation. Added gl_uselightmaps console variable. Added gl_precachemodeltextures console variable. OpenGL UI speed optimizations. Custom lighttables in OpenGL using GLGAMMA lump. New external texture format named (using .material extension) to combine at load time with user defined parameters more than one external textures into one. Added simple shadows. Added gl_drawshadows console command. Added ATurn5 and A_Turn10 mobj functions.
Version 1.0.2 build 383 - (3/3/2008)
Added OpenGL rendering. (gldoom32.exe) Added displaydiskbuzyicon console variable. Added jpeg external textures support. Fixed zip library memory leak. Speed optimization for V_ReadPalette function. Added A_FadeIn10, A_FadeIn20 and A_FadeIn30 mobj functions. Added A_FadeOut10, A_FadeOut20 and A_FadeOut30 mobj functions. The idmypos cheats now shows also the z position (height) of the player. Added
