Commit Graph
31 Commits
Author SHA1 Message Date
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Paul Gilbert baccbedf50 GRAPHICS: Changed surface classes sizes from uint16 to int16 2021-07-04 18:24:27 -07:00
Kaloyan Chehlarski de43aa79c1 NANCY: Disable sticky cursor in The Vampire Diaries
TVD doesn't have a sticky cursor when clicking the viewport edges,
and the feature is now disabled for that game.
2021-05-07 23:09:52 +03:00
Kaloyan Chehlarski 913f4502a6 NANCY: Implement palette change action record types
Implemented the PaletteThisScene and PaletteNextScene action record
types, which change the viewport video's palette in TVD.
2021-05-07 23:09:52 +03:00
Orgad Shaneh a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Kaloyan Chehlarski 46e7231628 NANCY: Implement non-wrapping scenes
Implemented scenes that don't wrap around when they go beyond
the first/last frame of the video.
2021-04-29 15:58:59 +03:00
Kaloyan Chehlarski ae1016e5c2 NANCY: Set correct maximum scroll in The Vampire Diaries
The maximum scroll in TVD is now corrected by one pixel, which
fixes some issues in single-frame scenes.
2021-04-26 19:42:18 +03:00
Kaloyan Chehlarski 954954a85a NANCY: Flip all backgrounds in The Vampire Diaries
Both format 1 and 2 backgrounds in The Vampire Diaries are
upside-down, and the Viewport code now correctly flips all
backgrounds for that game.
2021-04-26 19:42:17 +03:00
Kaloyan Chehlarski e8a8150f8d NANCY: Fix The Vampire Diaries viewport edges and movement
The viewport edges in TVD now have the same behavior as the
original engine, and movement is now at the correct speed.
2021-04-26 19:42:17 +03:00
fracturehill 75d9fa1abd NANCY: Accurate viewport edge sizes
The sizes of the hotspots at the edges of the viewport are now
consistent with the original engine.
2021-04-24 23:59:03 +03:00
fracturehill 29cf663f45 NANCY: Fix primary video flicker when moving with keyboard
Removed the flicker that occurs when the player presses one of the movement keys during dialogue scenes.
2021-04-17 14:57:21 +03:00
fracturehill c88b02a3c7 NANCY: Add sticky cursor when moving viewport
The cursor now sticks to the same position when moving the viewport, making movement easier and mimicking the original engine's behavior.
2021-04-17 14:57:21 +03:00
fracturehill 5a7a2d8086 NANCY: Fix off-by-one drawing errors
Changed the readRect() method so it correctly adds one more pixel to the width and height. Fixed a couple of off-by-one errors in the viewport scrolling code. Set the menu and help buttons as transparent to avoid drawing green lines when they're pressed.
2021-04-13 23:21:16 +03:00
fracturehill 85f8bf294d NANCY: Includes cleanup
Reordered and cleaned up #includes in the engine.
2021-04-01 21:25:32 +03:00
fracturehill ff078328bc NANCY: Includes cleanup
Cleaned up the engine's #includes. Also moved the NancyEngine::GameState enum to commontypes.h and renamed it to NancyState.
2021-03-26 01:17:07 +02:00
fracturehill cd7f9be183 NANCY: Add video load checks
Added checks after calling loadFile() on a video decoder.
2021-03-25 19:52:51 +02:00
fracturehill e9adea4c4e NANCY: Formatting fixes
Almost every file in the engine code was using spaces instead of tabs, which is now fixed. Also added some missing spaces in a couple of files.
2021-03-24 17:20:46 +01:00
fracturehill 6728c96e68 NANCY: Add underscore to class member names
Fixed many instances of class member names not beginning with an underscore.
2021-03-24 17:20:46 +01:00
fracturehill b6df945ae1 NANCY: Formatting fixes
Fixed a couple of poorly indented lines and a missing newline at the end of a file.
2021-03-24 17:20:46 +01:00
fracturehill a286a287f2 NANCY: Replace NanEngine macro
Replaced the nonstandard NanEngine macro with a proper pointer to the current NancyEngine instance.
2021-03-24 17:20:46 +01:00
fracturehill 653239aa26 NANCY: Clip viewport-relative objects
RenderObjects marked as viewport-relative are now constrained within the bounds of the viewport
2021-03-24 17:20:46 +01:00
fracturehill da559b5fe0 NANCY: Display The Vampire Diaries video correctly
The Vampire Diaries' videos are all upside down after decompression, need a palette to be loaded from a separate bitmap file, and background videos are also quarter size (1/2 width and height). This commit adds a GraphicsManager function for loading a Surface or a raw buffer into a ManagedSurface, applying all transformations needed to display it correctly.
2021-03-24 17:20:46 +01:00
fracturehill f24cc5ee24 NANCY: Add method for loading a palette from external file
Added the loadSurfacePalette() method to GraphicsManager, which loads a palette from an external .bmp file.
2021-03-24 17:20:46 +01:00
fracturehill 8468071ca2 NANCY: Load video palette from scene summary
Added support for The Vampire Diaries' scene summary format, which contains the name of a dummy bitmap file with an embedded palette.
2021-03-24 17:20:46 +01:00
fracturehill 5440559918 NANCY: Add support for 8-bit color
Added generic methods for getting the pixel format and transparent color. Also added a method for loading an image directly into a ManagedSurface, which also loads the palette and lets The Vampire Diaries logo display properly.
2021-03-24 17:20:46 +01:00
fracturehill 20f432f8d3 NANCY: Engine refactor
Made all states (Scene, Credits, Help, etc.) singletons, as well as subclasses of a common State parent with a proper state switching API. Moved the OnPause virtual function from RenderObject to ActionRecord and hooked it into the state switching code. Also got rid of the NancyEngine pointer that got passed around between most classes, and replaced it with several convenience macros. As a result of these changes action records that render to the viewport no longer disappear after opening the menu, and state changes feel snappier.
2021-03-24 17:20:46 +01:00
fracturehill 89ea3ec0cf NANCY: Add map button
Implemented the button on the map screen that returns the player to the last scene, as well as the secret button in the same position that teleports the player to the map from select few scenes.
2021-03-24 17:20:46 +01:00
fracturehill 6ada1a6b90 NANCY: Fix laggy movement when repeatedly clicking viewport edges
Fixed an issue where movement wouldn't work correctly if the user clicks the viewport edges several times in quick succession instead of clicking and holding.
2021-03-24 17:20:46 +01:00
fracturehill d64a309fb3 NANCY: Small code refactor
Renamed and moved a few struct definitions to commontypes.h, added some convenience functions to Scene and removed a couple of unused variables.
2021-03-24 17:20:46 +01:00
fracturehill c73ea1b0cb NANCY: Viewport movement fixes
Added code so viewport edges do not get highlighted in directions the player can't go in.
2021-03-24 17:20:46 +01:00
fracturehill 3aaf2a9bea NANCY: Major engine rewrite
Rewrote most of the engine using a much more object-oriented approach and using more of ScummVM's common classes. This design deviates quite a lot from the original engine's, but should be more maintainable and extensible in the future.
2021-03-24 17:20:46 +01:00