This list is closed, nobody may subscribe to it.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(16) |
Nov
(30) |
Dec
(17) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(35) |
Feb
(35) |
Mar
(5) |
Apr
(1) |
May
(6) |
Jun
(24) |
Jul
(48) |
Aug
(122) |
Sep
(19) |
Oct
(10) |
Nov
(98) |
Dec
(16) |
2003 |
Jan
(24) |
Feb
(31) |
Mar
(35) |
Apr
(44) |
May
(27) |
Jun
(26) |
Jul
(104) |
Aug
(139) |
Sep
(92) |
Oct
(88) |
Nov
(10) |
Dec
(8) |
2004 |
Jan
(129) |
Feb
(19) |
Mar
(7) |
Apr
(11) |
May
(14) |
Jun
(8) |
Jul
(2) |
Aug
(90) |
Sep
(25) |
Oct
(16) |
Nov
(7) |
Dec
(8) |
2005 |
Jan
(4) |
Feb
(1) |
Mar
(3) |
Apr
(6) |
May
(10) |
Jun
(4) |
Jul
(11) |
Aug
(1) |
Sep
|
Oct
|
Nov
(18) |
Dec
(5) |
2006 |
Jan
(9) |
Feb
(5) |
Mar
(12) |
Apr
(41) |
May
|
Jun
(1) |
Jul
(286) |
Aug
(341) |
Sep
(94) |
Oct
(96) |
Nov
(50) |
Dec
(61) |
2007 |
Jan
(47) |
Feb
(27) |
Mar
(25) |
Apr
(60) |
May
(22) |
Jun
(11) |
Jul
(20) |
Aug
(16) |
Sep
(13) |
Oct
(32) |
Nov
(30) |
Dec
(12) |
2008 |
Jan
(24) |
Feb
(14) |
Mar
(44) |
Apr
(34) |
May
(6) |
Jun
(10) |
Jul
(17) |
Aug
(27) |
Sep
(39) |
Oct
(86) |
Nov
(92) |
Dec
(59) |
2009 |
Jan
(92) |
Feb
(56) |
Mar
(28) |
Apr
(50) |
May
(82) |
Jun
(24) |
Jul
(60) |
Aug
(38) |
Sep
(57) |
Oct
(28) |
Nov
(40) |
Dec
(63) |
2010 |
Jan
(37) |
Feb
(10) |
Mar
(12) |
Apr
(22) |
May
(44) |
Jun
(44) |
Jul
(3) |
Aug
(18) |
Sep
(20) |
Oct
(26) |
Nov
(49) |
Dec
(51) |
2011 |
Jan
(14) |
Feb
(28) |
Mar
(3) |
Apr
(35) |
May
(99) |
Jun
(117) |
Jul
(44) |
Aug
(16) |
Sep
(20) |
Oct
(20) |
Nov
(33) |
Dec
(22) |
2012 |
Jan
(21) |
Feb
(5) |
Mar
(46) |
Apr
(10) |
May
(7) |
Jun
(2) |
Jul
(8) |
Aug
(5) |
Sep
(1) |
Oct
|
Nov
|
Dec
(16) |
2013 |
Jan
(7) |
Feb
(9) |
Mar
|
Apr
(9) |
May
(1) |
Jun
(21) |
Jul
(8) |
Aug
(6) |
Sep
(8) |
Oct
(8) |
Nov
|
Dec
(3) |
2014 |
Jan
(21) |
Feb
(2) |
Mar
(2) |
Apr
(1) |
May
|
Jun
(2) |
Jul
(4) |
Aug
|
Sep
(13) |
Oct
|
Nov
(1) |
Dec
(4) |
2015 |
Jan
(2) |
Feb
(11) |
Mar
(4) |
Apr
|
May
(3) |
Jun
(1) |
Jul
|
Aug
|
Sep
(15) |
Oct
(11) |
Nov
(2) |
Dec
|
2016 |
Jan
(5) |
Feb
(28) |
Mar
(3) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
(2) |
2017 |
Jan
(6) |
Feb
(10) |
Mar
(4) |
Apr
|
May
(7) |
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
(3) |
Dec
|
2018 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(7) |
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: <web...@pr...> - 2017-03-04 16:33:20
|
Author: entryway Date: Sat Mar 4 16:33:12 2017 New Revision: 4517 Log: rever r4516 Modified: branches/prboom-plus-24/prboom2/src/r_main.c branches/prboom-plus-24/prboom2/src/r_main.h branches/prboom-plus-24/prboom2/src/r_things.c Modified: branches/prboom-plus-24/prboom2/src/r_main.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/r_main.c Sat Mar 4 15:53:52 2017 (r4516) +++ branches/prboom-plus-24/prboom2/src/r_main.c Sat Mar 4 16:33:12 2017 (r4517) @@ -92,7 +92,6 @@ fixed_t focallength; fixed_t focallengthy; -fixed_t globaluclip, globaldclip; fixed_t centerxfrac, centeryfrac; fixed_t yaspectmul; fixed_t viewheightfrac; //e6y: for correct cliping of things @@ -905,7 +904,6 @@ { if (V_GetMode() != VID_MODEGL) { - fixed_t InvZtoScale; fixed_t dy; int i; @@ -916,10 +914,6 @@ centery += dy >> FRACBITS; } centeryfrac = centery<<FRACBITS; - - InvZtoScale = yaspectmul * centerx; - globaluclip = FixedDiv (-centeryfrac, InvZtoScale); - globaldclip = FixedDiv ((viewheight<<FRACBITS)-centeryfrac, InvZtoScale); for (i=0; i<viewheight; i++) { Modified: branches/prboom-plus-24/prboom2/src/r_main.h ============================================================================== --- branches/prboom-plus-24/prboom2/src/r_main.h Sat Mar 4 15:53:52 2017 (r4516) +++ branches/prboom-plus-24/prboom2/src/r_main.h Sat Mar 4 16:33:12 2017 (r4517) @@ -55,8 +55,6 @@ extern int viewwindowy; extern int centerx; extern int centery; -extern fixed_t globaluclip; -extern fixed_t globaldclip; extern fixed_t centerxfrac; extern fixed_t centeryfrac; extern fixed_t yaspectmul; Modified: branches/prboom-plus-24/prboom2/src/r_things.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/r_things.c Sat Mar 4 15:53:52 2017 (r4516) +++ branches/prboom-plus-24/prboom2/src/r_things.c Sat Mar 4 16:33:12 2017 (r4517) @@ -610,7 +610,7 @@ static void R_ProjectSprite (mobj_t* thing, int lightlevel) { - fixed_t gzt, gzb; // killough 3/27/98 + fixed_t gzt; // killough 3/27/98 fixed_t tx; fixed_t xscale; int x1; @@ -736,7 +736,6 @@ x2 = ((centerxfrac + FixedMul (tx,xscale) - FRACUNIT/2) >> FRACBITS); gzt = fz + (patch->topoffset << FRACBITS); - gzb = gzt - (patch->height << FRACBITS); width = patch->width; R_UnlockPatchNum(lump+firstspritelump); } @@ -745,12 +744,13 @@ if (x1 > viewwidth || x2 < 0) return; - // [RH] Reject sprites that are off the top or bottom of the screen - if (FixedMul(globaluclip, tz) > viewz - gzb || - FixedMul(globaldclip, tz) < viewz - gzt) - { + // killough 4/9/98: clip things which are out of view due to height + // e6y: fix of hanging decoration disappearing in Batman Doom MAP02 + // centeryfrac -> viewheightfrac + // [kb] add +1 so sprites are shown even with the extended freelook + if (thing->z > viewz + FixedDiv(viewheight << (FRACBITS + 1), xscale) || + gzt < viewz - FixedDiv((viewheight << (FRACBITS + 1)) - viewheight, xscale)) return; - } // killough 3/27/98: exclude things totally separated // from the viewer, by either water or fake ceilings |
From: <web...@pr...> - 2017-03-04 15:54:03
|
Author: entryway Date: Sat Mar 4 15:53:52 2017 New Revision: 4516 Log: Fixed sprites dissapering on ludicrm.wad map03 because of integer overwlow in clipping code (floor height is 31656). Replaced with ZDoom code which is more coorrect I hope https://www.doomworld.com/vb/post/1723386 Modified: branches/prboom-plus-24/prboom2/src/r_main.c branches/prboom-plus-24/prboom2/src/r_main.h branches/prboom-plus-24/prboom2/src/r_things.c Modified: branches/prboom-plus-24/prboom2/src/r_main.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/r_main.c Sat Feb 25 21:49:56 2017 (r4515) +++ branches/prboom-plus-24/prboom2/src/r_main.c Sat Mar 4 15:53:52 2017 (r4516) @@ -92,6 +92,7 @@ fixed_t focallength; fixed_t focallengthy; +fixed_t globaluclip, globaldclip; fixed_t centerxfrac, centeryfrac; fixed_t yaspectmul; fixed_t viewheightfrac; //e6y: for correct cliping of things @@ -904,6 +905,7 @@ { if (V_GetMode() != VID_MODEGL) { + fixed_t InvZtoScale; fixed_t dy; int i; @@ -914,6 +916,10 @@ centery += dy >> FRACBITS; } centeryfrac = centery<<FRACBITS; + + InvZtoScale = yaspectmul * centerx; + globaluclip = FixedDiv (-centeryfrac, InvZtoScale); + globaldclip = FixedDiv ((viewheight<<FRACBITS)-centeryfrac, InvZtoScale); for (i=0; i<viewheight; i++) { Modified: branches/prboom-plus-24/prboom2/src/r_main.h ============================================================================== --- branches/prboom-plus-24/prboom2/src/r_main.h Sat Feb 25 21:49:56 2017 (r4515) +++ branches/prboom-plus-24/prboom2/src/r_main.h Sat Mar 4 15:53:52 2017 (r4516) @@ -55,6 +55,8 @@ extern int viewwindowy; extern int centerx; extern int centery; +extern fixed_t globaluclip; +extern fixed_t globaldclip; extern fixed_t centerxfrac; extern fixed_t centeryfrac; extern fixed_t yaspectmul; Modified: branches/prboom-plus-24/prboom2/src/r_things.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/r_things.c Sat Feb 25 21:49:56 2017 (r4515) +++ branches/prboom-plus-24/prboom2/src/r_things.c Sat Mar 4 15:53:52 2017 (r4516) @@ -610,7 +610,7 @@ static void R_ProjectSprite (mobj_t* thing, int lightlevel) { - fixed_t gzt; // killough 3/27/98 + fixed_t gzt, gzb; // killough 3/27/98 fixed_t tx; fixed_t xscale; int x1; @@ -736,6 +736,7 @@ x2 = ((centerxfrac + FixedMul (tx,xscale) - FRACUNIT/2) >> FRACBITS); gzt = fz + (patch->topoffset << FRACBITS); + gzb = gzt - (patch->height << FRACBITS); width = patch->width; R_UnlockPatchNum(lump+firstspritelump); } @@ -744,13 +745,12 @@ if (x1 > viewwidth || x2 < 0) return; - // killough 4/9/98: clip things which are out of view due to height - // e6y: fix of hanging decoration disappearing in Batman Doom MAP02 - // centeryfrac -> viewheightfrac - // [kb] add +1 so sprites are shown even with the extended freelook - if (thing->z > viewz + FixedDiv(viewheight << (FRACBITS + 1), xscale) || - gzt < viewz - FixedDiv((viewheight << (FRACBITS + 1)) - viewheight, xscale)) + // [RH] Reject sprites that are off the top or bottom of the screen + if (FixedMul(globaluclip, tz) > viewz - gzb || + FixedMul(globaldclip, tz) < viewz - gzt) + { return; + } // killough 3/27/98: exclude things totally separated // from the viewer, by either water or fake ceilings |
From: <web...@pr...> - 2017-02-25 21:50:06
|
Author: rjy Date: Sat Feb 25 21:49:56 2017 New Revision: 4515 Log: INSTALL: deutex no longer used (38_ViTa_38) This file is about building on Linux/BSD/etc. where deutex is no longer used. (OSX still seems to need it - cf. src/MAC/Rakefile. Not sure about Windows.) Also update SVN checkout url from crowproductions.de to svn.prboom.org. Thanks to 38_ViTa_38, see https://www.doomworld.com/vb/post/1719060 Modified: branches/prboom-plus-24/prboom2/INSTALL Modified: branches/prboom-plus-24/prboom2/INSTALL ============================================================================== --- branches/prboom-plus-24/prboom2/INSTALL Sun Feb 19 10:24:56 2017 (r4514) +++ branches/prboom-plus-24/prboom2/INSTALL Sat Feb 25 21:49:56 2017 (r4515) @@ -5,31 +5,21 @@ prboom-plus-2.5.1.5.tar.gz, as opposed to SVN, skip to the "Basic Installation" section. - 1. Install and configure deutex. If deutex is already installed and - configured skip to step 2. - a. Install deutex from http://www.teaser.fr/~amajorel/deutex - b. Set the DOOMWADDIR environment variable to the directory that - contains the IWAD files: - export DOOMWADDIR=/usr/local/share/games/doom + 1. Extract the PrBoom distribution from SVN: + svn co https://svn.prboom.org/repos/branches/prboom-plus-24/prboom2 - 2. 'cd' to a suitable parent directory for the PrBoom distribution: - cd /usr/local/src - - 3. Extract the PrBoom distribution from SVN: - svn co http://www.crowproductions.de/repos/prboom/branches/prboom-plus-24/prboom2 - - 4. 'cd' to the directory containing the PrBoom distribution (the directory + 2. 'cd' to the directory containing the PrBoom distribution (the directory this file is in): cd prboom2 - 5. Run the 'bootstrap' script in order to create the 'configure' script. + 3. Run the 'bootstrap' script in order to create the 'configure' script. ./bootstrap If you get this error: aclocal: configure.ac: 153: macro `AM_PATH_SDL' not found in library Then you have to locate sdl.m4 and copy it to ./autotools/sdl.m4 in your prboom directory. - 6. If the 'configure' script was created by step 5 then proceed to the + 4. If the 'configure' script was created by step 3 then proceed to the "Basic Installation" section. Basic Installation |
From: <web...@pr...> - 2017-02-19 10:25:05
|
Author: entryway Date: Sun Feb 19 10:24:56 2017 New Revision: 4514 Log: fix clearing key bindings (Fabian Greffrath) Modified: branches/prboom-plus-24/prboom2/src/m_menu.c Modified: branches/prboom-plus-24/prboom2/src/m_menu.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/m_menu.c Fri Feb 17 23:55:11 2017 (r4513) +++ branches/prboom-plus-24/prboom2/src/m_menu.c Sun Feb 19 10:24:56 2017 (r4514) @@ -4115,7 +4115,7 @@ case KEYD_MWHEELDOWN: s = "MWDN"; break; case KEYD_MWHEELUP: s = "MWUP"; break; case KEYD_PRINTSC: s = "PRSC"; break; - case -1: s = "NONE"; break; + case 0: s = "NONE"; break; default: s = "JUNK"; break; } @@ -5365,7 +5365,7 @@ if (ptr1->m_mouse) *ptr1->m_mouse = -1; - *ptr1->var.m_key = -1; + *ptr1->var.m_key = 0; } return true; |
From: <web...@pr...> - 2017-02-17 23:55:21
|
Author: rjy Date: Fri Feb 17 23:55:11 2017 New Revision: 4513 Log: T_PlatRaise: warn of potential desync on raise-and-change reverse When a rising plat_t is blocked from its destination height, it reverses direction and returns to its original height. However the possibility of the raise-and-change plat_t types reversing direction was overlooked; in particular EV_DoPlat left the return height plat->low uninitialized. Thus the reversed floor might move almost anywhere, from an immediate halt to an indefinite descent. In Boom the value was initialized to something sane, but Doom (vanilla) demos can go out of sync here. As we have little hope of determining the correct value of plat->low all we can do is show the user a warning, in much the same way as crushing stairs are currently handled. That way at least the user knows why demo playback has failed, or their recording is unlikely to work in vanilla. https://sourceforge.net/p/prboom-plus/bugs/211/ https://sourceforge.net/p/prboom-plus/bugs/45/ Modified: branches/prboom-plus-24/prboom2/src/p_plats.c Modified: branches/prboom-plus-24/prboom2/src/p_plats.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/p_plats.c Thu Feb 16 19:02:36 2017 (r4512) +++ branches/prboom-plus-24/prboom2/src/p_plats.c Fri Feb 17 23:55:11 2017 (r4513) @@ -38,6 +38,7 @@ #include "p_tick.h" #include "s_sound.h" #include "sounds.h" +#include "lprintf.h" #include "e6y.h"//e6y platlist_t *activeplats; // killough 2/14/98: made global again @@ -77,6 +78,19 @@ plat->count = plat->wait; plat->status = down; S_StartSound((mobj_t *)&plat->sector->soundorg, sfx_pstart); + + if (demo_compatibility && + (plat->type == raiseToNearestAndChange || + plat->type == raiseAndChange)) + { + // For these types vanilla did not initialize plat->low in EV_DoPlat, + // so they may descend to any depth, or not at all. + // See https://sourceforge.net/p/prboom-plus/bugs/211/ . + lprintf(LO_WARN, "T_PlatRaise: raise-and-change type has reversed " + "direction in compatibility mode - may lead to desync\n" + " gametic: %d sector: %d complevel: %d\n", + gametic, plat->sector->iSectorID, compatibility_level); + } } else // else handle reaching end of up stroke { |
From: <web...@pr...> - 2017-02-16 19:02:43
|
Author: rjy Date: Thu Feb 16 19:02:36 2017 New Revision: 4512 Log: Remove unused node version constants Converted to string literals in the relevant detector functions. nodesVersion is a simple number, 0 for BSP, 1+ for GLBSP version. Modified: branches/prboom-plus-24/prboom2/src/p_setup.c Modified: branches/prboom-plus-24/prboom2/src/p_setup.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/p_setup.c Thu Feb 16 19:02:35 2017 (r4511) +++ branches/prboom-plus-24/prboom2/src/p_setup.c Thu Feb 16 19:02:36 2017 (r4512) @@ -91,12 +91,6 @@ //////////////////////////////////////////////////////////////////////////////////////////// // figgi 08/21/00 -- constants and globals for glBsp support -#define gNd2 0x32644E67 // figgi -- suppport for new GL_VERT format v2.0 -#define gNd3 0x33644E67 -#define gNd4 0x34644E67 -#define gNd5 0x35644E67 -#define ZNOD 0x444F4E5A -#define ZGLN 0x4E4C475A #define GL_VERT_OFFSET 4 int firstglvertex = 0; @@ -300,7 +294,7 @@ if (CheckForIdentifier(gl_lumpnum+ML_GL_SEGS, "gNd3", 4)) { ver = 3; } else { - nodesVersion = gNd2; + nodesVersion = 2; lprintf(LO_DEBUG, "P_GetNodesVersion: found version 2 nodes\n"); } } @@ -380,7 +374,7 @@ { gldata = W_CacheLumpNum(gllump); - if (nodesVersion == gNd2) // 32 bit GL_VERT format (16.16 fixed) + if (nodesVersion == 2) // 32 bit GL_VERT format (16.16 fixed) { const mapglvertex_t* mgl; |
From: <web...@pr...> - 2017-02-16 19:02:42
|
Author: rjy Date: Thu Feb 16 19:02:35 2017 New Revision: 4511 Log: CheckForIdentifier: use in P_GetNodesVersion Assuming the second and subsequent W_CacheLumpNum calls are "cheap", no I/O done thanks to memory-mapped WAD access. (P_GetNodesVersion appears to ignore GLv1 nodes, falling back to BSP even if present - I've preserved this, assuming it is intentional) Modified: branches/prboom-plus-24/prboom2/src/p_setup.c Modified: branches/prboom-plus-24/prboom2/src/p_setup.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/p_setup.c Thu Feb 16 19:02:33 2017 (r4510) +++ branches/prboom-plus-24/prboom2/src/p_setup.c Thu Feb 16 19:02:35 2017 (r4511) @@ -296,20 +296,18 @@ if ( (gl_lumpnum > lumpnum) && (forceOldBsp == false) && (compatibility_level >= prboom_2_compatibility) ) { - const void *data = W_CacheLumpNum(gl_lumpnum+ML_GL_VERTS); - if (*(const int *)data == gNd2) { - data = W_CacheLumpNum(gl_lumpnum+ML_GL_SEGS); - if (*(const int *)data == gNd3) { + if (CheckForIdentifier(gl_lumpnum+ML_GL_VERTS, "gNd2", 4)) { + if (CheckForIdentifier(gl_lumpnum+ML_GL_SEGS, "gNd3", 4)) { ver = 3; } else { nodesVersion = gNd2; lprintf(LO_DEBUG, "P_GetNodesVersion: found version 2 nodes\n"); } } - if (*(const int *)data == gNd4) { + else if (CheckForIdentifier(gl_lumpnum+ML_GL_VERTS, "gNd4", 4)) { ver = 4; } - if (*(const int *)data == gNd5) { + else if (CheckForIdentifier(gl_lumpnum+ML_GL_VERTS, "gNd5", 4)) { ver = 5; } //e6y: unknown gl nodes will be ignored |
From: <web...@pr...> - 2017-02-16 19:02:40
|
Author: rjy Date: Thu Feb 16 19:02:33 2017 New Revision: 4510 Log: CheckForIdentifier: use in three P_CheckForNodes functions - P_CheckForZDoomNodes - P_CheckForDeePBSPv4Nodes - P_CheckForZDoomUncompressedNodes Modified: branches/prboom-plus-24/prboom2/src/p_setup.c Modified: branches/prboom-plus-24/prboom2/src/p_setup.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/p_setup.c Thu Feb 16 19:02:32 2017 (r4509) +++ branches/prboom-plus-24/prboom2/src/p_setup.c Thu Feb 16 19:02:33 2017 (r4510) @@ -246,14 +246,10 @@ static dboolean P_CheckForZDoomNodes(int lumpnum, int gl_lumpnum) { - const void *data; - - data = W_CacheLumpNum(lumpnum + ML_NODES); - if (W_LumpLength(lumpnum + ML_NODES) >= 4 && !memcmp(data, "ZNOD", 4)) + if (CheckForIdentifier(lumpnum + ML_NODES, "ZNOD", 4)) I_Error("P_CheckForZDoomNodes: compressed ZDoom nodes not supported yet"); - data = W_CacheLumpNum(lumpnum + ML_SSECTORS); - if (W_LumpLength(lumpnum + ML_SSECTORS) >= 4 && !memcmp(data, "ZGLN", 4)) + if (CheckForIdentifier(lumpnum + ML_SSECTORS, "ZGLN", 4)) I_Error("P_CheckForZDoomNodes: ZDoom GL nodes not supported yet"); return false; @@ -266,16 +262,10 @@ static dboolean P_CheckForDeePBSPv4Nodes(int lumpnum, int gl_lumpnum) { - const void *data; - int result = false; + int result = CheckForIdentifier(lumpnum + ML_NODES, "xNd4\0\0\0\0", 8); - data = W_CacheLumpNum(lumpnum + ML_NODES); - if (!memcmp(data, "xNd4\0\0\0\0", 8)) - { + if (result) lprintf(LO_INFO, "P_CheckForDeePBSPv4Nodes: DeePBSP v4 Extended nodes are detected\n"); - result = true; - } - W_UnlockLumpNum(lumpnum + ML_NODES); return result; } @@ -287,16 +277,10 @@ static int P_CheckForZDoomUncompressedNodes(int lumpnum, int gl_lumpnum) { - const void *data; - int result = false; + int result = CheckForIdentifier(lumpnum + ML_NODES, "XNOD", 4); - data = W_CacheLumpNum(lumpnum + ML_NODES); - if (!memcmp(data, "XNOD", 4)) - { + if (result) lprintf(LO_INFO, "P_CheckForZDoomUncompressedNodes: ZDoom uncompressed normal nodes are detected\n"); - result = true; - } - W_UnlockLumpNum(lumpnum + ML_NODES); return result; } |
From: <web...@pr...> - 2017-02-16 19:02:39
|
Author: rjy Date: Thu Feb 16 19:02:32 2017 New Revision: 4509 Log: CheckForIdentifier: check for magic string at start of lump New function split from nodes format detectors. It opens a lump and reads the start to see if a particular magic string of characters is present. It first checks the lump is long enough to contain the string. Modified: branches/prboom-plus-24/prboom2/src/p_setup.c Modified: branches/prboom-plus-24/prboom2/src/p_setup.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/p_setup.c Thu Feb 16 19:02:30 2017 (r4508) +++ branches/prboom-plus-24/prboom2/src/p_setup.c Thu Feb 16 19:02:32 2017 (r4509) @@ -219,6 +219,28 @@ } // +// CheckForIdentifier +// Checks a lump for a magic string to identify its type (e.g. extended nodes) +// + +static dboolean CheckForIdentifier(int lumpnum, const byte *id, size_t length) +{ + dboolean result = false; + + if (W_LumpLength(lumpnum) >= length) + { + const char *data = W_CacheLumpNum(lumpnum); + + if (!memcmp(data, id, length)) + result = true; + + W_UnlockLumpNum(lumpnum); + } + + return result; +} + +// // P_CheckForZDoomNodes // |
From: <web...@pr...> - 2017-02-16 19:02:38
|
Author: rjy Date: Thu Feb 16 19:02:30 2017 New Revision: 4508 Log: P_CheckForZDoomNodes: check length before access (38_ViTa_38) First check a lump is long enough to contain the required magic identifier string before trying to read it. (Also use memcmp rather than casting pointers, this seems mildly safer) This should fix an access violation reported by 38_ViTa_38, who also helped greatly with debugging and testing. Thank you! https://www.doomworld.com/vb/post/1717447 Modified: branches/prboom-plus-24/prboom2/src/p_setup.c Modified: branches/prboom-plus-24/prboom2/src/p_setup.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/p_setup.c Thu Feb 16 19:02:27 2017 (r4507) +++ branches/prboom-plus-24/prboom2/src/p_setup.c Thu Feb 16 19:02:30 2017 (r4508) @@ -227,11 +227,11 @@ const void *data; data = W_CacheLumpNum(lumpnum + ML_NODES); - if (*(const int *)data == ZNOD) + if (W_LumpLength(lumpnum + ML_NODES) >= 4 && !memcmp(data, "ZNOD", 4)) I_Error("P_CheckForZDoomNodes: compressed ZDoom nodes not supported yet"); data = W_CacheLumpNum(lumpnum + ML_SSECTORS); - if (*(const int *)data == ZGLN) + if (W_LumpLength(lumpnum + ML_SSECTORS) >= 4 && !memcmp(data, "ZGLN", 4)) I_Error("P_CheckForZDoomNodes: ZDoom GL nodes not supported yet"); return false; |
From: <web...@pr...> - 2017-02-16 19:02:37
|
Author: rjy Date: Thu Feb 16 19:02:27 2017 New Revision: 4507 Log: Set default usegamma back to zero I saw a complaint that PrBoom's default gamma is so high and wondered if there was a reason for it. It appears not - being a change made by Lee Killough to ease his own testing in the days of Boom. log_lee.txt: >Changed default gamma correction to 3 (only affects people with a missing >default.cfg -- I hope there are no objections -- it's just I hate having to >turn up gamma correction everytime I start with a fresh default.cfg). Thus, revert to the original value of zero (no gamma correction). As the man himself says, it will only affect those with a missing prboom.cfg. Modified: branches/prboom-plus-24/prboom2/src/m_misc.c Modified: branches/prboom-plus-24/prboom2/src/m_misc.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/m_misc.c Thu Feb 2 23:33:07 2017 (r4506) +++ branches/prboom-plus-24/prboom2/src/m_misc.c Thu Feb 16 19:02:27 2017 (r4507) @@ -408,7 +408,7 @@ def_int,ss_none}, // set percentage of foreground/background translucency mix {"screenblocks",{&screenblocks},{10},3,11, // killough 2/21/98: default to 10 def_int,ss_none}, - {"usegamma",{&usegamma},{3},0,4, //jff 3/6/98 fix erroneous upper limit in range + {"usegamma",{&usegamma},{0},0,4, //jff 3/6/98 fix erroneous upper limit in range def_int,ss_none}, // gamma correction level // killough 1/18/98 {"uncapped_framerate", {&movement_smooth_default}, {1},0,1, def_bool,ss_stat}, |
From: <web...@pr...> - 2017-02-02 23:33:17
|
Author: entryway Date: Thu Feb 2 23:33:07 2017 New Revision: 4506 Log: False positive in dumb_read_mod_quick in NGmvmt1.wad map11. Added additional check from the newest dumb (https://github.com/kode54/dumb). Comment from zdoom: No way to get the filename, so we can't check for a .mod extension, and therefore, trying to load an old 15-instrument SoundTracker module is not safe. We'll restrict MOD loading to 31-instrument modules with known signatures and let the sound system worry about 15-instrument ones. https://www.doomworld.com/vb/post/1711922 Modified: branches/prboom-plus-24/prboom2/src/MUSIC/dumbplayer.c Modified: branches/prboom-plus-24/prboom2/src/MUSIC/dumbplayer.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/MUSIC/dumbplayer.c Mon Jan 23 08:48:31 2017 (r4505) +++ branches/prboom-plus-24/prboom2/src/MUSIC/dumbplayer.c Thu Feb 2 23:33:07 2017 (r4506) @@ -135,7 +135,24 @@ { dumbfile_close (dfil); dfil = dumbfile_open_memory (data, len); - duh = dumb_read_mod_quick (dfil); + duh = dumb_read_mod_quick (dfil); + // No way to get the filename, so we can't check for a .mod extension, and + // therefore, trying to load an old 15-instrument SoundTracker module is not + // safe. We'll restrict MOD loading to 31-instrument modules with known + // signatures and let the sound system worry about 15-instrument ones. + // (Assuming it even supports them) + { + DUMB_IT_SIGDATA *sigdata = duh_get_it_sigdata(duh); + if (sigdata) + { + int n_samples = dumb_it_sd_get_n_samples(sigdata); + if (n_samples == 15) + { + unload_duh(duh); + duh = NULL; + } + } + } } if (!duh) { |
From: <web...@pr...> - 2017-01-23 08:48:40
|
Author: entryway Date: Mon Jan 23 08:48:31 2017 New Revision: 4505 Log: added viewpitchoffset variable Modified: branches/prboom-plus-24/prboom2/src/doomstat.h branches/prboom-plus-24/prboom2/src/gl_main.c branches/prboom-plus-24/prboom2/src/p_user.c branches/prboom-plus-24/prboom2/src/r_fps.c branches/prboom-plus-24/prboom2/src/r_main.c branches/prboom-plus-24/prboom2/src/r_things.c Modified: branches/prboom-plus-24/prboom2/src/doomstat.h ============================================================================== --- branches/prboom-plus-24/prboom2/src/doomstat.h Mon Jan 23 08:45:20 2017 (r4504) +++ branches/prboom-plus-24/prboom2/src/doomstat.h Mon Jan 23 08:48:31 2017 (r4505) @@ -209,6 +209,7 @@ // This one is related to the 3-screen display mode. // ANG90 = left side, ANG270 = right extern int viewangleoffset; +extern int viewpitchoffset; // Player taking events, and displaying. extern int consoleplayer; Modified: branches/prboom-plus-24/prboom2/src/gl_main.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/gl_main.c Mon Jan 23 08:45:20 2017 (r4504) +++ branches/prboom-plus-24/prboom2/src/gl_main.c Mon Jan 23 08:48:31 2017 (r4505) @@ -1301,7 +1301,7 @@ gl_EnableFog(false); gld_Set2DMode(); - if (!viewangleoffset) + if (!viewangleoffset && !viewpitchoffset) { // don't draw on side views glsl_SetActiveShader(sh_main); R_DrawPlayerSprites(); Modified: branches/prboom-plus-24/prboom2/src/p_user.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/p_user.c Mon Jan 23 08:45:20 2017 (r4504) +++ branches/prboom-plus-24/prboom2/src/p_user.c Mon Jan 23 08:48:31 2017 (r4505) @@ -438,7 +438,7 @@ { player->prev_viewz = player->viewz; player->prev_viewangle = R_SmoothPlaying_Get(player) + viewangleoffset; - player->prev_viewpitch = player->mo->pitch; + player->prev_viewpitch = player->mo->pitch + viewpitchoffset; if (&players[displayplayer] == player) { Modified: branches/prboom-plus-24/prboom2/src/r_fps.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/r_fps.c Mon Jan 23 08:45:20 2017 (r4504) +++ branches/prboom-plus-24/prboom2/src/r_fps.c Mon Jan 23 08:48:31 2017 (r4505) @@ -121,7 +121,7 @@ player->prev_viewz = player->viewz; player->prev_viewangle = player->mo->angle + viewangleoffset; - player->prev_viewpitch = player->mo->pitch; + player->prev_viewpitch = player->mo->pitch + viewpitchoffset; P_ResetWalkcam(); } @@ -147,7 +147,7 @@ else { viewangle = player->prev_viewangle + FixedMul (frac, R_SmoothPlaying_Get(player) - player->prev_viewangle) + viewangleoffset; - viewpitch = player->prev_viewpitch + FixedMul (frac, player->mo->pitch - player->prev_viewpitch); + viewpitch = player->prev_viewpitch + FixedMul (frac, player->mo->pitch - player->prev_viewpitch) + viewpitchoffset; } } else @@ -172,7 +172,7 @@ else { viewangle = R_SmoothPlaying_Get(player) + viewangleoffset; - viewpitch = player->mo->pitch; + viewpitch = player->mo->pitch + viewpitchoffset; } } Modified: branches/prboom-plus-24/prboom2/src/r_main.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/r_main.c Mon Jan 23 08:45:20 2017 (r4504) +++ branches/prboom-plus-24/prboom2/src/r_main.c Mon Jan 23 08:48:31 2017 (r4505) @@ -79,6 +79,7 @@ // node, by d_net.c, to set up a L/M/R session. int viewangleoffset; +int viewpitchoffset; int validcount = 1; // increment every time a check is made const lighttable_t *fixedcolormap; int centerx, centery; Modified: branches/prboom-plus-24/prboom2/src/r_things.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/r_things.c Mon Jan 23 08:45:20 2017 (r4504) +++ branches/prboom-plus-24/prboom2/src/r_things.c Mon Jan 23 08:48:31 2017 (r4505) @@ -1416,6 +1416,6 @@ // draw the psprites on top of everything // but does not draw on side views - if (!viewangleoffset) + if (!viewangleoffset && !viewpitchoffset) R_DrawPlayerSprites (); } |
From: <web...@pr...> - 2017-01-23 08:45:27
|
Author: entryway Date: Mon Jan 23 08:45:20 2017 New Revision: 4504 Log: don't draw psprites in onpengl (too) if viewangleoffset is not zero Modified: branches/prboom-plus-24/prboom2/src/gl_main.c Modified: branches/prboom-plus-24/prboom2/src/gl_main.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/gl_main.c Mon Jan 23 08:32:36 2017 (r4503) +++ branches/prboom-plus-24/prboom2/src/gl_main.c Mon Jan 23 08:45:20 2017 (r4504) @@ -1301,8 +1301,7 @@ gl_EnableFog(false); gld_Set2DMode(); - if (viewangleoffset <= 1024<<ANGLETOFINESHIFT || - viewangleoffset >=-1024<<ANGLETOFINESHIFT) + if (!viewangleoffset) { // don't draw on side views glsl_SetActiveShader(sh_main); R_DrawPlayerSprites(); |
From: <web...@pr...> - 2017-01-23 08:32:44
|
Author: entryway Date: Mon Jan 23 08:32:36 2017 New Revision: 4503 Log: fix some viewangleoffset issues Modified: branches/prboom-plus-24/prboom2/src/r_fps.c Modified: branches/prboom-plus-24/prboom2/src/r_fps.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/r_fps.c Mon Jan 23 08:30:04 2017 (r4502) +++ branches/prboom-plus-24/prboom2/src/r_fps.c Mon Jan 23 08:32:36 2017 (r4503) @@ -146,7 +146,7 @@ } else { - viewangle = player->prev_viewangle + FixedMul (frac, R_SmoothPlaying_Get(player) + viewangleoffset - player->prev_viewangle); + viewangle = player->prev_viewangle + FixedMul (frac, R_SmoothPlaying_Get(player) - player->prev_viewangle) + viewangleoffset; viewpitch = player->prev_viewpitch + FixedMul (frac, player->mo->pitch - player->prev_viewpitch); } } @@ -171,7 +171,7 @@ } else { - viewangle = R_SmoothPlaying_Get(player); + viewangle = R_SmoothPlaying_Get(player) + viewangleoffset; viewpitch = player->mo->pitch; } } |
From: <web...@pr...> - 2017-01-23 08:30:14
|
Author: entryway Date: Mon Jan 23 08:30:04 2017 New Revision: 4502 Log: Seg Fault Crash for OpenGL with -O2 compiler optimizations enabled fixed by dmooter I'm attaching a fix for this bug. :) I hope you implement it in the next release! This bug is really annoying, and the fix is simple. I'm running the PRBoom-Plus 2.5.1.5 from Ubuntu 16's 64-bit repositories. Some maps segfault when using Open GL. Easy way to reproduce is to run Hell to Pay (HELL2PAY.WAD) and just let the opening intro animation run its course. Crash only happens when -O2 compiler optimizations enabled. I think these are the culprits: -falign-loops -falign-labels -fexpensive-optimizations -fipa-sra -ftree-switch-conversion -ftree-pre -ftree-builtin-call-dce -ftree-vrp -fipa-ra. Root cause is in R_Subsector(). Pointer floorplane is assigned to the address of dummyfloorplane, which is in the local call stack. Because dummyfloorplane was declared inside a nested if, it runs out of scope outside that if statement. Compiler optimizations appear to then reuse that stackframe space to allocate the next stackframe when passing dummyfloorplane into gld_AddPlane(). This results in floorplane being a dangling pointerd. Ditto ceilingplane and dummyceilingplane. Solution is to move the declarations of dummyfloorplane and dummyceilingplane to the top of the function so that they do not go out of scope while floorplane and ceilingplane are still in scope pointing to them. floorplane and ceilingplane are globals, so they'd have problems if these pointers were used after R_Subsector() unwinds, but I haven't had a problem with this so am assuming they aren't used in that manner. Modified: branches/prboom-plus-24/prboom2/src/r_bsp.c Modified: branches/prboom-plus-24/prboom2/src/r_bsp.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/r_bsp.c Sat Jan 14 20:07:13 2017 (r4501) +++ branches/prboom-plus-24/prboom2/src/r_bsp.c Mon Jan 23 08:30:04 2017 (r4502) @@ -601,6 +601,14 @@ sector_t tempsec; // killough 3/7/98: deep water hack int floorlightlevel; // killough 3/16/98: set floor lightlevel int ceilinglightlevel; // killough 4/11/98 + #ifdef GL_DOOM + // dmooter 1/16/2017 Move from being declared next to its use several lines lower. + // Needs to remain in scope to the end of the function so its stack memory is recycled, + // compiler optimizations will make the floorplane pointer a dangling pointer + // when passed into gld_AddPlane(). + visplane_t dummyfloorplane; + visplane_t dummyceilingplane; + #endif #ifdef RANGECHECK if (num>=numsubsectors) @@ -658,8 +666,6 @@ // check if the sector is faked if (!gl_use_stencil && frontsector == sub->sector) { - visplane_t dummyfloorplane; - visplane_t dummyceilingplane; sector_t *tmpsec; // if the sector has bottomtextures, then the floorheight will be set to the |
From: <web...@pr...> - 2017-01-14 20:07:50
|
Author: entryway Date: Sat Jan 14 20:07:13 2017 New Revision: 4501 Log: Lets S_StartSoundAtVolume() return gracefully if (sfx_id == sfx_None). This fixes the crash reported here: https://www.doomworld.com/vb/post/1684777 (Fabian Greffrath) Modified: branches/prboom-plus-24/prboom2/src/s_sound.c Modified: branches/prboom-plus-24/prboom2/src/s_sound.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/s_sound.c Sat Jan 14 20:00:20 2017 (r4500) +++ branches/prboom-plus-24/prboom2/src/s_sound.c Sat Jan 14 20:07:13 2017 (r4501) @@ -231,6 +231,9 @@ is_pickup = sfx_id & PICKUP_SOUND || sfx_id == sfx_oof || (compatibility_level >= prboom_2_compatibility && sfx_id == sfx_noway); // killough 4/25/98 sfx_id &= ~PICKUP_SOUND; + if (sfx_id == sfx_None) + return; + // check for bogus sound # if (sfx_id < 1 || sfx_id > NUMSFX) I_Error("S_StartSoundAtVolume: Bad sfx #: %d", sfx_id); |
From: <web...@pr...> - 2017-01-14 20:00:33
|
Author: entryway Date: Sat Jan 14 20:00:20 2017 New Revision: 4500 Log: Use CREDIT lump from pwad (Fabian Greffrath) Modified: branches/prboom-plus-24/prboom2/src/m_menu.c Modified: branches/prboom-plus-24/prboom2/src/m_menu.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/m_menu.c Sun Dec 25 16:14:53 2016 (r4499) +++ branches/prboom-plus-24/prboom2/src/m_menu.c Sat Jan 14 20:00:20 2017 (r4500) @@ -4343,11 +4343,21 @@ void M_DrawCredits(void) // killough 10/98: credit screen { + const int creditlump = W_CheckNumForName("CREDIT"); + inhelpscreens = true; - // Use V_DrawBackground here deliberately to force drawing a background - V_DrawBackground(gamemode==shareware ? "CEIL5_1" : "MFLR8_4", 0); - M_DrawTitle(81, 9, "PRBOOM", CR_GOLD, PACKAGE_NAME " v" PACKAGE_VERSION, CR_GOLD); - M_DrawScreenItems(cred_settings); + if (creditlump >= 0 && lumpinfo[creditlump].source != source_iwad) + { + V_DrawNumPatch(0, 0, 0, creditlump, CR_DEFAULT, VPT_STRETCH); + V_FillBorder(-1, 0); + } + else + { + // Use V_DrawBackground here deliberately to force drawing a background + V_DrawBackground(gamemode==shareware ? "CEIL5_1" : "MFLR8_4", 0); + M_DrawTitle(81, 9, "PRBOOM", CR_GOLD, PACKAGE_NAME " v" PACKAGE_VERSION, CR_GOLD); + M_DrawScreenItems(cred_settings); + } } static int M_IndexInChoices(const char *str, const char **choices) { |
From: <web...@pr...> - 2016-12-25 16:15:04
|
Author: entryway Date: Sun Dec 25 16:14:53 2016 New Revision: 4499 Log: Use pwad HELP lump if exists (Fabian Greffrath) Modified: branches/prboom-plus-24/prboom2/src/m_menu.c Modified: branches/prboom-plus-24/prboom2/src/m_menu.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/m_menu.c Fri Dec 2 09:09:33 2016 (r4498) +++ branches/prboom-plus-24/prboom2/src/m_menu.c Sun Dec 25 16:14:53 2016 (r4499) @@ -4280,11 +4280,20 @@ void M_DrawHelp (void) { - menuactive = mnact_full; + const int helplump = W_CheckNumForName("HELP"); - M_DrawBackground("FLOOR4_6", 0); + menuactive = mnact_full; - M_DrawScreenItems(helpstrings); + if (helplump >= 0 && lumpinfo[helplump].source != source_iwad) + { + V_DrawNumPatch(0, 0, 0, helplump, CR_DEFAULT, VPT_STRETCH); + V_FillBorder(-1, 0); + } + else + { + M_DrawBackground("FLOOR4_6", 0); + M_DrawScreenItems(helpstrings); + } } // |
From: <web...@pr...> - 2016-12-02 09:09:43
|
Author: entryway Date: Fri Dec 2 09:09:33 2016 New Revision: 4498 Log: Load prboom-plus.wad before any other autoloaded wad, not afterwards. (Fabian Greffrath) Modified: branches/prboom-plus-24/prboom2/src/m_misc.c Modified: branches/prboom-plus-24/prboom2/src/m_misc.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/m_misc.c Wed Nov 9 20:08:59 2016 (r4497) +++ branches/prboom-plus-24/prboom2/src/m_misc.c Fri Dec 2 09:09:33 2016 (r4498) @@ -264,8 +264,8 @@ {"Files",{NULL},{0},UL,UL,def_none,ss_none}, /* cph - MBF-like wad/deh/bex autoload code */ - {"wadfile_1",{NULL,&wad_files[0]},{0,""},UL,UL,def_str,ss_none}, - {"wadfile_2",{NULL,&wad_files[1]},{0,""},UL,UL,def_str,ss_none}, + {"wadfile_1",{NULL,&wad_files[1]},{0,""},UL,UL,def_str,ss_none}, + {"wadfile_2",{NULL,&wad_files[2]},{0,""},UL,UL,def_str,ss_none}, {"dehfile_1",{NULL,&deh_files[0]},{0,""},UL,UL,def_str,ss_none}, {"dehfile_2",{NULL,&deh_files[1]},{0,""},UL,UL,def_str,ss_none}, @@ -1614,7 +1614,7 @@ /* proff 2001/7/1 - added prboom.wad as last entry so it's always loaded and doesn't overlap with the cfg settings */ //e6y: Check on existence of prboom.wad - if (!(wad_files[MAXLOADFILES-1] = I_FindFile(PACKAGE_TARNAME ".wad", ""))) + if (!(wad_files[0] = I_FindFile(PACKAGE_TARNAME ".wad", ""))) I_Error("PrBoom-Plus.wad not found. Can't continue."); } |
From: <web...@pr...> - 2016-11-09 20:53:58
|
Author: entryway Date: Wed Nov 9 20:08:59 2016 New Revision: 4497 Log: Failed to compile in MSYS2 using the mingw-w64-i686 toolchain. The cause seems to be that GetVersion() is a DWORD instead of an int and that this somehow is important now. (Fabian Greffrath) Modified: branches/prboom-plus-24/prboom2/src/MUSIC/flplayer.c Modified: branches/prboom-plus-24/prboom2/src/MUSIC/flplayer.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/MUSIC/flplayer.c Sun Aug 21 15:14:06 2016 (r4496) +++ branches/prboom-plus-24/prboom2/src/MUSIC/flplayer.c Wed Nov 9 20:08:59 2016 (r4497) @@ -110,7 +110,7 @@ const char *filename; #ifdef _WIN32 #ifndef _MSC_VER - int __stdcall GetVersion (void); + DWORD WINAPI GetVersion (void); #endif // _MSC_VER if ((int)GetVersion() < 0) // win9x |
From: <web...@pr...> - 2016-08-21 15:53:54
|
Author: entryway Date: Sun Aug 21 15:14:06 2016 New Revision: 4496 Log: fixed cap_fps 35 Modified: branches/prboom-plus-24/prboom2/src/r_fps.c Modified: branches/prboom-plus-24/prboom2/src/r_fps.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/r_fps.c Sun Jun 19 16:17:08 2016 (r4495) +++ branches/prboom-plus-24/prboom2/src/r_fps.c Sun Aug 21 15:14:06 2016 (r4496) @@ -194,7 +194,6 @@ void R_ResetViewInterpolation () { NoInterpolateView = true; - cap_frac = 0; } static void R_CopyInterpToOld (int i) |
From: <web...@pr...> - 2016-06-19 16:17:19
|
Author: entryway Date: Sun Jun 19 16:17:08 2016 New Revision: 4495 Log: Use DEL to clear key bindings in the setup menu. Fabian Greffrath Modified: branches/prboom-plus-24/prboom2/src/g_game.c branches/prboom-plus-24/prboom2/src/g_game.h branches/prboom-plus-24/prboom2/src/m_menu.c branches/prboom-plus-24/prboom2/src/m_misc.c Modified: branches/prboom-plus-24/prboom2/src/g_game.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/g_game.c Wed Jun 1 18:22:03 2016 (r4494) +++ branches/prboom-plus-24/prboom2/src/g_game.c Sun Jun 19 16:17:08 2016 (r4495) @@ -172,6 +172,7 @@ int key_menu_backspace; // ^ int key_menu_escape; // | int key_menu_enter; // phares 3/7/98 +int key_menu_clear; int key_strafeleft; int key_straferight; int key_flyup; Modified: branches/prboom-plus-24/prboom2/src/g_game.h ============================================================================== --- branches/prboom-plus-24/prboom2/src/g_game.h Wed Jun 1 18:22:03 2016 (r4494) +++ branches/prboom-plus-24/prboom2/src/g_game.h Sun Jun 19 16:17:08 2016 (r4495) @@ -116,6 +116,7 @@ extern int key_menu_backspace; // ^ extern int key_menu_escape; // | extern int key_menu_enter; // phares 3/7/98 +extern int key_menu_clear; extern int key_strafeleft; extern int key_straferight; extern int key_flyup; Modified: branches/prboom-plus-24/prboom2/src/m_menu.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/m_menu.c Wed Jun 1 18:22:03 2016 (r4494) +++ branches/prboom-plus-24/prboom2/src/m_menu.c Sun Jun 19 16:17:08 2016 (r4495) @@ -2167,6 +2167,8 @@ } else { if (flags & S_RESET) M_DrawStringCentered(160, 20, CR_HILITE, "Press ENTER key to reset to defaults"); + else if (flags & S_KEY) + M_DrawStringCentered(160, 20, CR_HILITE, "Press Enter to Change, Del to Clear"); else M_DrawStringCentered(160, 20, CR_HILITE, "Press Enter to Change"); } @@ -2428,6 +2430,7 @@ {"BACKSPACE" ,S_KEY ,m_menu,KB_X,KB_Y+5*8,{&key_menu_backspace}}, {"SELECT ITEM" ,S_KEY ,m_menu,KB_X,KB_Y+6*8,{&key_menu_enter}}, {"EXIT" ,S_KEY ,m_menu,KB_X,KB_Y+7*8,{&key_menu_escape}}, + {"CLEAR" ,S_KEY ,m_menu,KB_X,KB_Y+8*8,{&key_menu_clear}}, {"<- PREV",S_SKIP|S_PREV,m_null,KB_PREV,KB_Y+20*8, {keys_settings6}}, // Final entry @@ -4112,6 +4115,7 @@ case KEYD_MWHEELDOWN: s = "MWDN"; break; case KEYD_MWHEELUP: s = "MWUP"; break; case KEYD_PRINTSC: s = "PRSC"; break; + case -1: s = "NONE"; break; default: s = "JUNK"; break; } @@ -5332,6 +5336,22 @@ return true; } + if (ch == key_menu_clear) + { + if (ptr1->m_flags & S_KEY) + { + if (ptr1->m_joy) + *ptr1->m_joy = -1; + + if (ptr1->m_mouse) + *ptr1->m_mouse = -1; + + *ptr1->var.m_key = -1; + } + + return true; + } + if (ch == key_menu_enter) { int flags = ptr1->m_flags; Modified: branches/prboom-plus-24/prboom2/src/m_misc.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/m_misc.c Wed Jun 1 18:22:03 2016 (r4494) +++ branches/prboom-plus-24/prboom2/src/m_misc.c Sun Jun 19 16:17:08 2016 (r4495) @@ -551,6 +551,8 @@ 0,MAX_KEY,def_key,ss_keys}, // key to leave a menu , // phares 3/7/98 {"key_menu_enter", {&key_menu_enter}, {KEYD_ENTER} , 0,MAX_KEY,def_key,ss_keys}, // key to select from menu + {"key_menu_clear", {&key_menu_clear}, {KEYD_DEL} , + 0,MAX_KEY,def_key,ss_keys}, // key to clear a key binding {"key_setup", {&key_setup}, {0}, 0,MAX_KEY,def_key,ss_keys}, //e6y: key for entering setup menu {"key_strafeleft", {&key_strafeleft}, {'a'} , |
From: <web...@pr...> - 2016-06-01 18:53:50
|
Author: entryway Date: Wed Jun 1 18:22:03 2016 New Revision: 4494 Log: Let's just end this rediciculous discussion on DW abouth whether 8 or 9 is the right value for the vertical momentum for supporting jumping in Doom and simply support both. (Fabian Greffrath) Modified: branches/prboom-plus-24/prboom2/src/m_menu.c branches/prboom-plus-24/prboom2/src/m_misc.c branches/prboom-plus-24/prboom2/src/p_user.c Modified: branches/prboom-plus-24/prboom2/src/m_menu.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/m_menu.c Tue Mar 15 19:58:05 2016 (r4493) +++ branches/prboom-plus-24/prboom2/src/m_menu.c Wed Jun 1 18:22:03 2016 (r4494) @@ -3236,6 +3236,9 @@ {0,S_SKIP|S_END,m_null} }; +static const char *jumpheights[] = { + "No", "Low", "High", NULL}; + setup_menu_t gen_settings7[] = { {"COMPATIBILITY WITH COMMON MAPPING ERRORS" ,S_SKIP|S_TITLE,m_null,G_X2,G_Y+1*8}, @@ -3243,7 +3246,7 @@ {"USE PASSES THRU ALL SPECIAL LINES" ,S_YESNO ,m_null,G_X2,G_Y+3*8, {"comperr_passuse"}}, {"WALK UNDER SOLID HANGING BODIES" ,S_YESNO ,m_null,G_X2,G_Y+4*8, {"comperr_hangsolid"}}, {"FIX CLIPPING PROBLEMS IN LARGE LEVELS" ,S_YESNO ,m_null,G_X2,G_Y+5*8, {"comperr_blockmap"}}, - {"ALLOW JUMP" ,S_YESNO ,m_null,G_X2,G_Y+6*8, {"comperr_allowjump"}}, + {"ALLOW JUMP" ,S_CHOICE ,m_null,G_X2,G_Y+6*8, {"comperr_allowjump"}, 0, 0, NULL, jumpheights}, {"ALLOW VERTICAL AIMING" ,S_YESNO ,m_null,G_X2,G_Y+7*8, {"comperr_freeaim"}}, {"<- PREV",S_SKIP|S_PREV,m_null,KB_PREV,KB_Y+20*8, {gen_settings6}}, Modified: branches/prboom-plus-24/prboom2/src/m_misc.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/m_misc.c Tue Mar 15 19:58:05 2016 (r4493) +++ branches/prboom-plus-24/prboom2/src/m_misc.c Wed Jun 1 18:22:03 2016 (r4494) @@ -1120,8 +1120,8 @@ def_bool,ss_stat}, {"comperr_blockmap", {&default_comperr[comperr_blockmap]}, {0},0,1, def_bool,ss_stat}, - {"comperr_allowjump", {&default_comperr[comperr_allowjump]}, {0},0,1, - def_bool,ss_stat}, + {"comperr_allowjump", {&default_comperr[comperr_allowjump]}, {0},0,2, + def_int,ss_stat}, {"comperr_freeaim", {&default_comperr[comperr_freeaim]}, {0},0,1, def_bool,ss_stat}, Modified: branches/prboom-plus-24/prboom2/src/p_user.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/p_user.c Tue Mar 15 19:58:05 2016 (r4493) +++ branches/prboom-plus-24/prboom2/src/p_user.c Wed Jun 1 18:22:03 2016 (r4494) @@ -292,7 +292,7 @@ { if (!player->jumpTics) { - mo->momz = 9 * FRACUNIT; + mo->momz = (7 + default_comperr[comperr_allowjump]) * FRACUNIT; player->jumpTics = 18; } } |
From: <web...@pr...> - 2016-03-15 19:58:15
|
Author: entryway Date: Tue Mar 15 19:58:05 2016 New Revision: 4493 Log: "PRSC" text lable for print screen key in key bindings Modified: branches/prboom-plus-24/prboom2/src/m_menu.c Modified: branches/prboom-plus-24/prboom2/src/m_menu.c ============================================================================== --- branches/prboom-plus-24/prboom2/src/m_menu.c Wed Mar 2 18:47:14 2016 (r4492) +++ branches/prboom-plus-24/prboom2/src/m_menu.c Tue Mar 15 19:58:05 2016 (r4493) @@ -4108,6 +4108,7 @@ case KEYD_PAUSE: s = "PAUS"; break; case KEYD_MWHEELDOWN: s = "MWDN"; break; case KEYD_MWHEELUP: s = "MWUP"; break; + case KEYD_PRINTSC: s = "PRSC"; break; default: s = "JUNK"; break; } |