Commit Graph
137148 Commits
Author SHA1 Message Date
David Fioramonti b842a43c40 TITANIC: Swap DAffine usage for FPose in setViewportAngle 2017-09-02 06:40:41 -07:00
David Fioramonti 910e221861 TITANIC: Replace DAffine with FPose in Transform and Orientation classes 2017-09-02 06:40:41 -07:00
David Fioramonti fa11ae477f TITANIC: Duplicate DAffine usage in lockMarker2 with FPose usage 2017-09-02 06:40:41 -07:00
David Fioramonti 8ab7ececba TITANIC: Templatize matrix_inv
This allows DAffine and FPose to use a double version
and a float version of matrix4Inv.
2017-09-02 06:39:57 -07:00
Bastien Bouclet fc67541742 ALL: Silence some GCC7 fall through warnings 2017-09-02 15:24:01 +02:00
Bastien Bouclet e4a719d744 AUDIO: Remove the MT32 emulator
It's not used in ResidualVM and it's a pain to merge
2017-09-02 15:17:52 +02:00
Bastien Bouclet 84e62b6c8d ALL: Sync with ScummVM - rev. 87ebc7140c 2017-09-02 15:04:07 +02:00
Bastien Bouclet 0a212398b3 ALL: Update the years for 2017 2017-09-02 11:16:09 +02:00
Bastien Bouclet 1dd5ab650b NEWS: Add some more entries for Myst III 2017-09-02 11:09:17 +02:00
Bastien Bouclet 5d490eed92 MYST3: Clear the screen early in the initialization
Avoids drawing a frame of garbage when the debug console updates the
screen ia bit later (for some reason).
2017-09-02 07:45:37 +02:00
Paul Gilbert 87ebc7140c Merge pull request #1004 from dafioram/fix10170
TITANIC: Don't allow unlocking stars while locking onto a star
2017-09-01 20:46:39 -04:00
David Fioramonti f01115f450 TITANIC: Added DAffine functions that combines several vector operations 2017-09-01 15:42:51 -07:00
Eugene Sandulenko 7ac66c0fc1 JANITORIAL: Fix whitespaces 2017-09-01 13:46:25 +02:00
Eugene Sandulenko 0aa07efc2b COMPOSER: Added detection for German Baba Yaga from bug #10171 2017-09-01 13:45:58 +02:00
David Fioramonti 24c2e3ce4f TITANIC: Replace all external uses of DVector with FVector
Wherever DVector was used outside of DAffine and CMatrixTransform
I replaced with FVectors. So Internally those functions are still
using DVectors.

This required adding some new functions to FVector that duplicated
functionality in DVector.
2017-09-01 04:30:55 -07:00
Bastien Bouclet 7a11ff2006 SDL: Keep the same window between the launcher and the engines 2017-09-01 09:28:09 +02:00
Bastien Bouclet 9ad31268fa MYST3: Use the main event loop for simple movies 2017-09-01 09:26:57 +02:00
Bastien Bouclet 13ff072254 STARK: Implement fullscreen toggling 2017-09-01 09:26:57 +02:00
Bastien Bouclet 125ccf3b4d MYST3: Implement fullscreen toggling 2017-09-01 09:26:57 +02:00
Bastien Bouclet f4e3bd0424 GRIM: Take adventage of kFeatureFullscreenToggleKeepsContext 2017-09-01 09:26:57 +02:00
Bastien Bouclet be5a139ce5 SDL: Implement kFeatureFullscreenToggleKeepsContext in surface SDL2 2017-09-01 09:26:40 +02:00
Bastien Bouclet 6d8568d056 SDL: Implement kFeatureFullscreenToggleKeepsContext in OpenGL with SDL2 2017-09-01 09:25:02 +02:00
David Fioramonti 0df15f0b0d TITANIC: Don't allow unlocking stars while locking onto a star
Fixes #10170.

I've added a boolean variable that tracks whether the game is
in the process of locking onto a star or not.

When the user hits the unlock button _isInLockingProcess gets checked and
the request to unlock is denied if the locking on is currently happening.

Once the locking on is finished then the release is lifted and the user
can unlock at this time (or after locking onto the next star).
2017-08-31 19:25:40 -07:00
Paul Gilbert 88782928ff TITANIC: Minor syntactic fixes for Star Control classes 2017-08-31 20:04:28 -04:00
Paul Gilbert bdabf32bea Merge pull request #1003 from dafioram/fix9961
TITANIC:  Star_Control cleanup and Fix bug #9961
2017-08-31 19:59:33 -04:00
David Fioramonti 4dbfc3595e TITANIC: Fix star lock2/lock3 overshoot, fixes #9961
The problem was that the camera when locking onto the 2nd star
was starting at a bad spot and then overshooting when it moved
to do the locking movements.

