Commit graph

271 commits

Author SHA1 Message Date
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
terminx
8cd5bb68d0 git-svn-id: https://svn.eduke32.com/eduke32@1317 1a8010ca-5511-0410-912e-c29ae57300e0 2009-04-14 04:20:37 +00:00
plagman
f1f13f5eb6 Fix for E3L4 (and possible others) corrupt sectors.
git-svn-id: https://svn.eduke32.com/eduke32@1314 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 22:27:49 +00:00
plagman
6d5571f320 Couple of cleanups.
git-svn-id: https://svn.eduke32.com/eduke32@1313 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 22:23:47 +00:00
terminx
ec71eebecb git-svn-id: https://svn.eduke32.com/eduke32@1312 1a8010ca-5511-0410-912e-c29ae57300e0 2009-04-12 21:52:49 +00:00
plagman
39b1908be8 Sanitize wall computation code a bit and fixes a problem with crossing slopes (E1L3 vertical security doors and E2L4 starting door).
git-svn-id: https://svn.eduke32.com/eduke32@1311 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 19:26:02 +00:00
plagman
b47ad2bde2 Works around a precision bug that would cause the sloped floor in the E1L1 bathroom vent to have a wrong normal matrix.
git-svn-id: https://svn.eduke32.com/eduke32@1310 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 17:37:35 +00:00
plagman
9152cf3b40 Fix detail mapping on ATI cards.
git-svn-id: https://svn.eduke32.com/eduke32@1309 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 17:29:50 +00:00
plagman
26a9a58af3 Adds a bunch of cvars to tweak polymer.
git-svn-id: https://svn.eduke32.com/eduke32@1307 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 17:14:18 +00:00
plagman
82153bd763 Clean up a bit of dead code.
git-svn-id: https://svn.eduke32.com/eduke32@1306 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 16:39:54 +00:00
plagman
b7449a87b9 Light priority system.
git-svn-id: https://svn.eduke32.com/eduke32@1305 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 16:28:20 +00:00
plagman
567c0bdd86 Per-frame lights cleanup.
git-svn-id: https://svn.eduke32.com/eduke32@1304 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 13:51:43 +00:00
plagman
80670cac29 Game-tic lights and recon car headlights.
git-svn-id: https://svn.eduke32.com/eduke32@1303 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 13:02:36 +00:00
plagman
6477b236b2 Minshade and maxshade parameters for dynamic lighthacks.
git-svn-id: https://svn.eduke32.com/eduke32@1302 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 12:32:50 +00:00
plagman
35691be969 Fixes models after modeswitches on Windows and removes warnings.
git-svn-id: https://svn.eduke32.com/eduke32@1301 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 10:46:31 +00:00
plagman
b73cc663eb Correctly invalidate the GPU programs and skybox VBO on modeswitches.
git-svn-id: https://svn.eduke32.com/eduke32@1300 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 09:57:25 +00:00
plagman
652262626a Polymost-like shading.
git-svn-id: https://svn.eduke32.com/eduke32@1298 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-11 18:01:39 +00:00
plagman
2994614501 Reduce near-clipping range and fixes a bug with one-way walls that are also map limits.
git-svn-id: https://svn.eduke32.com/eduke32@1294 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-02 17:17:24 +00:00
plagman
68cad843f6 Adds pr_maxlightpasses cvar.
git-svn-id: https://svn.eduke32.com/eduke32@1293 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-01 18:52:15 +00:00
plagman
82605aa44c Don't prepare shadows of lights that aren't in view.
git-svn-id: https://svn.eduke32.com/eduke32@1292 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-01 18:34:11 +00:00
plagman
8181b1141d Fixes the bug where the renderer would get in "external view" mode on slopes.
git-svn-id: https://svn.eduke32.com/eduke32@1291 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-01 18:11:01 +00:00
plagman
a4c5af4d37 Fixes shadow bug.
git-svn-id: https://svn.eduke32.com/eduke32@1290 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-01 17:58:22 +00:00
plagman
6209446b1f Lighthacks.
git-svn-id: https://svn.eduke32.com/eduke32@1288 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-31 23:23:06 +00:00
plagman
13033e9c29 Fix mirrors and model animation.
git-svn-id: https://svn.eduke32.com/eduke32@1287 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-29 21:08:52 +00:00
plagman
74a9338243 E1L2 door fix.
git-svn-id: https://svn.eduke32.com/eduke32@1286 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-29 19:31:24 +00:00
plagman
3d6b06e958 pr_specularoverride and less retarded default values for the parallax overrides.
git-svn-id: https://svn.eduke32.com/eduke32@1285 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-29 17:14:41 +00:00
plagman
9b4dae022d 4-step Iterative parallax mapping, parallaxscale and parallaxbias DEF tokens for normal maps, support for floating-point cvars, pr_overrideparallax cvar to fine-tune the scale and bias settings.
git-svn-id: https://svn.eduke32.com/eduke32@1284 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-29 15:16:33 +00:00
plagman
73149ef78b Faster normal mapping.
git-svn-id: https://svn.eduke32.com/eduke32@1283 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-28 18:25:30 +00:00
plagman
13243ffeae Tie mirror map reflections to specular map texels.
git-svn-id: https://svn.eduke32.com/eduke32@1282 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-28 16:50:46 +00:00
plagman
33d75c0cc7 Specular maps (pal 101).
git-svn-id: https://svn.eduke32.com/eduke32@1281 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-28 16:14:10 +00:00
plagman
fe8775cb21 Sanitize texture coordinate usage in the GPU program. That allows normal and glow maps to benefit from the diffuse map scale.
git-svn-id: https://svn.eduke32.com/eduke32@1280 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-28 15:54:25 +00:00
plagman
83fc79300e Adds specpower and specfactor tokens for model skins.
git-svn-id: https://svn.eduke32.com/eduke32@1279 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-28 15:19:44 +00:00
plagman
50af4984ad Adds specpower and specfactor definition tokens for textures.
git-svn-id: https://svn.eduke32.com/eduke32@1278 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-28 12:14:37 +00:00
plagman
df26ab3c7d Sanitize terminology a bit.
git-svn-id: https://svn.eduke32.com/eduke32@1277 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-28 11:43:16 +00:00
plagman
6e13967287 Hack to avoid horizontal shadow maps.
git-svn-id: https://svn.eduke32.com/eduke32@1274 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-27 13:46:40 +00:00
plagman
0cd0afa945 Cast light on models and self-shadowing.
git-svn-id: https://svn.eduke32.com/eduke32@1273 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-27 12:56:42 +00:00
plagman
1d2a7c2982 Don't mirror stuff when drawing the shadow maps and don't cast shadows on models for now.
git-svn-id: https://svn.eduke32.com/eduke32@1272 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-27 11:39:10 +00:00
plagman
5a843f0fd1 Sprite and model shadows.
Also fixes a bug with shadows and mirrors.

