Richard C. Gobeille
b21a4d5880
Duke3d: fix stupid input scaling bug
2020-04-16 00:03:06 +02:00
Mitchell Richters
db428a4f03
All Games: Make more precise use of 'scaleAdjustmentToInterval()'.
...
- Inline function returns a double, therefore we should use it and not potentially truncate the mantissa.
- Use divisors to get true numbers of some floats (3.333 -> 10/3, etc).
- Remove a few brackets/parentheses where possible from what are already exceedingly bracketed lines.
2020-04-14 00:00:21 +02:00
Mitchell Richters
02d436f802
Change Next/Previous Weapon button handling for Duke and RR games.
...
- Resolves inability to change weapons under SDL-based environments as reported at https://forum.zdoom.org/viewtopic.php?f=340&t=67232#p1142970
2020-04-13 23:59:47 +02:00
Christoph Oelckers
66ecb05eb8
- use Printf as the only command to print to the console.
...
All uses of OSD_Printf, initprintf etc. have been renamed.
2020-04-12 08:30:38 +02:00
Richard C. Gobeille
01bb5491af
Rename G_HaveActor() and G_DefaultActorHealth() for clarity
...
The new names are G_TileHasActor() and G_DefaultActorHealthForTile().
# Conflicts:
# source/duke3d/src/duke3d.h
2020-04-08 00:38:50 +02:00
Evan Ramos
b54a6e0565
WT Incinerator projectile velocity hotfix from Nuke.YKT
...
From-SVN: r8791
2020-04-08 00:38:48 +02:00
Evan Ramos
52eab0545b
Implement WT's widescreen tiles
...
From-SVN: r8789
# Conflicts:
# source/duke3d/src/menus.cpp
# source/duke3d/src/premap.cpp
# source/duke3d/src/sbar.h
2020-04-08 00:38:46 +02:00
Evan Ramos
e6940cd591
Implement hardcoded WT stuff
...
Includes the new weapon, enemy projectiles, and breakable objects.
Patch from Nuke.YKT.
I edited it some, mostly to add the proper "if (WORLDTOUR)" checks.
From-SVN: r8788
# Conflicts:
# source/duke3d/src/namesdyn.cpp
2020-04-08 00:38:45 +02:00
Richard C. Gobeille
ec3e8bffe1
Are you kidding me? This fixes the elevator in Duke3D E2L3.
2020-04-08 00:38:43 +02:00
terminx
c110c1018d
Fix IF crouch jumping and unintentional automatic crouching under sprites
...
git-svn-id: https://svn.eduke32.com/eduke32@8737 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:38:33 +01:00
terminx
a7e1d3f307
Patch from Nuke.YKT to fix a couple of NAM/WW2GI issues
...
git-svn-id: https://svn.eduke32.com/eduke32@8726 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:34:27 +01:00
terminx
9630126a6d
Improve player input locking logic
...
This fixes the issue with mouse input and viewscreens.
git-svn-id: https://svn.eduke32.com/eduke32@8619 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:12 +01:00
terminx
bcb561014d
Fix hilarious bug where holding the strafe modifier and pressing turn left/right moved the player in the wrong direction
...
git-svn-id: https://svn.eduke32.com/eduke32@8617 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:11 +01:00
terminx
ce2c378dcb
Emulate previous behavior for player oang/ohoriz/angvel struct members
...
git-svn-id: https://svn.eduke32.com/eduke32@8605 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:11 +01:00
terminx
b48de3ca3c
Take CRANE sprites into account before applying mouse input
...
git-svn-id: https://svn.eduke32.com/eduke32@8565 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:11 +01:00
terminx
ae9b6915ce
Get rid of the globals used when implementing the framerate based input polling
...
git-svn-id: https://svn.eduke32.com/eduke32@8555 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:11 +01:00
terminx
e94ce88b27
Use the saturating versions of the fix16 functions for player input
...
git-svn-id: https://svn.eduke32.com/eduke32@8554 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:10 +01:00
terminx
659ebf82d8
Improve player view recentering
...
git-svn-id: https://svn.eduke32.com/eduke32@8552 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:10 +01:00
terminx
3b43bba32f
Tie player input to the frame rate instead of the game tickrate
...
This voodoo bullshit entirely eliminates any and all player viewport input latency.
git-svn-id: https://svn.eduke32.com/eduke32@8551 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:10 +01:00
Christoph Oelckers
de2c07aa6a
- revert all consolidation efforts between Duke and RR frontends.
...
Too many problems with different code.
2020-03-18 08:24:31 +01:00
Christoph Oelckers
a5c2152530
- consolidated the dynamic tile handling for Duke and RR frontends
2020-03-06 17:12:38 +01:00
Christoph Oelckers
64a34f8af7
- disable the tenth weapon slot for Ion Fury.
2020-02-29 09:58:15 +01:00
Christoph Oelckers
1b6b43291b
- disabled the 'portable' savegame feature for Ion Fury.
...
This won't survive the coming savegame refactoring because its only reason for existence is to work around the savegame format's volatility.
2020-02-23 09:55:49 +01:00
Christoph Oelckers
57a3f89105
- workaround for cl_autoaim not being set anymore.
...
Only for singleplayer for now, the network implementation for this flag leaves a lot to be desired.
2020-02-16 21:31:29 +01:00
terminx
9bd966c77e
Macros for a couple hardcoded values
...
git-svn-id: https://svn.eduke32.com/eduke32@8641 1a8010ca-5511-0410-912e-c29ae57300e0
2020-02-11 18:24:50 +01:00
terminx
a9e8666b07
This lets the player jump into the vents in DUKEDC3.MAP
...
Since this is Duke3D, I'm sure this change breaks something else.
git-svn-id: https://svn.eduke32.com/eduke32@8640 1a8010ca-5511-0410-912e-c29ae57300e0
2020-02-11 18:24:39 +01:00
terminx
376c29dba6
Rename ZOFFSET1 to ACTOR_FLOOR_OFFSET and use ACTOR_MAXFALLINGZVEL in several places where it should have been used
...
git-svn-id: https://svn.eduke32.com/eduke32@8637 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/duke3d/src/player.cpp
2020-02-11 18:23:49 +01:00
terminx
b214a67853
Minor clipping fix
...
git-svn-id: https://svn.eduke32.com/eduke32@8608 1a8010ca-5511-0410-912e-c29ae57300e0
2020-02-07 18:55:56 +01:00
Christoph Oelckers
a90185bea9
- cleaned up the remaining dependencies on windows.h
...
This file now only gets included by code that really needs it.
2020-02-03 21:30:57 +01:00
Christoph Oelckers
4aaf6c4cf6
- check for angular overflow in pitch calculations.
2020-01-29 21:52:17 +01:00
terminx
af816fdf00
This fixes things like shrunk player behavior at the expense of the return of issues like the player automatically stepping up onto sprite architecture.
...
git-svn-id: https://svn.eduke32.com/eduke32@8568 1a8010ca-5511-0410-912e-c29ae57300e0
2020-01-29 19:35:34 +01:00
terminx
8543f476d7
Ion Fury compatibility improvements
...
git-svn-id: https://svn.eduke32.com/eduke32@8559 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/duke3d/src/game.cpp
2020-01-29 19:20:35 +01:00
terminx
92a6178429
Fix forward movement with the mouse when mouse aiming is disabled
...
This was missed back when input between the x and y axes was normalized to use the same scale.
git-svn-id: https://svn.eduke32.com/eduke32@8541 1a8010ca-5511-0410-912e-c29ae57300e0
2020-01-29 19:09:48 +01:00
terminx
e4add4956b
Factor conditions for locking player movement out into new P_CheckLockedMovement() function
...
git-svn-id: https://svn.eduke32.com/eduke32@8539 1a8010ca-5511-0410-912e-c29ae57300e0
2020-01-29 19:09:33 +01:00
Christoph Oelckers
a870df840e
- hooked up the input system and did a major cleanup.
...
Much of the old system is no longer needed with all buttons being handled as keys.
Mouse axis movement is not working yet.
2019-12-24 12:59:26 +01:00
Christoph Oelckers
d24bd0fc14
- added refactored sound code to RR frontend.
...
- removed most code using the low level sound interface directly from Duke and RR frontends.
2019-12-16 16:18:47 +01:00
Christoph Oelckers
62660e76f3
- sound system rework. Not complete.
2019-12-15 10:00:25 +01:00
Christoph Oelckers
69fd6cf69d
- removed currentBoardFilename
...
This was only used for displaying the name for user maps, everything else was using other means of getting the data already, and even here currentLevel is better suited.
2019-12-11 01:01:03 +01:00
terminx
c851da92a6
Improve interaction between cheat entry and player input
...
git-svn-id: https://svn.eduke32.com/eduke32@8369 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/duke3d/src/cheats.cpp
# source/duke3d/src/player.cpp
2019-12-08 08:05:14 +01:00
terminx
cf0a74a888
Fix noclip in Duke3d
...
git-svn-id: https://svn.eduke32.com/eduke32@8368 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-08 07:59:31 +01:00
Christoph Oelckers
cb0538d0f2
- mouse aiming cleanup.
...
Reverted this to a sane setting, as it was in the original games and in all other games I have ever seen, i.e. there is a global setting to enable mouse view, and a button to manually trigger it. The toggle can be easily handled by flipping the CVAR directly.
The main problem here was that it triggered a few cases for mouse-less gameplay in the default case with a mouse present, because the mouseaim CVAR was no longer what the game expected.
This misguided change seems to have originated in JFDuke but by now had propagated to all the other games as well, the code was in all 4 frontends.
2019-12-05 01:08:35 +01:00
Christoph Oelckers
72857db17b
- refactor of the quote storage.
...
This was consolidated for both EDuke and RedNukem frontends, put into a class with strict access control and the length limit was lifted.
The new class will eventually allow better localization control.
2019-12-04 00:28:28 +01:00
Christoph Oelckers
c561255018
- moved the application of in_mousebias and in_mousedeadzone into the backend code.
...
This piece was repeated 6x for each call to CONTROL_GetInput, creating quite a bit of redundancy.
2019-12-03 20:58:43 +01:00
Christoph Oelckers
a4fcf9ee2b
- fixed savegame writing for Ion Fury.
...
The composite's writers may not be deleted, they are needed for creating the final savegame file.
2019-11-24 21:21:15 +01:00
Christoph Oelckers
ab9c532d89
- save custom data as JSON.
...
This makes it a lot easier to debug and test than binary blobs.
2019-11-15 18:57:26 +01:00
Christoph Oelckers
299f596afc
- Changed EDuke menu to receive all settings storage locations as CVARs.
...
With this out of the way the only part that needs a real replacement immediately is the keybinds menu.
2019-11-09 19:15:03 +01:00
Christoph Oelckers
9aa275f996
- got rid of some editor-only code and the entire buildvfs header
...
Nearly all file write access now uses the FileWriter class, which is UTF-8-safe on all platforms - unlike stdio.
2019-11-08 02:02:54 +01:00
Christoph Oelckers
570696fc09
- added ZDoom's CCMD code.
...
Not tested yet.
2019-11-04 23:01:50 +01:00
Christoph Oelckers
b747df60ee
- moved all keyboard related code into the InputState class, so that looking for this stuff is easier.
...
Sadly there's 1ß00 lines of code using this...
2019-11-04 00:53:55 +01:00
Christoph Oelckers
eb049abc3a
- it compiles again (safety commit)
2019-11-03 20:24:50 +01:00