4518 Commits

Author SHA1 Message Date
Bastien Bouclet
d21dc329d6 STARK: Fix incorrect interaction for images with an hotspot position set
Fixes moving to the tree from the vista in the prologue.
2019-01-20 10:53:38 +01:00
Bastien Bouclet
05076a7227 STARK: Fix cursor highlight blending 2019-01-20 10:53:38 +01:00
Bastien Bouclet
281ecbdc86 STARK: Optionally do alpha pre-multiplication when loading PNGs 2019-01-20 10:52:04 +01:00
Bastien Bouclet
b9a1b8eefd STARK: Optionally use linear filtering when rendering backgrounds 2019-01-16 20:20:39 +01:00
Bastien Bouclet
45c5cf0c80 STARK: Add loading of replacement PNG files for the background images
The replacement PNG files can have larger dimensions when compared to
the original XMG images, enabling the creation of a high resolution mod.

The game looks for the replacement files in the game directory and then
in the xarc subdirectory of the directory containing the archive in
which the xmg picture to be replaced is located. For instance:
'1e/00/xarc/fountain_layercenter.png' should be used for the Venice park
background.
2019-01-16 19:43:22 +01:00
Bastien Bouclet
8b3b309200 STARK: Don't display animations that have not been initialized
Prevents a garbage frame from being displayed if the animation is not
updated on the same frame it is started. Happens with the hovercar
animation in April's room and when the subway enters the station.
2019-01-05 16:54:39 +01:00
Bastien Bouclet
7e38335d95 STARK: Fix crash when cycling through items with an empty inventory 2019-01-03 07:59:13 +01:00
Bastien Bouclet
189ba0a40d STARK: Rework the services instanciation and move keyboard handling 2019-01-03 07:46:19 +01:00
Bastien Bouclet
6b785263a9 MYST3: Keep track of the keyboard state during transitions
Fixes #1512.
2019-01-01 18:27:18 +01:00
Bastien Bouclet
395cb2dbc8 MYST3: Don't initialize effects on menu nodes
Fixes #1514.
2019-01-01 18:08:33 +01:00
Bastien Bouclet
fee73851f0 STARK: Delay changing screen after a FMV ends
Prevents the game screen from being visible for one frame before scripts
have a chance to update it after a FMV ends.

All user interface screen changes should probably be updated to work
that way. Running the update method of a screen and the render method of
another on the same frame seems really bad.
2018-12-02 19:51:42 +01:00
Bastien Bouclet
7302d18f36 STARK: Prevent dialog options and subtitles from being displayed at the same time
In some cases the game scripts don't wait for dialog lines to complete
before presenting options.
2018-12-02 19:51:42 +01:00
Bastien Bouclet
b534956955 STARK: Don't always wait for sounds to complete in the menu screens
With this change, changing screens and using widgets feels much more
responsive.
2018-12-02 19:51:42 +01:00
Bastien Bouclet
3c80722658 STARK: Use the center of item's bounding rect as the scroll target 2018-12-02 19:51:35 +01:00
Bastien Bouclet
036cca6b56 STARK: Implement lighting for props 3d models 2018-12-01 11:25:55 +01:00
Bastien Bouclet
cf02210729 STARK: Inventory window fixes
* Show an active cursor when hovering the scroll buttons
* Clicking on a inactive scroll button no longer closes the inventory
* Changing the visibility of the inventory window now closes the action
   menu.
* The inventory management hotkeys only work when the game is
   interactive.
* Hide the inventory window when loading a save.
* Hide the action menu when loading a save.
2018-11-25 13:39:57 +01:00
Bastien Bouclet
24eda9e18d STARK: Adjust a few TODOs 2018-11-22 13:35:47 +01:00
Bastien Bouclet
aa2075fc48 STARK: Ignore keyboard repeat events 2018-11-22 12:35:05 +01:00
Bastien Bouclet
b94aaffab3 MYST3: Ignore keyboard repeat except when entering save names 2018-11-22 06:31:44 +01:00
Bastien Bouclet
842a13abb9 MYST3: Reset the input state after displaying a modal dialog
Fixes #1448.
2018-11-22 06:25:27 +01:00
Bastien Bouclet
4edb8a7add STARK: Use the mouse cursor as a hitbox when testing small world items
Fixes #1506.
2018-11-21 17:24:10 +01:00
Bastien Bouclet
c5185ee753 STARK: Prevent string pulling from making April walk on disabled faces
Fixes #1494.
2018-11-21 14:22:22 +01:00
Bastien Bouclet
191113819b STARK: Save and restore the previous location stack
Fixes #1497.
2018-11-17 10:59:07 +01:00
Bastien Bouclet
206b295fe4 STARK: Use more OpenGL types 2018-11-11 15:16:40 +01:00
Bastien Bouclet
10c1453240 STARK: Use the OpenGL types for the resource names
Fixes the build on platforms where the name are not uint32s.
2018-11-11 14:41:00 +01:00
Bastien Bouclet
8d3ea2f5a1 STARK: Fix speeches that have not started playing waking up their script
Fixes #1499.
2018-11-10 21:44:05 +01:00
Bastien Bouclet
5373482b90 STARK: Save model item animation properties in the active level
These properties are saved for inactive levels as well. However inactive
level properties are restored too early and would sometimes be
overwritten by the on enter location callback. Now we save the animation
properties in the active level as well. These properties are restored
after the location enter callback.

