16269 Commits

Author SHA1 Message Date
Max Horn
07b896802b SCI: Pass volume number to ResourceSource subclass constructors; make ResourceSource::volume_number const
svn-id: r49822
2010-06-15 12:14:39 +00:00
Max Horn
bb1336ca41 SCI: Add loadResource impls for WaveResourceSource and AudioVolumeResourceSource
svn-id: r49821
2010-06-15 12:14:15 +00:00
Max Horn
d032e6481b SCI: Add loadResource impls to MacResourceForkResourceSource and PatchResourceSource; move _macResMan to MacResourceForkResourceSource
svn-id: r49820
2010-06-15 12:13:52 +00:00
Max Horn
d4f16962d0 SCI: Move code from ResourceManager::loadResource to ResourceSource::loadResource
svn-id: r49819
2010-06-15 12:13:29 +00:00
Max Horn
d0f59edd96 SCI: Rename ResourceSource::resourceFile to _resourceFile
svn-id: r49818
2010-06-15 12:13:07 +00:00
Max Horn
d15e09fdc2 SCI: Merge MacResourceForkResourceSource::scanSource and ResourceManager::readMacResourceFork
svn-id: r49817
2010-06-15 12:12:44 +00:00
Max Horn
055ee6ab5b SCI: Add virtual method ResourceSource::scanSource
svn-id: r49816
2010-06-15 12:12:21 +00:00
Max Horn
89cf6f7cb1 SCI: Change ResourceManager::getVolume() to use new classes
* Add new ResourceSource::findVolume() virtual method
* Rename ResourceManager::getVolume() to findVolume(),
  and change it to use the new ResourceSource method
* Add some TODO comments pointing to further OOPification
  possibilities

svn-id: r49815
2010-06-15 12:11:56 +00:00
Max Horn
8c06425ee3 SCI: Remove 'map' param from addSource, and let AudioVolumeResourceSource subclass VolumeResourceSource
svn-id: r49814
2010-06-15 12:11:30 +00:00
Max Horn
17a5112162 SCI: Convert code to use ResourceSource subclasses
svn-id: r49813
2010-06-15 12:11:04 +00:00
Max Horn
24a295f4a3 SCI: Add ResourceSource subclasses, one for each type
svn-id: r49812
2010-06-15 12:10:41 +00:00
Max Horn
793c04f43b SCI: Changed some 'const char *' to Common::String
svn-id: r49811
2010-06-15 12:10:18 +00:00
Max Horn
dea38106f8 SCI: Change ResourceSource to a class, further OOPify it.
In particular, renamed location_name to _name and made it const and
protected. Thus it cannot be changed after creation, and only read
access is now possible, via a getter method.

svn-id: r49810
2010-06-15 12:09:51 +00:00
Max Horn
98e1f1a193 SCI: Only use MacResManager if needed; start to OOPify ResourceSource
svn-id: r49809
2010-06-15 12:09:30 +00:00
Max Horn
e32f3d5a43 SCI: cleanup
svn-id: r49808
2010-06-15 12:09:03 +00:00
Max Horn
69bfbdfa04 SCI: Move ResourceSource to new header resource_intern.h
svn-id: r49807
2010-06-15 12:08:40 +00:00
Martin Kiewitz
59d0035b03 SCI: move portrait methods to gfxPaint16
svn-id: r49806
2010-06-15 12:01:49 +00:00
Filippos Karapetis
5b484b5be7 Fixed compilation when SCI32 code is not enabled
svn-id: r49805
2010-06-15 11:44:55 +00:00
Paul Gilbert
deb907de63 Bugfixes to depth processing that was causing the 'Microprose Design Group' message not to appear in the first intro scene
svn-id: r49801
2010-06-15 11:19:32 +00:00
Eugene Sandulenko
b6940caaaa SCUMM: Added directory globs for in-depth search.
The code was compied from AdvancedDetector. Currently it is
set up to detect Mac indy3/loom which contains it data in
Rooms 1, Roooms 2 and Rooms 3 directories.

