diff options
author | Travis Howell | 2005-02-23 12:04:42 +0000 |
---|---|---|
committer | Travis Howell | 2005-02-23 12:04:42 +0000 |
commit | 1b7e174f884a953c5a123b6824166b08c706b79b (patch) | |
tree | 768a9274cd4b478beb390419d4f14e999cace113 /scumm | |
parent | f215c1ceae381c0546d490821f756f7d325ceabb (diff) | |
download | scummvm-rg350-1b7e174f884a953c5a123b6824166b08c706b79b.tar.gz scummvm-rg350-1b7e174f884a953c5a123b6824166b08c706b79b.tar.bz2 scummvm-rg350-1b7e174f884a953c5a123b6824166b08c706b79b.zip |
Add sprite function
svn-id: r16881
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/sprite_he.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/scumm/sprite_he.cpp b/scumm/sprite_he.cpp index 8dbf90f5f8..584b43862b 100644 --- a/scumm/sprite_he.cpp +++ b/scumm/sprite_he.cpp @@ -55,10 +55,20 @@ int ScummEngine_v90he::spriteInfoGet_classFlags(int spriteId, int classId) { } int ScummEngine_v90he::spriteInfoGet_classFlags2(int spriteId, int num, int *args) { + int cls; + bool b, cond = true; + checkRange(_varNumSprites, 1, spriteId, "Invalid sprite %d"); - // TODO - return 0; + while (--num >= 0) { + cls = args[num]; + checkRange(32, 1, cls, "class %d out of range in statement"); + b = ((_spriteTable[spriteId].class_flags & cls) != 0) ? 1 : 0; + if ((cls & 0x80 && !b) || (!(cls & 0x80) && b)) + cond = 0; + } + + return cond; } int ScummEngine_v90he::spriteInfoGet_flags_1(int spriteId) { |