Commit graph

541 commits

Author SHA1 Message Date
terminx
8e8892aa3a And we'll put a happy little int16_t right over here
git-svn-id: https://svn.eduke32.com/eduke32@6733 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 05:41:11 +00:00
terminx
dfa5c0d712 Missed files from last commit
git-svn-id: https://svn.eduke32.com/eduke32@6732 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:23:58 +00:00
terminx
48270bfb9c q16avel/q16horz
git-svn-id: https://svn.eduke32.com/eduke32@6731 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:52 +00:00
terminx
d9722401ed Store configuration data in AppData on Windows in standalone builds
git-svn-id: https://svn.eduke32.com/eduke32@6730 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:46 +00:00
terminx
aca16910d0 Use ~/.config/APPBASENAME instead of ~/.APPBASENAME on Linux
git-svn-id: https://svn.eduke32.com/eduke32@6729 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:41 +00:00
terminx
0e0de77439 Move APPNAME and APPBASENAME to common_game.h so we can use them for the data paths in common.cpp
git-svn-id: https://svn.eduke32.com/eduke32@6728 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:37 +00:00
terminx
3b6bb3b7a3 Fix up CON to work with Q16.16 values
git-svn-id: https://svn.eduke32.com/eduke32@6727 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:31 +00:00
terminx
a76750df55 Q16.16 for player angle, too
git-svn-id: https://svn.eduke32.com/eduke32@6725 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:18 +00:00
terminx
4d8bb170a3 Use Q16.16 fixed point for player horiz
git-svn-id: https://svn.eduke32.com/eduke32@6724 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:05 +00:00
terminx
7fa0abda26 Add gamefunc for switching to your last used weapon
git-svn-id: https://svn.eduke32.com/eduke32@6723 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:20:50 +00:00
hendricks266
ea391a9b83 Re-allow negative hitags on crack sprites.
git-svn-id: https://svn.eduke32.com/eduke32@6722 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-06 10:25:17 +00:00
hendricks266
cd5b23e855 Perform CON_SAVE after a frame is drawn
git-svn-id: https://svn.eduke32.com/eduke32@6721 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-06 10:25:11 +00:00
hendricks266
9c23735d98 Menu stuff
git-svn-id: https://svn.eduke32.com/eduke32@6720 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-06 10:25:07 +00:00
hendricks266
821814fe32 Avoid filtering seams by drawing custom scrollbars twice, like the scuba gear and chaingun.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6719 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-06 10:25:04 +00:00
hendricks266
a1f3ec8c63 Menus: Allow mouse axis scale to go to zero.
git-svn-id: https://svn.eduke32.com/eduke32@6718 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-06 10:24:59 +00:00
hendricks266
ab3c4366e4 Fix "setvarvar: Gv_GetVarX(): invalid player ID -1" message for certain userdef accesses
git-svn-id: https://svn.eduke32.com/eduke32@6717 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-03 08:22:55 +00:00
hendricks266
478165f00c Fix "too many sprites spawned" check
git-svn-id: https://svn.eduke32.com/eduke32@6716 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-03 06:37:16 +00:00
hendricks266
1adf766fac Move "EVENT_DISPLAYREST" after "EVENT_DISPLAYCROSSHAIR".
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6715 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-01 13:46:56 +00:00
hendricks266
293491644f 1. Fix translucency in the mouse cursor.
2. In "EVENT_DISPLAYCROSSHAIR" and "EVENT_DISPLAYCURSOR", make "userdef[].return" 1 and 2 return the coordinates, and 3 the alpha ("EVENT_DISPLAYCURSOR" only).
3. New event "EVENT_DISPLAYPOINTER"
Similar to "EVENT_DISPLAYCURSOR", it is used to display the pointer that controls the aiming in Wii. "RETURN" / "userdef[].return" work in the same way as "EVENT_DISPLAYCURSOR".

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6714 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-01 13:46:52 +00:00
hendricks266
920ec3f6a2 Fix the position of the notch when scaling the slidebar with the mouse.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6713 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-01 13:46:48 +00:00
terminx
1c342e0bde Reduce max volume to prevent audio clipping
git-svn-id: https://svn.eduke32.com/eduke32@6711 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-27 15:21:01 +00:00
hendricks266
de272d0d00 Hide the joystick menu instead of disabling it.
git-svn-id: https://svn.eduke32.com/eduke32@6710 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-27 01:11:47 +00:00
pogokeen
94b2fc68af astub.cpp: only call GL functions if we are in a GL mode
git-svn-id: https://svn.eduke32.com/eduke32@6709 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-27 00:52:28 +00:00
hendricks266
3a14b405a2 Clean up order of UserdefsLabels[].
Bump BYTEVERSION.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6707 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 20:20:05 +00:00
hendricks266
4f17a26061 New userdef structure "return"
This works like an extension of the RETURN gamevar and it accepts multiple values. Reading or writing the value of "userdef[].return 0" is the same as reading of writing the RETURN gamevar.

