Commit Graph

20673 Commits

Author SHA1 Message Date
Chris Robinson bf2e7c210d Use a MovieAudioTrack for synchronized audio with MvePlayer 2022-10-10 08:33:23 +02:00
Chris Robinson 573784b37f Handle the SoundStream in MvePlayer instead of InterplayDecoder 2022-10-10 08:33:23 +02:00
Chris Robinson bf933b3904 Decode audio and video separately in InterplayDecoder 2022-10-10 08:33:23 +02:00
Chris Robinson fa2cea3e5b Read whole chunks at a time from Interplay MVE files 2022-10-10 08:33:23 +02:00
Chris Robinson 80bf62cb3c Start the VPX audio track on the first frame
MoviePlayer::Start is called about a second (potentially) before
MoviePlayer::Frame starts getting called to actually play the video, causing
the audio to start early and require significant synchronization adjustment.
This isn't ideal to constantly check if the audio track needs to play in
MoviePlayer::Frame, but it's better than starting prematurely.
2022-10-10 08:33:23 +02:00
Chris Robinson 5e465a65e2 Make a common class to help with movie audio streams 2022-10-10 08:33:23 +02:00
Chris Robinson d11e2ef1ac Always output 16-bit samples from SmackerDecoder 2022-10-10 08:33:23 +02:00
Chris Robinson 3b6723e6f2 Better report the number of Smacker audio tracks 2022-10-10 08:33:23 +02:00
Chris Robinson 1a692f5c28 Synchronize Smacker movie audio tracks 2022-10-10 08:33:23 +02:00
Chris Robinson 5d00b96e5f Read Smacker video and audio data separately 2022-10-10 08:33:23 +02:00
Chris Robinson 19a4eb79aa Read in full packets at a time from smacker files 2022-10-10 08:33:23 +02:00
Chris Robinson 7401e02a14 Include the source latency for movie audio synchronization 2022-10-10 08:33:23 +02:00
Chris Robinson 23fff7791e Update and use OpenAL Soft's extension headers 2022-10-10 08:33:23 +02:00
Chris Robinson c825ff3543 Use a more reasonable buffer size for the movie audio stream 2022-10-10 08:33:23 +02:00
Chris Robinson a2f0c1aee6 Update the audio offset when skipping a full update 2022-10-10 08:33:23 +02:00
Chris Robinson 1a233b08c3 Synchronize the VPX "soundtrack" with the frame clock 2022-10-10 08:33:23 +02:00
Chris Robinson 78f40fe99c Add a method to retrieve the play position of a SoundStream 2022-10-10 08:33:23 +02:00
Chris Robinson c808aad595 Play the VPX "soundtrack" as a SoundStream 2022-10-10 08:33:23 +02:00
Christoph Oelckers 94b249172a - normalize the timer with the app start, not the epoch.
This ensures smaller values and less wraparounds with integer values in scripts.
2022-10-09 14:52:08 +02:00
Christoph Oelckers b225a910a0 - Backend update from Raze 2022-10-09 13:44:43 +02:00
Christoph Oelckers 08f66585b7 - un-deprecated the integer MSTime variant.
Due to undefined downconversion rules from double to int, there is no way to safely downcast the return from MSTimef, meaning the function is completely useless for retrieving integral time stamps.
The old version is essential for these cases and must be kept around.
2022-10-09 13:42:51 +02:00
Christoph Oelckers 7f338988e3 - added Harmony ENDOOM screen.
https://www.doomworld.com/forum/post/2553149
2022-10-08 23:18:59 +02:00
Kevin Caccamo 83373d117d Fix compilation on POSIX (Linux/macOS) systems 2022-10-02 22:04:40 +02:00
Christoph Oelckers 2c29a93f1f - fixed compile. 2022-10-02 20:45:00 +02:00
Christoph Oelckers 519005ff4d - snd_reset cannot be shared. 2022-10-02 20:22:23 +02:00
Christoph Oelckers 00bb258d58 - moved some stuff from wipe.h to wipe.cpp. 2022-10-02 19:26:23 +02:00
Christoph Oelckers 207913bced - added a config getter to the interface.
Now the only external reference left in the backend code is the call to GameMain.
2022-10-02 18:42:08 +02:00
Christoph Oelckers e6615629b3 - move two more backend->frontend calls to the interface 2022-10-02 18:29:57 +02:00
Christoph Oelckers b19b0db150 - moved language CVAR to backend. 2022-10-02 17:59:39 +02:00
Christoph Oelckers 73142ef2cf - handle menu customization via callbacks. 2022-10-02 17:49:39 +02:00
Christoph Oelckers a084667bed - move hud scale CVARs to the backend. 2022-10-02 17:33:49 +02:00
Christoph Oelckers 9076145319 - handle autoload flags in startup through function parameters instead of directly accessing the CVARs. 2022-10-02 17:12:34 +02:00
Christoph Oelckers f63d4d8a12 - handle Build tiles via explicit callback to the init function. 2022-10-02 16:54:43 +02:00
Christoph Oelckers 8aaab153fa - add a system interface for CheckCheatmode and moved some sound code to the backend. 2022-10-02 16:48:56 +02:00
Christoph Oelckers 75afc69306 - moved IWAD CVARs to backend. 2022-10-02 14:42:26 +02:00
Christoph Oelckers c596095fe0 - minor cleanup. 2022-10-02 14:36:49 +02:00
Christoph Oelckers 8e6bdd72fa - moved UpdateVRModes, AppActive and gamestate into the backend. 2022-10-02 14:28:40 +02:00
Christoph Oelckers 65f6e788eb - moved gitinfo.h into the backend 2022-10-02 14:20:15 +02:00
Christoph Oelckers 307ff4e163 - pass filename to I_WriteIniFailed as parameter.
This accessed game data from the backend.
2022-10-02 14:08:07 +02:00
Christoph Oelckers 34f30ee70b - remove gi.h includes in backend code. 2022-10-02 14:04:24 +02:00
Christoph Oelckers 01f8131969 - moved chatmodeon to the backend. 2022-10-02 14:01:43 +02:00
Christoph Oelckers 12adee5256 - fixed a few includes 2022-10-02 13:57:36 +02:00
Player701 78360c1888 - Exported GetDisplayTopOffset for font characters to ZScript 2022-09-30 10:07:41 +02:00
Christoph Oelckers 1b762474f0 - added missing obituary for Strife's turret. 2022-09-28 07:56:19 +02:00
inkoalawetrust 69b9f107f0 Added support for BLOCKLANDMONSTERS in Line_SetBlocking.
This PR was written by MrRaveYard
2022-09-28 07:56:12 +02:00
inkoalawetrust 502c9fef5c Added APROP_FriendlySeeBlocks to Set/GetActorProperty 2022-09-24 16:44:11 -04:00
ZZYZX 662027f429 Fix typo that was always calling SetXOffset even in SetYOffset 2022-09-20 15:08:02 -04:00
ZZYZX a4a4e4e9f9 Fix planeval; add direct sector slope manipulation 2022-09-20 15:08:02 -04:00
ZZYZX f049421831 Modify to have one GetVertexZ rather than IsVertexZSet / GetVertexZ 2022-09-20 15:08:02 -04:00
ZZYZX a58acfc625 Add vertex height manipulation functions to LevelPostProcessor 2022-09-20 15:08:02 -04:00