Commit graph

134 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
7be5abbe37 Revert the functional changes of r4741 and r4703 relating to conveyors. This restores conveyor belts to their original v1.5 speeds at the expense of the corner cases the original commits addressed.
This can be revisited in the future to address these corner cases without breaking the original game.

git-svn-id: https://svn.eduke32.com/eduke32@6649 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-12 02:32:43 +00:00
hendricks266
27d93ac698 Satisfy -Wmaybe-uninitialized warnings exposed by -Og.
git-svn-id: https://svn.eduke32.com/eduke32@6632 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-30 16:02:29 +00:00
hendricks266
af6097a281 Fix more uses of lotag with values >= 32768 beyond those reported as warnings.
git-svn-id: https://svn.eduke32.com/eduke32@6602 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:42 +00:00
hendricks266
a96613f496 Add "Alternate Weapon" key similar to Shadow Warrior Classic Redux.
When pressed it switches between pipebomb / detonator or shrinker / expander.

New event "EVENT_ALTWEAPON"

Akin to "EVENT_PREVIOUSWEAPON" and "EVENT_NEXTWEAPON". RETURN is set to 12.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6594 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:23 +00:00
hendricks266
04d1f0eb29 Fix the bug where tapping (but not holding) fire with 1 ammo left for the chaingun would fail to switch away.
Reported by RunningDuke.

git-svn-id: https://svn.eduke32.com/eduke32@6480 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-15 23:10:15 +00:00
hendricks266
17c4d27298 if (A ? 1 : B) --> if (A || B)
git-svn-id: https://svn.eduke32.com/eduke32@6479 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-15 23:10:12 +00:00
hendricks266
11ce89d294 Fix randomseed in multiplayer.
Merged from private network branch.

Patch by [IFOC]75, prepared by Striker.

git-svn-id: https://svn.eduke32.com/eduke32@6454 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-27 02:30:28 +00:00
terminx
ab79264047 Make setinput work better in EVENT_PROCESSINPUT
git-svn-id: https://svn.eduke32.com/eduke32@6443 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-19 19:10:51 +00:00
terminx
dad337add8 Fix gcc 7.1.0 warnings
git-svn-id: https://svn.eduke32.com/eduke32@6370 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-18 20:53:41 +00:00
hendricks266
fb337a80b1 Move addinventory command code into its own function.
git-svn-id: https://svn.eduke32.com/eduke32@6320 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-05 05:38:02 +00:00
hendricks266
57a7802f6c Factor out modification of DukePlayer_t->actors_killed into P_AddKills().
git-svn-id: https://svn.eduke32.com/eduke32@6319 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-05 05:37:58 +00:00
terminx
72dadcbece Revert part of r6230
git-svn-id: https://svn.eduke32.com/eduke32@6309 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-02 00:44:24 +00:00
hendricks266
01b6047377 Trailing whitespace.
git-svn-id: https://svn.eduke32.com/eduke32@6303 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 11:01:22 +00:00
hendricks266
adf62d216c scale(1<<##, b, c) --> divscale##(b, c)
git-svn-id: https://svn.eduke32.com/eduke32@6256 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:20:42 +00:00
hendricks266
965e40bda7 mulscale(a, b, ##) --> mulscale##(a, b)
git-svn-id: https://svn.eduke32.com/eduke32@6254 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:20:21 +00:00
terminx
65a2c38ba8 Misc cleanups, mostly const correctness
git-svn-id: https://svn.eduke32.com/eduke32@6244 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 09:16:21 +00:00
terminx
0efb2e146e Revise r6235
git-svn-id: https://svn.eduke32.com/eduke32@6241 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 04:32:16 +00:00
terminx
302d6bdfd8 Minor optimizations
git-svn-id: https://svn.eduke32.com/eduke32@6235 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:59:11 +00:00
terminx
54a0d8d4ae Consty McConst
git-svn-id: https://svn.eduke32.com/eduke32@6232 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:54 +00:00
terminx
a3fbe4c542 Add clipdist member to player struct to control how close the player can get to walls
git-svn-id: https://svn.eduke32.com/eduke32@6230 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:43 +00:00
terminx
0447c0feb6 Minor optimization
git-svn-id: https://svn.eduke32.com/eduke32@6168 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:33 +00:00
hendricks266
d43fb548cf Abolish all " ={ " when assigning a struct. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6061 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-05 20:58:33 +00:00
hendricks266
1cc9d13ccf The great repository rearrangement of 2017.
Files moved but not modified. Changes to follow in a subsequent commit.

You down with CPP?

git-svn-id: https://svn.eduke32.com/eduke32@6055 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:01:11 +00:00
Renamed from polymer/eduke32/source/player.c (Browse further)