Commit Graph

156 Commits

Author SHA1 Message Date
Johannes Schickel
ea21bc939a GOB: Make GPL headers consistent in themselves. 2014-02-18 02:39:34 +01:00
Sven Hesse
7632246264 GOB: Implement Util::getKeyState() for Little Red
This makes the bees level playable, removing the "lock-up".
Collision detection between Little Red and the bees and butterflies
doesn't work yet though, so they're just flying through her.

Nevertheless, the game seems to be completable now.
2012-06-15 13:35:46 +02:00
Sven Hesse
3b8b3c4caf GOB: Fix a failed assert in Litte Red Riding Hood 2012-06-14 23:40:18 +02:00
Sven Hesse
fe44939eba GOB: Play the music on the title screen of Gob1 EGA
The EGA version of Gobliiins comes with an MDY track.
While the original doesn't play it, we thought it might
be a nice idea to play it nevertheless.
2012-06-11 06:20:34 +02:00
Sven Hesse
8c3d2fc741 GOB: Add a way to reopen currently opened IMD/VMD videos
This is a workaround for how Lost in Time behaves in combination
with changes I made to the DataIO code for running Urban Runner
on low-memory devices.

Urban Runner's intro are far to big to have them copied into
memory for these devices, so I made the DataIO code return a
SafeSeekableSubReadStream into the opened archive stream instead.
Unfortunately, Lost in Time might not close a video file when it
closes the data file which it was originally in, especially when
loading a saved game. Since the video player needs to be able to
gaplessly continue a video and there does not, by itself, close
the video if not requested by the scripts, this leads to reading
out of an already closed stream in certain cases.

So, to worka round this issues, the video player tries to reopen
each currently opened video after a data archive was closed, to
make sure that that video is still available. If not, the video
is closed.
2012-06-07 00:29:46 +02:00
Sven Hesse
2f7ae1109b GOB: Add a cheat debug command
- Cheat the Diving minigame to a win
- Get the mastermind solution
2012-01-29 00:10:11 +01:00
Sven Hesse
c66afb213b GOB: Fix analyser warnings regarding sprintf() parameter signness 2011-11-03 17:01:54 +01:00
Sven Hesse
5dd26b9a36 GOB: Add cheat output for Geisha's mastermind 2011-08-26 11:50:37 +02:00
Sven Hesse
225f0ad3dc GOB: Fix EGA palette animation
The Geisha intro is now watchable
2011-08-26 04:45:34 +02: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
Sven Hesse
076b9c9e53 GOB: Remove the vidMode parameter from Video::initSurfDesc
svn-id: r55727
2011-02-02 16:48:04 +00:00
Sven Hesse
65bc46d3ab GOB: Add Script::evalInt() and Script::evalString()
svn-id: r55634
2011-01-29 22:47:53 +00:00
Sven Hesse
40bf0286a1 GOB: Rename Script::evalBoolResult() to Script::evalBool()
svn-id: r55633
2011-01-29 22:47:14 +00:00
Sven Hesse
ce3d4b5d1b GOB: Add GobEngine::isCurrentTot()
svn-id: r55630
2011-01-29 22:45:51 +00:00
Sven Hesse
0c3a33c354 GOB: Change _curTotFile and _totToLoad into Common::String
svn-id: r55629
2011-01-29 22:45:15 +00:00
Sven Hesse
14678f059b GOB: Move OpcodeFunc's return flag into its parameter
To make the meaning of the flag more clear and make the func
opcodes more similar to draw and gob opcodes.

