Age | Commit message (Collapse) | Author |
|
This commit introduces the following (seemingly non-invasive) changes
to make the 'imuse play' debugger command more useful (i.e. don't crash
when trying to load the wrong kind of (sound) resource.
* ScummEngine::readSoundResource()
Instead of fatally error()'ing upon hitting a non-sound resource type,
e.g. a room header (0x524d4844 aka RMHD), we now only issue a warning().
This enables the already existing dead code which properly returns 0
(aka no resource loaded).
* ResourceManager::validateResource()
Instead of fatally error()'ing upon hitting an illegal glob type we now
only issue a warning() and return false (also existing dead code).
All methods calling validateResource() check its return value so this
seems like the right thing to do anyway.
* ScummDebugger::Cmd_IMuse()
Instead of directly calling ensureResourceLoaded() we now call
getResourceAddress() instead (which in turn calls ensureResourceLoaded()
and handles other edge cases) and only attempt to play a sound if the
returned pointer actually is valid.
Fixes Trac#10527.
|
|
|
|
|
|
This also adds a FIXME to SCI which registered an enum type as int...
|
|
|
|
|
|
|
|
|
|
This required a small amount of extra code changes to ensure that
_debugMode is kept in sync when the debugger is used to change the
level.
|
|
|
|
These are regressions from c05cb7f3bbcf4d64d4a938e0eb42065d8f3d3038. They were
caused by VirtualScreen::getPixels differing from Surface::getBasePtr and I
accidently used the former in some cases in the conversion.
I also fixed a bug in debugger.cpp which exchanged x and y.
|
|
|
|
Mac Loom's drafts appear to be stored from variable 55 and upwards.
I'm working under the assumption that there's either only one
version of Loom for the Mac, or that they all behave the same. I
could be wrong about that.
|
|
It was never quite clear exactly what "drafts fix" did. It wasn't
guaranteed to work on all versions of Loom - or at all - and I
haven't heard any reports about the data structure getting
corrupted for years.
|
|
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
|
|
Some object functions allow actor IDs and object IDs as parameters. They are easily distinguishable in engines > 0 as actor IDs are < _numActors and object IDs are bigger. In v0 this is not the case as there are objects with IDs like 3 and 5 (e.g. the hamster). So object ID handling was unified for v0 and the other engines by introducing objIsActor(), objToActor() and ActorToObj().
|
|
|
|
|
|
|
|
|
|
|
|
_resource member
|
|
|
|
|
|
Previously, we had a couple of arrays of size N (where N = number of
resource types), one for each attribute of a resource type (such as as
the number of resources of that type.
Now, we have one array of size N, whose elements are a record
aggregating all the attributes of each resource type.
|
|
|
|
|
|
Some backends may break as I only compiled SDL
|
|
|
|
svn-id: r55818
|
|
svn-id: r54815
|
|
svn-id: r53829
|
|
svn-id: r53762
|
|
svn-id: r53567
|
|
* Remove _isAttached member var and isAttached method
* Engines now always call the onFrame method; whether it does
something is decided by the debugger class resp. its subclasses
* Make detach() protected instead of private, so that subclasses
can invoke it
* Remove _detach_now member var (call detach() instead).
* Rename _frame_countdown to _frameCountdown and properly
document it.
* Add more doxygen comments
* Cleanup
svn-id: r50963
|
|
svn-id: r49221
|
|
svn-id: r48935
|
|
svn-id: r48821
|
|
svn-id: r47541
|
|
svn-id: r46516
|
|
appear to be stored in the same variables as in the DOS CD version. Other than
that, I only have the DOS floppy version, so other versions still may or may
not work as intended.
svn-id: r45358
|
|
channels will be listed in separate lines.
svn-id: r44463
|
|
svn-id: r40867
|
|
We tried to implement the list iterators in a clever way, to reduce code
duplication. But this is essentially impossible to do properly, sadly --
this is one of the places where the ugly drawbacks of C++ really show.
As a consequence, our implementation had a bug which allowed one to
convert any const_iterator to an iterator, thus allowing modifying
elements of const lists.
This rewrite reintroduces code duplication but at least ensures that no
const list is written to accidentally.
Also fix some places which incorrectly used iterator instead of const_iterator
or (in the kyra code) accidentally wrote into a const list.
svn-id: r39279
|
|
svn-id: r38439
|
|
svn-id: r36142
|
|
svn-id: r36140
|
|
svn-id: r36139
|
|
arguments").
svn-id: r35096
|
|
* got rid of scumm_strrev
* added DISABLE_TEXT_CONSOLE flag which disables printf, warning, debug (but not error)
svn-id: r35038
|