I think the code uses this in this particular instance to have the comments on
top of the various tables aligned with the actualy entries, so I decided not
to make this conform to our guidelines, but rather to the rest of the style
used in this file.
svn-id: r52766
This should improve r52751, since String does automatic memory handling, thus
no more buffer overflows should by possible by having a too large translated
string.
svn-id: r52758
Because chanGen() gets called very early, and sometimes it crashes
ScummVM as soon as the game starts. Actually, it's probably enough to
initialise a couple of fields in _tchannel[], but I figured it
couldn't hurt to clear all of _channel[] and _tchannel[].
svn-id: r52741
This fixes bug #3067148 "DRACI: Volume range not respected". It seems Draci's
MIDI files do not setup the channel volume properly before using the channels,
but rely on having the maxed out. Since formerly the channel volume was
initialized to 255, it caused the channel volume to be zero in case the user
used 128 for his volume settings (128*255/255=128, and MIDI volume goes from
0-127).
svn-id: r52738
This is currently done in the engine code. I adapted AGI, AGOS, DRACI,
GROOVIE, LURE, MADE, QUEEN, SAGA, SKY, TINSEL and TOUCHE to send a reset
device on startup. The sound output still works fine (started up a game
from every engine), so this should hopefully not introduce any regressions.
As far as I can tell it seems that SCUMM does send a proper device reset, so
I did not touch it. KYRA only sends a proper reset for MT-32 currently. I am
not sure about SCI though.
This fixes bug #3066826 "SIMON: MIDI notes off when using RTL after SCI".
svn-id: r52736
Formerly the AGI MIDI code did not setup the channel mask properly, in case
"native_mt32" was set. This resulted in one missing channel (i.e. channel 0),
since the MT-32 only responds to data for channels 1-9.
svn-id: r52718
the new commands were meant for castle/brain hangman puzzle patch, but the patch didn't work well, so I removed it. Still the commands could/should come in handy
svn-id: r52695
We can't just set the lockers of script 0 to 1, as at that point
the objects associated with the script are marked to be deleted,
thus we need to reload the script
svn-id: r52693
Add a workaround to avoid a crash when failing the protection check
This only applies for the 2nd protection screen in the Hebrew version
which is used when the intro is not skipped
svn-id: r52672
- Renamed the debug command "resource_size" to "resource_info", as it now provides
the location of where a specified resource is found (i.e. the resource.xxx file, or
the file name itself, if the resource is a patch)
- "duskdump" shows the original location of dumped resources
- loadResource() now shows the location of files that couldn't be loaded
svn-id: r52667
and map kOnMe for SCI2 to kIsOnMe, remove commented out hacks. fix signatures for those 2 functions, added TODO - someone should fix the SCI32 signatures
svn-id: r52664
- Added the kernel names for all unimplemented kernel debug functions, and mapped
them all to kDummy, so that the kernel tables are correct and all kernel
functions are mapped (useful for debugging)
- Added a stub for kWinHelp (normally opens an external Windows help file), with
an appropriate dialog
- Added a stub for kWinDLL, which currently errors out on purpose (this needs to
be investigated, as it loads and uses external Windows DLLs)
- Readded kListIndexOf in kList (the signature was wrong when the previous commit
was made)
svn-id: r52660
- Mark several SCI2/2.1 kernel functions used for debugging as dummy
- Added an empty function for kSetWindowsOption, used for settings specific to
Windows versions (e.g. showing/hiding the title bar)
- Added a stub for kGetWindowsOption (currently returning 0 to a Windows related
option for Phantasmagoria)
svn-id: r52652
Sounds that set the third argument of the playSound opcode to 1 (wherever they may be) will now block. The volume parameter of playSound is also now honored. Merge the Myst sound blocking code with this too.
svn-id: r52643
Merge the Riven sound file code with the main Riven resource code and remove the mainSoundFile parameter from Sound::playSound(). Reasoning: The sound id's do not collide with the sound id's in the main data files. The sound archives only exist because the original CD version had the ability to choose between low and high quality audio.
svn-id: r52631
scripts disable icon 7+8 when entering the room. When taking the cannister they will disable all remaining icons, resulting in the disable-code running endlessly, also happend in sierra sci - fixes bug #3046367
svn-id: r52587
The fix is partial, as the game will crash when losing and attempting to
restart (for a different reason - there's an issue when uninstantiating a script)
svn-id: r52581
The actual names for the bug reports are:
#3035650 "PEPPER non-interactive demo: Crash"
#3039566 "LAURABOW2: Crash during introduction"
Those crashes were caused by an invalid memory dereference in kClone. This
in turn was happening, because the parent object pointer might have been
invalidated in cases where the parent object is also a clone.
svn-id: r52561
lb2floppy: scripts get confused in the rat scene, when scaleX/Y are set with applied global scaling. This results in kInitBresen to get called almost endlessly, which results in ego slowing down to a crawl and not being able to reach the upper right exit - fixes bug #3050606
svn-id: r52559
- Split the main Riven event loop into a separate function for readability and for use in the sunner external functions eventually
- Some minor function signature changes (const!)
- Rename matchVarToString() to getVar() (I have no idea where that original name came from, considering it takes a string and returns a variable
- Use solely Common::String in getVar()
svn-id: r52538
There is at least one example of a bad hotspot in Riven (tspit
371 (377 in the DVD version), hotspot 4). This particular hotspot is a zip hotspot which looks like it has its left and right coordinates reversed. However, the zip hotspot would only take the player to the same card as the non zip hotspot so it seems they removed this hotspot with a hack. This fixes a regression from r52487.
svn-id: r52532
including change to compare dest and current position directly, otherwise we would trigger ::moveDone one cycle too late in case the current move completed - fixes lsl5 patti upside down bug #3059336 and lb2cd (cd only!) laura bow getting transformed into a boiler-flame (bug #3050602) - lsl5 was not a real regression, the timing of previous kDoBresen way just off, so it didn't happen in that scene, but happened in lb2cd
svn-id: r52531
getAngle()-code is missing though. Still fixes lsl2early hang on airport (bug #3037036), fixes kq4early unicorn doing moonwalk (kq4late still works as well)
svn-id: r52512
- The exit button now appears and is functional
- The intro movies now play on start up
- Add shortcuts for returning to the menu/playing the intro videos again
- Make the text when hitting a boundary match the original
- Change the wording of the browser button message
- Note: The demo's extras.mhk (not the full game's!) is required now
svn-id: r52509
The MT-32 <-> GM mapping has only been worked on for
SCI0/SCI01 games. Throw a warning when the user
chooses GM in a SCI1 game, and there is no after
market GM support from Sierra for this game
svn-id: r52505
Sierra has released a patch adding after market General MIDI support for 8 SCI1
games (LSL1, LSL5, Hoyle 3, SQ1, SQ4, Eco1 floppy, Longbow and Fairy Tales). If
the user has selected the General MIDI music driver in one of these games and
no associated MIDI patch is found, show an informational dialog on game startup
in order to inform the user to download Sierra's MIDI patch, together with some
short instructions.
svn-id: r52500
Add a check on CONFIG.DAT size in order to avoid loading crap into
the _config structure during the initialization of the engine.
The game no longer starts in turbo & mute mode
svn-id: r52493
"bpr" breakpoint on reading of selectors
"bpw" breakpoint of writing of selectors
"bpx" is now breakpoint on executing of selectors only
svn-id: r52490