Commit graph

635 commits

Author SHA1 Message Date
pogokeen
8ebb8083a5 polymost_dorotatesprite(): fix for Polymer bug introduced by Polymost drawarrays optimization
git-svn-id: https://svn.eduke32.com/eduke32@6659 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:37 +00:00
pogokeen
ff1d948d44 In-progress POLYMOST2 work
git-svn-id: https://svn.eduke32.com/eduke32@6658 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:34 +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
037289a812 polymost_drawpoly(): only change the blend mode if blending is enabled
git-svn-id: https://svn.eduke32.com/eduke32@6655 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:07 +00:00
pogokeen
28f9fcebb4 Polymost: Avoid generation of mipmaps if filter mode isn't set to use them
git-svn-id: https://svn.eduke32.com/eduke32@6654 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:05 +00:00
pogokeen
a1c88b740f Polymost: texture format optimizations
git-svn-id: https://svn.eduke32.com/eduke32@6653 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:02 +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
8094104f0b Menu stuff
git-svn-id: https://svn.eduke32.com/eduke32@6650 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-13 00:13:06 +00:00
hendricks266
7be5abbe37 Revert the functional changes of r4741 and r4703 relating to conveyors. This restores conveyor belts to their original v1.5 speeds at the expense of the corner cases the original commits addressed.
This can be revisited in the future to address these corner cases without breaking the original game.

git-svn-id: https://svn.eduke32.com/eduke32@6649 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-12 02:32:43 +00:00
hendricks266
8ddcef89fc Fix FPS limiter in EVENT_SCREEN.
git-svn-id: https://svn.eduke32.com/eduke32@6648 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-12 02:32:39 +00:00
hendricks266
f2538230b7 Re-allow MUSICANDSFX ambient sounds with a hitag in the interval [32768, 65535].
git-svn-id: https://svn.eduke32.com/eduke32@6647 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-11 05:04:03 +00:00
hendricks266
9cf6c85623 Move new CON_FOR iterators to the bottom of their enum to unbreak savegames using CON_FOR made before r6635.
git-svn-id: https://svn.eduke32.com/eduke32@6646 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-11 05:03:59 +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
hendricks266
0cbb522ff0 Use an unsigned type when we need right shifts to zero-extend for use in tagbitmap.
Fixes crash in boeing.map.

git-svn-id: https://svn.eduke32.com/eduke32@6644 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-11 05:03:50 +00:00
hendricks266
65b3bccf06 Add support for MapArt from within zip files.
git-svn-id: https://svn.eduke32.com/eduke32@6643 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-11 05:03:46 +00:00
hendricks266
4cea9ec804 Fix MSVC build breakage.
git-svn-id: https://svn.eduke32.com/eduke32@6642 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-10 22:58:38 +00:00
hendricks266
210f3e54ff Apply the FPS limiter to EVENT_SCREEN.
git-svn-id: https://svn.eduke32.com/eduke32@6641 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-10 22:58:34 +00:00
hendricks266
f228b68736 CON: Add if statements if(var(var)){a,b}(e).
Inspired by x86 assembly, these stand for "above" and "below", and perform unsigned versions of greater-than and less-than, respectively.

Useful for testing array bounds.