svn-id: r49798
2010-06-15 11:04:35 +00:00
Eugene Sandulenko
03ed49169c AGOS: Readd Simon1 Acorn CD detection.
svn-id: r49790
2010-06-15 11:00:07 +00:00
Eugene Sandulenko
f2a62bb1f5 MOHAWK: Properly add detection for Riven DVD.
svn-id: r49789
2010-06-15 10:59:43 +00:00
Eugene Sandulenko
44a39ffbc6 AdvancedDetector: Add new parameter directoryGlobs.
Without this parameter mass detection gave tons of false alarms.
Use globbing for narrowing down the depth search.

svn-id: r49788
2010-06-15 10:59:23 +00:00
Eugene Sandulenko
0b83afce03 MOHAWK: Sync with latest GUI changes.
svn-id: r49787
2010-06-15 10:57:47 +00:00
Eugene Sandulenko
01bc5dda94 GUI: Implemented Languages as GUI options.
SCUMM and AdvancedDetector support this feature.

svn-id: r49786
2010-06-15 10:57:28 +00:00
Eugene Sandulenko
67bc711580 GUI: Implement MIDI drivers as GUI options.
Proper version of patch #2988641: "GSoC: Select drivers in GUI
based on output types". So far only SCUMM engine supports this
feature.

svn-id: r49783
2010-06-15 10:56:12 +00:00
Eugene Sandulenko
2bcafcb02d Sound: add PCJR as a pseudodriver.
Since AGI distinguishes between PCSPK and PCJR/Tandy, make it as a
pseudodriver.

svn-id: r49782
2010-06-15 10:55:31 +00:00
Eugene Sandulenko
eef983c2c6 AGI: enable MIDI in options since now there are ways to play it.
svn-id: r49781
2010-06-15 10:55:07 +00:00
Eugene Sandulenko
01f9006ee7 GUI: Implement tooltips. FR #2821513.
FR #2821513: "GUI: add tooltips".
Added tooltips for Add Game button, clear field buttons and couple
other.

Current problem: Only first call correctly restores text. I could
not find where restore information gets lost.

svn-id: r49774
2010-06-15 10:52:35 +00:00
Eugene Sandulenko
a8a44a07d1 SCI: Fix timer.
installTimerProc requires interval specified in milliseconds,
not microseconds. Correct palVary method accordingly.

svn-id: r49772
2010-06-15 10:51:10 +00:00
Eugene Sandulenko
9d4d191baa SAGA: fix timers.
Second parameter to intallTimerCallback is in _micro_seconds.
Correct calls which assumed  milliseconds.

svn-id: r49771
2010-06-15 10:50:49 +00:00
Eugene Sandulenko
3fafa07ab0 GUI: Added in-place hotkeys for widgets.
Now it is possible to specify hotkeys in place for ButtonWidget
and CheckboxWidget (the only widgets with hotkeys now).

Use de-facto standard with putting hotkey between tildes (~).
Like '~O~pen'. The tildes gets stripped before after hotkey
is extracted.

This is done for giving translators possibility to specify
their own hotkeys.

Old hotkeys defined at widget instance creation are left for
leaving possibility to specify non-printable hotkeys such as
Common::ASCII_ESCAPE.

Translation files were updated respectively.

svn-id: r49766
2010-06-15 10:47:31 +00:00
Eugene Sandulenko
ba72975d3f SCUMM: Fix bug #1328120:
Bug #1328120: "MANIACNES: Screen width incorrect, camera halts sometimes".
Fixed by workaround and was tested with intro and on the kitchen,
where now it is possible to see Edna without her noticing you
first.

svn-id: r49764
2010-06-15 10:46:23 +00:00
Eugene Sandulenko
48d0d3008b SCUMM: Fix bug #1879604.
Bug 1879604: "MANIACNES: Music not played when loading game".
Actually previous attempt to fix this bug was not successful
since first entry of script 5 does not have needed functionality.
Now we resume music manually.

svn-id: r49763
2010-06-15 10:46:04 +00:00
Eugene Sandulenko
09b776ad1f AGI: Made proper Tandy emulator default for PC games.
svn-id: r49760
2010-06-15 10:45:14 +00:00
Eugene Sandulenko
859212df25 Implement translation support for ScummVM GUI.
Based on patch #2903830: "Updated Translation Prototype" by alexbevi
which in turn is based on patch #1739965 by jvprat.

