Commit graph

120 commits

Author SHA1 Message Date
Filippos Karapetis
8a062f471d CINE: Use C++ 11 range-based for loops 2025-03-27 13:47:57 +08:00
Le Philousophe
6b1b96efd8 CINE: Don't use deprecated primitives 2025-01-24 12:11:17 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh
0b818ad3f6 CINE: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Kari Salminen
b3ef35c7e0 CINE: Keep overflowing message box inside screen
First calculate maximum used Y position in drawMessage
and then reposition the message box to stay inside the
main screen.

Fixes bug #11708
2021-09-04 23:14:18 +02:00
sluicebox
93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
Kari Salminen
e82b4faeed CINE: Fix overlay rendering with NULL source mask
In French Amiga Future Wars from bug #10643 when walking left from the
scene with the open manhole cover a call to renderOverlay with a
type 0 (color sprite) overlay happens. The source mask for the overlay
is NULL and a memcpy using a NULL pointer as source is initiated.
This results in a memory access violation.

This fixes that memory access violation by simply setting the
destination mask to all zeroes when the source mask is NULL.
Seems to work fine at least in this case.

Fixes bug #10643.
2020-08-31 09:26:36 +02:00
Eugene Sandulenko
a3ee49ad25 CINE: Remove unnecessary check. uints are always >= 0 2020-07-27 12:22:18 +02:00
Kari Salminen
2ca52fc007 CINE: Add support for Operation Stealth.
Add support for Operation Stealth PC 16 and 256 color versions with
AdLib and Roland MT-32 sound. Add support for 20 extended savegames
(Thumbnails, playtime etc) for both Future Wars and Operation Stealth
(20 because it fits on screen using the original save/load interface).

Details:
 - Add versioning to Future Wars and Operation Stealth savegames.
 - Add fade in effect to both Future Wars and Operation Stealth.
 - Add mouse wheel support and keyboard support to moving in menus.
 - Map middle mouse button to pressing both left and right buttons.
 - Make interface more responsive (See manageEvents() and drawFrame()).
 - Amiga versions should be completable but sound may or may not work.
 - Atari ST versions completely untested.

Game options currently supported:
 - Using original save/load interface
 - Using transparent dialog boxes in 16 color scenes (Also for PC)

