Commit graph

237 commits

Author SHA1 Message Date
Christoph Oelckers
8a5427abed - fixed the cheat handler. 2020-07-25 17:25:21 +02:00
Christoph Oelckers
6df64f4ee3 - fixed RR status bar layout. 2020-07-25 16:43:03 +02:00
Christoph Oelckers
654391a278 - fixed layout for classic Duke fullscreen HUD. 2020-07-25 15:41:11 +02:00
Christoph Oelckers
f9d48e1f68 - removed all the intermediate variables for the status bar size.
hud_size now gets used directly by the status bar code.
2020-07-25 13:26:56 +02:00
Christoph Oelckers
9043123aab - set proper engine compatibility mode. 2020-07-25 10:03:13 +02:00
Christoph Oelckers
1e8b8443b0 - implemented 2D rotation and fixed offset calculation for drawing scaled sprites on the status bar. 2020-07-24 23:08:48 +02:00
Christoph Oelckers
e2de6d9dc3 - changed status bar drawer to pass the texture offsets to the low level code instead of adding them itself.
This is needed for rotating around the pivot point, if the offset is applied here the low level code cannot do the rotation properly anymore.
2020-07-24 21:08:33 +02:00
Christoph Oelckers
b56f74bf32 - actually call the postAction callback for the screen job.
Fixes missing title music.
2020-07-24 20:11:50 +02:00
Christoph Oelckers
d10bf41b03 - removed some obsolete stuff. 2020-07-24 19:44:05 +02:00
Christoph Oelckers
25d383ac73 - re-enabled skipping of MVE movies which was disabled for easier debugging. 2020-07-24 19:05:34 +02:00
Christoph Oelckers
940413524b - tweaks to synchronize video and audio with MVE. 2020-07-24 00:01:50 +02:00
Christoph Oelckers
200db367ec - fixed MVE audio by simplifying the audio buffer to a simple ring buffer of sufficient size. 2020-07-23 23:48:26 +02:00
Christoph Oelckers
75e8a71905 - some progress with sound. Still glitchy. 2020-07-23 23:22:09 +02:00
Christoph Oelckers
928a16983d - adapted the MVE player.
Video appears to work, but has quite severe artifacting  I cannot tell if it's the video or the decoder which causes it.
2020-07-23 22:26:07 +02:00
Mitchell Richters
f046c5eb6b - fix compiler warnings and actual issues with in-game horizon.
* Can't have a - operator on unsigned int in the binangle class.
* Changed fixed horiz class from unsigned to signed as in-game horizon is a signed integer.
2020-07-24 01:08:50 +10:00
Christoph Oelckers
945dbc9f7e Use type safe angle and horizon classes for the render interface
These need to be robust and not allow implicit conversions.
2020-07-23 17:03:11 +02:00
Christoph Oelckers
9742bc72aa - created a horizon class as well. 2020-07-23 17:02:59 +02:00
Christoph Oelckers
ab8006cc40 - make binaryangle.h compile. 2020-07-23 17:02:59 +02:00
Christoph Oelckers
be9094cb97 Silenced lots of warnings pointed out by XCode. 2020-07-23 17:02:59 +02:00
Christoph Oelckers
d16d8f0d0e - fixed issues reported by XCode 2020-07-23 17:02:59 +02:00
Christoph Oelckers
7d414fcfa5 - binary angle class draft. 2020-07-22 21:16:29 +02:00
Christoph Oelckers
368298d02d - enable the menu and console everywhere, except on the intro logos. 2020-07-22 00:42:50 +02:00
Christoph Oelckers
902fbf6f5d - got rid of MODE_TYPE since this will be handled in the backend in the future. 2020-07-21 22:59:24 +02:00
Christoph Oelckers
61f5247b71 -let's hope this will solve the pausing problem for good.
The checks for game pause were totally inconsistent, so now there is a utility function that tells whether the game is supposed to run or not.
pause can also take 3 values now - 0 for no pause, 1 for pause from opening the menu or console or 2 for hitting the pause button.
2020-07-21 22:46:26 +02:00
Christoph Oelckers
6227f9f7fd - optimizations for better savegame performance. 2020-07-21 21:32:38 +02:00
Christoph Oelckers
1869a7930e - hooked up the new savegame code.
Not tested yet.
2020-07-21 00:07:02 +02:00
Christoph Oelckers
2d78643c4d - initial savegame work. 2020-07-20 18:43:50 +02:00
Christoph Oelckers
7d7ae9e463 - fixed gamestartup parser so that it can detect script versions again. 2020-07-20 18:43:50 +02:00
Christoph Oelckers
f9842fc4a8 - implemented running screen jobs from the main loop.
The entire game now has only one single place where videoNextPage gets called.
2020-07-20 18:43:48 +02:00
Christoph Oelckers
e2e9c8ad01 - fixed the timer. 2020-07-20 18:43:48 +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
c767ead84f - properly route gameexitfrommenu through the callbacks. 2020-07-18 21:28:57 +02:00
Christoph Oelckers
29e107ad24 - use CCMDs for weapon and inventory selection, courtesy of ZDuke. 2020-07-17 20:56:10 +02:00
Christoph Oelckers
55feadd11c - render the weapons with the DrawTexture interface and properly handle rotatesprite's alignment modes 2020-07-16 13:23:26 +02:00
Christoph Oelckers
ea6c74d0e6 - transitioned the local input handler.
There wasn't anything EDuke32-specific in there - nearly everything mapped perfectly to JFDuke.
2020-07-15 19:48:04 +02:00
Christoph Oelckers
a0cd407632 - cleanup on pausing code. 2020-07-15 18:10:31 +02:00
Christoph Oelckers
a9f152c1fe - added JFDuke's label type checker and did some cleanup on the CON init code.
Most importantly: Use dynamic buffers for managing the labels instead of hijacking some other storage space.
2020-07-15 12:34:42 +02:00
Christoph Oelckers
866be28da0 - clear the input state when starting a new map or loading a savegame. 2020-07-15 09:21:47 +02:00
Christoph Oelckers
99161e2e4a - made ps an array of player_struct like it originally was. 2020-07-15 00:26:58 +02:00
Christoph Oelckers
1e9679aceb - removed faketimerhandler and the last static remains of EDuke's netcode. 2020-07-14 21:15:37 +02:00
Christoph Oelckers
fedeec73c7 - cleaned out some unused parts of engine.cpp 2020-07-14 17:35:19 +02:00
Christoph Oelckers
5655015691 - YAX is also gone now. 2020-07-14 16:06:14 +02:00
Christoph Oelckers
1d9d1396ac - got rid of print.h (a.k.a. 'how not do design a text formatting library'.) 2020-07-14 15:41:19 +02:00
Christoph Oelckers
117e78cb3b - removed clipshape feature as it is a feature of modern EDuke32 maps only. 2020-07-14 15:36:25 +02:00
Christoph Oelckers
19ef0cd295 - removed screentext and reverted Blood to its original text output. 2020-07-14 15:25:35 +02:00
Christoph Oelckers
aa01adb2f1 - removed osd.h as it was merely a minimal wrapper around c_dispatch, giving some alias names.
Nothing that's needed when cutting ties to upstream.
2020-07-14 14:00:27 +02:00
Christoph Oelckers
f307b2a954 - removed the old Duke and RR subprojects.
These seriously stand in the way of backend cleanup that is needed to do a release based on the new code.
2020-07-14 13:09:34 +02:00
Christoph Oelckers
a93ed1e502 Merge branch 'master' into back_to_basics2
# Conflicts:
#	source/blood/src/view.cpp
#	source/core/gamecontrol.cpp
2020-07-14 12:57:38 +02:00
Christoph Oelckers
893686709b - removed the redundant rfreq factor from CalcSmoothRatio.
I never realized it was redundant when consolidating the interpolation math into one function - originally this was done in a way that it wasn't obvious.
This also eliminates the dependency on refreshFreq which never actually made any sense.
2020-07-14 12:32:59 +02:00
Christoph Oelckers
481ac965cf - reverted ClockTicks to an integer so that interpolation can be reimplemented without it affecting the global game timer.
The entire method at use here is essentially not correct. Interpolation should be handled independently of the game timer directly based on the underlying clock, like in ZDoom.
There's interpolation bugs in the Build games that cannot be fixed if totalclock is used for it, but if we use something else we do not need a fractional totalclock.
2020-07-14 11:52:38 +02:00