Commit Graph
1887 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
Filippos Karapetis fdde702d43 GOB: Mark ADI Jnr. (Amiga) as unstable
Core functionality is still missing, and the game crashes occasionally
2022-12-26 02:45:09 +02:00
eientei e6cbd14172 GOB: Add detection for ADI Jnr. (Amiga) 2022-12-26 02:45:09 +02:00
Simon Delamarre 0df747842e GOB: fix some cursor glitches in Adibou2
When cursors are drawn by scripts (_isCursorFromExe == false), do not reset cursorSprite when a cursor change is detected in animateCursor() (it may already contain the wanted cursor) and ensure palette is set to non-external for all cursor indexes.
2022-12-24 18:02:25 +01:00
Lothar Serra Mari 7a4926f9ab GOB: Fix custom title for German adibou2 according to title screen 2022-12-22 23:28:04 +01:00
Lothar Serra Mari 4dfafbbe87 GOB: Add another German variant of adibou2 2022-12-22 23:28:04 +01:00
Simon Delamarre 0ad57d3c09 GOB: fix a black screen after the paint game in some Adibou2 versions
Related to a weird video mode ("0x18"), in which some surfaces must not be reset when re-calling the initScreen() opcode.
2022-12-16 22:27:08 +01:00
Simon Delamarre e79da632b6 GOB: fix the intro being skipped in some Adibou2 versions 2022-12-16 22:27:08 +01:00
Simon Delamarre 353ae46508 GOB: add "ADIBODEM" (Adibou2 demo) directory in the search path 2022-12-16 17:03:28 +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
Simon Delamarre d827be6f45 GOB: Ensure all Adibou2 versions are marked 640x480 2022-12-13 19:11:42 +01:00
Simon Delamarre 1958b4ab14 GOB: Mark Adibou2/Adi4 as kPlatformWindows instead of kPlatformDOS 2022-12-13 13:07:49 +01:00
eientei b08b8cf66e GOB: Add fix for Adiboo 2 EN demo loading files from subfolder 2022-12-12 20:40:51 +01:00
eientei fbca4f51d3 GOB: Add detection for Adiboo 2 EN demo and ES full 2022-12-12 20:40:51 +01:00
Cameron Cawley 28d7b361ea COMMON: Move more file format code into common/formats 2022-12-11 22:33:23 +01:00
Simon Delamarre 2aae9a7ce2 GOB: Unmark Adibou1 games from testing 2022-12-11 15:05:11 +01:00
Eugene Sandulenko 1f8dcd88c9 GOB: Mark Adibou2 games for testing 2022-12-11 01:12:04 +01:00
Donovan Watteau d0ea3742cc GOB: Add detection for Adibou 2 French demo (interactive)
Source is the double CD-ROM "Le kit rentrée scolaire de la Fnac"
(August 1999) that was given for free at the Fnac French retail stores.
2022-12-05 03:04:04 +02:00
Eugene Sandulenko bbe39976fa GOB: Added detection for playtoons4-de. Bugreport #13100 2022-12-03 23:50:03 +01:00
Eugene Sandulenko 9640478b9b GOB: Added detection for playtoons5-de. Bug #13099 2022-12-03 23:50:02 +01:00
Donovan Watteau 887693a3fe GOB: Fix AmigaOS and NDS builds
Poor things...
2022-12-02 13:06:10 +01:00
Eugene Sandulenko 25d8019a90 GOB: Fix warning 2022-12-02 11:49:49 +01:00
Eugene Sandulenko 0b792ec806 GOB: Added missing override keywords 2022-12-02 11:49:17 +01:00
Eugene Sandulenko d2462684e1 GOB: Added sdelamarre to credits 2022-12-02 11:47:13 +01:00
Simon Delamarre 50a6555ec3 GOB: misc format/style fixes in Adibou2 changes 2022-12-02 11:44:36 +01:00
Simon Delamarre 493c7d8954 GOB: update the list of files containing translatable strings 2022-12-02 11:44:36 +01:00
Simon Delamarre 38b5431bec GOB: fix the prefix of an Adibou2 game flag (ADGF_ -> GF_) 2022-12-02 11:44:35 +01:00
Simon Delamarre 1e5cb46b6e GOB: fix a missing indentation (Adibou2) 2022-12-02 11:44:35 +01:00
Simon Delamarre 92f1d69939 GOB: restrict the Adibou2 "free bananas" workaround to versions confirmed without unwanted side effect 2022-12-02 11:44:35 +01:00
Simon Delamarre a71b1c9e94 GOB: allow more path separators in "file path -> save handler" mapping
'/' and ':' are now supported in addition to Window-style '\'
2022-12-02 11:44:35 +01:00
Simon Delamarre bf652277aa GOB: do not add anymore all subdirectories to the search path in Adibou2
Only "envir", "applis", and any directory containing an "intro_ap.stk" file (indicates an Adibou/Adi application directory).
2022-12-02 11:44:35 +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 9f8622c38d GOB: add a few TODOs 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 2ec5b0185d GOB: more comments on Map "oblique" coordinates used in Adibou2 2022-12-02 11:44:35 +01:00
Simon Delamarre 2300f9c7e9 GOB: reduce header dependency in Adibou2 changes 2022-12-02 11:44:34 +01:00
Simon Delamarre 31b759a281 GOB: GPLv2 -> GPLv3 in file headers added for Adibou 2022-12-02 11:44:34 +01:00
Simon Delamarre 685277c2ec GOB: fix another parasite sprite issue in Adibou2
Some sprite cleanup was still missing.
2022-12-02 11:44:34 +01:00
Simon Delamarre 988d4882a2 GOB: fix a few cursor glitches in Adibou2
Try to mimic more closely what is done in the executable.

