Commit graph

1474 commits

Author SHA1 Message Date
hendricks266
fafc8f1583 Menus: Disable the gamepad axes and buttons menus if opening them would cause an abort due to having no items
git-svn-id: https://svn.eduke32.com/eduke32@8012 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:12:19 +02:00
hendricks266
002a52033d Amend r7987 to only clear input if actually in the menu
git-svn-id: https://svn.eduke32.com/eduke32@8008 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:29 +02:00
hendricks266
f47b44f4b2 Fix use of wrong macros for game controller buttons in game-side input.cpp
git-svn-id: https://svn.eduke32.com/eduke32@8006 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:25 +02:00
terminx
59b0c0e3f7 Revise r8001
git-svn-id: https://svn.eduke32.com/eduke32@8004 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:21 +02:00
terminx
c72a69ff6f This timing stuff actually works
It doesn't help when it turns out the compiler is broken and implementing std::chrono::high_resolution_clock as something that only counts in ms instead of properly aliasing it to std::chrono::steady_clock!

git-svn-id: https://svn.eduke32.com/eduke32@8002 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/sdlayer.cpp
2019-09-20 16:12:16 +02:00
terminx
3b504975a2 Call A_GetZLimits() for sprites in the map at load time
git-svn-id: https://svn.eduke32.com/eduke32@8001 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:11:09 +02:00
hendricks266
00992a7ba5 Menus: Open the User Map menu to a folder named "usermaps" if one exists.
git-svn-id: https://svn.eduke32.com/eduke32@7999 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:11:05 +02:00
hendricks266
345497b271 newgamechoices: usercontent flag
git-svn-id: https://svn.eduke32.com/eduke32@7998 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:11:03 +02:00
hendricks266
6fa8a17c44 Don't adjust analog turning because of the Run gamefunc
git-svn-id: https://svn.eduke32.com/eduke32@7997 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:11:01 +02:00
hendricks266
addc919636 Amend r7993
git-svn-id: https://svn.eduke32.com/eduke32@7996 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:59 +02:00
hendricks266
446186d49a CON: Add userdef .gamepadactive
git-svn-id: https://svn.eduke32.com/eduke32@7995 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:57 +02:00
hendricks266
f7d6f66405 Menus: Use gamepad button names for Y/N prompts when most recently active
git-svn-id: https://svn.eduke32.com/eduke32@7994 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:55 +02:00
hendricks266
9c3ec69c86 CON: Add getgamefuncbind
git-svn-id: https://svn.eduke32.com/eduke32@7993 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:52 +02:00
hendricks266
73fb1d467f Replace implementation of crouch toggle in a way that won't interfere with other uses of the crouch key, such as swimming and jetpacking.
TODO: Make this work over the network.

git-svn-id: https://svn.eduke32.com/eduke32@7991 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:48 +02:00
hendricks266
9a1a3f01e8 Fix grpinfo reading in Mapster32
Thanks to Doom64hunter.

git-svn-id: https://svn.eduke32.com/eduke32@7990 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:46 +02:00
hendricks266
ef0d79140c Disable drawing sprite arrows and borders in the automap in FURY mode
git-svn-id: https://svn.eduke32.com/eduke32@7989 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:44 +02:00
hendricks266
86aa23e394 Allow gamepads to accept text entry fields
git-svn-id: https://svn.eduke32.com/eduke32@7988 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:42 +02:00
hendricks266
a29869f86e Fix gamepad analogs not working in menus when in game
git-svn-id: https://svn.eduke32.com/eduke32@7987 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:40 +02:00
hendricks266
cb405ced52 Add gamepad axis inversion toggles
git-svn-id: https://svn.eduke32.com/eduke32@7986 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:38 +02:00
hendricks266
1bbd251bff Rescan for controllers when toggling gamepads back on
git-svn-id: https://svn.eduke32.com/eduke32@7985 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:37 +02:00
hendricks266
0bf4f744a8 Menus: Improve the "Status bar" option when there are only two settings and one is None
git-svn-id: https://svn.eduke32.com/eduke32@7984 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:34 +02:00
hendricks266
d143589f3d Menus: Fix the names of the Sound and Music Volume options
git-svn-id: https://svn.eduke32.com/eduke32@7983 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:32 +02:00
hendricks266
27e3194d27 Menus: Add Enable Gamepad toggle
git-svn-id: https://svn.eduke32.com/eduke32@7982 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:30 +02:00
hendricks266
e08b292598 Remix the gamepad layouts
git-svn-id: https://svn.eduke32.com/eduke32@7981 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:29 +02:00
hendricks266
cfdb57ac6d Make use of fix16 for controller aiming
git-svn-id: https://svn.eduke32.com/eduke32@7980 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:26 +02:00
hendricks266
314eaa7200 Fix analog turning rate being half of what it should be
git-svn-id: https://svn.eduke32.com/eduke32@7979 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:24 +02:00
hendricks266
ba730be6b6 Add Crouch Toggle gamefunc
git-svn-id: https://svn.eduke32.com/eduke32@7978 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:22 +02:00
terminx
3a7ee79554 Name fix, I guess?
git-svn-id: https://svn.eduke32.com/eduke32@7974 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:39 +02:00
terminx
f76ca0a361 Fix remaining casts to vec2_t/vec3_t
git-svn-id: https://svn.eduke32.com/eduke32@7973 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
2019-09-20 16:07:36 +02:00
hendricks266
32edf9a747 Rename "Joystick" to "Gamepad" in menus
git-svn-id: https://svn.eduke32.com/eduke32@7972 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:22 +02:00
hendricks266
fb78df76cd Add verification screens to color correction, keyboard, and joystick resetting options
git-svn-id: https://svn.eduke32.com/eduke32@7971 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:20 +02:00
hendricks266
791f8376b6 Implement contoller analog 0 in menus very hackishly
git-svn-id: https://svn.eduke32.com/eduke32@7970 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:18 +02:00
hendricks266
e19511cad7 Replace "Joystick" config strings with "Controller" to reset defaults
git-svn-id: https://svn.eduke32.com/eduke32@7969 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:16 +02:00
hendricks266
b4362aa6a9 Implement controller defaults
git-svn-id: https://svn.eduke32.com/eduke32@7968 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:14 +02:00
hendricks266
5c96fcb334 Add Third Person View gamefunc
git-svn-id: https://svn.eduke32.com/eduke32@7967 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:12 +02:00
hendricks266
3bfed33608 Add voxels option to menu, if at least one has been defined
git-svn-id: https://svn.eduke32.com/eduke32@7961 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/engine.cpp
2019-09-20 16:04:57 +02:00
hendricks266
0aea2e92c6 Menus: Move auto aim option to Control Setup
git-svn-id: https://svn.eduke32.com/eduke32@7959 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:04:41 +02:00
hendricks266
5cc9d1e440 Fix binding joystick digital axes in the menu
git-svn-id: https://svn.eduke32.com/eduke32@7957 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:47 +02:00
hendricks266
56998c4840 Report 16-bit analog axis precision to the game instead of arbitrarily truncating it to ~14.3 bits.
git-svn-id: https://svn.eduke32.com/eduke32@7956 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:45 +02:00
terminx
44d5371ad3 Fix bug where "standing" on top of a sprite structure underwater would cause the player to act as if they were no longer underwater
git-svn-id: https://svn.eduke32.com/eduke32@7955 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:43 +02:00
terminx
620f0da65b Another attempt at improving/fixing the fps limiter
git-svn-id: https://svn.eduke32.com/eduke32@7954 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:41 +02:00
terminx
755de405c2 Add automapping var to Gv_RefreshPointers()
git-svn-id: https://svn.eduke32.com/eduke32@7953 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:39 +02:00
terminx
99a3c3393a Better behaved falling actors
git-svn-id: https://svn.eduke32.com/eduke32@7952 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:36 +02:00
terminx
49edf5f542 Change actor/player context of EVENT_SCREEN
git-svn-id: https://svn.eduke32.com/eduke32@7951 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:35 +02:00
terminx
d404f010c9 Fix some undefined behavior
git-svn-id: https://svn.eduke32.com/eduke32@7950 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:33 +02:00
terminx
0ffc89fbb7 Remove dead declaration
git-svn-id: https://svn.eduke32.com/eduke32@7948 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:28 +02:00
hendricks266
c40a4b26ff Fix how analog axis values are used by the game code, part 2: aiming.
Mouse movement is no longer funneled through analog axis handling.

git-svn-id: https://svn.eduke32.com/eduke32@7947 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:27 +02:00
hendricks266
f1e67616a9 Fix how analog axis values are used by the game code, part 1: movement.
Turning and looking will require me to disentangle CONTROL_GetMouseDelta from the rest of CONTROL_PollDevices.

git-svn-id: https://svn.eduke32.com/eduke32@7946 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:24 +02:00
hendricks266
7338988b5e Fix mouse and joystick menu slider scales
git-svn-id: https://svn.eduke32.com/eduke32@7945 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:21 +02:00
hendricks266
618203489f Blank out old-style joystick defaults because they're irrelevant in 2019.
git-svn-id: https://svn.eduke32.com/eduke32@7944 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:19 +02:00
hendricks266
87c31bbdf5 Fix bugs with unbound mouse and joystick controls not saving properly.
git-svn-id: https://svn.eduke32.com/eduke32@7943 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:17 +02:00
hendricks266
47d8541cf3 Enable joysticks by default because better that than figuring out how to parse settings.cfg multiple times without breaking something.
git-svn-id: https://svn.eduke32.com/eduke32@7942 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:15 +02:00
pogokeen
5c11fc8889 sounds.cpp: fix infinite loop caused by removal of "else" in r7939
git-svn-id: https://svn.eduke32.com/eduke32@7941 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:12 +02:00
terminx
9ee310ce71 Fix sound issue
git-svn-id: https://svn.eduke32.com/eduke32@7940 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:10 +02:00
terminx
ef7f4f8a60 Oops
git-svn-id: https://svn.eduke32.com/eduke32@7939 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:08 +02:00
hendricks266
e7723efcf4 Fix skipping to the end of def blocks
git-svn-id: https://svn.eduke32.com/eduke32@7938 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:06 +02:00
terminx
36366c0c98 M-M-M-MUTEX MADNESS
git-svn-id: https://svn.eduke32.com/eduke32@7937 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:04 +02:00
terminx
6fddd30eaa Remove lockclock from mapstates
git-svn-id: https://svn.eduke32.com/eduke32@7936 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:02 +02:00
terminx
564a68f1a7 Improve frame limiter logic
git-svn-id: https://svn.eduke32.com/eduke32@7935 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:00 +02:00
terminx
0a5cdea62a Run savegame events as myconnectindex instead of screenpeek
This doesn't really matter right now, but it's wrong.

