Commit graph

1544 commits

Author SHA1 Message Date
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
e77324a6d8 Fix whitespace in gameres.rc
git-svn-id: https://svn.eduke32.com/eduke32@7218 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:12:54 +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
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
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
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
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
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
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
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
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
22e1c21f47 Just cleaning up a dump(er)
git-svn-id: https://svn.eduke32.com/eduke32@7158 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:38 +00:00
terminx
3cfda9858d Use tabledivide64() in Gv_GetArrayCountFromFile()
git-svn-id: https://svn.eduke32.com/eduke32@7157 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:33 +00:00
terminx
1cae4ce7e3 Same shit, different diff
git-svn-id: https://svn.eduke32.com/eduke32@7156 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:27 +00:00
terminx
f7fac7d9e0 "using osdcmdptr_t = osdfuncparm_t const * const" because I'm tired of seeing it everywhere
git-svn-id: https://svn.eduke32.com/eduke32@7154 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:15 +00:00
terminx
ff410796a1 More incremental improvements to horrible decade-old OSD code
git-svn-id: https://svn.eduke32.com/eduke32@7153 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:07 +00:00
terminx
60e9bca926 Reduced buffer size used for scanning GRPs to display in the startup window from 8MB to 64K, in line with the previous commit that changed osdfunc_fileinfo(). I benchmarked this several times and could not find a case in which the 8MB buffer was faster.
git-svn-id: https://svn.eduke32.com/eduke32@7151 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:56 +00:00
terminx
14f1ea1c05 Use "int" for OSD command return values and a few trivial globals. Our current usage of the return values would have even worked with bool, but we might want to add error conditions or something later.
git-svn-id: https://svn.eduke32.com/eduke32@7149 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:45 +00:00
terminx
0ea33b1775 Small cleanups to OSD and game keybinding code before larger changes. Everything still works at this point.
git-svn-id: https://svn.eduke32.com/eduke32@7147 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:32 +00:00
terminx
7f54981f4f Improve P_GetInput() a little
git-svn-id: https://svn.eduke32.com/eduke32@7144 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:15 +00:00
terminx
04e477557a Remove some effectively dead code that handled loading from duke3d.cfg if eduke32.cfg was not found. This has been useless for about a decade.
git-svn-id: https://svn.eduke32.com/eduke32@7141 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:04:57 +00:00
hendricks266
696ddec8a8 Fix a big fail in my implementation of CON_DIVR and CON_DIVRU.
git-svn-id: https://svn.eduke32.com/eduke32@7137 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-29 06:34:19 +00:00
terminx
7c4ba73bfd Move CONTROL_ProcessBinds() call to P_GetInput()
git-svn-id: https://svn.eduke32.com/eduke32@7135 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:34:08 +00:00
terminx
7edcdb0ae4 Fix usages of tab characters that slipped into menus.h at some point, and fix declaration of function Menu_Change() to match its definition
git-svn-id: https://svn.eduke32.com/eduke32@7134 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:34:03 +00:00
terminx
69a1d8d953 Very (very) slightly less terrible G_CheckPlayerColor() function.
git-svn-id: https://svn.eduke32.com/eduke32@7133 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:33:58 +00:00
terminx
fecbe7ad8b Using automatic typing here improves the readability of this code.
git-svn-id: https://svn.eduke32.com/eduke32@7131 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:33:47 +00:00
terminx
ad7d61baa1 Use range-based loops for simplicity
git-svn-id: https://svn.eduke32.com/eduke32@7130 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:33:40 +00:00
terminx
cbb9018728 This precaching stuff doesn't belong in EDUKE32_STANDALONE builds
git-svn-id: https://svn.eduke32.com/eduke32@7125 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:33:09 +00:00
terminx
16c9a58daa Lower DEFAULTMOUSESENSITIVITY to 4
git-svn-id: https://svn.eduke32.com/eduke32@7123 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:32:57 +00:00
terminx
ed2f9f247b Rework volume control to not completely suck
git-svn-id: https://svn.eduke32.com/eduke32@7122 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:32:50 +00:00
terminx
1c007c56c5 More sound work
git-svn-id: https://svn.eduke32.com/eduke32@7119 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:32:29 +00:00
terminx
374a09536d Add per-sound volume support to audiolib. This allows you to control the volume of sounds independently from the distance-based system exposed through CON. To use this, you must define your sounds via the .def syntax and set the "volume" property--default is 1.0.
git-svn-id: https://svn.eduke32.com/eduke32@7117 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:32:14 +00:00
terminx
98f42cba6f Add support for defining all sound parameters through the .def syntax, instead of just the filename
git-svn-id: https://svn.eduke32.com/eduke32@7116 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:32:05 +00:00
terminx
b16d7a412b Don't use size_t for loop iterators (or other things not counted in bytes, realistically)
git-svn-id: https://svn.eduke32.com/eduke32@7114 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:54 +00:00
terminx
71c06d5d95 Savegame cleanup
git-svn-id: https://svn.eduke32.com/eduke32@7112 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:45 +00:00
terminx
59196c42ea This commit is useless
git-svn-id: https://svn.eduke32.com/eduke32@7109 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:30 +00:00
terminx
cee9a65970 userbytever is uint32_t and needs %u instead of %d
git-svn-id: https://svn.eduke32.com/eduke32@7107 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:20 +00:00
terminx
797a724069 Fix derpy menu bug
git-svn-id: https://svn.eduke32.com/eduke32@7106 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:15 +00:00
terminx
c0889dab31 Untabify minidumper
git-svn-id: https://svn.eduke32.com/eduke32@7100 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:46 +00:00
terminx
2b01ea19b1 Shut up a warning about potentially passing a null ptr to strlen() by way of a bad FILE ptr. The condition wasn't actually possible, but this is just as or more correct than it was before. This sure is a long commit message for something that only adds an 'else'.
git-svn-id: https://svn.eduke32.com/eduke32@7099 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:41 +00:00
terminx
a6021590f7 Remember to free library in minidumper
git-svn-id: https://svn.eduke32.com/eduke32@7098 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:37 +00:00
terminx
f93e228e2a Fix printf format specifier mismatches in G_PrintFPS()
git-svn-id: https://svn.eduke32.com/eduke32@7096 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:27 +00:00
terminx
9987b1ffa0 Return invalid keyword string instead of null when passing a bad ID to VM_GetKeywordForID()
git-svn-id: https://svn.eduke32.com/eduke32@7093 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:12 +00:00
terminx
76e86ddcea Replace player number check with equivalent null pointer check
git-svn-id: https://svn.eduke32.com/eduke32@7092 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:08 +00:00
terminx
bac01d8e2a Completely unused struct...?
git-svn-id: https://svn.eduke32.com/eduke32@7088 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:49 +00:00
terminx
82fcd89ed5 Add debug_break() to default case in VM_Execute()
git-svn-id: https://svn.eduke32.com/eduke32@7087 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:44 +00:00
terminx
9079beadb4 Remove some dead statements, useless assigments, etc
git-svn-id: https://svn.eduke32.com/eduke32@7086 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:38 +00:00
terminx
03332e8812 Fix double free in osdcmd_do() and clean up the variable definitions while we're there
git-svn-id: https://svn.eduke32.com/eduke32@7084 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:25 +00:00
terminx
4bb9a4b792 sscanf format parameter fixups
git-svn-id: https://svn.eduke32.com/eduke32@7083 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:20 +00:00
terminx
1f8b23152e Replace remaining instances of regular malloc/calloc/realloc/strdup with our memory error handler versions
git-svn-id: https://svn.eduke32.com/eduke32@7079 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:28:56 +00:00
terminx
9613bbac33 Use std::min and std::max instead of min and max macros.
git-svn-id: https://svn.eduke32.com/eduke32@7078 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:54 +00:00
terminx
e77325f2a4 Remove redundant assignments
git-svn-id: https://svn.eduke32.com/eduke32@7077 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:42 +00:00
terminx
2ff98ca1ce Bump BYTEVERSION for previous change
git-svn-id: https://svn.eduke32.com/eduke32@7076 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:37 +00:00
terminx
2132fe978a The LZ4 versions of kdfread and kdfwrite don't have the size limitations that the LZW versions have
git-svn-id: https://svn.eduke32.com/eduke32@7075 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:32 +00:00
terminx
e69aac2b93 Remove duplicated line
git-svn-id: https://svn.eduke32.com/eduke32@7074 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:26 +00:00
terminx
342b32c4aa Update duke3d headers so that argument names in function declarations match the actual function definitions. This also removes const from function declarations in cases when it isn't meaningful.
git-svn-id: https://svn.eduke32.com/eduke32@7071 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:08:58 +00:00
terminx
af728b2641 Remove a few useless forward declarations and const-ify a couple of function parameters. Yawn.
git-svn-id: https://svn.eduke32.com/eduke32@7070 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:08:50 +00:00
terminx
e9797fe24d Remove redundant return statements
git-svn-id: https://svn.eduke32.com/eduke32@7069 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:08:42 +00:00
terminx
dcb0f9d8bb Convert a couple of strings with escaped characters to raw string literals
git-svn-id: https://svn.eduke32.com/eduke32@7068 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:08:36 +00:00
terminx
7b1cdb6f12 Remove redundant statements. This commit doesn't actually do anything.
git-svn-id: https://svn.eduke32.com/eduke32@7066 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:15:38 +00:00
terminx
d2f980694b P_UpdateScreenPal() seems to belong here instead
git-svn-id: https://svn.eduke32.com/eduke32@7065 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:15:33 +00:00
terminx
da040c0690 Increase size of text buffer used for editor 3d mode info display--it was possible to overflow it
git-svn-id: https://svn.eduke32.com/eduke32@7064 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:15:28 +00:00
terminx
cc6e458d00 Prevent g_sounds[] buffer overflow when attempting to define a sound with an index higher than MAXSOUNDS-1. This reduces the number of sound definitions available by 1 as the last slot is now reserved for the error condition.
git-svn-id: https://svn.eduke32.com/eduke32@7063 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:15:22 +00:00
terminx
6248cc9cee Remove redundant assignment and null ptr check
git-svn-id: https://svn.eduke32.com/eduke32@7062 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:15:17 +00:00
terminx
941aa87bce Fix usage of pointer to stack allocated array outside of the scope the array was declared in
git-svn-id: https://svn.eduke32.com/eduke32@7061 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:15:12 +00:00
terminx
b50b1ad198 Fix huge bug in CON_COPY
git-svn-id: https://svn.eduke32.com/eduke32@7060 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:15:06 +00:00
terminx
1c5ddca44a Clarify assignment in ternary condition as not a bug
git-svn-id: https://svn.eduke32.com/eduke32@7059 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:15:01 +00:00
terminx
1d3f77b46b Clean up error handling in shitty G_GetVersionFromWebsite() function
git-svn-id: https://svn.eduke32.com/eduke32@7055 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:14:41 +00:00
terminx
e6c36442bd Add missing ifdef guards to namesdyn.h
git-svn-id: https://svn.eduke32.com/eduke32@7054 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:14:36 +00:00
terminx
b3914431b0 Fix memory leaks in editor sound list
git-svn-id: https://svn.eduke32.com/eduke32@7052 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:14:26 +00:00
terminx
f354f824f4 Add missing ifdef guards to soundsdyn.h
git-svn-id: https://svn.eduke32.com/eduke32@7051 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:14:20 +00:00
terminx
eee0a71496 Remove dead code branch from RECON (logic oversight) and get rid of a useless fallthrough__
git-svn-id: https://svn.eduke32.com/eduke32@7047 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:53 +00:00
terminx
59214a2d78 Fix off-by-one error in currently not very useful dedicated server text console input
git-svn-id: https://svn.eduke32.com/eduke32@7046 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:48 +00:00
terminx
2d25aaee95 Variable scope reductions
git-svn-id: https://svn.eduke32.com/eduke32@7038 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:10 +00:00
terminx
f67f935807 Fix some weirdness in osdcmd_setactorvar() and remove an unused counter var from osdcmd_map()
git-svn-id: https://svn.eduke32.com/eduke32@7037 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:05 +00:00
terminx
2f410776ec Parentheses around ternary conditions so CppCheck will stfu
git-svn-id: https://svn.eduke32.com/eduke32@7036 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:00 +00:00
terminx
008056763a Tweak gamevar struct shortcut error handling
git-svn-id: https://svn.eduke32.com/eduke32@7035 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:55 +00:00
terminx
3d9df928a5 Remove unused g_skipKeywordCheck
git-svn-id: https://svn.eduke32.com/eduke32@7034 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:51 +00:00
terminx
33f57d4bb6 Fix off-by-one error in CON_DEFINESOUND and null pointer arithmetic in CON_CASE and CON_DEFAULT (!)
git-svn-id: https://svn.eduke32.com/eduke32@7033 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:46 +00:00
terminx
c67cdc00f8 Fix leaked sockets when failing to check for updates
git-svn-id: https://svn.eduke32.com/eduke32@7028 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:22 +00:00
terminx
2206581952 Prevent OOB array access when EVENT_INVENTORYLEFT or EVENT_INVENTORYRIGHT returns a bad value
git-svn-id: https://svn.eduke32.com/eduke32@7026 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:13 +00:00
terminx
489ed5b803 Fix false positive buffer overflow report in PVS-Studio
git-svn-id: https://svn.eduke32.com/eduke32@7014 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:15 +00:00
terminx
a7a2c3d12a Fix types of vars passed into sscanf() for use as return values
git-svn-id: https://svn.eduke32.com/eduke32@7013 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:10 +00:00
terminx
2f65866167 Fix bad logic for kill counter in G_DisplayRest()
git-svn-id: https://svn.eduke32.com/eduke32@7011 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:01 +00:00
terminx
e1c1cebfbb Fix accidental double assignment of pPlayer->jetpack_on in P_ResetStatus()
git-svn-id: https://svn.eduke32.com/eduke32@7010 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:56 +00:00
terminx
875a5afa93 Replace APLAYER picnum check in A_ShootWithZvel() with null pointer check
git-svn-id: https://svn.eduke32.com/eduke32@7006 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:37 +00:00
terminx
0757a6570b Replace spritenum check with ptr check in VM_ScriptInfo()
git-svn-id: https://svn.eduke32.com/eduke32@7005 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:33 +00:00
terminx
d5381e701f Fix potential null pointer dereferencing
git-svn-id: https://svn.eduke32.com/eduke32@7004 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:28 +00:00
terminx
e449408b57 Fix minor bug where a null pointer was passed into free() unconditionally
git-svn-id: https://svn.eduke32.com/eduke32@7003 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:23 +00:00
terminx
8b2d546774 Fix potential null pointer dereference in S_DefineAudioIfSupported() when passing filenames without extensions
git-svn-id: https://svn.eduke32.com/eduke32@6999 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:04 +00:00
terminx
2cb5d948e8 Move SE40 floor/ceilingstat and Z coordinate backups to global variables instead of allocating them on the stack.
git-svn-id: https://svn.eduke32.com/eduke32@6998 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:00 +00:00
terminx
fbbaeff95a Fix potential null pointer dereference
git-svn-id: https://svn.eduke32.com/eduke32@6996 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:19:50 +00:00
terminx
065bd8df60 Fix a couple of things with the dreaded crosshair coloration functions. ;)
git-svn-id: https://svn.eduke32.com/eduke32@6995 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:19:45 +00:00
terminx
c33d6a6e89 https://imgur.com/N2v8kjU
git-svn-id: https://svn.eduke32.com/eduke32@6989 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-03 00:43:31 +00:00
terminx
a8cee68a7e "@Dick can you make it so that its impossible to pan the floor texture in 2d mode if the texture isnt visible?"
git-svn-id: https://svn.eduke32.com/eduke32@6988 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-29 01:54:58 +00:00
terminx
dd1058c767 Actually fix savegame crash... probably.
git-svn-id: https://svn.eduke32.com/eduke32@6987 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-29 01:54:52 +00:00
terminx
6aeab6561d Fix embarrassing Windows-centric fuckup
git-svn-id: https://svn.eduke32.com/eduke32@6986 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-28 07:07:04 +00:00
terminx
89d5305ee3 Fix VS warning
git-svn-id: https://svn.eduke32.com/eduke32@6984 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-28 04:27:53 +00:00
terminx
220d86a583 Fix savegame crash issue
git-svn-id: https://svn.eduke32.com/eduke32@6983 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-28 04:27:48 +00:00
terminx
d4c9cc28d5 Minor fixups needed to build as a native VS project
git-svn-id: https://svn.eduke32.com/eduke32@6982 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-28 04:27:42 +00:00
terminx
64d464e988 EDUKE32_STANDALONE stuff
git-svn-id: https://svn.eduke32.com/eduke32@6980 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-28 04:27:23 +00:00
terminx
8a2651ac55 Remove apScriptEvents from savegames
git-svn-id: https://svn.eduke32.com/eduke32@6979 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-28 04:27:17 +00:00
terminx
f3e0a0b892 Revise r6974
git-svn-id: https://svn.eduke32.com/eduke32@6978 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-06 19:07:02 +00:00
terminx
4c4c5f569c Fix parameter aliasing warning in G_LoadGroups()
git-svn-id: https://svn.eduke32.com/eduke32@6977 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-06 19:06:55 +00:00
terminx
e6277dd8da Replace a bunch of fall-through comments with our fallthrough__ macro.
git-svn-id: https://svn.eduke32.com/eduke32@6976 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-04 05:57:41 +00:00
terminx
8d72c6e5c5 Disable a few more hard-coded sounds in EDUKE32_STANDALONE builds
git-svn-id: https://svn.eduke32.com/eduke32@6975 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-01 19:36:20 +00:00
terminx
2738d8e2a4 Add PROJECTILE_RPG_IMPACT_DAMAGE flag for projectiles, 0x00400000. This makes PROJECTILE_RPG_IMPACT function more or less how it did prior to late 2016 when an issue involving the damage was identified and fixed, and moves the damage to the new flag.
git-svn-id: https://svn.eduke32.com/eduke32@6974 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-01 19:36:15 +00:00
terminx
388a649ee5 Don't invalidate saves based on the compiled script CRC if the script hasn't been compiled yet
git-svn-id: https://svn.eduke32.com/eduke32@6973 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-01 19:36:10 +00:00
terminx
3ba8cb7d05 Xmalloc() -> Xrealloc() in C_AllocProjectile()
git-svn-id: https://svn.eduke32.com/eduke32@6972 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-01 19:36:05 +00:00
terminx
e8b042899b Apply the same autoaim Z position offsetting logic used on GREENSLIME and ROTATEGUN to any sprite with CSTAT_SPRITE_YCENTER set
git-svn-id: https://svn.eduke32.com/eduke32@6971 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-01 19:36:01 +00:00
terminx
41ed560c45 Reword error message displayed at startup when game data is missing
git-svn-id: https://svn.eduke32.com/eduke32@6970 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-01 19:35:55 +00:00
terminx
0cc54720db Silence less stupid fucking warning
git-svn-id: https://svn.eduke32.com/eduke32@6969 1a8010ca-5511-0410-912e-c29ae57300e0
2018-08-09 16:07:14 +00:00
terminx
2c993de792 Bump BYTEVERSION
git-svn-id: https://svn.eduke32.com/eduke32@6967 1a8010ca-5511-0410-912e-c29ae57300e0
2018-08-09 16:07:04 +00:00
terminx
a919fecdbb Don't play DUKE_GOTHEALTHATLOW sound in standalone builds
git-svn-id: https://svn.eduke32.com/eduke32@6966 1a8010ca-5511-0410-912e-c29ae57300e0
2018-08-09 16:07:00 +00:00
terminx
f1cedd03f4 Remove compiled CON script from savegames in favor of storing a simple CRC32 value computed from the uncompiled CON text--this means that savegames can now only be loaded if the currently loaded CONs match what was in use when the game was saved.
git-svn-id: https://svn.eduke32.com/eduke32@6964 1a8010ca-5511-0410-912e-c29ae57300e0
2018-08-09 16:06:49 +00:00
pogokeen
448dd1cd01 screens.cpp: Show average game update time over the last 100 game updates
git-svn-id: https://svn.eduke32.com/eduke32@6963 1a8010ca-5511-0410-912e-c29ae57300e0
2018-08-02 07:53:09 +00:00
hendricks266
bf043adb73 [facepalm emoji]
git-svn-id: https://svn.eduke32.com/eduke32@6962 1a8010ca-5511-0410-912e-c29ae57300e0
2018-08-02 01:21:19 +00:00
terminx
c536225555 Mapste32: echo successful script commands invoked from the console with "do" back to the console in green to indicate success.
git-svn-id: https://svn.eduke32.com/eduke32@6959 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-29 19:31:18 +00:00
terminx
ddd8b7e5bb Cheap fix for load game menu crash
git-svn-id: https://svn.eduke32.com/eduke32@6957 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-26 16:34:03 +00:00
terminx
c5054af778 Add missing USERDEFS_USERBYTEVERSION to VM_SetUserdef()
git-svn-id: https://svn.eduke32.com/eduke32@6956 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-26 16:33:57 +00:00
hendricks266
0a7f148a8b Create P_GetOverheadPal() and restore the DOS definition of it.
DOS: the player sprite's pal (including pants color and frozenness), unaffected by sector floor pal
what the code had for some reason: the sector's floor pal, neglecting the nofloorpal bit, frozenness, and the player's pants color

