Commit Graph

236 Commits

Author SHA1 Message Date
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
Christoph Oelckers 01fce31f43 - everything compiles again.
Still needs testing.
2020-07-07 20:27:21 +02:00