git-svn-id: https://svn.eduke32.com/eduke32@6640 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-31 05:23:48 +00:00
hendricks266
190d71832a Temporarily revert r6633.
git-svn-id: https://svn.eduke32.com/eduke32@6639 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-31 05:23:43 +00:00
hendricks266
d2fd7a2c30 Re-revise r6625.
git-svn-id: https://svn.eduke32.com/eduke32@6638 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-31 05:23:39 +00:00
terminx
3bc83a7ceb Revise r6625
git-svn-id: https://svn.eduke32.com/eduke32@6637 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-31 04:13:40 +00:00
terminx
cd02a9223e Use enum
git-svn-id: https://svn.eduke32.com/eduke32@6636 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-31 04:13:35 +00:00
terminx
d9a5b4aa13 Restore previous behavior of "allsprites" iterator for CON_FOR and add "allspritesbystat" and "allspritesbysect"
git-svn-id: https://svn.eduke32.com/eduke32@6635 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-31 04:13:31 +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
0542d32989 Modernize naming of gamefuncs.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6633 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-30 16:02:33 +00:00
hendricks266
27d93ac698 Satisfy -Wmaybe-uninitialized warnings exposed by -Og.
git-svn-id: https://svn.eduke32.com/eduke32@6632 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-30 16:02:29 +00:00
hendricks266
874b7df3aa Remix r5063
git-svn-id: https://svn.eduke32.com/eduke32@6630 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-30 16:02:20 +00:00
hendricks266
b497a6cbde CON: Add STR_USERMAPFILENAME for qgetsysstr.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6629 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-30 01:03:50 +00:00
hendricks266
e741c8d067 Unbreak r6608.
git-svn-id: https://svn.eduke32.com/eduke32@6628 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 15:28:07 +00:00
hendricks266
ea6955009f Fix a bug in r6587, where "statusbarcustom" was not saved in the cfg file.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6627 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:14:20 +00:00
hendricks266
12f1767de2 New userdef structure "shadow_pal"
Sets the black palette used for enemy shadows and for black rectangles in the menu. Default value is 4.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6626 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:14:17 +00:00
hendricks266
4bedc0c39d Fix overflow issue with tsprite shade of gibs.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6625 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:14:12 +00:00
hendricks266
e7cbf0b1a9 New events EVENT_PLAYLEVELMUSICSLOT and EVENT_CONTINUELEVELMUSICSLOT.
Called when a music track will be started from the beginning, and when the current track is continued after loading a save, etc.

The requested track is passed into PLAYLEVELMUSICSLOT via ud.m_volume_number and ud.m_level_number.

git-svn-id: https://svn.eduke32.com/eduke32@6624 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:14:08 +00:00
hendricks266
d41a013a57 CON: Add commands "swaptrackslot" and "preloadtrackslotforswap"
git-svn-id: https://svn.eduke32.com/eduke32@6623 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:14:04 +00:00
hendricks266
0d1137be5d Add read-only userdefs music_episode and music_level.
TODO: Exposing whether any music is currently playing at all. (No, it is not ud.musictoggle.)

git-svn-id: https://svn.eduke32.com/eduke32@6622 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:13:59 +00:00
hendricks266
969c9b77d6 Turn get/setmusicposition into no-ops.
People were using these commands in spite of my explicit instructions not to.

Now that music track is saved properly, no one has any excuse to continue using these.

git-svn-id: https://svn.eduke32.com/eduke32@6621 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:13:55 +00:00
hendricks266
6470b51fb9 Properly save the currently playing music track in savegames.
Bump BYTEVERSION.

git-svn-id: https://svn.eduke32.com/eduke32@6620 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:13:49 +00:00
hendricks266
d792054ce2 Refactor all calls to S_PlayMusic.
This allows as much of the control flow as possible to fail gracefully without interruping currently playing music.

git-svn-id: https://svn.eduke32.com/eduke32@6619 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:13:43 +00:00
hendricks266
254b822003 When playing a user map, print "User Map: <filename>" to the log instead of "E1L8: User Map".
git-svn-id: https://svn.eduke32.com/eduke32@6618 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:13:37 +00:00
hendricks266
2679b42e72 When playing a user map, don't show an episode name in the automap.
git-svn-id: https://svn.eduke32.com/eduke32@6617 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:13:34 +00:00
hendricks266
0ca09c08da CON: Add user_map and m_user_map read-only userdefs.
git-svn-id: https://svn.eduke32.com/eduke32@6616 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:13:30 +00:00
hendricks266
03fa42b17e Move G_HaveUserMap to game.h, retitle it Menu_HaveUserMap, and add a proper G_HaveUserMap.
git-svn-id: https://svn.eduke32.com/eduke32@6615 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:13:21 +00:00
hendricks266
b25e48a1b3 boardfilename cleanups
git-svn-id: https://svn.eduke32.com/eduke32@6614 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:13:16 +00:00
hendricks266
2cdf98f07a Systematize the appearance of the menu fonts using the DOS version as a reference.
New events:
"EVENT_MENUCURSORLEFT"
"EVENT_MENUCURSORRIGHT"
"EVENT_MENUCURSORSHADE"
"EVENT_MENUSHADESELECTED"