git-svn-id: https://svn.eduke32.com/eduke32@7934 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:02:58 +02:00
terminx
3b98ba6561 Attempt to work around odd behavior when attempting to use stuff like wall aligned sprites with the new version of clipmove
The behavior was always "wrong" as clipmove does not handle movement of lines, just movement of clip boxes against lines and face sprite points, but the newer version of clipmove actively bounces sprites away from lines they would otherwise clip into. This was causing wall-aligned sprites that called any functions that ended up calling clipmove to get pushed away from the wall unintentionally.

git-svn-id: https://svn.eduke32.com/eduke32@7932 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:02:53 +02:00
hendricks266
67b7d2408b newgamechoices
git-svn-id: https://svn.eduke32.com/eduke32@7930 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/defs.cpp
2019-09-20 16:02:49 +02:00
terminx
1413c7fd5c Tiny error message cleanup
git-svn-id: https://svn.eduke32.com/eduke32@7925 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:01:20 +02:00
hendricks266
ca8f8c0dbd save name in exts
git-svn-id: https://svn.eduke32.com/eduke32@7924 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:01:18 +02:00
hendricks266
03b63470b9 Add fallthrough__ in gameexec
git-svn-id: https://svn.eduke32.com/eduke32@7923 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:01:16 +02:00
terminx
32cd1ae4dd Tweak the fatal engine initialization error and game already running dialog boxes a bit
git-svn-id: https://svn.eduke32.com/eduke32@7921 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
2019-09-20 16:01:11 +02:00
terminx
b7f349cd92 Sound cleanups
git-svn-id: https://svn.eduke32.com/eduke32@7915 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/duke3d/src/sounds.h
2019-09-20 15:47:13 +02:00
terminx
48f9edf743 New feature: combine SF_GLOBAL and SF_DTAG definesound flags to get Duke3D explosion sound behavior
git-svn-id: https://svn.eduke32.com/eduke32@7914 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:47 +02:00
terminx
789be3cf35 Add S_SetProperties() function to handle repetitious setting of a few sound structure members
git-svn-id: https://svn.eduke32.com/eduke32@7913 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:45 +02:00
terminx
40e54fdbbb Tweak how the semaphore used to detect multiple running copies of the game is utilized
git-svn-id: https://svn.eduke32.com/eduke32@7912 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:43 +02:00
terminx
4e0325e0d4 Add FURY checks for some EDUKE32_STANDALONE stuff
git-svn-id: https://svn.eduke32.com/eduke32@7911 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:41 +02:00
terminx
aec48c73c1 'If' out a couple of instances of g_soundlocks[] manipulation I somehow missed during my first pass
git-svn-id: https://svn.eduke32.com/eduke32@7906 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:30 +02:00
terminx
9021b885d6 Eliminate pos_as_vec2 from anything that had it
git-svn-id: https://svn.eduke32.com/eduke32@7905 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
#	source/build/src/polymost.cpp
2019-09-20 15:46:28 +02:00
hendricks266
2e325b0f5b Tweak map start message printed to the log
git-svn-id: https://svn.eduke32.com/eduke32@7902 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:19 +02:00
hendricks266
4523515a33 ext updates
git-svn-id: https://svn.eduke32.com/eduke32@7901 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:17 +02:00
pogokeen
091a2961ab game.cpp: move check for quitevent during start-up so that if start-up is cancelled during definitions parsing, the game won't continue to play in a half-loaded state.
git-svn-id: https://svn.eduke32.com/eduke32@7900 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:15 +02:00
hendricks266
90568878a5 Allow MOUSEINACTIVECONDITIONAL when out of menu. Fixes left clicking screens.
git-svn-id: https://svn.eduke32.com/eduke32@7899 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:13 +02:00
hendricks266
7d96aba66d Add CONTROL_ClearAllButtons
git-svn-id: https://svn.eduke32.com/eduke32@7898 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:12 +02:00
hendricks266
640b1c4461 Remove RTS names from standalone builds
git-svn-id: https://svn.eduke32.com/eduke32@7897 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:10 +02:00
hendricks266
dcdabd30d3 definecheatdescription
git-svn-id: https://svn.eduke32.com/eduke32@7896 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:07 +02:00
hendricks266
ba91dd0120 Move cheat descriptions from menus.cpp to cheats.cpp
git-svn-id: https://svn.eduke32.com/eduke32@7895 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:06 +02:00
hendricks266
29d4a7e634 Add I_GeneralTrigger as a combination of Advance and Return and use it for skipping screens so that Esc works.
git-svn-id: https://svn.eduke32.com/eduke32@7894 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:03 +02:00
pogokeen
c80b01cfda gameexec.cpp: allow G_ShowView() to execute regardless of the state of g_screenCapture.
This fixes skyboxes not rendering in TILE_SAVESHOT.

git-svn-id: https://svn.eduke32.com/eduke32@7893 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:00 +02:00
pogokeen
67522909c5 sector.cpp: ensure that if scripts have told us not to render normally to the tile, that we still handle restoring our target & setting up the tile appropriately for what the script may have rendered
git-svn-id: https://svn.eduke32.com/eduke32@7891 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:43:56 +02:00
terminx
2126d215ed Fix crashes when passing invalid variable names to a couple of debugging commands in the console
git-svn-id: https://svn.eduke32.com/eduke32@7883 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:26 +02:00
terminx
3c28f6cfc6 Don't attempt to draw TILE_LOADSHOT unless it's already in memory
This works around a flaw in the .ext loading logic that I don't have time to debug right now.

git-svn-id: https://svn.eduke32.com/eduke32@7882 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:23 +02:00
terminx
c5dbbe892c Fix automapping not working when looking at the textured map mode
git-svn-id: https://svn.eduke32.com/eduke32@7881 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:21 +02:00
terminx
e9e9067251 Fix warning
git-svn-id: https://svn.eduke32.com/eduke32@7879 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:16 +02:00
terminx
db85a55dfd Use I_AdvanceTrigger() instead of I_CheckAllInput() for the skip condition in Anim_Play()
git-svn-id: https://svn.eduke32.com/eduke32@7877 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:11 +02:00
terminx
9f9a158946 Replace runtime pow2 calculations with pow2char LUT usage
I don't know that this is any faster, but there's something to be said for standardization and consistency. I will be making most of this stuff use bitmap_set/test/clear() soon.

git-svn-id: https://svn.eduke32.com/eduke32@7876 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
#	source/build/src/polymost.cpp
2019-09-20 15:34:08 +02:00
terminx
9c5db5aac0 Sanitize walock[] usage
git-svn-id: https://svn.eduke32.com/eduke32@7875 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:33:07 +02:00
terminx
2a3c80f95d Fix issue with sounds being expired from cache
git-svn-id: https://svn.eduke32.com/eduke32@7874 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:33:05 +02:00
terminx
1a0c56f0f1 This adds back in the engine's old automapping feature
This was removed a long time ago because Duke3D and Shadow Warrior don't use it.

git-svn-id: https://svn.eduke32.com/eduke32@7873 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymer.cpp
#	source/build/src/polymost.cpp
2019-09-20 15:32:13 +02:00
terminx
6ad445d47b Make most things in screens.cpp use I_AdvanceTrigger() instead of I_CheckAllInput()
git-svn-id: https://svn.eduke32.com/eduke32@7872 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:40 +02:00
terminx
c7e403619b Don't blow away wall cstat bit 14 for use as a temp flag in the editor
Patch from Nuke.YKT.

git-svn-id: https://svn.eduke32.com/eduke32@7870 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
2019-09-20 15:29:35 +02:00
terminx
752cf77887 Untabify a couple of headers
git-svn-id: https://svn.eduke32.com/eduke32@7862 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:05 +02:00
terminx
24a53db8f5 I'm not aware of any particular issues this change fixes, but I definitely don't intend this hack to ever affect anything while the player is on the ground
git-svn-id: https://svn.eduke32.com/eduke32@7861 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:02 +02:00
terminx
ed40842bad Apply "reset object trackers on savegame load" patch
git-svn-id: https://svn.eduke32.com/eduke32@7860 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:01 +02:00
terminx
762c3ebbf6 Add sc_Space to I_AdvanceTrigger() and I_AdvanceTriggerClear()
git-svn-id: https://svn.eduke32.com/eduke32@7856 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:50 +02:00
terminx
e65fb8ab2a Switch fadepal() and fadepaltile() over to using I_CheckAllInput()/I_ClearAllInput() instead of checking for the spacebar exclusively
git-svn-id: https://svn.eduke32.com/eduke32@7855 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:47 +02:00
pogokeen
5377b128a9 Fix rendering skyboxes to a tile by altering renderSetTarget() & renderRestoreTarget() to set & reset xdim & ydim so that G_ShowView() can render while a render target is set,
and additionally modifying G_SetupCamTile() to call EVENT_DISPLAYROOMSCAMERATILE after calling renderSetTarget()

git-svn-id: https://svn.eduke32.com/eduke32@7852 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:41 +02:00
hendricks266
fdaee03dfb ext loading
git-svn-id: https://svn.eduke32.com/eduke32@7850 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:26:44 +02:00
terminx
ae36202ac7 Fix for emerging from TROR water
git-svn-id: https://svn.eduke32.com/eduke32@7848 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:26:24 +02:00
terminx
56604e5e25 Make it easier to jump into vents
git-svn-id: https://svn.eduke32.com/eduke32@7841 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:55 +02:00
terminx
7c88548074 Remember to delete .esv.ext file when deleting .esv file itself
git-svn-id: https://svn.eduke32.com/eduke32@7840 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:52 +02:00
terminx
686a906c78 Move RCtrl keybind for gamefunc_Fire to slot 1 instead of 2
git-svn-id: https://svn.eduke32.com/eduke32@7837 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:45 +02:00
terminx
bf573ff2c9 Fix issue with the autorun key when resetting controls to defaults, and give gamefunc_Last_Used_Weapon a default key binding of X
git-svn-id: https://svn.eduke32.com/eduke32@7836 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:43 +02:00
terminx
6d2ca41b9c Fix clipping issue with jumping
git-svn-id: https://svn.eduke32.com/eduke32@7833 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:36 +02:00
terminx
2bb93967e1 Fix an issue where looping sound effects would play at full volume for a tic after playback began, regardless of distance to the sound
git-svn-id: https://svn.eduke32.com/eduke32@7821 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:05 +02:00
hendricks266
dc87150f2a update esv exts
git-svn-id: https://svn.eduke32.com/eduke32@7817 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:18:01 +02:00
hendricks266
3a1e4a445f new special purpose gamevar flag
git-svn-id: https://svn.eduke32.com/eduke32@7816 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:57 +02:00
hendricks266
66032defbb Don't lock out cheats in skill 4 if FURY
git-svn-id: https://svn.eduke32.com/eduke32@7815 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:53 +02:00
hendricks266
36bde42d8c This may be my worst commit ever.
git-svn-id: https://svn.eduke32.com/eduke32@7814 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:49 +02:00
terminx
165b320f64 Amend r7805
'Murica.