git-svn-id: https://svn.eduke32.com/eduke32@1271 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-27 10:39:18 +00:00
plagman
f285ad903c Fix blinkiness.
git-svn-id: https://svn.eduke32.com/eduke32@1270 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-26 17:45:12 +00:00
plagman
88c7967d02 Shadow fix.
git-svn-id: https://svn.eduke32.com/eduke32@1269 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-26 16:41:06 +00:00
plagman
ed3198b65f Shadows.
git-svn-id: https://svn.eduke32.com/eduke32@1268 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-26 16:32:00 +00:00
plagman
b2e3b85e6d Spotlight frustum caculation and culling.
git-svn-id: https://svn.eduke32.com/eduke32@1267 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-25 21:14:51 +00:00
plagman
bd69a9a286 Spotlights.
git-svn-id: https://svn.eduke32.com/eduke32@1266 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-25 19:48:27 +00:00
plagman
53bbdc9cd7 Optimize lighting model a bit.
git-svn-id: https://svn.eduke32.com/eduke32@1265 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-25 13:23:35 +00:00
plagman
a4070de923 Corrects E1L7 rotating lava bug and minor indentation quirk.
git-svn-id: https://svn.eduke32.com/eduke32@1264 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-24 16:25:20 +00:00
plagman
6e2bac1c92 Little multi-light optimization.
git-svn-id: https://svn.eduke32.com/eduke32@1263 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-24 10:24:33 +00:00
plagman
a11513c907 Fixes a problem where mirrors and masked walls wouldn't display under certain circumstances.
git-svn-id: https://svn.eduke32.com/eduke32@1262 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-24 10:09:53 +00:00
plagman
8a2916c2cc Fixes a texture bug.
git-svn-id: https://svn.eduke32.com/eduke32@1261 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-24 09:37:30 +00:00
plagman
b5c4b521f7 Render targets, FBO mirrors with normal displacement, fix for masked walls with animated walls, various cleanups.
git-svn-id: https://svn.eduke32.com/eduke32@1255 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-23 14:18:20 +00:00
plagman
68866d606e Do a depth only pass before actual rendering and only occlusion check for map boundary sectors.
git-svn-id: https://svn.eduke32.com/eduke32@1252 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-18 15:05:58 +00:00
plagman
f982323443 Bump mapping (hardcoded to palette 100 for now, will do the defs glue later to make it more convenient to package the source for public releases).
TODO: use the inverse TBN on a world-space light vector instead of transforming every fragment interpolated normal into eye-space with the TBN * the view matrix.

