Commit Graph

1368 Commits

Author SHA1 Message Date
Sven Hesse
6e254c4f01 GOB: Actually, startFrame == -2 seems to be the only live video flag
svn-id: r55418
2011-01-22 11:39:03 +00:00
Sven Hesse
5660b42a89 GOB: Another (?) non-blocking video flag
This fixes the intro needing an extra ESC.
Interestingly, the intro movie is actually interactive. You can
influence the paths Max takes by pressed the arrow keys at the
right times.

svn-id: r55411
2011-01-22 09:31:02 +00:00
Sven Hesse
d99ca6e58c GOB: Don't mess with the break key in Urban Runner
To be able ESC videos, you need to switch on ESC in the settings
in the right part of the menu, because the scripts needs to
trigger the drawing of the last frame of the ESC'd video.
Otherwise, the graphics e.g. stops mid-frame during a turn.

svn-id: r55407
2011-01-22 04:39:39 +00:00
Sven Hesse
e7006f2cf1 GOB: Urban: Save an empty sprite if necessary
svn-id: r55406
2011-01-22 04:14:33 +00:00
Sven Hesse
af7c96cff1 GOB: Urban: Fix saving/loading in the Secret Room screen
For some reason, the original engine saves the console sprite to
disk instead of reconstructing it after loading the actual save...

Invalidates the Urban Runner saves again. Should be the last time,
though.

svn-id: r55384
2011-01-21 19:15:43 +00:00
Sven Hesse
9e338a170f GOB: Add support for saving true color sprites
Not exactly the "nice", since up-depthing the sprite data to 24bit
happens after it has been adapted to the current system's color
format, so we're going to gradually lose precision when the save
gets passed around different systems. Still, this is the least
headachy solution, I guess...

svn-id: r55383
2011-01-21 19:15:10 +00:00
Sven Hesse
678b5f361a GOB: Fix copypasta mistake
svn-id: r55377
2011-01-21 14:15:00 +00:00
Sven Hesse
100b25a29e GOB: Remove the now useless SaveConverter_v6
Since I just invalided the old Urban Runner saves anyway...

svn-id: r55376
2011-01-21 13:29:51 +00:00
Sven Hesse
e95254ffa5 GOB: Urban: Fix loading/saving in the Cemetary/Lab screens
svn-id: r55375
2011-01-21 13:29:23 +00:00
Sven Hesse
8b3f2955a4 GOB: Make the Cemetary/Lab screen work correctly
Saving there still won't work though

svn-id: r55374
2011-01-21 13:28:35 +00:00
Sven Hesse
bb6c230587 GOB: Implement looping live videos
Needed for the buttons in the Playtoons series

svn-id: r55359
2011-01-20 18:17:39 +00:00
Sven Hesse
03415868b0 GOB: Decrease the number of debug warnings
svn-id: r55358
2011-01-20 17:08:14 +00:00
Sven Hesse
fd7159075d GOB: Give sound-only videos 500 extra ms for good measure
svn-id: r55357
2011-01-20 17:07:46 +00:00
Sven Hesse
715560edb9 GOB: Don't temper with the break key for live videos
svn-id: r55355
2011-01-20 17:06:50 +00:00
Sven Hesse
adf8820aee GOB: Make blocking videos default
svn-id: r55354
2011-01-20 15:29:32 +00:00
Sven Hesse
862596bbd4 GOB: Ignore a few more dummy files
svn-id: r55353
2011-01-20 12:40:42 +00:00
Sven Hesse
cba4bccf99 GOB: Removing a useless debug warning
svn-id: r55352
2011-01-20 12:40:17 +00:00
Sven Hesse
75eb1f7f10 GOB: Also ignore writing to kSaveModeIgnore files
svn-id: r55351
2011-01-20 12:39:54 +00:00
Sven Hesse
f015e175df GOB: Change a warning() into a debugC()
Because it gets on my nerves :P

svn-id: r55350
2011-01-20 12:31:13 +00:00
Sven Hesse
3976342ec0 GOB: Don't not play videos with only sound
svn-id: r55349
2011-01-20 12:28:46 +00:00
Sven Hesse
6e403b38ba GOB: Reverse-blit the final frame of a live video
Fixes some glitches at the end of live videos

svn-id: r55347
2011-01-20 10:21:27 +00:00
Sven Hesse
6b85f809d9 GOB: Urban: Fix missing visuals at Cemetary/Lab
Urban Runner decouples _frontSurface and
_spritesArray[kFrontSurface] at that screen... *sigh*

svn-id: r55346
2011-01-20 10:20:57 +00:00
Sven Hesse
bd3f9ad1e2 GOB: Use Surface::blit() in VideoPlayer::copyFrame()
svn-id: r55344
2011-01-20 05:19:41 +00:00
Sven Hesse
d77899e158 GOB: Make Urban Runner's "3D view" work again
svn-id: r55340
2011-01-20 03:22:43 +00:00
Sven Hesse
bad7f1ce9a GOB: Implement "live" (non-blocking) videos
Many thanks to SylvainTV. :)
Urban Runner might actually be completeable now.
One caveat: Hotspots at that hotel sequence are a bit glitchy...