git-svn-id: https://svn.eduke32.com/eduke32@7811 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:40 +02:00
terminx
763b4b8d7f Throw a warning when attempting to use CON_DEFINESOUND with a sound index that has already been defined
git-svn-id: https://svn.eduke32.com/eduke32@7810 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:37 +02:00
terminx
48f602ae68 Rename IONMAIDEN -> FURY
git-svn-id: https://svn.eduke32.com/eduke32@7808 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:31 +02:00
terminx
97390c1ff4 Fix another bunch of improperly sized bitmap arrays
git-svn-id: https://svn.eduke32.com/eduke32@7806 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
2019-09-20 15:17:25 +02:00
pogokeen
3d63d1b720 Add updatesectorneighbour() and updatesectorneighbourz() and make them accessible to CON to allow searching for nearby neighbouring sectors from a known sector.
These updatesector counterparts are more performant for tasks that require determining whether nearby sectors exist at a point as they will not exhaustively search the map.
This also leads to more correct behaviour when sectors are disjoint, as queries will breadth-first search neighbouring sectors rather than risk accidentally stumbling first across accomodating disjoint sectors.

git-svn-id: https://svn.eduke32.com/eduke32@7805 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/build.h
2019-09-20 15:16:47 +02:00
hendricks266
844ec0bd63 Expose the current episode and skill selection in ud.m_volume_number and ud.m_player_skill while in their respective menus
git-svn-id: https://svn.eduke32.com/eduke32@7804 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:14:33 +02:00
pogokeen
1ec5547a9c Fix edge case where mirrors & TROR could interact and render over skyboxes in the classic software renderer
git-svn-id: https://svn.eduke32.com/eduke32@7803 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:14:31 +02:00
hendricks266
83e1a6902d Implement "usermap" music definition slot
git-svn-id: https://svn.eduke32.com/eduke32@7802 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:14:29 +02:00
hendricks266
ba7c266f89 CON_MUSIC: Accept "." as meaning "do nothing to this slot"
git-svn-id: https://svn.eduke32.com/eduke32@7801 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:14:27 +02:00
hendricks266
d1b43acc06 Use std::numeric_limits instead of float.h
git-svn-id: https://svn.eduke32.com/eduke32@7799 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:14:23 +02:00
hendricks266
6b4d64bde5 Tweak previous commit so clipmove takes precedence over getzrange
git-svn-id: https://svn.eduke32.com/eduke32@7795 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:11:01 +02:00
hendricks266
df609ccfbc Fix an OG Duke bug where projectiles would bounce off the tops of sprites instead of registering a hit
git-svn-id: https://svn.eduke32.com/eduke32@7794 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:59 +02:00
terminx
2313e3d374 Rename "autosaves" to "checkpoints" in menu
git-svn-id: https://svn.eduke32.com/eduke32@7790 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:18 +02:00
terminx
b4d3a76793 Fix stupid bug with sprite shadows in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@7789 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:16 +02:00
pogokeen
07df3ffc42 osdfuncs.cpp: fix OSD background sometimes not rendering with the correct gl state
git-svn-id: https://svn.eduke32.com/eduke32@7784 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:05 +02:00
terminx
c233d58cf8 QOL change: print save filename to console for manual savegames, too, not just ones generated through the script
git-svn-id: https://svn.eduke32.com/eduke32@7779 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:40:15 +02:00
terminx
c96ec9d440 This is just syntax and formatting
No functional changes.

git-svn-id: https://svn.eduke32.com/eduke32@7776 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:09 +02:00
terminx
fa5ff547c8 Rename stupid structure member I probably named when I was high
git-svn-id: https://svn.eduke32.com/eduke32@7775 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:06 +02:00
terminx
19e54dc1ad Stop trying to make CTRL-ALT-DEL happen
It's not going to happen.

git-svn-id: https://svn.eduke32.com/eduke32@7774 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:03 +02:00
terminx
cf7ac8f16e Untie EVENT_ALTFIRE from the conditions required to trigger EVENT_FIRE
git-svn-id: https://svn.eduke32.com/eduke32@7772 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:54 +02:00
terminx
4c290ab4ec Add gamefunc_Alt_Weapon and EVENT_ALTWEAPON back in
git-svn-id: https://svn.eduke32.com/eduke32@7771 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:50 +02:00
terminx
bf94922b27 Even more minor fix to previous commit
git-svn-id: https://svn.eduke32.com/eduke32@7769 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:45 +02:00
terminx
8e8a1334e9 Minor fix to last commit
git-svn-id: https://svn.eduke32.com/eduke32@7768 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:42 +02:00
terminx
7e7f19b5fd Add tilehasmodelorvoxel() function and fix instances where voxels for multi-sided sprites would get flipped based on the viewing angle
git-svn-id: https://svn.eduke32.com/eduke32@7767 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:40 +02:00
terminx
31f66f7de4 Fix audio position updating in automap mode
git-svn-id: https://svn.eduke32.com/eduke32@7766 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:38 +02:00
terminx
465403a199 Prevent addlogvar from accepting constants, which causes a crash
git-svn-id: https://svn.eduke32.com/eduke32@7765 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:36 +02:00
terminx
5cfcb96768 Swap indexes for gamefunc_AutoRun and gamefunc_Alt_Fire
Normally I wouldn't be in favor of changing indexes that are already exposed to scripts around, but gamefunc_AutoRun is a locally handled key that doesn't have any script events associated with it, and gamefunc_Alt_Fire is pretty important to have up near the top wherever gamefuncs are listed.

git-svn-id: https://svn.eduke32.com/eduke32@7762 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:30 +02:00
terminx
4e81b4e2f0 Replace gamefunc_Alt_Weapon with a gamefunc_Alt_Fire that works as expected
git-svn-id: https://svn.eduke32.com/eduke32@7761 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:28 +02:00
terminx
130649b017 Move cacheAllSounds() out of G_CacheMapData() and into G_Startup()
git-svn-id: https://svn.eduke32.com/eduke32@7758 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:21 +02:00
pogokeen
13615565fd game.cpp: temporarily limit A_Spawn() owner changes from r7738 to locators
git-svn-id: https://svn.eduke32.com/eduke32@7751 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:17:57 +02:00
terminx
c1d261965f Clarify incompatible savegame log message
git-svn-id: https://svn.eduke32.com/eduke32@7745 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:15:03 +02:00
pogokeen
458124a237 actors.cpp: Change demo camera path following behaviour to search for locators based on a hitag channel to avoid locator lotag contention.
Now, destination and subject locators should be assigned one hitag channel.  Destination locators will be visited starting from lotag 0 and counting upward.
Subject locators can have any lotag within the same hitag channel, and may also be a destination if the lotag is not separated from the destination locator ids.
Destination locators must now specify their subject locator in their owner field by lotag.

git-svn-id: https://svn.eduke32.com/eduke32@7739 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:04:38 +02:00
pogokeen
cfa0ea2a65 game.cpp: When A_Spawn() is spawning from an already existing sprite, do not reset the owner field if it has been overridden from the default.
git-svn-id: https://svn.eduke32.com/eduke32@7738 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:04:36 +02:00
pogokeen
8cbdf3a0c4 Use stencil buffer in Polymost to restrict mirrors to only render within the region of the screen occupied by the mirror wall.
Additionally, raise minimum number of stencil buffer bits to accomodate future use of the stencil buffer.

git-svn-id: https://svn.eduke32.com/eduke32@7736 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/build.h
#	source/build/src/polymer.cpp
#	source/build/src/polymost.cpp
#	source/kenbuild/src/game.cpp
2019-09-20 14:04:29 +02:00
pogokeen
c2340dd409 Add EVENT_RESETGOTPICS which gives scripts the chance to reset gotpics (and similar effects trackers) for effects that run in EVENT_DISPLAYROOMS.
EVENT_RESETGOTPICS is called after the last call to EVENT_DISPLAYROOMS in a frame, but before any engine-side calls to renderDrawRoomsQ16()

git-svn-id: https://svn.eduke32.com/eduke32@7734 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:59:20 +02:00
pogokeen
cdd83905ca Fix TROR & skyboxes to work with mirrors in Software & Polymost
git-svn-id: https://svn.eduke32.com/eduke32@7733 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:59:17 +02:00
pogokeen
2c85a0a53c game.cpp: fix issue where tilt angle was not being reset to 0 at times when it should have been disabled
git-svn-id: https://svn.eduke32.com/eduke32@7732 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:59:14 +02:00
pogokeen
b014ae4d54 game.cpp: improve G_FPSLimit() to be more stable with regard to floating point precision.
Additionally, prefer rendering early and compensating with a late frame due to clock precision rather than the other way around so that we are more consistently within a target vblank period.

git-svn-id: https://svn.eduke32.com/eduke32@7731 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:32:29 +02:00
pogokeen
19c2c690d3 Fix latency issue introduced by G_FPSLimit() handling of videoNextPage() that was causing frames to be delayed presentation until after the next frame is prepared.
videoNextPage() is now called immediately after preparing the frame for drawing, outside of G_FPSLimit() but on the condition that its return value is true.

git-svn-id: https://svn.eduke32.com/eduke32@7730 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:32:27 +02:00
pogokeen
281ee3358b Add benchmarkmode cvar which allows putting demo cameras in the map which can be used for automatic benchmarking of performance & correctness testing
git-svn-id: https://svn.eduke32.com/eduke32@7729 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:32:24 +02:00
pogokeen
87d3af7204 game.cpp: change camera sprite yvel limits to clamp to min/max angle when beyond the min/max rather than when beyond 0 and 199
git-svn-id: https://svn.eduke32.com/eduke32@7728 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:32:21 +02:00
pogokeen
0cc6ff2e48 actors.cpp: Add additional demo camera behaviours.
Allow the demo camera to be used while not playing back a recorded demo.
Add the ability for the camera to follow paths specified by locators.