The following userdefs are now aliases:
- m_origin_x = userdef[].return 1
- m_origin_y = userdef[].return 2
- screenarea_x1 = userdef[].return 0
- screenarea_y1 = userdef[].return 1
- screenarea_x1 = userdef[].return 2

Additionally, the API for EVENT_PLAYLEVELMUSICSLOT is hereby redefined to use return 1 and 2 (not 0) _instead of_ ud.m_*_number.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6706 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 20:20:00 +00:00
hendricks266
9878d0c322 Revise the userdef code to accept multiple values.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6705 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 20:19:55 +00:00
hendricks266
e26760b6af Use the user's desktop resolution, fullscreen, as the default, instead of 1024x768 windowed.
git-svn-id: https://svn.eduke32.com/eduke32@6704 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 14:46:52 +00:00
hendricks266
9deeb94f06 Invalidate TILE_SAVESHOT whenever it is overwritten, so that it updates properly in GL.
(Also remove a redundant call to the screenshot function.)

git-svn-id: https://svn.eduke32.com/eduke32@6703 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 14:46:48 +00:00
hendricks266
d155564975 Menus: Improve text position over save/load screenshots.
git-svn-id: https://svn.eduke32.com/eduke32@6702 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 14:46:44 +00:00
hendricks266
5bb5612cba Menus: Don't allow loading previous version saves.
git-svn-id: https://svn.eduke32.com/eduke32@6701 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 14:46:40 +00:00
hendricks266
6f7313a46a Fix whitespace issues
git-svn-id: https://svn.eduke32.com/eduke32@6700 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 14:46:36 +00:00
hendricks266
dfffa5a9c5 Clear userquotes when returning to the menu.
git-svn-id: https://svn.eduke32.com/eduke32@6699 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 14:46:31 +00:00
pogokeen
cb9ee858bf menus.cpp: Make windowed-only resolutions clear in both their name and by disabling the fullscreen menu option
Additionally, increase MAXRESOLUTIONSTRINGLENGTH to accomodate new resolution name suffix

git-svn-id: https://svn.eduke32.com/eduke32@6697 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 02:48:09 +00:00
hendricks266
3117dcf006 Save the player's map time before EVENT_ENDLEVELSCREEN, which happens regardless of whether the hardcoded bonus screen is displayed.
Make sure ud.displaybonusscreen is set to 1 if you want this to take place. The bonus screen can still be skipped by setting RETURN to -1 in EVENT_ENDLEVELSCREEN.

git-svn-id: https://svn.eduke32.com/eduke32@6694 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-25 01:18:36 +00:00
hendricks266
042c0e9796 Fix the interaction between starttrack and toggling music off.
git-svn-id: https://svn.eduke32.com/eduke32@6693 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-25 01:18:32 +00:00
hendricks266
aa94f12666 Fix autoaim getting overwritten on load by whatever it was when the save was created.
git-svn-id: https://svn.eduke32.com/eduke32@6692 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-25 01:18:29 +00:00
hendricks266
7a9684e350 Amend previous commit
git-svn-id: https://svn.eduke32.com/eduke32@6687 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 14:09:38 +00:00
hendricks266
63d93e8d9f New userdef structures: "menu_scrollbartilenum", "menu_scrollbarz", "menu_scrollcursorz"
Set "menu_scrollbartilenum" to the first tilenum of a series of 4 tiles:

