307 Commits

Author SHA1 Message Date
Travis Howell
e0a4add194 Update German verbs for C64 maniac, to match original
svn-id: r21190
2006-03-10 00:39:37 +00:00
Gregory Montoir
8476b7a94f minor cleanup.
svn-id: r21189
2006-03-09 23:02:29 +00:00
Gregory Montoir
2cf5859404 oo'ified sound code and added basic support for OS adlib music.
svn-id: r21186
2006-03-09 22:37:19 +00:00
Johannes Schickel
f0106cd59c - Removes deleted waitTicks prototype in KyraEngine
- Adds sound fading support to the adlib player
- Adds support for stopping running tracks

- Changes baseFreq type back to uint8
- corrects octave handling in updateAndOutput1
(Thanks to eriktorbjorn for doing that)

svn-id: r21185
2006-03-09 20:50:19 +00:00
Torbjörn Andersson
a5e0c392ba As LordHoto pointed out to me, updateCallback41() was slightly different after
all: it adjusts the frequency even when state.unk16 is zero. Fixed that, and
added some comments to hopefully explain the differences between the cleaned up
code and the original disassembly.

svn-id: r21184
2006-03-09 18:42:05 +00:00
Torbjörn Andersson
c571026a20 More cleanups and renamings:
* Rewrote updateCallback41() in terms of updateAndOutput1(), since they were
  almost identical to begin with.
* Rewrote updateAndOutput1() for better readability.
* Made unk10 signed, and renamed it baseOctave.
* Made unk14 signed, and renamed it baseNote.
* Made unk15 signed, and renamed it baseFreq.
* Renamed unk17 regAx. It appears to be a cache for that register.
* Renamed unkOutputValue1 regBx. It appears to be a cache for that register.
* Renamed updateCallback8() update_setBaseOctave().
* Renamed updateCallback13() update_setBaseNote().
* Renamed updateCallback20() update_setBaseFreq().

Which still leaves the mystery of unk16 and _unkTables[]. Perhaps *this* is the
pitch bend?