New userdef structures:
"menu_shadedeselected"
"menu_shadedisabled"
"menutext_zoom"
"menutext_xspace"
"menutext_pal"
"menutext_palselected"
"menutext_paldeselected"
"menutext_paldisabled"
"menutext_palselected_right"
"menutext_paldeselected_right"
"menutext_paldisabled_right"
"gametext_zoom"
"gametext_xspace"
"gametext_pal"
"gametext_palselected"
"gametext_paldeselected"
"gametext_paldisabled"
"gametext_palselected_right"
"gametext_paldeselected_right"
"gametext_paldisabled_right"
"minitext_zoom"
"minitext_xspace"
"minitext_tracking"
"minitext_pal"
"minitext_palselected"
"minitext_paldeselected"
"minitext_paldisabled"
"minitext_palselected_right"
"minitext_paldeselected_right"
"minitext_paldisabled_right"
"menutitle_pal"
"slidebar_palselected"
"slidebar_paldisabled"

Self-explanatory. Use in conjunction with "menutext_tracking" and "gametext_tracking" ("mgametext_tracking" is now ignored).

The values for disabled shade is added to the selected or deselected shades. The palettes have a disabled > selected > deselected hierarchy, and are applied if not zero.

Patch from Fox

git-svn-id: https://svn.eduke32.com/eduke32@6613 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 02:14:16 +00:00
hendricks266
c7edef4f43 New LOGO_FLAGS bits LOGO_NOHELP and LOGO_NOCREDITS.
LOGO_NOHELP: Remove the "Help" item in the main menu and the F1 key function.

LOGO_NOCREDITS: Remove the "Credits" item in the main menu.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6612 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 02:14:09 +00:00
hendricks266
e1e5e338dc New commands: "divr", "divru", "divrd"
divr <dividend> <divisor>

Divide gamevar <dividend> by <divisor> and round (aka round to nearest) the result. A result of 0.5 will equal 1.

divru <dividend> <divisor>

Divide gamevar <dividend> by <divisor> and round up (aka round away from zero) the result.

Additionally "divrd" can be used to round down (aka round toward zero), which is equivalent to the current div command as tested on x86, ARM, and PowerPC.

Note that "shiftr" rounds up negative values.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6611 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 02:14:04 +00:00
hendricks266
29de10fc91 Maintenance on Gv_DivVar
git-svn-id: https://svn.eduke32.com/eduke32@6610 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 02:14:00 +00:00
hendricks266
1cbf5e36e1 New command "qstrcmp"
qstrcmp <quote1> <quote2> <var>

Compare two quotes. <var> returns zero if they are identical, -1 if the first quote comes first in alphabetical order, 1 if it comes later.

Note that the lexicographical order is rudimentary, for example "Player 2" is considered greater than "Player 10".

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6609 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 02:13:55 +00:00
hendricks266
97fd71c3db Add EVENT_DISPLAYOVERHEADMAPPLAYER.
RETURN is the tilenum to be displayed. It is pre-populated with what the game will display for the current frame.

Set RETURN to -1 to disable.

git-svn-id: https://svn.eduke32.com/eduke32@6608 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:31:04 +00:00
hendricks266
25ccdca408 Add the official Nuclear Winter demo GRP to the list of recognized GRPs.
git-svn-id: https://svn.eduke32.com/eduke32@6607 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:31:00 +00:00
hendricks266
6ffcd671fc Menu stuff
git-svn-id: https://svn.eduke32.com/eduke32@6606 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:57 +00:00
hendricks266
7718d661a0 Revert changes made to SIDEBOLT1 in r6244.
git-svn-id: https://svn.eduke32.com/eduke32@6605 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:53 +00:00
hendricks266
a2f5891064 Fix typos in r6244.
git-svn-id: https://svn.eduke32.com/eduke32@6604 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:50 +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
af6097a281 Fix more uses of lotag with values >= 32768 beyond those reported as warnings.
git-svn-id: https://svn.eduke32.com/eduke32@6602 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:42 +00:00
hendricks266
1396f51ca2 Fix all "truncation of constant value" warnings in MSVC due to restoring hitag/lotag to signedness.
git-svn-id: https://svn.eduke32.com/eduke32@6601 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:38 +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
0bad11ee9d Fix typo in r6589.
git-svn-id: https://svn.eduke32.com/eduke32@6599 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:29 +00:00
hendricks266
cbbe66365f Remove function left behind in r6587.
git-svn-id: https://svn.eduke32.com/eduke32@6598 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:25 +00:00
hendricks266
947402e28c New LOGO_FLAGS bit LOGO_HIDEEPISODE: Omit the episode name from the automap.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6597 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:37 +00:00
hendricks266
740cedefbb New userdef structures "default_volume", "default_skill"
Lets you choose which episode or skill should be selected by default in the menus. Default values are 0 and 1, respectively.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6596 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:33 +00:00
hendricks266
535b7c4d66 Display sprite shadows in Polymer if dynamic lighting is disabled.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6595 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:29 +00:00
hendricks266
a96613f496 Add "Alternate Weapon" key similar to Shadow Warrior Classic Redux.
When pressed it switches between pipebomb / detonator or shrinker / expander.

