Commit graph

334 commits

Author SHA1 Message Date
plagman
e7fc03ed33 Polymer: Reorganize main displayrooms loop a bit.
When walking the sectors, put more drawing work between queuing and
reaping the occlusion queries to potentially make them more efficient.

git-svn-id: https://svn.eduke32.com/eduke32@1976 1a8010ca-5511-0410-912e-c29ae57300e0
2011-08-20 21:04:53 +00:00
plagman
936147e33b Polymer: Correct(er) TROR walking.
Enumerate the vertical siblings of each walked sector and check them
against the current frustum. No occlusion queries yet, but that should
correct any missing sectors until a flaw in that logic is discovered.

git-svn-id: https://svn.eduke32.com/eduke32@1975 1a8010ca-5511-0410-912e-c29ae57300e0
2011-08-20 21:04:42 +00:00
plagman
6de59ef085 Polymer skeleton cleanup.
Reorganize polymer.c a bit to match the order of prototypes from the
header, move macros from the middle into the header.

git-svn-id: https://svn.eduke32.com/eduke32@1974 1a8010ca-5511-0410-912e-c29ae57300e0
2011-08-20 21:04:28 +00:00
helixhorned
5262a0f24c Various cleanup work:
- fix an earlier 'oops': make highpals load correctly again
 - maphack lights shouldn't be double-loaded now
 - slight tweak to the loading screen fadein/out timing
 - two bound checks
 - make some variables static in engine.c

git-svn-id: https://svn.eduke32.com/eduke32@1969 1a8010ca-5511-0410-912e-c29ae57300e0
2011-08-17 18:52:54 +00:00
plagman
58ba283c45 Fix colored fog in Polymer.
This fixes a ridiculous interaction problem between non-black fog and
additive lighting passes. Plagman is stupid.

git-svn-id: https://svn.eduke32.com/eduke32@1965 1a8010ca-5511-0410-912e-c29ae57300e0
2011-08-15 03:41:42 +00:00
helixhorned
7e9b2eae0f * Clean up after myself. It seems that Polymost isn't very clean with handling texture IDs sometimes, so switching between the two GL renderers could mess them up with the last revision. This is fixed now by always uninitializing Polymer when changing from it to another renderer.
* New shade/visibility calculation code, which is activated with 'r_usenewshading' (on by default), and is closer to the classic look. Also tweak the FOGSCALE macro to have approximately the same fog distance with all renderers.

* Mapster32: END modifier to RShift. If it's pressed when RShift is released, sprites which are in grayed out sectors are also selected;  Make changing shade affect all highlighted sprites in 3D mode (when aiming at one of them).

* some debug code to watch out for suspicious glGenTexture/glDeleteTextures calls, not active.


git-svn-id: https://svn.eduke32.com/eduke32@1943 1a8010ca-5511-0410-912e-c29ae57300e0
2011-07-24 15:15:57 +00:00
helixhorned
793aadebc5 Janitorial work part 2, perfect for a rainy day. This fixes a lot of leaks, both on the client side as well as for memory allocated by OpenGL. If you had crashes after a few times of restartvid'ing in Polymer, this should fix it.
git-svn-id: https://svn.eduke32.com/eduke32@1942 1a8010ca-5511-0410-912e-c29ae57300e0
2011-07-22 22:00:53 +00:00
helixhorned
d4f234b09f A bit of cleanup with memory issues.
First, it is now possible to disable the memcache (which is there to cache the texcache) by setting the new cvar 'r_memcache' to 0. Do this if you're constrained on memory or getting crashes when e.g. doing vidrestart often. Also, the memcache will disable itself (and free its storage, if it's there) the first time it fails to allocate.

Fix a strcpy with identical arguments in game.c and a couple of uninitialized mem accesses related to Polymer lights.


git-svn-id: https://svn.eduke32.com/eduke32@1941 1a8010ca-5511-0410-912e-c29ae57300e0
2011-07-22 13:32:01 +00:00
plagman
0bc508eecd Polymer ROR support, but no support for masked floor/ceilings yet.
git-svn-id: https://svn.eduke32.com/eduke32@1919 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-26 08:54:02 +00:00
helixhorned
4dba12a5d3 Tweakery in various places.
Engine stuff:
 * Add 'r_shadescale_unbounded' cvar. When set to 0, OpenGL renderers should never
   draw completely black objects (currently only implemented for Polymost)

Mapster32:
 * Add 'r_shadescale' to config
 * In 3D mode, make SPACE behave the same as holding down a mose button: the
   currently pointed-at object is locked. Required some modification of a.m32
   to play well (i.e. not reset SPACE). This is useful by itself but more so
   in conjunction with the next point
 * make Alt behave as a modifier with PGUP/PGDN: when aiming at a 2-sided wall,
   move the other side's sector's ceiling or floor (only this is new).
 * Auto-alignment of walls can be controlled in a finer grained fashion now:
   When pressing '.', only the immediate neighbors get aligned. Use Ctrl-. for
   the old behaviour.
 * When inserting a point in 2D mode, auto-align the neighboring wall


git-svn-id: https://svn.eduke32.com/eduke32@1848 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-17 23:37:38 +00:00
helixhorned
16557ff1bb fixes: various ones accumulated in the forum (falling into infinity, stuck in doors), crash in polymer mouse picker when in void space, creation of surplus loops on sector split when sector has weird geometry.
addition: disable sprite sectnum checking with m32script expert mode enabled.