git-svn-id: https://svn.eduke32.com/eduke32@7727 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:32:14 +02:00
terminx
876627136a Player duct walking sound fix
git-svn-id: https://svn.eduke32.com/eduke32@7726 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:32:12 +02:00
terminx
7a4a80552c Call S_PauseSounds(false) from Menu_Close()
git-svn-id: https://svn.eduke32.com/eduke32@7724 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:17:31 +02:00
terminx
a7d4df8072 Use default argument values of -1 for the sprite and player indexes passed to VM_OnEvent()
git-svn-id: https://svn.eduke32.com/eduke32@7721 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:08:36 +02:00
terminx
00222e05f6 Use remove_pointer_t instead of regular std::remove_pointer and add a definition for it for CXX11 builds
git-svn-id: https://svn.eduke32.com/eduke32@7719 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:46 +02:00
terminx
db7a2bd0db Update libdivide from git
git-svn-id: https://svn.eduke32.com/eduke32@7715 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:36 +02:00
terminx
2114abcedd Don't force APLAYER to have the default action when shown through a viewscreen in EDUKE32_STANDALONE builds
git-svn-id: https://svn.eduke32.com/eduke32@7710 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:24 +02:00
terminx
cf915a142c Cosmetic change
git-svn-id: https://svn.eduke32.com/eduke32@7709 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:22 +02:00
terminx
ccdba037b5 Added Xfree() function to accompany the Xmalloc() family of functions and change all uses of Bfree() to Xfree()
This was necessary because everything is already allocated with the Xmalloc() functions, but a future commit will make blocks allocated with those functions no longer compatible with the system implementation of free(), which Bfree() wraps.

git-svn-id: https://svn.eduke32.com/eduke32@7705 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
#	source/build/src/mdsprite.cpp
#	source/build/src/polymer.cpp
#	source/build/src/polymost.cpp
#	source/build/src/texcache.cpp
#	source/build/src/voxmodel.cpp
2019-09-20 12:07:10 +02:00
terminx
87b136eb79 Fix bug with sprite heights and autoaim targeting
git-svn-id: https://svn.eduke32.com/eduke32@7702 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:02:38 +02:00
terminx
126088f035 Remove ifdef'd out Gv_DivVar() generation with VM_GAMEVAR_OPERATOR macro because LIBDIVIDE_ALWAYS is going away
git-svn-id: https://svn.eduke32.com/eduke32@7699 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:02:31 +02:00
terminx
02ef02872a Replace manual casts of sprite and wall pointers to vec2/3_t with use of the anonymous union
git-svn-id: https://svn.eduke32.com/eduke32@7697 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
#	source/build/src/polymost.cpp
2019-09-20 12:02:26 +02:00
terminx
26a266dfe5 Rename STRUCT_TRACKERS_ENABLED preprocessor definition to USE_STRUCT_TRACKERS
This may also fix a minor performance regression introduced in Polymer sometime after we switched to building as C++, caused by confusion between STRUCT_TRACKERS_ENABLED and UNTRACKED_STRUCTS. UNTRACKED_STRUCTS is now named UNTRACT_STRUCTS__ to dissuade use outside of buildtypes.h.

git-svn-id: https://svn.eduke32.com/eduke32@7695 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymer.cpp
2019-09-20 12:01:36 +02:00
terminx
9d7e5d9970 Rename vec2s_t to vec2_16_t
git-svn-id: https://svn.eduke32.com/eduke32@7694 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-20 11:28:57 +02:00
terminx
dd2e35eab3 EDUKE32_STANDALONE crap
git-svn-id: https://svn.eduke32.com/eduke32@7689 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:15:14 +02:00
hendricks266
ff204ff034 Fix macOS -Wdeprecated-declarations warnings
git-svn-id: https://svn.eduke32.com/eduke32@7688 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	.gitignore
2019-09-20 10:15:10 +02:00
hendricks266
5fc9868c6a Add support for E0LXY to game defs music token
git-svn-id: https://svn.eduke32.com/eduke32@7687 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:14:40 +02:00
hendricks266
5cd7f18dab !
git-svn-id: https://svn.eduke32.com/eduke32@7680 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:05:37 +02:00
hendricks266
a9e0c9afe1 Allow CON-specified actions to override hardcoded tsprpicnum behavior of PLAYERONWATER, CAMERA1, and RAT
git-svn-id: https://svn.eduke32.com/eduke32@7677 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:05:29 +02:00
terminx
a4b30b5b90 Move S_Update() out of game loop and into Net_GetPackets()
This improves, but doesn't fix, the issue with sound popping when the player angle changes.

git-svn-id: https://svn.eduke32.com/eduke32@7676 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:05:26 +02:00
terminx
9df490434d Gamevar system maintenance
This removes some of the error handling for gamevar reads and writes and trades it for simpler code and a small-but-benchmarkable performance increase.

git-svn-id: https://svn.eduke32.com/eduke32@7674 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:04:27 +02:00
terminx
b0a4b6a1ee Convert loops using unsigned integers as iterators to use regular signed ints instead
https://kristerw.blogspot.com/2016/02/how-undefined-signed-overflow-enables.html

Doing this as cleanly as possible involved demoting several function parameters concerning object sizes and counts from size_t to int--I'm fine with this change as the functions in question are not actually capable of handling input with sizes larger than what can be stored in a signed 32-bit integer, making the use of size_t here misleading at best.

git-svn-id: https://svn.eduke32.com/eduke32@7673 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
#	source/build/src/texcache.cpp
#	source/build/src/tilepacker.cpp
2019-09-20 10:04:24 +02:00
terminx
79752ee168 Move call to S_Update() to after G_MoveLoop()
git-svn-id: https://svn.eduke32.com/eduke32@7672 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:53 +02:00
terminx
605d88bb41 Better stupid names for stupid macros in stupid function
git-svn-id: https://svn.eduke32.com/eduke32@7670 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:48 +02:00
terminx
c3f7c26708 Sanitize A_GetFurthestAngle() return value
git-svn-id: https://svn.eduke32.com/eduke32@7669 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:46 +02:00
terminx
f62d6c919c Patch from Fox to access the player's subweapon member as a bitfield
"Add 'bsubweapon' player structure. Same as 'subweapon', except that it writes a bit for each weapon. For example, 'ife player[].bsubweapon GROW_WEAPON 1' has the same result as 'ifand player[].subweapon 2048'."

git-svn-id: https://svn.eduke32.com/eduke32@7668 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:44 +02:00
terminx
509febe25a Fix actor z position update bug
git-svn-id: https://svn.eduke32.com/eduke32@7667 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:42 +02:00
terminx
549ef41eb7 EDUKE32_STANDALONE stuff
git-svn-id: https://svn.eduke32.com/eduke32@7666 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:40 +02:00
terminx
90cf239650 Add GAMEVAR_RAWQ16PTR, functioning the same as GAMEVAR_INT32PTR
git-svn-id: https://svn.eduke32.com/eduke32@7665 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:37 +02:00
terminx
22759d8a5e Make CLIPMASK0 and CLIPMASK1 regular defined tokens instead of read-only gamevars
I don't remember if there was any particular reason they were added as gamevars in the first place.

git-svn-id: https://svn.eduke32.com/eduke32@7664 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:35 +02:00
terminx
bf6730d8a3 Minor optimization to avoid read-after-write in Gv_DivVar()
git-svn-id: https://svn.eduke32.com/eduke32@7663 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:33 +02:00
terminx
9aa1030a09 Promote display_mirror from char to int32_t and remove GAMEVAR_UINT8PTR handling since nothing else was using it
git-svn-id: https://svn.eduke32.com/eduke32@7662 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:31 +02:00
terminx
efa3022d07 CON VM maintenance
git-svn-id: https://svn.eduke32.com/eduke32@7658 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:22 +02:00
terminx
7659e816fa CON_USE_COMPUTED_GOTO eval macro micro-optimization
This is almost as fast as ditching the bounds check here entirely.

git-svn-id: https://svn.eduke32.com/eduke32@7657 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:19 +02:00
terminx
9ba2a3b719 Fix old issue with VM_CONDITIONAL macro
git-svn-id: https://svn.eduke32.com/eduke32@7655 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:38:46 +02:00
terminx
e69fb3934e Rename Gv_GetArrayCountFromFile() to Gv_GetArrayCountForAllocSize()
git-svn-id: https://svn.eduke32.com/eduke32@7654 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:38:43 +02:00
terminx
52dde4ef32 Rename Gv_SetVarX() to Gv_SetVar() (overloaded)
git-svn-id: https://svn.eduke32.com/eduke32@7653 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:38:41 +02:00
terminx
0ff1188b59 Rename Gv_GetVarX() to Gv_GetVar() (overloaded)
git-svn-id: https://svn.eduke32.com/eduke32@7652 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:38:38 +02:00
terminx
a1556e9da7 Fix a bunch of boolean cvars that weren't flagged as CVAR_BOOL, preventing them from working with the "toggle" console command
git-svn-id: https://svn.eduke32.com/eduke32@7651 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-20 09:38:14 +02:00
terminx
6db4ac3b01 const correctness that I didn't have another commit to squash into
git-svn-id: https://svn.eduke32.com/eduke32@7648 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:27:31 +02:00
terminx
0cbb1df2d1 Rename "loopcnt" to "vm_execution_depth" and CON_DIRECT_THREADING_DISPATCH to CON_USE_COMPUTED_GOTO
Also removes a redundant "break" statement in builds not using CON_USE_COMPUTED_GOTO.

git-svn-id: https://svn.eduke32.com/eduke32@7647 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:27:29 +02:00
terminx
058c1a8060 Simplify the beginning of VM_Execute()
This also moves the loop control stuff into #ifndef CON_DIRECT_THREADING_DISPATCH blocks, since we don't actually need a loop anymore when using the computed goto stuff.

git-svn-id: https://svn.eduke32.com/eduke32@7646 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:27:26 +02:00
terminx
db8bcba93a Minor changes similar to the VM_Execute() maintenance commit
No user-facing changes.

git-svn-id: https://svn.eduke32.com/eduke32@7645 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:27:24 +02:00
terminx
b854ddff41 Fix a potentially funny bug in the CON parser
I don't think anyone actually ran into this.

git-svn-id: https://svn.eduke32.com/eduke32@7644 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:27:21 +02:00
terminx
9ac1ce04d6 Simplify CON_FINDNEARACTOR family of functions and restore the original behavior of returning the nearest sprite instead of any sprite that satisfies the condition
git-svn-id: https://svn.eduke32.com/eduke32@7641 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:21:48 +02:00
terminx
271cdeaf5d Fix errant "continue" found remaining in the CON_FINDNEARACTOR family of functions
git-svn-id: https://svn.eduke32.com/eduke32@7640 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:21:46 +02:00
terminx
6a458273a0 Replace a handful of accesses to sprite[vm.spriteNum] with accesses to vm.pSprite
It looks like these were simply missed when vm.pSprite was initially added.