Console commands currently supported:
 - labyrinthCheat (For cheating in Operation Stealth's labyrinths)
 - disableLabyrinthCheat (Disabling labyrinth cheat)
 - disableHacks (Disabling hacks, useful for testing)
 - enableHacks (Enabling hacks, useful for testing. On by default)
2020-07-25 00:33:42 +02:00
D G Turner
f7593adb3e CINE: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-17 00:47:34 +01:00
Strangerke
58fcb43c19 CINE: Add a safeguard to avoid incrementing a null pointer 2014-05-25 17:38:28 +02:00
Strangerke
95728f4890 CINE: Avoid possible string buffer overrun by using strlcpy and strlcat 2014-03-16 14:24:45 +01:00
Johannes Schickel
4ad7c5b40d CINE: Make GPL headers consistent in themselves. 2014-02-18 02:39:33 +01:00
Strangerke
2937727018 CINE: Reduce the scope of some variables, optimize a couple of iterator increment 2014-02-09 20:41:08 +01:00
Johannes Schickel
5d84f2df43 CINE: A little bit enforcement of our formatting guidelines.
Powered by astyle & manual fixup afterwards.
2012-09-07 04:12:18 +01:00
Johannes Schickel
855a0d331f CINE: Explain the name "undrawChar" and add a possible TODO. 2012-09-07 00:52:59 +02:00
Johannes Schickel
da4e3c4f2a CINE: Make selection menu focus rectangle match the original size.
Compared against real FW Amiga under UAE and FW Dos under DOSBox.
2012-09-07 00:40:42 +02:00
Johannes Schickel
33cdddb7ec CINE: Implement proper text coloring in selection menus for Amiga.
Tested with FW Amiga.
2012-09-07 00:19:23 +02:00
Vincent Hamm
bd6751cb4a CINE: Fix drawing of sprite with mask.
Protects against cases where a non-existing script is referenced.
2012-08-20 01:48:20 +01:00
Torbjörn Andersson
629d55cdfa CINE: Apply some ScummVM formatting conventions 2012-08-14 09:09:08 +02:00
yaz0r
8fff7e29de Merge pull request #266 from yaz0r/master
Fix system menu in OS
2012-08-13 23:59:59 -07:00
Vincent Hamm
92df76fbb3 CINE: Fix system menu sometimes not appearing in OS 2012-08-13 23:58:32 -07:00
Travis Howell
54e6283cfa CINE: Fix compile error caused by excess ; 2012-08-14 16:46:19 +10:00
Vincent Hamm
2fd8bae319 CINE: Fix restoring of savegame in cave 2012-08-13 20:12:07 -07:00
Johannes Schickel
90bb7a0f3f CINE: Slight formatting fixes in gfx.cpp.
Powered by astyle.
2012-08-12 19:50:00 +02:00
D G Turner
78b8fa31ca CINE: Fix typo in OS palette restore code.
This fixes most cases of incorrect palette on savegame loading.
Thanks to yaz0r for this fix.
2012-08-11 21:12:35 +01:00
Vincent Hamm
c6c7b16089 CINE: Slight cleanup. 2012-08-11 00:11:21 +01:00
Vincent Hamm
92b5ee0a48 CINE: Fix masking in Operation Stealth. 2012-08-10 14:38:31 +01:00
Tarek Soliman
a4798602d7 JANITORIAL: Fix missing whitespace in pointer cast
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'

This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-02-15 10:07:10 -06:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
David Turner
0089d3b338 CINE: Fix for Operation Stealth assertion when caught by rat in Scene 8 Rats' Maze.
This converts the assertion on selection of null background into a test and warning.

svn-id: r55201
2011-01-11 16:50:26 +00:00
Eugene Sandulenko
327d30d719 CINE: eliminate global variables
svn-id: r51937
2010-08-09 11:38:01 +00:00
Johannes Schickel
1e29dc3641 Fixed use of uninitialized variable.
svn-id: r50250
2010-06-24 22:55:44 +00:00
Eugene Sandulenko
d577d863ce CINE: Fix bug #2812694.
Bug #2812694: "CINE: Operation Stealth german crash". Our code
assumed that there exists only 256-color version which is not
the case for German version. Added code to store background
format. Old savegames are broken and could not be fixed.

Bumped savefile version.

svn-id: r49699
2010-06-15 10:17:18 +00:00
Eugene Sandulenko
2be9bb3d5f Implement FR #2841494: FW: Pause doesn't work
svn-id: r49095
2010-05-19 12:17:59 +00:00
Max Horn
76553e6418 CINE: Get rid of some global constructor uses
svn-id: r48843
2010-04-28 22:24:11 +00:00
Max Horn
37b7be4519 CINE: Change Doxygen commands to match our CFC
svn-id: r48764
2010-04-21 21:22:43 +00:00
Max Horn
cac0ac66e2 COMMON: Get rid of Common::StringList
svn-id: r48287
2010-03-18 15:54:40 +00:00
Johannes Schickel
a28ac2881a Hopefully fix highlight background color in PC versions of CinE games.
svn-id: r47556
2010-01-25 17:21:55 +00:00
Johannes Schickel
aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Marcus Comstedt
40f9506163 The default keycolor for mouse pointers used to be 255.
This makes sense as a default for CLUT8 modes, but not really
for anything else.  As part of the gsoc2009-16bit merge, the
default was changed to "all ones", with extra code in the SDL
backend to truncate this to the depth of the mode.  However,
"all ones" (white) still isn't a very useful default for RGB modes.
So rather than jumping through hoops to provide a bad default,
it's better to remove the default altogether.  Engines which relied
on the old default of 255 have been updated to specify it explicitly.

svn-id: r47118
2010-01-07 15:07:36 +00:00
Johannes Schickel
ebde95b3d8 Clear menu stack in FWRenderer deconstructor.
svn-id: r44264
2009-09-22 17:53:00 +00:00
Johannes Schickel
e591333d4b Implement menu stack to support all menu color effects, specific to the Amiga version of the game.
svn-id: r44263
2009-09-22 17:51:06 +00:00
Johannes Schickel
cb41cea6f1 Changed AMIGA menu code to closer match the original. (The menu item highlight selection is still wrong though.)
svn-id: r44231
2009-09-21 01:15:34 +00:00
Johannes Schickel
94e359d3fb Fix box outline color for FW Amiga.
svn-id: r44229
2009-09-21 01:14:50 +00:00
Johannes Schickel
8daf7fbba8 Changed some type names to match our coding guidelines.
svn-id: r44224
2009-09-20 23:34:48 +00:00
Johannes Schickel
e062a56c31 Implement support for transparent dialgue boxes in the Amiga version of Future Wars.
svn-id: r44222
2009-09-20 23:00:08 +00:00
Johannes Schickel
228ceb3b63 Fix for bugs #2843081 "FW: Assert starting demo (regression)" and #2843080 "OS: Assert starting demo (regression)".
svn-id: r43743
2009-08-25 23:11:17 +00:00
Kari Salminen
f5b2e69522 Fix Operation Stealth's 2nd arcade sequence's revolving doors.
- Now the doors actually do revolve when before they didn't.
- The fix was to alias the 9th background with the collision
  page directly when loading collision page data. This way
  changes written to the 9th background go to the collision
  page and vice versa (And there were changes in the labyrinth).
- Also converted _bgTable from a pure array to a Common::Array

svn-id: r41453
2009-06-11 18:32:35 +00:00