Commit Graph

297 Commits

Author SHA1 Message Date
helixhorned 51398ca749 Rename 'numpalookups' to 'numshades' internally.
git-svn-id: https://svn.eduke32.com/eduke32@2504 1a8010ca-5511-0410-912e-c29ae57300e0
2012-03-20 18:32:00 +00:00
helixhorned 07426ccc2a Polymost: fix mirror-related oob access analogous to r1872's fix for classic.
When drawing from inside the mirror, there may be no 'bunches' (BUILD lingo,
not TROR ones) collected, but following code used the first one unconditionally.

git-svn-id: https://svn.eduke32.com/eduke32@2427 1a8010ca-5511-0410-912e-c29ae57300e0
2012-03-08 19:15:03 +00:00
helixhorned d4577fccb5 Formatting; remove 'loop has empty body' warnings with clang.
I have to admit, I like its grumbling.

git-svn-id: https://svn.eduke32.com/eduke32@2416 1a8010ca-5511-0410-912e-c29ae57300e0
2012-03-04 20:15:22 +00:00
helixhorned cd8836227f Polymost: with r_parallaxskypanning=1, clamp the sky at a constant horizon.
See E4L1 for what this means.

git-svn-id: https://svn.eduke32.com/eduke32@2415 1a8010ca-5511-0410-912e-c29ae57300e0
2012-03-04 20:15:04 +00:00
helixhorned 2dca87b80a Make 'double ghoriz' static in polymost.c.
git-svn-id: https://svn.eduke32.com/eduke32@2409 1a8010ca-5511-0410-912e-c29ae57300e0
2012-03-04 20:13:34 +00:00
helixhorned 8b7a4dab9b Define Batoi/Batol to strtol(...) in compat.h and use these when necessary.
That is, everyplace a user input is to be converted.  The only remaining
instance of atoi() is now atoi(s_buildDate).

git-svn-id: https://svn.eduke32.com/eduke32@2374 1a8010ca-5511-0410-912e-c29ae57300e0
2012-02-20 21:17:39 +00:00
helixhorned 1ebdcf6443 polymost.c: More informative failure message for gloadtile_cached().
git-svn-id: https://svn.eduke32.com/eduke32@2371 1a8010ca-5511-0410-912e-c29ae57300e0
2012-02-20 19:53:23 +00:00
helixhorned c657588658 Fix a potential sector[-1] access when drawing a masked wall in Polymost.
git-svn-id: https://svn.eduke32.com/eduke32@2280 1a8010ca-5511-0410-912e-c29ae57300e0
2012-01-26 21:57:51 +00:00
helixhorned 7a893b8ec4 minor engine cleanup.
- enclose glbuild.h in #idndef ... sentinels
- engine.c: remove unused variable 'pageoffset', make 'lastx' static
- formatting

git-svn-id: https://svn.eduke32.com/eduke32@2272 1a8010ca-5511-0410-912e-c29ae57300e0
2012-01-20 13:24:15 +00:00
helixhorned 7e6f712ad1 more internal cleanup...
the only visible change is that polymost_trytexcache (formerly two
instances of nearly duplicate code) now prints a diagnostic after
a cache miss.  The one that one is most likely to encounter is
"r_downsize doesn't match", meaning that this setting likely differs
between Mapster and the game.

git-svn-id: https://svn.eduke32.com/eduke32@2248 1a8010ca-5511-0410-912e-c29ae57300e0
2012-01-12 20:47:41 +00:00
helixhorned e3150b2801 a couple more trivial tweaks
git-svn-id: https://svn.eduke32.com/eduke32@2247 1a8010ca-5511-0410-912e-c29ae57300e0
2012-01-10 23:45:34 +00:00
helixhorned 3095b09773 trivial formatting / removing of old cruft / adding comments
git-svn-id: https://svn.eduke32.com/eduke32@2244 1a8010ca-5511-0410-912e-c29ae57300e0
2012-01-10 23:44:35 +00:00
helixhorned a86dfe661b maint: make the following static in polymost.c:
- texcacheindex *firstcacheindex, *curcacheindex
 - trytexcache(), gloadtile_cached()
- Factor out duplicated code into clear_cache_internal()

git-svn-id: https://svn.eduke32.com/eduke32@2240 1a8010ca-5511-0410-912e-c29ae57300e0
2012-01-10 23:43:18 +00:00
helixhorned c7aa4592c2 polymost_printext256: fix oob read when passing negative 'col' or 'backcol'
values;  check the color index that is potentially gotten from the string to
be printed.