git-svn-id: https://svn.eduke32.com/eduke32@7639 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:21:44 +02:00
terminx
d1af530b01 Add VM_ASSERT() macro for handling VM error conditions
This is for errors that simply check a condition (surrounded with EDUKE32_PREDICT_FALSE) and bail out with CON_ERRPRINTF() and abort_after_error(). Not everything that fits this description has been transitioned to use the new macro yet.

git-svn-id: https://svn.eduke32.com/eduke32@7638 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:21:41 +02:00
terminx
f8fba45117 Tweak inlined VM_OnEvent() internals, biggest change being the removal of two instances of EDUKE32_PREDICT_FALSE
git-svn-id: https://svn.eduke32.com/eduke32@7637 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:21:39 +02:00
terminx
562e6f419c Use function overloading to clean up some of the CON event execution function names
git-svn-id: https://svn.eduke32.com/eduke32@7636 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:21:37 +02:00
terminx
078ef9b871 Optimize A_Execute() control flow
git-svn-id: https://svn.eduke32.com/eduke32@7635 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:21:35 +02:00
terminx
de695f22bc Better VM_DummySprite()
git-svn-id: https://svn.eduke32.com/eduke32@7634 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:21:33 +02:00
terminx
3577d8a032 Clean up Lunatic stuff in VM_AlterAng()/VM_Move()/VM_UpdateAnim()/A_Execute()
git-svn-id: https://svn.eduke32.com/eduke32@7633 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:21:30 +02:00
terminx
e2f43a59a7 Add EDUKE32_PREDICT_FALSE to EVENT_ANIMATESPRITES check in G_SaveMapState() and G_RestoreMapState()
git-svn-id: https://svn.eduke32.com/eduke32@7632 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:21:28 +02:00
terminx
92174a0cf9 Minor VM_Execute() maintenance
git-svn-id: https://svn.eduke32.com/eduke32@7631 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:21:26 +02:00
terminx
3db7512c69 Templatize bfirst_search_init() and bfirst_search_try() so they can be used with types other than int16_t
git-svn-id: https://svn.eduke32.com/eduke32@7629 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
2019-09-20 09:20:14 +02:00
terminx
74c44125f8 This is more efficient
This commit brought to you by 4/20.

git-svn-id: https://svn.eduke32.com/eduke32@7628 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:19:42 +02:00
Christoph Oelckers
8074d8251e - can be compiled again but crashes. 2019-09-19 23:02:57 +02:00
Christoph Oelckers
dd7ce38cbb - adjustments for the Blood merge. 2019-09-19 22:26:44 +02:00
Christoph Oelckers
c2e4a6cb64 - sound system additions from NBlood, except for the backing code for OPL playback. 2019-09-19 20:22:09 +02:00
terminx
aa4cfed3f1 Fix longstanding player hitscan and decal z coordinate offset bug
This one traces back to the original DOS code.

git-svn-id: https://svn.eduke32.com/eduke32@7614 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:58:12 +02:00
terminx
e25a197f3e Piddly fart bullshit changes that don't really do anything
git-svn-id: https://svn.eduke32.com/eduke32@7606 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:52:31 +02:00
terminx
e9116bd23a Add SFLAG_QUEUEDFORDELETE, to handle detection and manipulation of things like decal sprites marked for deletion
git-svn-id: https://svn.eduke32.com/eduke32@7604 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:51:41 +02:00
terminx
301ac48ccd Utilize the types added in the previous commit
This patch is a bit large.

git-svn-id: https://svn.eduke32.com/eduke32@7603 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/mdsprite.h
#	source/build/src/build.cpp
#	source/build/src/polymer.cpp
#	source/build/src/polymost.cpp
#	source/build/src/voxmodel.cpp
2019-09-19 14:46:31 +02:00
terminx
0dcceb9147 Fix EDUKE32_STANDALONE crash when calling G_DeleteOldSaves() at startup in debug builds
git-svn-id: https://svn.eduke32.com/eduke32@7599 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:37:03 +02:00
terminx
e35e516c02 Make editor no longer mask off sprite cstat bits when set from script
git-svn-id: https://svn.eduke32.com/eduke32@7596 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:36:58 +02:00
terminx
1fae340426 Fix a bunch of improperly defined bitmap arrays
git-svn-id: https://svn.eduke32.com/eduke32@7594 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
2019-09-19 14:36:54 +02:00
terminx
e5c979c997 CON_UPDATESECTOR/CON_UPDATESECTORZ: only use sprite[vm.spriteNum].sectnum if the initial value of the input/output parameter is outside the range of 0 - MAXSECTORS-1
git-svn-id: https://svn.eduke32.com/eduke32@7579 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:34 +02:00
hendricks266
1ab7175c90 Duke: Fix -Wparentheses
git-svn-id: https://svn.eduke32.com/eduke32@7566 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:10 +02:00
terminx
e8a401759d Fix issue where "unbound" without a control name afterward would end up in settings.cfg when dealing with disabled gamefuncs
git-svn-id: https://svn.eduke32.com/eduke32@7548 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:20:51 +02:00
terminx
7e7b06a653 Fix issue with G hotkey in editor sound list (F2) where the input field value was clamped to the total number of defined sounds instead of the highest index a sound is defined at
git-svn-id: https://svn.eduke32.com/eduke32@7547 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:20:49 +02:00
terminx
556d2ccd83 Fix TROR wall blocking issue
git-svn-id: https://svn.eduke32.com/eduke32@7545 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:20:44 +02:00
Christoph Oelckers
ea631cb6ac - fixed some warnings 2019-09-19 14:18:44 +02:00
hendricks266
2081eff083 Patch from Nuke.YKT to fix TROR rendering in mirrors in Polymost
Includes "Fix screen tilt regression on mirror rendering"

git-svn-id: https://svn.eduke32.com/eduke32@7493 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:56:42 +02:00
hendricks266
23ba7b1550 Tiny performance cleanup in G_ShowView
git-svn-id: https://svn.eduke32.com/eduke32@7491 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:56:37 +02:00
terminx
91d8953420 Patch from Fox adding SFLAG_NOWATERSECTOR, to prevent certain sprites from moving into water
git-svn-id: https://svn.eduke32.com/eduke32@7489 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:56:33 +02:00
terminx
702241ab6d More player clipping fixes
git-svn-id: https://svn.eduke32.com/eduke32@7488 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:56:32 +02:00
terminx
5ac5a2ad3c Fix potential OOB memory access if the player's curr_weapon member is set out of range from CON
git-svn-id: https://svn.eduke32.com/eduke32@7485 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:52:34 +02:00
terminx
3c2ea5904a Fix player bumping their head on the ceiling during a jump... again...
git-svn-id: https://svn.eduke32.com/eduke32@7483 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:56 +02:00
terminx
cf30c379a5 This seems to work a little better to allow the player to jump into places they expect to be able to jump into
git-svn-id: https://svn.eduke32.com/eduke32@7481 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:53 +02:00
terminx
f50ad3d424 Use bitmap manipulation functions for "bitptr"
git-svn-id: https://svn.eduke32.com/eduke32@7477 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:43 +02:00
pogokeen
0bfde1c4d3 Fix issue where swingdoors would refuse to open or close if an enemy was in front of the door in an overlapping but unrelated/disjoint sector
git-svn-id: https://svn.eduke32.com/eduke32@7473 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:35 +02:00
terminx
24f43fe5a1 Fix another clipping problem underwater
git-svn-id: https://svn.eduke32.com/eduke32@7470 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:24:44 +02:00
terminx
b7160bf27c This is a better version of r7468
git-svn-id: https://svn.eduke32.com/eduke32@7469 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:24:38 +02:00
terminx
3926ae2d4f Fix underwater player clipping issue
git-svn-id: https://svn.eduke32.com/eduke32@7468 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:24:31 +02:00
terminx
57dce41ce9 The BUILD documentation says that pushmove() is supposed to be used to push players away from walls to avoid clipping problems, but Duke3D has never passed the correct parameters to pushmove()
This commit fixes that.

git-svn-id: https://svn.eduke32.com/eduke32@7462 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:23:53 +02:00
terminx
b62fa1fa5c Fix stupid bug in r7409
git-svn-id: https://svn.eduke32.com/eduke32@7461 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:23:47 +02:00
terminx
af3fb71b19 Improve player z clipping height detection
git-svn-id: https://svn.eduke32.com/eduke32@7460 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:23:42 +02:00
terminx
eac78ec995 This is just a little bit of work on making Ion Maiden run properly with regular EDuke32 binaries
git-svn-id: https://svn.eduke32.com/eduke32@7455 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:27:23 +02:00
terminx
5e0d63a100 Guard more Duke-specific behavior behind EDUKE32_STANDALONE
git-svn-id: https://svn.eduke32.com/eduke32@7454 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:27:20 +02:00
terminx
940822c776 Disable Duke3D-specific r_drawweapon behavior in standalone builds
git-svn-id: https://svn.eduke32.com/eduke32@7453 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:27:19 +02:00
terminx
ba1dd663dd Fix Duke3D underwater movement speed
git-svn-id: https://svn.eduke32.com/eduke32@7449 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:24:14 +02:00
terminx
b65bfefd0f Revert change to enemy step heights that wasn't working out
git-svn-id: https://svn.eduke32.com/eduke32@7448 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:24:13 +02:00
terminx
5fbc429503 Fix return types of osdcmd_dumpmapstate() and osdcmd_playerinfo()
git-svn-id: https://svn.eduke32.com/eduke32@7445 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:23:46 +02:00
terminx
36d848c09d Group stuff affected by NETCODE_DISABLE together in osdcmds.cpp--no functional changes
git-svn-id: https://svn.eduke32.com/eduke32@7444 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:23:45 +02:00
hendricks266
ac8dabb0fb Rename net.* to network.*
git-svn-id: https://svn.eduke32.com/eduke32@7443 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:20:45 +02:00
terminx
3b271fb7bb Fix issue where controls intentionally bound to no keys would be reset to default at startup
git-svn-id: https://svn.eduke32.com/eduke32@7442 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:14:50 +02:00
terminx
1a9944a260 Fix Duke's head bouncing off the ceiling when jumping
git-svn-id: https://svn.eduke32.com/eduke32@7439 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:14:29 +02:00
terminx
e77332db32 Work around issue where player sticks to the ceiling after jumping
git-svn-id: https://svn.eduke32.com/eduke32@7438 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:14:28 +02:00
terminx
d48ca24079 This should fix most of the remaining issues with projectiles colliding with ledges they shouldn't be hitting
git-svn-id: https://svn.eduke32.com/eduke32@7436 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:14:26 +02:00
terminx
42363fd73a Replace hard-coded literal "777" for player crack_time member with preprocessor define
git-svn-id: https://svn.eduke32.com/eduke32@7430 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:06:41 +02:00
terminx
c9719e4aa0 EDUKE32_STANDALONE stuff
git-svn-id: https://svn.eduke32.com/eduke32@7429 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:06:40 +02:00
terminx
eb5cade7de Fix irritating Duke clipping bugs, including where the player walks up on to wall oriented sprites
This also fixes getting through floor gaps that are too small by pressing jump while holding crouch.