New event "EVENT_ALTWEAPON"

Akin to "EVENT_PREVIOUSWEAPON" and "EVENT_NEXTWEAPON". RETURN is set to 12.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6594 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:23 +00:00
hendricks266
8744a70dcf Fix the aspect of save thumbnails in Polymost / Polymer in widescreen.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6593 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:19 +00:00
hendricks266
6a77175ac5 New def token "shadefactor"
shadefactor <value>

Controls the level of shading in GL modes. Normally it is set to the shade at which all colors are pitch black.

The default value calculated from Duke 3D's palette is 30, but most other Build games with a different palette are calculate to 31.

This token is for GL mods without a palette.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6592 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:15 +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
392d5fc942 Fix visibility in Polymer with r_usenewshading 4 and palette emulation off.
Move some visibility-related constants from Polymer "core" code elsewhere.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6590 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:06 +00:00
hendricks266
1e04f43240 New userdef structure: "menu_slidebarz", "menu_slidebarmargin", "menu_slidecursorz"
Self-explanatory. Default value for all is 65536.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6589 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:02 +00:00
hendricks266
4da012a15f Add an option to move the status bar to the top of the screen in the Android version.
Restores a feature temporarily disabled in r6553.

Currently only supports the modern status bar.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6588 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:34:57 +00:00
hendricks266
150ddded12 New userdef structure: "statusbarflags", "statusbarrange", "statusbarcustom"
"statusbarflags" is a bitfield. Values are:
STATUSBAR_NONONE = 1
STATUSBAR_NOMINI = 2
STATUSBAR_NOFULL = 4
STATUSBAR_NOSHRINK = 8
STATUSBAR_NOFRAGBAR = 16
STATUSBAR_NOOVERLAY = 32
STATUSBAR_NOMODERN = 64
Default value is 8. In case you modify it, you also have to set the other status bar related userdefs in EVENT_SETDEFAULTS. Default values in EDuke32 are: screen_size = 4; statusbarmode = 1; althud = 1;

"statusbarrange" is used to add more alternatives for the status bar without breaking the option in the menu. If used, the mini status bar (screen_size = 4) will cycle through "statusbarcustom" when changing the screen size.

Also fix the size of the viewport when the screen is shrunk and the scale of the status bar is not 100%.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6587 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:34:51 +00:00
hendricks266
1031f2dec0 Make cutscene "aspect" def token work with ANMs too.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6586 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:34:46 +00:00
hendricks266
85d0a3c520 New userdef structure "menubackground"
Set to 0 to disable the black transparent mask below the in-game menu.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6585 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:34:43 +00:00
hendricks266
cf64b480f1 Add new events at various points that display hardcoded screens.
New event "EVENT_MAINMENUSCREEN"

Triggered before the main menu is displayed. Set RETURN to -1 to disable the screens that appear before the main menu.

New event "EVENT_NEWGAMESCREEN"

Triggered when a new game is started. Set RETURN to -1 to disable The Birth intro animation.

New event "EVENT_ENDLEVELSCREEN"

Triggered when a level ends. Set RETURN to -1 to disable the bonus and deathmatch score screens after a level ends.

New event "EVENT_EXITGAMESCREEN"

Triggered when a running game is ended. Set RETURN to -1 to disable the deathmatch score screen when you quit mid-game.