<tilenum> = Middle (tiled to fill the scrollbar height)
<tilenum> + 1 = Top
<tilenum> + 2 = Bottom
<tilenum> + 3 = Cursor
Default value for menu_scrollbartilenum is -1, which will display EDuke32's default scrollbar.

Use "menu_scrollbarz" and "menu_scrollcursorz" to control the scale of the scrollbar. Default values are 65536.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6686 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 13:34:34 +00:00
hendricks266
50ac58f374 Improve translucence of menu cursor
git-svn-id: https://svn.eduke32.com/eduke32@6685 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 13:34:28 +00:00
hendricks266
3543d6f3fa Some screentext fixes (that don't affect CON scripts)
git-svn-id: https://svn.eduke32.com/eduke32@6684 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 13:34:24 +00:00
pogokeen
94246b5dd1 game.cpp: fixed GL vsync resetting issue due to system_getcvars() call coming before cvars were loaded
git-svn-id: https://svn.eduke32.com/eduke32@6682 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 01:05:18 +00:00
hendricks266
92091a4425 CON: Change OSD_Printf to initprintf for addlog and addlogvar
git-svn-id: https://svn.eduke32.com/eduke32@6681 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-20 11:55:28 +00:00
hendricks266
d26635cfa9 Menu stuff
git-svn-id: https://svn.eduke32.com/eduke32@6680 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-20 11:55:24 +00:00
hendricks266
7a30b3452f CON: Add undefinecheat.
git-svn-id: https://svn.eduke32.com/eduke32@6679 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-20 11:55:20 +00:00
hendricks266
5bd6f6e28f Menus: Hide blank cheats
git-svn-id: https://svn.eduke32.com/eduke32@6678 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-20 11:55:16 +00:00
hendricks266
26749bf881 CON: Add resetplayerflag 4, which always loads if possible
git-svn-id: https://svn.eduke32.com/eduke32@6677 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-20 11:55:13 +00:00
hendricks266
60223012be Menus: Add MenuEntryFlag "Hidden", which is safer than setting the entry's position in its parent's EntryList to null.
git-svn-id: https://svn.eduke32.com/eduke32@6676 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-20 11:55:07 +00:00
hendricks266
3ae7cb1de5 Replace bespoke CON/def module and clipmap filename array reallocing with a new class, GrowArray.
git-svn-id: https://svn.eduke32.com/eduke32@6673 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-17 22:30:39 +00:00
hendricks266
a5be1c2e17 Update credits.
git-svn-id: https://svn.eduke32.com/eduke32@6672 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-17 22:30:26 +00:00
terminx
97de73a760 Don't save skill level to settings.cfg
git-svn-id: https://svn.eduke32.com/eduke32@6670 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-17 00:06:01 +00:00
hendricks266
a8370e8d0c Keep individually specified RTS files and the rtsname cfg setting completely separate. This fixes a few issues.
git-svn-id: https://svn.eduke32.com/eduke32@6668 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 08:33:44 +00:00
hendricks266
0c9b00e277 CON: Remove GAMEFUNC_* hardcoded labels.
git-svn-id: https://svn.eduke32.com/eduke32@6666 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 08:33:36 +00:00
hendricks266
aa4c8f75f5 Make sure we clear the keyboard buffer when beginning text input.
git-svn-id: https://svn.eduke32.com/eduke32@6665 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 08:33:32 +00:00
pogokeen
512b396c54 screens.cpp: Fixed a bug in FPS calculation
git-svn-id: https://svn.eduke32.com/eduke32@6660 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:40 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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