aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic
AgeCommit message (Collapse)Author
2017-09-02TITANIC: Duplicate DAffine usage in lockMarker2 with FPose usageDavid Fioramonti
2017-09-02TITANIC: Templatize matrix_invDavid Fioramonti
This allows DAffine and FPose to use a double version and a float version of matrix4Inv.
2017-09-01TITANIC: Added DAffine functions that combines several vector operationsDavid Fioramonti
2017-09-01TITANIC: Replace all external uses of DVector with FVectorDavid Fioramonti
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-08-31TITANIC: Don't allow unlocking stars while locking onto a starDavid Fioramonti
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-31TITANIC: Minor syntactic fixes for Star Control classesPaul Gilbert
2017-08-31TITANIC: Fix star lock2/lock3 overshoot, fixes #9961David Fioramonti
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-31TITANIC: Star Camera lockMarker2 refactorDavid Fioramonti
Named many variables in the lockMarker2 functions.
2017-08-31TITANIC: Add 4x4 inverse to Daffine and use itDavid Fioramonti
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-30TITANIC: Renamed a dvector funcDavid Fioramonti
More correct function naming then before.
2017-08-30TITANIC: StarCamera separate function for calculating angleDavid Fioramonti
This makes lockMarker2 more manageable.
2017-08-30TITANIC: StarCamera workDavid Fioramonti
2017-08-30TITANIC: AutoMover and related refactoringDavid Fioramonti
2017-08-30TITANIC: CCameraMover and related classes RefactorDavid Fioramonti
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-30TITANIC: Formatting fixes for viewport refactoringPaul Gilbert
2017-08-30Merge pull request #1001 from dafioram/viewport_refactorPaul Gilbert
TITANIC: Viewport refactor
2017-08-28TITANIA: Fix light being loose after Bellbot gets Titania's eyePaul Gilbert
2017-08-28TITANIC: Fix crash opening GMM during startup & Continue dialogPaul Gilbert
2017-08-27TITANIC: Refactoring of Viewport classDavid Fioramonti
1. Improved naming of functions. E.x., fn17 is now called getRelativePosNoCentering 2. Improved variable names E.x., _valArray[3] is now _pixel1OffSetX, naming makes sense for it use in CBaseStars::draw. 3. Lots of comments and TODO added for suspicious behavior Mentioned unused functions and values that don't get used. 4. Changes in other classes that viewport renaming affected Some of the star_camera functions were 1-1 mapping of functions in viewport so I just made the names be the same.
2017-08-27TITANIC: Fix viewport _field24/starcolor not being savedDavid Fioramonti
One of the fields wasn't getting saved. This field determines whether the star color should be pink or white. It gets recomputed when you put the helmet back on so it doesn't really matter. Previously, when it loaded this value it was loading some orientation data which occurs next in the saved data file for saved games saved by scummvm versions before this commit.
2017-08-27TITANIC: Move Rad2Deg from dvector to fvectorDavid Fioramonti
I wanted to use that variable in viewport.cpp and since fvector.h is included in more functions (already) then dvector it makes sense to move it there.
2017-08-27TITANIC: Add fpose product helper functionDavid Fioramonti
This adds a non-member function that computes the product between two fpose "matrices" and puts it in a third. One of the constructor was doing that so now it calls this non-member function.
2017-08-26TITANIC: Added frame debugger command for setting objects' movie framesPaul Gilbert
2017-08-26TITANIC: Fix error setting correct PET buttons for a given areaPaul Gilbert
2017-08-26TITANIC: Fix German strings in create_titanic, regenerate titanic.datPaul Gilbert
2017-08-26TITANIC: Add further strings to create_titanic toolPaul Gilbert
2017-08-26TITANIC: Hide back view of MaitreD from close to the tablePaul Gilbert
The MaitreD was rendered using frame 0 from c386.avi, but with a corrupted right and bottom edge. Ironically, the MaitreD object isn't used at all, since hiding him revealed he's part of the background as well. From the video, it seems like he was meant to have an idle wiggle animation that didn't end up being used.
2017-08-26TITANIC: Fix another struct vs class warningPaul Gilbert
2017-08-25TITANIC: Fix struct vs class forward declaration warningPaul Gilbert
2017-08-25TITANIC: Fix buffer overflow when getting first class upgradeColin Snover
2017-08-25TITANIC: Fix Door/Bellbot remaining when summoned outside doorsPaul Gilbert
2017-08-25TITANIC: Show NPC portrait in Conversations tab after loading savegamePaul Gilbert
2017-08-25TITANIC: Fix doubled announcement when summoning DoorBotColin Snover
This would happen when the player is in one of the rooms with a room-specific announcement.
2017-08-25TITANIC: Correct cursor after ejecting cylinder in music systemPaul Gilbert
2017-08-25TITANIC: Don't allow cylinders to be dropped in music system slot closedPaul Gilbert
2017-08-24TITANIC: Reduce header includes for star_control filesDavid Fioramonti
Minimized a lot of the unncessary files includes in the implementation files as well.
2017-08-24TITANIC: Fixed titanic.h float random function rangeDavid Fioramonti
Fixed float random number function of titanic.h which could of given 65537 instead of a max of 65535.
2017-08-24TITANIC: Reduce header includes for titanic.hDavid Fioramonti
I reduced the header includes a lot in Titanic.h and forward declared when I could. Titanic.h was including a lot and a lot of functions that were including it were not using its API. This will help make it more clear which implementation files are using which class since they will just need to include which ones they need. I also moved the debug related items in Titanic.h into the debugger header. I also reordered several of the the header includes to be local to global.
2017-08-23TITANIC: Disable fix for dispensed chickens' initial temperaturePaul Gilbert
The original had a bug that didn't dispense chickens as cold when the yellow fuse was removed from the fusebox. Too many walkthroughs suggest removing it though, so I'm disabling fix to avoid confusion.
2017-08-23TITANIC: Fix incorrect cursor after getting nosePaul Gilbert
2017-08-22TITANIC: Don't allow GMM loading in the middle of receiving mailPaul Gilbert
2017-08-22TITANIC: Ensure PET _remoteTargetName is set when savingPaul Gilbert
2017-08-22TITANIC: Fix using Fn keys when Conversations tab is activePaul Gilbert
2017-08-22TITANIC: Formatting fixes for star control classesPaul Gilbert
2017-08-22Merge pull request #997 from dafioram/star_fix10148Paul Gilbert
TITANIC: Change ship view and position even if not moved
2017-08-21TITANIC: Renamings for MaitreDScriptPaul Gilbert
2017-08-21TITANIC: Renamings for CMaitreDProdReceptorPaul Gilbert
2017-08-21TITANIC: Made variable for magic number used in auto camera moverDavid Fioramonti
This variable controls the number of transitions the game goes through when the mover is changing position. This reduces several 31/32s from the code.
2017-08-21TITANIC: Camera Auto Mover class cleanupDavid Fioramonti
Named some functions, made _speeds be an array instead of a dynamic one.
2017-08-21TITANIC: Named some functions in fvectorDavid Fioramonti