git-svn-id: https://svn.eduke32.com/eduke32@1843 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-13 11:59:32 +00:00
terminx
323008432a Consolidate POLYMOST preprocessor define into USE_OPENGL, remove SUPERBUILD preprocessor define, add additional mode to neartag() to skip sprite searches and speed up processing (and enable for CON_OPERATE), fix issue with nearby single instance sounds not playing due to out of range sounds blocking their playback, fix issue with settings.cfg being reset to default bindings when running a mod that specifies its own cfg base name, improve CON structure member interface read/write performance, fix a bug with CON "move" pointer validation
git-svn-id: https://svn.eduke32.com/eduke32@1820 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-04 08:50:58 +00:00
plagman
b4f5da1141 Adds r_pr_overridemodelscale to help with getting models in-game, also works with HUD models.
git-svn-id: https://svn.eduke32.com/eduke32@1818 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-04 05:33:35 +00:00
plagman
4430b3ca3f Add custom FOV support for HUD model definitions with the 'fov' DEF token (in build angles). Also adds an r_pr_overridehud cvar in order to preview DEF token changes in-game using the r_pr_hud* cvars.
git-svn-id: https://svn.eduke32.com/eduke32@1814 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-01 05:52:33 +00:00
plagman
423263330c Add Polymer support to rotatesprite, which hooks up highpal amongst other things.
git-svn-id: https://svn.eduke32.com/eduke32@1812 1a8010ca-5511-0410-912e-c29ae57300e0
2011-02-28 03:56:37 +00:00
plagman
65ad201c39 Fix shade updating for swapped bottomwalls.
git-svn-id: https://svn.eduke32.com/eduke32@1796 1a8010ca-5511-0410-912e-c29ae57300e0
2011-02-13 23:37:35 +00:00
plagman
afc266f8d2 Fix editor picking with swapped bottomwalls.
git-svn-id: https://svn.eduke32.com/eduke32@1794 1a8010ca-5511-0410-912e-c29ae57300e0
2011-02-13 23:16:56 +00:00
helixhorned
f4b4234ce1 fix some issues with compilation on mac osx; make B, N, M keys behave the same as KP1, KP2, KP3 when pointing at a polymer light (hack around keyboard strangeness)
git-svn-id: https://svn.eduke32.com/eduke32@1789 1a8010ca-5511-0410-912e-c29ae57300e0
2011-02-06 22:57:32 +00:00
plagman
32d58b3839 Change highpal maps to 6-bit and add corresponding scale and bias to bypass linear interpolation around the borders.
git-svn-id: https://svn.eduke32.com/eduke32@1783 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-27 07:57:52 +00:00
plagman
87b71fd3da Hook basepal up to highpal.
git-svn-id: https://svn.eduke32.com/eduke32@1782 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-27 07:05:12 +00:00
plagman
658c3b66f1 Fix the lighting model so that lights don't get the modulated diffuse (defeats the purpose if they do, since you wouldn't be able to light a fully shaded room). That means the highpal lookup has to be performed twice now, once with the modulated diffuse to apply to the result and once with no modulation to make a diffuse that the lighting code can use. That means that lighting isn't 100% accurate with respect to the highpal result, but that's the best approach I could think of.
git-svn-id: https://svn.eduke32.com/eduke32@1773 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-18 01:34:39 +00:00
plagman
15c94e6fa2 Fix all the remaining warnings (except the warn_unused_result stuff, pass -Wno-unused-result).
git-svn-id: https://svn.eduke32.com/eduke32@1766 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-16 03:53:27 +00:00
plagman
8d01b7f403 Fix a problem with model skins introduced by highpal. Liztroops would turn blue on death.
git-svn-id: https://svn.eduke32.com/eduke32@1759 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-14 19:50:01 +00:00
plagman
07ca533c4d Fix editor picking in Polymer; sorry!
git-svn-id: https://svn.eduke32.com/eduke32@1758 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-12 17:10:41 +00:00
plagman
1ececc94ea Perform the highpal lookup after the diffuse modulation and detail to hit more range in the highpalookup map. This shuffles a fair bit of lighting model around, so I wouldn't be surprised if I broke something.
git-svn-id: https://svn.eduke32.com/eduke32@1757 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-12 02:31:50 +00:00
plagman
e4d8e53a5a Hook highpal to model skins.
git-svn-id: https://svn.eduke32.com/eduke32@1756 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-12 02:06:51 +00:00
plagman
3d2bcbfba8 Highpalookup support is more or less ready, also checked in sample script to
generate the highpalookup maps offline (only with a few incomplete pals right
now).

New DEF token: highpalookup [pal] [filename]
New cvar: r_pr_highpalookups



