Commit graph

20560 commits

Author SHA1 Message Date
Christoph Oelckers
b6c5232fea - try to keep the engine stable for as long as possible if a VM exception occurs in OnDestroy while running a cleanup.
This will still crash, but run long enough for the exception message to be visible.
2022-10-20 17:12:43 +02:00
Christoph Oelckers
936e89e3d4 - fixed F2DDrawer::SetClipRect. 2022-10-20 17:12:43 +02:00
Christoph Oelckers
54e0201204 - added vanilla donut handling to compat_floormove. 2022-10-20 17:12:43 +02:00
nashmuhandes
8394de00ca Fixed: voxel models pitch/roll properties weren't initialized correctly 2022-10-20 08:05:14 -04:00
Christoph Oelckers
457b9b71d9 - disable the native part of coronas as well. 2022-10-20 07:50:53 +02:00
nashmuhandes
80a31b074d Disable coronas for now 2022-10-19 22:52:27 +02:00
inkoalawetrust
ea8e3da672 Updated constants.zs. 2022-10-19 22:50:50 +02:00
inkoalawetrust
29421e6975 Added QF_SHAKEONLY
The QF_SHAKEONLY flag changes the behavior of earthquakes with a damage radius, so that they only shake actors around, without also harming them.
2022-10-19 22:50:50 +02:00
inkoalawetrust
457ad97553 Added QF_AFFECTACTORS.
The QF_AFFECTACTORS flag makes the thrusting and harming of damaging earthquakes also affect monsters. Monsters with DONTTHRUST will not be flung around by earthquakes.
2022-10-19 22:50:50 +02:00
inkoalawetrust
05a5a4be51 Added the QF_GROUNDONLY flag.
The QF_GROUNDONLY flag makes earthquakes only shake the player while they are standing on the ground.
2022-10-19 22:50:50 +02:00
Shiny Metagross
7722784de6 Voxels did not have an animationID causing a crash
- Needed to assign -1 to the first index of animations for voxels or a crash occurs
2022-10-19 22:48:57 +02:00
Shiny Metagross
7972afc350 Revert "Before moving boneSelector from unsigned complete"
This reverts commit 8f2b8fa878.
2022-10-19 22:48:57 +02:00
Shiny Metagross
ee7c467a17 Before moving boneSelector from unsigned complete
- boneSelector being unsigned might be the reason why gles is having a hard time. Just stashing this commit here as a bookmark in case I need it
2022-10-19 22:48:57 +02:00
Shiny Metagross
13edabac19 Fixed crash on Intel cards with less than 64 uniform block align
- This should fix the crash with Intel cards. Sprite blinking appears to not occur either
2022-10-19 22:48:57 +02:00
Shiny Metagross
cd4345373d Fixed improper casting
- Made a mistake on the casting in the shader that only worked for Intel
2022-10-19 22:48:57 +02:00
Shiny Metagross
a8bab6a21d Intel fix
- GZDoom can launch for Intel users - IQMs work for Intel too
2022-10-19 22:48:57 +02:00
Shiny Metagross
5b60118af2 HUD models now render properly
- IQM HUD Models will now render properly
2022-10-19 22:48:57 +02:00
Shiny Metagross
6564adf310 Fixed a couple bugs
- MODELSAREATTACHMENTS was basically being applied anyways
- Fixed a crash related to using an animation that never had the vertex buffer drawn because it was never used as a model
2022-10-19 22:48:57 +02:00
Shiny Metagross
be9a671217 Update models_iqm.cpp
- Fixed an issue with IQMs exported from blender that caused some issues in the blend weights
2022-10-19 22:48:57 +02:00
Shiny Metagross
ab7be9b4a4 This fixes models without animation clips
- IQMs lacking animation clips would not appear
2022-10-19 22:48:57 +02:00
Shiny Metagross
b7c1c53eb0 Almost done with To-Dos
- The compile errors should be fixed
- Implemented a way for skeletal models using the MODELSAREATTACHMENTS flag to not upload duplicate bones to the bone buffer
2022-10-19 22:48:57 +02:00
Shiny Metagross
3f8141ed04 I'm not done with this
- I need to figure out how I'm gonna reference the same boneStartIndex between the indices. Maybe some property in smf? The problem is that even though the bone calculations are done just once per instance of the actor when the flag is enabled, the bone buffers are being copied still, and if there's too much data, some will quit uploading because it's full. Besides doing this, I may just see about increasing the buffer size if possible. It's really just not very big.
2022-10-19 22:48:57 +02:00
Shiny Metagross
3c9a1ffe5e Give a fatal error when no mesh data is loaded
- Part of having mesh data in an IQM includes joints. If a model doesn't have any mesh data to it, it won't have joints, and those are necessary. Poses are a different story however.
2022-10-19 22:48:57 +02:00
Shiny Metagross
5f0bf8eda6 Update models.cpp
- Removed an unnecessary bool
2022-10-19 22:48:57 +02:00
Shiny Metagross
5670e6f54c Some of the to-dos
- Implemented Animation parameters for A_ChangeModel
- Made a modeldef flag to treat additional model indices as just attachments, meaning they will use armature data from index 0
- Fixed an issue with A_ChangeModel where generated indices lower than smf frame amounts could not actually generate anything
2022-10-19 22:48:57 +02:00
Shiny Metagross
e9e919b54c Changes before To-Dos
- Removed redundant AttachAnimationData functions from derived model classes
- Fixed indentation in IQM loader
- Fixed a merging issue in the MD3 FindFrame
- Fixed a formatting issue in FindFrame in Model.h?
2022-10-19 22:48:57 +02:00
Shiny Metagross
08f520f1c6 IQM Support Implemented
More info to come
2022-10-19 22:48:57 +02:00
Christoph Oelckers
dbd6a9dea1 - fixed DrawLine commands by giving them a consistent floating point interface. 2022-10-19 20:39:41 +02:00
Rachael Alexanderson
c2373fed99 - heretic: e2m7 - missing texture 2022-10-17 15:48:50 -04:00
Christoph Oelckers
57add9a45c - fixed some warnings and updated vectors.h 2022-10-15 12:10:01 +02:00
Christoph Oelckers
1241b277f3 - fixed direct native interface for Draw(Thick)Line. 2022-10-15 09:10:49 +02:00
Christoph Oelckers
c0c9f8e15c - Backend update from Raze. 2022-10-14 20:11:05 +02:00
Christoph Oelckers
169053587c - fixed: The main loop never checked the cutscene flag for disabling wipes. 2022-10-14 07:10:15 +02:00
Chris Robinson
9aee7415eb Sync movie video playback to the audio, when possible 2022-10-14 07:10:06 +02:00
Christoph Oelckers
f34ba48e3e - constant update. 2022-10-12 19:30:16 +02:00
Magnus Norddahl
37039721bd Fix washed out colors in Vulkan HDR mode 2022-10-11 00:10:02 +02:00
Chris Robinson
d2f8c57136 Make frame timing consistent between movie players 2022-10-10 08:33:23 +02:00
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