git-svn-id: https://svn.eduke32.com/eduke32@2162 1a8010ca-5511-0410-912e-c29ae57300e0
2011-12-09 19:09:29 +00:00
helixhorned bbc6db465e Mapster32: new cfg var 'glusememcache', the same as r_memcache cvar.
git-svn-id: https://svn.eduke32.com/eduke32@2145 1a8010ca-5511-0410-912e-c29ae57300e0
2011-12-03 13:13:28 +00:00
helixhorned 59881f50e0 Revert r2141 functionality because it was a stupid-ass hack and breaks E3L5.
The texture warping mode will need to be set depending on whether we're
actually drawing a parallaxed sky or not.

git-svn-id: https://svn.eduke32.com/eduke32@2142 1a8010ca-5511-0410-912e-c29ae57300e0
2011-11-27 12:02:41 +00:00
helixhorned 2a73b7fc9b Upload sky textures with s wrapping set to GL_CLAMP{_TO_EDGE}.
This fixes the vertical (~1 texel wide) stripes that are especially
noticable with tiled art skies and Polymost with r_parallaxskyclamp=1
or Polymer (which always uploads skies with repeating s and t coords).
What constitutes a sky tile is currently hardcoded to be >=78 and <=99.

git-svn-id: https://svn.eduke32.com/eduke32@2141 1a8010ca-5511-0410-912e-c29ae57300e0
2011-11-26 22:41:09 +00:00
helixhorned e1e09cd978 Also print file name of cache file in case of failure to open it.
git-svn-id: https://svn.eduke32.com/eduke32@2106 1a8010ca-5511-0410-912e-c29ae57300e0
2011-11-08 16:50:10 +00:00
helixhorned aae60f64c2 Eliminate all 'variable ... set but not used [-Wunused-but-set-variable]'
warnings with GCC 4.6 except one in kplib.c

git-svn-id: https://svn.eduke32.com/eduke32@2079 1a8010ca-5511-0410-912e-c29ae57300e0
2011-10-17 18:42:10 +00:00
helixhorned 48c49e751f Initialize prlights[lighti].flags.invalidate with 0 when calling
polymer_addlight().  I have no idea whether it's the 'right' thing,
but it fixes this:

Conditional jump or move depends on uninitialised value(s)
  at polymer_updatelights (polymer.c:5090)
  by polymer_drawrooms (polymer.c:938)
              . . .
Uninitialised value was created by a stack allocation
  at loadmaphack (engine.c:9482)

Fix another uninitialized access when rendering jpegs.

git-svn-id: https://svn.eduke32.com/eduke32@2069 1a8010ca-5511-0410-912e-c29ae57300e0
2011-10-03 17:43:36 +00:00
helixhorned a0b928583b Show fake TROR texture when show-invisibility [I] is on in Mapster32/Polymer.
Also move a 'int16_t editstatus' declaration from polymost.c to engine_priv.h.

git-svn-id: https://svn.eduke32.com/eduke32@2066 1a8010ca-5511-0410-912e-c29ae57300e0
2011-10-02 22:38:09 +00:00
helixhorned b63f7e558b maint: refactor closing cache files and removing duplicate pointers into their own functions
git-svn-id: https://svn.eduke32.com/eduke32@2064 1a8010ca-5511-0410-912e-c29ae57300e0
2011-10-02 22:37:33 +00:00
helixhorned bb72f803c4 Two tweaks to make the precaching more efficient/less redundant in the game.
First, if we're in Polymer, don't precache tinted tiles that have a highpal
for that certain pal.  Second, don't precache tiles for palnum 251 (the last
non-reserved one, which is used as a crosshair pal). Assuming that there are
no other tints, this cuts the initial precache time and cache size on disk in
half.

git-svn-id: https://svn.eduke32.com/eduke32@2045 1a8010ca-5511-0410-912e-c29ae57300e0
2011-09-28 20:30:24 +00:00
helixhorned 7582b86237 Add high-resolution timers C API for profiling. The functions are called
uint64_t gethiticks() and gethitickspersec().  For SDL 1.2, the timer
has the same resolution as getticks (1000 Hz). For Windows and SDL 1.3,
the resolution of the underlying perf-timers is used.  The only user of
these functions right now is some TROR on-screen debugging code.