These changes are absolutely going to break certain maps, and cause new bugs, at which point additional required fixes will be made on a case-by-case basis.

git-svn-id: https://svn.eduke32.com/eduke32@7428 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:06:38 +02:00
terminx
bafc3b45a2 Fix "findnearactor" family of CON functions
git-svn-id: https://svn.eduke32.com/eduke32@7423 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 11:49:00 +02:00
Christoph Oelckers
8f6f979fa5 - do not force the tile shades mode for now without re_adding the removed variable.
Much of this needs to be abstracted out but until that part is done this still needs to work properly.
2019-09-19 11:02:05 +02:00
terminx
a5965e2562 Remove r_usetileshades--GLOBAL_NO_GL_TILESHADES flag for DN64 not affected
This also locks the texture filtering options in the menu behind ifdef guards until they're fixed.

git-svn-id: https://svn.eduke32.com/eduke32@7420 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
#	source/duke3d/src/menus.cpp
2019-09-19 10:50:18 +02:00
Christoph Oelckers
d63cf04e06 - removed the compressed texture cache.
This is a pointless relic from the past and makes zero sense with modern graphics hardware.
2019-09-17 20:18:18 +02:00
terminx
21217585c9 Fix crash when starting E2L1
git-svn-id: https://svn.eduke32.com/eduke32@7440 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-13 00:51:02 +02:00
terminx
d869e612e4 Fix stupid typo in hardcoded Duke3D actor
git-svn-id: https://svn.eduke32.com/eduke32@7426 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-13 00:51:02 +02:00
terminx
120332c562 Fix hang when setting r_maxfps to 0 while r_maxfpsoffset is a negative value
git-svn-id: https://svn.eduke32.com/eduke32@7425 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-13 00:51:02 +02:00
terminx
95fa4e04f9 Allow lowering fov to 60 from the console
git-svn-id: https://svn.eduke32.com/eduke32@7416 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:54 +00:00
terminx
b819b298ee ifdef EDUKE32_STANDALONE something for hardcoded Duke projectiles
git-svn-id: https://svn.eduke32.com/eduke32@7410 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:31 +00:00
terminx
da6b01bf8e Improve collision for projectiles
This does a few things:

-projectiles now use clipmovex() instead of clipmove() (this is like CON_CLIPMOVENOSLIDE)
-the z distances passed to clipmove() are now calculated from the sprite's size instead of being hard-coded
-projectiles now move as if they had SFLAG_NOCLIP applied for the first tic after spawning

git-svn-id: https://svn.eduke32.com/eduke32@7409 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:27 +00:00
terminx
2ec041b10e Use correct type in range-based loop
git-svn-id: https://svn.eduke32.com/eduke32@7407 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:19 +00:00
terminx
c7f003a1a9 Remove a couple of blocks in A_MoveSpriteClipdist() from standalone builds and call setsprite() unconditionally before doing any movement
git-svn-id: https://svn.eduke32.com/eduke32@7406 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:16 +00:00
terminx
729f83761a Rename "player speech" menu option in standalone builds
git-svn-id: https://svn.eduke32.com/eduke32@7402 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:00 +00:00
terminx
92c52d7e60 Formatting
git-svn-id: https://svn.eduke32.com/eduke32@7399 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:07:48 +00:00
terminx
e33fed3bf8 Add Nuke.YKT to thanks section in credits and move pogokeen to active developers
This also cleans up the code for MENU_CREDITS4 so that it's significantly easier to alter in the future if needed.

git-svn-id: https://svn.eduke32.com/eduke32@7389 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-04 23:48:59 +00:00
terminx
ac87b8c945 I forgot to remove this comment in r7376
git-svn-id: https://svn.eduke32.com/eduke32@7384 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-03 11:15:12 +00:00
terminx
3c0a38d47a Rename "INCOMPLETE_STRUCT_ACCESS" to CON_DISCRETE_VAR_ACCESS as it was neither incomplete nor anything to do with access to structs
However, it's remaining disabled because even with the new dispatch method it still doesn't improve performance any.

git-svn-id: https://svn.eduke32.com/eduke32@7382 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-03 11:15:01 +00:00
terminx
35b208eeab Fix saving to %APPDATA% on Windows...
git-svn-id: https://svn.eduke32.com/eduke32@7381 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:52:50 +00:00
terminx
e61831ad5d Fix CON issues introduced in r7357 and r7358
git-svn-id: https://svn.eduke32.com/eduke32@7378 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:22:08 +00:00
terminx
dbcd3968ee Am I missing something here?
git-svn-id: https://svn.eduke32.com/eduke32@7377 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:22:04 +00:00
terminx
8b7d099cbd Remove reference pointing to vm.pPlayer because it seems incompatible with the new dispatch method
git-svn-id: https://svn.eduke32.com/eduke32@7376 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:22:00 +00:00
terminx
6a251fca16 Free inthash tables used by the CON compiler using the contents of inttables[] instead of listing them explicitly in C_Compile()
git-svn-id: https://svn.eduke32.com/eduke32@7371 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:41 +00:00
terminx
6d9ecbcfb7 Marginally less sucky version of a function that completely sucks
git-svn-id: https://svn.eduke32.com/eduke32@7367 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:25 +00:00
terminx
db51740d3d Clean up a few uses of the hash table functions to account for hash_findcase() working properly now
git-svn-id: https://svn.eduke32.com/eduke32@7366 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:21 +00:00
terminx
0de543ca2b This was slightly faster here
git-svn-id: https://svn.eduke32.com/eduke32@7363 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:09 +00:00
hendricks266
7414f29348 Add buildvfs, abstraction layer for file I/O.
Currently it passes calls through to the system libraries as before.

Also adds an incomplete implementation on PhysFS.

git-svn-id: https://svn.eduke32.com/eduke32@7359 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-01 08:51:50 +00:00
hendricks266
5c9b921285 CON: Implement a new VM dispatch method using an explicit jump table
Most of this patch is by pogokeen.

git-svn-id: https://svn.eduke32.com/eduke32@7358 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-28 07:21:49 +00:00
hendricks266
12bfbd5a06 CON: Macro-ize CON keyword tokens in gamedef.h and gameexec.cpp
Most of this patch is by pogokeen.

git-svn-id: https://svn.eduke32.com/eduke32@7357 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-28 07:21:43 +00:00
hendricks266
b7e9cd0791 CON: Move five missed opcodeless keywords down in gamedef.h
git-svn-id: https://svn.eduke32.com/eduke32@7356 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-28 07:21:40 +00:00
hendricks266
328e771636 CON: #ifdef out deactivated stuff that should not be half-in, half-out
git-svn-id: https://svn.eduke32.com/eduke32@7355 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-28 07:21:37 +00:00
hendricks266
f84cbd9a1a Clean up unused warnings
git-svn-id: https://svn.eduke32.com/eduke32@7354 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-28 07:21:33 +00:00
hendricks266
94504ee0c3 Fix net.cpp compilation failure under clang
git-svn-id: https://svn.eduke32.com/eduke32@7353 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-28 07:21:30 +00:00
terminx
b7e524d5d1 Fix autoaim bug introduced in r6942
git-svn-id: https://svn.eduke32.com/eduke32@7352 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-23 05:10:59 +00:00
terminx
766fb93191 Fix a crash when accessing SECTOR_WALLPTR with CON_SETSECTOR
git-svn-id: https://svn.eduke32.com/eduke32@7351 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-22 20:26:38 +00:00
terminx
4b1d268908 Use existing viewingrange and yxaspect for showview so it matches that of the main view
This fixes fov when using showview in EVENT_DISPLAYROOMS to do layered rendering, but it might not be right for uses of showview that simply display picture-in-picture stuff on screen.

git-svn-id: https://svn.eduke32.com/eduke32@7350 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-22 18:35:37 +00:00
terminx
e0b5e32be2 Clean up a little bit of yxaspect and viewingrange variable cruft in G_DrawRooms()
git-svn-id: https://svn.eduke32.com/eduke32@7349 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-22 18:35:33 +00:00
terminx
934f1e9ec6 Display value next to FOV slider and allow dropping FOV to 70
git-svn-id: https://svn.eduke32.com/eduke32@7348 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-22 18:35:28 +00:00
terminx
5eb007396d Round computed horiz instead of potentially truncating
git-svn-id: https://svn.eduke32.com/eduke32@7345 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-21 00:58:33 +00:00
terminx
e513ad21d1 Scale both mouse axes the same in CONTROL_GetMouseDelta()
git-svn-id: https://svn.eduke32.com/eduke32@7344 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-21 00:58:28 +00:00
terminx
10757aa836 PI -> fPI
git-svn-id: https://svn.eduke32.com/eduke32@7343 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-20 21:33:04 +00:00
terminx
a3f49b4584 Improve vertical mouse aim
This improves vertical mouse aim in two ways: the Y axis is normalized to match the sensitivity of the X axis, and horiz adjustment has been corrected so that the player's pitch is operated on as an angle instead of as the tangent of said angle. Based on a patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@7342 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-20 21:33:00 +00:00
terminx
eef6667fbc Save mouse and joystick analog scales, dead zones, and saturation values to .cfg whether they're the defaults or not
This fixes an issue where changing one of these values would result in the value being written to the .cfg, but changing the value back to the default would leave the old value in the .cfg.