svn-id: r55333
2011-01-19 18:57:43 +00:00
Sven Hesse
adbeb20f3b GOB: Add preliminary Inca 2 save support
svn-id: r55323
2011-01-19 09:02:39 +00:00
Sven Hesse
12ff4f51f1 GOB: Add save stub and temp sprite for Inca2
svn-id: r55321
2011-01-19 09:01:38 +00:00
Sven Hesse
b38b5d2484 GOB: Give Inca2 its own SaveLoad class
Add an quick hack to fudge reading of the "voice.inf" file,
so that the voice match the selected text language.

svn-id: r55298
2011-01-18 11:53:21 +00:00
Sven Hesse
b4e12e6a89 GOB: Fix the indenting :P
svn-id: r55297
2011-01-18 11:52:44 +00:00
Sven Hesse
d4357c5c3f GOB: Give Inca2 its own Inter class
svn-id: r55296
2011-01-18 11:52:24 +00:00
Sven Hesse
1c63862f2b GOB: Add a workaround for Inca2
The scripts seem to depend on var32_236 to be cleared at the
start of each new script file.

svn-id: r55295
2011-01-18 11:51:45 +00:00
Sven Hesse
a6073a649a GOB: Add some sanity checks
svn-id: r55294
2011-01-18 10:42:26 +00:00
Sven Hesse
efe0dea82c GOB: Implement Urban Runner autosave
Makes the "Try again" after a death work

svn-id: r55293
2011-01-18 09:27:32 +00:00
Sven Hesse
61b90c43d8 GOB: Fix a stupid typo in o2_readData()
svn-id: r55290
2011-01-18 08:14:23 +00:00
Sven Hesse
f33b84ff3d GOB: Fix Woodruff object videos
svn-id: r55289
2011-01-18 07:03:42 +00:00
Sven Hesse
dd01e4c303 GOB: Increase debug level for a debug message
svn-id: r55287
2011-01-18 07:02:42 +00:00
Sven Hesse
e73484b259 GOB: Fix Urban Runner hotspot texts
Thanks to SylvainTV :)

svn-id: r55286
2011-01-18 06:30:47 +00:00
Sven Hesse
283bec822d GOB: Add a sanity check in oPlaytoons_readData
svn-id: r55284
2011-01-18 04:19:33 +00:00
Sylvain Dupont
92ddccec09 GOB: Add chroma values linear interpolation in drawYUV
Fixes the blockiness and apparent color shifting in some Urban Runner menu icons.

svn-id: r55283
2011-01-18 00:56:48 +00:00
Sven Hesse
db13af5337 GOB: Make the variable stack endianness-independent
Since Urban Runner casts int16s to uint32 before pushing them onto the
stack and after popping assumes it's little endian, we have explicitely
preserve the variable space endianness while pushing/popping.

svn-id: r55277
2011-01-17 13:37:14 +00:00
Sven Hesse
6c6d85908f GOB: Fix o2_pushVars()
Fixes Urban Runner loading.
This being broken has the potential of messing up
/everything/ in unpredictable ways, so saves of games using
this opcode may be borked. Thankfully, I *think* it's just
Urban Runner, which isn't working/supported yet anyway.

svn-id: r55276
2011-01-17 12:09:06 +00:00
Sven Hesse
da65a3cbf3 GOB: Fix the flow rate gauge in Urban Runner
svn-id: r55275
2011-01-17 09:48:42 +00:00
Sven Hesse
8a1e9c8256 GOB: Remove unused old shade functions
svn-id: r55274
2011-01-16 22:30:19 +00:00
Sven Hesse
e6d04b8ad6 GOB: Adding a proper shade method
svn-id: r55273
2011-01-16 22:29:49 +00:00
Sven Hesse
58228919fc GOB: Use the correct font and shade color in Urban Runner
svn-id: r55272
2011-01-16 22:29:18 +00:00
Sven Hesse
0d11ae143f GOB: Add a method to get a true palette color
svn-id: r55271
2011-01-16 22:28:49 +00:00
Sven Hesse
68ebdf20d5 GOB: Don't clobber the global palette
svn-id: r55270
2011-01-16 22:28:20 +00:00
Sven Hesse
199b5d06af GOB: Remove unused declarations
svn-id: r55269
2011-01-16 22:27:48 +00:00
Sven Hesse
518e858d85 GOB: Allow true-color VMD cursors
svn-id: r55264
2011-01-16 16:30:15 +00:00
Sven Hesse
b451d3b51c GOB: Add the property switchColorMode
To allow the videoplayer (and ultimatively the demoplayer)
to switch color modes if necessary.

svn-id: r55262
2011-01-16 16:29:19 +00:00
Sven Hesse
e063ced21a GOB: Add setTrueColor()
To change ScummVM's color mode on-the-fly

