aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst_stacks
AgeCommit message (Collapse)Author
2018-07-30MOHAWK: MYST: Add support for the localized 25th gamesBastien Bouclet
2018-07-21MOHAWK: MYST: Don't call the mouse up handler if executeMouseUp was usedBastien Bouclet
Fixes Trac#10573.
2018-07-15MOHAWK: MYST: Have Mech fortress west direction persists after returningDavid Fioramonti
Fixes Trac#10575. When stepping away or pressing the buttom for the mechanical age fortress rotator after setting it west it would be south. This is because some variables used for a workaround were being reset everytime the rotator puzzle was being reinitalized (in o_fortressRotation_int). Which happens when the player steps back up to the rotator controls. This change simply removes the variables being reset so they retain the variables they had before. Those variables are already initalized in the Mechanical constructor.
2018-07-15MOHAWK: MYST: Don't set Mech direction when elevator button is pressedDavid Fioramonti
The direction that the fortress is pointing is calculated when the user locks on using the left throttle (after the gears have stopped). It also happens when the user hits the button. There is only a difference in the two behaviors when the user has changed the direction, but not locked on. The 2nd case can lead to the direction be different than what the last locked on direction was. Since the user can lock the direction to say north, turn it to west, not lock on and hit the button, which will set the direction to west. This can lead to confusion since a direction sound isn't played in this case. This change removes code, to prevent the recalculation of the direction when the button is pressed so that direction is always what it was last locked onto.
2018-07-08MOHAWK: MYST: Play complete audio clip when changing the boiler pressureBastien Bouclet
Fixes Trac#10607.
2018-07-03MOHAWK: MYST: Use degree conversion common math funcsDavid Fioramonti
2018-07-02MOHAWK: MYST: Always clear the screen before playing fullscreen moviesBastien Bouclet
Fixes the broderbund logo movie being partially visible when the Cyan logo is playing. Fixes Trac#10595.
2018-06-29MOHAWK: MYST: Introduce a main menu stackBastien Bouclet
Used in the 25th Anniversary edition of Myst ME
2018-06-24Merge pull request #1220 from dafioram/mystDaySliderBastien Bouclet
MOHAWK: MYST: Increment y_pos of observatory day slider faster
2018-06-24MOHAWK: MYST: Turn FortressRotation into a Direction enumDavid Fioramonti
2018-06-19MOHAWK: MYST: Fix out of bounds read when redrawing the observatoryBastien Bouclet
The observatory go button computes random 105x106 rectangles in the 512x512 star image. The previous code would allow to go out of bounds by 3 pixels. Interestingly the bug is in the original engine disassembly perhaps it could crash as well. Fixes Trac#10576.
2018-06-19MOHAWK: MYST: Increment y_pos of observatory day slider fasterDavid Fioramonti
Fixes Trac#10572. The day slider does not go all the way to the bottom (day 31st) when the down arrow is used to increment the day. This change increases how much y displacement happens with each change in the day so that the bottom is reach on day 31st. This is just a graphical bug and doesn't affect the logic of the puzzle. The day slider can also be dragged to the bottom without using the buttons.
2018-06-13MOHAWK: MYST: Make the scripts time accounting pause safeBastien Bouclet
2018-06-13MOHAWK: MYST: Move the current stack id to ScriptParserBastien Bouclet
2018-06-13MOHAWK: MYST: Extract a Card class out of the main engine classBastien Bouclet
This is to allow having multiple cards loaded at the same time in the future.
2018-05-17MOHAWK: MYST: Opcode 102 in Channelwood can only set the volume to non 0 valuesBastien Bouclet
Fixes Trac#10532.
2018-04-27MOHAWK: MYST: Fix two Atrus videos playing at the same time in D'niBastien Bouclet
In D'ni, after giving the white page to Atrus, or after coming without a page, too videos of Atrus would play on top of each other after waiting long enough for the first video to loop. Fixes #10503.
2018-04-27MOHAWK: MYST: Make Dni/Atrus endings an enumDavid Fioramonti
The global variable "ending" tracks various states that Atrus can be in. This variable determines what video of Atrus will be playing and if the brother books have been destroyed. Despite this variable being called ending there are other endings not captured by this variable (like the brother endings). Also change spelling of Dini to Dni for one usage of ActiveAge from a previous commit.
2018-04-26MOHAWK: MYST: Reset the main cursor when starting the creditsBastien Bouclet
The credit stack does not have the data required to display all the cursors, especially the page cursors. Fixes Trac#10501.
2018-04-26MOHAWK: MYST: Make global currentAge an enumDavid Fioramonti
This global basically tracks what age/book/stack the player is in. It is also used to change stacks via MohawkEngine_Myst::changeToStack() by being an index for MystScriptParser::_stackMap and MystScriptParser::_startCard. E.x., instead of _global.currentAge = 2 now _global.currentAge = kMystLibrary. Also two of the endings are considered Ages instead of being apart of _global.ending.
2018-04-25MOHAWK: MYST: Turn held page state into an enumdafioram
Previously, the held page stage was an unsigned int 16 with values 0-13. The enum will make its state more clear.
2018-04-24MOHAWK: MYST: Redraw the tower angle line after the rotation completesBastien Bouclet
Fixes Trac#10499.
2018-04-21MOHAWK: Remove extra comaBastien Bouclet
2018-04-21Merge branch 'dafioram-myst_soundrecvrChanges'Bastien Bouclet
2018-04-21MOHAWK: MYST: Always redraw the sound receiver at constant speedsBastien Bouclet
Fixes the sound receiver display stopping for a little while every second or so when keeping a direction button pressed.
2018-04-21MOHAWK: MYST: Make sound receiver hint boundary line up with origDavid Fioramonti
In the original the sound reciever would provide a hint of the source sound direction when the user was less than 5 degrees away. In ScummVM it was less than or equal to 5 degrees. Now it matches the behavior of the original.
2018-04-21MOHAWK: MYST: Enhance: slow down sound receiver max spin rateDavid Fioramonti
This slows down the Selentic age sound receiver spin rate when fully depressing either of the turn buttons. This is a deviation from the original and improves the users experience. In the original when the button is fully depressed the receiver turns so fast that it is impossible to predict what angle you full be at when you let go.
2018-04-15JANITORIAL: Fix code formattingEugene Sandulenko
2018-04-15MOHAWK: MYST: Fix Observatory displayed hour from 0:XX to 12:XXDavid Fioramonti
Fixes #Trac10486. For 12 Hr format versions, in ScummVM when the hour was set to what should be 12:XX it was displayed as 0:XX. This differs with the original English versions which displays the 12:xx. I verified this fix in both Myst ME and Myst English CD.
2018-04-15MOHAWK: MYST: Fix observatory slider sounds repeating too quicklyBastien Bouclet
Add delays to simulate running at a lower framerate.
2018-04-11MOHAWK: MYST: Fix missing sound effect when using the rocket sliderBastien Bouclet
Fixes #10485.
2018-04-02MOHAWK: MYST: Initialize more variablesBastien Bouclet
To make static analysis tools quiet.
2018-04-02MOHAWK: MYST: Implement opcodes 178 and 179Bastien Bouclet
Used when turning pages in the library. Some versions of the game appear to use them. Fixes #10474.
2018-03-31MOHAWK: Fix some clang-tidy warningsBastien Bouclet
2017-08-12MOHAWK: Myst: Fix one Atrus video being off position by one pixelBastien Bouclet
Fixes #10114.
2017-08-10MOHAWK: Myst: Restore the backbuffer after toggling off fireplace buttonsBastien Bouclet
Fixes #10064
2017-08-10MOHAWK: Myst: Stop gears video before calling elevator on mechanicalBastien Bouclet
Fixes #10108.
2017-08-08MOHAWK: Myst: Fix off by one pixel map position when rotating the towerBastien Bouclet
Fixes #10081.
2017-08-05MOHAWK: Myst: Display every second fireplace button animation frameBastien Bouclet
The animation is too slow when displaying each frame at 60 fps. Fixes #10053
2017-07-30MOHAWK: Myst: Set the mixer sound type to SFX for videosBastien Bouclet
Also simplify video filename construction.
2017-07-22MOHAWK: Myst: Fix Selenitic sound receiver buttons not flashingBastien Bouclet
The new screen update strategy does not allow scripts to draw twice at the same location for blinking.
2017-07-22MOHAWK: Myst: Fix error when checking the rocket sliders solution twiceBastien Bouclet
The game was trying to start playing the linking book video in a blocking way whereas it was set to loop by the first check. Fixes #9914.
2017-07-22MOHAWK: Myst: Don't cast function pointers when registering commandsBastien Bouclet
2017-07-22MOHAWK: Myst: Improve script execution tracingBastien Bouclet
2017-07-22MOHAWK: Myst: Switch to bounds checked opcode argumentsBastien Bouclet
2017-07-22MOHAWK: Myst: Rewrite the sound codeBastien Bouclet
It now more closely matches the original. Effect sounds are now stopped when resuming background sounds. Fixes #9574, Fixes #9920.
2017-07-22MOHAWK: Myst: Move the sound code to its own classBastien Bouclet
2017-07-22MOHAWK: Myst: Update the screen only once per frameBastien Bouclet
Change all inner loops to call the same frame function. Remove the draw delay code. Now that we have proper frame pacing it is not necessary anymore to wait before drawing to make sure the previous frame stayed on the screen long enough. Fixes #9915, #9922, #9923.
2017-07-22MOHAWK: Myst: Decorrelate hotspot handling from event handlingBastien Bouclet
This makes sure doFrame can be called from anywhere, including scripts.
2017-07-22MOHAWK: Myst: Change blocking sounds to use the main loopBastien Bouclet