svn-id: r21183
2006-03-09 17:04:00 +00:00
Max Horn
6db0289f30 Moved SAGA plugin interface code from saga.cpp to game.cpp
svn-id: r21181
2006-03-09 14:33:07 +00:00
Max Horn
6b988a51bd Moved SIMON plugin interface code from simon.cpp to game.cpp
svn-id: r21180
2006-03-09 14:30:43 +00:00
Lars Persson
04151343a7 Compile fixes for VC6
svn-id: r21179
2006-03-09 13:54:36 +00:00
Max Horn
1d14d18893 Modified SIMON engine to use DetectedGame::updateDesc
svn-id: r21176
2006-03-09 13:29:45 +00:00
Max Horn
aad520026c Modified SAGA engine to use DetectedGame::updateDesc (note: there is a new TODO in the saveload code now)
svn-id: r21171
2006-03-09 13:22:30 +00:00
Max Horn
783264fe28 Made sure the generic ITE description matches the 'special' ones in game.cpp
svn-id: r21169
2006-03-09 13:03:23 +00:00
Max Horn
de295c562d Replaced GF_ENGLISH in LureGameSettings by a proper Common::Language member variable; added (commented out) entries for the german and french lure
svn-id: r21168
2006-03-09 12:59:46 +00:00
Max Horn
6b19677e1d Make use of DetectedGame::updateDesc in the kyra & lure engines
svn-id: r21167
2006-03-09 12:52:54 +00:00
Max Horn
46ee5c8f26 Added new method DetectedGame::updateDesc, to ease generation of uniform description strings
svn-id: r21166
2006-03-09 12:52:10 +00:00
Torbjörn Andersson
671450fcb8 Set down in comments what I know about _outputTable[], and what I suspect about
_unkTable[]. Investigating the latter further might help unravelling several of
the "unk" variables. (Right now, I'm suspecting that unk15 is the pitch bend.)

svn-id: r21164
2006-03-09 12:36:11 +00:00
Torbjörn Andersson
9d19f7d32e Corrected a few comments where I had mistaken the note on/off bit for one of
the octave bits.

The unkOuput1() function always turns off the note, so I've renamed it
noteOff(). I've added some comments to unkOuput2() as well, but I'm still not
quite sure what its purpose is. It seems unlikely that it's simply a "note on"
function, given the many things it will clear for the channel. It does end by
turning the note on, though. Strange.

svn-id: r21162
2006-03-09 12:04:41 +00:00
Eugene Sandulenko
8a5f44d797 Converted last dialogs to new scheme. Now it seems to be everything. Please,
test throghoutly.

svn-id: r21157
2006-03-09 05:18:00 +00:00
Jamieson Christian
effed85448 Implemented SysEx command 1 for non-S&M SCUMM games, per the latest comment on Bug 1088045.
svn-id: r21156
2006-03-09 03:29:12 +00:00
Max Horn
ea26ccea4a Add the known 'extra' info to the description string; and removed the old hack which added this information during launch (which really was a bad hack)
svn-id: r21155
2006-03-09 03:21:23 +00:00
Max Horn
e53e0e5885 - Removed the code from the launcher that adds language/platform to the
game descriptions. Doing this now is the responsibility of the engines.
- Adapted the SCUMM engine to add lang/platform to the desc string if 
  necessary. Other engines still have to be adapted (but many do not seem to
  need this at all, since they either are lang/platform agnostic, or already
  include this information in their MD5 tables).

svn-id: r21154
2006-03-09 03:09:21 +00:00
Max Horn
12755197f2 Tiny code simplification
svn-id: r21152
2006-03-09 03:01:28 +00:00
Eugene Sandulenko
51495fb199 Moved keys mapping dialog to new scheme. Made it generic. Fixed several
compilation errors associated with it.

svn-id: r21151
2006-03-09 02:54:02 +00:00
Max Horn
86565fcca5 - Renamed GameSettings to PlainGameDescriptor
- Added new GameDescriptor struct (similar to PlainGameDescriptor but with
  Common::String members instead of const char * ones)
- Changed DetectedGame to subclass GameDescriptor
- Removed toGameSettings() in favor of new (template) constructors in
  DetectedGame and GameDescriptor
- Fixed a bug in the obsolete gameid handling in the SCUMM & SIMON engines

svn-id: r21150
2006-03-09 02:52:51 +00:00
Max Horn
d2f78184af - added new toDetectedGame() template function (analog to toGameSettings)
- made use of the new DetectedGame constructor from my last commit
- some related cleanup

svn-id: r21149
2006-03-09 01:42:56 +00:00
Eugene Sandulenko
c3f91ca288 Converted all scumm dialogs to new scheme
svn-id: r21147
2006-03-09 01:08:25 +00:00
Johannes Schickel
f5efc8b169 Commits patch #1437774 ("KYRA1: Game will crash if bitmap is missing").
svn-id: r21146
2006-03-08 21:21:56 +00:00
Oystein Eftevaag
39c9af43ae Implemented the last menu (the settings screen). Walking speed, text speed,
and speech modes (text only, speech only, speech & text) can now be
configured. Toggling music and sound in general is not enabled yet.
Also formatted the static menu resources a bit differently, made
sure some vars in the menu code always got initalized, and
fixed a slight formatting error :).

