Commit graph

  • f609f43187 - Bumped the minimum savegame version because the current version crashes each time an old savegame is loaded. Christoph Oelckers 2008-03-12 13:48:35 +0000
  • f2660dc336 - Merged the GC branch back into the trunk, so now it can receive more testing from the people who download SVN trunk builds. Randy Heit 2008-03-12 02:56:11 +0000
  • 3bfcc5c09c - Removed lots of spc_* cvars that are no longer meaningful and changed spc_amp from a x.4 fixed point number to a normal float. - Switched SPC playback from the external SNESAPU.DLL to Blargg's LGPL snes_spc library. I've compiled it with the fast DSP rather than the highly accurate one, since I didn't notice a meaningful difference between the two in my limited testing. In short: SPC playback is now built in to ZDoom. You don't need to download anything extra to make it work, and it also works on Linux as well as Windows (though building with Linux is currently untested). - Fixed: Stereo separation was calculated very wrongly when in 2D sound mode. Randy Heit 2008-03-11 22:17:57 +0000
  • 5f746bea5e - Fixed: Sounds apparently don't default to location 0,0,0 so I need to set that explicitly for 2D sounds in 3D mode. - Fixed: I had forgotten to actually set the head relative flag for 2D sounds played in 3D. - Fixed: Reverb was applied to digital music in software 3D mode. Randy Heit 2008-03-11 03:19:16 +0000
  • 9b6d764512 - fixed: timidity_mastervolume didn't notify the song if the volume had to be clamped. Christoph Oelckers 2008-03-09 16:30:36 +0000
  • 1e418576da - fixed: StreamSong::SetPosition required a NULL pointer check. Christoph Oelckers 2008-03-09 13:39:50 +0000
  • 4576022c8d - fixed: The release build still linked to the old FMOD version. - fixed: SPCSong only works for Win32 so its definition must be excluded for Linux. Christoph Oelckers 2008-03-09 11:05:25 +0000
  • 2b721975dd VERY IMPORTANT NOTE FOR ANYBODY BUILDING FROM THE TRUNK: This commit adds support for FMOD Ex while at the same time removing support for FMOD 3. Be sure to update your SDKs. GCC users, be sure to do a "make cleandep && make clean" before building, or you will likely get inexplicable errors. Randy Heit 2008-03-09 03:13:49 +0000
  • a5004f8827 - Fixed: If P_BounceWall() can't find a wall when it does its trace, but it was entered because a line blocked the projectile, then it should still use that blocking line for the bounce. Randy Heit 2008-03-07 01:29:26 +0000
  • 68f726e422 - The full master volume SysEx is now always sent to the MIDI device, even if it seems to have a working volume control. - Renamed music_midi_stream.cpp to music_midi_base.cpp. - Moved the WinMM MIDI code into a new container class. Randy Heit 2008-03-07 00:43:05 +0000
  • 68a8ea2189 - Moved the identical code between the MUS and MIDI streamers into a new base class so they all the low-level details of MIDI streaming are kept in one place. - Converted the SMF MIDI playback to use the same MIDI streams as MUS playback. - Moved MUS playback back into its own thread so that it can continue uninterrupted if the main thread is too busy to service it in a timely manner. - Fixed: The MEVT_* values are not defined shifted into their spot for a MIDIEVENT, so I need to do it myself. - Fixed: Pausing a MUS and the changing snd_midivolume caused the paused notes to become audible. Randy Heit 2008-03-05 03:10:31 +0000
  • 69cebb7e57 - Changed MUS playback to use MIDI streams, like it did during the early days of ZDoom, except now the entire song isn't prebuffered in large chunks, so I can insert MIDI events into the playback with fairly low latency. This should offer more precise timing than the combination of low-level MIDI and WaitForSingleObject timeouts. Randy Heit 2008-03-04 06:36:23 +0000
  • ef99d9c057 - Fixed: PTR_BounceTraverse only checked for projectiles that were too high to pass through two-sided lines, but not ones that were too low. - Fixed: SBARINFO couldn't detect the extreme death damage type for the player face animation. Randy Heit 2008-03-04 00:56:22 +0000
  • 5589f6b7a1 - fixed: A_CountdownArg used 0 based indices although all uses of it assumed it is 1-based. - added MF5_DONTRIP flag. - added CheckActorFloorTexture, CheckActorCeilingTexture and GetActorLightLevel ACS functions. - added IF_ADDITIVETIME flag to create powerups that add their duration to the one of the currently active item of the same type. - fixed: bouncecount wasn't decreased when bouncing on walls. - Added MF5_ALWAYSRESPAWN and MF5_NEVERRESPAWN flags that selectively enable or disable monster respawning regardless of skill setting. - Prettified deprecated flag handling. Christoph Oelckers 2008-03-01 16:59:17 +0000
  • 03617dc6f0 - Fixed: When starting a level while the music has been paused S_Start has to stop the old music so the new one always starts at the beginning. - Fixed:: AActor::master was not serialized. - Fixed: Sound targets pointing to dead players should be cleared before respawning the player. - Fixed: When the DONTMOVE flag is set A_Chase must not call P_NewChaseDir. - Changed PowerupGiver initialization so that the actual powerup class is looked up during postprocessing. - Gave Strife's instant death sector type its own damage type. Christoph Oelckers 2008-03-01 13:12:33 +0000
  • 3b991c3070 - Fixed: R_SetupAddClampCol() checked add4cols' memory instead of adclamp4cols' memory when deciding if it should skip modification. Randy Heit 2008-02-29 23:31:40 +0000
  • dc82a26c8a - Fixed: The colormap changes by column, so the assembly rt_* routines need to be setup for every column group, not once per image. Randy Heit 2008-02-28 22:15:24 +0000
  • 965bfda5fe - Fixed: rt_Translate1col() had a couple of bugs. Randy Heit 2008-02-28 21:15:13 +0000
  • db5938d22a - Added assembly versions of rt_add4cols and rt_addclamp4cols. Randy Heit 2008-02-28 05:24:06 +0000
  • 9cb674c60c - Added an assembly version of rt_shaded4cols, since that's the main decal drawing function. The most improvement came from being able to turn some constant variables into immediate values with self-modifying code, but I also managed to reorder it to make it a little faster. It's about 9% faster than VC++'s code and 19% faster than GCC's code. That's not a huge improvement (for VC++), but at least it's measurable. - Removed the solid fill "optimization" from rt_shaded4cols(), because in my testing, it didn't help any and in fact, hurt just a little bit. - In the name of simplification, all the rt_tlate* drawers were changed to do the translation in one step and the drawing in another. This lets me call the untranslated drawer to do the real drawing instead of mostly duplicating them. Performance wise, there is practically no difference from before. Randy Heit 2008-02-27 03:11:35 +0000
  • 24100c25a9 - Fixed: The DECORATE expression evaluator's random function could produce incorrect results for ranges > 255. Changed so that FRandom's default implementation is used instead. Christoph Oelckers 2008-02-25 15:43:22 +0000
  • 88068f74c5 - Fixed: Hexen's random player class skill menu was missing the '$' indicating a string table identifier. Christoph Oelckers 2008-02-22 22:51:10 +0000
  • ef9db276b3 - Fixed: DCorpsePointer::Serialize didn't call the super method. Christoph Oelckers 2008-02-22 21:37:28 +0000
  • 60472c2b45 - Fixed: DThinker::SerializeAll() did not serialize any thinkers in the FreshThinkers lists. These thinkers would still be saved in the savegame if there were other references to them, but they would not go in any thinker lists when loading the savegame. An easy way to exercise this bug is to give yourself something new with the console and then save the game right away without closing the console by using the "save" command. The item would be stored in the savegame thanks to its presence in the Inventory list, but it wouldn't be in a thinker list when the game was reloaded because it was still in the FreshThinkers list when the game was saved. Randy Heit 2008-02-22 01:45:32 +0000
  • 0dccb97819 - Fixed: PO_Busy() did not check for a NULL return from GetPolyobj(). - Fixed two problems with printfs from the net controller stuff: one of them is totally valid, and the other is GCC not being as nice as VC++. - Fixed: The case for defining SAVESIG when SVN_REVISION_NUMBER == 0 did not work for GCC (and presumably VC++, though I never ran into that case with it) because it tried to stringify something that wasn't a macro argument. Randy Heit 2008-02-22 00:20:11 +0000
  • d412266bfc - Added a modified version of Karate Chris's submission for killing specific monsters with the 'Kill' ccmd. Christoph Oelckers 2008-02-20 21:28:55 +0000
  • 77040032c5 - Size-optimized invgem PNGs. Randy Heit 2008-02-19 03:07:04 +0000
  • f2c9227243 - Added vid_refreshrate cvar to override Windows' automatic refresh rate selection. Randy Heit 2008-02-19 02:48:56 +0000
  • 5124a28a15 SVN r753 (trunk) Randy Heit 2008-02-19 01:34:15 +0000
  • 2a77ea0155 - Applied Blzut3's sbarinfo update #12: * When the drawbar code was optimized border was accidently used as how many pixels to reserve from the background instead of the foreground. I've reversed how the code works (bg over fg instead of fg over bg). * Added armorclass to drawnumber. * Added an interpolateArmor variable which acts just like interpolateHealth except the effect is applied to armor. * Added armor flag to drawgem since we can interpolate armor now. * Added a reverse flag to drawgem. * Fixed drawgem didn't allow for '|' to separate the flags. Christoph Oelckers 2008-02-18 22:40:39 +0000
  • 133350fb9c - Fixed AInventory::PickupFlash setting with GCC. - Fixed: The MusicVolumes list was allocated with M_Malloc but freed with delete. - Fixed: demobuffer was inconsistantly handled with new[]/delete[] and malloc/free. - Added used memory tracking to M_Malloc() and M_Realloc(). This necessitated the addition of an M_Free() call to track frees. - Removed M_Calloc since it was only used in one place, and can just as well be done with an M_Malloc/memset pair. - Bumped DEMOGAMEVERSION for the new net controller codes. Randy Heit 2008-02-17 02:40:03 +0000
  • 39bff11693 Added patch by Karate Chris: - The net arbitrator can add or remove players to an access list so they can or cannot control game settings: * net_addcontroller <player number> - Adds a player to the control list. Only net arbitrators have access to this command. * net_removecontroller <player number> - Removes a player from the control list. Only net arbitrators have access to this command. * net_listcontrollers - Lists the players who are able to control the game settings. - Fixed: The 'Printf'' occurrences in the 'addplayerclass' console command were all missing a '\n' at the end. - Enhanced the 'playerinfo' console command so more information about each setting is shown. Christoph Oelckers 2008-02-16 15:02:52 +0000
  • e99b239ae6 - Added customizable pickup flash. - Added option to show shorter messages for save game and screenshot confirmation. Also added this to the 'Messages' menu. Christoph Oelckers 2008-02-16 10:23:12 +0000
  • 0acbbb3a8e - Version bump to 2.2.0. - Disabled console alpha when the console is fullscreen. - Re-enabled maybedrawnow for the software renderer. This should be replaced with a different progress bar implementation at some point that can work with hardware graphics. 2.2.0 Randy Heit 2008-02-14 22:58:56 +0000
  • 0d217fd4c6 - Added missing NULL pointer checks to Karate Chris's latest changes. Christoph Oelckers 2008-02-14 15:48:31 +0000
  • b53834a72f - Added Karate Chris's patch for 0-tid == activator in action specials Thing_SetSpecial and Thing_SetTranslation. - -moved BUGS_FORUM_URL to version.h Christoph Oelckers 2008-02-14 15:40:46 +0000
  • a9e2d96483 - Removed most checks on vid_hw2d/test2d. This now gets checked only once per frame to avoid the remote possibility that it could change during the middle of drawing the frame and cause strange things to happen. - Renamed test2d to vid_hw2d. Randy Heit 2008-02-14 04:58:45 +0000
  • 2e5257d347 - Added the ACS script type "return". These are executed by players who return to a map they've previously been to. This is analagous to enter scripts, but whereas enter scripts execute only the first time a player enters a map, return scripts execute all but the first time. - Improved map scrolling when rotation is on and follow mode is off. Randy Heit 2008-02-13 02:29:49 +0000
  • 99c4c9461e - GCC declaration fix for AM_ToggleFollowPlayer Christoph Oelckers 2008-02-12 11:35:29 +0000
  • e8e7cebe18 - Fixed: Turning off follow mode with automap rotating enabled did not function in an easy-to-understand manner. - Fixed: D_AddWildFile() blindly assumed that all matches were files. - Added back the dead player check to CheckIfExitIsGood(), but now it applies only if the next map is part of the same hub. Otherwise, you can still exit the map while dead. - Removed the SpawnedPuff global variable and made it a return value from P_LineAttack(). - Fixed: P_SpawnPuff() played sounds for temporary puffs. Randy Heit 2008-02-12 05:54:03 +0000
  • 3f80b8d21f - Fixed: G_StartTravel() inadvertantly removed players' TIDs. Randy Heit 2008-02-10 03:24:25 +0000
  • 95180e18e6 - Modified FLAC/share/alloc.h to define SIZE_T_MAX if it isn't defined already. For some reason, a stock install of MinGW doesn't define it, but if you compile your own GCC, it installs headers that do. - Changed the way that the makefiles detect MSYS to a method that should be more foolproof, thanks to changes in MSYS. Randy Heit 2008-02-10 01:21:45 +0000
  • 0f3a1cc8b1 - Applied Blzut3's sbarinfo update #11: * SBarInfo will also accept a '|' between flags for those who are really bothered by the indefinite "arguments" in the middle of the statement. * Added: completeBorder. When set to true SBarInfo will draw the border where the status bar normally goes. * Fixed: I forgot to accept TK_None on "base" and "statusbar". * Fixed: "base" was apparently broken when the SBarInfo init code was moved to d_main.cpp. Also, if "base Strife" was used then it would not use the default log message of "find help". Randy Heit 2008-02-09 03:55:41 +0000
  • 0bb9fc1e2d - Fixed: D_ReadUserInfoString() parsed the final element of a compact string as the empty string. Since that was the player class, this meant that any games with more than one class would pick a random class in multiplayer. - Fixed: FCanvasTexture::RenderView() should not have color 0 in its output. Randy Heit 2008-02-09 03:09:56 +0000
  • 22df389ad7 - Updated the GCC-targeted makefiles to turn off two optimizations that cause fmopl.cpp to compile incorrectly: tree-dominator-opts and tree-fre Randy Heit 2008-02-06 00:12:08 +0000
  • 6af5665575 - Fixed: Morphed pig and chicken players made normal human *usefail sounds. - G_DoSaveGame() now receives the filename and description from its arguments rather than global variables, so autosaves and manual saves can be done in close proximity to each other without overwriting the parameters for one of them. - Fixed potential buffer overrun in G_SaveGame() and added a check so that you can't interfere with saves that are still pending. - Fixed: P_LineAttack() creates temporary puffs to get damage types, but this had the side effect of creating particles for the puff. - Fixed: The Heretic status bar tried to use the graphic "SELECTBOX" for the inventory selector. The correct name is "SELECTBO". - Fixed: Using allowrespawn for a single-player map would fire off enter scripts instead of respawn script because the player wasn't assigned the state PST_REBORN. - Fixed: P_CheckMissileSpawn() now passes the BlockingMobj to P_ExplodeMissile() so that it can select the appropriate death state. - Added the manifest to MinGW-compiled builds of updaterevision so you can build under Vista with MinGW without needing administrative privileges. (But I still want to know why Vista thinks it needs elevated privileges without a manifest telling it otherwise.) - Using four 0xFF bytes for the final note of an IMF song should signal the end of the song. Randy Heit 2008-02-05 23:32:49 +0000
  • d1e27e533f - Applied a modified version of Karate Chris's screenshot naming patch. - Sbarinfo optimization: Creating and destroying bar textures every frame is a relatively expensive operation. We can skip the custom texture entirely and just draw the bars directly to the screen, using the clipping parameters for DrawTexture(). This also means bars are no longer limited to the game palette, and the bar itself has the same resolution as the screen. Randy Heit 2008-02-05 05:29:31 +0000
  • 9a785239f2 - Removed support for numeric flags from sbarinfo's drawmugshot command since it was previously declared unrecommended and deprecated. - Added Blzut3's sbarinfo update #10: * Fixed: drawmugshot now adjust to the player's max health like it should. * drawgem can now accept negative paddings. * Added: You can now specify a border on drawbar which will reserve x amount of pixels on each side of the fg image. * Added: weaponammo command which allows for determining what kind of ammo the current weapon uses. * Added: Drawkeybar to SBarInfo Randy Heit 2008-02-03 05:17:42 +0000
  • f6d258e48d - Fixed: The STYLEF_Alpha1 flag intended for STYLE_Normal was set for STYLE_Fuzzy. Christoph Oelckers 2008-01-31 22:06:02 +0000
  • 5716a08c55 - fixed DEHSUPP values for render styles. Christoph Oelckers 2008-01-31 21:04:21 +0000
  • 01e5ec251c - Fixed: The render style table for old decorations was missing STYLE_Stencil so STYLE_Translucent was mapped incorrectly. Christoph Oelckers 2008-01-31 21:00:34 +0000
  • 78164aab40 - Added support for AttackZOffset to P_RailAttack. - Fixed: ParseDrawTextureTags read DTA_RenderStyle as ERenderStyle, not FRenderStyle. Christoph Oelckers 2008-01-30 18:45:15 +0000
  • 17e9a2c8fd - I think GetScaledWidth/Height rounding should be correct now. Randy Heit 2008-01-29 18:47:33 +0000
  • 59801d2b00 - Added pixel-doubled and -quadrupled screen modes to D3DFB so that users with recent NVidia drivers can still use resolutions below 640x480, since NVidia saw fit to remove all support for them. Randy Heit 2008-01-29 18:20:05 +0000
  • 465bcfd199 - Added a PrecacheTexture virtual function to DFrameBuffer because it's the renderer which should decide how to precache a texture. Christoph Oelckers 2008-01-28 10:23:18 +0000
  • ebbe9c84f8 - Added SnowKate709's APROP_MaxHealth submission. - Fixed: FTexture::GetScaledWidth/Height always rounded down which could result in imprecisions (e.g. when scaling from 128 to 96.) Christoph Oelckers 2008-01-28 09:39:46 +0000
  • c02ed1263f - Yet another 'GCC is stupid' fix. Christoph Oelckers 2008-01-27 21:06:31 +0000
  • 2695a4360a - Forgot to add changes to i_musicinterns.h for last commit. Christoph Oelckers 2008-01-27 18:09:06 +0000
  • a37c437588 - added a mastervolume CVAR for Timidity because for me its output is considerably louder than everything else. - reverted removal of AddPatch call in crosshair initialization. - Modified makewad.c so that it doesn't write file names with '[]^' to the dependency file. Apparenly make can't handle these names and an incomplete list is still better than something that doesn't work at all. Christoph Oelckers 2008-01-27 16:56:25 +0000
  • 5dfc81af36 - Changed license for r_data.cpp because there isn't anything of id's original code left in that file. - Cleaned up r_data.cpp. - Fixed: FTextureManager::FindTexture should not print error messages if it doesn't find the texture. - Added Karate Chris's patch for fixing Strife quit messages. Christoph Oelckers 2008-01-27 09:38:37 +0000
  • 499fefec07 - Added preloading of fonts to reduce the chance that characters from a single font will require more than one hardware texture to display. Randy Heit 2008-01-27 05:23:10 +0000
  • 4c9d633a94 - Fixed: P_RailAttack() crashed if you didn't specify a puff for a rail. - Decided that allowing arbitrary alpha values for color remaps isn't so hot. Changed it back the way it was. Randy Heit 2008-01-27 04:53:55 +0000
  • 1b28557341 - Got rid of most TexMan.AddPatch calls because they are no longer needed. - Got rid of R_InitPatches because the new texture init code needs to preload everything to work correctly. - Rewrote texture manager initialization to order textures primarily by WAD rather than by type. This way later textures will always override earlier ones. The only exception is that TEX_MiscPatch are only used as a fallback if nothing else can be found. - Optimized the tryany case of FTextureManager::CheckForTexture. It is not necessary to scan the hash chain twice. The required information can be retrieved during the first pass as easily and even offers a little more control. - Made FFont destructor virtual. - Added 'Ice' translation to DECORATE. Christoph Oelckers 2008-01-26 23:20:34 +0000
  • 58816f5d09 - Added Karate Chris's patch for teamplay MAPINFO option. - Added Karate Chris's patch for custom damage color per player class. - Added Karate Chris's patch for respawnlimit skill property. - Added Karate Chris's patch for Strife quit messages. - Fixed: P_RailAttack ignored the puff's damage type. Christoph Oelckers 2008-01-26 16:42:16 +0000
  • d134deda95 - Fixed: ACS used incompatible values for APROP_RenderStyle. It needs to use the exact same values as previous ZDoom versions - Added a DECORATE 'stencilcolor' property so that the stencil render style can be used. - Added some NULL pointer checks to the font loading code. Christoph Oelckers 2008-01-26 15:50:52 +0000
  • 9706a2b140 - GCC cleanup. Randy Heit 2008-01-26 04:47:58 +0000
  • ec17f5a5b9 - Undid some of the changes from lempar.c v1.30->v1.31, because it broke error handling. - Fixed: dehsupp/scanner.re defined "}" as the token RPAREN. dehsupp/parse.y also defined action_list_def as needing a RBARCE. I'm surprised it worked at all before. I guess Lemon really was too accepting. - Changed the way that xlatcc handles include statements so that I don't need to modify the logic of lempar.c. I also discovered that the grammar was improperly defined and only accepted the first statement. It worked before because Lemon used to accept multiple times before reaching the EOF token. I have also verified that it is still generating the proper lumps. - Removed some unused wadsrc files from the repository. - Fixed my re2c upgrade. - Updated lemon.c to v1.53. Randy Heit 2008-01-26 04:33:34 +0000
  • e5572a1c4e - Updated lempar.c to v1.31. - Added .txt files to the list of types (wad, zip, and pk3) that can be loaded without listing them after -file. - Fonts that are created by the ACS setfont command to wrap a texture now support animated textures. - FON2 fonts can now use their full palette for CR_UNTRANSLATED when drawn with the hardware 2D path instead of being restricted to the game palette. - Fixed: Toggling vid_vsync would reset the displayed fullscreen gamma to 1 on a Radeon 9000. - Added back the off-by-one palette handling, but in a much more limited scope than before. The skipped entry is assumed to always be at 248, and it is assumed that all Shader Model 1.4 cards suffer from this. That's because all SM1.4 cards are based on variants of the ATI R200 core, and the RV250 in a Radeon 9000 craps up like this. I see no reason to assume that other flavors of the R200 are any different. (Interesting note: With the Radeon 9000, D3DTADDRESS_CLAMP is an invalid address mode when using the debug Direct3D 9 runtime, but it works perfectly fine with the retail Direct3D 9 runtime.) (Insight: The R200 probably uses bytes for all its math inside pixel shaders. That would explain perfectly why I can't use constants greater than 1 with PS1.4 and why it can't do an exact mapping to every entry in the color palette. - Fixed: The software shaded drawer did not work for 2D, because its selected "color"map was replaced with the identitymap before being used. - Fixed: I cannot use Printf to output messages before the framebuffer was completely setup, meaning that Shader Model 1.4 cards could not change resolution. - I have decided to let remap palettes specify variable alpha values for their colors. D3DFB no longer forces them to 255. - Updated re2c to version 0.12.3. - Fixed: A_Wander used threshold as a timer, when it should have used reactiontime. - Fixed: A_CustomRailgun would not fire at all for actors without a target when the aim parameter was disabled. - Made the warp command work in multiplayer, again courtesy of Karate Chris. - Fixed: Trying to spawn a bot while not in a game made for a crashing time. (Patch courtesy of Karate Chris.) - Removed some floating point math from hu_scores.cpp that somebody's GCC gave warnings for (not mine, though). - Fixed: The SBarInfo drawbar command crashed if the sprite image was unavailable. - Fixed: FString::operator=(const char *) did not release its old buffer when being assigned to the null string. - The scanner no longer has an upper limit on the length of strings it accepts, though short strings will be faster than long ones. - Moved all the text scanning functions into a class. Mainly, this means that multiple script scanner states can be stored without being forced to do so recursively. I think I might be taking advantage of that in the near future. Possibly. Maybe. - Removed some potential buffer overflows from the decal parser. - Applied Blzut3's SBARINFO update #9: * Fixed: When using even length values in drawnumber it would cap to a 98 value instead of a 99 as intended. * The SBarInfo parser can now accept negatives for coordinates. This doesn't allow much right now, but later I plan to add better fullscreen hud support in which the negatives will be more useful. This also cleans up the source a bit since all calls for (x, y) coordinates are with the function getCoordinates(). - Added support for stencilling actors. - Added support for non-black colors specified with DTA_ColorOverlay to the software renderer. - Fixed: The inverse, gold, red, and green fixed colormaps each allocated space for 32 different colormaps, even though each only used the first one. - Added two new blending flags to make reverse subtract blending more useful: STYLEF_InvertSource and STYLEF_InvertOverlay. These invert the color that gets blended with the background, since that seems like a good idea for reverse subtraction. They also work with the other two blending operations. - Added subtract and reverse subtract blending operations to the renderer. Since the ERenderStyle enumeration was getting rather unwieldy, I converted it into a new FRenderStyle structure that lets each parameter of the blending equation be set separately. This simplified the set up for the blend quite a bit, and it means a number of new combinations are available by setting the parameters properly. Randy Heit 2008-01-25 23:57:44 +0000
  • 67afc9d4fc - Fixed: The StatusBar pointer was not NULLed after being deleted. Christoph Oelckers 2008-01-16 14:44:27 +0000
  • f9c78a1b80 - Fixed: Skip_Super didn't clear the current state label list. Christoph Oelckers 2008-01-16 10:14:10 +0000
  • 25e0f0644a - Plugged more leaks in SBARINFO. - Spawned actors that have MF2_DORMANT set in their default instance now have Deactivate() called on them immediately after spawning. Randy Heit 2008-01-16 04:43:50 +0000
  • d36d4aa863 - Fixed: ACS translations were loaded into the wrong slot after restoring a savegame. - Fixed exploit: Dropping ammo at baby and nightmare skill levels would give you back more than you dropped. Randy Heit 2008-01-15 04:57:25 +0000
  • c15a3a8614 - Moved A_Punch from Inventory to Actor. Apparently there are WADs that use it for monsters. The function works fine for monsters as it is. Christoph Oelckers 2008-01-13 15:47:55 +0000
  • 685de5ce30 - Applied Blzut3's SBARINFO update #8: * Fixed: Drawbar had a few memory leaks. - Added another temporary cvar called pc to play with the multipiler used by D3DFB::SetPaletteTexture(). Randy Heit 2008-01-13 05:10:33 +0000
  • d13fdec9bf - removed some unused code from shared_hud.cpp. Christoph Oelckers 2008-01-12 21:20:18 +0000
  • e8d38ad683 - Applied Blzut3's SBARINFO update #7. - GCC warnings, go away. Randy Heit 2008-01-12 17:35:32 +0000
  • cb47b3a1f7 - Completely removed code for the PNG filter heuristic from the compiled code when it's been disabled. - Added a temporary cvar called pal to play with the offset used by D3DFB::SetPaletteTexture(). Randy Heit 2008-01-12 17:06:38 +0000
  • 2e613c3557 - Moved renderer dependent part of savegame pic creation into DFrameBuffer as a virtual function so that it can be overridden. Christoph Oelckers 2008-01-12 12:49:05 +0000
  • f691c973d4 - Fixed: M_SaveBitmap::prior was too small. It must be 3 bytes per pixel, not 1. Christoph Oelckers 2008-01-12 09:59:19 +0000
  • 1788e0a3cd - deleted old invgem** graphics and replaced them with the PNGs from last commit so that they work properly in all games. Christoph Oelckers 2008-01-12 09:31:37 +0000
  • 74ab0d7184 - Added inventory arrow graphics for AltHUD. Christoph Oelckers 2008-01-12 09:24:59 +0000
  • 9902d73a24 - Added support for 24-bit screenshots, so now accelerated 2D screenshots can work. - Tweaked the box splitting algorithm for packed textures to hopefully produce less wasted space. Randy Heit 2008-01-12 06:27:13 +0000
  • 88549aebcd - For compatibility with the software renderer, D3DFB::DrawTextureV needs to truncate the coordinates to integers before sending them to the hardware. Otherwise, there can be one pixel gaps compared to the software renderer, because the hardware is rounding to nearest but the software renderer is simply truncating the fractional part of the coordinate. This is the real cause of the gap above the status bar at 1152x864 (and another gap to the left of the status bar at 800x500). - Fixed: When D3DFB::DrawTextureV had to clip a tile, it adjusted the texture coordinates erroneously, still using the old calculations from before texture packing was implemented. Randy Heit 2008-01-12 02:12:09 +0000
  • ce388163e1 - Moved thingdef_codeptr.cpp into thingdef/ with the other thingdef files. - Fixed: After loading a savegame, G_UnSnapshotLevel() destroyed the unmorphed versions of players because it thought they were extras. Randy Heit 2008-01-12 01:17:37 +0000
  • 0b7357b2fc - Added Skulltag's pickup sprite and related information to the pistol. This will also double as the pistol's icon in the AltHUD. - Added a generic log display that can show Strife's log messages in all games regardless of the current game, active status bar and HUD mode. - Added GZDoom's alt HUD. Christoph Oelckers 2008-01-11 22:38:10 +0000
  • e06c645310 - Moved the code that renders the view from D_Display into a virtual function of the frame buffer so I can get rid of the last remaining renderer check outside the display code in GZDoom. - made V_SetResolution a virtual function in IVideo. It's probably not a perfect solution but at least it allows overriding it (which I need in GZDoom.) Note: There's a lot of redundancy between hardware.cpp/h in the SDL and Win32 folders so some cleaning up might be a good idea. Christoph Oelckers 2008-01-11 21:04:22 +0000
  • a9dc8ddce3 - Fixed: Weapon positions were only adjusted in 1280x1024 if the status bar was hidden. - Fixed: If you died in co-op and somebody else ended the map before you respawned, you would start the next map with only default inventory, no matter what dmflags was set to. Randy Heit 2008-01-11 01:43:37 +0000
  • 756be2755a - Applied Karate Chris's TEAMINFO logo patch. Randy Heit 2008-01-11 00:22:52 +0000
  • a5265c4ec5 - defined a constant for the crosshair menu entry's index to get a direct reference out of the function code. - Fixed: The BrainExplosions should not perform any collision detection. To achieve this their Damage value must be set to 0 when being spawned. - Added a safety check to savegame versioning so that an invalid revision (reported as 0) will be handled without breaking savegame compatibility. Christoph Oelckers 2008-01-10 11:02:07 +0000
  • 612d1b2fa3 - Added Blzut3's SBARINFO update #6: * Fixed: A tutti-frutti like effect would occur if transparent images were used in bars. * Fixed: drawswitchableimage didn't count having 0 of an item as not having the said item. * Added alwaysshowcounter flag to both drawinventorybar and drawselectedinventory. * Added armoricon image type to drawimage. * Added low-on secondary coloring and high-on coloring to drawnumber. Randy Heit 2008-01-10 04:22:48 +0000
  • ca0b61d066 - Added texture packing to D3DFB so that textures that are temporally related can share the same hardware texture. This greatly reduces the number of DrawPrimitive calls that need to be made when drawing text (or any 2D graphics in general), so now hardware text is much faster than software text all around. (As an example, one scenario went from 315 fps to over 1635 fps for hardware, compared to 540 fps for software.) Randy Heit 2008-01-10 04:11:38 +0000
  • 9839cbfc82 - Fixed: The mouse was being grabbed in windowed mode again. - Modified M_DrawFrame() and R_DrawTopBorder() so that they call FlatFill() to draw the edges of the frames. This at least seems a bit faster for hardware 2D. - Implemented FlatFill() for D3DFB. It seems to be exactly as fast as the default implementation that just calls DrawTexture() to tile the pieces onto the screen, so I'm not sure it was worth the bother. Randy Heit 2008-01-09 23:04:49 +0000
  • 0b4092e98e - Merged the separate line and quad vertex buffers in D3DFB back into a single vertex buffer, made line batching automatic, and added an index buffer for use when batching quads. The index buffer actually offered more of a performance boost than simply batching the quads alone did. Randy Heit 2008-01-09 21:04:21 +0000
  • 3bd53dafbe - Fixed: 'Painchance' in DECORATE failed when reading custom damage type names. - Added Karate Chris's patch for menu opening console commands. Christoph Oelckers 2008-01-09 09:01:30 +0000
  • c694c55afd - Fixed: When starting a teamplay netgame, players who did not specify a team were not informed about which team they ended up joining. - Added Skulltag's DF2_SAME_SPAWN_SPOT flags. - Fixed: DF2_YES_DEGENERATION was pretty much guaranteed to go out of sync because it used gametic for timing. - Added DoubleAmmoFactor as a skill property for the DF2_YES_DOUBLEAMMO flag. - Renumbered the dmflags2 entries to match Skulltag's again. - Added Karate Chris's infinite ammo patch. Randy Heit 2008-01-09 02:53:38 +0000
  • 6b79a75293 GCC re-fix Christoph Oelckers 2008-01-08 16:23:02 +0000
  • fa6a40bdda GCC fix Christoph Oelckers 2008-01-08 14:32:18 +0000
  • 0a822bd2da Forgot to add xhairs.txt to the repository. Randy Heit 2008-01-08 04:52:57 +0000
  • 761c77d033 - Added support for user-defined crosshairs in the Display Options menu. See xhairs.txt in zdoom.pk3. It's pretty simple. Randy Heit 2008-01-08 04:00:43 +0000
  • 2d4b679fcb - Fixed: P_BounceWall() cannot assume that BlockingLine is the line the actor should bounce off of. Since the order lines in a blockmap cell are checked for collision is essentially undefined, there could be another line closer to the actor that it should bounce off of instead. Randy Heit 2008-01-08 03:21:01 +0000