svn-id: r55627
2011-01-29 22:44:06 +00:00
Sven Hesse
a2afc0f4d1 GOB: Check font index for kFontCount
svn-id: r55547
2011-01-26 19:03:13 +00:00
Sven Hesse
a3baa1874a GOB: Add a sanity check to o1_freeFont
svn-id: r55537
2011-01-25 15:14:07 +00:00
Sven Hesse
176e49975c GOB: Adding stubs for Addy
svn-id: r55508
2011-01-25 00:50:26 +00:00
Sven Hesse
7c14cf2b1b GOB: Fix some of the live-video glitchyness
svn-id: r55421
2011-01-22 12:26:31 +00:00
Sven Hesse
dd01e4c303 GOB: Increase debug level for a debug message
svn-id: r55287
2011-01-18 07:02:42 +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
ae082b2b28 GOB: Silence a compiler warning
svn-id: r53988
2010-10-31 21:47:20 +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
0f3ed50cfc GOB: Make some more map properties protected
svn-id: r53952
2010-10-30 17:28:27 +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
Sven Hesse
51fd528fe5 GOB: Change all drawing to use class Surface
svn-id: r52947
2010-09-30 13:02:16 +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
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
Arnaud Boutonné
9a3ef9b8e1 Initialize properly paramCount in gob1. This fixes several valgrind errors, and the unknown opcodes are now skipped as expected. (related to bug #3018918, only partially solved)
svn-id: r50209
2010-06-24 11:50:25 +00:00
Johannes Schickel
cbbb78d9f2 Enforce conversion formatting on pointer casts in the DEV code.
svn-id: r49068
2010-05-17 22:46:53 +00:00
Arnaud Boutonné
816e318134 Fascination: - Suppress the recently added oFascin_keyFunc, replace it with a check in o1_keyFunc. This fixes the animation speed regression
- Rename Amiga-specific protracker functions
- Rewrite winDecomp.

svn-id: r48011
2010-02-08 23:12:42 +00:00
Sven Hesse
d4949d03d4 Minor style-related changes
svn-id: r47839
2010-02-03 03:25:50 +00:00
Arnaud Boutonné
705910f122 - Fixed openWin, saveWin, restoreWin, closeWin, winMove and activeWin, so that windows are AT LEAST working
- Suppressed dirty traces. This has to be reviewed/rewritten. It looks better without.
- Add initialization of two variables in one exceptional case in winDraw. (Thanks Cyx)

svn-id: r47616
2010-01-27 23:39:16 +00:00
Max Horn
8ba75fc522 Fix code formatting (esp. 'if(' -> 'if (' etc., but also indention and other things)
svn-id: r44495
2009-09-30 16:16:53 +00:00
Sven Hesse
081fa85b14 Playtoons uses a variable space that exceeds 32767 bytes. Changing a few variables to unsigned makes the construction mode not crash anymore (though it now hangs in a loop)
svn-id: r43713
2009-08-24 22:37:09 +00:00
Sven Hesse
550d9cf39d More alignment-related changes
svn-id: r42858
2009-07-28 16:28:32 +00:00
Sven Hesse
edab6f2d7f Added a workaround to fix the Last Dynasty video greenness for now
svn-id: r42766
2009-07-25 16:07:29 +00:00
Sven Hesse
3823ae285f Giving Font its own real class
svn-id: r42277
2009-07-09 02:54:10 +00:00
Sven Hesse
daaba72677 Adding a workaround for an invalid expression in Gob1 EGA
svn-id: r42135
2009-07-05 12:52:14 +00:00
Sven Hesse
18550c1314 Moving the "Collision" stuff to Hotspots in hotspots.cpp/.h
svn-id: r42123
2009-07-05 11:27:54 +00:00
Sven Hesse
704895b35f Commenting prepareStr a bit and renaming it to cleanupStr
svn-id: r42120
2009-07-05 11:26:42 +00:00
Lars Persson
62acda5fdb Use MIN with correct template parameter.
svn-id: r42008
2009-07-01 20:11:44 +00:00
Sven Hesse
d03dc08b64 Wrapping resources (out of TOT, EXT, IM? and EX? files) loading into its own class
svn-id: r41839
2009-06-24 21:49:37 +00:00
Sven Hesse
c3aafec1fb Renaming parse.h and parse.cpp to expression.h and expression.cpp
svn-id: r41773
2009-06-22 16:30:35 +00:00
Sven Hesse
7d005f62c3 Putting evalBoolResult() and evalExpr() into Script
svn-id: r41760
2009-06-22 10:29:32 +00:00
Sven Hesse
7fbad08fd1 Implemented a call stack
svn-id: r41754
2009-06-22 10:14:18 +00:00
Sven Hesse
962fc19b57 Encapsulating script file access
svn-id: r41753
2009-06-22 10:13:37 +00:00