Revert an earlier change regarding r_preview_mouseaim.  We can't do the
check because editstatus is set later.

git-svn-id: https://svn.eduke32.com/eduke32@2026 1a8010ca-5511-0410-912e-c29ae57300e0
2011-09-15 17:05:00 +00:00
helixhorned cc7110c18f - Add new trueror1.map that showcases the functionality and limitations of
the additional rendering pass
- Remove r_preview_mouseaim cvar from the game, since it's only for Mapster
- sdlmusic.c: (Failed) attempt to fix a call of waitpid() with a non-existent
  process ID in the external MIDI playing code. I think there's a race there...

git-svn-id: https://svn.eduke32.com/eduke32@2025 1a8010ca-5511-0410-912e-c29ae57300e0
2011-09-15 17:04:37 +00:00
helixhorned 2415b03c79 Support for drawing 'island sectors' for TROR/classic (and with limited
functionality, Polymost).

The new feature can be enabled/disabled with the 'r_tror_nomaskpass' cvar.

The basic idea is that when drawing lower or upper levels, a first pass
is performed that ignores all red walls for which the TROR nextwall link
'towards' the viewer arrives at a red wall.  Thus, in the worst case, there
can be up to twice as many rendering passes now (when it is discovered that
the no-mask-pass isn't different that what would be drawn with the ordinary
one, the latter is skipped, since we've already drawn all needed geometry).

Hovever, this kind of multi-pass splitting is only suitable for simple scenes,
like the upper subway in the TROR test map.  In particular, multiple islands
shouldn't 'see' each other.

Two issues are worth mentioning: first, care needs to be taken for translucent
ceilings or floors, since drawing them twice isn't the same as drawing them
once. This is done for classic, but not for Polymost.  Second, sprites (which
are always drawn _after_ the geometry for a given pass) are still clipped to
the geometry of the ordinary pass, resulting in their disappearance from
certain angles.
--

Additionaly, a change made it into this commit that fixes redundant collection
of sprites in TROR:classic/Polymost.

git-svn-id: https://svn.eduke32.com/eduke32@2024 1a8010ca-5511-0410-912e-c29ae57300e0
2011-09-15 17:04:14 +00:00
helixhorned 01676d7431 A couple of trivial/cleanup changes. setvgapalette() is removed from the
engine, since it had no users.

git-svn-id: https://svn.eduke32.com/eduke32@2014 1a8010ca-5511-0410-912e-c29ae57300e0
2011-09-10 15:44:53 +00:00
helixhorned dc02ff5654 Using this dynamic checking tool: http://embed.cs.utah.edu/ubc/,
fix two issues with signed integer overflow. One is related to clipping
and the other to Polymost mouse-picking for overlong walls. Many more
remain especially in the 8-bit rendering code, but I expect many of
them to be intended.

git-svn-id: https://svn.eduke32.com/eduke32@2009 1a8010ca-5511-0410-912e-c29ae57300e0
2011-09-06 17:46:17 +00:00
helixhorned a3e83fbe0c Unbreak zip support as another means to group files. Using 16-bit integers to
hold file lengths is certainly very frownworthy.

git-svn-id: https://svn.eduke32.com/eduke32@2003 1a8010ca-5511-0410-912e-c29ae57300e0
2011-09-04 19:44:24 +00:00
helixhorned a23504822d Prepare polymost.c for proper umost/dmost clipping of TROR passes. No real functional changes.
git-svn-id: https://svn.eduke32.com/eduke32@2002 1a8010ca-5511-0410-912e-c29ae57300e0
2011-09-04 19:44:07 +00:00
helixhorned 317aca0093 polymost.c: remove the rest of the rendmode 1 and 2 code from the build
git-svn-id: https://svn.eduke32.com/eduke32@1994 1a8010ca-5511-0410-912e-c29ae57300e0
2011-08-28 17:31:08 +00:00
helixhorned fbb6cc5e7e make r_usenewaspect imply NOT glwidescreen (i.e. disable r_anamorphic there, because that would be redundant). r_projectionhack is still active, but doesn't seem to do much.
git-svn-id: https://svn.eduke32.com/eduke32@1961 1a8010ca-5511-0410-912e-c29ae57300e0
2011-08-10 11:58:59 +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
helixhorned 3bc56d267c Polymost: crash prevention for bad pal sprites (and warning in Mapster 3D mode)
git-svn-id: https://svn.eduke32.com/eduke32@1920 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-26 13:00:31 +00:00
helixhorned 5a632bc1f0 * Tighter y[ud]most clamping in TROR/classic. This fixes the overdraw bug when standing on the rails in the test map.
* Voxel tweaks: horizontally scale wall-aligned ones by 5/4, make them ignore per-tile yoffset in classic (i.e. emulate Polymost; I think this is more sensible since they're not clipped to floors/ceilings anyway), make Polymost know the voxel scale
* Always cull back-facing, one-sided, wall-aligned sprites (classic/Polymost), irrespective of whether it's a sprite, voxel or model. This can lead to falsely not drawing them in certain circumstances, but IMO that's preferable to visible hidden switches etc.
* Change defaults for r_novoxmips to 1 and lazytileselector to 0


git-svn-id: https://svn.eduke32.com/eduke32@1908 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-18 13:02:08 +00:00
helixhorned e92099b2f7 Polymost:
* rudimentary TROR support
 * free mixing of multi- and single-tile pskies
 * Don't cull models behind you. That is, treat them like floor sprites in that respect. This way large models like corpses don't disappear from the view unexpectedly.

Classic:
 * tweak the last row and column of the translucency table so that e.g. a transparent sprite against a FANSPRITE wall doesn't show up purple (only if Duke3D table is found)

Misc.:
 * fixes TROR-nextwall corruption when deleting sectors
 * tile selector 'goto' now has also completion
 * I forgot a file for the non-OpenGL build last time


git-svn-id: https://svn.eduke32.com/eduke32@1892 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-22 21:52:22 +00:00
helixhorned 0c190bfa55 * Auto-grayout for plain old sectors toggled with Ctrl-A. When it is in effect, _all_ sectors which fall outside the [min ceiling z, max floor z] bounds of all active extended sectors are deactivated.
* make it possible to duplicate from extended sectors; all extensions are cleared from them
* lazy hightile loading in tile selector can now be disabled in mapster32.cfg
* fixes USE_OPENGL=0 build


git-svn-id: https://svn.eduke32.com/eduke32@1890 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-18 22:44:09 +00:00
helixhorned 98456aefe3 -- engine:
* support for free mixing of multi- and single-tile parallaxed skies in classic
* make visibility independent of yxaspect and viewingrange in OpenGL modes

-- editor:
* when dragging walls, restore pixel width after that (only for the left and right walls of pointhighlight, and its nextwalls, if any)
* pasting on walls and auto-aligning them now carries over a few more fields

-- fixes:
* visibility in OpenGL modes wasn't incremented gradually (regression due to making 'clamp' an inline function instead of a macro)
* memory corruption due to calling qlz_compress with less than the recommended surplus storage of 400 bytes
* decorative sprites in the mirror showing non-flipped
* make the subway SE message (much) more helpful by showing which sector the game considers to be the track sector


git-svn-id: https://svn.eduke32.com/eduke32@1882 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-12 23:31:13 +00:00
plagman 8c5492ec2e Fix two warnings I introduced a while back.
git-svn-id: https://svn.eduke32.com/eduke32@1880 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-11 22:14:06 +00:00
plagman c7280a140b Fix the bug where Mapster32 tile selection would display the detail map of a
tile.



git-svn-id: https://svn.eduke32.com/eduke32@1873 1a8010ca-5511-0410-912e-c29ae57300e0
2011-04-27 14:30:48 +00:00
terminx 1fdafcdad6 Cleaning out my tree... mostly internal changes. Adds workaround to disable texture compression with the crappy fglrx driver on Linux, fixes FIRE sprites so that they don't render at their sector's floorz all the time, changes CON compiler around a bit to use a loop instead of calling C_ParseCommand() 10 million times.
git-svn-id: https://svn.eduke32.com/eduke32@1857 1a8010ca-5511-0410-912e-c29ae57300e0
2011-04-07 01:16:29 +00:00
helixhorned 46964b322b * Lazy hightile loading in Mapster32 tile selector (first display all as lowtiles, then load each one while allowing movement)
* Consolidate the various, slightly different, methods of bounding a sprite between a sector's ceiling and floor into one common function
* Fixes for accumulated bugs: shade preview, r_shadescale_unbounded, and a couple of unreported ones
* Yaks, gnus, and bisons...


git-svn-id: https://svn.eduke32.com/eduke32@1854 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-23 17:41:01 +00:00
helixhorned 06afc4dcc5 * Comment out some practically dead code (rendmode 1 and 2, pcx screenshots), cutting some 8k from the release binary.
* Refactor two nearly identical chunks in polymost.c into one function in the hope of getting some more, but interestingly that did nothing at all. At least it's more readable this way...
* Commit, but don't enable, code for writing PNG screenshots (I'm tired of converting them every time). Requires libpng which in turn requires zlib.

git-svn-id: https://svn.eduke32.com/eduke32@1852 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-19 18:07:12 +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
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
helixhorned e24a1058f5 print 'cached tile' messages only from 5 ms up so as not to flood the OSD/log; quit on out of mem in one more place; new tool md2tool to query MD2 model info or change the scale/translate fields so that desired bounds are produced
git-svn-id: https://svn.eduke32.com/eduke32@1784 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-30 11:02:28 +00:00
helixhorned f3bf6b542e With the help of Coccinelle, eliminate a few sector[-1] accesses and calculations of &sector[-1] (bound checking code not committed).
git-svn-id: https://svn.eduke32.com/eduke32@1780 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-23 15:30:28 +00:00
helixhorned b3cd9a73fe fix non-Polymer build
git-svn-id: https://svn.eduke32.com/eduke32@1778 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-20 21:46:15 +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
terminx ef912658a0 Run engine source through new version of astyle, add printf() call to OSD_Printf() to facilitate console access through stdin/stdout for dedicated server mode, minor changes to sdlayer to allow operating without actually initializing SDL
git-svn-id: https://svn.eduke32.com/eduke32@1762 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-16 02:50:27 +00:00
terminx 1579d2edd3 Switch back to using GL_COMPRESSED_RGB_ARB and GL_COMPRESSED_RGBA_ARB instead of explicitly asking for DXT1 and DXT5 (maybe fix white boxes on ATI?), change check for Radeon X1xxx cards to work on mobile cards with different GL_RENDERER strings
git-svn-id: https://svn.eduke32.com/eduke32@1761 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-16 02:45:54 +00:00
helixhorned e66bec5e31 Make mapster32 know r_downsize parameter. For best caching performance, this and glusetexcache should be the same as for the game. Highpalookup script can now generate maps equivalent to the current PHRP tint defs.
git-svn-id: https://svn.eduke32.com/eduke32@1754 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-09 18:53:06 +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
helixhorned e0874390ff New aspect determination code for classic/Polymost, controlled with r_usenewaspect and r_screenaspect cvars; print stack traces with SDL/GCC; change signature of app_main in game.c to match declarations found in other places and return different positive values on init error.
git-svn-id: https://svn.eduke32.com/eduke32@1712 1a8010ca-5511-0410-912e-c29ae57300e0
2010-10-17 14:49:39 +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 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
helixhorned a1a5f9cb5a Partially fixes bug #3034382 and a few other ones.
git-svn-id: https://svn.eduke32.com/eduke32@1679 1a8010ca-5511-0410-912e-c29ae57300e0
2010-08-02 18:59:59 +00:00
terminx a7eb0418d1 Global thermonuclear code rape
git-svn-id: https://svn.eduke32.com/eduke32@1677 1a8010ca-5511-0410-912e-c29ae57300e0
2010-08-02 08:13:51 +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
helixhorned 8077dcd633 Mapster32 maintenance pack #1
The bulk of this commit is "code rape"--or rather, caressing, rewritten for readability.
Actual changes/fixes:
  - fixed "walking" in 2d mode
  - fixed DELETE key in OSD in SDL build
  - main loop in general (timeout for event wait after 200 ms so that highlights blink)
  - access to some pr_override* variables in m32script (suggested by Roma Loom)
  - API cleanup (added statics and consts here and there)

git-svn-id: https://svn.eduke32.com/eduke32@1644 1a8010ca-5511-0410-912e-c29ae57300e0
2010-05-18 05:14:17 +00:00
terminx 3514722a74 fix input when using vsync
git-svn-id: https://svn.eduke32.com/eduke32@1634 1a8010ca-5511-0410-912e-c29ae57300e0
2010-05-09 08:51:25 +00:00
terminx 45d93544a6 Source code "cleanup," herein referred to as "rape"
git-svn-id: https://svn.eduke32.com/eduke32@1625 1a8010ca-5511-0410-912e-c29ae57300e0
2010-05-02 23:27:30 +00:00
helixhorned 8854ea2dbb Save last rendered texture tempoarily in memory when precaching. This cuts about 10 percent on initial precaching time on the average (E1-3 L1-4, current HRP). Also don't precache special palettes that the user hasn't chosen to render (saves a few % maybe) or models (can be substantial).
git-svn-id: https://svn.eduke32.com/eduke32@1610 1a8010ca-5511-0410-912e-c29ae57300e0
2010-03-11 23:35:22 +00:00
terminx e65891aad6 Very few actual changes... mostly formatting fixes from astyle
git-svn-id: https://svn.eduke32.com/eduke32@1593 1a8010ca-5511-0410-912e-c29ae57300e0
2010-01-23 22:12:02 +00:00
terminx 2bb322377e more multiplayer crap
git-svn-id: https://svn.eduke32.com/eduke32@1572 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-15 05:53:15 +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 a8cbeaa0f7 Don't save the OpenGL driver max texture size to the config file and remove some remaining instrumentation from rev 1546.
git-svn-id: https://svn.eduke32.com/eduke32@1549 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-03 05:38:09 +00:00
plagman 4d3b7501f0 Fixes a compressed texture cache bug where the background menu tile would sometime get replaced with another tile.
git-svn-id: https://svn.eduke32.com/eduke32@1546 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-03 03:07:04 +00:00
terminx 784e919941 Change multiplayer random ID generation scheme and remove some dead code
git-svn-id: https://svn.eduke32.com/eduke32@1537 1a8010ca-5511-0410-912e-c29ae57300e0
2009-10-29 22:22:44 +00:00
terminx 4e4ef98ae6 clean up "renderer setup" menu a bit so we can put polymer shit in it later
git-svn-id: https://svn.eduke32.com/eduke32@1534 1a8010ca-5511-0410-912e-c29ae57300e0
2009-10-17 09:33:32 +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
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
terminx a9c8d071a6 Couple weeks worth of random bs changes
git-svn-id: https://svn.eduke32.com/eduke32@1490 1a8010ca-5511-0410-912e-c29ae57300e0
2009-08-28 23:08:00 +00:00
helixhorned a43f31e46c m32: "ported" searchwall determination when aiming at floor or ceiling to polymost
git-svn-id: https://svn.eduke32.com/eduke32@1484 1a8010ca-5511-0410-912e-c29ae57300e0
2009-08-02 20:20:26 +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 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 402221cad3 Replace LibLZF with FastLZ (http://www.fastlz.org/lzf.htm)
git-svn-id: https://svn.eduke32.com/eduke32@1455 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-09 03:54:18 +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
terminx 3d0c34863d Generic non-descript commit message
git-svn-id: https://svn.eduke32.com/eduke32@1440 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-24 08:20:10 +00:00
terminx cc58eafd29 Fix for stupid con programmers making stupid con errors and a couple of other extremely minor changes
git-svn-id: https://svn.eduke32.com/eduke32@1435 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-18 05:57:10 +00:00
terminx dea9f18232 Mostly just Mapster fixes
git-svn-id: https://svn.eduke32.com/eduke32@1434 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-16 22:11:13 +00:00
plagman 980534075a Use polymer_invalidatelights().
git-svn-id: https://svn.eduke32.com/eduke32@1429 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-10 11:12:56 +00:00
terminx 9cf34f9d4f Damn cat
git-svn-id: https://svn.eduke32.com/eduke32@1427 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-09 08:31:38 +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
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
terminx 4e5bde3a79 git-svn-id: https://svn.eduke32.com/eduke32@1393 1a8010ca-5511-0410-912e-c29ae57300e0 2009-05-28 02:55:46 +00:00
qbix79 5aeddd2aa1 Fastcall is not 64 bit.
git-svn-id: https://svn.eduke32.com/eduke32@1368 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-07 18:55:33 +00:00
plagman d097ebc8e3 Fix the build with USE_OPENGL=0 and/or POLYMER=0.
git-svn-id: https://svn.eduke32.com/eduke32@1365 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-07 16:00:49 +00:00
terminx 493d621eb0 More cvar shit
git-svn-id: https://svn.eduke32.com/eduke32@1357 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-30 01:07:08 +00:00
terminx d11e8789e3 git-svn-id: https://svn.eduke32.com/eduke32@1356 1a8010ca-5511-0410-912e-c29ae57300e0 2009-04-29 20:20:57 +00:00
terminx 30a649c86f Some more cvar stuff
git-svn-id: https://svn.eduke32.com/eduke32@1355 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-29 19:43:51 +00:00
terminx c222341417 Clean up polymost vars
git-svn-id: https://svn.eduke32.com/eduke32@1354 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-29 07:47:10 +00:00
terminx e11dbd7428 Unify cvar handling between the engine and game sides of things
git-svn-id: https://svn.eduke32.com/eduke32@1352 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-29 06:20:07 +00:00
terminx 9462a17ae7 git-svn-id: https://svn.eduke32.com/eduke32@1340 1a8010ca-5511-0410-912e-c29ae57300e0 2009-04-23 21:08:48 +00:00
terminx dba312e61b git-svn-id: https://svn.eduke32.com/eduke32@1336 1a8010ca-5511-0410-912e-c29ae57300e0 2009-04-23 07:09:24 +00:00
terminx b1704e8407 Nothing important
git-svn-id: https://svn.eduke32.com/eduke32@1329 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-16 06:41:24 +00:00
terminx 80e2ec8edf git-svn-id: https://svn.eduke32.com/eduke32@1325 1a8010ca-5511-0410-912e-c29ae57300e0 2009-04-14 22:55:32 +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 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
terminx 8f1ae6bacc git-svn-id: https://svn.eduke32.com/eduke32@1275 1a8010ca-5511-0410-912e-c29ae57300e0 2009-03-27 21:54:55 +00:00
terminx 39607e84b1 nothing special
git-svn-id: https://svn.eduke32.com/eduke32@1230 1a8010ca-5511-0410-912e-c29ae57300e0
2009-02-28 07:44:54 +00:00
terminx 151189efab new version of astyle
git-svn-id: https://svn.eduke32.com/eduke32@1229 1a8010ca-5511-0410-912e-c29ae57300e0
2009-02-19 16:47:54 +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
terminx 768f3ad6d6 git-svn-id: https://svn.eduke32.com/eduke32@1221 1a8010ca-5511-0410-912e-c29ae57300e0 2009-02-02 01:49:14 +00:00
terminx 8f0b228f1a clean out tree
git-svn-id: https://svn.eduke32.com/eduke32@1220 1a8010ca-5511-0410-912e-c29ae57300e0
2009-01-31 00:02:14 +00:00
terminx c7d54527ca git-svn-id: https://svn.eduke32.com/eduke32@1218 1a8010ca-5511-0410-912e-c29ae57300e0 2009-01-21 22:43:44 +00:00
terminx 18896fd0cd git-svn-id: https://svn.eduke32.com/eduke32@1208 1a8010ca-5511-0410-912e-c29ae57300e0 2009-01-13 12:23:18 +00:00
terminx 9095a4911d git-svn-id: https://svn.eduke32.com/eduke32@1206 1a8010ca-5511-0410-912e-c29ae57300e0 2009-01-10 07:38:50 +00:00
terminx d6914ed108 ass rape
git-svn-id: https://svn.eduke32.com/eduke32@1205 1a8010ca-5511-0410-912e-c29ae57300e0
2009-01-09 09:29:17 +00:00
terminx 68ab9ebeaa git-svn-id: https://svn.eduke32.com/eduke32@1201 1a8010ca-5511-0410-912e-c29ae57300e0 2009-01-05 14:43:12 +00:00
terminx 0614f0b64c I bet this breaks something
git-svn-id: https://svn.eduke32.com/eduke32@1200 1a8010ca-5511-0410-912e-c29ae57300e0
2009-01-04 22:22:33 +00:00
terminx a3ed643794 git-svn-id: https://svn.eduke32.com/eduke32@1199 1a8010ca-5511-0410-912e-c29ae57300e0 2009-01-03 22:47:16 +00:00
terminx a8451444ef git-svn-id: https://svn.eduke32.com/eduke32@1190 1a8010ca-5511-0410-912e-c29ae57300e0 2008-12-23 23:27:53 +00:00
terminx da8e368104 git-svn-id: https://svn.eduke32.com/eduke32@1188 1a8010ca-5511-0410-912e-c29ae57300e0 2008-12-19 00:53:54 +00:00
terminx cd920963e3 git-svn-id: https://svn.eduke32.com/eduke32@1181 1a8010ca-5511-0410-912e-c29ae57300e0 2008-12-13 21:01:33 +00:00
terminx ac36ad3943 git-svn-id: https://svn.eduke32.com/eduke32@1179 1a8010ca-5511-0410-912e-c29ae57300e0 2008-12-13 07:23:13 +00:00
terminx 8ec01d5ea2 git-svn-id: https://svn.eduke32.com/eduke32@1178 1a8010ca-5511-0410-912e-c29ae57300e0 2008-12-10 11:36:53 +00:00
terminx c94b4d63cb separate objects for polymost.c/mdsprite.c/hightile.c and friends
git-svn-id: https://svn.eduke32.com/eduke32@1173 1a8010ca-5511-0410-912e-c29ae57300e0
2008-12-02 10:44:39 +00:00
terminx 1aed7f53f8 git-svn-id: https://svn.eduke32.com/eduke32@1171 1a8010ca-5511-0410-912e-c29ae57300e0 2008-12-01 10:44:18 +00:00
terminx 0cf8a909d4 git-svn-id: https://svn.eduke32.com/eduke32@1166 1a8010ca-5511-0410-912e-c29ae57300e0 2008-11-26 22:51:56 +00:00
terminx 3faee810e5 git-svn-id: https://svn.eduke32.com/eduke32@1161 1a8010ca-5511-0410-912e-c29ae57300e0 2008-11-26 08:14:23 +00:00
terminx a562568daf git-svn-id: https://svn.eduke32.com/eduke32@1159 1a8010ca-5511-0410-912e-c29ae57300e0 2008-11-26 02:43:47 +00:00
terminx 52cf05a012 git-svn-id: https://svn.eduke32.com/eduke32@1158 1a8010ca-5511-0410-912e-c29ae57300e0 2008-11-25 15:43:36 +00:00
terminx 7e15a10908 git-svn-id: https://svn.eduke32.com/eduke32@1157 1a8010ca-5511-0410-912e-c29ae57300e0 2008-11-25 15:23:48 +00:00
terminx 9b7c2b2c4e hashes for texcache
git-svn-id: https://svn.eduke32.com/eduke32@1156 1a8010ca-5511-0410-912e-c29ae57300e0
2008-11-25 14:35:33 +00:00
terminx cc73a2d7c6 new texcache stuff
git-svn-id: https://svn.eduke32.com/eduke32@1155 1a8010ca-5511-0410-912e-c29ae57300e0
2008-11-25 13:06:36 +00:00
terminx 81bbb7eab8 git-svn-id: https://svn.eduke32.com/eduke32@1122 1a8010ca-5511-0410-912e-c29ae57300e0 2008-11-09 11:09:42 +00:00
terminx 4efb91b376 git-svn-id: https://svn.eduke32.com/eduke32@1121 1a8010ca-5511-0410-912e-c29ae57300e0 2008-11-05 11:49:13 +00:00
terminx a5eb2ea255 Added filename based loading of mids and oggs for user map music and fixed some memory corruption which occurred in the CON compiler when it couldn't find a definition
git-svn-id: https://svn.eduke32.com/eduke32@1119 1a8010ca-5511-0410-912e-c29ae57300e0
2008-10-27 10:36:13 +00:00
terminx 84c763f544 git-svn-id: https://svn.eduke32.com/eduke32@1117 1a8010ca-5511-0410-912e-c29ae57300e0 2008-10-25 03:20:41 +00:00
terminx f070a571d9 git-svn-id: https://svn.eduke32.com/eduke32@1116 1a8010ca-5511-0410-912e-c29ae57300e0 2008-10-25 02:32:57 +00:00
terminx 1d98974693 git-svn-id: https://svn.eduke32.com/eduke32@1115 1a8010ca-5511-0410-912e-c29ae57300e0 2008-10-24 09:36:54 +00:00
terminx ed4c9d6e01 git-svn-id: https://svn.eduke32.com/eduke32@1114 1a8010ca-5511-0410-912e-c29ae57300e0 2008-10-24 09:20:38 +00:00
terminx a7da07bcdf git-svn-id: https://svn.eduke32.com/eduke32@1107 1a8010ca-5511-0410-912e-c29ae57300e0 2008-10-20 04:00:00 +00:00
terminx d9867cfaaf Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake
git-svn-id: https://svn.eduke32.com/eduke32@1105 1a8010ca-5511-0410-912e-c29ae57300e0
2008-10-20 03:09:19 +00:00
Renamed from polymer/build/src/polymost.c (Browse further)