Commit Graph

52177 Commits

Author SHA1 Message Date
Johannes Schickel
cebbc11dac GUI: Allow Surfaces with abitrary RGB pixel formats to be used in PicButtonWidget and GraphicsWidget.
Only 1Bpp aka paletted surfaces are not supported.
2012-06-13 04:48:34 +02:00
Johannes Schickel
d5eb3e3c06 GUI: Allow querying of the pixel format used by ThemeEngine. 2012-06-13 04:32:11 +02:00
Johannes Schickel
34c5751948 KYRA: Reduce amount of updateScreen calls.
This fixes some slowdowns in Kyra2 with the OpenGL backend for me. Most of the
updateScreen calls saved were introduced by us implementing the original
behavior of hiding the mouse before drawing onto the screen and showing it
again afterwards, since the mouse cursor is not drawn on the game screen in our
implementation (and unlike in the original) this is not necessary.
2012-06-13 04:13:16 +02:00
Matthew Hoops
2a1193a6b1 VIDEO: Make rpza decode to its own pixel format 2012-06-12 09:34:24 -04:00
Matthew Hoops
e16ad39e53 VIDEO: Cleanup QTRLE
In particular, the colors are not converted to the screen format upon decoding. The code should also now work with 32bpp screen formats.
2012-06-11 23:16:30 -04:00
Matthew Hoops
3324aef8d0 MOHAWK: Make sure we convert video surfaces if they're not in the screen format 2012-06-11 23:14:26 -04:00
Johannes Schickel
13f9349457 GUI: Take advantage of Surface::fillRect in GraphicsWidget::setGfx. 2012-06-12 04:18:59 +02:00
Johannes Schickel
0075fa2f98 GRAPHICS: Replace OverlayColor with uint16 in scaler code.
Scalers are actually fixed at 2Bpp right now and not at the
depth of OverlayColor.
2012-06-12 04:18:59 +02:00
Matthew Hoops
ef8239df48 SCI: Fix comment in kString(at) 2012-06-11 20:10:49 -04:00
Johannes Schickel
9c14f4419b AUDIO: Make VOC decoder a bit more failsafe by still playing parts of invalid VOC files.
Formerly when an unsupported block was found the opening would fail. Instead
now all the valid blocks till that occasion will be played.

This fixes an missing sound in Full Throttle (thanks to clone2727 for
reporting), which is using a VOC file which fails to specify the proper block
length for its sound block.
2012-06-11 20:37:04 +02:00
Filippos Karapetis
ea06210b92 SCI: Add support for variable selectors in kListFirstTrue / kListAllTrue
This is used by Torin's Passage (e.g. when trying to open the menu).
Based on a slightly modified patch by LePhilousophe
2012-06-11 21:17:21 +03:00
Filippos Karapetis
15306bc554 SCI: Return the default value for unknown configuration settings
Based on a patch by LePhilousophe
2012-06-11 21:17:19 +03:00
Filippos Karapetis
3fde390e00 SCI: Added another French version of Torin's Passage
Thanks to LePhilousophe for providing the file details.
Also fixed all of the detection entries for Torin's Passage
2012-06-11 21:17:17 +03:00
Johannes Schickel
52b14de72a KYRA: Mark Kyra 1 russian floppy version as fan translation. 2012-06-11 18:34:36 +02:00
Matthew Hoops
734a361f2e SCUMM: Fix basketball ini name 2012-06-11 10:16:07 -04:00
Sven Hesse
f87e8b53f3 GOB: Fix an AmigaOS compile error
Should close bug #3534287.
2012-06-11 15:11:15 +02:00
Sven Hesse
a3db17033f GOB: Update list of games in the comment 2012-06-11 15:11:15 +02:00
Sven Hesse
c3f89b78c9 README: Update Gob game list 2012-06-11 15:11:15 +02:00
Sven Hesse
f538b76586 GOB: Don't recalculate the AdLib frequencies table on every player reset 2012-06-11 15:10:59 +02:00
Filippos Karapetis
b812ed50c8 SCI: Bugfix for negative numbers in kString(at)
Fixes one of the bugs in the savegame selection screen in Phantasmagoria
2012-06-11 11:54:11 +03:00
Filippos Karapetis
0ccfd614aa SCI: Add more verbose debug output for DoAudio in SCI2.1 2012-06-11 11:54:09 +03: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
385bd7c6a0 NEWS: Mention Gob news for 1.5.0 2012-06-11 05:25:04 +02:00
Sven Hesse
a64e8a6d30 GOB: Hook up the MDY player in Geisha 2012-06-11 05:18:07 +02:00
Sven Hesse
8548dea13d GOB: Hook up the MDY player in Fascination 2012-06-11 05:18:06 +02:00
Sven Hesse
03ef6689c0 GOB: Rewrite the AdLib players
This is a complete rewrite of the AdLib players for ADL and MDY/TBR
files in the Gob engine.

Major changes
1) The AdLib base class is now completely separated from all file
   format code and can theoretically be used by any OPL2-based
   format (within reason)
2) The new code is far better documented and more readable
3) The MDY player now actually works. The MDY/TBR format is
   in reality the MUS/SND format created by AdLib as a simpler
   alternative to the ROL format
4) Since the MAME emulator is quite buggy and leads to noticable
   wrong percussion in the Gobliins 2 title music, the new AdLib
   player will try to create a DOSBox OPL. If it's not compiled in,
   or if the user configured opl_driver to "mame", it will print
   out appropriate warnings.