A solution I picked is just to start at the final spot.

I also removed the check that the distance the mover had to move
was too large since the bug is now avoided.
2017-08-31 04:10:07 -07:00
David Fioramonti 4c2ac405a5 TITANIC: Star Camera lockMarker2 refactor
Named many variables in the lockMarker2 functions.
2017-08-31 04:10:06 -07:00
David Fioramonti 9d5ee36019 TITANIC: Add 4x4 inverse to Daffine and use it
Very important for StarCamera:lockMarker2 is an inverse of the
difference between locked star1 and about to be star2.

Before it was calculating the col4 values by doing a
new col4 = -inv(R)*col4. col4 represents the x,y,z
position of the vector. This calculation is not correct
in the most general sense and is only valid for a single
rotation and translation.

For any more than one rotation and translation the upper left
3x3 inverse is still the transpose of the previous 3x3
portion there since that is just the rotation part, but the
translation part is now R2T1 + T2, which can't be undone by
simply multiplying by the inverse of R2. This gets more complicated
for lots of rotations so I've added a general 4x4 inverse
calculation and just pulled of the column 4 values.

The inverse implementation I used was from the mesa 3d library and
that has an MIT license so its okay to use in GPL.
2017-08-31 04:08:31 -07:00
David Fioramonti f411da4902 TITANIC: Renamed a dvector func
More correct function naming then before.
2017-08-30 19:53:13 -07:00
David Fioramonti f1e673c133 TITANIC: StarCamera separate function for calculating angle
This makes lockMarker2 more manageable.
2017-08-30 19:53:13 -07:00
David Fioramonti 6a43e8d958 TITANIC: StarCamera work 2017-08-30 19:53:13 -07:00
David Fioramonti b64a5bc3d2 TITANIC: AutoMover and related refactoring 2017-08-30 19:53:13 -07:00
David Fioramonti 8f479522c4 TITANIC: CCameraMover and related classes Refactor
1. Removed updatePosition function defintions since
UnmarkedCameraMover and MarkedCameraMover, derived classes,
are overriddening it. I.e., CCameraMover::updatePosition doesn't
get used.

This also allowed some header files to removed.

2. Renaming of some functions.
2017-08-30 19:53:13 -07:00
Paul Gilbert d1325e2d12 TITANIC: Formatting fixes for viewport refactoring 2017-08-30 20:05:47 -04:00
Paul Gilbert 4557c31c54 Merge pull request #1001 from dafioram/viewport_refactor
TITANIC: Viewport refactor
2017-08-30 19:54:36 -04:00
Eugene Sandulenko 6a5aa12bfa WAGE: Update Parrot Talk games status 2017-08-30 09:06:20 +02:00
Eugene Sandulenko 31eb4724d3 WAGE: Correctly specify target name for dumped scripts 2017-08-29 20:15:19 +02:00
Eugene Sandulenko 5eaa48ec96 WAGE: Dump scripts by request 2017-08-29 19:21:20 +02:00
Eugene Sandulenko b5c552b3bb WAGE: Quit gracefully when requested 2017-08-29 09:33:44 +02:00
Eugene Sandulenko 58fb345b3e WAGE: Since the sounds are blocking, made the sound handle global 2017-08-29 09:33:44 +02:00
Eugene Sandulenko d0082982d5 WAGE: Make sound blocking 2017-08-29 09:33:44 +02:00
Paul Gilbert 1ec8d86593 TITANIA: Fix light being loose after Bellbot gets Titania's eye 2017-08-28 22:03:12 -04:00
Paul Gilbert d7ca6c3bc1 TITANIC: Fix crash opening GMM during startup & Continue dialog 2017-08-28 21:45:07 -04:00
Bastien Bouclet 9dd157afe8 SDL: Import the SDL window changes from ScummVM 2017-08-28 21:46:42 +02:00
Bastien Bouclet 9214605e13 COMMON: Add a feature flag for toggling fullscreen keeping the same GFX context 2017-08-28 21:46:42 +02:00
Bastien Bouclet d645bbcefd OPENGL: Clean up the overlay pixel format code 2017-08-28 21:46:02 +02:00
Eugene Sandulenko 4a1a7f965f GRAPHICS: MACGUI: Do not crash when nothing was drawn yet 2017-08-28 19:17:45 +02:00
Eugene Sandulenko 90aca034df WAGE: Properly set the character when player is not defined 2017-08-28 19:13:49 +02:00
Thomas Fach-Pedersen 1def441e09 BLADERUNNER: Fix build 2017-08-27 22:50:33 +02:00
Thomas Fach-Pedersen 7ec2a3aad2 BLADERUNNER: Fix build 2017-08-27 22:46:55 +02:00