svn-id: r21145
2006-03-08 13:15:13 +00:00
Max Horn
d9a9fac937 Fixed tons of format string warnings for debug/error calls (including several errors where the format string didn't match the number of arguments to the call)
svn-id: r21141
2006-03-08 11:37:25 +00:00
Max Horn
14f1337c60 Use %p to print pointers portably (even on 64bit systems). Note: this will add a 0x prefix automatically
svn-id: r21140
2006-03-08 10:07:02 +00:00
Eugene Sandulenko
a8a8624511 o Converted most (all?) widgets to new scheme.
o Converted global options dialog to new scheme.

svn-id: r21137
2006-03-08 01:42:02 +00:00
Oystein Eftevaag
cca7da5ba1 The adlib code was calling the Kyra delay() function instead of the
system delay, which was causing concurrency problems.

svn-id: r21136
2006-03-08 01:38:27 +00:00
Travis Howell
431c820e4f Correct order of cases in o72_redimArray()
svn-id: r21135
2006-03-07 22:27:14 +00:00
Oystein Eftevaag
3f31e1b27d Added the proper death dialog, changed the sequence skipping code a bit to avoid
possible frame losses, and removed a (now) redundant call to showOverlay() in the
debugger.

svn-id: r21125
2006-03-07 14:16:52 +00:00
Johannes Schickel
4aaa3eacbd Renamed setTempo to update_setTempo, also fixed tempo handling (intro is too fast now though, but seems to be another problem).
Also changed some unsigned values to signed.

svn-id: r21111
2006-03-06 16:37:03 +00:00
Torbjörn Andersson
628d64f136 More renamings: _unkTableByte1 is now _tempo, and updateCallback29() is
setTempo().

svn-id: r21110
2006-03-06 16:31:19 +00:00
Torbjörn Andersson
ddd312cea7 Cleanup
svn-id: r21109
2006-03-06 15:10:48 +00:00
Gregory Montoir
45656e9fcf fixed palette handling regression, as reported on the forum.
svn-id: r21108
2006-03-05 23:50:24 +00:00
Jamieson Christian
06398d1a84 Removed tag2str usage, which eliminates scumm/util.h dependency.
svn-id: r21107
2006-03-05 22:35:26 +00:00
Torbjörn Andersson
ac33309a4d I guess this is really a WORKAROUND, rather than a HACK. Updated comment.
svn-id: r21106
2006-03-05 22:31:49 +00:00
Johannes Schickel
e2779a0658 Corrects implementation of updateCallback48.
svn-id: r21105
2006-03-05 21:48:55 +00:00
Jamieson Christian
5e25b3b679 Restructured IMuse and IMuseInternal.
* IMuse is no longer a concurrency front-end.
* IMuseInternal now derives from IMuse.
* Common::StackLock used to protect thread-sensitive interface methods (same as IMuseDigital).
* clear_queue() included in stopAllSounds() so it can be removed from the public interface.
* Game ID now specified at init using property().
* Timer callbacks receive a struct containing IMuseInternal and MidiDriver refs, instead of just the latter.
* OSystem pointer from init is now cached and used instead of global.

All references to the g_system and g_scumm globals are now gone. BOOYAH!

Tested with MI2, DOTT and S&M, under Windows, in Native MIDI, Adlib, and Mixed modes. No regressions or concurrency issues observed. Manifestations of the latter are the biggest concern at this point.

svn-id: r21104
2006-03-05 21:30:44 +00:00
Torbjörn Andersson
27e49b6f56 Note to self: compile before commit.
svn-id: r21103
2006-03-05 20:11:43 +00:00
Torbjörn Andersson
4fb6c92473 The updateUnk6Value() appears to be some sort of random number generator, so I
have renamed it getRandomNr(). The _unk6 variable has been renamed _rnd. (Our
MidiDriver_ADLIB class also has its own random number generator, so it's not
such a far-fetched guess as it may seem.)

svn-id: r21102
2006-03-05 20:09:02 +00:00
Torbjörn Andersson
525690344b Renamed output1() to adjustVolume(). I'm still uncertain exactly *how* the
volume is modified (it depends on several still unknown variables), but that's
all it does as far as I can tell.

svn-id: r21101
2006-03-05 19:48:22 +00:00
Torbjörn Andersson
0651236066 Make sure there actually is a SMUSH mixer before stopping and deleting it.
svn-id: r21099
2006-03-05 13:57:05 +00:00
Paweł Kołodziejski
7a6ff46b38 that was not what I want. it should stop audio only for immediately stop.
svn-id: r21095
2006-03-05 12:29:13 +00:00
Paweł Kołodziejski
38b82fb585 that should help for bug #1352486, smush sound tracks are not stopped immediately, but outside smush when sound data are depleted in sound mixer buffer.
svn-id: r21094
2006-03-05 12:15:39 +00:00
Travis Howell
3fbf207ee5 Update box flags for C64 maniac
svn-id: r21093
2006-03-05 10:54:41 +00:00
Travis Howell
24493b3f45 Add back exclusion lost in last commit, exclude some verbs from verbs error script
svn-id: r21091
2006-03-05 10:02:43 +00:00