git-svn-id: https://svn.eduke32.com/eduke32@7341 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-20 21:32:56 +00:00
terminx
e74cad12ad Increase MAXANGVEL for player input per tic from 512 to 1024
git-svn-id: https://svn.eduke32.com/eduke32@7340 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-20 21:32:52 +00:00
terminx
523121a995 Don't crash when attempting to define quotes at indexes that exceed MAXQUOTES
git-svn-id: https://svn.eduke32.com/eduke32@7337 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-20 21:32:39 +00:00
hendricks266
cf86f63121 Fix a mistake in r7322
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@7335 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-19 05:26:53 +00:00
hendricks266
f349dfdabf Menus: Fix the cursor being affected by viewport-annexing status bar sizes
git-svn-id: https://svn.eduke32.com/eduke32@7334 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-19 05:26:49 +00:00
terminx
af83ff0675 Patch from Fox to fix positioning of SCUBAMASK tile with the full status bar
git-svn-id: https://svn.eduke32.com/eduke32@7332 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-18 22:02:46 +00:00
terminx
180c73d8ca Fix the automap glitch in the region around the full status bar in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@7331 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-18 22:02:42 +00:00
terminx
e5c8c8c4fc Fix the direction which the shadow is cast in "modern" status bar ammo icon
git-svn-id: https://svn.eduke32.com/eduke32@7330 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-18 22:02:38 +00:00
terminx
8433d133b4 Patch from Fox:
Add a FOV option in the menu. Range from 75 to 120 degrees (at 4:3 resolution), default is 90.

New userdef "fov". Equals the FOV in 360 degrees.

Update Polymost projection hack, so it compensates for the FOV or height of the game view.

Fix FOV in Polymer when the full status bar is visible. Now the FOV depends of the width of the game view instead of the height.

git-svn-id: https://svn.eduke32.com/eduke32@7329 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-18 22:02:33 +00:00
terminx
464e32d712 Remove read only bit from SPRITE_SECTNUM and SPRITE_STATNUM in m32script
git-svn-id: https://svn.eduke32.com/eduke32@7327 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-18 22:02:22 +00:00
terminx
38ff5e1c89 Add mousebits gamevar to m32script for querying mouse button states
git-svn-id: https://svn.eduke32.com/eduke32@7324 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-30 09:36:56 +00:00
terminx
c4753af497 Fix issue where a useless error would be printed to the log and bad memory reads could occur when compiling a CON script with an invalid structure member passed as gamevar structure access shortcut shorthand
git-svn-id: https://svn.eduke32.com/eduke32@7323 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-30 09:36:52 +00:00
terminx
1245799e6b screentext alignment patch from Fox
git-svn-id: https://svn.eduke32.com/eduke32@7322 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-30 09:36:47 +00:00
terminx
8e50f47aa4 rotatesprite hack from Fox
git-svn-id: https://svn.eduke32.com/eduke32@7321 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-30 00:19:56 +00:00
terminx
7a8e368197 CON access to raw q16 values for player horiz and ang etc
git-svn-id: https://svn.eduke32.com/eduke32@7320 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-30 00:13:05 +00:00
terminx
d52151c2e8 Fix issue with definegamefuncname and undefinegamefunc
git-svn-id: https://svn.eduke32.com/eduke32@7317 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-23 00:21:52 +00:00
terminx
8098d04875 Add C as a secondary binding for crouch and remove the mouse look and crosshair toggles from the default key bindings--they can still be bound manually if desired.
git-svn-id: https://svn.eduke32.com/eduke32@7315 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-22 22:51:04 +00:00
hendricks266
9b17be7f3e CON: Add EVENT_DISPLAYROOMSCAMERATILE
git-svn-id: https://svn.eduke32.com/eduke32@7313 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-22 17:56:34 +00:00
hendricks266
a91391fdec Menus: Make the gamma slider move in increments of 0.05 instead of 0.1
git-svn-id: https://svn.eduke32.com/eduke32@7312 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-22 17:56:30 +00:00
terminx
5882d9546c Add mutex to protect against S_Callback() being called from more than one thread at the same time
git-svn-id: https://svn.eduke32.com/eduke32@7310 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-13 23:26:50 +00:00
terminx
5f141ed8d6 Make the time period between averaging the min and max values shown with r_showfps 2+ user configurable with r_showfpsperiod
git-svn-id: https://svn.eduke32.com/eduke32@7308 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-12 00:22:10 +00:00
terminx
97c2271b92 Fix an infinite loop in S_StopEnvSound() that could occur if the audio thread happened to finish playing a voice in between checking if g_sounds[].voices[].id > FX_Ok and calling FX_StopSound(), exacerbated by improper std::atomic usage
git-svn-id: https://svn.eduke32.com/eduke32@7305 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-12 00:21:58 +00:00
terminx
6ca492918e Slightly revise framerate limiter and r_showfps 2 display
git-svn-id: https://svn.eduke32.com/eduke32@7304 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-12 00:21:53 +00:00
terminx
c9390f1845 Fix buffer overrun
git-svn-id: https://svn.eduke32.com/eduke32@7302 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-12 00:21:44 +00:00
terminx
a401dfed47 Enable undo/redo in Mapster32 3d mode. Not incredibly well tested.
git-svn-id: https://svn.eduke32.com/eduke32@7301 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-12 00:21:40 +00:00
terminx
a8c613c995 Add 75, 100, and 240 as options for the FPS limiter
git-svn-id: https://svn.eduke32.com/eduke32@7300 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-12 00:21:36 +00:00
terminx
5ff83a5f5f Remove 'none' as an option for the frame limiter in the menu and fix a bug with the slider for the offset
git-svn-id: https://svn.eduke32.com/eduke32@7298 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-23 23:23:46 +00:00
terminx
a24c720e11 MSVC build fix
git-svn-id: https://svn.eduke32.com/eduke32@7296 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-16 23:28:09 +00:00
terminx
8447e3392d Fix NETCODE_DISABLED builds. We should probably rename Net_GetPackets() to something else, because it does other required things.
git-svn-id: https://svn.eduke32.com/eduke32@7295 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 22:33:15 +00:00
terminx
22ad4221d9 Fix loading screen tile
git-svn-id: https://svn.eduke32.com/eduke32@7294 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 22:33:09 +00:00
terminx
1c369d4978 Fix issue where the option to enable or disable Polymer wasn't being saved properly
git-svn-id: https://svn.eduke32.com/eduke32@7293 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 21:35:03 +00:00
terminx
cae791ffa4 Fix issue where the player's pistol isn't removed when they spawn on HURTRAIL/FLOORSLIME/FLOORPLASMA
git-svn-id: https://svn.eduke32.com/eduke32@7292 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 21:34:57 +00:00
terminx
acf8384d11 macOS build fix. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@7291 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 20:17:03 +00:00
terminx
650672717d Fix issue with editor not allowing wall and floor aligned sprites to be resized in 2d mode without textured view mode enabled
git-svn-id: https://svn.eduke32.com/eduke32@7289 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:40:26 +00:00
terminx
89df4950d4 This should fix the too many sprites spawned issue in single player
git-svn-id: https://svn.eduke32.com/eduke32@7288 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:40:20 +00:00
terminx
9a23ea148e Expand the list of options available for the framerate limiter, and add a separate option that controls an offset added to the limiter. This should allow the menu to cover all of the important use cases involving G-SYNC, FreeSync, and "Fast Sync".
git-svn-id: https://svn.eduke32.com/eduke32@7287 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:40:14 +00:00
terminx
33b9dafe8f Fix net.cpp line endings
git-svn-id: https://svn.eduke32.com/eduke32@7286 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:40:08 +00:00
terminx
91096d2415 Hendricks and I discussed "auto *" and we've come to the conclusion that it's bad form, so this corrects that.
git-svn-id: https://svn.eduke32.com/eduke32@7283 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:39:51 +00:00
terminx
30cc6a35e8 I don't see a reason for these operations to be separated
git-svn-id: https://svn.eduke32.com/eduke32@7281 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:39:36 +00:00
terminx
06ac4f88b9 This fixes S_CheckSoundPlaying() and makes CON_IFSOUND work correctly in scripts that run during menus. These changes together fix the exchange between Duke and Lani at the end of episode 3 of Duke3D.
git-svn-id: https://svn.eduke32.com/eduke32@7279 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:39:25 +00:00
terminx
5102281e0e This makes the output from r_showfps 3, cl_showcoords 1, and what is printed after DNDEBUG all happily coexist. The display of g_moveActorsTime and g_moveWorldTime has also been moved from cl_showcoords to r_showfps.
git-svn-id: https://svn.eduke32.com/eduke32@7278 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:39:19 +00:00
terminx
ef91435120 Fix CON commands leaving useless extra values in the bytecode. They were only valid outside of executable blocks so it was never noticed.
git-svn-id: https://svn.eduke32.com/eduke32@7277 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:39:14 +00:00
terminx
c287866954 Fix CON compiler line number accounting problem introduced with the optimization that transforms CON_SETVARVAR -> CON_SETVAR if the second parameter is a constant
git-svn-id: https://svn.eduke32.com/eduke32@7276 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:39:08 +00:00
terminx
b4404978d6 Change A_AddToDeleteQueue() to call A_DeleteSprite() on sprites it removes from the queue directly, as sprites with statnums other than STAT_ACTOR and STAT_MISC are not deleted automatically when their xrepeat is 0. This fixes using CON_INSERTSPRITEQ with sprites of statnums other than STAT_ACTOR and STAT_MISC.
git-svn-id: https://svn.eduke32.com/eduke32@7275 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:39:03 +00:00
terminx
49f77b0a21 This is never going to work. When it was first programmed, it was done under the assumption that dividing an integer by a power of 2 was always the same as shifting it. It turns out that this isn't the case and I'm a dumbass. :D
git-svn-id: https://svn.eduke32.com/eduke32@7274 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:38:58 +00:00
terminx
cad5a5b8c5 Move the debug_break() call in the default case of VM_Execute() to after the call to VM_ScriptInfo().
git-svn-id: https://svn.eduke32.com/eduke32@7273 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:38:53 +00:00
terminx
8f7e842beb After some refactoring, several CON error checks done at runtime stood out as things that could be determined at script compile time. They have been moved.
git-svn-id: https://svn.eduke32.com/eduke32@7271 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:38:43 +00:00
terminx
3d4d640be3 Attempting to compile a CON with something stupid like "mul var 0" or "div var 0" in it now throws an error
git-svn-id: https://svn.eduke32.com/eduke32@7270 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:38:38 +00:00
terminx
2be7afd33c cmenu console command now opens the menu if it isn't already open
git-svn-id: https://svn.eduke32.com/eduke32@7269 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:38:32 +00:00
terminx
d2f16606c5 Comment out actor and player versions of gamevar manipulation opcodes as they aren't performant with our current switch-based method of processing instructions. This also tweaks the beginning of VM_Execute() to gain a little more performance.
git-svn-id: https://svn.eduke32.com/eduke32@7268 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:38:27 +00:00
terminx
fad17a83c0 WIP work on fixing CON_DIVVAR/CON_MULVAR optimization
git-svn-id: https://svn.eduke32.com/eduke32@7267 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:38:22 +00:00
terminx
cf95da82e9 Implement individual opcodes for all the gamevar if checks and the functions that do math on vars
git-svn-id: https://svn.eduke32.com/eduke32@7266 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:38:16 +00:00
terminx
ace77922b1 Global var opcodes for common conditional statements. Decent performance gain!
git-svn-id: https://svn.eduke32.com/eduke32@7265 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:38:10 +00:00
terminx
6dfafc49b1 Change goofy check for g_errorCnt and g_warningCnt in gamedef
git-svn-id: https://svn.eduke32.com/eduke32@7264 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:38:05 +00:00
terminx
dbdf662790 Use separate instructions in the bytecode for manipulating global variables versus more complex variable types. The optimization that transforms CON_DIVVAR and CON_MULVAR into CON_SHIFTVARR and CON_SHIFTVARL plus CON_INV has been disabled for now until I can debug a problem with it.
git-svn-id: https://svn.eduke32.com/eduke32@7263 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:38:00 +00:00
terminx
702d30f2b5 Replace pointer with reference in VM_Execute()
git-svn-id: https://svn.eduke32.com/eduke32@7262 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:37:54 +00:00
terminx
72d80890e2 CON cleanup/tweaks. This improves the game update time by about 5% in some of my test scenarios.
git-svn-id: https://svn.eduke32.com/eduke32@7261 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:37:49 +00:00
terminx
0bbde29c85 Use reference to clean up CON_QSPRINTF
git-svn-id: https://svn.eduke32.com/eduke32@7260 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:37:44 +00:00
terminx
76edec81ac CON cleanups
git-svn-id: https://svn.eduke32.com/eduke32@7259 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:37:39 +00:00
terminx
cdefc293c0 Fix setvar console command, and add a line of output so you know it did something
git-svn-id: https://svn.eduke32.com/eduke32@7258 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:37:34 +00:00
terminx
6696cb0036 This just shuffles some things around and these aren't (or shouldn't be) functional changes.
git-svn-id: https://svn.eduke32.com/eduke32@7257 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:37:29 +00:00
terminx
891bac2b0f This is a cool CON compiler optimization that replaces all of the "varvar" commands and conditional checks in the compiled code with the "var" version if the value supplied to the function is a constant
git-svn-id: https://svn.eduke32.com/eduke32@7254 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:37:13 +00:00
terminx
f782a86675 I'm pretty sure this is a bug
git-svn-id: https://svn.eduke32.com/eduke32@7253 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:37:08 +00:00
terminx
b3d1002b58 Move CON_STARTTRACK in gamedef.cpp so it isn't in between the related CON_IFXXX stuff nearby
git-svn-id: https://svn.eduke32.com/eduke32@7252 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:37:03 +00:00
terminx
7fb84c7a69 Include build.h from player.h to satisfy the need for MAXPLAYERS and compat.h stuff that build.h pulls in
git-svn-id: https://svn.eduke32.com/eduke32@7251 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:36:58 +00:00
terminx
07d2222dfa Bump MAXANGVEL and MAXHORIZ
git-svn-id: https://svn.eduke32.com/eduke32@7250 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:36:53 +00:00
terminx
5c6d2d706f Use LINE_NUMBER macro in gamedef.cpp
git-svn-id: https://svn.eduke32.com/eduke32@7249 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:36:48 +00:00
terminx
8ff047a82e More minor CON parser cleanup. This commit is not incredibly meaningful.
git-svn-id: https://svn.eduke32.com/eduke32@7248 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:36:42 +00:00
terminx
41c33af8e0 This fixes a small oversight with r7238
git-svn-id: https://svn.eduke32.com/eduke32@7247 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:36:37 +00:00
terminx
f40026a0be Add bounds check to C_GetNextLabelName(). This isn't really necessary because the extra writes to the label buffer are immediately overwritten by the next label found, but I could see it causing a crash in an edge case where somehow the maximum number of labels had been defined.
git-svn-id: https://svn.eduke32.com/eduke32@7246 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:36:32 +00:00
terminx
8b0cce6cb7 Convert *(g_scriptPtr-x) syntax in gamedef.cpp to g_scriptPtr[-x], as it should ultimately be more readable and less prone to programming errors.
git-svn-id: https://svn.eduke32.com/eduke32@7245 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:36:27 +00:00
terminx
b9fa88b5ed This was worth a couple fps in classic mode for me with particularly heavy CON scripts
git-svn-id: https://svn.eduke32.com/eduke32@7244 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:36:21 +00:00
terminx
ef6a60396c Remove unnecessary spriteNum argument from P_Submerge() and P_Emerge()
git-svn-id: https://svn.eduke32.com/eduke32@7243 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:36:15 +00:00
seventyfive
87cf4495bf - Packet code implementation (merge from private c/s repo), world updates are now synced through snapshots. See tag SVN_SyncPoint_Dec2018 on master of the other repo.
- "Scratch pad" sprites implementation, to avoid desyncs in sprite indexes, clients will insert temporary sprites which are cleared out when they receive the next snapshot from the server.
- Patches from Striker which fix player stomping frag counts, the accept button when hosting a game through the menu, and a "noffire" command line parameter.
- Patches from NY00123: t_data sync optimizations to improve some jittery behavior on the client side.

