Commit graph

7608 commits

Author SHA1 Message Date
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
terminx
23308603c5 Prevent crash in the editor if newnumwalls and numwalls are both somehow -1
git-svn-id: https://svn.eduke32.com/eduke32@7207 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:56 +00:00
terminx
6618883d7e Fix crash when attempting to load a corrupt map
git-svn-id: https://svn.eduke32.com/eduke32@7206 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:50 +00:00
terminx
0d652ae063 Switch VM_EventCommon to use references
git-svn-id: https://svn.eduke32.com/eduke32@7205 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:44 +00:00
terminx
3b7f41e2bb sdlayer: pass SDL_WINDOW_FULLSCREEN_DESKTOP to SDL_SetWindowFullscreen() when setting a windowed mode that matches the desktop resolution
git-svn-id: https://svn.eduke32.com/eduke32@7204 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:38 +00:00
terminx
6ef3c4c00f Convert the Gv_GetVar and Gv_SetVar family of functions into something similar to the setup for VM_OnEvent, where multiple versions of the functions are generated by the compiler via forced inlining. This makes the functions much easier to maintain.
git-svn-id: https://svn.eduke32.com/eduke32@7203 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:32 +00:00
terminx
a7a1ada83d Tiny cleanups
git-svn-id: https://svn.eduke32.com/eduke32@7202 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:27 +00:00
terminx
32057d2e19 Direct struct access for tsprite, and break special gamevar access out of Gv_GetVar() and into a separate function like it already was with Gv_GetVarX()
git-svn-id: https://svn.eduke32.com/eduke32@7201 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:21 +00:00
terminx
18916ddaf6 Clean up Gv_AddSystemVars() and Gv_RefreshPointers()
git-svn-id: https://svn.eduke32.com/eduke32@7200 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:14 +00:00
terminx
dc519575d4 Add LAST_LABEL macro
git-svn-id: https://svn.eduke32.com/eduke32@7199 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:09 +00:00
terminx
893bcbd603 Direct access for the actor structs
git-svn-id: https://svn.eduke32.com/eduke32@7198 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:04 +00:00
terminx
34c6fcc69f gamedef.cpp and friends: use preprocessor defines instead of hard-coded values for gamevar IDs that are really constants or arrays or structs
git-svn-id: https://svn.eduke32.com/eduke32@7197 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:10:57 +00:00
terminx
2c3ba0fdb6 Clean up VM array handling with references
git-svn-id: https://svn.eduke32.com/eduke32@7196 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:10:51 +00:00
terminx
7540f590f1 Refine CON VM error handling behavior.
Old behavior: when an operation failed, execution attempted to continue from the next command as if nothing had happened. This behavior was poorly defined and often had unintended consequences; e.g a "random" sprite being operated on because an operation that was supposed to place a sprite id in a gamevar failed, and the previous value was taken as a sprite id instead.

New behavior: execution of the state/actor/event halts. Failure of a particular actor is more immediately obvious and unwanted trampling on other parts of the game state does not occur.

