Commit graph

102 commits

Author SHA1 Message Date
pogokeen
1f133cd049 Polymost: streaming VBO optimizations for polymost_drawpoly()
git-svn-id: https://svn.eduke32.com/eduke32@6662 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:48 +00:00
pogokeen
a2cf961591 Moved BUILD engine defined CSTAT enums into the BUILD engine side of the code base.
git-svn-id: https://svn.eduke32.com/eduke32@6657 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:31 +00:00
pogokeen
3ca5f33c73 Moved to GLAD for dynamic GL/WGL and extension loading.
Refactored extension usage that became core in GL2, and adjusted some types for GL2 compatibility.

git-svn-id: https://svn.eduke32.com/eduke32@6656 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:21 +00:00
pogokeen
464e65541c polymost_drawpoly(): drawarrays optimization
git-svn-id: https://svn.eduke32.com/eduke32@6652 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:37:58 +00:00
hendricks266
ff0768eaa9 Fix build issues with ARM and USE_OPENGL=0. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6651 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-15 03:49:23 +00:00
hendricks266
d68c9b45c6 Add "rtsname" token to grpinfo grammar.
git-svn-id: https://svn.eduke32.com/eduke32@6645 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-11 05:03:55 +00:00
terminx
9c408fc26c Useless assertion that only fires in alternate universes
git-svn-id: https://svn.eduke32.com/eduke32@6634 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-31 04:13:25 +00:00
hendricks266
4978a8f167 Fix some preprocessor logic errors regrading GL ES on ARM devices with desktop operating systems.
git-svn-id: https://svn.eduke32.com/eduke32@6603 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:46 +00:00
hendricks266
b3fd642bf4 Replace "INT16_32768" macro with unsigned literal "32768u".
git-svn-id: https://svn.eduke32.com/eduke32@6600 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:34 +00:00
hendricks266
67438d0cd2 New userdef structure: "global_r", "global_g", "global_b"
Set the tinting RGB values of textures being rendered. Can be used in DISPLAYROOMS or before rotatesprite (similar to setaspect). Remember to reset the values afterwards.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6591 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:11 +00:00
hendricks266
214109b506 Revert the parts of r3159 corresponding to redefining lotag and hitag as unsigned, so that they are once again signed.
Any issues in Duke's code relating to misunderstanding these types are now restricted to Duke itself rather than changing the engine and potentially introducing new issues in all Build games.

git-svn-id: https://svn.eduke32.com/eduke32@6581 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-15 23:13:50 +00:00
hendricks266
ee298f18b8 Add is_(un)signed to compat.h, with specializations for the Tracker classes.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@6577 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-13 22:15:07 +00:00
hendricks266
4c095c954d Fix tints with negative shades in r_usenewshading 4.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6561 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:12 +00:00
hendricks266
b6d7de7d27 Add def "globalflags" bit 4, and for individual palettes the "tint" flag bit 512. This makes fog the same for all shades. Make fog behave normally with sector structure .fogpal.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6559 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:06 +00:00
hendricks266
ae47d2f11d New def tokens for "tint": "shadered" or "sr", "shadeblue" or "sb", "shadegreen" or "sg"
tint { pal <pal> shadered <0-255> shadegreen <0-255> shadeblue <0-255> }

Make shade apply a tint based on the RGB.
Default values for shade are zero (black).

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6557 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:13:58 +00:00
hendricks266
084c661fa0 New def tokens for "cutscene": "texturefilter", "forcefilter", "forcenofilter"
Changes the filtering for cutscenes. By default, ANMs are unfiltered and IVFs filtered regardless of the filtering option in the menu. Use “texturefilter” to use the same filtering as textures, “forcenofilter” to never use filtering and “forcefilter” to always use filtering.

cutscene <path> { texturefilter }

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6552 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:13:38 +00:00
hendricks266
45a8742e42 New def token for "cutscene": "aspect"
Overrides the aspect ratio for IVF files.

cutscene <path> { aspect <numerator> <denominator> }

Note: For ANMs, you can use rotatesprite and setaspect to draw TILE_ANIM (currently defined as 30716) in EVENT_CUTSCENE with a custom aspect.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6551 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:13:32 +00:00
terminx
f97aee59c8 Address issue where timers will no longer update after several hours of runtime
git-svn-id: https://svn.eduke32.com/eduke32@6543 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-09 02:56:12 +00:00
terminx
6231c0bdf5 Change ARRAY_SSIZE macro to return type native_t
git-svn-id: https://svn.eduke32.com/eduke32@6535 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 08:45:04 +00:00
hendricks266
c5ebf96217 Remix screencapture_begin into OutputFileCounter.
git-svn-id: https://svn.eduke32.com/eduke32@6532 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-01 06:19:19 +00:00
hendricks266
5fbe1b89be New def token for "multipsky": "yscale".
multipsky <tile> { yscale <yscale> }

Default value is 65536.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6519 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:48 +00:00
hendricks266
66162032a0 Add r_usenewshading 4.
Uses a constant determined from the shade tables.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6515 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:33 +00:00
hendricks266
5adb8364b6 Calculate the perceptual (i.e. "real") max shade in the given tables.
git-svn-id: https://svn.eduke32.com/eduke32@6514 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:30 +00:00
hendricks266
23b1b650bb Clean up E_PostLoadPalette.
git-svn-id: https://svn.eduke32.com/eduke32@6513 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:27 +00:00
hendricks266
dfb98028f1 compat.h: Use C++17, C++11, or C11 static_assert if available.
git-svn-id: https://svn.eduke32.com/eduke32@6472 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:14 +00:00
hendricks266
4966b0922d compat.h: Only use C++ attribute versions of fallthrough if C++11 or greater.
git-svn-id: https://svn.eduke32.com/eduke32@6471 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:11 +00:00
hendricks266
3ac0a936c8 build.h: Error out if Visual Studio is older than 2013.
We keep getting support requests about this. See previous commit.

