The handling has been moved inside readPMachineInstruction(), instead of run_vm(), as a
lot of parts of the code depend on this function handling all opcodes correctly (e.g. the
script dissassembler, the features class, find_callk etc)
svn-id: r55154
- Improved the find_callk function to properly find the end of script objects, by
monitoring jump calls
- Added three extra special calls to find_callk: find kernel function calls to dummy,
unused and unmapped kernel functions
- Updated several kernel function calls because of the above functionality
- The above functionality has also uncovered a VM bug in some SCI2/2.1 opcode - added
a FIXME for it
svn-id: r55151
Transitive SCI2.1 games (e.g. QFG4CD and PQ4CD, as well as GK2 demo) used a SCI2 table,
with some added functions. If a SCI2.1 game is loaded, show what kernel table it uses
svn-id: r55136
- VMD videos are now properly started from the associated play subop of the
kPlayVMD kernel call, and are now properly positioned on screen, and doubled
only if the games require them to be
- Added an enum for VMD video flags
svn-id: r55003
- Ignore invalid object in KQ5 script 784
- Script 980 looks to be an unused leftover, as its object contain references to
classes placed in script 988, which is missing
svn-id: r54455
- Extended the "verify_scripts" console command for SCI3 scripts
- Added a check for such large scripts when scripts are loaded, with
an error for now, till a mechanism to support such scripts with a
16-bit addressing scheme is in place (e.g. overlaying, or splitting
scripts). Either way, such scripts should span over more than one segment
svn-id: r54304
- Now playVideo() is used when playing videos from the console (reducing
code duplication)
- Added support for 16bpp scaling in scale2x, so that the 16-bit color
Duck videos are scaled correctly
svn-id: r54210
- Added support for savegame play time
- Removed obsolete variables for calculating the play time (EngineState::gameStartTime and Console::_enterTime)
- Renamed some variables to camelCase
svn-id: r53974
- Changed C - style comments in map-mt32-to-gm.h to C++ - style comments
- Added a new dynamic MT-32 -> GM mapping, complementary to the normal one, which can be done on the fly using the new console command "map_instrument"
- The "show_instruments" command has been moved to the music section and now displays the instruments of the game which aren't in the MT32-> GM mapping
svn-id: r53902
This command can be used to find the object methods (including their
corresponding objects and owner scripts) that call a specific kernel
call. This shall aid us track all the spots where a particular kernel
function is called from, therefore it'll be a bit easier to find
examples where unimplemented kernel functions are called
svn-id: r53646
In SCI01 and up, each typed word may be interpreted as multiple
class,group pairs. This patch adds support to the vocabulary and
parser. It uses the matcher support added in r52985.
This fixes parser issues in German LSL3, but needs testing.
svn-id: r52989
- 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
"bpr" breakpoint on reading of selectors
"bpw" breakpoint of writing of selectors
"bpx" is now breakpoint on executing of selectors only
svn-id: r52490