Fixes #1496.
2018-11-10 21:44:05 +01:00
Bastien Bouclet
4b38409ea6 MYST3: Allow inverting the mouse y axis using ctrl-i 2018-11-10 21:44:05 +01:00
Bastien Bouclet
b28d8de2ff STARK: Handle window resizes happening while the engine is paused 2018-10-13 18:33:01 +02:00
Bastien Bouclet
32fc54531b MYST3: Handle window resizes happening while the engine is paused 2018-10-13 18:33:01 +02:00
Bastien Bouclet
6e6fa26620 GRIM: Refresh the screen when the screen size is changed 2018-10-13 18:33:01 +02:00
Bastien Bouclet
2284381c99 MYST3: Scale the mouse cursor size with the resolution
Fixes #1480.
2018-09-09 21:06:56 +02:00
Bastien Bouclet
0f3cf3e511 STARK: Introduce a onGameLoop event to stop abusing onRender for updates
Fixes #1492 where rendering the screen to save a screenshot would run
some dialog related script updates.
2018-08-28 21:24:33 +02:00
Bastien Bouclet
d708a7f6d9 STARK: Use the action anim if there is one when enabling an item
Fixes #1436.
2018-08-28 21:15:22 +02:00
Bastien Bouclet
238d554a56 STARK: Apply the sound volume settings on startup 2018-08-15 20:08:53 +02:00
David Fioramonti
dd2952850d MYST3: Add NodeID enum to help working with nodes
The identifiable ones have been given names.
2018-08-15 15:35:25 +02:00
Bastien Bouclet
65f6024c17 STARK: Implement the eye cursor animation 2018-08-15 15:08:54 +02:00
orangeforest11
7b637b22c1 STARK: Changed the action menu and cursor to being scaled 2018-08-15 15:08:25 +02:00
Bastien Bouclet
0da7095013 STARK: Check the chapter is an integer in changeChapter 2018-08-15 14:15:39 +02:00
Douglas Liu
86047569cd STARK: Add chapter range checking 2018-08-15 14:08:37 +02:00
orangeforest11
c0a06258ad STARK: Set default keyframe for bone animations
Mitigates #1436. Glitches were appearing at old lady in the forest because wasn't getting a key frame

Now, if no key frame found, defaults to last key frame with warning message.
2018-08-15 14:04:00 +02:00
Bastien Bouclet
e62a224c14 MYST3: Update the mouse cursor position when unpausing the engine 2018-08-11 11:17:40 +02:00
Bastien Bouclet
f5319ce6e6 MYST3: Allow the widescreen mod to work in windowed mode 2018-08-11 11:17:40 +02:00
Bastien Bouclet
8aaa2606a6
Merge pull request #1483 from DouglasLiuGamer/branch-shadow
STARK: Implement the shadows
2018-08-06 20:02:28 +02:00
Douglas Liu
f4cf5ca073 STARK: Remove a useless casting 2018-08-06 22:29:59 +08:00
Douglas Liu
5f8a8fc2f9 STARK: Remove a useless parameter and style fixing 2018-08-05 20:35:53 +08:00
Douglas Liu
02d7cefb09 STARK: use applyToItem() to set castsShadow 2018-08-05 12:09:30 +08:00
Bastien Bouclet
4253e0ceb0 STARK: Allow using changeLocation when the global level is not loaded 2018-08-04 14:21:35 +02:00
Douglas Liu
801fc74713 STARK: Move maxShadowLength from RenderEntry to Scene 2018-08-04 16:11:14 +08:00
Douglas Liu
fedd80005a STARK: Move _castsShadow from RenderEntry to VisualActor 2018-08-04 15:43:41 +08:00