Subversion Repositories eduke32

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
5075 2284d 21h terminx /polymer/eduke32/build/src/mdsprite.c Large batch of Polymost changes, including:

-lots of stylistic rewrites
-further improvements to anti-fighting code for wall and floor sprites (introduces three new cvars, r_wspr_offset, r_wspr_offset_variance, and r_fspr_offset)
-fixed brief HOM when traversing through a one-way masked wall
-seldomly used "alphahack" feature for hightile textures now represents alpha cutoff internally as a single byte instead of a float
-fixes a handful of issues where geometry failed to draw at certain coordinates from certain angles in certain resolutions
-renames a couple of cvars
 
5053 2299d 14h hendricks266 /polymer/eduke32/build/src/mdsprite.c Defs: When undefining a model, reset the angadd of its HUD settings to zero.

This fixes weapons not being displayed in Vaca+.
 
5001 2325d 16h terminx /polymer/eduke32/build/src/mdsprite.c Polymost changes to better support running under GL ES. Still need to investigate GL_LINES and GL_QUADS... neither work under either GL -> GL ES wrapper we've tried, so we must be doing something wrong.  
4980 2326d 2h helixhorned /polymer/eduke32/build/src/mdsprite.c mdsprite.c: in md3load(), allocate m->head.surfs with Xcalloc, amending r4952.

And preventing enormous corruption due to a free() called on a garbage (malloc'd)
pointer values this time. DO_BUILD_VERY_FAST_PLEASE!
 
4952 2331d 5h helixhorned /polymer/eduke32/build/src/mdsprite.c mdsprite.c: in md3free(), also free s->geometry for each surface. DONT_BUILD.

This prevents a enormous leak being reported by LeakSanitizer. Not that it
matters much, since we most frequently free models only at exit. (Sometimes one
may be freed earlier though -- if there was an error loading it, AFAICS.)
 
4898 2356d 17h terminx /polymer/eduke32/build/src/mdsprite.c Revise C++ structure trackers for performance and introduce "tspritetype", for temporary sprites or other usages where using the trackers would be invalid or undesired. DONT_BUILD.  
4889 2356d 17h terminx /polymer/eduke32/build/src/mdsprite.c Replace hightile grayscale method (usually combined with tints to produce
replacements for the first handful of palette lookups) w8th superior
"luma" method. DONT_BUILD.
 
4771 2399d 22h hendricks266 /polymer/eduke32/build/src/mdsprite.c Eliminate -Wno-narrowing. DONT_BUILD.  
4764 2402d 22h helixhorned /polymer/eduke32/build/src/mdsprite.c Fix POLYMER=0 build and a couple of unused-variable warnings with it. DONT_BUILD.  
4680 2434d 18h terminx /polymer/eduke32/build/src/mdsprite.c Another 5000 lines of pain and tears. DONT_BUILD.  
4658 2434d 18h terminx /polymer/eduke32/build/src/mdsprite.c Various additional optimizations: add CLASSIC_SLICE_BY_4 mode to unroll some of the loops in a-c, replace integer divisions by a divisor unknown at compile time with usage of libdivide, clean up pragmas further by removing more old stuff that wasn't used anywhere. This is another one of those nasty commits that make people cry. DONT_BUILD.  
4656 2434d 18h terminx /polymer/eduke32/build/src/mdsprite.c Additional Polymost cleanup, attempt to fix enemy shadows (they are still not right)  
4653 2434d 18h terminx /polymer/eduke32/build/src/mdsprite.c Nuke MFLAGS_NOCONV, hoist a few conditions out of loops in Polymost model drawing  
4652 2434d 18h terminx /polymer/eduke32/build/src/mdsprite.c Fix z fighting issues with wall and floor sprites. This isn't perfect, and somebody like Plgman or Helixhorned who better understands how the depth buffer positions are calculated will be able to do a much better determination of how much to offset the glDepthRange values based on distance to the sprite.  
4639 2459d 17h terminx /polymer/eduke32/build/src/mdsprite.c Misc additional optimizations, mostly to polymost/mdsprite. Also separate voxmodel into its own source file and object. This commit is pretty large because I was hitting the limit of what could realistically be carved up into smaller patches. DONT_BUILD.  
4623 2459d 17h terminx /polymer/eduke32/build/src/mdsprite.c More Polymost cleanup, also consolidate tilesizx and tilesizy into a single tilesiz vec2_t to ensure both x and y are always in the same cache line. I may add a new vec2_16t later. Still need to take care of emulating the old flat array for the sake of CON access.  
4607 2459d 17h terminx /polymer/eduke32/build/src/mdsprite.c Extra files for previous commits  
4502 2568d 13h hendricks266 /polymer/eduke32/build/src/mdsprite.c Wrap most calls to exit() with a macro that will print the exit status, file name, line number, and function name to the log when using a debug build.  
4498 2580d 10h helixhorned /polymer/eduke32/build/src/mdsprite.c Polymost: r_npotwallmode, emulating 8-bit for walls w/ nonpow2 height textures.

When that mode is enabled (see below for caveats), wall textures that have a
non-power-of-two height (call it 'h') will be modified to look like in classic:
Let 'H' be the next power of two greater than 'h'. The texture will be uploaded
with height 'H', made up from 'h' hlines of the original texture, followed by
'H'-'h' first hlines of the same.
No panning "corrections" will take place. The mode is disabled by default.

Caveats/notes:
* the mode requires that r_hightile is disabled
* it is not implemented in Polymer
* in the Lunatic build, it is ineffective when a VX map is loaded, as those
display walls with NPOT height textures correctly
 
4491 2582d 22h helixhorned /polymer/eduke32/build/src/mdsprite.c Bye, bye, B*alloc(), all hail X*alloc()! Replace large portion of the calls...

... and cull code that is dead with the X*alloc() versions since they never
return NULL on requesting memory.

Use something like
git grep '[^Xx]\(m\|c\|re\)alloc *('
and
git grep '[^Xx]strdup *('
to see places where I left the B*alloc() calls intact.

BUILD_LUNATIC.
 

Show All