I contend that it is okay for the automap sprite to ignore the sector's color for map legibility purposes.

git-svn-id: https://svn.eduke32.com/eduke32@6955 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:56:11 +00:00
hendricks266
5cf6c2110c Factor out P_GetKneePal().
git-svn-id: https://svn.eduke32.com/eduke32@6954 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:56:08 +00:00
hendricks266
e14d92a2af Clean up variables in overhead map player sprite draw code.
git-svn-id: https://svn.eduke32.com/eduke32@6953 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:56:05 +00:00
hendricks266
1839427f0d Menus: Make some non-functional changes for clarity in Menu_RunInput_EntryRange*_Movement.
git-svn-id: https://svn.eduke32.com/eduke32@6952 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:56:02 +00:00
hendricks266
d1ea5176ff Fix -Wformat-overflow warnings
git-svn-id: https://svn.eduke32.com/eduke32@6951 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:55:59 +00:00
hendricks266
cc999ff883 Fix warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct menusave_t'; use assignment or value-initialization instead [-Wclass-memaccess]
git-svn-id: https://svn.eduke32.com/eduke32@6950 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:55:56 +00:00
hendricks266
104bdb131b Fix warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
git-svn-id: https://svn.eduke32.com/eduke32@6949 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:55:53 +00:00
hendricks266
142b97b9fb Fix variable capitalization in Dependencies.mak files
git-svn-id: https://svn.eduke32.com/eduke32@6946 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:55:42 +00:00
terminx
89cfe15d64 Limit classic upscaling to 2x and 4x until issues with rotatesprite can be ironed out
git-svn-id: https://svn.eduke32.com/eduke32@6944 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-21 00:18:13 +00:00
terminx
a9db35a808 CON_SWITCH maintenance
git-svn-id: https://svn.eduke32.com/eduke32@6943 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-21 00:18:08 +00:00
terminx
b2e788b7e9 EDUKE32_STANDALONE stuff
git-svn-id: https://svn.eduke32.com/eduke32@6942 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-21 00:18:03 +00:00
terminx
1cfe23b348 Change sv prefix applied to savegame control cvars to cl for client (sv is reserved for server vars in multiplayer)
git-svn-id: https://svn.eduke32.com/eduke32@6941 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-21 00:17:57 +00:00
pogokeen
8f579cbd09 menus.cpp: Don't show texture filtering, anisotropy, or palette emulation options when EDUKE32_STANDALONE is defined
git-svn-id: https://svn.eduke32.com/eduke32@6940 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-18 00:24:03 +00:00
pogokeen
1df7127609 Support software renderer upscaling engine-side in sdlayer and sdlayer12 with various scaling factors (beyond just pixel doubling).
When glsurface is available, use GL to upscale the render buffer.
Additionally, fix build issues with sdlayer12 introduced by GLAD changes (r6656).