git-svn-id: https://svn.eduke32.com/eduke32@6470 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:08 +00:00
hendricks266
8ff6d59688 compat.h: Add EDUKE32_MSVC_CXX_PREREQ().
It is necessary for testing C++11 functionality because Visual Studio never defines __cplusplus to be 201112L.

git-svn-id: https://svn.eduke32.com/eduke32@6469 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:05 +00:00
hendricks266
7c2f233450 compat.h: Add detection of C++17.
git-svn-id: https://svn.eduke32.com/eduke32@6468 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:01 +00:00
hendricks266
c07e705c48 Update fallthrough__ definitions.
git-svn-id: https://svn.eduke32.com/eduke32@6447 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-23 03:17:29 +00:00
terminx
5cde84e58a Ignore video modes with resolutions less than 640x480 or with aspect ratios taller than around 4:3 when populating the mode lists used in the startup window and menus. Sorry to the two guys still using nasty 5:4 1280x1024 monitors in 2017; you'll have to set your resolution using the console now.
git-svn-id: https://svn.eduke32.com/eduke32@6435 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-27 10:20:41 +00:00
hendricks266
8f0848d901 Makefile: Mess with Wii stuff to fix a majority of its make invocation circumstances.
git-svn-id: https://svn.eduke32.com/eduke32@6420 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-06 13:44:44 +00:00
hendricks266
88d5da2859 Menus: Clean up MenuRanges.
git-svn-id: https://svn.eduke32.com/eduke32@6402 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-29 20:39:53 +00:00
hendricks266
33c138fdf9 Tweak UNREFERENCED_CONST_PARAMETER
git-svn-id: https://svn.eduke32.com/eduke32@6401 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-29 20:39:50 +00:00
hendricks266
0f54975751 Yet another round of trailing whitespace.
git-svn-id: https://svn.eduke32.com/eduke32@6400 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-29 20:39:46 +00:00
terminx
d9c43bb560 Fix issue with r6374
git-svn-id: https://svn.eduke32.com/eduke32@6384 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-27 09:13:32 +00:00
hendricks266
a782247eac inthi_rintf
git-svn-id: https://svn.eduke32.com/eduke32@6378 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-22 04:00:30 +00:00
hendricks266
5c77a6a13c compat.h: Update ssize_t under MSVC.
git-svn-id: https://svn.eduke32.com/eduke32@6375 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-22 04:00:20 +00:00
hendricks266
d5f8c7a028 compat.h: Update u/native_t by introducing reg_t from LZ4.
git-svn-id: https://svn.eduke32.com/eduke32@6374 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-22 04:00:18 +00:00
hendricks266
366ccd7900 Add a fallthrough__ entry for VS.
git-svn-id: https://svn.eduke32.com/eduke32@6373 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-22 04:00:13 +00:00
terminx
dad337add8 Fix gcc 7.1.0 warnings
git-svn-id: https://svn.eduke32.com/eduke32@6370 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-18 20:53:41 +00:00
terminx
484f640f71 Maybe, possibly, unfuck gamearrays.
git-svn-id: https://svn.eduke32.com/eduke32@6368 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-18 20:53:22 +00:00
terminx
fd19569099 Drop libpng and zlib in favor of a custom < 100 line .png writer and a drop-in zlib replacement called miniz.
git-svn-id: https://svn.eduke32.com/eduke32@6365 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-18 20:53:00 +00:00
hendricks266
f01c9205e9 Fix USE_OPENGL=0 build.
git-svn-id: https://svn.eduke32.com/eduke32@6361 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-15 21:56:17 +00:00
hendricks266
37b2a751b9 compat.h: Add preliminary FALLTHROUGH macro to support
git-svn-id: https://svn.eduke32.com/eduke32@6353 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-10 13:44:04 +00:00
hendricks266
4252a60af9 Add an error directive to C++ standards versions < 2011.
git-svn-id: https://svn.eduke32.com/eduke32@6352 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-10 13:44:01 +00:00
terminx
3706ac1b43 Allow scripts to change MAXSPRITESONSCREEN before calls to drawrooms() and friends
git-svn-id: https://svn.eduke32.com/eduke32@6347 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 19:42:11 +00:00
terminx
8d7f23a842 Reduce MAXSPRITESONSCREEN from 4096 to 2048. Email me if you have a map so poorly designed that this actually breaks something!
git-svn-id: https://svn.eduke32.com/eduke32@6344 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 19:41:49 +00:00
terminx
b3b40c9581 Allow writing to 8 and 16-bit CON arrays
git-svn-id: https://svn.eduke32.com/eduke32@6338 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 05:18:43 +00:00
terminx
a9e513ecaf Add OSD_PROTECTED flag, set when gamefunc_Show_Console has been undefined from CON. Currently just requires you hold down shift when pressing the console key to open the console.
git-svn-id: https://svn.eduke32.com/eduke32@6325 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-05 05:42:37 +00:00