New event "EVENT_EXITPROGRAMSCREEN"

Triggered when the program is closed. Set RETURN to -1 to disable the shareware or TEN screen,sif they were enabled in LOGO_FLAGS.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6584 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:34:38 +00:00
hendricks266
29543fd087 Menus: Fix current selection of episode menu when you return from the skill menu.
git-svn-id: https://svn.eduke32.com/eduke32@6583 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:34:33 +00:00
hendricks266
9949a3cf5c When SE 17 can't find the next sector for the floor, use the heuristic added for ceilings in r3013 to determine the floorz, replacing the game exit added in r2971.
git-svn-id: https://svn.eduke32.com/eduke32@6582 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-18 04:28:55 +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
ecdb08eb68 Revert slight change to fall behavior of pickup sprites in r6500.
git-svn-id: https://svn.eduke32.com/eduke32@6580 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-15 17:46:28 +00:00
hendricks266
fcd9238a67 Don't stomp on shrunken teammates unless friendly fire is enabled.
Patch from Striker.

git-svn-id: https://svn.eduke32.com/eduke32@6579 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-15 17:46:25 +00:00
hendricks266
8fa438dc0b Fix friendly fire damage conditions in multiplayer.
Patch from Striker.

git-svn-id: https://svn.eduke32.com/eduke32@6578 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-15 17:46:21 +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
terminx
0ece42110c Fix breakage I introduced into CON_FOR while fixing breakage in CON_FOR. :(
git-svn-id: https://svn.eduke32.com/eduke32@6576 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-29 19:27:11 +00:00
terminx
7291688875 Use native_t instead of bssize_t in gameexec.cpp
git-svn-id: https://svn.eduke32.com/eduke32@6575 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-29 19:27:04 +00:00
terminx
fcfac7c1d9 Fix issues with CON_FOR
git-svn-id: https://svn.eduke32.com/eduke32@6574 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-29 02:32:12 +00:00
terminx
09c03151db Uncomment extra check in COMBINE_STRIPS
git-svn-id: https://svn.eduke32.com/eduke32@6573 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-20 08:35:49 +00:00
hendricks266
2c48a359e2 Fix corruption in filenames in new savegame system
git-svn-id: https://svn.eduke32.com/eduke32@6572 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-19 01:26:18 +00:00
pogokeen
9c695d6bc4 Fix line spacing tab issue in rev 6570.
git-svn-id: https://svn.eduke32.com/eduke32@6571 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-19 00:03:12 +00:00
pogokeen
741305e976 Fix a number of cases where files opened with cache1d.cpp's kopen_internal() could be leaked.
git-svn-id: https://svn.eduke32.com/eduke32@6570 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-18 23:36:05 +00:00
hendricks266
d9b0479343 ZDoom-style saves
git-svn-id: https://svn.eduke32.com/eduke32@6569 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-18 11:24:53 +00:00
hendricks266
29a0fffd5b Menu tweak
git-svn-id: https://svn.eduke32.com/eduke32@6568 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-18 11:24:46 +00:00
terminx
ca308d5879 Happened to be reading a SDL doc and noticed we were creating our surface with the wrong flags
git-svn-id: https://svn.eduke32.com/eduke32@6567 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-17 09:27:32 +00:00
terminx
c728176352 Revert a tweak made for HTTKC
git-svn-id: https://svn.eduke32.com/eduke32@6566 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-17 09:27:27 +00:00
pogokeen
59597982c5 Fixed file handle leak when loading a save game
git-svn-id: https://svn.eduke32.com/eduke32@6565 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-17 02:03:55 +00:00
pogokeen
efaf328e4d Fixed race condition where XMP voices could be played by the audio driver thread before they were fully initialized or fully freed
git-svn-id: https://svn.eduke32.com/eduke32@6564 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-17 02:03:52 +00:00
hendricks266
bcb41aac3e New player structures "frags" and "deaths"
player[<killer>].frags <victim>

Equals how many times player <killer> killed <victim>. Note that the sum of these values will not equal the total kills or deaths for a player since another player may disconnect, so use "frag" or "deaths" instead.

player[<id>].deaths

Equals the total number of times the player died in the round, not including suicides.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6563 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:19 +00:00
hendricks266
71e3948e70 Fix the position of the "KILLS" header and the number of deaths for each player in the frag screen.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6562 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:15 +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
583dc0f47a Polymost: Account for yscale when deciding if the sky is tall enough to repeat or not. Comment out code that is not working as expected.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6560 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:09 +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
2f98d759f6 Fix visibility in Polymer with r_usenewshading 4.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6558 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:02 +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
756fa2bbd8 New userdef structure "screenfade"
Set to zero to disable the hard-coded fade to black transition between screens, menu or when the level ends.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6556 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:13:53 +00:00
hendricks266
63748e5381 New LOGO_FLAGS bits:
- LOGO_STOPMISCSOUNDS = 2097152: Don't play NITEVISION_ONOFF when the logo starts.
- LOGO_NOGAMETITLE = 4194304: Don't display the title (INGAMEDUKETHREEDEE and PLUTOPAKSPRITE+2) in the main menu.
- LOGO_NOTITLEBAR = 8388608: Don't display the title bar background (TITLEBAR) above the menu.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6555 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:13:49 +00:00
hendricks266
ea36d5289a New event "EVENT_SETDEFAULTS".
Use this event to change the value of userdefs when initializing cfg settings with defaults.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6554 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:13:46 +00:00
hendricks266
9765526948 Move the modern status bar option into the screen size slider.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6553 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:13:42 +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
415c5e219e screenpeek for EVENT_RECOGSOUND
git-svn-id: https://svn.eduke32.com/eduke32@6550 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-10 03:24:47 +00:00
terminx
d3417b763a Untabify engine.cpp
git-svn-id: https://svn.eduke32.com/eduke32@6547 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-09 02:56:31 +00:00
terminx
4edc1c6523 Revert a minor change I made to EVENT_LOGO
git-svn-id: https://svn.eduke32.com/eduke32@6546 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-09 02:56:26 +00:00
terminx
3ab1c2c722 Fix problem where sometimes fullscreen GL modes display incorrectly. I'm not sure why this fixes it and I believe it to be a SDL bug.
git-svn-id: https://svn.eduke32.com/eduke32@6544 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-09 02:56:17 +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
948fe80304 Fix undefined behavior in gameexec.cpp
git-svn-id: https://svn.eduke32.com/eduke32@6542 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-09 02:56:05 +00:00
terminx
3c8f050565 Fix memory leak with .ANM playback in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@6541 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 12:42:40 +00:00
terminx
bb836cfc0b Fix small memory leak in OSD
git-svn-id: https://svn.eduke32.com/eduke32@6540 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 12:42:36 +00:00
terminx
a66703b01a tabs -> spaces
git-svn-id: https://svn.eduke32.com/eduke32@6539 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 12:42:31 +00:00
terminx
cba4b950ef Fix memory leak in MACT scriplib.cpp
git-svn-id: https://svn.eduke32.com/eduke32@6538 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 12:42:25 +00:00
terminx
de5f16b1c5 Fix events added in recent commits
git-svn-id: https://svn.eduke32.com/eduke32@6537 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 09:24:55 +00:00
terminx
9e9f4168af Fix huge memory leak with savemapstate
git-svn-id: https://svn.eduke32.com/eduke32@6536 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 08:45:09 +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
terminx
a18d03635c Fix crash issue with nested console script execution
git-svn-id: https://svn.eduke32.com/eduke32@6534 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 08:44:59 +00:00
terminx
bf2047bc0f Print message to console at startup when successfully loading a RTS file instead of when the RTS file is missing
git-svn-id: https://svn.eduke32.com/eduke32@6533 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 08:44:53 +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
f9a90e6f33 Add anticipatory fields to ud; bump BYTEVERSION.
git-svn-id: https://svn.eduke32.com/eduke32@6531 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-01 06:19:15 +00:00
hendricks266
d722b998ed Make sure I_EnterText never writes a null terminator out of bounds.
git-svn-id: https://svn.eduke32.com/eduke32@6530 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-01 06:19:12 +00:00
hendricks266
4313460da7 Bump savegame name limits from 22 in memory and 19 in practice to 32 in memory and 30 in practice.
This bumps SV_MINOR_VER.

git-svn-id: https://svn.eduke32.com/eduke32@6529 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-01 06:19:09 +00:00
hendricks266
f808648079 Cleanups to handling of old save versions
git-svn-id: https://svn.eduke32.com/eduke32@6528 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-01 06:19:04 +00:00
terminx
ee0524bc23 Revise previous commit
git-svn-id: https://svn.eduke32.com/eduke32@6527 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-01 02:07:34 +00:00
terminx
933161fc2d Fix issue with non-actor sprites not being deleted at size 0
git-svn-id: https://svn.eduke32.com/eduke32@6526 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-01 01:49:00 +00:00
terminx
7acf811eae Re-comment out part of COMBINE_STRIPS in polymost.cpp
git-svn-id: https://svn.eduke32.com/eduke32@6525 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-30 23:54:23 +00:00
terminx
845abb435a Drop VSPMAX back to 2048 from 4096
git-svn-id: https://svn.eduke32.com/eduke32@6524 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-30 23:54:18 +00:00
hendricks266
90045e4ce3 Revert r6496
git-svn-id: https://svn.eduke32.com/eduke32@6523 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-30 02:57:23 +00:00
hendricks266
5de5dc9fcd Menus: Change "Size:" entries in HUD Setup to "Scale:" and indent them.
git-svn-id: https://svn.eduke32.com/eduke32@6522 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:57 +00:00
hendricks266
12c4d033f1 Polymost: Set r_parallaxskypanning to 1 by default.
This enables sky panning, which allows the effect of CLOUDYSKIES to work properly.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6521 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:54 +00:00
hendricks266
ad83ca0188 Polymost: Display paper-skies correctly when looking up or down.
Show a solid color for skies taller than 256 px, otherwise repeat.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6520 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:51 +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
6164e3dae8 Revise view background / border drawing code.
New event "EVENT_UPDATESCREENAREA"

Use this event to change the size of the game view, similar to when you press + or -.

New event "EVENT_DISPLAYBORDER"

Set RETURN to change the background tile of the game view, set -1 to disable the background and border.

New userdef structures "screenarea_x1", "screenarea_y1", "screenarea_x2", "screenarea_y2"

Use these structures to change the boundaries of the view in EVENT_UPDATESCREENAREA.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6518 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:44 +00:00
hendricks266
1c107bd877 CON: Add EVENT_RECOGSOUND.
Set RETURN to -1 to disable the sound played when an enemy awaken. You have to use a command to play a sound, because the bosses use globalsound.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6517 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:40 +00:00
hendricks266
102a720402 CON: Add EVENT_OPENMENUSOUND.
Set RETURN to the sound played when the menu is opened. -1 to cancel.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6516 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:37 +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
c9981e76af CON: Add EVENT_DISPLAYEND and EVENT_DISPLAYROOMSEND.
EVENT_DISPLAYROOMSEND: Triggered right after the game world is rendered and before any sprite above the screen.
EVENT_DISPLAYEND: Triggered after the game draws everything above the screen, including menus. A counterpart to EVENT_DISPLAYSTART.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6512 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:23 +00:00
hendricks266
50f7f6cda4 Pause the game when playing IVF files with startcutscene.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6511 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:20 +00:00
hendricks266
a72295f7f1 Fix flickering in IVF files.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6510 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:17 +00:00
hendricks266
74908b1def CON: Add screenpal command.
screenpal <r> <g> <b> <a>

Similar to palfrom, but works on screen events. Values range from 0 to 255.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6509 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:14 +00:00
hendricks266
f6678b336a CON: Add command "startscreen" and corresponding EVENT_SCREEN.
Use startscreen to take control away from the game and display content with rotatesprite.

RETURN is set to 1 when any key is pressed, and if it is nonzero when the event ends, the screen ends and the game resumes.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6508 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:11 +00:00
hendricks266
dbd8b72d10 CON: Add EVENT_SKIPCUTSCENE.
Used with startcutscene. RETURN is set to 1 when any key is pressed, and is used to control when a cutscene ends.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6507 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:07 +00:00
hendricks266
1377afe414 CON: Add EVENT_PRECUTSCENE.
Used with startcutscene. RETURN sets the frame of an ANM before it is rendered.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6506 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:04 +00:00