Commit Graph
182 Commits
Author SHA1 Message Date
Simon Delamarre 8bb49c1acf GOB: fix cursor still visible in breakout game of some Adibou2 versions
Only cursors drawn from scripts must be copied in _cursorSprites, not the ones loaded from executable.
This simplifies a lot of globals from the Draw object, that were needed only in the cursor-from-exec case.

Note: other GOB games are not impacted even if shared code from draw_v2.cpp, inter_v1.cpp is modified (_cursorHotspotsX and _doCursorPalettes are non-null only in Adibou 2).
2023-01-12 23:26:40 +01:00
Vladimir Serbinenko f3daf65116 GOB: Don't use rawString.
The result is being fed to File::open so \x1f and / get conflated later anyway,
so toString('/') has exactly the same effect.
2022-12-14 05:08:46 +01:00
eientei b08b8cf66e GOB: Add fix for Adiboo 2 EN demo loading files from subfolder 2022-12-12 20:40:51 +01:00
Simon Delamarre 50a6555ec3 GOB: misc format/style fixes in Adibou2 changes 2022-12-02 11:44:36 +01:00
Simon Delamarre 5d519ed33b GOB: be more conservative about possible regressions in Adibou2 changes 2022-12-02 11:44:35 +01:00
Simon Delamarre 6a1e2d5d21 GOB: misc format/style/typo fixes in Adibou2 changes 2022-12-02 11:44:35 +01:00
Simon Delamarre 6705ee619d GOB: fix a typo in a comment 2022-12-02 11:44:33 +01:00
Simon Delamarre 2d0ee1ffa1 GOB: fix some parasite sprites issues in Adibou2
Some sprite cleaning was missing when destroying objects.
2022-12-02 11:44:32 +01:00
Simon Delamarre cab63f8d31 GOB: skip copy protection test in Adibou1 2022-12-02 11:44:30 +01:00
Simon Delamarre b6e991f1c4 GOB: implement case -1 of o1_keyFunc
Same as case 1. Fixes the "Cancel" button of "Change CD" screen in Adibou2.
2022-12-02 11:44:30 +01:00
Simon Delamarre 141cd85e75 GOB: workaround for an issue with text tool in Adibou2 paint game 2022-12-02 11:44:30 +01:00
Simon Delamarre da7439b3f3 GOB: Adibou2 forces palette entries 0 / 255 to be black / white 2022-12-02 11:44:29 +01:00
Simon Delamarre edb0528536 GOB: no "fade" animation in Adibou2 after o1_palLoad
No fade transitions in the original game, and it leads to glitches (e.g. sometimes a scene is shown to soon, with a wrong palette, due to unexpected retrace in fade() call).
2022-12-02 11:44:29 +01:00
Simon Delamarre 48fa677c17 GOB: fix cursor issues in Adibou2
- resizeCursors should be able to shrink cursor sizes (sometimes Adibou2 uses 50*50 cursors, and then goes back to 32*32)
- cursor palettes (_draw->_cursorPalettes) should not be used when initializing cursoes with o1_initCursor
2022-12-02 11:44:28 +01:00
Simon Delamarre fa13e43c18 GOB: remove "multiple click protection" from o1_keyFunc in Adibou2
(As already done for Fascination)
Adibou scripts sometimes call functions with a storeMouse() in  a row before checking the result, expecting a mouse down from the first processing to be still stored in variables.

E.g.
sub_5257 {
	o1_animatePalette();
	o1_keyFunc(1);
	o1_keyFunc(2);
	if (var32_16==1) {
2022-12-02 11:44:27 +01:00
Simon Delamarre da923e24c1 GOB: Mult_object field_38 is videofile metadata, equivalent to 'slot' field 2022-12-02 11:44:27 +01:00
Simon Delamarre 0db96b5b0b GOB: partially handle missing cases in o1_palLoad
Only adjust position in script - implementation itself not done yet.
2022-12-02 11:44:25 +01:00
Simon Delamarre 24b6eeb0a0 GOB: Adibou2 characters animations 2022-12-02 11:44:24 +01:00
Simon Delamarre 35eceb6bd3 GOB: draw sprites when animation < 0 without associated VMD 2022-12-02 11:44:23 +01:00
Le Philousophe 4a82710bc0 GOB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh 8d91d66a15 GOB: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
sluicebox 93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
D G Turner 799a088b6e GOB: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-12-12 17:31:01 +00:00
Sven Hesse 7bdf48170a GOB: Remove useless memcpy()
Happened while removing Draw::_vgaSmallPalette in 0f9b1364c.

Fixes Coverity issue #1230309.
2014-10-19 00:08:32 +02:00
Sven Hesse 0f9b1364cf GOB: Remove the last remnants of Draw::_vgaSmallPalette
Draw::_vgaSmallPalette was supposed to be a 16-color VGA
palette / EGA palette, but we've been using the first 16
entries of Draw::_vgaPalette for that for ages now.

The only parts where we didn't were codepaths never
actually taken in the gob games, so for the sake of
clarity (and fixing Coverity issues), this commit removes
those as well.

Fixes Coverity issues 1192648 and 1192649.
2014-03-16 15:35:35 +01:00
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