terminx
2330c61519
WIP refactor of SDL interface. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4749 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:33:47 +00:00
terminx
99e21ffa94
Part 1 of attempting to adhere to C standard section 7.1.3. It turns out it's illegal to use identifiers that begin with _ or have __ anywhere in them. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4747 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:32:56 +00:00
terminx
9b91aac48c
Inline krand() when not using KRANDDEBUG. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4744 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:28:52 +00:00
terminx
272ac9abe6
Add FORCE_INLINE to compat.h and apply it to a couple of things we'd strongly prefer be inlined. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4743 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:28:34 +00:00
terminx
2068d993a7
Fix Mapster32 fullscreen video modes. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4740 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:27:57 +00:00
hendricks266
164d9ccb41
Set up mouse cursor display in menus, with idle timeout fully implemented. No functionality yet. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4738 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-17 07:39:12 +00:00
helixhorned
e5923955ef
Fix C++ build. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4737 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-07 22:07:14 +00:00
helixhorned
b3f55d014e
In release builds, #define Xaligned_alloc as xaligned_malloc.
...
Otherwise, the out-of-memory handler is not called in case of failure.
git-svn-id: https://svn.eduke32.com/eduke32@4736 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-07 22:07:13 +00:00
helixhorned
44373a7698
a-c.c: don't USE_VECTOR_EXT with Clang, since it doesn't compile here.
...
git-svn-id: https://svn.eduke32.com/eduke32@4733 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-07 22:07:11 +00:00
hendricks266
1f9c37517a
Replace DOS box-drawing characters in the ASM with sane ASCII. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4730 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-07 07:53:28 +00:00
helixhorned
f1f90439cf
Fix voxels in classic -- my error, confusing divscale() and mulscale() in r4576.
...
Optimizations are left to the reader :P. I would prefer to look for ways of
giving the compilers hints about loops to unroll instead of having to read
the resulting mess of manual unrolling, though.
git-svn-id: https://svn.eduke32.com/eduke32@4728 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-06 23:43:52 +00:00
helixhorned
737af0387e
engine.c: prevent an oob read in drawsprite_classic() w/ floor-aligned sprites.
...
git-svn-id: https://svn.eduke32.com/eduke32@4726 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-06 23:43:50 +00:00
helixhorned
232e479380
Fix oob write with stepping 'up' in the OSD history.
...
git-svn-id: https://svn.eduke32.com/eduke32@4725 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-06 23:43:49 +00:00
helixhorned
e8553b5398
baselayer.c: fix an oob write to ylookup[] intoduced in r4695.
...
On Linux, it started manifesting itself since r4719 as crashes whose
backtraces pointed to malloc() and were not helpful. Valgrind finally
uncovered this.
git-svn-id: https://svn.eduke32.com/eduke32@4724 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-06 23:43:47 +00:00
terminx
502f5dac64
Useless change I forgot. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4723 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:44:27 +00:00
terminx
9c001e6e2e
Fix a handful of crash bugs I caused with the 32-bit ASM version of the classic renderer. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4719 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:36:28 +00:00
terminx
3c8034609f
Fix a crash I caused with MSVC in OSD_SetLogFile(). Apparently, the behavior of setvbuf() when passed a NULL ptr for a buffer is actually left up to the implementation regarding what it does with the size parameter... DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4718 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:36:05 +00:00
terminx
fca06dc31c
Clean up classic renderer header (a.h) a bit. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4717 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:35:50 +00:00
terminx
e516fb0c8a
A couple of additional compat.h formatting changes. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4716 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:35:36 +00:00
terminx
2badda6ec4
clang-format a couple of pragma headers. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4715 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:35:22 +00:00
terminx
e677923165
LUT for slope recip calculations in classic. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4714 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:35:06 +00:00
helixhorned
8605285f7f
compat.h: pedantic whitespace formatting. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4708 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-30 04:59:23 +00:00
terminx
9c1a32c790
CPLUSPLUS mode build fix. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4705 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:07:35 +00:00
terminx
43a759ec07
Try out __restrict in the classic renderer. #define'd for easy removal in case it causes problems or is useless.
...
git-svn-id: https://svn.eduke32.com/eduke32@4702 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:06:43 +00:00
terminx
9601554320
Fix MSVC warning in Polymer
...
git-svn-id: https://svn.eduke32.com/eduke32@4701 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:06:20 +00:00
terminx
91e2556ad2
Inline yax_getbunches with old map format. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4700 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:06:05 +00:00
terminx
384aec522a
Fix a couple of clang warnings. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4697 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:05:15 +00:00
terminx
eed56532a8
Unify spritesx/spritesy/spritez into a single vec3_t spritesxyz. It still has a stupid name like "spritesxyz" because I wanted references to it to remain easy to find in case of problems.
...
git-svn-id: https://svn.eduke32.com/eduke32@4696 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:04:43 +00:00
terminx
021d1241eb
Get rid of all the static arrays with sizes based on MAXXDIM and MAXYDIM
...
git-svn-id: https://svn.eduke32.com/eduke32@4695 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:04:28 +00:00
terminx
ca3dc4d629
Minor additional pragma cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@4692 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:03:29 +00:00
terminx
59278b5398
Add missing "inline" to const TrackedType()
...
git-svn-id: https://svn.eduke32.com/eduke32@4691 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:03:06 +00:00
terminx
aa7e3e0c25
Fix a couple warnings, and something I fucked up after reading a loop wrong. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4690 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:02:50 +00:00
hendricks266
b4ef2d43e8
Improve fine-grained GCC and clang version detection, fixing recently introduced build issues. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4685 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 10:17:35 +00:00
hendricks266
0f62db298c
Remove Wii-specific ASM for scale(). Libdivide is likely faster; tests on a real Wii pending. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4683 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 10:17:04 +00:00
terminx
e087ffabfc
Re-apply part of r4647. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4681 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:36:50 +00:00
terminx
8934226bb2
Another 5000 lines of pain and tears. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4680 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:36:34 +00:00
terminx
de1d236366
Minor OSD_Exec() tweaks that got lost when chopping up a larger set of changes
...
git-svn-id: https://svn.eduke32.com/eduke32@4678 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:35:05 +00:00
terminx
0e78bf1eb5
Minor engine optimizations, worth a couple fps
...
git-svn-id: https://svn.eduke32.com/eduke32@4675 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:34:25 +00:00
terminx
ea929c7e43
Fix warning in dxtfilter
...
git-svn-id: https://svn.eduke32.com/eduke32@4674 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:34:08 +00:00
terminx
9ca0e4ccc4
vec2f_t drawpoly()
...
git-svn-id: https://svn.eduke32.com/eduke32@4671 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:33:26 +00:00
terminx
0393b0b015
kplib warning fix. I admit to not testing this, because fuck .gif files.
...
git-svn-id: https://svn.eduke32.com/eduke32@4670 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:33:11 +00:00
terminx
ecb11010ef
Fix warnings in texcache
...
git-svn-id: https://svn.eduke32.com/eduke32@4669 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:32:57 +00:00
terminx
c8ea7baf72
set_globalpos(), updates both integer (globalposx/y/z) and float (fglobalposx/y/z) representations of the current camera view position. Storing the float representation pre-converted saves us from the delay incurred on ARM when converting an integer and transferring it to the FPU, though this delay is mostly negated already by using the hardfp ABI.
...
git-svn-id: https://svn.eduke32.com/eduke32@4667 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:32:26 +00:00
terminx
5897c844d2
Minor texcache cleanup. Nukes the hilarious MAXTILES<<1 sized array of pointers in the global texcache struct.
...
git-svn-id: https://svn.eduke32.com/eduke32@4666 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:32:01 +00:00
terminx
0cf527914f
Minor optimizations (loop unrolling) to LZW functions in cache1d, improves throughput ~20% on my i7
...
git-svn-id: https://svn.eduke32.com/eduke32@4665 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:31:41 +00:00
terminx
d74a6a7e5d
Fix some dumbass warnings I caused
...
git-svn-id: https://svn.eduke32.com/eduke32@4664 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:31:27 +00:00
terminx
683a4fb728
Nuke unused lzwnew.c/h
...
git-svn-id: https://svn.eduke32.com/eduke32@4663 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:31:12 +00:00
terminx
cbe91be9ff
Additional engine cleanups and optimizations. About as generic as it sounds. Also changes internal dummytile/tilefromtexture behavior so that the LZ4 compressed version of a texture is kept and the cache1d entries associated with the tiles can expire, like any other tile.
...
git-svn-id: https://svn.eduke32.com/eduke32@4661 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:30:38 +00:00
terminx
019315dd59
Rewrite OSD_Exec() to allow executing a .cfg that lives in a .grp or .zip. Use _IOLBF instead of _IONBF for the log in release builds.
...
git-svn-id: https://svn.eduke32.com/eduke32@4660 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:29:53 +00:00
terminx
6c6b68d534
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.
...
git-svn-id: https://svn.eduke32.com/eduke32@4658 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:29:21 +00:00
terminx
020dc85fd0
Additional Polymost cleanup, attempt to fix enemy shadows (they are still not right)
...
git-svn-id: https://svn.eduke32.com/eduke32@4656 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:27:35 +00:00
terminx
3a60abfb94
Nuke MFLAGS_NOCONV, hoist a few conditions out of loops in Polymost model drawing
...
git-svn-id: https://svn.eduke32.com/eduke32@4653 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:26:46 +00:00
terminx
73ecabaff9
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.
...
git-svn-id: https://svn.eduke32.com/eduke32@4652 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:26:31 +00:00
terminx
dedadcb76e
That's one hell of a typo
...
git-svn-id: https://svn.eduke32.com/eduke32@4651 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:26:13 +00:00
terminx
57cc3fe82a
Clean up GL background tinting a little bit. Remove access to glRectd in favor of glRecti.
...
git-svn-id: https://svn.eduke32.com/eduke32@4649 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:25:35 +00:00
hendricks266
62b37ddb68
Further work on the Xcode project.
...
git-svn-id: https://svn.eduke32.com/eduke32@4648 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-20 07:37:29 +00:00
hendricks266
8771614f87
Fix the Wii build and clean up remaining warnings. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4647 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-19 00:44:23 +00:00
hendricks266
6ff363a049
OS X: Add a preliminary Xcode project. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4646 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-18 04:50:47 +00:00
hendricks266
295cf82323
Clean up warnings and build issues when building under OS X 10.9. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4644 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-16 21:03:24 +00:00
terminx
706aec5527
Rename crc32() to Bcrc32() to avoid conflicts with the crc32() function in libpng/libz. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4642 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-01 17:09:54 +00:00
terminx
81e9761e50
Set SDL_GL_ACCELERATED_VISUAL to 1
...
git-svn-id: https://svn.eduke32.com/eduke32@4641 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-01 17:09:24 +00:00
terminx
9a04065b5e
I'm retarded. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4640 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 18:18:15 +00:00
terminx
4263626f97
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.
...
git-svn-id: https://svn.eduke32.com/eduke32@4639 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:18:43 +00:00
terminx
2631da8822
Fix usage of uninitialized value
...
git-svn-id: https://svn.eduke32.com/eduke32@4638 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:18:07 +00:00
terminx
cb02cdc571
Re-use temporary buffer for tilefromtexture true color -> paletted conversion and free when finished with the .def instead of freeing and re-allocating for every tile
...
git-svn-id: https://svn.eduke32.com/eduke32@4637 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:17:53 +00:00
terminx
ff74aa613e
polymost_invsqrt(), reorganize pthtyp for better member alignment
...
git-svn-id: https://svn.eduke32.com/eduke32@4636 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:17:37 +00:00
terminx
0f5be25a68
Faster C versions of ksgn() and klabs()
...
git-svn-id: https://svn.eduke32.com/eduke32@4635 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:17:22 +00:00
terminx
2d0c76e1a9
kplib optimizations and cleanup; faster versions of some functions, #ifdef out support for a couple of useless formats
...
git-svn-id: https://svn.eduke32.com/eduke32@4634 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:17:06 +00:00
terminx
7c79d2ce80
Blrintf
...
git-svn-id: https://svn.eduke32.com/eduke32@4632 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:16:35 +00:00
terminx
423b87a707
Faster CRC32 implementation (slicing-by-4 for 32-bit platforms and slicing-by-8 for 64-bit)
...
git-svn-id: https://svn.eduke32.com/eduke32@4625 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:15:04 +00:00
terminx
144a4798ce
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.
...
git-svn-id: https://svn.eduke32.com/eduke32@4623 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:14:21 +00:00
terminx
deb196f8a6
Fix build error
...
git-svn-id: https://svn.eduke32.com/eduke32@4620 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:12:41 +00:00
terminx
3623645815
Clean up the "X" variants of malloc and friends to avoid unncessary function calls and parameter passing
...
git-svn-id: https://svn.eduke32.com/eduke32@4619 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:12:27 +00:00
terminx
53ed4c619c
Make glColor3f() available as bglColor3f()
...
git-svn-id: https://svn.eduke32.com/eduke32@4618 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:12:09 +00:00
terminx
c5835ef741
Remove "volatile" qualifier from mouse related variables, no longer required after the long ago removal of the hack that polled mouse input in a separate thread
...
git-svn-id: https://svn.eduke32.com/eduke32@4617 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:11:50 +00:00
terminx
598876e411
Extra files for previous commits
...
git-svn-id: https://svn.eduke32.com/eduke32@4607 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:06:57 +00:00
terminx
d279344697
Extra files to support previous commits. Change hashing stuff to intptr_t so it can be used as a dictionary of pointers, change brightness/gamma/contrast to float instead of double, other misc changes. None of these commits build on their own so don't even bother.
...
git-svn-id: https://svn.eduke32.com/eduke32@4606 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:06:32 +00:00
terminx
105bc3f413
First commit for "Polymost.f", the single precision floating point conversion and optimization of Polymost. This work was primarily done for ARM but it also doubled the framerate on "Clear the Coast" on my i7.
...
git-svn-id: https://svn.eduke32.com/eduke32@4605 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:06:05 +00:00
terminx
8148ccf3c3
Remove a few unused things (tmulscale, etc) from the pragmas.h family of headers
...
git-svn-id: https://svn.eduke32.com/eduke32@4604 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:05:40 +00:00
terminx
361300d3c4
pragmas.h cleanup part 1: separate into pragmas.h, pragmas_arm.h, pragmas_ppc.h, pragmas_x86_gcc.h and pragmas_x86_msvc.h.
...
Remove "boundmulscale" as it was unused.
git-svn-id: https://svn.eduke32.com/eduke32@4601 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:04:53 +00:00
terminx
683a5eb11f
Minor polymer changes... reuse allocated _prplanelist structs to avoid potentially thousands of malloc calls per frame rendered, clean up "searchit == 2" functionality, move sector light invalidation to sector updates instead of wall updates (avoids a ton of unnecessary function calls), other minor changes
...
git-svn-id: https://svn.eduke32.com/eduke32@4600 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:04:30 +00:00
terminx
514f556a32
Update xxhash to r36
...
git-svn-id: https://svn.eduke32.com/eduke32@4599 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:04:12 +00:00
terminx
7afd4c9226
JPG overrun fix from 6/10/14 kplib.c found in poly2vox.zip
...
git-svn-id: https://svn.eduke32.com/eduke32@4597 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:03:44 +00:00
helixhorned
96b3408dbd
Mapster32: demote wall check "corruptions" introduced in r4569 to level 2.
...
The winding of a loop -- with clockdir() -- is determined by examining the
two line segments spanned between the points following a leftmost point of
the loop. If the loop contains a leftmost point that belongs to the "right"
side (as can happen with sliding door constructions), there's a chance that
an outer loop is misclassified.
git-svn-id: https://svn.eduke32.com/eduke32@4580 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-31 11:15:19 +00:00
helixhorned
77dc743f09
Factor out [l]dist() implementations into static inline functions in common.h.
...
And use these in jmact/mathutil.c's FindDistance2D()/FindDistance3D().
The main use is to allow passing dx/dy instead of sprite positions; the code
that actually uses this is not committed.
git-svn-id: https://svn.eduke32.com/eduke32@4579 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-31 11:15:17 +00:00
helixhorned
1eaf60b222
Classic: introduce two signed integer types, use in engine.c and a-c.c.
...
They classify former uses of int64_t into two classes:
- coord_t: those that represent coordinates and need 64-bit precision for
proper functioning with large values
- inthi_t: those that were added for e.g. casts merely to prevent undefined
behavior on overflow
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4578 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-23 10:28:18 +00:00
helixhorned
81d3e4db73
pragmas.h: introduce preprocessor switch USE_ASM_DIVSCALE, for testing only.
...
git-svn-id: https://svn.eduke32.com/eduke32@4577 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-23 10:28:17 +00:00
helixhorned
fb7fb403e0
engine.c: prevent a 64-bit multiply in dosetaspect(). DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4576 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-23 09:00:36 +00:00
helixhorned
ceaa661304
Properly consider sprites with a clipshape as bridge (p->spritebridge).
...
git-svn-id: https://svn.eduke32.com/eduke32@4574 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-17 19:42:01 +00:00
helixhorned
63916ee8d1
Mapster32: fix possible integer overflow in loopinside().
...
This could happen when building outside the "classic" grid limits and would
then lead to e.g. incorrect loop assignment on sector splitting. Bug reported
by MetHy.
git-svn-id: https://svn.eduke32.com/eduke32@4572 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-16 18:32:47 +00:00
helixhorned
363f0b3af6
Mapster32: prototypical checker for wall loops, enabled partially.
...
Inspired by
http://forums.duke4.net/topic/7506-tror-question/page__view__findpost__p__199151
the corruption checker now checks for certain conditions of the loops of each
sector. Recall that CW loops are outer and CCW loops are inner.
- If a sector has no or more than one outer loop, count that as corruption
(level 4 and 3, respectively).
- (Disabled) For sectors with exactly one outer loop, check that all inner
ones are inside it. This is currently not compiled due to an asymmetry of
loopinside() for degenerate cases, similar to pre-r3898 inside().
git-svn-id: https://svn.eduke32.com/eduke32@4569 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-08 20:02:54 +00:00
helixhorned
21b852cd0d
Clean up astub.c:CheckMapCorruption() and some build.c code a little.
...
There are no intended changes of functionality, it's readability tweaks only.
git-svn-id: https://svn.eduke32.com/eduke32@4568 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-08 20:02:53 +00:00
hendricks266
b310eaef2c
Fix MSVC build.
...
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4566 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 09:00:28 +00:00
hendricks266
9a4a4a627b
Nuke rev.h.
...
Note to MSVC users: You can get the revision number if you run `make rev o=obj` with MinGW before you build.
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4565 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 08:59:58 +00:00
hendricks266
b0e82d4264
Split parts of loadlookups() into generatefogpals() and fillemptylookups(), and move Duke-specific LOOKUP.DAT behavior to G_LoadLookups() in source/common.c, which contains the call to loadlookups() as factored out from astub.c and game.c.
...
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4564 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:45:53 +00:00
hendricks266
a7fb2721e4
Move code non-specific to Duke Nukem 3D from astub.c to a new m32common.c.
...
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4561 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:44:37 +00:00
hendricks266
16cd8b8aaa
Progress towards KenBuild Editor, part 2.
...
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4560 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:44:14 +00:00
hendricks266
5237346f5b
Move code non-specific to Duke Nukem 3D from source/common.c to a new build/src/common.c.
...
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4559 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:43:46 +00:00
hendricks266
b48f3b44e3
Progress towards KenBuild Editor, part 1.
...
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4558 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:43:16 +00:00
hendricks266
e8949e1c31
Elimininate some codedup between game.c and astub.c.
...
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4557 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:42:28 +00:00