Commit graph

2873 commits

Author SHA1 Message Date
hendricks266
610d2e3b46 Connect wall.blend to Polymost in Lunatic builds with it enabled.
git-svn-id: https://svn.eduke32.com/eduke32@6275 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-25 11:23:47 +00:00
hendricks266
9286a4d40e Fix Lunatic build.
git-svn-id: https://svn.eduke32.com/eduke32@6274 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-25 11:23:41 +00:00
terminx
48e9b22b4f More standalone stuff
git-svn-id: https://svn.eduke32.com/eduke32@6273 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 21:18:18 +00:00
terminx
07419b18ab Workaround for MSVC bug
git-svn-id: https://svn.eduke32.com/eduke32@6272 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 21:18:12 +00:00
terminx
504b04067b Remove some Duke-specific screen displays from standalone builds
git-svn-id: https://svn.eduke32.com/eduke32@6271 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 21:18:06 +00:00
terminx
854b303d18 Fix command line help window in builds with the startup window disabled
git-svn-id: https://svn.eduke32.com/eduke32@6270 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 21:17:59 +00:00
terminx
0e1784bf4c Clean up command line parameter help text
git-svn-id: https://svn.eduke32.com/eduke32@6269 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 21:17:53 +00:00
terminx
1069db7e1e Fix swapped EDUKE32_STANDALONE ifdefs for screenshot filenames
git-svn-id: https://svn.eduke32.com/eduke32@6268 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 21:17:46 +00:00
terminx
8dc6fb6cfd Don't try to load duke3d.cfg in standalone builds
git-svn-id: https://svn.eduke32.com/eduke32@6267 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 21:17:38 +00:00
terminx
3181e8be9e Rename snd_duketalk cvar to snd_speech
git-svn-id: https://svn.eduke32.com/eduke32@6266 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 21:17:33 +00:00
terminx
047b94d242 Revise r6253
git-svn-id: https://svn.eduke32.com/eduke32@6265 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 21:17:26 +00:00
terminx
e4f0b74a4f Rename two misnamed variables
git-svn-id: https://svn.eduke32.com/eduke32@6264 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 21:16:43 +00:00
hendricks266
5ef942f4ec Shrink the tilesiz vector to use int16_t members as the original arrays were.
git-svn-id: https://svn.eduke32.com/eduke32@6263 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:21:13 +00:00
hendricks266
7afc8202d2 CON: Add EVENT_PRELOADGAME and EVENT_POSTLOADGAME.
git-svn-id: https://svn.eduke32.com/eduke32@6262 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:21:07 +00:00
hendricks266
df317aa741 CON: Add drawline256 and drawlinergb commands that call the internal functions used for the automap lines.
drawline256 <x0> <y0> <x1> <y1> <index>
drawlinergb <x0> <y0> <x1> <y1> <index> <rgb>

The coordinates are xdim<<12/ydim<<12 based, not 320<<16x200<<16.
<index> is a palette index, and for drawlinergb is used as a fallback in the software renderer.
<rgb> is encoded the same as PROJ_FLASH_COLOR.

git-svn-id: https://svn.eduke32.com/eduke32@6261 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:21:03 +00:00
hendricks266
4dbeb30907 Add internal drawlinergb function.
git-svn-id: https://svn.eduke32.com/eduke32@6260 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:20:58 +00:00
hendricks266
517517a1bb CON: Add getclosestcol command, which finds the closest palette index given
getclosestcol <return> <color> <limit>

<color> is encoded the same as PROJ_FLASH_COLOR.

<limit> is the index of the last palette color that should be considered. Use 255 for the whole palette, 254 to exclude the transparent color, 239 to exclude Duke 3D's fullbrights, etc.

git-svn-id: https://svn.eduke32.com/eduke32@6259 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:20:54 +00:00
hendricks266
ffc7de9911 CON: Add EVENT_DISPLAYOVERHEADMAPTEXT.
Set RETURN to any non-zero value to disable hardcoded display of text.

If you wish to replace the hardcoded text, you must check that userdef[].overhead_on == 2 yourself.