git-svn-id: https://svn.eduke32.com/eduke32@6939 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-14 21:36:44 +00:00
terminx
16cdad6bca Rename console command 'sv_cleanup' to 'purgesaves', as sv_ is a prefix for cvars, not console commands
git-svn-id: https://svn.eduke32.com/eduke32@6935 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-01 04:51:25 +00:00
terminx
ba7340ca47 Reduce default snd_numvoices to 64 and reduce max to 128
git-svn-id: https://svn.eduke32.com/eduke32@6934 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-01 04:51:19 +00:00
terminx
983781b56d Fix issue with viewing the player sprite through a security camera
git-svn-id: https://svn.eduke32.com/eduke32@6927 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-21 04:12:04 +00:00
terminx
e1a532a15d Fix inclusion of sdl_inc.h in Duke3D's config.cpp
git-svn-id: https://svn.eduke32.com/eduke32@6926 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-14 21:25:20 +00:00
terminx
f873b551a8 Fix building with winlayer
git-svn-id: https://svn.eduke32.com/eduke32@6923 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-14 17:49:46 +00:00
pogokeen
58132c2353 anim.cpp: timerUpdate() before setting the start time of the animation so that delays outside of animation playback won't cause animations to skip
git-svn-id: https://svn.eduke32.com/eduke32@6917 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-12 20:28:02 +00:00
pogokeen
e75e8cc4aa astub.cpp: fix issue where globalpal was not declared if polymost.h was not included
git-svn-id: https://svn.eduke32.com/eduke32@6916 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-12 02:13:39 +00:00
terminx
725d556bc4 Fix conveyor belt speed in IM, but not Duke because it breaks gameplay
git-svn-id: https://svn.eduke32.com/eduke32@6914 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-09 20:36:47 +00:00
terminx
fb301ddae7 Rename KXDWN macro and GAMEFLAG_KXDWN to IONMAIDEN and GAMEFLAG_IONMAIDEN
git-svn-id: https://svn.eduke32.com/eduke32@6913 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-09 20:36:42 +00:00
terminx
2c80af8c12 Remove dead code branch from A_DoWaterTracers() and rename the function to Proj_DoWaterTracers()
git-svn-id: https://svn.eduke32.com/eduke32@6912 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-09 20:36:37 +00:00
terminx
0dd623a7fe Don't spawn hardcoded Duke3D debris/guts/glass sprites when compiled as EDUKE32_STANDALONE
git-svn-id: https://svn.eduke32.com/eduke32@6911 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-09 20:36:31 +00:00
terminx
9c313158e8 Rework SE26 movement to function more like SE14 than SE24
git-svn-id: https://svn.eduke32.com/eduke32@6910 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-09 20:36:24 +00:00
terminx
66dadaaa71 Fix issues with running the game fullscreen on Windows 10 with high DPI setups
git-svn-id: https://svn.eduke32.com/eduke32@6909 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-05 21:59:59 +00:00
terminx
326af0d062 Fix SFLAG_WAKEUPBADGUYS
git-svn-id: https://svn.eduke32.com/eduke32@6908 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-05 21:59:52 +00:00
hendricks266
5629f4f433 Manually rebasing my r6899 over the formatting atrocity in r6895 broke my work.
git-svn-id: https://svn.eduke32.com/eduke32@6903 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 06:01:53 +00:00
hendricks266
48f86ce594 CON: Add "swaparrays" command, which performs a pointer-swap on arrays of the same storage class.
git-svn-id: https://svn.eduke32.com/eduke32@6902 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 05:58:21 +00:00
hendricks266
2a9c846a49 CON: Factor out the parsing of gamearray names.
git-svn-id: https://svn.eduke32.com/eduke32@6901 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 05:58:17 +00:00
hendricks266
a442c4f7bf CON: Remix resizearray in the following ways:
Make only one allocation instead of two.
Calculate array byte sizes in a way compatible with GAMEARRAY_BOOLEAN.
Clear the expanded part of grown arrays using correct counts for non-int32 sizes.
Support resizing an array to 0 to free it.