git-svn-id: https://svn.eduke32.com/eduke32@1748 1a8010ca-5511-0410-912e-c29ae57300e0
2010-12-30 08:13:37 +00:00
plagman
5582d41553 Highpalookup maps implementation on the renderer side. Currently set to a hardcoded highpalookup of 6:6:6->RGB and causes a noticeable quality drop. Use the debug1 cvar to toggle ingame.
git-svn-id: https://svn.eduke32.com/eduke32@1745 1a8010ca-5511-0410-912e-c29ae57300e0
2010-12-29 06:23:49 +00:00
plagman
e043431060 Fix a bug where having two or more lighting passes on a multi-surface mdsprite would leak some GL state and disable blending for all but the first surface.
git-svn-id: https://svn.eduke32.com/eduke32@1735 1a8010ca-5511-0410-912e-c29ae57300e0
2010-12-17 03:56:25 +00:00
helixhorned
036a88736c Mapster32: make sector keep old firstwall when adding inner loop, rewrite setfirstwall to use malloc'ed memory for temp storage instead of end of sector[], reintroduce correct searchwall determination in Polymer mouse picker (intersection of xy projection of aiming ray with wall); added commands to m32script: shiftvarvar[lr], ifhighlighted, ifin3dmode, updatehighlight, sethighlight; coded prototype terrain helper based on isolines and triangle strips.
git-svn-id: https://svn.eduke32.com/eduke32@1710 1a8010ca-5511-0410-912e-c29ae57300e0
2010-09-30 23:05:40 +00:00
helixhorned
fec84e6dbb mapster32 fixes: aiming crash in polymer, more accurate aiming in polymost + calibration/replacement crosshair via "r_preview_mouseaim", 2 other crashes; fix "S" in tile selector, make read-only variable overridable with "script_expertmode", misc. beautifying.
git-svn-id: https://svn.eduke32.com/eduke32@1706 1a8010ca-5511-0410-912e-c29ae57300e0
2010-09-06 23:08:35 +00:00
plagman
1d28272c4a Correctly (I hope) handle the zoom argument of rotatesprite when drawing HUD models in Polymer.
git-svn-id: https://svn.eduke32.com/eduke32@1703 1a8010ca-5511-0410-912e-c29ae57300e0
2010-08-26 15:27:16 +00:00
plagman
f5bd9e4ac5 Fix wrong interpretation of SPREXT_NOTMD that would cause it to assume the flag was set whenever any flag was set, causing the models to switch on and off in Duke Plus with Polymer.
git-svn-id: https://svn.eduke32.com/eduke32@1700 1a8010ca-5511-0410-912e-c29ae57300e0
2010-08-21 19:04:37 +00:00
plagman
99415a625f Polymost-style HUD model support for Polymer. It properly displays all HRP HUD models as far as I can tell.
git-svn-id: https://svn.eduke32.com/eduke32@1699 1a8010ca-5511-0410-912e-c29ae57300e0
2010-08-21 07:39:12 +00:00
terminx
ca382a894a Remove detection of sprites outside of sectors at map load and fix green sprites in Mapster32 with Polymer
git-svn-id: https://svn.eduke32.com/eduke32@1689 1a8010ca-5511-0410-912e-c29ae57300e0
2010-08-07 23:15:35 +00:00
plagman
d9092fcd2b Implement 'away1' and 'away2' maphacks in Polymer.
git-svn-id: https://svn.eduke32.com/eduke32@1681 1a8010ca-5511-0410-912e-c29ae57300e0
2010-08-03 15:19:01 +00:00
plagman
10830a7f3f Respect the 'notmd' maphack when deciding to draw models in Polymer.
git-svn-id: https://svn.eduke32.com/eduke32@1680 1a8010ca-5511-0410-912e-c29ae57300e0
2010-08-03 15:06:24 +00:00
terminx
e1649ec722 Polymer performance improvement and some game related bug fixes. Improves Polymer framerate by about 25% in most cases and fixes problems causing Duke Caribbean doors to malfunction.
git-svn-id: https://svn.eduke32.com/eduke32@1676 1a8010ca-5511-0410-912e-c29ae57300e0
2010-07-26 22:36:45 +00:00
plagman
abbe41e97d Reorganize a little code so that lightmaps can be used when a spotlight isn't currently casting a shadow. This fixes the problem where the window lights in the E1L1 apartment secret would jump between square and circle-shaped depending on the shadowcount and the view angle.
git-svn-id: https://svn.eduke32.com/eduke32@1674 1a8010ca-5511-0410-912e-c29ae57300e0
2010-07-25 02:16:22 +00:00
terminx
013ac85e2d Emit RPG_EXPLODE, PIPEBOMB_EXPODE and LASERTRIP_EXPLODE from the actual EXPLOSION2 sprite instead of whatever spawned EXPLOSION2, to prevent the sound from being owned by whatever sprite happens to spawn with the ID the RPG/pipebomb/whatever had before it was removed
Add brightness/gamma/contrast cvars to Mapster32

Fix bug with WEAPON_SEMIAUTO flag for custom weapons

Fix VM error with starttrack when specifying an invalid music track

Fix detection of 0x1a EOF characters in CON files

Fix a couple of additional sound issues

Fix crash in pushmove()

Fix Mapster32 textured 2D mode display being a few pixels off from the actual lines drawn

Fix crash when clicking "cancel" in Mapster32 startup window

Add Makefile detection to build with -march=pentium3 -mtune=generic on i686


git-svn-id: https://svn.eduke32.com/eduke32@1665 1a8010ca-5511-0410-912e-c29ae57300e0
2010-07-03 08:53:57 +00:00
terminx
068d3c0e52 This is mostly just build fixes for USE_OPENGL=0, POLYMOST=0 and POLYMER=0. Also updated the precompiled libogg/libvorbis/libvorbisfile that are supplied for MinGW.
git-svn-id: https://svn.eduke32.com/eduke32@1660 1a8010ca-5511-0410-912e-c29ae57300e0
2010-06-23 04:20:46 +00:00
terminx
9143833fc8 rotatesprite and multivoc have a rape baby
No, seriously.  Adds widescreen aware rotatesprite and works out half a dozen huge problems in the sound system, among other things.


