Commit graph

952 commits

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