Fixes black squares sometimes blinking around the cursor (just after selecting the character, when hoovering seeds bags in the vegetable garden...), and fix a temporarily disappearing "waiting" cursor in some "change CD" screens.
2022-12-02 11:44:34 +01:00
Simon Delamarre abade0260d GOB: fix some animation speed issues in Adibou2
In some cases, e.g. Adibou walking from his house, the animation is drawn using video object and _mult->animate() calls, but outside any "evaluate hotspots" loop. The loop is done directly from the scripts and has no synchronization with frame rate, so the animation goes too fast.

We add a timing correction in the animate() loop, by not incrementing the video frame number in video object if we are in advance, and continuing the loop, to keep the UI responsive.
2022-12-02 11:44:34 +01:00
Simon Delamarre 19476c96a5 GOB: split the big "updateAnim" function 2022-12-02 11:44:34 +01:00
Simon Delamarre fc8d530e51 GOB: protection from sound-only videos without proper flags in Adibou2
Such videos may try to allocate a Surface with null width/height.

Fix the jokes "jingle" of the radio in Adibou's house.
2022-12-02 11:44:34 +01:00
Simon Delamarre 0e5953ad67 GOB: fix a crash when returning to launcher from Adibou2 2022-12-02 11:44:34 +01:00
Simon Delamarre dd0748fa66 GOB: a few format fixes 2022-12-02 11:44:33 +01:00
Simon Delamarre 012b520872 GOB: a few missing "0 -> nullptr" replacements 2022-12-02 11:44:33 +01:00
Simon Delamarre dc83f97a2e GOB: fix interrupted intro sound in Adibou2
The script relies on "var_off_212" (current frame) becoming "-1" when the video ends, but its update was disabled for sound-only videos, by a hack for "Bamboo" game to deal with multiple live videos.

We disable this hack (i.e. re-enable var_off_212 update) when there is only one "live" video.
2022-12-02 11:44:33 +01:00
Simon Delamarre 653ae7caf3 GOB: ensure waitSoundEnd is not called on "live" videos
waitSoundEnd call finishSound(), an then updateLive(), which will load new frames while being in "finished" state.
The !props.noBlock check on call site was not enough, as sometimes the close order on a live video does not have "live" flags.
2022-12-02 11:44:33 +01:00
Simon Delamarre 31e0fda5e7 GOB: more Adibou2 videos must be played in the background
Besides startFrame == -2, it seems that a video must also go to the background (i.e. be non-blocking) if start_frame == end_frame == 0 *and* if it is not to be drawn into a specific sprite.

But more conditions may apply - they are very difficult to follow in the ASM.

This fixes interrupted sound issues in Adibou2 "Playtoons" minigame help descriptions.
2022-12-02 11:44:33 +01:00
Simon Delamarre 6705ee619d GOB: fix a typo in a comment 2022-12-02 11:44:33 +01:00
Simon Delamarre 9beca4c206 GOB: work around an infinite loop issue in Adibou 2 "change CD" screen
It seems that this bug is harmless in the original game because it requires a certain combination of files to be present in the CD, which is not the case in practice in Adibou2 CDs ; but it exists for us because our fake "CD" search includes all files in game directory and sub-directories.
2022-12-02 11:44:33 +01:00