Christoph Oelckers
97f395bd72
- transitioned Blood to the new level change messaging system
2020-09-04 20:46:44 +02:00
Christoph Oelckers
b1a3080671
- migrated Exhumed to a local ticker as well.
...
gameclock is history - all games now run on a timer that increments once per tick under their own control and not independently of the ticker routine.
2020-09-02 21:42:12 +02:00
Christoph Oelckers
4feae913cd
-Blood: merge redundant gFrameCount and gLevelTime variables, reset the timers as the first thing when loading a level.
...
They need to be reset when level data gets set because the current value is used as base.
It was most easily observed at the start of the first level where the grave only would open after a lengthy delay - which was the play time of the last level being played.
2020-09-02 07:47:26 +02:00
Mitchell Richters
c5636e9917
- Blood: Partially revert b8b8e7a638
in case someone really wants to run with cl_interpolate 0
.
2020-09-02 14:55:44 +10:00
Mitchell Richters
b8b8e7a638
- Blood: Get synchronised input going in a testable way. This is not a complete re-factor, just enough to get it going.
2020-09-02 13:20:37 +10:00
Christoph Oelckers
7747fc7fb0
- rewrote the EndMgr in Blood to work as a screen job.
...
This removes the special handling for it in the main loop.
Some functions and variables in the kill and secret managers were also given more meaningful names.
Fixes #313
2020-09-01 21:27:32 +02:00
Christoph Oelckers
fda74a47b4
- use gFrameClock plus interpolation for third person view and tick the flash counter for the CTF HUD in the ticker, not the drawer.
...
This removes a lot of mess.
2020-09-01 20:15:34 +02:00
Christoph Oelckers
d0a3e1781e
- Blood: eliminated gameclock in weapon draw code
2020-09-01 20:10:36 +02:00
Christoph Oelckers
4b45ee150f
- Blood: replaced several uses of gameclock with gFrameClock
...
Mainly those which do not use its full precision.
Choke needs interpolation support, though.
2020-09-01 20:08:37 +02:00
Christoph Oelckers
0fa742f0ca
- Blood: fixed some issues with precaching.
...
This code was still unaware of hardware rendering and created useless software buffers for some textures.
2020-09-01 19:59:15 +02:00
Christoph Oelckers
dfb6c0d6fa
- Blood: moved the precaching code to its own file.
2020-09-01 19:39:30 +02: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
ffe5b114f3
- the engine starts on the new main loop and is capable of running the intros and the menu, but not the game yet.
2020-08-30 12:49:21 +02:00
Christoph Oelckers
847fa48724
- cleaned out the remaining parts of baselayer.h
...
In particular this means to remove the option to disable widescreen aspect ratios. The way this was handled makes no sense with the current render backend.
The aspect ratio code will have to be redone entirely to properly obey the backend's settings.
2020-08-28 09:06:49 +02:00
Mitchell Richters
5bfd4069ef
- Blood: Cleanup some timing variables following timing uplift.
...
* Remove cast of int on `gFrameClock` since gFrameClock is now just an int.
* Remove unused `gFrameTicks`.
* Remove unused `gFrameRate`.
* Rename `gFrame` to `gFrameCount` so it's easier to search and distinguish from `gFrameClock` without relying on regex.
2020-08-26 20:55:46 +10:00
Mitchell Richters
76776d24d7
- All Games: Remove use of ClockTicks
and replace with int
.
2020-08-26 09:49:42 +10:00
Mitchell Richters
aba5c4c134
- All Games: Remove use of timerGetHiTicks()
.
2020-08-26 09:49:36 +10:00
Mitchell Richters
d358c71f82
- Blood: Migrate to GZDoom time code like Duke, SW and Exhumed.
2020-08-26 09:49:23 +10: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
0ee042fb60
- same procedure for Blood
2020-08-24 19:47:09 +02:00
Christoph Oelckers
41a1120033
- added a native style display mode to the notification message display.
...
Fixes #9
2020-08-23 22:39:53 +02:00
Christoph Oelckers
0843f5f04a
- ported the final level's text screen and exported its text to the string table.
2020-08-22 18:12:19 +02:00
Christoph Oelckers
ef78e8602a
- major cleanup and consolidation of the screen/hud resizing code.
...
This is now being handled by the backend, except for the processing of the key bindings which cannot be done yet.
2020-08-16 02:55:50 +02:00
Christoph Oelckers
3455610031
- base palette cleanup.
...
Avoid passing this anywhere in the client code. It should only be set right before rendering the 3D view and the only code using the base palette should be the 3D renderer and hud_drawsprite.
Also make the palette override CVARs 3D view only in debug mode.
2020-08-14 21:18:14 +02:00
Christoph Oelckers
66cb7f61a4
- fixed rendering on narrow screens with an aspect ratio less than 4:3 and removed some parts that are no longer needed.
2020-08-14 21:01:27 +02:00
Christoph Oelckers
3ba5ca46c9
- fixed font alignment in Blood
2020-08-10 21:14:42 +02:00
Mitchell Richters
db6d2e4d89
- fix cl_viewbob()
for Blood.
...
Fixes #134 .
2020-08-10 22:08:44 +10:00
Christoph Oelckers
825b286424
- removed some redundant parts in level.cpp
...
Let's use the underlying data directly.
2020-08-03 19:11:48 +02:00
Christoph Oelckers
5704c57fe0
- changed the byte order swappers to use ZDoom's versions
...
This is to reduce redundancy, plus, these are native on Windows and macOS.
2020-08-03 19:09:57 +02:00
Mitchell Richters
ae2d2c7948
- interpolate zDelta with higher precision from updated CalcSmoothRatio()
function that returns a double instead of an int.
2020-08-03 09:07:19 +10:00
Mitchell Richters
61820ddef5
- interpolate bobx and boby with higher precision from updated CalcSmoothRatio()
function that returns a double instead of an int.
2020-08-03 08:50:48 +10:00
Christoph Oelckers
4a049c1a4d
- split sprite animation off view.cpp
2020-08-02 19:59:14 +02:00
Christoph Oelckers
e2498a53a9
- split Blood prediction code into its own file.
2020-08-02 19:43:45 +02:00
Christoph Oelckers
a9820abcae
- migrated the remaining 2D content in Blood away from rotatesprite.
2020-08-02 19:00:32 +02:00
Christoph Oelckers
1392f4db01
- handle the view frame with backend features.
2020-08-02 18:02:13 +02:00
Christoph Oelckers
fc390e244f
- background for text screens.
2020-08-02 17:45:03 +02:00
Christoph Oelckers
1150e3ee0d
- removed unused stuff from screen.cpp and deleted screen.h.
2020-08-02 13:54:36 +02:00
Christoph Oelckers
3a32e8840f
- ported Blood's status bar to the Status bar class.
...
Now it allows downscaling just like Duke's.
2020-08-02 13:35:34 +02:00
Christoph Oelckers
b259b94300
- implemented status bar scale control for Blood.
2020-08-02 08:48:23 +02:00
Christoph Oelckers
cc8798f6e2
- preparations for rendering Blood's status bar through the Statusbar class.
2020-08-02 08:39:51 +02:00
Christoph Oelckers
49a25c417b
- split Blood's status bar code off into its own file.
2020-08-01 21:23:33 +02:00
Christoph Oelckers
ec846a3e63
- fixed shadows on Blood's text.
2020-08-01 20:07:32 +02:00
Christoph Oelckers
2f94ae8160
- removed Blood's message display.
...
We'll use the common one in c_console from now on.
2020-07-31 21:06:56 +02:00
Christoph Oelckers
a12cdf849e
- fixed text in the menu
2020-07-31 21:05:57 +02:00
Christoph Oelckers
7bf3d5186f
- Blood font refactoring.
2020-07-31 21:05:09 +02:00
Christoph Oelckers
e345bf389f
- removed some inactive pieces of code.
2020-07-28 00:05:56 +02:00
Christoph Oelckers
74c4bbc0e0
- preparations for refactoring Blood's HUD drawer, mainly to pass the palette explicitly to the drawers.
2020-07-27 23:29:10 +02:00
Christoph Oelckers
8a92ecb70c
- some minor reordering of code to only have one call to credLogosDos.
2020-07-27 19:45:34 +02:00