git-svn-id: https://svn.eduke32.com/eduke32@6900 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 05:58:12 +00:00
hendricks266
cb86c86ee1 CON: Implement the copy command for GAMEARRAY_BOOLEAN.
git-svn-id: https://svn.eduke32.com/eduke32@6899 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 05:58:09 +00:00
hendricks266
064ff3a403 CON: Fix two regressions completely breaking the correctness of the copy command, introduced in r6343.
git-svn-id: https://svn.eduke32.com/eduke32@6898 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 05:58:03 +00:00
hendricks266
749d79dcdd Fix the vertical position of the level stats when using the original mini-HUD.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6897 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 05:57:58 +00:00
terminx
d2e4823feb Move some of the more commonly used CON functions to the top of the switch in VM_Execute(), and promote some of the loop's variables to native_t. Unfortunately, Visual Studio's new clang-format integration took it upon itself to reformat everything. Use diff -w.
git-svn-id: https://svn.eduke32.com/eduke32@6895 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-22 19:03:44 +00:00
terminx
18a289d762 CON: make setting a sector's .wallptr call setfirstwall() instead of setting it directly and corrupting the map
git-svn-id: https://svn.eduke32.com/eduke32@6894 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-22 19:03:24 +00:00
pogokeen
712646f713 actors.cpp: improve SE_11_SWINGING_DOOR detection and handling of players that block a door's path
git-svn-id: https://svn.eduke32.com/eduke32@6893 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-22 10:01:17 +00:00
hendricks266
7c7b8f62a9 CON: Revert r6526 and r6527. This restores the longstanding behavior of the killit command, and setting sprites' xrepeat to zero, to not actually delete sprites unless their statnum is STAT_ACTOR or STAT_MISC. Be sure to set a sprite's statnum to one of these statnums if you want it to be deleted.
This should fix the broken E1L1 sector warp in the existing release of the Duke 64 mod, and the Polymer light culling used in HHR.

