-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tr2: 60fps (temporary PR) #2550
Draft
lahm86
wants to merge
11
commits into
LostArtefacts:develop
Choose a base branch
from
lahm86:fps60-cont
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Download the built assets for this pull request: |
034d0bd
to
37c3611
Compare
This covers not interpolating items that are inactive, such as stopped boulders. An item may still be active in the item list such that it retains collision, but inanimate, sich as boulders or mines, so we need to check both statuses. The TR1 test here has also been simplified to match. TR2 mines have a bad frame in the level data, so we avoid interpolating these in all cases. The push button also has a single frame where a mesh is rotated 180deg to simulate off/on, so this can't be interpolated.
This moves Object_DrawInterpolatedObject from TR1 to TRX, and updates TR2's Object_DrawAnimatingItem to use this as the logic is identical.
This updates TR2's inventory to use Object_DrawInterpolatedObject so interpolation is taken into account. Custom behaviour for the stopwatch retained.
This updates camera interpolation in cases where there are large shifts of any positional value, such as going to a fixed camera on the other side of the world. In this case, we just commit the values rather than interpolating each one, as this can result in the camera having settle at the destination.
I think prior to this, the shade value happened to be less than zero so it was having dynamic lighting applied, but the value should be enforced on creation.
This resolves various TR1 and TR2 effects jittering in 60fps, and ensures grenades and harpoons (from Lara) are interpolated.
This fixes some frames in TR2 cutscenes where the camera perspective changes, but not quite enough to hit on any coordinate to reach the 512 threshold.
This performs bounds tests on the interpolated camera result to avoid instances where black screens can occur.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Checklist
Description
This builds on #2544, and is separated to make test builds available (shared branch writing issues otherwise, this is for ease). Please continue to add issues/comments to #2544 rather than here. Thanks!