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
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