git-svn-id: https://svn.eduke32.com/eduke32@1658 1a8010ca-5511-0410-912e-c29ae57300e0
2010-06-22 21:50:01 +00:00
terminx
4c3c64286a shading changes and fixes for a few crashes
git-svn-id: https://svn.eduke32.com/eduke32@1657 1a8010ca-5511-0410-912e-c29ae57300e0
2010-06-07 09:03:16 +00:00
terminx
ac7767986a Updated synthesis script, moved some non-essential files around, updated license headers on all non-BUILDLIC files, added memory cache on top of texcache to improve load times, moved some duplicated keyboard handling stuff from winlayer/sdlayer to baselayer, fixed keypad / in Mapster32 tile selector, fixed bug where p->rotscrnang and p->look_ang never reset to 0, added support for reloading maphack based polymer lights after mode changes/savegame loads, other minor changes
git-svn-id: https://svn.eduke32.com/eduke32@1652 1a8010ca-5511-0410-912e-c29ae57300e0
2010-05-25 10:56:00 +00:00
terminx
45052b8273 minor changes from my tree that I'm committing to test automated synthesis builds
git-svn-id: https://svn.eduke32.com/eduke32@1645 1a8010ca-5511-0410-912e-c29ae57300e0
2010-05-19 10:02:35 +00:00
plagman
e7c9ce8624 Model specular map support and polymer fix for the OSX/ATI driver.
git-svn-id: https://svn.eduke32.com/eduke32@1609 1a8010ca-5511-0410-912e-c29ae57300e0
2010-03-07 01:09:39 +00:00
plagman
386a93c366 This is an attempt to fix r1595.
- pr_resetlights() was exported but polymer.c wasn't changed to reflect that. This also broke the gcc build so I'm not sure how this was missed.
 - commented code was laying around in the middle of polymer.h
 - savegame.c using a bunch of C99 non-constant initializers. Please keep in mind that MSVC is one of the supported compilers and doesn't know C99.
 - savegame.c using localtime_r, which doesn't exist on Win32.
 - demo playback calling resetlights and drawrooms without ever calling pr_loadboard().
 - this change makes the game run very choppy here.