git-svn-id: https://svn.eduke32.com/eduke32@6892 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-22 05:59:08 +00:00
hendricks266
6cb29c820c sdlmusic: Slight cosmetic cleanup
git-svn-id: https://svn.eduke32.com/eduke32@6891 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-19 14:14:25 +00:00
hendricks266
b5caf1cd1e sdlmusic: Implement graceful playback failure
git-svn-id: https://svn.eduke32.com/eduke32@6890 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-19 14:14:22 +00:00
hendricks266
03f2cdd9b3 Fix MIDI playback on non-Windows platforms
git-svn-id: https://svn.eduke32.com/eduke32@6889 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-19 14:14:18 +00:00
pogokeen
e87b6b902f G_HandleMirror(): When choosing which mirror to render, only choose from mirrors that are potentially visible.
git-svn-id: https://svn.eduke32.com/eduke32@6887 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-17 00:35:26 +00:00
pogokeen
38e3784549 Incrementing ud.executions is now done in app_main() instead of CONFIG_WriteSetup() so that it is only incremented once per execution.
git-svn-id: https://svn.eduke32.com/eduke32@6884 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-08 17:32:19 +00:00
pogokeen
3ad44df555 ud.showfps > 2 now shows Game Update time and Game Update & Draw time (along with the min & max Game Update time) for easier performance analysis
git-svn-id: https://svn.eduke32.com/eduke32@6882 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-08 17:32:11 +00:00
hendricks266
9db0358472 Amend r6870 and r6871 to only apply in WW2GI mode.
git-svn-id: https://svn.eduke32.com/eduke32@6880 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-08 00:01:14 +00:00
terminx
a6c41df404 Revert r6870
git-svn-id: https://svn.eduke32.com/eduke32@6879 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-07 17:08:54 +00:00
terminx
dcdf3b79b2 Ignore cache size setting in .cfg if the value is less than the hard-coded default
git-svn-id: https://svn.eduke32.com/eduke32@6878 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-04 22:42:42 +00:00
terminx
bbae62868a Very light sound cleanup
git-svn-id: https://svn.eduke32.com/eduke32@6877 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-04 22:42:37 +00:00
terminx
2e45801d43 Add quick save and quick load to the keyboard configuration menu
git-svn-id: https://svn.eduke32.com/eduke32@6876 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-04 22:42:31 +00:00
hendricks266
00d1c5fc5b Bump the default cache size to 96 MiB.
git-svn-id: https://svn.eduke32.com/eduke32@6875 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-03 06:05:56 +00:00
hendricks266
d31ae817f1 Disable S_ClearSoundLocks, preventing sounds from being marking purgable, and causing them to get prematurely evicted.
This fixes the absent sound issues in WWII GI.

git-svn-id: https://svn.eduke32.com/eduke32@6874 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-03 04:44:36 +00:00
hendricks266
6688860ef7 WWII GI: Remove the hack/approximation for the bazooka display code because one of the general weapon system fixes made it work incorrectly, and also made a direct port of the original code work correctly. Accuracy FTW!
git-svn-id: https://svn.eduke32.com/eduke32@6873 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-03 04:44:33 +00:00
hendricks266
58f5b34143 Fix some printf warnings.
git-svn-id: https://svn.eduke32.com/eduke32@6872 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-02 07:13:04 +00:00
hendricks266
b3bd2e686c WWII GI: Fix the chaingun replacement to always reload even if you continue holding down fire.
git-svn-id: https://svn.eduke32.com/eduke32@6871 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-02 07:13:01 +00:00
hendricks266
e9aa30ceee WWII GI: Fix the chaingun replacement to not fire in bursts of 3 per fire button press.
git-svn-id: https://svn.eduke32.com/eduke32@6870 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-02 07:12:58 +00:00
hendricks266
1d75fa13a4 WWII GI: Fix mistakes in our version of the weapon display code.
git-svn-id: https://svn.eduke32.com/eduke32@6869 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-02 07:12:55 +00:00
hendricks266
aba749c3bd WWII GI: Update the default values of the weapon gamevars to correctly match the original game.
git-svn-id: https://svn.eduke32.com/eduke32@6868 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-02 07:12:52 +00:00
hendricks266
2ae24e56f2 Fix some inaccuracies to the released versions of NAM and WWII GI.
*Both: Reload frame display for weapon 1
*WW2GI: Some effect bits for changes in ammo amount of weapon 11 in the status bar

Thanks to NY00123 for detailed comparisons of the released source code to the original binaries!

git-svn-id: https://svn.eduke32.com/eduke32@6867 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-02 07:12:49 +00:00
hendricks266
e36607fd88 NAM: Fix the M16's autoaim.
Reported by Little Tijn.