git-svn-id: https://svn.eduke32.com/eduke32@7242 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-08 00:40:39 +00:00
terminx
7bd5fa42ee macOS build fix
git-svn-id: https://svn.eduke32.com/eduke32@7241 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 21:25:44 +00:00
terminx
252fb58321 Fix oversight with wall texture rotation on tile 0
git-svn-id: https://svn.eduke32.com/eduke32@7240 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 21:17:59 +00:00
terminx
1c83bd0a01 Fix issue with a couple symbols from cmdline.h sometimes picking up different linkage due to accidental double definition in game.h
git-svn-id: https://svn.eduke32.com/eduke32@7239 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 19:03:40 +00:00
terminx
6d7537aa27 CON syntax extension: the empty "[]" shortcut for accessing a struct at index THISACTOR can now be omitted.
This allows cleaner syntax such as "geta .x temp", "ife sprite.x temp", etc.

git-svn-id: https://svn.eduke32.com/eduke32@7238 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:14:54 +00:00
terminx
7fd81960e2 Add unsigned access to actor .htmovflag through actor .htumovflag
git-svn-id: https://svn.eduke32.com/eduke32@7237 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:14:49 +00:00
terminx
38c473851b Misc CON fixups
git-svn-id: https://svn.eduke32.com/eduke32@7236 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:14:43 +00:00
terminx
2f9f16de7f Further clean up C_SetScriptSize(). This also fixes a bug in the function where when expanding the buffer size, most of the extra space was left uninitialized due to bad parameters passed to memset().
git-svn-id: https://svn.eduke32.com/eduke32@7235 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:14:38 +00:00
terminx
c29ffec9cb Clean up A_InsertSprite() and the beginning of A_Spawn()
git-svn-id: https://svn.eduke32.com/eduke32@7234 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:14:33 +00:00
terminx
c4f76e55a6 Shuffle things around so most of the script structure access stuff actually resides in gamestructures.cpp
git-svn-id: https://svn.eduke32.com/eduke32@7233 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:14:26 +00:00
terminx
4bc7963f48 Minor CON compiler cleanup
git-svn-id: https://svn.eduke32.com/eduke32@7232 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:14:20 +00:00
terminx
5998256125 This should improve the reliability of CON_SWITCH, and maybe allow nesting them to work.
git-svn-id: https://svn.eduke32.com/eduke32@7231 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:14:15 +00:00
terminx
67a3ffd44b Small cleanup in gameexec
git-svn-id: https://svn.eduke32.com/eduke32@7230 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:14:10 +00:00
terminx
0aff0aaf20 This is a little bit more readable
git-svn-id: https://svn.eduke32.com/eduke32@7229 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:14:05 +00:00
terminx
6da9b537e5 Fix Gv_GetArrayOrStruct() error message
git-svn-id: https://svn.eduke32.com/eduke32@7228 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:14:00 +00:00
terminx
54bc64ea10 EDUKE32_STANDALONE guard some more Duke3D-specific behavior
git-svn-id: https://svn.eduke32.com/eduke32@7227 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:55 +00:00
terminx
4861d1fc3d WIP wall texture rotation bit
git-svn-id: https://svn.eduke32.com/eduke32@7226 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:48 +00:00
terminx
c1caf149d7 Compile without -fno-strict-aliasing.
git-svn-id: https://svn.eduke32.com/eduke32@7224 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:33 +00:00
terminx
1cbdb901bd This one is for Hendricks
git-svn-id: https://svn.eduke32.com/eduke32@7223 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:25 +00:00
terminx
279bdca726 Was checking something out for a mapper and noticed this block of code should be nested deeper.
git-svn-id: https://svn.eduke32.com/eduke32@7222 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:19 +00:00
terminx
592ee52d2b Improve selection of a failsafe video mode if videoSetGameMode() fails at game startup
git-svn-id: https://svn.eduke32.com/eduke32@7221 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:14 +00:00
terminx
992d5abac2 Mapster32: stop playing sounds when entering the tile selector in 3d mode
git-svn-id: https://svn.eduke32.com/eduke32@7220 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:09 +00:00
terminx
21958bc110 Minor start window cleanup. This ended up touching a bunch of other files due to variable renaming, but there are zero functional changes to anything but the startup window in this commit.
git-svn-id: https://svn.eduke32.com/eduke32@7219 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:02 +00:00
terminx
81d0632099 These changes aren't particularly meaningful
git-svn-id: https://svn.eduke32.com/eduke32@7215 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:12:38 +00:00
terminx
073987fa42 After parsing the cfg, fill in the default bindings for any control functions that are completely missing, with function unbound and key unused by anything else.
git-svn-id: https://svn.eduke32.com/eduke32@7212 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:12:21 +00:00
terminx
ca1494262c Convert some unwieldly g_player[myconnectindex].ps->gm crap to references
git-svn-id: https://svn.eduke32.com/eduke32@7211 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:12:16 +00:00
terminx
bb8e441d0d Slightly simplify S_OpenAudio()...
git-svn-id: https://svn.eduke32.com/eduke32@7210 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:12:11 +00:00
terminx
871207294e Use MODE_RESTART in osdcmd_map() when already in a game
git-svn-id: https://svn.eduke32.com/eduke32@7209 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:12:06 +00:00
terminx
fb15d84982 Rename Gv_GetSpecialVar() to Gv_GetArrayOrStruct() and fix what would be a bug in Gv_GetVarDataPtr() if we were using it for something more than the single thing we use it for now
git-svn-id: https://svn.eduke32.com/eduke32@7208 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:12:01 +00:00