Commit Graph

374 Commits

Author SHA1 Message Date
Travis Howell
be7a28f65e Avoid all scumm var conflicts in C64 maniac
svn-id: r21277
2006-03-14 12:06:37 +00:00
Travis Howell
806ee522d1 Move unused scumm vars in C64 maniac to safe position, to prevent conflicts for now
svn-id: r21276
2006-03-14 10:35:01 +00:00
Torbjörn Andersson
660c23ba3f Updated comment with more circumstantial evidence that the low-frequency note
bug is a bug in our fmopl.cpp. Ken Silverman's Adlib emulator doesn't seem to
exhibit the bug either. (But is apparently less feature complete than MAME's.)

svn-id: r21275
2006-03-14 09:55:41 +00:00
Travis Howell
f6d69c6d45 Camera scrolling only effects subtitles in SCUMM4-6 games. Fixes bug #1329482.
svn-id: r21274
2006-03-14 09:33:37 +00:00
Travis Howell
c196543572 Fix regression in C64 zak, script 5 was not been run when room changed
svn-id: r21273
2006-03-14 07:45:46 +00:00
Eugene Sandulenko
a483083f35 Tweaked a little scumm main dialog and scumm save/load dialog. Still plenty
to do.

svn-id: r21271
2006-03-14 03:52:29 +00:00
Torbjörn Andersson
784728bf8d Further clarifications to the comment about the "low-frequency notes at
beginning of music" bugs. As an experiment, I tried hooking up ScummVM with the
most recent version of the FMOPL code, and the bug went away.

Unfortunately, I believe we are stuck with the ancient version for license (and
performance?) reasons.

svn-id: r21267
2006-03-13 23:53:15 +00:00
Torbjörn Andersson
221263e275 Cleaned up the comments in unkOutput2(), and added a big note about the bug
where low-frequent noises are playing at the beginning of some new sounds.

svn-id: r21265
2006-03-13 23:05:11 +00:00
Lars Persson
d66d7ff76b Changed type for samplesleft in order for MIN macro to work properly on all platforms
svn-id: r21264
2006-03-13 21:38:20 +00:00
Johannes Schickel
ccd0a09f7a - Fixed regression when moving waitTicks to delay (removes wrongly drawn shapes and wrongly call of the kyragame fading in the outro)
- Removes a new line from a warning in seqplayer.cpp

svn-id: r21263
2006-03-13 17:19:19 +00:00
Torbjörn Andersson
9399a2b58e Things continue to fall into place. In other words, more renamings:
unk3  -> spacing1
unk7  -> spacing2
unk12 -> fractionalSpacing

updateCallback4()  -> update_setNoteSpacing()
updateCallback9()  -> update_stopChannel()
updateCallback15() -> update_stopOtherChannel()
updateCallback17() -> update_setupInstrument()
updateCallback28() -> update_setFractionalNoteSpacing()
updateCallback43() -> update_nop1()
updateCallback47() -> update_nop2()

svn-id: r21261
2006-03-13 13:56:19 +00:00
Travis Howell
71a7754a37 Fix a valgrind warning
svn-id: r21260
2006-03-13 11:58:01 +00:00
Torbjörn Andersson
480aee83aa I was going to hold off on this until the "Pool of Sorrow" music had been fixed
but it seems that it drifts out of sync after a few repeats even with the
original interpreter. It's a feature!

This cleanup clears up some of the more confusing break/continues in the
callbackProcess() function, and gets rid of _continueFlag.

svn-id: r21259
2006-03-13 11:57:09 +00:00
Travis Howell
b8cf88622b Fix a few valgrind warnings
svn-id: r21258
2006-03-13 11:52:16 +00:00
Paul Gilbert
c5d90e026f Fix to remove warning on validating frame offsets in animation decoder
svn-id: r21257
2006-03-13 11:40:40 +00:00
Paul Gilbert
c44069fdfc Added further disassembly of animation decoder routine
svn-id: r21256
2006-03-13 11:33:17 +00:00
Paul Gilbert
3c303c0dfd Add proper handling for animations with frame offset tables during decoding
svn-id: r21255
2006-03-13 11:20:58 +00:00
Paul Gilbert
92eb7b7aa5 Changed temp variable from byte to word to fix decoding of some animation resources
svn-id: r21254
2006-03-13 11:18:18 +00:00
Travis Howell
c6082389a2 Confirmed it is safe to remove workaround for Macintosh HE99 version of water.
svn-id: r21253
2006-03-13 10:00:10 +00:00
Travis Howell
8f8d7b6e07 Add opcode difference in setObjectName opcode for C64 maniac
svn-id: r21251
2006-03-13 07:46:54 +00:00
Travis Howell
06dddefe90 Add masking support for C64 maniac, not perfect
svn-id: r21250
2006-03-13 06:06:51 +00:00
Travis Howell
833e343059 Fix object glitches in C64 maniac
svn-id: r21249
2006-03-13 03:52:26 +00:00
Travis Howell
d0f834ee40 Update and restore old debug code for masking
svn-id: r21248
2006-03-13 02:22:22 +00:00
Torbjörn Andersson
1d439592dd Until now, we have confusingly used the terms "state" or "table" where we
really mean "channel". Fixed that:

OutputState     -> Channel
_curTable       -> _curChannel
_outputTables[] -> _channels[]

The biggest change was modifying all the "state" and "table" local variables
and function parameters.

Ahd, at no extra charge:

_outputTable[]  -> _regOffset[]

svn-id: r21247
2006-03-12 23:21:01 +00:00
Torbjörn Andersson
2ab85f9ea6 Renamed callback1 to primaryEffect and callback2 to secondaryEffect.
svn-id: r21246
2006-03-12 22:47:51 +00:00
Torbjörn Andersson
9f941a18cf Cleaned up comment and did some more renaming:
unk4 -> position   (measured on a very short ruler :-)
unk5 -> duration

svn-id: r21245
2006-03-12 22:33:24 +00:00
Johannes Schickel
e19d079d2b - Renames some functions:
updateCallback31 -> update_setChannelTempo
updateCallback42 -> update_resetToGlobalTempo
updateCallback55 -> update_setTempoReset
- Renames some vars:
unk1 -> tempo
unk6 -> tempoReset
- Fixes tempo bugs

svn-id: r21244
2006-03-12 21:54:06 +00:00
Torbjörn Andersson
165265166b Updated for Jamieson630's latest iMUSE changes.
svn-id: r21242
2006-03-12 18:46:33 +00:00
Jamieson Christian
4d5a3e4c45 IMuse SysEx processing now handled by client-specified callbacks. This removes all game-specific references from the Player class. Bloodshed Dev-C++ project file updated.
svn-id: r21241
2006-03-12 18:06:22 +00:00
Johannes Schickel
20095d8e93 - Changes usage of regBx to regAx in primaryEffect2 (seems to be a bug introduced when renaming).
- Changes unk41 and unk32 to signed.
- Fixes wrong sound when dropping items (that was also a little bug in primaryEffect2)

svn-id: r21240
2006-03-12 17:58:04 +00:00
Torbjörn Andersson
63245b8eba Compensate for rounding errors in _samplesPerCallback by having readBuffer()
generate "leap samples". I doubt this will make any noticeable difference, but
at least now we can probably rule out timer inaccuracies from the list of
possible suspects for the remaining bugs.

Also removed unnecessary mutex locking/unlocking from readBuffer(), spotted by
LordHoto.

svn-id: r21239
2006-03-12 17:50:36 +00:00
Johannes Schickel
9d3136fb71 Corrects former commit which deleted sound file loading after the scene with malcolm and kallak.
Also corrects callback50() which seem to improve the sound a bit in the kallak writing scene.

svn-id: r21238
2006-03-12 17:08:46 +00:00
Torbjörn Andersson
72d2ef7221 After several days, telling LordHoto over and over that "no, I don't think the
timer inaccuracies can cause that kind of problems, or we'd have noticed it in
the other game engines as well", guess what? The other game engines do not
necessary use a timer for their Adlib music. So now Kyra doesn't either.

Fortunately for my dignity, the music is still a bit uneven at times, but the
situation does seem to have improved a bit, and the sound effects sound better
to me now.

svn-id: r21237
2006-03-12 17:05:59 +00:00
Johannes Schickel
cb085df0f5 Fixes non looping tracks and a fading bug, which silenced the music, with mt-32.
svn-id: r21236
2006-03-12 15:38:59 +00:00
Johannes Schickel
cd28f28d32 Music in the last two intro scenes plays now again with adlib.
Cleaned up the sound code a bit (removed some unneeded functions).

svn-id: r21234
2006-03-12 14:22:27 +00:00
Torbjörn Andersson
c8347b23b1 Added debug message for the standard "note on" opcodes as well.
svn-id: r21233
2006-03-12 12:55:16 +00:00
Torbjörn Andersson
84af303787 And now, for a change, some more renamings:
update1()          -> setupDuration()
updateAndOutput1() -> setupNote()
setInstrument()    -> setupInstrument()  (just for the symmetry)
updateAndOutput3() -> noteOn()

That made the following two renamings seem natural:

updateCallback10() -> update_playRest()
updateCallback27() -> update_playNote()

I decided to number the secondary effects, even though there's only one:

update_setupSecondaryEffect()  -> update_setupSecondaryEffect1()
update_removeSecondaryEffect() -> update_removeSecondaryEffect1()

And finally, I renamed the effects callbacks:

stateCallback1_1() -> primaryEffect1()
stateCallback1_2() -> primaryEffect2()
stateCallback2_1() -> secondaryEffect1()

svn-id: r21232
2006-03-12 12:40:14 +00:00
Travis Howell
230a68755e Unfortunately the workaround for Macintosh version of water is still required.
svn-id: r21231
2006-03-12 10:56:14 +00:00
Torbjörn Andersson
d57e2e88c0 Added a block of comments about command parsing and timing. Perhaps it will be
of use in tracking down the tempo bugs.

svn-id: r21230
2006-03-12 10:47:20 +00:00
Travis Howell
fd389260f8 Adjust basename array setting in HE99+ games, for filename substitution
svn-id: r21229
2006-03-12 10:44:42 +00:00
Travis Howell
e94aa88ece Adjust version setting for Macintosh versions of HE80+ games, which is checked by water
svn-id: r21228
2006-03-12 09:51:24 +00:00
Travis Howell
66730f3b6b Use script support for Macintosh versions of HE80+ games
svn-id: r21227
2006-03-12 09:27:56 +00:00
Travis Howell
8602fe7432 Revert mistaken commit of local debug code
svn-id: r21222
2006-03-12 04:19:03 +00:00
Travis Howell
3e72b26adc Revert mistaken commit of local debug code
svn-id: r21220
2006-03-12 01:06:23 +00:00
Travis Howell
f9797f3ac3 Correct mistake in md5 tables for Simon the Sorcerer 2 (DOS Floppy)
svn-id: r21219
2006-03-12 00:53:30 +00:00
Torbjörn Andersson
5bd5cef6cf Some more renaming:
updateCallback18() -> update_setupPrimaryEffect1()
updateCallback19() -> update_removePrimaryEffect1()
updateCallback21() -> update_setupPrimaryEffect2()
updateCallback40() -> update_removePrimaryEffect2()
updateCallback14() -> update_setupSecondaryEffect()
updateCallback30() -> update_removeSecondaryEffect()
updateCallback37() -> update_changeExtraLevel1()
updateCallback34() -> update_changeExtraLevel2()

svn-id: r21217
2006-03-11 17:25:12 +00:00
Travis Howell
beb0c9e297 Fix endian issue in getArrayDim()
svn-id: r21216
2006-03-11 09:43:00 +00:00
Torbjörn Andersson
985ab14c79 Removed inclusion of non-existing imuse_sysex.h to make ScummVM compile again.
svn-id: r21214
2006-03-11 07:37:09 +00:00
Jamieson Christian
2708fe34f3 Another ScummEngine reference in IMuse bites the dust.
svn-id: r21213
2006-03-11 01:06:30 +00:00
Travis Howell
d5066f3741 Remove unused case in o5_actorOps, which is never triggered by any game scripts
svn-id: r21212
2006-03-10 23:15:05 +00:00