Mitchell Richters
6e6373deda
- SW: Remove camq16*
variables from game and backend code that supported them.
...
* `cl_syncinput 0` is very raw at the moment.
2020-09-07 08:40:14 +10:00
Mitchell Richters
fa9fa88fce
Merge branch 'back_to_basics2' into InputStuffs
...
# Conflicts:
# source/core/gamestruct.h
# source/games/duke/src/duke3d.h
# source/sw/src/input.cpp
# source/sw/src/player.cpp
2020-09-07 07:51:37 +10:00
Mitchell Richters
e94bd9da04
- SW: Replace use of scaleAdjustmentToInterval()
in lieu of backend solution from 290e615807
.
2020-09-06 21:30:47 +10:00
Mitchell Richters
722537a1f0
- InputState: Make CONTROL_GetInput()
return an object instead of accepting a pointer and provide to games as a function parameter.
...
* Provide read-only/const results from `CONTROL_GetInput()` so games can't change received input.
* Change non-descript `info` to `hidInput` (Human Interface Device).
* Remove a few unused prototypes.
2020-09-06 20:18:26 +10:00
Christoph Oelckers
a6c92aec64
- removed all automap code from SW and the flat drawer from the backend.
...
This should have been the last parts of automap code.
Now on to rebuild this thing in a cleaner fashion...
2020-09-06 12:14:08 +02:00
Mitchell Richters
677efb20ba
- SW: Don't check SB_RUN
as player action in ChopsCheck()
.
...
Fixes #312 .
2020-09-06 19:18:14 +10:00
Christoph Oelckers
7dbae8b8f4
- enabled autosaves.
...
Fixes #55
This only creates them but does not auto-resume from them.
2020-09-05 22:39:27 +02:00
Christoph Oelckers
2e8b808683
- added a C_ClearMessages function for the console and fixed game restart after death.
...
Fixes #322
2020-09-04 22:23:38 +02:00
Christoph Oelckers
fd2ce0321e
- transitioned SW to level change event system
2020-09-04 21:15:15 +02:00
Christoph Oelckers
a222a7d7c9
- transitioned Shadow Warrior to new main loop.
...
Problem: Does not work yet with cl_syncinput = 0. Something about those angle and horizon settings is not right yet.
2020-09-02 20:58:37 +02:00
Christoph Oelckers
b3d4bab4dd
- deleted sync.cpp.
2020-09-02 20:57:03 +02:00
Mitchell Richters
253d1a3989
- SW: Re-position actortime clocking.
...
I believe this is the right place and I got it wrong when doing e32cd81cc7
. The change in this commit is more like where Duke times actortime.
2020-09-02 09:28:41 +10:00
Mitchell Richters
9605e41f9f
- SW: Fix Q16.16 operation not using m_fixed inlines. The one that got away...
2020-09-01 23:28:47 +10:00
Mitchell Richters
17da849add
- SW: Get synchronised input going in a testable way. This is not a complete re-factor, just enough to get it going.
...
* Remove bool `PedanticMode`.
* Transition appropriate lines to `cl_syncinput`.
* Remove inlines added purely only to maintain DOS demo compatibility.
* Fix a few pedantic Q16.16 >> Int >> Q16.16 conversions.
2020-09-01 23:08:23 +10:00
Mitchell Richters
1354d52c05
- Major cleanup of Q16.16 utilisation within games and engine.
...
* Remove fix16.h/cpp and utilise library from m_fixed.h.
* Extend m_fixed.h with two inline functions for int to/from float operations.
* Replace fix16_floor operations with those from xs_Float.h
* Replace multiple Q16.16 conversions from 0 to just be 0.
* Replaced all found in-game bit-shifts and multiplications/divisions with inline functions from m_fixed.h
* Replaced many casts of FRACUNIT as double in SW's panel.cpp as it is converted to double by way of type promotion.
* Fixed missed precision fixes in SW's panel.cpp where some types weren't declared correctly.
* Replaced 100+ `Cos()/Sin() >> 16` operations for Blood with inline functions `CosScale16()/SinScale16()`.
2020-09-01 23:00:47 +10:00
Christoph Oelckers
2f05a93547
Merge branch 'Packet' into back_to_basics2
...
# Conflicts:
# source/core/gamestruct.h
# source/games/duke/src/gameloop.cpp
# source/games/duke/src/player_d.cpp
2020-08-31 00:09:56 +02:00
Mitchell Richters
e32cd81cc7
- Unify stat fps
for all games.
2020-08-30 20:24:36 +02:00
Christoph Oelckers
d49aedacea
- continued work on main loop - added a few new entry points to the game interface.
2020-08-30 00:55:49 +02:00
Christoph Oelckers
694444b62a
- converted the remaining input bits.
...
Looks like it is working in all games except Blood (not that it surprises me that it's Blood again which has issues...)
2020-08-29 13:32:55 +02:00
Christoph Oelckers
dc1f56e8f9
Merge remote-tracking branch 'remotes/Github_private/back_to_basics2' into Packet
...
# Conflicts:
# source/core/inputstate.cpp
# source/exhumed/src/exhumed.h
2020-08-29 01:19:48 +02:00
Christoph Oelckers
fe7f3a2f9e
- handle the run key.
2020-08-29 00:57:07 +02:00
Christoph Oelckers
b9e0f493b2
- transitioned the 5 primary action keys: Open, Jump, Crouch and Fire/AltFire.
2020-08-28 23:25:08 +02:00
Christoph Oelckers
d62d2eaec7
- processed all remaining local input CCMDs and removed some bits only needed for multiplayer.
...
These MP bits should be reimplemented as network commands later, they only take up valuable space in the bit field.
2020-08-28 00:03:35 +02:00
Christoph Oelckers
c7e667a17a
- transition weapon selection in SW.
...
Thanks to the macro insanity for trivial operations in this code base this turned out to be a lot more troublesome than Duke...
2020-08-27 00:06:59 +02:00
Mitchell Richters
55f688b13f
- SW: Rename q16horz
to q16horiz
and q16aimvel
to q16horz
for consistency and to avoid confusion down the track.
2020-08-27 08:00:50 +10:00
Christoph Oelckers
abf715eace
- unified the packet structures of all games.
...
Currently the bit fields are still separate and they have to be merged, but for now the added memory does not matter.
Having this structure in the common parts will allow work on consolidating the input code, though.
2020-08-26 17:12:48 +02:00
Christoph Oelckers
84b6af24d3
- renamed the fields in SW's packet structure to match Duke's.
...
Preparation for moving the packet management into public code.
2020-08-25 22:06:01 +02:00
Christoph Oelckers
c09a5150a9
- added some predefined fullscreen modes
...
This is to cut down on boilerplate code because these encode the virtual screen size in the mode parameter, making it unnecessary to specify a virtual size separately.
2020-08-24 20:25:53 +02:00
Christoph Oelckers
f1a988b221
- make use of map bindings
...
All automap controls have been moved there, and sizeup/sizedown have been made CCMDs, taking screen size management entirely out of the game modules
2020-08-24 20:20:15 +02:00
Christoph Oelckers
debb4b17b6
- transitioned SW's automap to the global variables
...
Also copied the automap label output to the status bar for proper ordering.
2020-08-24 19:36:17 +02:00
Christoph Oelckers
91cc6a657b
- tick the fortune cookie display within the playsim code to ensure its duration is handled properly.
...
Fixes #204
2020-08-19 17:10:54 +02:00
Christoph Oelckers
65cb267d56
- save the cookie texts in a savegame and clear them on level exit. Also handle them on a per-player basis.
...
Fixes #196
2020-08-17 22:05:14 +02:00
Christoph Oelckers
17f9bc8a8a
- initiate a full game reset when respawning after death.
...
This was done with the old code but we now have to set the respective flag explicitly because the init code is inside the main loop, not outside.
Fixes #188
2020-08-17 20:30:44 +02:00
Christoph Oelckers
25e8636a60
- eliminated a few smaller headers.
2020-08-16 23:21:24 +02:00
Christoph Oelckers
baf1166319
- trying to bring order to game.cpp
...
Some reshuffling, plus moving the automap drawer to its own file.
2020-08-16 18:18:56 +02:00
Christoph Oelckers
78d3afb0bf
- cleaning out more garbage.
2020-08-16 17:09:59 +02:00
Christoph Oelckers
ab7774c6d7
- thinning out some garbage.
2020-08-16 16:57:42 +02:00
Christoph Oelckers
a8b0839592
- switch SW to CCMD based input.
2020-08-16 16:00:40 +02:00
Christoph Oelckers
532b11467f
- handle all level access and indexing through the mapinfo data.
...
No more level numbers will be stored in the game code.
2020-08-16 14:39:18 +02:00
Christoph Oelckers
af2c836e54
- unused code cleanup.
2020-08-16 09:04:24 +02:00
Christoph Oelckers
5cf54033ed
- removed the demo code.
2020-08-15 22:31:44 +02:00
Christoph Oelckers
deb9b74ce2
- got rid of all remaining rotatesprite calls in SW.
...
Also removed some dead code from player.cpp.
2020-08-15 22:04:37 +02:00
Christoph Oelckers
910ca69484
- migrated all of SW's text display to the backend and removed the various redundant printing functions.
2020-08-15 20:29:13 +02:00
Christoph Oelckers
249c5b5734
- removed some dead code.
2020-08-14 21:12:32 +02:00
Christoph Oelckers
a5d9886aa9
- cleaned up the remnants of the old statusbar code.
2020-08-14 00:56:34 +02:00
Christoph Oelckers
67c340b573
- ported the inventory bar.
...
Now the panel system is only used for displaying the weapons.
2020-08-14 00:38:27 +02:00
Christoph Oelckers
188b2d2daa
- ammo and weapon display ported.
2020-08-13 20:14:53 +02:00
Christoph Oelckers
dc653bbdc0
- thinning out some crap.
2020-08-13 18:19:44 +02:00
Christoph Oelckers
bb6972abb4
- SW: get rid of redundant common_game.h
2020-08-12 23:43:21 +02:00
Christoph Oelckers
d3df4e580c
- do not restart one-page image scrollers with Enter
...
Instead go back one menu level.
Fixed #129
2020-08-10 01:12:53 +02:00