svn-id: r55261
2011-01-16 16:28:47 +00:00
Sven Hesse
7de179c2c8 GOB: Add setBPP()
To allow converting the surface's bytes per pixel
without destroying it first.

svn-id: r55260
2011-01-16 16:28:17 +00:00
David Turner
04043240b1 GOB: Minor Correction in Debug Console Header.
svn-id: r55074
2010-12-31 11:00:50 +00:00
Matthew Hoops
375f32fbe9 VIDEO: Make VideoDecoder::decodeNextFrame() return a const Surface pointer
svn-id: r54927
2010-12-16 01:35:13 +00:00
Sven Hesse
08262d90fb GOB: Fix byte *getFile() for loose files
A very, very stupid error on my part :P

svn-id: r54826
2010-12-07 23:55:27 +00:00
Max Horn
6edc86a19b DEBUG: Let GUI::Debugger::preEnter and postEnter (un)pause the engine
svn-id: r54815
2010-12-07 18:54:21 +00:00
Sven Hesse
4b7af0244f GOB: Make drawYUV() more clear
(It's still wrong though :P)

svn-id: r54744
2010-12-02 21:40:17 +00:00
Arnaud Boutonné
a029f6a5c4 GOB: Add back 3 empty lines used by DrMcCoy
svn-id: r54724
2010-12-01 21:08:47 +00:00
Arnaud Boutonné
250d5d81f7 GOB: little clean-up
Remove a useless include of cursorman.h and several 
superflous empty lines.

svn-id: r54718
2010-12-01 20:17:31 +00:00
Max Horn
2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Max Horn
a0df86955f ALL: Push down deps on stream.h from .h to .cpp files
svn-id: r54358
2010-11-19 01:37:04 +00:00
Max Horn
a008d14055 ENGINES: Do not use MemoryReadStream where (Seekable)ReadStream suffices; avoid using 'using'
svn-id: r54323
2010-11-18 16:38:03 +00:00
Max Horn
668adaa461 GUI: Rename gui/GuiManager.* to gui/gui-manager.*
svn-id: r54265
2010-11-16 10:19:01 +00:00
Max Horn
059944e59c COMMON: Push #include audiocd.h in system.h out to .cpp files
svn-id: r54148
2010-11-08 23:07:42 +00:00
Max Horn
82e473bc3b BACKENDS: Partial merge of gsoc2010-opengl: Audio CD changes only
This commit contains the AudioCDManager changes from the gsoc2010-opengl
branch. The other changes in that branch are restricted to the backends
directory only (plus configure).

The Nintendo DS and Dreamcast ports still need to be ported over to
the new Audio CD system, but that should be fairly easy to do.

svn-id: r54147
2010-11-08 22:53:36 +00:00
David Turner
224f93cf0e GOB: Extended workaround for Goblin Stuck On Reload to cover bug #3065914
This generalises the workaround added for bug #3018918 i.e. UOTODDV issue, to cover the
ICVGCGT case and hopefully all future cases, by executing the variable correction during
the reload after Game Over and using the variable read by the script triggering the movement lock, rather than the movement lock variable (59) itself as this may not be set until a later script.

svn-id: r54061
2010-11-04 06:28:51 +00:00
Sven Hesse
314d6568b3 GOB: Fix a map cleanup regression
svn-id: r54025
2010-11-01 20:47:38 +00:00
Sven Hesse
205fc94848 GOB: Fix spelling
svn-id: r54000
2010-11-01 15:36:31 +00:00
Sven Hesse
ae082b2b28 GOB: Silence a compiler warning
svn-id: r53988
2010-10-31 21:47:20 +00:00
Sven Hesse
1421312cf8 GOB: Add listArchives debug console command
svn-id: r53985
2010-10-31 20:51:35 +00:00
Sven Hesse
16a3cc8a84 GOB: Clean up class DataIO
Removing the need for class DataStream and that handle mess.

svn-id: r53984
2010-10-31 20:07:14 +00:00
Sven Hesse
14d8d589e2 GOB: Make Map::getItem()/setItem() nonvirtual
svn-id: r53953
2010-10-30 17:28:54 +00:00
Sven Hesse
0f3ed50cfc GOB: Make some more map properties protected
svn-id: r53952
2010-10-30 17:28:27 +00:00
Sven Hesse
8a7d0cc249 GOB: Remove the "ugly" reading of Map::_itemPoses
Removing the need to pack that struct

svn-id: r53951
2010-10-30 17:27:53 +00:00
Sven Hesse
0f536e28f9 GOB: Rename Map::_widthByte to _mapVersion
svn-id: r53950
2010-10-30 17:27:23 +00:00
Sven Hesse
bfa88a05a1 GOB: Make Map::_wayPoints protected
Only allow const access through Map::getWayPoint()

svn-id: r53949
2010-10-30 17:26:49 +00:00
Sven Hesse
4c23f3e163 GOB: Make Map::_passMap protected and group some vars
svn-id: r53948
2010-10-30 17:26:06 +00:00
Sven Hesse
1612a96285 GOB: Unify Map_v1::/Map_v2::getPass()/setPass()
svn-id: r53947
2010-10-30 17:25:29 +00:00
Sven Hesse
31dd8026dc GOB: Minor map cleanup
- Move enum Direction out of class Map
- Convert kLeft et al into a proper enum RelativeDirection

svn-id: r53946
2010-10-30 17:24:52 +00:00
Sven Hesse
66de867fe4 GOB: Fix the Gob3 ladder walking bug
Fix the bug where Blount stops in the middle of big ladders.

svn-id: r53794
2010-10-25 03:39:58 +00:00
Sven Hesse
9605cda50b GOB: Fix the Gob3 stairs walking bug
Fix the bug where blount keeps moving between two steps
of wide stairs.

svn-id: r53793
2010-10-25 03:39:28 +00:00
Sven Hesse
f1d41b8326 GOB: Format optimizePoints() to be a bit more readable
svn-id: r53792
2010-10-25 03:39:04 +00:00
Sven Hesse
bcb8579954 GOB: Minor map cleanup
Make the direction a named enum and create a function moveDirection()
for increasing coordinates according to a direction.

svn-id: r53791
2010-10-25 03:38:34 +00:00
Sven Hesse
27cfa21230 GOB: Fix a typo in checkDirectPath()
svn-id: r53790
2010-10-25 03:38:12 +00:00
Sven Hesse
029aee61a6 GOB: Format getDirection() to be more readable
svn-id: r53789
2010-10-25 03:37:48 +00:00
Sven Hesse
d751212eb3 GOB: Add sanity checks to getPass()/setPass()
svn-id: r53788
2010-10-25 03:37:24 +00:00
Sven Hesse
3b66f3d920 GOB: Make moveAdvance() and movePathFind() a bit more readable
svn-id: r53787
2010-10-25 03:37:00 +00:00
Arnaud Boutonné
cb6efae5af GOB: Replace strncmp by scumm_stricmp when possible
svn-id: r53774
2010-10-24 20:36:47 +00:00
Arnaud Boutonné
25e1af837a GOB: un-ban and fix a somehow corrupted version of Fascination
(This version has been found on original floppies)

svn-id: r53772
2010-10-24 20:20:48 +00:00
Max Horn
3534cff8ef ALL: Fix indention (whitespaces -> tabs)
svn-id: r53738
2010-10-23 15:46:50 +00:00
Sven Hesse
c9f9c75a83 GOB: Extend debug console variable command a bit
...So that it's actually useful

svn-id: r53544
2010-10-16 17:25:08 +00:00
Sven Hesse
81de95671c GOB: Properly fixing the captureCounter code analysis warning
svn-id: r53492
2010-10-15 13:55:46 +00:00
Sven Hesse
835455798f GOB: Remove the now useless helper.h
svn-id: r53491
2010-10-15 13:55:18 +00:00
Sven Hesse
5c48c3fd2b GOB: Remove strncpy0()
Replacing it (and some strncpy + manual terminating) with
Common::strlcpy()

svn-id: r53490
2010-10-15 13:54:23 +00:00
Max Horn
4ccce19876 ENGINES: Enhance namespace comments a bit
svn-id: r53484
2010-10-15 12:48:19 +00:00
Sven Hesse
089988c11c GOB: Fix Code analysis warnings
See bug report #3087831

svn-id: r53464
2010-10-15 04:37:44 +00:00
Johannes Schickel
75e8452b6e OPENGL: Merged from trunk, from rev 52105 to 53396.
This includes an rather hacky attempt to merge all the recent gp2x backend
changes into the branch. I suppose the gp2x backend and probably all new
backends, i.e. gph, dingux etc., might not compile anymore.

Since I have no way of testing those it would be nice if porters could look
into getting those up to speed in this branch.

svn-id: r53399
2010-10-13 03:57:44 +00:00
David Turner
6527c01cb5 GOB: Add Debug Console.
This allows interactive control of debug flags and variables and provides a base to allow
for commands to aid in tracking down script bugs which are tricky to replicate.

svn-id: r53398
2010-10-13 03:49:54 +00:00
Torbjörn Andersson
54b2a8c98d JANITORIAL: Cleanup (mostly whitespace)
svn-id: r53161
2010-10-12 04:19:58 +00:00
Sven Hesse
8e523d9d2f GOB: Fix object videos with more than 255 frames
A regression of the CoktelDecoder rewrite.

svn-id: r53043
2010-10-07 09:18:15 +00:00
Sven Hesse
7ffd94004e GOB: Try to also open VMD files in Gob3 Win
Because the scripts reference it as IMD, while there are actually
only VMDs files in the data files of the Windows version

svn-id: r53037
2010-10-05 21:22:30 +00:00
Sven Hesse
2a99d3d4b1 GOB: Silence compiler warnings
svn-id: r53036
2010-10-05 20:59:47 +00:00
Sven Hesse
b749b28c09 GOB: Fix text display in Gob3 Windows/ADI
svn-id: r53032
2010-10-05 18:54:30 +00:00
Arnaud Boutonné
305d6fc7f5 GOB: Remove useless variable
svn-id: r52957
2010-09-30 15:31:31 +00:00
Sven Hesse
947540c089 GOB: Fix 16bit cursors
svn-id: r52952
2010-09-30 13:04:43 +00:00
Sven Hesse
1d17a4157f GOB: Remove extra \n in debug warning()s
svn-id: r52951
2010-09-30 13:04:14 +00:00
Sven Hesse
89f946ba3e GOB: Transparency support for 16bit surfaces
svn-id: r52950
2010-09-30 13:03:51 +00:00
Sven Hesse
3ab8bf16a2 GOB: Create 16bit surfaces for true color games
Enabling basic Urban drawing again

svn-id: r52949
2010-09-30 13:03:22 +00:00
Sven Hesse
4f2b58b117 GOB: Remove the now useless VGAVideoDriver
svn-id: r52948
2010-09-30 13:02:50 +00:00
Sven Hesse
51fd528fe5 GOB: Change all drawing to use class Surface
svn-id: r52947
2010-09-30 13:02:16 +00:00
Sven Hesse
38e5060041 GOB: Add a new class Surface
This will be the new class managing all drawing, providing
depth-agnostic methods for all drawing operations, including 2
iterator-like classes, Pixel and ConstPixel.

svn-id: r52946
2010-09-30 13:01:07 +00:00
Sven Hesse
e68b6e9f15 GOB: Remove dither stuff, commenting out most v6 drawing
svn-id: r52945
2010-09-30 13:00:30 +00:00
Sven Hesse
b6766f0d7f GOB: Stub setting up of 16bpp graphics
svn-id: r52944
2010-09-30 12:59:48 +00:00
Sven Hesse
13d41dca41 GOB: Add kFeaturesTrueColor
svn-id: r52943
2010-09-30 12:59:18 +00:00
Sven Hesse
3cb3b1e692 GOB: Rename kFeatures640 to kFeatures640x480
svn-id: r52942
2010-09-30 12:58:52 +00:00
Torbjörn Andersson
971d5ca4b8 GOB: Don't crash if getCharData() returns NULL
This happened to me when playing the floppy version of Gobliins 2. I
don't know if it's a fix or a workaround, but the function can clearly
return NULL so let's guard against it.

svn-id: r52813
2010-09-20 00:02:12 +00:00
Torbjörn Andersson
c91a07229a JANITORIAL: Removed most punctuation at end of warning() and error()
Our warning() and error() functions always add an exclamation mark
to the end of the message anyway.

svn-id: r52791
2010-09-18 10:55:16 +00:00
Arnaud Boutonné
be569dad40 GOB: Add detection for polish gob2 and gob3
MD5s provided in bug #3067489

svn-id: r52767
2010-09-17 17:52:17 +00:00
Arnaud Boutonné
47c46cdfde GOB: Add detection for Gob1 CD Polish
svn-id: r52734
2010-09-15 19:00:28 +00:00
Arnaud Boutonné
a002c6f2fd GOB: Fix 2nd Hebrew protection screen in Fascination
Add a workaround to avoid a crash when failing the protection check
This only applies for the 2nd protection screen in the Hebrew version
which is used when the intro is not skipped

svn-id: r52672
2010-09-10 23:40:08 +00:00
Arnaud Boutonné
c2f29ba22d GOB: Change detection of Fascination CD
At the opposite of the other versions, the real name of the first 
stick file in Fascination CD is intro.stk, not disk0.stk.

svn-id: r52424
2010-08-28 12:36:19 +00:00
Arnaud Boutonné
bbab21300a GOB: Detection of pirated games
Add detection of the known cracked Coktel 
games with the appropriate ADGF_PIRATED flag

svn-id: r52395
2010-08-25 20:10:45 +00:00
Arnaud Boutonné
eface88e31 GOB: Add information about a cracked Fascination
Add a comment about a cracked versions of Fascination. The crack used
is based on the original executable's tolerance, it crashes in 
Scummvm.

svn-id: r52360
2010-08-24 21:30:44 +00:00
Arnaud Boutonné
b563a9d265 GOB: Little cleanup of Fascination detection
svn-id: r52359
2010-08-24 21:25:19 +00:00
Arnaud Boutonné
a85cb60e00 GOB: Two fixes for the Fascination delay issue.
Add two more workarounds for the delay issue between the storage 
room and the lab. This fixes the PC Floppy Hebrew and german 
versions.

svn-id: r52334
2010-08-24 12:50:12 +00:00
Arnaud Boutonné
a484a99e9f GOB: Avoid a crash in the protection screen of Fascination (PC).
When failing the protection check, the script of the PC version was writing on purpose everywhere in the memory to hang the computer. This resulted in a crash in Scummvm, fixed by this workaround. (Tested on the 256 Col version french and german)

svn-id: r52316
2010-08-24 06:25:08 +00:00
Arnaud Boutonné
704ee45b98 GOB - Suppress debug comments
svn-id: r52290
2010-08-22 23:21:48 +00:00
Arnaud Boutonné
c8005dfb75 GOB - Fix 2 bugs in Fascination Hebrew, now playable.
Again, thanks SylvainTV for the debugging efforts

svn-id: r52288
2010-08-22 23:11:29 +00:00
Arnaud Boutonné
4109b40d88 GOB - Add detection for all the languages on Fascination CD
Add detection for Spanish, Italian, German and French

svn-id: r52286
2010-08-22 19:54:12 +00:00
Arnaud Boutonné
5cd3ea41db GOB: Clean up of Fascination code
Move Fascination specific function to appropriate classes, plus some style modifications

svn-id: r52267
2010-08-21 18:16:04 +00:00
Arnaud Boutonné
10066443b0 GOB: Add an initGame() for Fascination.
Added in order to suppress the speaker and the adlib flag. When the speaker flag is set, some sounds are skipped. The adlib flag will be required the day the MDY/TBR player will work: SB music for the moment

svn-id: r52247
2010-08-20 22:23:12 +00:00
Arnaud Boutonné
b6c929a02a Fascination - (SylvainTV) Implement window traces
svn-id: r52238
2010-08-20 20:31:05 +00:00
Arnaud Boutonné
588472a8e6 Fascination - Add a delay before entering the lab. This was a script issue only present in the Amiga and Atari ST versions
svn-id: r52221
2010-08-20 07:59:23 +00:00
Arnaud Boutonné
67c1997bf4 Fascination - Fix protection screen (and several other glitches like in the very last screen behavior)
svn-id: r52217
2010-08-19 21:32:54 +00:00
Arnaud Boutonné
f23cc57ad5 Fascination : Avoid to set _showCursor in initCursorAnim as it enables the cursor all the time, which is wrong. This fixes the bad icon while loading issue, and the weird icon in the lab. Thanks SylvainTV for solving it.
svn-id: r52178
2010-08-18 00:03:58 +00:00
Arnaud Boutonné
bdedf90c59 Suppress one more useless debug message
svn-id: r52162
2010-08-17 19:04:04 +00:00
Arnaud Boutonné
b37b0d9b0c Fascination - Suppress some debug messages
svn-id: r52160
2010-08-17 16:27:56 +00:00
Eugene Sandulenko
b6d1c45bb7 GOB: Fix warnings about potentially uninitialized vars.
svn-id: r52142
2010-08-17 10:19:06 +00:00
Arnaud Boutonné
e075f05395 Gob - Clean up: suppress blanks and tabs present at the end of line
svn-id: r52136
2010-08-17 08:33:50 +00:00
Arnaud Boutonné
8ed0a70b06 Fascination - Fix the texts not cleaned up (eg Hotel Hall). Thanks SylvainTV for identifying the problem
svn-id: r52135
2010-08-17 07:41:15 +00:00
Arnaud Boutonné
0bfb74fd57 Fascination - Suppress a debug warning, and replace several warnings by errors.
svn-id: r52133
2010-08-16 21:18:38 +00:00
Arnaud Boutonné
97943cef45 Fascination - (SylvainTV) Replace DRAW_DRAWLETTER by DRAW_BLITSURF. It makes a difference for Fascination, not for the other games using mult_v2. This fixes the refresh of all the little animations in Fascination.
svn-id: r52132
2010-08-16 21:16:13 +00:00
Arnaud Boutonné
e26da1a634 Fascination - (SylvainTV) Always free anims when initializing the scenary. (Hopefully) Fixes every window display issues in lab, villa, picture labo, and lounge.
svn-id: r52109
2010-08-16 00:29:05 +00:00
Alejandro Marzini
b0409d6739 Merge trunk, from r51777 to r52105
svn-id: r52108
2010-08-16 00:21:07 +00:00
Arnaud Boutonné
8b649178ce Fascination - Add workaround for script bug: wrong track name is called in storage room
svn-id: r52107
2010-08-15 23:40:24 +00:00
Arnaud Boutonné
58987824c2 Gob - Follow cppcheck advices
svn-id: r52106
2010-08-15 23:37:56 +00:00
Arnaud Boutonné
4b1d78694e Suppress some debugging warnings
svn-id: r52104
2010-08-15 18:46:28 +00:00
Arnaud Boutonné
3fd7468cbc Fascination - Add handling for window funcLeave on close. This fixes (at least) the picture problem in the lab, and the game is now completable (VGA floppy). Thanks SylvainTV for the debugging help
svn-id: r52103
2010-08-15 18:46:00 +00:00
Sven Hesse
1151676d82 VIDEO: Use proper palettes in CoktelDecoder
Not just the 6 bits per color component used in VGA

svn-id: r51921
2010-08-08 01:08:17 +00:00
Sven Hesse
dc3a417699 VIDEO: Change the mixer parameter from a reference to a pointer
To match the other VideoDecoder classes with sound support.

svn-id: r51919
2010-08-08 01:07:17 +00:00
Sven Hesse
f7c23d28e7 GOB: Reactivate the Coh-Cott-workaround
svn-id: r51918
2010-08-08 01:06:44 +00:00
Sven Hesse
a78ddb8488 GOB: Handle VMD subtitles again
svn-id: r51916
2010-08-08 01:05:46 +00:00
Sven Hesse
e6f5785436 GOB: Fix a VMD slot seeking regression
svn-id: r51914
2010-08-08 01:04:46 +00:00
Sven Hesse
f40b128bd9 GOB: Partly fixing VMD slot playing
svn-id: r51913
2010-08-08 01:04:19 +00:00
Sven Hesse
cebc1aca81 GOB: Fix playing of slot videos
The actual frame content is still not there, though :P

svn-id: r51911
2010-08-08 01:03:21 +00:00
Sven Hesse
5dc322454d GOB: Fix playing of sound VMDs with a starting frame != 0
svn-id: r51910
2010-08-08 01:02:49 +00:00
Sven Hesse
945103a43c VIDEO/GOB: Implement and use CoktelDecoder::getFrameCoords()
svn-id: r51909
2010-08-08 01:02:19 +00:00
Sven Hesse
f447ddb36a VIDEO: Fix compilation after the VideoDecoder::load signature change in r51725
svn-id: r51900
2010-08-08 00:58:00 +00:00
Sven Hesse
1f63009426 VIDEO/GOB: Stubb VMDDecoder
svn-id: r51896
2010-08-08 00:56:04 +00:00
Sven Hesse
bab55f3a1d GOB: Adapt the remaining bits to the new VideoPlayer interface
svn-id: r51895
2010-08-08 00:55:27 +00:00
Sven Hesse
a2847e853b GOB: Make o6_loadCursor use the new VideoPlayer interface
svn-id: r51894
2010-08-08 00:54:52 +00:00
Sven Hesse
424e802bb9 GOB: Add copyFrame
svn-id: r51893
2010-08-08 00:54:24 +00:00
Sven Hesse
3295d6ec6b GOB: Make o6_playVmdOrMusic use the new VideoPlayer interface
svn-id: r51891
2010-08-08 00:53:27 +00:00
Sven Hesse
f61a3c5315 GOB: Fix videos with the kNoVideo flag
svn-id: r51887
2010-08-08 00:52:01 +00:00
Sven Hesse
285ba14e23 GOB: Make the demoplayer use the new VideoPlayer interface
svn-id: r51885
2010-08-08 00:51:09 +00:00
Sven Hesse
c812fedb5d GOB: Fix another another with continuing videos
svn-id: r51883
2010-08-08 00:50:12 +00:00
Sven Hesse
f2e5eb78bb GOB: Play 23 frames backwards, not back to frame 23
svn-id: r51882
2010-08-08 00:49:38 +00:00
Sven Hesse
688ae2bfff GOB: Another VideoPlayer interface adaption
svn-id: r51880
2010-08-08 00:48:51 +00:00
Sven Hesse
8a09b25f7b GOB: Make the Bargon Attack intro use the new VideoPlayer interface
svn-id: r51879
2010-08-08 00:48:23 +00:00
Sven Hesse
7fe406a5dd GOB: Fix video continuing
svn-id: r51878
2010-08-08 00:47:54 +00:00
Sven Hesse
8f621b3d2c GOB: Make o4_playVmdOrMusic use the new VideoPlayer interface
svn-id: r51876
2010-08-08 00:46:57 +00:00
Sven Hesse
737ef02707 VIDEO/GOB: Stub hasEmbeddedFile / getEmbeddedFile
Stubbing CoktelDecoder::hasEmbeddedFile() and
CoktelDecoder::getEmbeddedFile(), formerly hasExtraData/getExtraData.

svn-id: r51875
2010-08-08 00:46:34 +00:00
Sven Hesse
f956f059e3 GOB: Minor cleanup
svn-id: r51873
2010-08-08 00:45:27 +00:00
Sven Hesse
61739bc180 GOB: Fix video workaround detection
svn-id: r51872
2010-08-08 00:44:56 +00:00
Sven Hesse
2296aad042 VIDEO/GOB: Fix IMD playing
Fix IMD playing for some fringe cases, especially when seeking
beforehand.

svn-id: r51871
2010-08-08 00:44:33 +00:00
Sven Hesse
6e5518271b GOB: Use the new VideoPlayer interface for coktel.imd
svn-id: r51869
2010-08-08 00:43:45 +00:00
Sven Hesse
a824bcefaa GOB: Make playImd() use the new VideoPlayer interface
svn-id: r51868
2010-08-08 00:43:22 +00:00
Sven Hesse
fecbdf60a9 VIDEO/GOB: Implement IMD frame rendering
svn-id: r51867
2010-08-08 00:42:59 +00:00
Sven Hesse
6172fe8ea7 VIDEO/GOB: Implement IMD frame decoding
Rendering the frame video data is still stubbed out.

svn-id: r51866
2010-08-08 00:42:30 +00:00
Sven Hesse
f19be90c37 VIDEO/GOB: Implement IMD loading
svn-id: r51865
2010-08-08 00:41:56 +00:00
Sven Hesse
31ecaa5275 GOB: Make o2_playImd use the new VideoPlayer interface
svn-id: r51864
2010-08-08 00:41:22 +00:00
Sven Hesse
160172d0e8 GOB: Hook the new IMDDecoder into VideoPlayer
svn-id: r51863
2010-08-08 00:40:52 +00:00
Sven Hesse
bb746b5b61 GOB: Properly utilize FixedRateVideoDecoder::getTimeToNextFrame()
svn-id: r51861
2010-08-08 00:40:00 +00:00
Sven Hesse
f7363fdb10 VIDEO/GOB: Add CoktelDecoder::getDirtyRects()
This allows for the client code to only update the parts of the
video frames that actually changed.

svn-id: r51859
2010-08-08 00:39:03 +00:00
Sven Hesse
12c9e895b5 VIDEO/GOB: Add CoktelDecoder::setXY()
This allows for positioning the video within the video memory.

svn-id: r51858
2010-08-08 00:38:26 +00:00
Sven Hesse
9255d2e217 VIDEO/GOB: Add setSurfaceMemory() to CoktelDecoder
This allows the video player to directly draw onto its own video
memory without having to blit each frame another time.
Will also be needed for proper handling of transparency in Woodruff.

svn-id: r51857
2010-08-08 00:37:52 +00:00
Sven Hesse
863872216f GOB: Basic video playback using the new interface
Implement basic video playback using the new VideoPlayer interface.
Still quite stubby, still lots of stuff missing.

svn-id: r51856
2010-08-08 00:37:19 +00:00
Sven Hesse
9c2172b901 GOB: Fix an copy&paste error
Fixing an accidentally overwritten video file name

svn-id: r51855
2010-08-08 00:36:47 +00:00
Sven Hesse
59b9b3bc2b GOB: Implement the new VideoPlayer::openVideo function further
svn-id: r51853
2010-08-08 00:35:50 +00:00
Sven Hesse
4415953393 GOB: Add constants for different surfaces/sprites
Add
static const int kFrontSurface   = 20;
static const int kBackSurface    = 21;
static const int kAnimSurface    = 22;
static const int kCursorSurface  = 23;
static const int kCaptureSurface = 30;
to class Draw and substitute the raw numbers in other files with
those aliases, for readability.

svn-id: r51852
2010-08-08 00:35:18 +00:00
Sven Hesse
f8a43ee35f GOB: Stub the new VideoPlayer interface
This is will be the new, less convoluted interface for playing videos
within the gob engine. No actual functionality is implemented yet, and
old functions are mostly commented out for now.

svn-id: r51851
2010-08-08 00:34:33 +00:00
Sven Hesse
a802e1e64f VIDEO: Stub a VideoDecoder-like CoktelDecoder
This creates a new CoktelDecoder class using the VideoDecoder
interface, which will eventually become the new way to decode
PreIMD, IMD and VMD videos.
Since the VideoPlayer in gob is not yet ready for this, we're
disabling all video playback in the gob engine for now.

svn-id: r51850
2010-08-08 00:33:59 +00:00
Alejandro Marzini
33e40e1a20 Merged from trunk, from r51495 to r51775
svn-id: r51776
2010-08-06 03:21:21 +00:00
Max Horn
0e2807dc27 GRAPHICS: Change signature of VideoDecoder::load()
Now takes a pointer to a stream, instead of a reference.
The rational is that in all instances, callers have a pointer
(and dereference it to call load), and all load implementations
turn the reference back into a pointer.

svn-id: r51725
2010-08-04 08:25:05 +00:00
Alejandro Marzini
fb4086cadb Merged from trunk, from Rev 50841 to HEAD
svn-id: r51495
2010-07-30 05:28:09 +00:00
Sven Hesse
7424d39a98 GOB: Respect mute option on startup (bug #3032781)
svn-id: r51379
2010-07-27 17:14:33 +00:00
Torbjörn Andersson
30a92bec6b Removed unused variables.
svn-id: r50947
2010-07-16 23:02:17 +00:00
Alejandro Marzini
609e08d5db Merged from trunk, from Rev 49499 to HEAD
svn-id: r50840
2010-07-13 04:31:15 +00:00
David Turner
59f4c903a6 GOB : Adding workaround for Bug #3018918 UOTODDV Reload Goblin Stuck Issue.
This was present in the original interpreter.

svn-id: r50480
2010-06-29 03:53:06 +00:00
Florian Kagerer
3962f8ba59 AUDIO: some fixes in the audio device code (no sound option, new GUIO flags)
svn-id: r50281
2010-06-25 18:47:52 +00:00