Christoph Oelckers
d59284c96b
- transitioned Duke to the new main loop.
...
Everything compiles, but hasn't been tested. Doing a safety commit first.
2020-08-30 12:02:32 +02:00
Christoph Oelckers
cc04d41903
- Duke: moved the clock reset to a separate function and deleted the unused lockclock variable.
2020-08-30 07:53:20 +02:00
Mitchell Richters
c207437a57
- Duke: Rename cloudtotalclock
to cloudclock
.
...
* Mostly so it doesn't come up on searches for `totalclock`.
2020-08-26 09:49:32 +10:00
Christoph Oelckers
6b0e1baf02
- added a timerUpdateClock call to the main loop so that Blood and Exhumed work again.
...
This may only be removed when nothing uses totalclock anymore. We're not there yet.
2020-08-25 21:24:45 +02:00
Mitchell Richters
d3b506eb2b
- Duke (and Engine): Eliminate use of totalclock for game.
...
* Breaks every other game except Duke unless/until they get migrated. Done for the purpose of demonstrating PR #244 .
# Conflicts:
# source/build/src/timer.cpp
# source/games/duke/src/game.cpp
2020-08-25 19:51:12 +02:00
Mitchell Richters
2231386830
- Duke: Create function to reset timer and apply in game where timer restarts are needed.
2020-08-25 19:48:15 +02:00
Mitchell Richters
afb09456e0
- Duke: Migrate away from using totalclock
and use new game-specific gameclock
with underlying timer code in common.
...
* Build timer still requires initialisation due to multiple `timerSetCallback()` that still need to work.
# Conflicts:
# source/core/menu/menu.cpp
# source/games/duke/src/game.cpp
2020-08-25 19:47:31 +02:00
Mitchell Richters
b03450f200
- Repair minor Duke3D regression where timerUpdateClock()
was no longer called in newgame()
once 7bb6b6a1ee
removed `handleevents()'.
...
Repairs issue when starting new games and the clock isn't right (particularly noticable on E1L1 start).
2020-08-17 21:53:47 +10:00
Christoph Oelckers
7bb6b6a1ee
- do not call handleEvents outside the main loop.
...
In other places I_GetEvent should be used to call the system's message pump and keep the app responsive, but all game side processing should be skipped.
2020-08-16 10:00:13 +02:00
Mitchell Richters
ddd30e742c
- ensure player's angle input while playing with cl_syncinput 0
is scaled appropriately when sector's lotag is ST_2_UNDERWATER.
2020-08-05 22:57:47 +10:00
Mitchell Richters
03bccb3a06
- functionalise significant portions of 0ee3ab4df8
.
2020-08-05 19:24:42 +10:00
Mitchell Richters
6bd050e201
- fix some interpolation harshness with p->weapon_pos
.
2020-08-03 15:06:25 +10:00
Mitchell Richters
7efa905a01
- fix some interpolation harshness with p->kickback_pic
.
2020-08-03 15:06:25 +10:00
Mitchell Richters
24b0e4438e
- Reset p->oq16horizoff
to p->q16horizoff
in resetplayerstats()
.
2020-07-31 14:23:58 +10:00
Mitchell Richters
ecf8bb699a
- Reset p->oq16look_ang
to p->q16look_ang
in resetplayerstats()
.
2020-07-31 14:21:10 +10:00
Mitchell Richters
2260c2353d
- re-factor interpolation backups into discrete functions for calling from multiple places.
...
Fixes #66 .
2020-07-30 08:24:27 +10:00
Mitchell Richters
f49ded7962
- make cl_syncinput
work for Duke.
...
* Current setup was broken and unusable.
* Fixed interpolation issues.
* Only call `GetInput()` at frame-rate when `cl_syncinput` is 0.
* Create `oq16look_ang` and interpolate it for enhanced smoothness.
* Always reset `horizAngleAdjust` and `horizSkew` in `processinput_d()`.
* Don't pre-scale `sb_avel` in `processinput_d()` and `processinput_r()`.
* Promote `p->angvel` from short to fixed_t.
* Don't descale `sync[snum].q16horz` in `processinput_d()` and `processinput_r()`.
* Ensure `false` bool is provided to `sethorizon()` call in `processinput_d()` and `processinput_r()`.
* Reset `p->q16angvel` in `resetplayerstats()`.
2020-07-28 22:12:09 +10:00
Christoph Oelckers
feffc7c5c2
- fixed: The level number for a secret exit is 1-based, not 0-based as the internal map data.
...
Fixes #35 .
2020-07-26 18:13:21 +02:00
Christoph Oelckers
af970b091e
- set proper game state after ending the level summary screen.
...
Fixes #20 .
2020-07-26 12:43:32 +02:00
Christoph Oelckers
6e276545cd
- fixed typo in savegame metadata reader and an issue with code execution order when exiting a level.
2020-07-26 12:15:24 +02:00
Mitchell Richters
f67a53a7c0
- fix sound and music pausing with tweaks to updatePauseStatus()
. Also removed unneeded game-side function. Fixes #11 .
2020-07-26 17:20:53 +10:00
Christoph Oelckers
c7a9b5678b
- reimplemented autoaim mode 2 (hitscan only)
2020-07-26 09:06:08 +02:00
Christoph Oelckers
b9f0e35d4b
- fixed the crosshair.
2020-07-24 19:43:33 +02:00
Christoph Oelckers
6227f9f7fd
- optimizations for better savegame performance.
2020-07-21 21:32:38 +02:00
Christoph Oelckers
ba7997b611
- implemented most of the savegame code and deleted the old one.
2020-07-20 23:07:44 +02:00
Christoph Oelckers
06fa1391f5
- did some cleanup on the global variables.
2020-07-20 18:43:50 +02:00
Christoph Oelckers
16efa87701
- started sorting variables in globals.h and removed player.h after cleaning it out.
2020-07-20 18:43:50 +02:00
Christoph Oelckers
a40343ae00
- premap.h is also gone because it didn't contain anything relevant anymore.
2020-07-20 18:43:49 +02:00
Christoph Oelckers
31b9995406
- rewrote the ScreenJob player as a class that can be called by an asynchronous dispatcher.
...
Works, except for timing issues with ANMs.
2020-07-20 18:43:48 +02:00
Christoph Oelckers
72bf70811e
- restructured exitlevel for asynchronous handling of the summary screen.
2020-07-19 00:53:13 +02:00
Christoph Oelckers
a1001c5fdd
- changed startnewgame to handle the screen jobs asynchronously.
2020-07-19 00:26:36 +02:00
Christoph Oelckers
a3e9ea97a8
- merged the two main loops into one.
...
Yet to do: Run the screen jobs from the main loop as well.
2020-07-18 23:50:46 +02:00
Christoph Oelckers
e97e663b49
- more restructuring of asynchronously playing sequences.
2020-07-18 22:38:19 +02:00
Christoph Oelckers
c767ead84f
- properly route gameexitfrommenu through the callbacks.
2020-07-18 21:28:57 +02:00
Christoph Oelckers
39a6ab6f0e
- input update - safety commit
2020-07-15 23:44:07 +02:00
Christoph Oelckers
a0cd407632
- cleanup on pausing code.
2020-07-15 18:10:31 +02:00
Christoph Oelckers
2fd2ad2212
- sky code cleanup and transitioning of Duke's.
2020-07-15 00:06:19 +02:00
Christoph Oelckers
4598cf13d7
- reverted the frags array to its original form, moved InitRRRASkies to zz_common.cpp and deleted zz_premap.cpp.
2020-07-14 21:42:46 +02:00
Christoph Oelckers
319e2e2745
- minor cleanup
2020-07-07 23:01:34 +02:00
Christoph Oelckers
ecddd8687c
- newgame is clean now.
2020-07-07 22:41:31 +02:00
Christoph Oelckers
63eaec916b
- fixed a few things.
...
Basic level progression is working, special cases still need testing, but for now it's good enough.
2020-07-07 21:38:20 +02:00
Christoph Oelckers
01fce31f43
- everything compiles again.
...
Still needs testing.
2020-07-07 20:27:21 +02:00
Christoph Oelckers
915b566612
- another safety commit.
2020-07-07 17:56:20 +02:00
Christoph Oelckers
6b86d7606f
- safety commit - does not compile!
2020-07-07 13:19:09 +02:00
Christoph Oelckers
642ae03d90
- use player_struct from JFDuke.
2020-07-06 23:05:48 +02:00
Christoph Oelckers
631398a35a
- renamed a few things.
2020-07-06 23:04:19 +02:00
Christoph Oelckers
1644c1d33a
- cleanup continues.
2020-07-06 23:02:41 +02:00
Christoph Oelckers
2e98b2f8da
- quote cleanup.
2020-06-30 22:53:15 +02:00
Christoph Oelckers
6be1a9a9e4
- copyright
2020-06-28 09:03:31 +02:00
Christoph Oelckers
9e08d81a6b
- prelevel
2020-06-22 00:27:11 +02:00