git-svn-id: https://svn.eduke32.com/eduke32@6866 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-02 07:12:42 +00:00
terminx
5b20947da6 Add 'P' hotkey to change palette in tile selector, and clean up the info at the bottom of the screen a bit
git-svn-id: https://svn.eduke32.com/eduke32@6864 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-29 17:20:07 +00:00
terminx
2b80de8a8c Mapster32: in tile selector, make backspace set palette to 0
git-svn-id: https://svn.eduke32.com/eduke32@6862 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 10:51:12 +00:00
terminx
a075f8e22b Mapster32: use object's current palette on tile selection screen and allow cycling object palettes from tile selection screen with - and =
git-svn-id: https://svn.eduke32.com/eduke32@6861 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 10:15:32 +00:00
terminx
a407661354 Mapster32: use sc_XXX defines from scancodes.h instead of unlabeled hex scancodes when checking keystatus[]
git-svn-id: https://svn.eduke32.com/eduke32@6860 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 10:15:27 +00:00
terminx
b932485a1d macOS build fix
git-svn-id: https://svn.eduke32.com/eduke32@6855 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:36:14 +00:00
terminx
e682986e69 Readability improvements for gamestructures.cpp
git-svn-id: https://svn.eduke32.com/eduke32@6854 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:36:08 +00:00
terminx
21c9f6dd7e Use references in some gamevar stuff
git-svn-id: https://svn.eduke32.com/eduke32@6853 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:36:02 +00:00
terminx
30e1659214 Oops, I made a fuck
git-svn-id: https://svn.eduke32.com/eduke32@6843 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:34:55 +00:00
terminx
70b03fd608 This is probably faster
git-svn-id: https://svn.eduke32.com/eduke32@6841 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:34:43 +00:00
terminx
4551b276a1 MSVC warning fix
git-svn-id: https://svn.eduke32.com/eduke32@6840 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:34:33 +00:00
terminx
daa033d56a Replace sound callback mutex with atomic operation
git-svn-id: https://svn.eduke32.com/eduke32@6839 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-21 06:04:56 +00:00
terminx
f952a77c9e Sound code tweaks
git-svn-id: https://svn.eduke32.com/eduke32@6836 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-21 06:04:39 +00:00
terminx
461561d2d0 Fix a bunch of off-by-one errors in the sound system, made apparent by a change to some related code.
git-svn-id: https://svn.eduke32.com/eduke32@6834 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:04:12 +00:00
terminx
87d19d5cde More function name shit
git-svn-id: https://svn.eduke32.com/eduke32@6832 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:04:00 +00:00
terminx
19c43b84b3 Function names
git-svn-id: https://svn.eduke32.com/eduke32@6831 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:03:47 +00:00
terminx
e5bcc1cf81 More function name cleanup
git-svn-id: https://svn.eduke32.com/eduke32@6830 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:03:30 +00:00
terminx
1fd209444f Continuing the quest for clearer function names
git-svn-id: https://svn.eduke32.com/eduke32@6829 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:03:12 +00:00
terminx
0340e3cc0f Engine function name cleanup round 2
git-svn-id: https://svn.eduke32.com/eduke32@6828 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:02:51 +00:00
terminx
ee63d2c070 Beginnings of baselayer.cpp/.h refactor. This is 99.9% renames.
git-svn-id: https://svn.eduke32.com/eduke32@6827 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:02:31 +00:00
hendricks266
6eeb14a12f CON: Add spawnceilingglass, spawnwallglass, and spawnwallstainedglass commands.
Patch from Striker.

git-svn-id: https://svn.eduke32.com/eduke32@6824 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-11 03:33:59 +00:00
hendricks266
d41f233045 CON: Add resetplayerflag 8, which mandates reload and not savegame load in single player.
git-svn-id: https://svn.eduke32.com/eduke32@6823 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-11 03:33:54 +00:00
pogokeen
c11adbb0d4 Temporarily remove the option to enable texture filtering when building with EDUKE32_STANDALONE until indexed colour texture rendering supports filtering.
git-svn-id: https://svn.eduke32.com/eduke32@6822 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-08 19:41:09 +00:00
terminx
4dabba7bb6 Oh hey I fucked something up... again... :D
git-svn-id: https://svn.eduke32.com/eduke32@6821 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:43:27 +00:00
terminx
7d0249b9ee I don't know if this is actually better or not but it feels like it should be
git-svn-id: https://svn.eduke32.com/eduke32@6819 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:43:17 +00:00
terminx
260fb278d9 EDUKE32_STANDALONE guard some HoloDuke behavior in CON_IFCANSEE and remove a branch from GAMEARRAY_BITMAP processing in CON_SETARRAY
git-svn-id: https://svn.eduke32.com/eduke32@6818 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:43:12 +00:00
terminx
bcd5e48c8c EDUKE32_STANDALONE guard some hard-coded Duke3D sound behavior
git-svn-id: https://svn.eduke32.com/eduke32@6817 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:43:08 +00:00
terminx
ad75d09d57 Use FindDistance3D() instead of sepdist() directly because we don't need/want it inlined here
git-svn-id: https://svn.eduke32.com/eduke32@6816 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:43:03 +00:00
terminx
55a436651a Remove a couple of unnecessary calls to S_ClearSoundLocks()
git-svn-id: https://svn.eduke32.com/eduke32@6815 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:42:58 +00:00
terminx
6cd5baf5c7 Replace a couple checks for qsetmode==200 with in3dmode(), because it's literally a macro that does that
git-svn-id: https://svn.eduke32.com/eduke32@6814 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:42:53 +00:00
terminx
6acd592ae2 Fix up some dynamic tile remapping cruft in A_Spawn() for less branching
git-svn-id: https://svn.eduke32.com/eduke32@6810 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:42:33 +00:00
terminx
34525aa853 Standalone build warning fix
git-svn-id: https://svn.eduke32.com/eduke32@6806 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-05 04:39:23 +00:00
terminx
23471fdf0a Build fixes, oops
git-svn-id: https://svn.eduke32.com/eduke32@6805 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-04 21:06:07 +00:00
terminx
316db0ee5e Guards
git-svn-id: https://svn.eduke32.com/eduke32@6804 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-04 20:48:15 +00:00
terminx
5214bc68dc More EDUKE32_STANDALONE guards
git-svn-id: https://svn.eduke32.com/eduke32@6802 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-04 20:48:05 +00:00
terminx
61215ef0ba Re-arrange some of the hard-coded stuff in A_Spawn(). Just re-organizations, no changes to the blocks that moved.
git-svn-id: https://svn.eduke32.com/eduke32@6800 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-04 20:47:55 +00:00
terminx
d10dcd971c More EDUKE32_STANDALONE guarding. Next commit will merge some of the guarded blocks together for simplicity.
git-svn-id: https://svn.eduke32.com/eduke32@6799 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-04 20:47:48 +00:00
terminx
d9b24b8f5c #ifndef EDUKE32_STANDALONE guard a bunch of hardcoded behavior
git-svn-id: https://svn.eduke32.com/eduke32@6798 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 22:00:44 +00:00
terminx
f978ba0d07 Optimize A_RadiusDamage()
git-svn-id: https://svn.eduke32.com/eduke32@6796 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 22:00:33 +00:00
terminx
3f47f2fccb Redundant return
git-svn-id: https://svn.eduke32.com/eduke32@6795 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 22:00:28 +00:00
terminx
aba97eb6a9 Fix hitradius performance when affecting tons of walls
git-svn-id: https://svn.eduke32.com/eduke32@6793 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 22:00:17 +00:00
terminx
bb8ceefa95 Sound cleanup. Eliminates on-demand loading of sounds--all sounds are cached before level load.
git-svn-id: https://svn.eduke32.com/eduke32@6792 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 22:00:11 +00:00
terminx
4b4994b99a Save/load cache1d size from config
git-svn-id: https://svn.eduke32.com/eduke32@6791 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 22:00:05 +00:00
terminx
fbf1d6ae08 Formatting
git-svn-id: https://svn.eduke32.com/eduke32@6790 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 21:59:59 +00:00
pogokeen
136dd514e1 Switched Duke3D to use new LZ4 dfwrite()/kdfread() implementations to improve compression/decompression speed.
SV_MINOR_VER is incremented as using this alternate compression algorithm is not backwards compatible with older saves/demos.

