Removed unneeded includes of r_local.h.
Removed more r_ header dependencies from the rest of the code.
took all includes of farchive.h out of headers. This file will have to be included explicitly in each source file that needs it.
Changed AlterWeaponSprite so that it doesn't take a full vissprite as parameter.
FCoverageBuffer is only used in r_things.cpp, so its declaration does not need to be in a global header that's included everywhere.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1223 b0f79afe-0144-0410-b225-9a4edf0717df
* Fixed a crash on exit that happened with a NULL screen when quitting. May require a better fix.
* Ported OpenGL options menu to MENUDEF code. It is in a separate file from the ZDoom menu code, menudef.z, in the same way that the GZDoom-specific actor definitions are in decorate.z instead of decorate.txt.
* Updated to ZDoom r2771:
- Relaxed conditions for shortening the sliders so that they remain at full size at 800x600.
- Deleted empty old files.
- Merged menu branch back into trunk.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@952 b0f79afe-0144-0410-b225-9a4edf0717df
* Added Tom Seddon's patch for multiple monitor support on OpenGL:
- Moved vid_adapter CVAR into common code, since more than D3D queries it now
- Made DumpAdapters a virtual function in IVideo (base class implementation just prints "Unsupported" to the console), and moved vid_listadapters into common code since it isn't doing anything renderer-specific any more.
- OpenGL code internals maintain HMONITOR and/or device name (initialised from the CVAR) so that it can pick the monitor to use when going full screen and querying available resolutions.
- Slight tweaks to the going-into-full-screen code to stop the full screen window being put in the wrong place.
- Changed the ModeInfo selection procedure slightly, which as I recall was the fix for the problems I mentioned with letterbox modes in a window
- Fixed really evil bug where going into full screen mode would sometimes crash because the DEVMODE struct wasn't being set up just so.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@872 b0f79afe-0144-0410-b225-9a4edf0717df
- fixed: Portal obstruction detection did not properly discard the backside of the portal shape when chacking if a line is in front of the portal.
- fixed: The GL portal data needs to be reinitialized after loading a savegame.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@715 b0f79afe-0144-0410-b225-9a4edf0717df
- Added new SetGlobalFogParameters action special to modify the global fog settings at run time:
SetGlobalFogParameters(FOGP_DENSITY, value);
SetGlobalFogParameters(FOGP_OUTSIDEDENSITY, value);
SetGlobalFogParameters(FOGP_SKYFOG, value);
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@687 b0f79afe-0144-0410-b225-9a4edf0717df
- disabled use of vertex buffer on ATI cards. Test results show that mixing VBO and
immediate mode does not work well on ATI.
- Moved a few GL settings into the render state so that they can be set only when
changed.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@601 b0f79afe-0144-0410-b225-9a4edf0717df
- Changed all coordinates for DrawTexture() to floating point so that the
player sprites will retain the same precision they had when they were
rendered as part of the 3D view. (needed for propery alignment of flashes
on top of weapon sprites) It worked just fine for D3D, but software
rendering was another matter. I consequently did battle with imprecisions
in the whole masked texture drawing routines that had previously been
partially masked by only drawing on whole pixel boundaries. Particularly,
the tops of posts are calculated by multiplying by spryscale, and the
texture mapping coordinates are calculated by multiplying by dc_iscale
(where dc_iscale = 1 / spryscale). Since these are both 16.16 fixed point
values, there is a significant variance. For best results, the drawing
routines should only use one of these values, but that would mean
introducing division into the inner loop. If the division removed the
necessity for the fudge code in R_DrawMaskedColumn(), would it be worth it?
Or would the divide be slower than the fudging? Or would I be better off
doing it like Build and using transparent pixel checks instead, not
bothering with skipping transparent areas? For now, I chop off the
fractional part of the top coordinate for software drawing, since it was
the easiest thing to do (even if it wasn't the most correct thing to do).
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@594 b0f79afe-0144-0410-b225-9a4edf0717df
glFinish/SwapBuffers call is delayed until the latest possible moment which is after scene processing for the
next frame is complete and right before actual rendering starts. This does not show any obvious problems but
it still gives almost the same performance gains as omitting glFinish.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@591 b0f79afe-0144-0410-b225-9a4edf0717df
all graphics to be rendered which isn't necessary. Instead we can let the GPU run in
parallel to the next frame's setup and increase performance this way.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@585 b0f79afe-0144-0410-b225-9a4edf0717df
These are fully inheritable by subclasses unlike lights defined in GLDEFS.
The light itself still needs to defined the old way in GLDEFS though. It's only the
attachment that can now be done in DECORATE.
Update to ZDoom r1935:
- Removed the Actor uservar array and replaced it with user-defined variables.
A_SetUserVar/SetUserVariable/GetUserVariable now take a variable name
instead of an array index. A_SetUserArray/SetUserArray/GetUserArray
have been added to access elements in user-defined arrays.
- Rewrote wide sky texture scaling again. This time, it should work for any
size textures at any scale. I also tried doing sky scrolling on the sky
cylinder, but that didn't look so good, so I left it in screen space.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@577 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: gl_lights_size was used twice in the size calculation of dynamic lights.
- deleted GlobalDrawInfo. It may as well be taken from the DrawInfo stack like everything else.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@506 b0f79afe-0144-0410-b225-9a4edf0717df