Currently it builds all translations right into ScummVM. Once the
feature will be accepted more widely, i.e. more translations will
pop up, it will be trivial to move translation strings to external
file.

Finished translation: Russian
Unfinished translation: Hungarian

Things which are nice to do:
 - Language code -> language mapping for more user friendness
 - Specifying fonts to be used with language
 - Updating of interface language without restart. It will require
   moving of much code to reflowLayout() methods for each dialog

The .po files must be in single byte encodings. I.e. no support
for Unicode.

svn-id: r49759
2010-06-15 10:44:51 +00:00
Eugene Sandulenko
db6673c408 AGI: rearranged class methods a bit and cleanup.
svn-id: r49758
2010-06-15 10:38:39 +00:00
Eugene Sandulenko
ceb2909e0a AGI: Split all sound generators into separate modules.
Now the sound subsystem of the engine finally is possible to grasp.
Also now it is obvious why CoCo3 sounds are not functioning.

svn-id: r49757
2010-06-15 10:36:54 +00:00
Eugene Sandulenko
6903fc7a07 AGI: Implement FR #2813133.
FR #2813133: "AGI: Proper Tandy 3-Voice/IBM PCjr Sound Support".
Add proper Tandy music. Heavily based on NAGI source, thus attached
its X11 license.

To run it now use -e pcjr. Old one is still default for adlib but
most likely will be changed in the future.

Also lied ground for further separation of different sound generators.

svn-id: r49755
2010-06-15 10:36:10 +00:00
Eugene Sandulenko
85d8b4f5d8 AGI: Make sure that sound variable is reset once music is stopped.
svn-id: r49754
2010-06-15 10:35:42 +00:00
Eugene Sandulenko
c7e9b620ee AGI: properly setup Sound var.
svn-id: r49752
2010-06-15 10:35:10 +00:00
Eugene Sandulenko
0a1a919406 AGI: Implement FR #1913900.
FR #1913900: "AGI: MIDI support".
Currently it gets selected when Adlib is chosen. Finding a better
way to do it is a todo.

Also default instrument mapping is plain.

Based on original code by Jens. Christian Restemeier.

svn-id: r49751
2010-06-15 10:34:45 +00:00
Eugene Sandulenko
38ef876d5b AGI: Split out IIgs sound emulator into separate files.
svn-id: r49749
2010-06-15 10:33:57 +00:00
Eugene Sandulenko
71917dc52d AGI: Implement FR #1881179.
FR #1881179: "AGI detecting agi mouse". Always run ScummVM in
AGIMOUSE compatibility mode, thus no detection for it is
needed.

svn-id: r49748
2010-06-15 10:33:26 +00:00
Eugene Sandulenko
f7c830af26 AGI: Fix walking for some versions of KQ4.
svn-id: r49747
2010-06-15 10:33:07 +00:00
Eugene Sandulenko
81870dba58 AGI: Fix bug #2825273.
Bug #2825273: "AGI: KQ4: Dwarf sequence". Always allow ESC to work
in KQ4.

svn-id: r49746
2010-06-15 10:32:44 +00:00
Eugene Sandulenko
88421532aa AGI: Implemented immediate update for most of gfx to match original.
This fixes many subtle effects as in many cases there were no
special pausing and engine relied only on the slowliness of the
machine.

svn-id: r49745
2010-06-15 10:32:25 +00:00
Eugene Sandulenko
462d1afed8 AGI: Fix bug #1875842.
Bug #1875842: "AGI: Character loses final walking position".
Do not reset ADJ_EGO_XY if non-directional keys were pressed.

svn-id: r49744
2010-06-15 10:32:01 +00:00
Eugene Sandulenko
83053ecc27 AGI: Fix bug #2825278.
Bug #2825278: "AGI: KQ4: Swimming on land". Our drawing code was
not picture perfect, and thus priority screen was trashed by one
of Fills, i.e. the color leaked and took whole screen.

svn-id: r49743
2010-06-15 10:31:39 +00:00
Eugene Sandulenko
ffc390e64c AGI: Fix bug #1945716.
Bug #1945716: "AGI: Fan(Kings Quest 2 1/4) - Sprite not erased".
Added a workaround, since it is design flaw of our rendering
system.

svn-id: r49742
2010-06-15 10:31:18 +00:00