Commit graph

815 commits

Author SHA1 Message Date
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