2012-06-11 05:18:06 +02:00
Johannes Schickel
49fafb48a7 GUI: Refactor default savegame description creation.
Formerly the GMM, AGI and SCI duplicated the logic for USE_SAVEGAME_TIMESTAMP.
Now I added a method to SaveLoadChooser instead, which takes care of this. This
might not be the best placement of such a functionality, thus I added a TODO
which talks about moving it to a better place.
2012-06-10 05:04:59 +02:00
Johannes Schickel
7c5cf1b400 GUI: Add helper to SaveLoadChooser, which uses the currently active target.
This reduces the code duplication in all client code, which formerly duplicated
the querying of the plugin, game id etc. and now simply calls the newly added
method runModalWithCurrentTarget() on a SaveLoadChooser object.
2012-06-10 04:53:17 +02:00
Johannes Schickel
9b05f4e103 PARALLACTION: Do not call close on a SaveLoadChooser. 2012-06-10 04:19:57 +02:00
Johannes Schickel
5c8b7af495 MOHAWK: Do not call close on SaveLoadChooser.
This is actually always called when a dialog closes, thus manual closing is
not required. It furthermore is actually *bad* to call this from outside the
dialog's code, since it will remove the top dialog from the dialog stack and
thus mess up the GUI in case multiple dialogs are opened.
2012-06-10 04:19:57 +02:00
Johannes Schickel
15046a7529 GUI: Get rid of SaveLoadChooser::setSaveMode.
We already pass the title and process button name to the constructor of
SaveLoadChooser and then do not offer any way of changing it, thus changing
the edit mode of the chooser is kind of pointless and was never actually used.
Instead we pass the mode on SaveLoadChooser construction now.
2012-06-10 04:19:45 +02:00
Matthew Hoops
0e5ae35e34 SCUMM: Create proper engine for heversion 101
Regression from 3968f31948
2012-06-09 20:00:45 -04:00
Filippos Karapetis
ca3ea849d8 SCI: Update information on kGetSierraProfileInt
Thanks to LePhilousophe for his feedback and observations on this
2012-06-09 16:29:14 +03:00
Filippos Karapetis
dc11d223cd SCI: Initial implementation of AddLine, UpdateLine, DeleteLine 2012-06-09 15:36:36 +03:00
Filippos Karapetis
66af2cf1d7 SCI: Handle translucent text planes
Fixes the incorrect flood fill in the Rada Drums screen in GK1
2012-06-09 12:13:48 +03:00
Eugene Sandulenko
ec92a867da Merge pull request #243 from lordhoto/cursor-no-scale
ALL: Replace cursorTargetScale in OSystem API with a simple "do not scale" logic.
2012-06-08 23:20:28 -07:00
Travis Howell
3968f31948 SCUMM: Add HE101 version, for debugInput opcode difference in some HE100 games. 2012-06-09 15:36:47 +10:00
Matthew Hoops
8675f51001 NEWS: Fix a typo 2012-06-08 23:06:58 -04:00
Sven Hesse
6559a74dac NEWS: Add Geisha to the supported games 2012-06-09 04:55:11 +02:00
Matthew Hoops
e8ab1f5088 SCUMM: Implement listing playbook files in football2002 2012-06-08 22:22:38 -04:00
Matthew Hoops
f22661e4b9 SCUMM: Stub off other football2002 u32 opcodes 2012-06-08 19:45:31 -04:00
Matthew Hoops
c735b2acda SCUMM: Give football u32 opcodes proper names 2012-06-08 14:32:13 -04:00
Filippos Karapetis
a643981a38 SCI: Handle resource ID -1 when setting the palVary resource
Fixes several wrong colors in SQ6
2012-06-08 11:57:43 +03:00
Willem Jan Palenstijn
18dd5e5128 SCI: Fix mouse up events
Regression from 906f024831.
Fixes bug #3533069.
2012-06-08 08:31:06 +02:00
Sven Hesse
c414baa35d GOB: Implement shooting in Penetration
Geisha's Penetration minigame should be complete now.
This also means that Geisha is now basically complete.

The only thing missing is the MDYPlayer, but since the
music is only played once during the title screen, and it
has a PCM-based fallback (which is currently played), this
is low priority.
2012-06-08 05:16:01 +02:00
Sven Hesse
421b93ce05 GOB: Rewrite "pathfinding" and implement moving enemies
Since shooting does not yet work, we're just getting mauled by them...
2012-06-08 03:16:53 +02:00
Johannes Schickel
e1d45a7b89 TINSEL: Remove unused member _scheduler in TinselEngine.
This is a leftover from before the move of the coroutine code.
2012-06-07 18:19:58 +02:00
Johannes Schickel
8e7f874db3 COMMON: Make CoroutineScheduler's constructor and destructor private.
CoroutineSchedule is a singleton, thus it should not be possible to create
a custom instance of it.
2012-06-07 18:11:38 +02:00
Johannes Schickel
27aa097449 COMMON: Slightly adapt coroutine code to better match our guidelines.
I used astyle here, which automatically removes the use of tabs in comments.
2012-06-07 18:06:59 +02:00
Johannes Schickel
b17b38cc36 COMMON: Move coroutine documentation to the header file. 2012-06-07 18:06:13 +02:00