git-svn-id: https://svn.eduke32.com/eduke32@1244 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-13 15:18:46 +00:00
plagman
62d3116325 Reorganize point light GPU program a bit.
git-svn-id: https://svn.eduke32.com/eduke32@1243 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-12 21:20:01 +00:00
plagman
8bdb217ca1 Multi-pass shading and correct a light culling bug.
git-svn-id: https://svn.eduke32.com/eduke32@1242 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-12 13:51:30 +00:00
plagman
09ef2dae34 Calculate inverse TBN matrix for planes.
git-svn-id: https://svn.eduke32.com/eduke32@1241 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-11 13:23:05 +00:00
plagman
e158a9e71c Basic model bounding sphere light culling and corrected the bounding sphere calculation algorithm. Note that light still leaks to models/sprites on overlapping sectors, but not on the sectors themselves.
git-svn-id: https://svn.eduke32.com/eduke32@1240 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-10 17:49:34 +00:00
plagman
512bb9a5ab MD3 normals.
git-svn-id: https://svn.eduke32.com/eduke32@1239 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-10 14:30:34 +00:00
plagman
9995cc46c2 Repack model geometry as floats (preliminary work for model normals).
git-svn-id: https://svn.eduke32.com/eduke32@1238 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-10 12:08:33 +00:00
plagman
dec9c2cbac Model bounding box and sphere computation.
git-svn-id: https://svn.eduke32.com/eduke32@1237 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-10 09:26:25 +00:00
plagman
e41322dd47 Sprite lighting.
git-svn-id: https://svn.eduke32.com/eduke32@1235 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-08 22:59:54 +00:00
plagman
7d7a705af9 Work around a precision bug that would cause colinear wall vectors to only be "almost" colinear, causing the cross product to be wrongly validated and resulting in bogus normal vectors for some surfaces.
git-svn-id: https://svn.eduke32.com/eduke32@1234 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-08 21:07:40 +00:00
plagman
ad1091b2df Light culling and proper diffuse material.
git-svn-id: https://svn.eduke32.com/eduke32@1233 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-08 20:38:51 +00:00
plagman
dec76c4907 Glue code between internal light source management and the game.
git-svn-id: https://svn.eduke32.com/eduke32@1227 1a8010ca-5511-0410-912e-c29ae57300e0
2009-02-14 14:31:58 +00:00
plagman
6fe53806c7 Fixes a crash when disabling high-res texture replacements.
git-svn-id: https://svn.eduke32.com/eduke32@1226 1a8010ca-5511-0410-912e-c29ae57300e0
2009-02-13 13:10:01 +00:00
plagman
ee105f1883 Proper hightile sprite calculation (fixes HRP explosion size).
git-svn-id: https://svn.eduke32.com/eduke32@1225 1a8010ca-5511-0410-912e-c29ae57300e0
2009-02-13 13:05:56 +00:00