Christoph Oelckers
fc11f537f7
- project cleanup
...
* moved all games into the 'games' folder.
* fixed project to include all sources and move them to the proper folders.
2021-01-10 20:31:32 +01:00
Mitchell Richters
afdfcba9c3
- SW: Leverage new spritetype
methods within SW.
...
* We now also interpolate the player's sprite angle in the automap code so that `cl_syncinput 1` is smooth, just like e8c20f502b
.
2021-01-06 06:22:37 +11:00
Mitchell Richters
5124c0daec
- Amalgamate ksgn and sgn into Sgn in cmdlib.h, and remove pragmas.h.
2021-01-05 07:31:37 +11:00
Mitchell Richters
2396179dfc
- Replace mulscale##()
calls with MulScale()
from common.
...
* Regex for reference: mulscale([0-9]+)\((.+)(\)+)
2021-01-05 07:31:15 +11:00
Mitchell Richters
be12da6bfb
- Automap: Put in framework to interpolate automap player.
2021-01-02 18:23:01 +11:00
Mitchell Richters
3ec41e776c
- SW: Clean up old auto aim/mouse aim bits.
2021-01-01 22:37:40 +11:00
Christoph Oelckers
06a069750f
- addressed more type casting issues in SW.
...
This should cover everything with coordinates.
2020-12-01 19:01:38 +01:00
Christoph Oelckers
39b67b4086
- SW: removed some very dangerous type casting.
2020-12-01 18:30:21 +01:00
Christoph Oelckers
b52668ecdf
- SW: added some simple allocation wrappers around common code sequences.
2020-12-01 16:53:29 +01:00
Christoph Oelckers
6dfe869614
- shorten the struct for puser to what actually gets used from it.
...
This is preparation for making USER more serialization friendly as it was copied to puser.
2020-12-01 16:22:32 +01:00
Christoph Oelckers
a34f5debe8
- route the shared control CCMDs through the game interface instead of registering local variants for each game.
2020-11-29 13:35:09 +01:00
Christoph Oelckers
3d0842d851
- SW: made sector object interpolation more serialization friendly.
...
This eliminates all the direct pointers to various game data and replaces it by encoded offsets.
2020-11-26 18:32:36 +01:00
Mitchell Richters
80ff918b17
- gameinput.h: For PlayerAngle struct methods settarget()
, properly set target as angle + delta between angle & target within method and not game-side.
2020-11-26 17:26:29 +11:00
Mitchell Richters
73df144f65
- SW: Fix ladder angle issues.
...
* Fixes #197 .
2020-11-25 07:50:30 +11:00
Christoph Oelckers
35f3de64f7
- partial cleanup of SW's game.h
...
inlined several macros, removed some unused ones, replaced a few with one or two uses and simplified some functions to remove 90's optimizations that these days have no positive effect aside from complicating the code.
2020-11-23 08:39:20 +01:00
Mitchell Richters
f0be96c385
- buildutils: Replace sintable[]
use within SW's game.h with bsin()
/bcos()
.
2020-11-22 21:18:07 +01:00
Mitchell Richters
6e3d414b3c
- inputstate.cpp: Move checkCrouchToggle()
from gameinput.ccp into ApplyGlobalInput()
and use static bool for crouch toggling vs. game-side bool.
2020-11-07 18:16:16 +11:00
Mitchell Richters
a153ebab7e
- SW: Migrate crouch toggling to backend solution implemented in 4ef0d20e0e
.
2020-11-07 17:53:11 +11:00
Christoph Oelckers
a8e7d1ef74
- the rest for SW.
2020-10-15 20:22:40 +02:00
Christoph Oelckers
1757ef2aa6
- split the game input code off gamecontrol.cpp into its own file.
2020-10-11 16:33:43 +02:00
Christoph Oelckers
fe2e96d3a6
Merge branch 'master' into InputContinuation
...
# Conflicts:
# source/games/duke/src/duke3d.h
2020-10-10 21:39:27 +02:00
Christoph Oelckers
15eaf86f5a
- preparations for the image scroller menu.
2020-10-08 18:02:25 +02:00
Mitchell Richters
9bcdeae6cd
- InputPacket: Change q16avel
to avel
, changing type from fixed_t to float.
2020-10-08 14:47:30 +11:00
Mitchell Richters
d758a0ae28
- SW: Cut q16ang
/q16look_ang
/q16rotscrnang
over to PlayerAngle struct.
2020-10-08 14:23:44 +11:00
Christoph Oelckers
a953404331
- SW's text menus done.
...
This also copies the Build texture animation info into the texture manager so that the 2D code can access it through existing interfaces.
2020-10-07 23:22:29 +02:00
Christoph Oelckers
2bb38f7d67
- get load and save game menus and related CCMDs working again.
2020-10-07 18:32:57 +02:00
Mitchell Richters
6476430be6
- SW: Cut q16horiz
/q16horizoff
over to PlayerHorizon struct.
2020-10-07 18:08:57 +11:00
Mitchell Richters
0e3604ac9e
- SW: Remove q16horizbase
and apply q16horizoff
in draw code like Duke & Blood.
...
* Standardisation is needed here for upcoming horizon changes.
2020-10-07 13:33:16 +11:00
Christoph Oelckers
3dbb8cbb11
- safety commit
2020-10-05 21:47:53 +02:00
Christoph Oelckers
89bc194035
- added shareware checks to the "start game" menus.
2020-09-25 19:36:50 +02:00
Mitchell Richters
04af1d9ce8
- All Games: Unify processMovement()
.
2020-09-24 22:32:37 +10:00
Mitchell Richters
e078ea6ebd
- Blood/Exhumed/SW: Hook up gi->clearlocalinputstate()
.
2020-09-24 00:15:51 +10:00
Mitchell Richters
f806cdcec6
- Blood/Duke/RR/SW: Unify the player's angle/horizon helper functions.
2020-09-21 17:12:51 +10:00
Mitchell Richters
7bf1cacc7f
- Blood/Duke/RR/SW: Unify the player's angle function.
...
* For Blood/SW, exposes `SB_LOOK_LEFT`/`SB_LOOK_RIGHT` to games, hooking up `q16look_ang` and `q16rotscrnang` within.
* For SW, use Duke & Blood's return to center function and remove `PF_TURN_180` bit.
* For RR, replace a few misused bits with some bools inside of `player_struct`.
* Since bulk of functionality is sourced from Duke (30Hz), apply proper scaling so SW speed matches (40Hz).
2020-09-21 17:12:26 +10:00
Mitchell Richters
0ab3b33a6c
- Blood/Duke/RR/SW: Unify the player's horizon function.
...
* For Duke/SW, we continually apply `SB_CENTERVIEW` only if it was previously a toggled action, similar to Blood.
* For SW, we remove two SW-specific bits (`PF_LOCK_HORIZ` and `PF_LOOKING`) that are no longer needed.
* For Duke, we remove `return_to_center` and just use the `SB_CENTERVIEW` action bit as required.
* For `sethorizon()`, feature set and adjustment speeds are an averaged out accumulation across Duke/SW:
** GameTicRate is factored in for adjustment decisions to provide consistency for SW being the faster game.
** Adjustment amounts are half way between Duke/SW.
2020-09-20 20:01:36 +10:00
Mitchell Richters
1900cf1fcc
- Move Duke's getincangle()
function to the backend, create Q16.16 variant (getincangleq16()
) and replace Shadow Warrior's discrete implementations shared versions.
...
* Need SW's input helpers available for Blood but therefore also need an angle delta function that does not seem to exist in Blood.
* Realise that gamecontrol.h/cpp might not be the most appropriate place, but it's a shared location and these will go into binaryangle.h when its utilisation can be more realised.
* Because SW's logic was reversed, in that param #1 was the new angle and param #2 was the current, all calls have been reversed.
* By happenstance, also fixes an issue with multiple 180° turns in quick succession.
2020-09-20 16:21:13 +10:00
Christoph Oelckers
2ffb6a3580
- finally got rid of SWBOOL.
2020-09-09 20:32:24 +02:00
Christoph Oelckers
e044582aef
- fixed all issues with SWBOOL as pointed out by a type-safe wrapper class.
2020-09-09 20:28:05 +02:00
Christoph Oelckers
1a647e8104
- globally search and replaced TRUE and FALSE in SW.
...
There were a handful of warnings afterward which were also addressed.
The SWBOOL type has not been handled yet.
2020-09-09 19:52:52 +02:00
Mitchell Richters
b2272bd377
SW: Partially revert 73d0772e87
and do in a way that's more fidele to the original workflow.
2020-09-09 23:01:37 +10:00
Mitchell Richters
e24521b189
- SW: Uplift playerSetHoriz()
similar to uplift to playerSetAngle()
in b832442e31
.
2020-09-09 22:04:59 +10:00
Mitchell Richters
b832442e31
- SW: New implementation of playerSetAngle()
that works better for intended purpose. This corrects the issues with angle not being quite right when getting onto a ladder.
2020-09-09 21:29:03 +10:00
Mitchell Richters
b72a3326d0
Merge branch 'back_to_basics2' into InputStuffs
...
# Conflicts:
# source/core/d_net.cpp
2020-09-09 06:56:27 +10:00
Christoph Oelckers
298949ceb8
- more compat.h cleanup
...
Its elimination is getting closer. :)
2020-09-08 18:48:18 +02:00
Mitchell Richters
48630914b1
- SW: Remove boat code from new input code for cleanliness.
2020-09-09 00:34:51 +10:00
Mitchell Richters
1e3199413c
- SW: Rename all Tank-related function code to Vehicle.
2020-09-08 21:54:48 +10:00
Mitchell Richters
8625ac573d
- SW: Comment out all boat code, it's actually not used within the game at all and was very confusing...
2020-09-08 21:40:20 +10:00
Mitchell Richters
cb7e797842
- SW: Partially revert changes from df0331a4c3
.
2020-09-08 20:48:01 +10:00
Mitchell Richters
73d0772e87
- SW: Call DoPlayerMoveTurret()
in processMovement()
in lieu of DoPlayerTurnTurret()
and don't interpolate sector object's sprite while !cl_syncinput
.
...
* Makes operating the tank silky smooth while unsynchronised.
2020-09-08 19:42:22 +10:00
Mitchell Richters
f14405f9cc
SW: getinput
-> processMovement()
.
2020-09-08 06:24:26 +10:00