git-svn-id: https://svn.eduke32.com/eduke32@6258 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:20:50 +00:00
hendricks266
0d6842800b Replace specialized swap C functions with a templatized version.
git-svn-id: https://svn.eduke32.com/eduke32@6257 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:20:46 +00:00
hendricks266
adf62d216c scale(1<<##, b, c) --> divscale##(b, c)
git-svn-id: https://svn.eduke32.com/eduke32@6256 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:20:42 +00:00
hendricks266
bd9abf33ad scale(a, b, 1<<##) --> mulscale##(a, b)
git-svn-id: https://svn.eduke32.com/eduke32@6255 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:20:37 +00:00
hendricks266
965e40bda7 mulscale(a, b, ##) --> mulscale##(a, b)
git-svn-id: https://svn.eduke32.com/eduke32@6254 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:20:21 +00:00
terminx
81ca397802 Fix buggy swinging door behavior
git-svn-id: https://svn.eduke32.com/eduke32@6253 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 06:31:37 +00:00
terminx
4e3f55df9b Dicking around with inlined actor header functions
git-svn-id: https://svn.eduke32.com/eduke32@6252 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 06:31:32 +00:00
terminx
6d3978b471 Revise r6225
git-svn-id: https://svn.eduke32.com/eduke32@6251 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 06:31:26 +00:00
terminx
bf944cf27a Potential CON performance improvements
git-svn-id: https://svn.eduke32.com/eduke32@6250 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 06:31:21 +00:00
terminx
e14d7d2786 Clamp r_maxfps to a minimum of 30 if not 0
git-svn-id: https://svn.eduke32.com/eduke32@6249 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 06:31:12 +00:00
hendricks266
ccb6d27349 Polymost: Fix yoffset bouncing of face sprites with cstat 128.
git-svn-id: https://svn.eduke32.com/eduke32@6248 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 09:17:12 +00:00
hendricks266
945944b915 r6210 inadvertantly forced orientation bit 2 for internal gametext. Tidy up affected text.
git-svn-id: https://svn.eduke32.com/eduke32@6247 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 09:17:07 +00:00
terminx
81ac537bd1 More misc small cleanups. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6246 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 09:16:33 +00:00
terminx
ac2f2bd902 :(
git-svn-id: https://svn.eduke32.com/eduke32@6245 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 09:16:27 +00:00
terminx
65a2c38ba8 Misc cleanups, mostly const correctness
git-svn-id: https://svn.eduke32.com/eduke32@6244 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 09:16:21 +00:00
terminx
50bc1aa2ba Can Duke3D CON version compatibility messages in standalone builds
git-svn-id: https://svn.eduke32.com/eduke32@6243 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 09:16:13 +00:00
terminx
0dd837919e Revise r6239
git-svn-id: https://svn.eduke32.com/eduke32@6242 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 04:32:23 +00:00
terminx
0efb2e146e Revise r6235
git-svn-id: https://svn.eduke32.com/eduke32@6241 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 04:32:16 +00:00
terminx
977c09fa28 Revert test change I accidentally committed
git-svn-id: https://svn.eduke32.com/eduke32@6240 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 04:01:03 +00:00
terminx
b73c449f31 Further reorganization of actor_t. BYTEVERSION bumped.
git-svn-id: https://svn.eduke32.com/eduke32@6239 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:59:39 +00:00
terminx
4a7806150c Make r_showfps 2 work a little bit better
git-svn-id: https://svn.eduke32.com/eduke32@6238 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:59:32 +00:00
terminx
eae02b26a1 Respect r_maxfps in menus and on startup/bonus/end screens
git-svn-id: https://svn.eduke32.com/eduke32@6237 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:59:26 +00:00
terminx
4489e110de More minor optimizations. Breaks savegames.
git-svn-id: https://svn.eduke32.com/eduke32@6236 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:59:19 +00:00
terminx
302d6bdfd8 Minor optimizations
git-svn-id: https://svn.eduke32.com/eduke32@6235 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:59:11 +00:00
terminx
f698b1e733 Gamevar cleanup
git-svn-id: https://svn.eduke32.com/eduke32@6234 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:59:06 +00:00
terminx
49edb0e9f6 Use macros for special gamevar access range checking
git-svn-id: https://svn.eduke32.com/eduke32@6233 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:59:00 +00:00
terminx
54a0d8d4ae Consty McConst
git-svn-id: https://svn.eduke32.com/eduke32@6232 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:54 +00:00
terminx
dac7679633 Replace 2 memcpys with assignments
git-svn-id: https://svn.eduke32.com/eduke32@6231 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:48 +00:00
terminx
a3fbe4c542 Add clipdist member to player struct to control how close the player can get to walls
git-svn-id: https://svn.eduke32.com/eduke32@6230 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:43 +00:00
terminx
4ae5f2e298 Remove "BUILD_NOP6", old cruft for running on ancient x86 processors without MMX.
git-svn-id: https://svn.eduke32.com/eduke32@6229 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:36 +00:00
terminx
d1c0366916 Minor classic mode optimization
git-svn-id: https://svn.eduke32.com/eduke32@6228 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:31 +00:00
terminx
bcb6d3830b Only show "using dynamic tile remapping" message in debug builds. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6227 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:26 +00:00
terminx
c26fcfa786 Remove unused member from actor_t
git-svn-id: https://svn.eduke32.com/eduke32@6226 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:21 +00:00
terminx
6319b6fb60 Change hard-coded subway effect damage to generic explosive damage that can be handled by CON. Fixes subway kills not counting toward the dead monster count and allows CON scripts to handle subway damage however they like.
git-svn-id: https://svn.eduke32.com/eduke32@6225 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:13 +00:00
terminx
8cda268514 Fix issue with hud_bgstretch cvar overwriting adjacent values in memory
git-svn-id: https://svn.eduke32.com/eduke32@6224 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:08 +00:00
terminx
e3f3a8ce33 Move Mapster32 autoexec to before the map specified on the command line is loaded, to allow EVENT_PRELOADMAP and EVENT_LOADMAP to work when loading a map from the command line. This makes the console output of autoexec a little worse but the OSD will be fixed at a later time.
git-svn-id: https://svn.eduke32.com/eduke32@6223 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:01 +00:00
hendricks266
e2c44ae253 CON: Handle the save and savenn commands after the full tic is processed, instead of in the middle of it during execution. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6222 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-22 22:49:22 +00:00
hendricks266
262e863b33 Polymodes: Only try texcache_fetchmulti on detail texture slots.
git-svn-id: https://svn.eduke32.com/eduke32@6221 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-22 01:32:10 +00:00
hendricks266
b25ec936b3 Polymodes: Check that texture entries have a non-skybox filename before using it in texcache_fetchmulti.
Fixes crash reported by Sgt Jack V.

git-svn-id: https://svn.eduke32.com/eduke32@6220 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-22 01:32:05 +00:00
hendricks266
f03d704ddb Polymost: Don't cut off a row and/or column of texels when drawing floor-aligned sprites with odd dimensions.
git-svn-id: https://svn.eduke32.com/eduke32@6219 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:47:04 +00:00
hendricks266
ad46ac785f Add new tint flag 256, which always skips hightile when picking an image source.
git-svn-id: https://svn.eduke32.com/eduke32@6218 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:59 +00:00
hendricks266
986a545ff5 Polymodes: Explicitly opt out of hicfindsubst falling back to pal 0 instead of checking against the reserved palnum range.
git-svn-id: https://svn.eduke32.com/eduke32@6217 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:54 +00:00
hendricks266
a032b829bf Factor out hictinting array accesses.
git-svn-id: https://svn.eduke32.com/eduke32@6216 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:50 +00:00
hendricks266
70245fc4f1 Create a new struct for hictinting that uses a uint16_t for flags.r
git-svn-id: https://svn.eduke32.com/eduke32@6215 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:44 +00:00
hendricks266
84c913d04c Only allocate space for tint flags combinations that require a pre-computed texture to be stored in memory, instead of space for every combination.
git-svn-id: https://svn.eduke32.com/eduke32@6214 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:36 +00:00
hendricks266
05945c920b Add new userdef members gametext_tracking, mgametext_tracking, and menutext_tracking.
git-svn-id: https://svn.eduke32.com/eduke32@6213 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-20 09:28:59 +00:00
hendricks266
4f5ea33917 Make internal gametext calls use MF_Bluefont fields in the menus and a newly introduced MF_BluefontGame elsewhere.
git-svn-id: https://svn.eduke32.com/eduke32@6212 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-20 09:28:54 +00:00
hendricks266
cd792277d3 Only use TEXT_GAMETEXTNUMHACK on internal gametext calls that benefit from it.
git-svn-id: https://svn.eduke32.com/eduke32@6211 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-20 09:28:49 +00:00
hendricks266
611031d9e8 Optimize all gametext calls.
git-svn-id: https://svn.eduke32.com/eduke32@6210 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-20 09:28:42 +00:00
hendricks266
cb8dc04660 Make menutext use MF_Redfont fields.
git-svn-id: https://svn.eduke32.com/eduke32@6209 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:07:23 +00:00
hendricks266
334007d6c3 Optimize all menutext calls.
git-svn-id: https://svn.eduke32.com/eduke32@6208 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:07:18 +00:00
hendricks266
7f6b26d362 Eliminate the RedfontGreen type and replace it with indentations (like "Apply Changes").
git-svn-id: https://svn.eduke32.com/eduke32@6207 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:07:12 +00:00
hendricks266
02256c51dd Eliminate the RedfontBlue type and replace it with the Disabled or LookDisabled flags.
git-svn-id: https://svn.eduke32.com/eduke32@6206 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:07:09 +00:00
hendricks266
ecc60dec44 Add a new MenuEntryFlag to make an option appear disabled but still work.
git-svn-id: https://svn.eduke32.com/eduke32@6205 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:07:05 +00:00
hendricks266
2e12d10cc6 Namespace all MenuEntryFlags_t.
git-svn-id: https://svn.eduke32.com/eduke32@6204 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:07:01 +00:00
hendricks266
2afdaf5faf Move cursorPosition and cursorScale from MenuEntryFormat_t to MenuFont_t.
git-svn-id: https://svn.eduke32.com/eduke32@6203 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:06:57 +00:00
hendricks266
e51960b3a2 Fix memory leaks in audiolib. Fixes issue #59.
git-svn-id: https://svn.eduke32.com/eduke32@6202 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:06:53 +00:00
hendricks266
da4081c2b6 Fix some indentation of the menu system.
git-svn-id: https://svn.eduke32.com/eduke32@6201 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:06:48 +00:00
hendricks266
9abe8f7958 Factor some menu code.
git-svn-id: https://svn.eduke32.com/eduke32@6200 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:06:45 +00:00
hendricks266
57b5a47b9d Scale menu spacers by font zoom.
git-svn-id: https://svn.eduke32.com/eduke32@6199 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:06:41 +00:00
hendricks266
d85cbcc8cf Attach fonts to spacer menu entries.
git-svn-id: https://svn.eduke32.com/eduke32@6198 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:06:37 +00:00
hendricks266
6221b0e74d Apply MenuFont_t.zoom to margins and indentations.
git-svn-id: https://svn.eduke32.com/eduke32@6197 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:06:33 +00:00
hendricks266
72b7e30b19 Add zoom field to MenuFont_t.
git-svn-id: https://svn.eduke32.com/eduke32@6196 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:06:29 +00:00
hendricks266
f2b7650305 Shrink the MenuFont_t struct.
git-svn-id: https://svn.eduke32.com/eduke32@6195 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:06:25 +00:00
hendricks266
8e73029ecc Touch up some menu options.
git-svn-id: https://svn.eduke32.com/eduke32@6194 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:06:21 +00:00
hendricks266
283c5c0644 Center the episode menu vertically like the skill menu.
git-svn-id: https://svn.eduke32.com/eduke32@6193 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:06:17 +00:00
hendricks266
e79d830deb Clean up episodes, skills, and game modes in standalone builds.
git-svn-id: https://svn.eduke32.com/eduke32@6192 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-19 23:06:07 +00:00
hendricks266
97a9d67148 Fix a bug in r6184.
git-svn-id: https://svn.eduke32.com/eduke32@6191 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-17 21:53:28 +00:00
hendricks266
8deddc19b0 Clean up warnings in standalone mode.
git-svn-id: https://svn.eduke32.com/eduke32@6190 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-17 11:42:20 +00:00
hendricks266
3ae7c3d317 Clean up gamefuncs in standalone mode.
git-svn-id: https://svn.eduke32.com/eduke32@6189 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-17 11:42:15 +00:00
hendricks266
66c85ec71f Don't print any warnings to the log if an unrecognized gamefunc is dispatched; this is expected and normal when they are renamed.
git-svn-id: https://svn.eduke32.com/eduke32@6188 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-17 11:42:12 +00:00
hendricks266
81a6f29dd4 CON: Add undefinegamefunc.
git-svn-id: https://svn.eduke32.com/eduke32@6187 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-17 11:42:08 +00:00
hendricks266
b0d9e94004 Remove an old hack from my menu system that upon closer inspection is no longer needed.
git-svn-id: https://svn.eduke32.com/eduke32@6186 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-17 11:42:04 +00:00
hendricks266
a10893d75f Change the way gamefuncs are handled to support and ignore entries named as the empty string.
git-svn-id: https://svn.eduke32.com/eduke32@6185 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-17 11:41:59 +00:00
hendricks266
6d11c01fd7 Don't store redundant copies of default gamefunc names, since the indices are all that matter.
git-svn-id: https://svn.eduke32.com/eduke32@6184 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-17 11:41:54 +00:00
hendricks266
549ba86e5c Disable G_FadeLoad because it doesn't work in any renderer and only causes glitches.
git-svn-id: https://svn.eduke32.com/eduke32@6183 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-17 11:41:49 +00:00
hendricks266
f26408ea96 Keep music playing without interruption during map or hubmap transitions if the same file will be playing before and after.
git-svn-id: https://svn.eduke32.com/eduke32@6182 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-17 11:41:44 +00:00
hendricks266
7d6a0d965b Update LZ4 to 1.7.5.
git-svn-id: https://svn.eduke32.com/eduke32@6181 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-14 07:00:08 +00:00
hendricks266
95826e79b3 Update xxHash to 0.6.2.
git-svn-id: https://svn.eduke32.com/eduke32@6180 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-14 07:00:02 +00:00
hendricks266
08326d19dd Amend r6174 to un-break libxmp-lite.
git-svn-id: https://svn.eduke32.com/eduke32@6179 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-14 06:59:58 +00:00
hendricks266
f8bdc5814e Re-port our changes to libdivide.h and add new changes so that it works as we need.
git-svn-id: https://svn.eduke32.com/eduke32@6177 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-14 06:59:50 +00:00
hendricks266
284fdf1b63 Replace libdivide.h with an unpatched copy of the latest version.
git-svn-id: https://svn.eduke32.com/eduke32@6176 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-14 06:59:43 +00:00
terminx
feb8b43892 Better support for working with blend in the editor
git-svn-id: https://svn.eduke32.com/eduke32@6175 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-10 08:19:47 +00:00
terminx
d0211379e0 Get MSVC building again, DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6174 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-10 08:19:35 +00:00
terminx
faf5c90eef Another attempt at fixing Polymost z-fighting. Probably still sucks! :)
git-svn-id: https://svn.eduke32.com/eduke32@6170 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:45 +00:00
terminx
f394f1bc1e Fix window title in EDUKE32_STANDALONE builds. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6169 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:39 +00:00
terminx
0447c0feb6 Minor optimization
git-svn-id: https://svn.eduke32.com/eduke32@6168 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:33 +00:00
terminx
18870b0bc1 Change savegame filenames from dukesav#.esv to save#.esv.
git-svn-id: https://svn.eduke32.com/eduke32@6167 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:28 +00:00
terminx
b13deef232 The most minor of minor optimizations. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6166 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:23 +00:00
terminx
5fc04f288c Fix missed label for sectoreffector tag. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6165 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:17 +00:00
terminx
d76c3c2764 Polymost: fix texture panning floatiness on slight slopes
git-svn-id: https://svn.eduke32.com/eduke32@6164 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:40:17 +00:00
hendricks266
fc93eb1fe6 libxmp-lite: Changes to build as C++: Apparently an extern declaration must be present for the compiler to expose the symbols of struct objects.
git-svn-id: https://svn.eduke32.com/eduke32@6163 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:40:07 +00:00
hendricks266
d77d1cff29 libxmp-lite: Changes to build as C++: pointer casting
git-svn-id: https://svn.eduke32.com/eduke32@6162 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:59 +00:00
hendricks266
6700a2a93d libxmp-lite: Changes to build as C++: Structs within other structs cannot be referred to by just the innermost name, and the using keyword does not work either. Split them out into the top level.
git-svn-id: https://svn.eduke32.com/eduke32@6161 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:52 +00:00
hendricks266
35e8792efa libxmp-lite: Changes to build (in C mode).
git-svn-id: https://svn.eduke32.com/eduke32@6160 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:48 +00:00
hendricks266
d715918e45 Add unmodified libxmp-lite sources from its Git repository.
git-svn-id: https://svn.eduke32.com/eduke32@6158 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:37 +00:00
hendricks266
75d25d0d15 LPeg: Necessary changes for building in our environment and with our project. See lpeg-lunatic.patch.
git-svn-id: https://svn.eduke32.com/eduke32@6156 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:18 +00:00
hendricks266
37c7be05ca Add unmodified sources for LPeg 1.0.1.
git-svn-id: https://svn.eduke32.com/eduke32@6155 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:11 +00:00
hendricks266
b3d597200b Common.mak: Massive reorganization/cleanup.
Any functional changes are incidental and minor, other than the outright removals.

git-svn-id: https://svn.eduke32.com/eduke32@6147 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:42 +00:00
hendricks266
0a74a878e1 Rename savegame.lua to lunasave.lua to avoid a collision with savegame.cpp. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6145 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-07 05:56:35 +00:00
hendricks266
0633795683 Fix an extern "C" that was collateral damage in the last push. Fixes Lunatic build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6144 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-07 05:13:54 +00:00
hendricks266
8d8fd61ed0 Remove the register keyword, since it is deprecated in C++11 and removed in C++17.
git-svn-id: https://svn.eduke32.com/eduke32@6143 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:29 +00:00
hendricks266
576ff98f4d Improve what build information we print to the log at startup. New feature: compilers, their versions, and big-endianness. Removed: C++, as it is now mandatory.
git-svn-id: https://svn.eduke32.com/eduke32@6142 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:22 +00:00
hendricks266
25b942de74 Visual Studio apparently still defines __cplusplus as 199711.
git-svn-id: https://svn.eduke32.com/eduke32@6141 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:17 +00:00
hendricks266
f781f21ccd Address some longstanding warnings with printf when building with MinGW's GCC 6 and newer.
Building with said newer versions may fix the -Wodr warning when building for release.

git-svn-id: https://svn.eduke32.com/eduke32@6140 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:12 +00:00
hendricks266
914762513d Introducing buildprint, a type-safe and more performant replacement for printf using C++11 variadic templates. At least, an incomplete version that is enough to implement the next commit.
git-svn-id: https://svn.eduke32.com/eduke32@6139 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:07 +00:00
hendricks266
5a0ed69310 compat.h: Add some more math stuff to support the next commit.
git-svn-id: https://svn.eduke32.com/eduke32@6138 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:03 +00:00
hendricks266
83c06a63b9 Fix some extern "C".
git-svn-id: https://svn.eduke32.com/eduke32@6137 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:04:56 +00:00
hendricks266
66f43bca24 compat.h: Prevent "warning: private field 'dummy' is not used". DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6136 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-01 03:08:39 +00:00
terminx
abfbfec0f0 Fix interpolation of sprites in sectors with SE_31_FLOOR_RISE_FALL
git-svn-id: https://svn.eduke32.com/eduke32@6135 1a8010ca-5511-0410-912e-c29ae57300e0
2017-05-19 02:28:40 +00:00
terminx
0e231ce97e Revert r6133
git-svn-id: https://svn.eduke32.com/eduke32@6134 1a8010ca-5511-0410-912e-c29ae57300e0
2017-05-18 07:03:55 +00:00
terminx
e6d8181e1c Reduce max number of concurrent copies of the same sound from 8 to 4.
git-svn-id: https://svn.eduke32.com/eduke32@6133 1a8010ca-5511-0410-912e-c29ae57300e0
2017-05-17 21:55:09 +00:00
terminx
3861723200 Fix https://forums.duke4.net/topic/9285-con-compiler-bug/page__pid__276767
git-svn-id: https://svn.eduke32.com/eduke32@6132 1a8010ca-5511-0410-912e-c29ae57300e0
2017-05-17 21:55:01 +00:00
terminx
ca30328f53 Fix using defined move/ai/action names in switch/case statements
git-svn-id: https://svn.eduke32.com/eduke32@6131 1a8010ca-5511-0410-912e-c29ae57300e0
2017-05-17 05:46:59 +00:00
terminx
a955f415c4 Improve a couple of tagged sector warning messages. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6130 1a8010ca-5511-0410-912e-c29ae57300e0
2017-05-17 05:46:52 +00:00
hendricks266
80ebabd08a Amend r6122, as of r6074 all standard library header inclusion is routed through compat.h.
git-svn-id: https://svn.eduke32.com/eduke32@6128 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 05:11:08 +00:00
terminx
28d23ad575 Recognize MacUser shareware demo; data must be renamed from "Duke3D Group" to "duke3d.grp".
git-svn-id: https://svn.eduke32.com/eduke32@6127 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 04:35:32 +00:00
terminx
b2c8c45b41 Potential slight optimization to actor movement.
git-svn-id: https://svn.eduke32.com/eduke32@6125 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 04:35:22 +00:00
terminx
76b83164a5 EDUKE32_STANDALONE improvement. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6124 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 04:35:18 +00:00
terminx
0acdeb93d1 Save and restore music position when changing to a map with the same music defined. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6123 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 04:35:13 +00:00
terminx
889a0e7fbc Remove obsolete header standard.h. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6122 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 04:35:08 +00:00
terminx
9ed9efc4f6 Change screenshot base name to scrn0000 instead of duke0000 for standalone builds. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6121 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 04:35:01 +00:00
hendricks266
d3c56b8a89 compat.h: Add logbase<size_t>().
git-svn-id: https://svn.eduke32.com/eduke32@6119 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:35 +00:00
hendricks266
73654c2079 compat.h: Add new types, native_t and unative_t, functionally equivalent to our current bssize_t and bsize_t, respectively, but generated dependably using template metaprogramming when building with C++ >= 11.
git-svn-id: https://svn.eduke32.com/eduke32@6118 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:32 +00:00
hendricks266
7a40df33b6 compat.h: Add some infrastructure for C++ template metaprogramming.
git-svn-id: https://svn.eduke32.com/eduke32@6117 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:29 +00:00
hendricks266
a1f317ecfc compat.h: Upgrade our byteswapping functions with new versions that I have experimentally confirmed to compile down to the appropriate single assembly instructions on x86 and x86_64. As part of this, make them constexpr, and remove the OS-specific and inline assembly variants as sub-par due to these two improvements.
git-svn-id: https://svn.eduke32.com/eduke32@6116 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:26 +00:00
hendricks266
b98b00281c compat.h: Add macros so that we can use constexpr without breaking C++ < 11 and C.
git-svn-id: https://svn.eduke32.com/eduke32@6115 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:23 +00:00
hendricks266
1ebbd553bd compat.h: Add some definitions for easy testing of language standard versions.
git-svn-id: https://svn.eduke32.com/eduke32@6114 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:18 +00:00
hendricks266
0c31245cd2 Add registry detection of the Steam path for World Tour installs.
git-svn-id: https://svn.eduke32.com/eduke32@6113 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-09 13:09:01 +00:00
hendricks266
5441fcdb1e Add the patched World Tour GRP to our checksum entries.
git-svn-id: https://svn.eduke32.com/eduke32@6112 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-09 13:08:58 +00:00
hendricks266
8cf65eb180 Modify Windows registry reading to check both 32-bit and 64-bit key locations.
git-svn-id: https://svn.eduke32.com/eduke32@6111 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-09 13:08:53 +00:00
hendricks266
cb2d1f4bce Mac: Address deprecation warnings with the latest Xcode and macOS.
git-svn-id: https://svn.eduke32.com/eduke32@6109 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-27 17:13:07 +00:00
hendricks266
30ef04893b compat.h: Re-taxonomize one item.
git-svn-id: https://svn.eduke32.com/eduke32@6091 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:26 +00:00
hendricks266
3e64f08cd1 Fix r5498 so that projectiles actually do not hit their owner during their first tic of movement.
Clear the hitscan bit instead of blocking bit because Proj_MoveCustom uses CLIPMASK1.

git-svn-id: https://svn.eduke32.com/eduke32@6082 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-20 20:30:04 +00:00
hendricks266
af66b8a99f Factor out code for launching EVENT_GAME and EVENT_PREGAME.
git-svn-id: https://svn.eduke32.com/eduke32@6081 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-20 20:29:57 +00:00
hendricks266
06a38e3873 Audiolib: Re-add a fixed version of old code for the SDL driver to initialize SDL as a whole or its audio subsystem if it has not yet been initialized.
Patch from NY00123.

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@6080 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-01 09:35:58 +00:00
hendricks266
d5bd7681a0 Remove XYZ.voc --> XYZ.flac format upgrades completely for sound effects, and leave them only for music.
XYZ.voc --> XYZ_voc.flac is still available.

git-svn-id: https://svn.eduke32.com/eduke32@6079 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:16:04 +00:00
hendricks266
e9c8f44a47 compat.h: Upgrade ARRAY_SIZE.
git-svn-id: https://svn.eduke32.com/eduke32@6078 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:16:01 +00:00
hendricks266
d6e820645b compat.h: Upgrade EDUKE32_FUNCTION and add EDUKE32_PRETTY_FUNCTION.
git-svn-id: https://svn.eduke32.com/eduke32@6077 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:58 +00:00
hendricks266
62a921c409 Remove the implicit "static" from our FORCE_INLINE macro.
This will be important for C++ member functions.

git-svn-id: https://svn.eduke32.com/eduke32@6076 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:53 +00:00
hendricks266
77875948ba Eliminate more cases of duplication of compat.h's functionality.
git-svn-id: https://svn.eduke32.com/eduke32@6075 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:45 +00:00
hendricks266
aa04307ad1 Route all inclusion of libc headers and most of POSIX headers through compat.h.
git-svn-id: https://svn.eduke32.com/eduke32@6074 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:36 +00:00
hendricks266
22fbca52ca Remove HAVE_INTTYPES define.
No #else was ever provided for any build system that lacks inttypes besides MSVC.

git-svn-id: https://svn.eduke32.com/eduke32@6073 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:20 +00:00
hendricks266
2b8fb9bfc1 Completely reorganize compat.h.
git-svn-id: https://svn.eduke32.com/eduke32@6072 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:16 +00:00
hendricks266
3f5dbe17f2 Eliminate the windows_inc.h include from compat.h by special-casing UNREFERENCED_PARAMETER in a different way.
git-svn-id: https://svn.eduke32.com/eduke32@6071 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:13 +00:00
hendricks266
ee4d69093c Remove #define compat_h_macrodef__ and its absent case, which was only ever used for an old JFDuke3D port to PalmOS.
If for some reason you need to target a platform that lacks a libc, you're better off finding a libc, or putting together your own shim layer. It's a weekend project at most.

git-svn-id: https://svn.eduke32.com/eduke32@6070 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:10 +00:00
hendricks266
6d7191b848 windows_inc.h in two more places
git-svn-id: https://svn.eduke32.com/eduke32@6069 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:01 +00:00
hendricks266
26e740c0b7 Eliminate many cases of duplication of compat.h's functionality.
git-svn-id: https://svn.eduke32.com/eduke32@6067 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:56 +00:00
hendricks266
225be10f61 Define NOMINMAX in windows_inc.h.
git-svn-id: https://svn.eduke32.com/eduke32@6066 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:50 +00:00
hendricks266
d4ee6d00c8 Route inclusion of all Windows headers through a new header, windows_inc.h.
This allows us to make certain guarantees about limits on the extent of namespace pollution these headers introduce.

git-svn-id: https://svn.eduke32.com/eduke32@6065 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:44 +00:00
hendricks266
79279780a5 More of the previous commit, because VS can be frustrating.
git-svn-id: https://svn.eduke32.com/eduke32@6064 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:32 +00:00
hendricks266
1aaf246527 Limit what startwin.game.cpp needs to include.
git-svn-id: https://svn.eduke32.com/eduke32@6063 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:29 +00:00
hendricks266
3faa84f6d4 Remove dead code for selecting sound settings from the Windows startup window.
git-svn-id: https://svn.eduke32.com/eduke32@6062 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:23 +00:00
hendricks266
d43fb548cf Abolish all " ={ " when assigning a struct. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6061 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-05 20:58:33 +00:00
hendricks266
417b047cf3 Bring the previous commit into effect.
git-svn-id: https://svn.eduke32.com/eduke32@6056 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:20:54 +00:00
hendricks266
1cc9d13ccf The great repository rearrangement of 2017.
Files moved but not modified. Changes to follow in a subsequent commit.

You down with CPP?

git-svn-id: https://svn.eduke32.com/eduke32@6055 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:01:11 +00:00