git-svn-id: https://svn.eduke32.com/eduke32@6789 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-23 21:41:02 +00:00
pogokeen
337a07ab75 menus.cpp: disable palette emulation menu options when in Polymost and r_useindexedcolortextures is 1
git-svn-id: https://svn.eduke32.com/eduke32@6787 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-22 07:13:36 +00:00
pogokeen
b61ade4b66 menus.cpp: Allow setting anisotropy when not in Polymost regardless of whether r_useindexedcolortextures is set
git-svn-id: https://svn.eduke32.com/eduke32@6786 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-22 07:13:33 +00:00
pogokeen
c1d7d1bfe0 Fix console background disappearing intermittently
git-svn-id: https://svn.eduke32.com/eduke32@6785 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-22 07:13:30 +00:00
hendricks266
a3586ffc20 MIDI/Windows: Immediately MPU_Init after MPU_Reset so that MIDI_Reset can take effect.
git-svn-id: https://svn.eduke32.com/eduke32@6783 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-22 04:48:57 +00:00
hendricks266
eee1fd6e2c MIDI/Windows: Return early from MPU_Init if MPU_Reset was not previously called to shut the MPU down.
git-svn-id: https://svn.eduke32.com/eduke32@6782 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-22 04:48:54 +00:00
hendricks266
9d2eb4e076 Don't apply weapon shade interpolation to the shrinker/expander crystal at all.
git-svn-id: https://svn.eduke32.com/eduke32@6779 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-22 04:48:41 +00:00
hendricks266
084d363364 Replace individual developer email addresses in error messages
git-svn-id: https://svn.eduke32.com/eduke32@6778 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-22 04:48:36 +00:00
pogokeen
a364b7bbfd Polymost palette-indexed texture rendering
git-svn-id: https://svn.eduke32.com/eduke32@6776 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-21 20:41:26 +00:00
hendricks266
f19607daa8 Fix build
git-svn-id: https://svn.eduke32.com/eduke32@6775 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-17 06:44:27 +00:00
terminx
18b9113c50 Fix weird bug with the shotgun caused by leftover code from the electric gun in LameDuke.
No, really.

git-svn-id: https://svn.eduke32.com/eduke32@6774 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-17 03:44:10 +00:00
terminx
be5cf71c83 Remove 144 fps option from the menu, because it doesn't work right
git-svn-id: https://svn.eduke32.com/eduke32@6772 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-17 03:43:33 +00:00
hendricks266
928ce686a6 CON: Add EVENT_DAMAGESPRITE, EVENT_POSTDAMAGESPRITE, EVENT_DAMAGEWALL, EVENT_DAMAGECEILING, and EVENT_DAMAGEFLOOR.
In these events, THISACTOR is the projectile (or source of damage), and RETURN is the sprite/wall/sector affected.
Set RETURN to -1 to cancel any hardcoded effects.
ud.return 1 through 5 are the parameters passed to hitradius if RADIUSEXPLOSION is the source of the damage. ud.return 1 is -1 otherwise.

New tokens "damageeventtile" and "damageeventtilerange" or tiledata[].gameflags & SFLAG_DAMAGEEVENT to enable processing for receivers with corresponding tilenums.

CON commands to replicate hardcoded effects (beyond switching tilenums, such as spawning glass) are forthcoming.

Use of EVENT_DAMAGEHPLANE is hereby discouraged.

Patch from Striker, based on work by Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6771 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-17 03:26:10 +00:00
hendricks266
01606bb6fb Instrument the code to build without the struct trackers and disable them when the build options eliminate all uses of them (currently USE_OPENGL=0).
git-svn-id: https://svn.eduke32.com/eduke32@6769 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-17 03:26:01 +00:00
hendricks266
a250f69a20 Fix horizoff with q16. This solve the problem with horiz returning to center after standing on a sloped floor.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6767 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-15 07:53:02 +00:00
hendricks266
ed38f0a75d CON: Add gettiledata/settiledata. Same members as tiledata[] quick access struct. Not all fields writable.
Patch from Striker.

git-svn-id: https://svn.eduke32.com/eduke32@6766 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-15 01:19:27 +00:00
hendricks266
1460dec6d8 In case a requested quick load upon death cannot be completed, perform a pistol start instead of doing nothing
git-svn-id: https://svn.eduke32.com/eduke32@6761 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-11 03:47:11 +00:00
hendricks266
f21d36403f Fix save deletion in the load menu not closing the verification prompt appropriately.
While here, also fix the formatting of the save cleanup verification prompt to center vertically since the message was expanded to 3 lines.