git-svn-id: https://svn.eduke32.com/eduke32@7195 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:10:45 +00:00
terminx
eb546f111e WIP: direct CON read/write access to structure members via pointer and offset instead of translation function. This is only enabled for wall and sector structure members in this commit.
git-svn-id: https://svn.eduke32.com/eduke32@7194 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:10:39 +00:00
terminx
076cc306f8 Remove CON ERROR_OPENBRACKET and ERROR_CLOSEBRACKET and add ERROR_NOTTOPLEVEL
git-svn-id: https://svn.eduke32.com/eduke32@7193 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:10:32 +00:00
terminx
af7c8efaf8 Add a couple missing headers to build.vcxproj
git-svn-id: https://svn.eduke32.com/eduke32@7192 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:10:27 +00:00
terminx
90bfd3d374 Minor gamedef.cpp cleanup
git-svn-id: https://svn.eduke32.com/eduke32@7191 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:10:21 +00:00
terminx
a0562d5e69 Formatting
git-svn-id: https://svn.eduke32.com/eduke32@7190 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:10:15 +00:00
terminx
f14bae5098 Use reference in G_DoGameStartup().
git-svn-id: https://svn.eduke32.com/eduke32@7189 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:10:10 +00:00
terminx
04c9f99620 Add a new member to memberlabel_t to hold the offset of a structure member for CON access. This will be used in a future commit.
git-svn-id: https://svn.eduke32.com/eduke32@7188 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:10:04 +00:00
terminx
acf477c09d Sorting and formatting for [names|sound]dyn.[cpp|h]
git-svn-id: https://svn.eduke32.com/eduke32@7187 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:09:58 +00:00
terminx
e513e1ceae Cleanup includes
git-svn-id: https://svn.eduke32.com/eduke32@7186 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:09:48 +00:00
terminx
6a97d4ea46 SDL 2.0.9
git-svn-id: https://svn.eduke32.com/eduke32@7185 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:09:27 +00:00
terminx
9c0ee3d557 Use references in G_UpdatePlayerFromMenu() and G_BackToMenu() for readability
git-svn-id: https://svn.eduke32.com/eduke32@7184 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:09:09 +00:00
terminx
89fe17e673 This does nothing but fix indentation of a single block of code
git-svn-id: https://svn.eduke32.com/eduke32@7183 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:09:04 +00:00
terminx
52eed46aa9 Remove dead code that once opened a browser to the store page for Duke Nukem 3D: Megaton Edition on Steam
git-svn-id: https://svn.eduke32.com/eduke32@7182 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:59 +00:00
terminx
5164ab4a25 More control/input cleanup
git-svn-id: https://svn.eduke32.com/eduke32@7181 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:53 +00:00
terminx
a4182305d0 Clean up some of the remaining stuff in duke3d/src/config.cpp a bit. Not very meaningful changes... just things I saw when trying to decide how to tackle some of this mess.
git-svn-id: https://svn.eduke32.com/eduke32@7180 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:44 +00:00
terminx
c927da7687 Remove the "ConsoleKeys[]" array from osdcmds.cpp in favor of accessing mact's sctokeylut[]
git-svn-id: https://svn.eduke32.com/eduke32@7179 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:38 +00:00
terminx
339c2ec3b4 Move sctokeylut[] in mact to keyboard.h from keyboard.cpp
git-svn-id: https://svn.eduke32.com/eduke32@7178 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:32 +00:00
terminx
b97074eece Remove several unused player struct members and bump BYTEVERSION
git-svn-id: https://svn.eduke32.com/eduke32@7177 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:26 +00:00
terminx
741d362228 Split some of the title screen display stuff into separate functions
git-svn-id: https://svn.eduke32.com/eduke32@7176 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:20 +00:00
terminx
e06962460b More premap cleanup
git-svn-id: https://svn.eduke32.com/eduke32@7175 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:14 +00:00
terminx
9f81e7150c This is starting to feel like distilling diarrhea into grey water
git-svn-id: https://svn.eduke32.com/eduke32@7174 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:08 +00:00
terminx
635a25db72 Add the formats supported by libxmp-lite to the list of extensions to check for in G_SetupFilenameBasedMusic()
git-svn-id: https://svn.eduke32.com/eduke32@7173 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:02 +00:00
terminx
949feae240 Introduce some more meaningful function names and structure to the code touched in the last commit
git-svn-id: https://svn.eduke32.com/eduke32@7172 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:57 +00:00
terminx
3aaa5e04aa Clean up some of the level initialization and player value reset functions that live in premap.cpp
git-svn-id: https://svn.eduke32.com/eduke32@7171 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:51 +00:00
terminx
beafd13b1a Derp
git-svn-id: https://svn.eduke32.com/eduke32@7170 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:44 +00:00
terminx
86496a8126 CON structure member access readability cleanup
git-svn-id: https://svn.eduke32.com/eduke32@7169 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:38 +00:00
terminx
17c63da906 Replace A_ResetVars() with a simpler version and tweak GAMEVAR_Q16PTR handling in VM_GAMEVAR_OPERATOR macro. The other couple things aren't functional changes at all.
git-svn-id: https://svn.eduke32.com/eduke32@7168 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:30 +00:00
terminx
336a4650d5 This is supposed to fix some errors with HIGH_PRECISION_SPRITE reported by a static analyzer, wherein 32-bit values were shifted and truncated as 32-bit before being widened to a 64-bit type, which didn't seem like the intended behavior. This is the commit to look at if anything is suddenly fucked up in the classic software renderer.
git-svn-id: https://svn.eduke32.com/eduke32@7167 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:25 +00:00
terminx
0c74991a21 Fix a couple of issues that cropped up after some of the previous OSD refactoring commits
git-svn-id: https://svn.eduke32.com/eduke32@7166 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:20 +00:00
terminx
369c671632 OSD warning fix
git-svn-id: https://svn.eduke32.com/eduke32@7165 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:15 +00:00
terminx
6d4b0f7731 The most minor of minor changes
git-svn-id: https://svn.eduke32.com/eduke32@7164 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:10 +00:00
terminx
0f0974874b Set XMP_PLAYER_INTERP to XMP_INTERP_SPLINE as it seems to sound better than the default setting
git-svn-id: https://svn.eduke32.com/eduke32@7163 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:04 +00:00
terminx
e6955694e2 Fix a null pointer dereference in G_GameExit() so we don't crash while we're crashing
git-svn-id: https://svn.eduke32.com/eduke32@7162 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:58 +00:00
terminx
cde7529e39 This bounds check is useless
git-svn-id: https://svn.eduke32.com/eduke32@7161 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:53 +00:00
terminx
4206cc1786 Use auto in ldist() and dist() because it looks nicer than vec3_t const *const
git-svn-id: https://svn.eduke32.com/eduke32@7160 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:48 +00:00
terminx
06f0e5e946 Move g_defaultVideoModes[] and g_keyAsciiTable[] from baselayer.cpp to baselayer.h and make them constexpr
git-svn-id: https://svn.eduke32.com/eduke32@7159 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:43 +00:00