git-svn-id: https://svn.eduke32.com/eduke32@1596 1a8010ca-5511-0410-912e-c29ae57300e0
2010-01-25 01:11:34 +00:00
plagman
0d6dc3a531 Model normal mapping support. This calculates the averaged texture-tangent basis for every face of every model when loading them, so this change will make startup times a lot worse until we implement a way to cache the computed models to disk.
git-svn-id: https://svn.eduke32.com/eduke32@1594 1a8010ca-5511-0410-912e-c29ae57300e0
2010-01-24 05:57:43 +00:00
plagman
f3802b7897 Properly invert the tangent space matrix instead of transposing it (after all, model tangent space isn't guaranteed to be orthogonal) and do so offline. This removes a little strain from the GPU.
git-svn-id: https://svn.eduke32.com/eduke32@1591 1a8010ca-5511-0410-912e-c29ae57300e0
2010-01-21 05:52:19 +00:00
plagman
80b6a96901 This should correctly compute the normal of all BUILD floors and walls. Fixes bug 2806174 (E1L1 projection room floor not affected by light and parallaxing artifacts).
git-svn-id: https://svn.eduke32.com/eduke32@1589 1a8010ca-5511-0410-912e-c29ae57300e0
2010-01-18 07:07:22 +00:00
plagman
5621ad5983 This fixes a small problem with the mapster32 polymer selection code.
git-svn-id: https://svn.eduke32.com/eduke32@1575 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-31 10:00:21 +00:00
plagman
e38f060ce8 This fixes a renderer crash with external view + lights.
git-svn-id: https://svn.eduke32.com/eduke32@1569 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-14 07:08:21 +00:00
plagman
3c018e64ce Fix the San Andreas texture fix in some cases.
git-svn-id: https://svn.eduke32.com/eduke32@1565 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-13 01:54:29 +00:00
plagman
a5eb3903b2 Correct an error with rev 1556 that would cause drawing problems with parallaxed ceilings.
git-svn-id: https://svn.eduke32.com/eduke32@1563 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-12 22:06:41 +00:00
plagman
173edd4b3f Port of the San Andreas fault texture alignment fix from Hunter_rus to Polymer. I have no idea what it does, but it works and the last thing I want to do is to mess with build texture alignment ever again.
git-svn-id: https://svn.eduke32.com/eduke32@1559 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-09 07:03:25 +00:00
plagman
8733c63e5b Remove some dead code. Cstat 16384 was properly implemented at the top of polymer_drawsprite(), so no need for this hack anymore.
git-svn-id: https://svn.eduke32.com/eduke32@1558 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-08 06:02:58 +00:00
plagman
9f62cf5cb4 Don't cache sector parallaxing information in _prwalls. This fixes a bug where setting floor/ceiling parallaxing bits in the editor doesn't parallax the corresponding walls right away.
git-svn-id: https://svn.eduke32.com/eduke32@1556 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-07 07:17:33 +00:00
plagman
0888dbc38e Correct ceiling palette and shade validation in Polymer. That fix prevents changes to a ceiling palettes or shade from being ignored until the sector gets otherwise invalidated.
git-svn-id: https://svn.eduke32.com/eduke32@1555 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-07 07:04:57 +00:00
plagman
905abc3091 Proper editor picking code for Polymer. Also fixes a bunch of tabs that MSVC snuck in polymer.c.
git-svn-id: https://svn.eduke32.com/eduke32@1554 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-07 07:01:44 +00:00
terminx
44575d7e2c Ball-busting true client-server multiplayer prototype/alpha/whatever
git-svn-id: https://svn.eduke32.com/eduke32@1552 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-05 09:22:43 +00:00
plagman
0bd458fa42 Don't rely on repeating texture samplers to flip polymer sprites and request clamped textures for sprite textures. Fixes bug 2869362.
git-svn-id: https://svn.eduke32.com/eduke32@1551 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-03 07:37:34 +00:00
plagman
20cade406c Make polymer impervious to corrupt maps (for the tenth time..). Fixes bug 2869996.
git-svn-id: https://svn.eduke32.com/eduke32@1550 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-03 06:21:39 +00:00
terminx
2c9aeac2d5 A bunch of crap I meant to commit days ago... gtk startup window patch from bioman, nedmalloc REPLACE_SYSTEM_ALLOCATOR fix (related code uses #ifdef REPLACE_SYSTEM_ALLOCATOR so defining it to 0 was still satisfying the condition), slightly lower CPU usage in Mapster 2D mode, fix an ancient bug causing the player to not make vent footstep sounds on sprite based vents, fix map save state cvars, add "skill" cvar to console, fix saving the game while CON_SHOWVIEW is in use
git-svn-id: https://svn.eduke32.com/eduke32@1540 1a8010ca-5511-0410-912e-c29ae57300e0
2009-11-14 02:30:47 +00:00
plagman
cfc8b8d3da Don't override the system allocator with nedmalloc and remove the unused nedmalloc code from polymer.c. This should fix a few crashes caused by ALSA and Mesa picking up memory allocator symbols from eduke32.
git-svn-id: https://svn.eduke32.com/eduke32@1533 1a8010ca-5511-0410-912e-c29ae57300e0
2009-10-17 06:27:46 +00:00
terminx
20c028b2e9 Memory cleanups, use Bm/c/realloc/free everywhere (configured as nedmalloc version in compat.h), add large page support for Vista/7, tweak nedmalloc settings, add support for projecting textures from SE50 spotlights placed in maps via sprite owner member (manipulated through CONs via sprite htpicnum member), fix building Mapster32 with MSVC, increase PR_MAXLIGHTS to 1024
git-svn-id: https://svn.eduke32.com/eduke32@1527 1a8010ca-5511-0410-912e-c29ae57300e0
2009-10-07 06:47:35 +00:00
terminx
c030768d71 More corrupt map fixes
fuck ebase.map


git-svn-id: https://svn.eduke32.com/eduke32@1511 1a8010ca-5511-0410-912e-c29ae57300e0
2009-10-01 00:50:20 +00:00
terminx
ecb3e90817 Corrupt map fixes
Specifically seems to fix ebase.map by msandt


git-svn-id: https://svn.eduke32.com/eduke32@1510 1a8010ca-5511-0410-912e-c29ae57300e0
2009-10-01 00:28:40 +00:00
plagman
dee579c030 Custom aspect ratio support for Polymer: r_pr_customaspect. Implements bug 2799107.
git-svn-id: https://svn.eduke32.com/eduke32@1507 1a8010ca-5511-0410-912e-c29ae57300e0
2009-09-30 14:32:11 +00:00
plagman
13873b985c Checks for required GPU/OpenGL functionality when initializing Polymer and fallbacks to Polymost if appropriate. This should prevent crashes when trying to run Polymer on older GPUs/drivers.
git-svn-id: https://svn.eduke32.com/eduke32@1506 1a8010ca-5511-0410-912e-c29ae57300e0
2009-09-30 01:26:13 +00:00
plagman
10913b51f2 Fix mirrors with screen resizing.
git-svn-id: https://svn.eduke32.com/eduke32@1505 1a8010ca-5511-0410-912e-c29ae57300e0
2009-09-30 01:00:49 +00:00
plagman
d1e22bae52 Polymer screen resizing support. Fixes misaligned crosshair with full HUD.
git-svn-id: https://svn.eduke32.com/eduke32@1504 1a8010ca-5511-0410-912e-c29ae57300e0
2009-09-30 00:51:45 +00:00
plagman
fe7f09105c Don't request alpha bits for the first FBO. It'll prevent the FBO from getting complete when running 16-bits.
git-svn-id: https://svn.eduke32.com/eduke32@1489 1a8010ca-5511-0410-912e-c29ae57300e0
2009-08-12 17:43:17 +00:00
helixhorned
03d92eb1d1 m32 aim: fixes a bug with polymer overwalls
git-svn-id: https://svn.eduke32.com/eduke32@1483 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-31 20:44:28 +00:00
helixhorned
0da3edba58 model handling for new m32 aim; adapted gradients in astub.c
git-svn-id: https://svn.eduke32.com/eduke32@1482 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-31 14:00:52 +00:00
helixhorned
da8e401298 mapster32: more logical "bottom walls swapped"-bit handling; misc. cleanups
git-svn-id: https://svn.eduke32.com/eduke32@1466 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-25 20:16:22 +00:00
terminx
98a359f3e1 Clean out tree... misc changes
git-svn-id: https://svn.eduke32.com/eduke32@1465 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-24 02:31:34 +00:00
helixhorned
ce3d64d971 new m32 aiming: changed the way distance is determined, so it also handles parallaxed sectors.
git-svn-id: https://svn.eduke32.com/eduke32@1464 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-20 22:01:44 +00:00
helixhorned
8f0da12b76 new mapster aiming now handles planar sprites
git-svn-id: https://svn.eduke32.com/eduke32@1463 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-18 20:37:20 +00:00
helixhorned
c25ee18b98 new mapster mouse aiming: now handles masked walls, fixed searchwall determination when aiming at ceiling/floor
git-svn-id: https://svn.eduke32.com/eduke32@1462 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-17 21:47:04 +00:00
terminx
3504c0bf97 Misc minor changes
git-svn-id: https://svn.eduke32.com/eduke32@1458 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-12 23:41:16 +00:00
terminx
1538f39289 fix building with MSVC after Helixhorned's commit
fix FastLZ mipmap corruption issue
fix Polymer MSVC warnings
rewrote qsprintf to take up to 32 parameters, either quotes or gamevars
added qstrncat to concatenate n characters of one quote to another
exposed internal sectorofwall() function to CON
changed CON parser to count ( ) ; and , as whitespace so people can make their code more readable
added ACTIVATOR and ACTIVATORLOCKED support to SE49 and SE50
added SPRITE_USEACTIVATOR flag to allow actor execution based on whether a sector is "locked" or not
rearranged a few structures for faster array lookups
fixed EVENT_HOLSTER


git-svn-id: https://svn.eduke32.com/eduke32@1457 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-12 01:55:34 +00:00
helixhorned
a3c0bee4a3 Improved mouse aiming for Mapster32 (not yet in action)
git-svn-id: https://svn.eduke32.com/eduke32@1456 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-11 22:20:15 +00:00
terminx
3aaab4b63d Remove dead copy protection and watcom support code, fix structure alignment and packing issues preventing Polymer from working with MSVC, enable link time code generation (whole program optimization) for MSVC builds, fix most warnings showing up in MSVC with /w2, add pulsating dynamic lights when holding the shrinker or expander
git-svn-id: https://svn.eduke32.com/eduke32@1454 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-09 02:29:48 +00:00
plagman
5cdc55591b Adds r_pr_ati_nodepthoffset and the proper detection code to winlayer and sdlayer to make polymer run properly on R520-class Radeon chips. A bug needs to be filed to AMD.
git-svn-id: https://svn.eduke32.com/eduke32@1446 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-28 21:16:11 +00:00
plagman
9556762493 Changes r_pr_atiworkaround to r_pr_ati_fboworkaround and ports the detection code to SDLayer.
git-svn-id: https://svn.eduke32.com/eduke32@1445 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-28 21:03:50 +00:00
plagman
fb5811855d Adds cstat 8192 for sprites that do not cast shadows and documents it in build.h.
git-svn-id: https://svn.eduke32.com/eduke32@1433 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-14 13:35:19 +00:00
plagman
0f01a72fae Sanitizes cstat 16384 and documents it in build.h.
git-svn-id: https://svn.eduke32.com/eduke32@1432 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-14 13:02:10 +00:00
terminx
47a9332a16 More memory pool crap, startup window log update fixes, gameland light changes and minor polymer fixes
git-svn-id: https://svn.eduke32.com/eduke32@1430 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-13 21:06:45 +00:00
plagman
8982670fbc Sanitizes prsector and prwall flags, fixes a mempool crash when exiting the game before the engine gets initialized, and adds polymer_texinvalidate() to fix water/nightvision global palette change. SwissCM is still an asshole.
git-svn-id: https://svn.eduke32.com/eduke32@1428 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-09 09:32:23 +00:00
terminx
2f86c2a20f Cleaning out tree... some light changes, polymer memory pools, some meaningless optimizations, etc
git-svn-id: https://svn.eduke32.com/eduke32@1425 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-09 06:19:58 +00:00
terminx
9973478a9d Fix rendmode != 4 SE light crashes
git-svn-id: https://svn.eduke32.com/eduke32@1423 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-08 00:31:53 +00:00
plagman
4e635849e1 Fixes y-flipping on the bottom side of some doors (see E1L3 security doors). Also, fuck you SwissCM.
git-svn-id: https://svn.eduke32.com/eduke32@1422 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-08 00:29:29 +00:00
plagman
4a6bc850c0 Fixes full-screen tinting effects to bypass the material cache and apply instantly.
git-svn-id: https://svn.eduke32.com/eduke32@1421 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-07 23:35:11 +00:00
plagman
4f18c11c27 Don't loop against MAXLIGHTS when invalidating or removing a light from a plane.
git-svn-id: https://svn.eduke32.com/eduke32@1420 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-07 21:23:26 +00:00
plagman
6a7fe88d68 This adds a fast light culling test for non-sloped floors and ceilings (TerminX suggested that change).
git-svn-id: https://svn.eduke32.com/eduke32@1419 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-07 20:27:45 +00:00
plagman
e8cbecf935 This adds support for animated, palettized and shaded skies.
git-svn-id: https://svn.eduke32.com/eduke32@1418 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-07 18:38:13 +00:00
plagman
9cd0c6e6a0 Re-hooks pr_lighting.
git-svn-id: https://svn.eduke32.com/eduke32@1417 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-07 13:17:55 +00:00
plagman
f30fdef695 Don't go through multiple lighting passes when rendering the shadow maps.
git-svn-id: https://svn.eduke32.com/eduke32@1416 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-07 13:07:04 +00:00
plagman
2482b74012 Formatting fix.
git-svn-id: https://svn.eduke32.com/eduke32@1415 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-07 12:58:40 +00:00
plagman
a8cd07d692 Fixes light culling.
git-svn-id: https://svn.eduke32.com/eduke32@1413 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-07 12:51:00 +00:00
terminx
aca5dc80e3 git-svn-id: https://svn.eduke32.com/eduke32@1412 1a8010ca-5511-0410-912e-c29ae57300e0 2009-06-07 07:36:15 +00:00
terminx
92372d50d6 Misc minor changes
git-svn-id: https://svn.eduke32.com/eduke32@1411 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-07 06:23:33 +00:00
terminx
6c3ed1ec9c More light crap
git-svn-id: https://svn.eduke32.com/eduke32@1410 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-07 03:13:55 +00:00
terminx
0744452216 More light stuff... most gameland lights should be working again now
git-svn-id: https://svn.eduke32.com/eduke32@1409 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-06 22:30:53 +00:00
plagman
0688522507 Adds r_pr_shadowfiltering and r_pr_atiworkaround cvars.
git-svn-id: https://svn.eduke32.com/eduke32@1408 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-06 16:00:48 +00:00
plagman
f46e3b44f4 Using memcpy with clearly overlapping blocks is sad.
git-svn-id: https://svn.eduke32.com/eduke32@1407 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-06 14:22:17 +00:00
plagman
2186154dac Avoid a square root in the point light GPU program by comparing squared lengths. This changes the lighting model a bit since the attenuation calculation is based against these lengths.
git-svn-id: https://svn.eduke32.com/eduke32@1406 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-06 13:48:52 +00:00
plagman
b112e1d3c3 Re-implements the old light priority system, removes applylights() and optimizes the light invalidation code.
git-svn-id: https://svn.eduke32.com/eduke32@1405 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-06 13:40:15 +00:00
plagman
dbb84c7ee8 Reverts the priority change and removes applylights.
git-svn-id: https://svn.eduke32.com/eduke32@1404 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-06 13:12:29 +00:00
terminx
d4bca26bd9 Light stuff
git-svn-id: https://svn.eduke32.com/eduke32@1402 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-06 10:20:00 +00:00
plagman
2547739ff4 This prevents shadows from flooding the OSD and killing performance.
git-svn-id: https://svn.eduke32.com/eduke32@1398 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-01 21:11:26 +00:00
plagman
a23c9c23ba This overhauls the light culling/management code. Note: this renders the current gameland dynamic light code useless, to it'll have to be ported before they're back. Please don't complain on the forums.
git-svn-id: https://svn.eduke32.com/eduke32@1397 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-01 20:55:36 +00:00
plagman
930689d468 More corrupt map checks.
git-svn-id: https://svn.eduke32.com/eduke32@1395 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-31 18:16:14 +00:00
plagman
2997d1e0f5 Light pathing tweak.
git-svn-id: https://svn.eduke32.com/eduke32@1394 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-31 18:10:09 +00:00
terminx
8474211c95 Misc small fixes
git-svn-id: https://svn.eduke32.com/eduke32@1390 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-22 23:49:25 +00:00
plagman
82211327e8 Work around ATI driver bug (that's there since Cat 8.10 according to the intertubes).
git-svn-id: https://svn.eduke32.com/eduke32@1389 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-20 22:30:18 +00:00
plagman
515451e45f Speed up polymer_init a little.
git-svn-id: https://svn.eduke32.com/eduke32@1388 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-17 21:55:50 +00:00
plagman
5eae5cdc50 Moves editorselect and clearmapdata to non-external function categories, makes them static and prototypes them in the header.
git-svn-id: https://svn.eduke32.com/eduke32@1387 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-17 16:12:53 +00:00
terminx
5209d30f13 Missed one
git-svn-id: https://svn.eduke32.com/eduke32@1386 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-16 22:32:23 +00:00
terminx
bc4d262216 Fixes most polymer memory leaks
git-svn-id: https://svn.eduke32.com/eduke32@1385 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-16 22:26:40 +00:00
plagman
747a242b80 Unbreak specular maps (were broken because of mirror unbreaking).
git-svn-id: https://svn.eduke32.com/eduke32@1383 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-16 01:33:04 +00:00
plagman
b1f358de6f Unbreak mirrors.
git-svn-id: https://svn.eduke32.com/eduke32@1382 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-16 01:28:42 +00:00
plagman
854c72263c More tweaks to the specular lighting model.
git-svn-id: https://svn.eduke32.com/eduke32@1381 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-16 00:50:30 +00:00
plagman
396256b6e0 Tweak the lighting model so that specular highlights ignore the diffuse map value when a specular map is defined.
git-svn-id: https://svn.eduke32.com/eduke32@1380 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-15 14:23:08 +00:00
plagman
a5f8978a9f Spotlightmaps.
git-svn-id: https://svn.eduke32.com/eduke32@1377 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-12 20:08:38 +00:00
plagman
1b948be858 Corrects polymost rotation offset scale (didn't match build units before) and a bug in the polymer offset code (bug 2783065).
git-svn-id: https://svn.eduke32.com/eduke32@1376 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-10 19:19:25 +00:00
plagman
77e873b476 Adds pitch/roll script rotation for mdsprites (bug 2783065).
git-svn-id: https://svn.eduke32.com/eduke32@1375 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-10 17:51:00 +00:00
plagman
3cd91a1832 Parallax the parallax skies (bug 2783074).
git-svn-id: https://svn.eduke32.com/eduke32@1374 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-09 11:04:10 +00:00
plagman
72721c1663 Mirror skies (bug 2783066).
git-svn-id: https://svn.eduke32.com/eduke32@1373 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-09 10:42:57 +00:00
plagman
0f95655e27 Fixes floor-aligned sprite and flipping/1-way interaction (bug 2783071).
git-svn-id: https://svn.eduke32.com/eduke32@1371 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-08 19:15:14 +00:00
plagman
3b5cf1310a Fixes floor-aligned sprites being affected by the real center cstat bit (bug #2783389).
git-svn-id: https://svn.eduke32.com/eduke32@1369 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-08 18:04:02 +00:00
terminx
f3d93e8406 Undo/redo support for Mapster32 and some other minor changes
git-svn-id: https://svn.eduke32.com/eduke32@1361 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-05 16:21:33 +00:00
terminx
ec0a8f2033 Modified priority system to use 6 priority levels instead of 3, added proper def syntax "specular" and "normal" which work identically to "detail" and "glow" for defining normals and specular maps (defining these with pals 100 and 101 will no longer work)
git-svn-id: https://svn.eduke32.com/eduke32@1350 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-28 22:56:43 +00:00
plagman
5a090e84bc Couple of fixes for corrupt maps.
git-svn-id: https://svn.eduke32.com/eduke32@1347 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-26 17:47:08 +00:00
terminx
26ca7e7fc0 Sprite cstat 16384: invisible w/ shadows
this also adds shadows for the player when in first person


git-svn-id: https://svn.eduke32.com/eduke32@1343 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-24 04:02:39 +00:00
terminx
b7b016383f Sector effector based light sources, basic Mapster32 light support, additional sprite/model alpha control, sprite selection in Mapster32 3D mode with Polymer
git-svn-id: https://svn.eduke32.com/eduke32@1341 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-24 02:53:50 +00:00
terminx
dbb24affe9 git-svn-id: https://svn.eduke32.com/eduke32@1338 1a8010ca-5511-0410-912e-c29ae57300e0 2009-04-23 09:30:10 +00:00
terminx
3449ba8bef Revision 1337: fixes the crash on exit with polymer on win32
that's pretty l33t, right?


git-svn-id: https://svn.eduke32.com/eduke32@1337 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-23 09:09:41 +00:00
plagman
e48c4c2c87 Really fix concave relative slopes.
git-svn-id: https://svn.eduke32.com/eduke32@1335 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-19 18:00:51 +00:00
plagman
9241ab974a Don't step over the bounds of the plane buffer in buffertoplane (now computeplane).
git-svn-id: https://svn.eduke32.com/eduke32@1334 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-19 17:23:07 +00:00
plagman
711db577ab Fixes a texturing bug with a combination of relative texturing and concave sectors.
git-svn-id: https://svn.eduke32.com/eduke32@1333 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-19 17:03:18 +00:00
plagman
ed7157f1e5 Reverts part of 1331 and misc. fixes.
git-svn-id: https://svn.eduke32.com/eduke32@1332 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-19 09:49:27 +00:00
terminx
779eda41da git-svn-id: https://svn.eduke32.com/eduke32@1331 1a8010ca-5511-0410-912e-c29ae57300e0 2009-04-17 18:34:55 +00:00
terminx
45897cf581 Fixes a stupid mistake I made and changes mem* calls to Bmem* for consistency with the rest of the codebase
git-svn-id: https://svn.eduke32.com/eduke32@1330 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-16 06:49:29 +00:00
plagman
6dba1ba1ed Few fixes for the visibility checks.
git-svn-id: https://svn.eduke32.com/eduke32@1328 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-16 06:31:19 +00:00
plagman
5b3524d621 Message log cleanup for GPU program compilation and removed a GL error.
git-svn-id: https://svn.eduke32.com/eduke32@1324 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-14 13:58:38 +00:00
plagman
2ac7c2dc1e ATI fixes. (sigh)
git-svn-id: https://svn.eduke32.com/eduke32@1323 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-14 12:37:44 +00:00
plagman
b006c85790 Update the TODO list and fix the light leaking fix.
git-svn-id: https://svn.eduke32.com/eduke32@1322 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-14 08:39:13 +00:00
plagman
14108f3be9 Don't parse closed sectors.
git-svn-id: https://svn.eduke32.com/eduke32@1320 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-14 07:38:45 +00:00
plagman
dfd2a379b1 Don't propagate light through sealed portals.
git-svn-id: https://svn.eduke32.com/eduke32@1318 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-14 07:01:55 +00:00