git-svn-id: https://svn.eduke32.com/eduke32@6756 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-09 02:51:28 +00:00
terminx
ae0b6e87be Display number of savegames to be deleted before removing, automatically remove old savegames from the install dir in EDUKE32_STANDALONE builds. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6754 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 05:15:11 +00:00
terminx
8b80937424 CSV format for CON timing output
git-svn-id: https://svn.eduke32.com/eduke32@6753 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 05:15:05 +00:00
hendricks266
9e0c1277ba Remove " Settings" from user profile folders on Windows
git-svn-id: https://svn.eduke32.com/eduke32@6752 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:52 +00:00
hendricks266
6895ca0fc0 Menu stuff
git-svn-id: https://svn.eduke32.com/eduke32@6751 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:48 +00:00
hendricks266
328fec27fb Add verification screens for deleting saves
git-svn-id: https://svn.eduke32.com/eduke32@6750 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:45 +00:00
hendricks266
10d67bdf9e Menus: "Clean Up Obsolete Saves"
git-svn-id: https://svn.eduke32.com/eduke32@6749 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:41 +00:00
hendricks266
d3882d2c2c Autosave culling
git-svn-id: https://svn.eduke32.com/eduke32@6748 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:36 +00:00
hendricks266
210df6f92d Saves: Make the save filename counter automatically take the highest number present so as to not fill in gaps (which would make sorting inaccurate)
git-svn-id: https://svn.eduke32.com/eduke32@6747 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:32 +00:00
hendricks266
d04d0128e3 ReadSaveGameHeaders at start and close
git-svn-id: https://svn.eduke32.com/eduke32@6746 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:28 +00:00
hendricks266
867b4db1a0 Menus: Delete key in save/load game menu
git-svn-id: https://svn.eduke32.com/eduke32@6745 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:25 +00:00
hendricks266
8019d8f6f0 Saves: Sort saves Z-A by filename and internally preserve the names of ones deemed unfit to display
git-svn-id: https://svn.eduke32.com/eduke32@6744 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:21 +00:00
hendricks266
b437636528 Saves: implement isAutoSave for headers
git-svn-id: https://svn.eduke32.com/eduke32@6743 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:17 +00:00
hendricks266
b80501b2c2 Menus: Add "Save Setup" menu, currently for standalone builds only
git-svn-id: https://svn.eduke32.com/eduke32@6742 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:12 +00:00
hendricks266
3d8e1afba9 Saves: Add userbyteversion to savegame header and userdef
git-svn-id: https://svn.eduke32.com/eduke32@6741 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:07 +00:00
hendricks266
4c48a848a3 Saves: Overload ptrsize as a bitfield
git-svn-id: https://svn.eduke32.com/eduke32@6740 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:02 +00:00
hendricks266
f4ba85b600 Saves: Change header string to "E32SAVEGAME" (but still accept "EDuke32SAVE")
git-svn-id: https://svn.eduke32.com/eduke32@6739 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:54:58 +00:00
hendricks266
4158aa802a Improve r6723. Adds EVENT_LASTWEAPON.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6738 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:54:54 +00:00
terminx
6e7cc1878a Improve CON perf tracking's ability to determine actor names
git-svn-id: https://svn.eduke32.com/eduke32@6737 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 02:39:21 +00:00
terminx
a22394db8d Backport some CON profiling stuff from Lunatic. Use "printtimes" in the console.
git-svn-id: https://svn.eduke32.com/eduke32@6736 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 00:29:41 +00:00
terminx
ee37c04623 Remove attempt at being compatible with the original ranges of ang and horiz values, and introduce a q16 version of drawrooms (and showroom)
git-svn-id: https://svn.eduke32.com/eduke32@6735 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 12:02:03 +00:00
terminx
b99aaf0438 Truncate instead of round when returning avel and horz from getinput
git-svn-id: https://svn.eduke32.com/eduke32@6734 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 12:01:55 +00:00
terminx
8e8892aa3a And we'll put a happy little int16_t right over here
git-svn-id: https://svn.eduke32.com/eduke32@6733 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 05:41:11 +00:00
terminx
dfa5c0d712 Missed files from last commit
git-svn-id: https://svn.eduke32.com/eduke32@6732 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:23:58 +00:00
terminx
48270bfb9c q16avel/q16horz
git-svn-id: https://svn.eduke32.com/eduke32@6731 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:52 +00:00
terminx
d9722401ed Store configuration data in AppData on Windows in standalone builds
git-svn-id: https://svn.eduke32.com/eduke32@6730 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:46 +00:00
terminx
aca16910d0 Use ~/.config/APPBASENAME instead of ~/.APPBASENAME on Linux
git-svn-id: https://svn.eduke32.com/eduke32@6729 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:41 +00:00
terminx
0e0de77439 Move APPNAME and APPBASENAME to common_game.h so we can use them for the data paths in common.cpp
git-svn-id: https://svn.eduke32.com/eduke32@6728 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:37 +00:00
terminx
3b6bb3b7a3 Fix up CON to work with Q16.16 values
git-svn-id: https://svn.eduke32.com/eduke32@6727 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:31 +00:00
terminx
a76750df55 Q16.16 for player angle, too
git-svn-id: https://svn.eduke32.com/eduke32@6725 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:18 +00:00
terminx
4d8bb170a3 Use Q16.16 fixed point for player horiz
git-svn-id: https://svn.eduke32.com/eduke32@6724 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:05 +00:00
terminx
7fa0abda26 Add gamefunc for switching to your last used weapon
git-svn-id: https://svn.eduke32.com/eduke32@6723 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:20:50 +00:00
hendricks266
ea391a9b83 Re-allow negative hitags on crack sprites.
git-svn-id: https://svn.eduke32.com/eduke32@6722 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-06 10:25:17 +00:00
hendricks266
cd5b23e855 Perform CON_SAVE after a frame is drawn
git-svn-id: https://svn.eduke32.com/eduke32@6721 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-06 10:25:11 +00:00
hendricks266
9c23735d98 Menu stuff
git-svn-id: https://svn.eduke32.com/eduke32@6720 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-06 10:25:07 +00:00
hendricks266
821814fe32 Avoid filtering seams by drawing custom scrollbars twice, like the scuba gear and chaingun.
Patch from Fox.

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

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

Patch from Fox.

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

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

Patch from Fox.

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

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

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

Patch from Fox.

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

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

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

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

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

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

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

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6686 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 13:34:34 +00:00
hendricks266
50ac58f374 Improve translucence of menu cursor
git-svn-id: https://svn.eduke32.com/eduke32@6685 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 13:34:28 +00:00
hendricks266
3543d6f3fa Some screentext fixes (that don't affect CON scripts)
git-svn-id: https://svn.eduke32.com/eduke32@6684 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 13:34:24 +00:00
pogokeen
94246b5dd1 game.cpp: fixed GL vsync resetting issue due to system_getcvars() call coming before cvars were loaded
git-svn-id: https://svn.eduke32.com/eduke32@6682 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 01:05:18 +00:00
hendricks266
92091a4425 CON: Change OSD_Printf to initprintf for addlog and addlogvar
git-svn-id: https://svn.eduke32.com/eduke32@6681 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-20 11:55:28 +00:00
hendricks266
d26635cfa9 Menu stuff
git-svn-id: https://svn.eduke32.com/eduke32@6680 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-20 11:55:24 +00:00
hendricks266
7a30b3452f CON: Add undefinecheat.
git-svn-id: https://svn.eduke32.com/eduke32@6679 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-20 11:55:20 +00:00
hendricks266
5bd6f6e28f Menus: Hide blank cheats
git-svn-id: https://svn.eduke32.com/eduke32@6678 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-20 11:55:16 +00:00
hendricks266
26749bf881 CON: Add resetplayerflag 4, which always loads if possible
git-svn-id: https://svn.eduke32.com/eduke32@6677 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-20 11:55:13 +00:00
hendricks266
60223012be Menus: Add MenuEntryFlag "Hidden", which is safer than setting the entry's position in its parent's EntryList to null.
git-svn-id: https://svn.eduke32.com/eduke32@6676 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-20 11:55:07 +00:00