Patch 667613: Extend gfxUsageBits[]
svn-id: r6453
This commit is contained in:
parent
639cb13da1
commit
5bf741f960
12 changed files with 647 additions and 528 deletions
944
scumm.dsp
944
scumm.dsp
|
@ -1,470 +1,474 @@
|
||||||
# Microsoft Developer Studio Project File - Name="scumm" - Package Owner=<4>
|
# Microsoft Developer Studio Project File - Name="scumm" - Package Owner=<4>
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
# ** DO NOT EDIT **
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||||
|
|
||||||
CFG=scumm - Win32 MP3 Enabled Debug
|
CFG=scumm - Win32 MP3 Enabled Debug
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
!MESSAGE use the Export Makefile command and run
|
!MESSAGE use the Export Makefile command and run
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE NMAKE /f "scumm.mak".
|
!MESSAGE NMAKE /f "scumm.mak".
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE NMAKE /f "scumm.mak" CFG="scumm - Win32 MP3 Enabled Debug"
|
!MESSAGE NMAKE /f "scumm.mak" CFG="scumm - Win32 MP3 Enabled Debug"
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE Possible choices for configuration are:
|
!MESSAGE Possible choices for configuration are:
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE "scumm - Win32 Release" (based on "Win32 (x86) Static Library")
|
!MESSAGE "scumm - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||||
!MESSAGE "scumm - Win32 Debug" (based on "Win32 (x86) Static Library")
|
!MESSAGE "scumm - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||||
!MESSAGE "scumm - Win32 MP3 Enabled Debug" (based on "Win32 (x86) Static Library")
|
!MESSAGE "scumm - Win32 MP3 Enabled Debug" (based on "Win32 (x86) Static Library")
|
||||||
!MESSAGE "scumm - Win32 MP3 Enabled Release" (based on "Win32 (x86) Static Library")
|
!MESSAGE "scumm - Win32 MP3 Enabled Release" (based on "Win32 (x86) Static Library")
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
|
|
||||||
# Begin Project
|
# Begin Project
|
||||||
# PROP AllowPerConfigDependencies 0
|
# PROP AllowPerConfigDependencies 0
|
||||||
# PROP Scc_ProjName ""
|
# PROP Scc_ProjName ""
|
||||||
# PROP Scc_LocalPath ""
|
# PROP Scc_LocalPath ""
|
||||||
CPP=cl.exe
|
CPP=cl.exe
|
||||||
RSC=rc.exe
|
RSC=rc.exe
|
||||||
|
|
||||||
!IF "$(CFG)" == "scumm - Win32 Release"
|
!IF "$(CFG)" == "scumm - Win32 Release"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
# PROP BASE Output_Dir "Release"
|
# PROP BASE Output_Dir "Release"
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
# PROP BASE Target_Dir ""
|
# PROP BASE Target_Dir ""
|
||||||
# PROP Use_MFC 0
|
# PROP Use_MFC 0
|
||||||
# PROP Use_Debug_Libraries 0
|
# PROP Use_Debug_Libraries 0
|
||||||
# PROP Output_Dir "scumm___Release"
|
# PROP Output_Dir "scumm___Release"
|
||||||
# PROP Intermediate_Dir "scumm___Release"
|
# PROP Intermediate_Dir "scumm___Release"
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||||
# ADD CPP /nologo /G6 /MT /W3 /WX /Zi /O2 /I "." /I "common" /I "scumm" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "USE_ADLIB" /D "BYPASS_COPY_PROT" /YX /FD /c
|
# ADD CPP /nologo /G6 /MT /W3 /WX /Zi /O2 /I "." /I "common" /I "scumm" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "USE_ADLIB" /D "BYPASS_COPY_PROT" /YX /FD /c
|
||||||
# ADD BASE RSC /l 0x415 /d "NDEBUG"
|
# ADD BASE RSC /l 0x415 /d "NDEBUG"
|
||||||
# ADD RSC /l 0x415 /d "NDEBUG"
|
# ADD RSC /l 0x415 /d "NDEBUG"
|
||||||
BSC32=bscmake.exe
|
BSC32=bscmake.exe
|
||||||
# ADD BASE BSC32 /nologo
|
# ADD BASE BSC32 /nologo
|
||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LIB32=link.exe -lib
|
LIB32=link.exe -lib
|
||||||
# ADD BASE LIB32 /nologo
|
# ADD BASE LIB32 /nologo
|
||||||
# ADD LIB32 /nologo
|
# ADD LIB32 /nologo
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "scumm - Win32 Debug"
|
!ELSEIF "$(CFG)" == "scumm - Win32 Debug"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
# PROP BASE Output_Dir "scumm___Win32_Debug"
|
# PROP BASE Output_Dir "scumm___Win32_Debug"
|
||||||
# PROP BASE Intermediate_Dir "scumm___Win32_Debug"
|
# PROP BASE Intermediate_Dir "scumm___Win32_Debug"
|
||||||
# PROP BASE Target_Dir ""
|
# PROP BASE Target_Dir ""
|
||||||
# PROP Use_MFC 0
|
# PROP Use_MFC 0
|
||||||
# PROP Use_Debug_Libraries 1
|
# PROP Use_Debug_Libraries 1
|
||||||
# PROP Output_Dir "scumm___Debug"
|
# PROP Output_Dir "scumm___Debug"
|
||||||
# PROP Intermediate_Dir "scumm___Debug"
|
# PROP Intermediate_Dir "scumm___Debug"
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||||
# ADD CPP /nologo /MTd /W3 /WX /Gm /GX /Zi /Od /I "." /I "common" /I "scumm" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "BYPASS_COPY_PROT" /D "USE_ADLIB" /YX /FD /GZ /c
|
# ADD CPP /nologo /MTd /W3 /WX /Gm /GX /Zi /Od /I "." /I "common" /I "scumm" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "BYPASS_COPY_PROT" /D "USE_ADLIB" /YX /FD /GZ /c
|
||||||
# ADD BASE RSC /l 0x415 /d "_DEBUG"
|
# ADD BASE RSC /l 0x415 /d "_DEBUG"
|
||||||
# ADD RSC /l 0x415 /d "_DEBUG"
|
# ADD RSC /l 0x415 /d "_DEBUG"
|
||||||
BSC32=bscmake.exe
|
BSC32=bscmake.exe
|
||||||
# ADD BASE BSC32 /nologo
|
# ADD BASE BSC32 /nologo
|
||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LIB32=link.exe -lib
|
LIB32=link.exe -lib
|
||||||
# ADD BASE LIB32 /nologo
|
# ADD BASE LIB32 /nologo
|
||||||
# ADD LIB32 /nologo
|
# ADD LIB32 /nologo
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "scumm - Win32 MP3 Enabled Debug"
|
!ELSEIF "$(CFG)" == "scumm - Win32 MP3 Enabled Debug"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
# PROP BASE Output_Dir "scumm___Win32_MP3_Enabled_Debug"
|
# PROP BASE Output_Dir "scumm___Win32_MP3_Enabled_Debug"
|
||||||
# PROP BASE Intermediate_Dir "scumm___Win32_MP3_Enabled_Debug"
|
# PROP BASE Intermediate_Dir "scumm___Win32_MP3_Enabled_Debug"
|
||||||
# PROP BASE Target_Dir ""
|
# PROP BASE Target_Dir ""
|
||||||
# PROP Use_MFC 0
|
# PROP Use_MFC 0
|
||||||
# PROP Use_Debug_Libraries 1
|
# PROP Use_Debug_Libraries 1
|
||||||
# PROP Output_Dir "scumm___MP3_Enabled_Debug"
|
# PROP Output_Dir "scumm___MP3_Enabled_Debug"
|
||||||
# PROP Intermediate_Dir "scumm___MP3_Enabled_Debug"
|
# PROP Intermediate_Dir "scumm___MP3_Enabled_Debug"
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "." /I "common" /I "scumm" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "BYPASS_COPY_PROT" /D "USE_ADLIB" /YX /FD /GZ /c
|
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "." /I "common" /I "scumm" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "BYPASS_COPY_PROT" /D "USE_ADLIB" /YX /FD /GZ /c
|
||||||
# ADD CPP /nologo /MTd /W3 /WX /Gm /GX /Zi /Od /I "." /I "common" /I "scumm" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "USE_ADLIB" /D "BYPASS_COPY_PROT" /D "USE_MAD" /YX /FD /GZ /c
|
# ADD CPP /nologo /MTd /W3 /WX /Gm /GX /Zi /Od /I "." /I "common" /I "scumm" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "USE_ADLIB" /D "BYPASS_COPY_PROT" /D "USE_MAD" /YX /FD /GZ /c
|
||||||
# ADD BASE RSC /l 0x415 /d "_DEBUG"
|
# ADD BASE RSC /l 0x415 /d "_DEBUG"
|
||||||
# ADD RSC /l 0x415 /d "_DEBUG"
|
# ADD RSC /l 0x415 /d "_DEBUG"
|
||||||
BSC32=bscmake.exe
|
BSC32=bscmake.exe
|
||||||
# ADD BASE BSC32 /nologo
|
# ADD BASE BSC32 /nologo
|
||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LIB32=link.exe -lib
|
LIB32=link.exe -lib
|
||||||
# ADD BASE LIB32 /nologo
|
# ADD BASE LIB32 /nologo
|
||||||
# ADD LIB32 /nologo
|
# ADD LIB32 /nologo
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "scumm - Win32 MP3 Enabled Release"
|
!ELSEIF "$(CFG)" == "scumm - Win32 MP3 Enabled Release"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
# PROP BASE Output_Dir "scumm___Win32_MP3_Enabled_Release"
|
# PROP BASE Output_Dir "scumm___Win32_MP3_Enabled_Release"
|
||||||
# PROP BASE Intermediate_Dir "scumm___Win32_MP3_Enabled_Release"
|
# PROP BASE Intermediate_Dir "scumm___Win32_MP3_Enabled_Release"
|
||||||
# PROP BASE Target_Dir ""
|
# PROP BASE Target_Dir ""
|
||||||
# PROP Use_MFC 0
|
# PROP Use_MFC 0
|
||||||
# PROP Use_Debug_Libraries 0
|
# PROP Use_Debug_Libraries 0
|
||||||
# PROP Output_Dir "scumm___MP3_Enabled_Release"
|
# PROP Output_Dir "scumm___MP3_Enabled_Release"
|
||||||
# PROP Intermediate_Dir "scumm___MP3_Enabled_Release"
|
# PROP Intermediate_Dir "scumm___MP3_Enabled_Release"
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /I "." /I "common" /I "scumm" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "USE_ADLIB" /YX /FD /c
|
# ADD BASE CPP /nologo /W3 /GX /O2 /I "." /I "common" /I "scumm" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "USE_ADLIB" /YX /FD /c
|
||||||
# ADD CPP /nologo /G6 /MD /W3 /WX /GX /Zi /O2 /I "." /I "common" /I "scumm" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "USE_ADLIB" /D "BYPASS_COPY_PROT" /D "USE_MAD" /YX /FD /c
|
# ADD CPP /nologo /G6 /MD /W3 /WX /GX /Zi /O2 /I "." /I "common" /I "scumm" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "USE_ADLIB" /D "BYPASS_COPY_PROT" /D "USE_MAD" /YX /FD /c
|
||||||
# ADD BASE RSC /l 0x415 /d "NDEBUG"
|
# ADD BASE RSC /l 0x415 /d "NDEBUG"
|
||||||
# ADD RSC /l 0x415 /d "NDEBUG"
|
# ADD RSC /l 0x415 /d "NDEBUG"
|
||||||
BSC32=bscmake.exe
|
BSC32=bscmake.exe
|
||||||
# ADD BASE BSC32 /nologo
|
# ADD BASE BSC32 /nologo
|
||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LIB32=link.exe -lib
|
LIB32=link.exe -lib
|
||||||
# ADD BASE LIB32 /nologo
|
# ADD BASE LIB32 /nologo
|
||||||
# ADD LIB32 /nologo
|
# ADD LIB32 /nologo
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
# Begin Target
|
# Begin Target
|
||||||
|
|
||||||
# Name "scumm - Win32 Release"
|
# Name "scumm - Win32 Release"
|
||||||
# Name "scumm - Win32 Debug"
|
# Name "scumm - Win32 Debug"
|
||||||
# Name "scumm - Win32 MP3 Enabled Debug"
|
# Name "scumm - Win32 MP3 Enabled Debug"
|
||||||
# Name "scumm - Win32 MP3 Enabled Release"
|
# Name "scumm - Win32 MP3 Enabled Release"
|
||||||
# Begin Group "Source Files"
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
# Begin Group "smush"
|
# Begin Group "smush"
|
||||||
|
|
||||||
# PROP Default_Filter ""
|
# PROP Default_Filter ""
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\blitter.cpp
|
SOURCE=.\scumm\smush\blitter.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\blitter.h
|
SOURCE=.\scumm\smush\blitter.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\brenderer.cpp
|
SOURCE=.\scumm\smush\brenderer.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\brenderer.h
|
SOURCE=.\scumm\smush\brenderer.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\channel.h
|
SOURCE=.\scumm\smush\channel.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\chunk.cpp
|
SOURCE=.\scumm\smush\chunk.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\chunk.h
|
SOURCE=.\scumm\smush\chunk.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\chunk_type.h
|
SOURCE=.\scumm\smush\chunk_type.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\codec1.cpp
|
SOURCE=.\scumm\smush\codec1.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\codec1.h
|
SOURCE=.\scumm\smush\codec1.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\codec37.cpp
|
SOURCE=.\scumm\smush\codec37.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\codec37.h
|
SOURCE=.\scumm\smush\codec37.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\codec44.cpp
|
SOURCE=.\scumm\smush\codec44.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\codec44.h
|
SOURCE=.\scumm\smush\codec44.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\codec47.cpp
|
SOURCE=.\scumm\smush\codec47.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\codec47.h
|
SOURCE=.\scumm\smush\codec47.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\color.cpp
|
SOURCE=.\scumm\smush\color.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\color.h
|
SOURCE=.\scumm\smush\color.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\config.h
|
SOURCE=.\scumm\smush\config.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\decoder.h
|
SOURCE=.\scumm\smush\decoder.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\frenderer.cpp
|
SOURCE=.\scumm\smush\frenderer.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\frenderer.h
|
SOURCE=.\scumm\smush\frenderer.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\imuse_channel.cpp
|
SOURCE=.\scumm\smush\imuse_channel.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\mixer.h
|
SOURCE=.\scumm\smush\mixer.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\palette.h
|
SOURCE=.\scumm\smush\palette.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\player.cpp
|
SOURCE=.\scumm\smush\player.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\player.h
|
SOURCE=.\scumm\smush\player.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\renderer.h
|
SOURCE=.\scumm\smush\renderer.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\saud_channel.cpp
|
SOURCE=.\scumm\smush\saud_channel.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\scumm_renderer.cpp
|
SOURCE=.\scumm\smush\scumm_renderer.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\smush\scumm_renderer.h
|
SOURCE=.\scumm\smush\scumm_renderer.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\actor.cpp
|
SOURCE=.\scumm\actor.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\actor.h
|
SOURCE=.\scumm\actor.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\akos.cpp
|
SOURCE=.\scumm\akos.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\akos.h
|
SOURCE=.\scumm\akos.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=".\scumm\base-costume.h"
|
SOURCE=".\scumm\base-costume.h"
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\boxes.cpp
|
SOURCE=.\scumm\boxes.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\boxes.h
|
SOURCE=.\scumm\boxes.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\bundle.cpp
|
SOURCE=.\scumm\bundle.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\bundle.h
|
SOURCE=.\scumm\bundle.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\charset.cpp
|
SOURCE=.\scumm\charset.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\charset.h
|
SOURCE=.\scumm\charset.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\costume.cpp
|
SOURCE=.\scumm\costume.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\costume.h
|
SOURCE=.\scumm\costume.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\debugger.cpp
|
SOURCE=.\scumm\debugger.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\debugger.h
|
SOURCE=.\scumm\debugger.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\debugrl.cpp
|
SOURCE=.\scumm\debugrl.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\debugrl.h
|
SOURCE=.\scumm\debugrl.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\dialogs.cpp
|
SOURCE=.\scumm\dialogs.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\dialogs.h
|
SOURCE=.\scumm\dialogs.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\gfx.cpp
|
SOURCE=.\scumm\gfx.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\gfx.h
|
SOURCE=.\scumm\gfx.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\imuse.cpp
|
SOURCE=.\scumm\usage_bits.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\imuse.h
|
SOURCE=.\scumm\usage_bits.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\imuse_digi.cpp
|
SOURCE=.\scumm\imuse.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\imuse_digi.h
|
SOURCE=.\scumm\imuse_digi.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\instrument.cpp
|
SOURCE=.\scumm\imuse_digi.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\instrument.h
|
SOURCE=.\scumm\instrument.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\intern.h
|
SOURCE=.\scumm\instrument.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\nut_renderer.cpp
|
SOURCE=.\scumm\intern.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\nut_renderer.h
|
SOURCE=.\scumm\nut_renderer.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\object.cpp
|
SOURCE=.\scumm\nut_renderer.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\object.h
|
SOURCE=.\scumm\object.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\resource.cpp
|
SOURCE=.\scumm\object.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\resource.h
|
SOURCE=.\scumm\resource.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\resource_v2.cpp
|
SOURCE=.\scumm\resource.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\resource_v3.cpp
|
SOURCE=.\scumm\resource_v2.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\resource_v4.cpp
|
SOURCE=.\scumm\resource_v3.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\saveload.cpp
|
SOURCE=.\scumm\resource_v4.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\saveload.h
|
SOURCE=.\scumm\saveload.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\script.cpp
|
SOURCE=.\scumm\saveload.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\script_v5.cpp
|
SOURCE=.\scumm\script.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\script_v6.cpp
|
SOURCE=.\scumm\script_v5.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\script_v8.cpp
|
SOURCE=.\scumm\script_v6.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\scumm.h
|
SOURCE=.\scumm\script_v8.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\scummvm.cpp
|
SOURCE=.\scumm\scumm.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\sound.cpp
|
SOURCE=.\scumm\scummvm.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\sound.h
|
SOURCE=.\scumm\sound.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\string.cpp
|
SOURCE=.\scumm\sound.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\vars.cpp
|
SOURCE=.\scumm\string.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\verbs.cpp
|
SOURCE=.\scumm\vars.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\scumm\verbs.h
|
SOURCE=.\scumm\verbs.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Group
|
# Begin Source File
|
||||||
# End Target
|
|
||||||
# End Project
|
SOURCE=.\scumm\verbs.h
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include "costume.h"
|
#include "costume.h"
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
#include "sound.h"
|
#include "sound.h"
|
||||||
|
#include "usage_bits.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
|
@ -1100,7 +1101,6 @@ void Actor::animateLimb(int limb, int f)
|
||||||
void Scumm::setActorRedrawFlags(bool fg, bool bg)
|
void Scumm::setActorRedrawFlags(bool fg, bool bg)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
uint32 bits;
|
|
||||||
|
|
||||||
if (_fullRedraw) {
|
if (_fullRedraw) {
|
||||||
for (j = 0; j < NUM_ACTORS; j++) {
|
for (j = 0; j < NUM_ACTORS; j++) {
|
||||||
|
@ -1112,10 +1112,10 @@ void Scumm::setActorRedrawFlags(bool fg, bool bg)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (i = 0; i < gdi._numStrips; i++) {
|
for (i = 0; i < gdi._numStrips; i++) {
|
||||||
bits = gfxUsageBits[_screenStartStrip + i];
|
int strip = _screenStartStrip + i;
|
||||||
if (bits & 0x3FFFFFFF) {
|
if (testGfxAnyUsageBits(strip)) {
|
||||||
for (j = 0; j < NUM_ACTORS; j++) {
|
for (j = 0; j < NUM_ACTORS; j++) {
|
||||||
if ((bits & (1 << j)) && bits != (uint32)(1 << j)) {
|
if (testGfxUsageBit(strip, j) && testGfxOtherUsageBits(strip, j)) {
|
||||||
Actor *a = derefActor(j);
|
Actor *a = derefActor(j);
|
||||||
if (fg)
|
if (fg)
|
||||||
a->needRedraw = true;
|
a->needRedraw = true;
|
||||||
|
@ -1130,15 +1130,13 @@ void Scumm::setActorRedrawFlags(bool fg, bool bg)
|
||||||
|
|
||||||
int Scumm::getActorFromPos(int x, int y)
|
int Scumm::getActorFromPos(int x, int y)
|
||||||
{
|
{
|
||||||
uint32 drawbits;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
drawbits = gfxUsageBits[x >> 3];
|
if (!testGfxAnyUsageBits(x >> 3))
|
||||||
if (!(drawbits & 0x3FFFFFFF))
|
|
||||||
return 0;
|
return 0;
|
||||||
for (i = 1; i < NUM_ACTORS; i++) {
|
for (i = 1; i < NUM_ACTORS; i++) {
|
||||||
Actor *a = derefActor(i);
|
Actor *a = derefActor(i);
|
||||||
if (drawbits & (1 << i) && !getClass(i, 32) && y >= a->top && y <= a->bottom) {
|
if (testGfxUsageBit(x >> 3, i) && !getClass(i, 32) && y >= a->top && y <= a->bottom) {
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1541,23 +1539,17 @@ void Actor::remapActorPalette(int r_fact, int g_fact, int b_fact, int threshold)
|
||||||
void Scumm::resetActorBgs()
|
void Scumm::resetActorBgs()
|
||||||
{
|
{
|
||||||
Actor *a;
|
Actor *a;
|
||||||
int i;
|
int i, j;
|
||||||
uint32 onlyActorFlags, bitpos;
|
|
||||||
|
|
||||||
for (i = 0; i < gdi._numStrips; i++) {
|
for (i = 0; i < gdi._numStrips; i++) {
|
||||||
onlyActorFlags = (gfxUsageBits[_screenStartStrip + i] &= 0x3FFFFFFF);
|
int strip = _screenStartStrip + i;
|
||||||
a = getFirstActor();
|
a = getFirstActor();
|
||||||
bitpos = 1;
|
for (j = 0; j < NUM_ACTORS; j++) {
|
||||||
|
if (testGfxUsageBit(strip, j) && a->top != 0xFF && a->needBgReset) {
|
||||||
while (onlyActorFlags) {
|
clearGfxUsageBit(strip, j);
|
||||||
if (onlyActorFlags & 1 && a->top != 0xFF && a->needBgReset) {
|
|
||||||
gfxUsageBits[_screenStartStrip + i] ^= bitpos;
|
|
||||||
|
|
||||||
if ((a->bottom - a->top) >= 0)
|
if ((a->bottom - a->top) >= 0)
|
||||||
gdi.resetBackground(a->top, a->bottom, i);
|
gdi.resetBackground(a->top, a->bottom, i);
|
||||||
}
|
}
|
||||||
bitpos <<= 1;
|
|
||||||
onlyActorFlags >>= 1;
|
|
||||||
a++;
|
a++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -829,7 +829,7 @@ void AkosRenderer::codec1()
|
||||||
if (v1.skip_width <= 0 || _height <= 0)
|
if (v1.skip_width <= 0 || _height <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_vm->updateDirtyRect(0, x_left, x_right, y_top, y_bottom, 1 << _dirty_id);
|
_vm->updateDirtyRect(0, x_left, x_right, y_top, y_bottom, _dirty_id);
|
||||||
|
|
||||||
y_clipping = ((uint) y_bottom > outheight || y_top < 0);
|
y_clipping = ((uint) y_bottom > outheight || y_top < 0);
|
||||||
|
|
||||||
|
@ -949,7 +949,7 @@ void AkosRenderer::codec5() {
|
||||||
if ((clip_right <= clip_left) || (clip_top >= clip_bottom))
|
if ((clip_right <= clip_left) || (clip_top >= clip_bottom))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_vm->updateDirtyRect(0, clip_left, clip_right + 1, clip_top, clip_bottom + 1, 1 << _dirty_id);
|
_vm->updateDirtyRect(0, clip_left, clip_right + 1, clip_top, clip_bottom + 1, _dirty_id);
|
||||||
|
|
||||||
if (_draw_top > clip_top)
|
if (_draw_top > clip_top)
|
||||||
_draw_top = clip_top;
|
_draw_top = clip_top;
|
||||||
|
@ -1280,7 +1280,7 @@ void AkosRenderer::codec16() {
|
||||||
if ((clip_left >= clip_right) || (clip_top >= clip_bottom))
|
if ((clip_left >= clip_right) || (clip_top >= clip_bottom))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_vm->updateDirtyRect(0, clip_left, clip_right + 1, clip_top, clip_bottom + 1, 1 << _dirty_id);
|
_vm->updateDirtyRect(0, clip_left, clip_right + 1, clip_top, clip_bottom + 1, _dirty_id);
|
||||||
|
|
||||||
if (_draw_top > clip_top)
|
if (_draw_top > clip_top)
|
||||||
_draw_top = clip_top;
|
_draw_top = clip_top;
|
||||||
|
|
|
@ -213,7 +213,7 @@ byte CostumeRenderer::mainRoutine(int slot, int frame)
|
||||||
_scaleIndexXStep = 1;
|
_scaleIndexXStep = 1;
|
||||||
_ypostop = _ypos;
|
_ypostop = _ypos;
|
||||||
|
|
||||||
_vm->updateDirtyRect(0, _left, _right + 1, _top, _bottom, 1 << _dirty_id);
|
_vm->updateDirtyRect(0, _left, _right + 1, _top, _bottom, _dirty_id);
|
||||||
|
|
||||||
if (_top >= (int)_outheight || _bottom <= 0)
|
if (_top >= (int)_outheight || _bottom <= 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include "actor.h"
|
#include "actor.h"
|
||||||
#include "charset.h"
|
#include "charset.h"
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
|
#include "usage_bits.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -295,12 +296,10 @@ VirtScreen *Scumm::findVirtScreen(int y)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scumm::updateDirtyRect(int virt, int left, int right, int top, int bottom, uint32 dirtybits)
|
void Scumm::updateDirtyRect(int virt, int left, int right, int top, int bottom, int dirtybit)
|
||||||
{
|
{
|
||||||
VirtScreen *vs = &virtscr[virt];
|
VirtScreen *vs = &virtscr[virt];
|
||||||
int lp, rp;
|
int lp, rp;
|
||||||
uint32 *sp;
|
|
||||||
int num;
|
|
||||||
|
|
||||||
if (top > vs->height || left > vs->width || right < 0 || bottom < 0)
|
if (top > vs->height || left > vs->width || right < 0 || bottom < 0)
|
||||||
return;
|
return;
|
||||||
|
@ -314,7 +313,7 @@ void Scumm::updateDirtyRect(int virt, int left, int right, int top, int bottom,
|
||||||
if (right > vs->width)
|
if (right > vs->width)
|
||||||
right = vs->width;
|
right = vs->width;
|
||||||
|
|
||||||
if (virt == 0 && dirtybits) {
|
if (virt == 0 && dirtybit) {
|
||||||
lp = (left >> 3) + _screenStartStrip;
|
lp = (left >> 3) + _screenStartStrip;
|
||||||
if (lp < 0)
|
if (lp < 0)
|
||||||
lp = 0;
|
lp = 0;
|
||||||
|
@ -331,13 +330,8 @@ void Scumm::updateDirtyRect(int virt, int left, int right, int top, int bottom,
|
||||||
if (rp >= 200)
|
if (rp >= 200)
|
||||||
rp = 200;
|
rp = 200;
|
||||||
}
|
}
|
||||||
if (lp <= rp) {
|
for (; lp <= rp; lp++)
|
||||||
num = rp - lp + 1;
|
setGfxUsageBit(lp, dirtybit);
|
||||||
sp = &gfxUsageBits[lp];
|
|
||||||
do {
|
|
||||||
*sp++ |= dirtybits;
|
|
||||||
} while (--num);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setVirtscreenDirty(vs, left, top, right, bottom);
|
setVirtscreenDirty(vs, left, top, right, bottom);
|
||||||
|
@ -632,7 +626,7 @@ void Scumm::drawFlashlight()
|
||||||
|
|
||||||
// Redraw any actors "under" the flashlight
|
// Redraw any actors "under" the flashlight
|
||||||
for (i = _flashlight.x/8; i < (_flashlight.x+_flashlight.w)/8; i++) {
|
for (i = _flashlight.x/8; i < (_flashlight.x+_flashlight.w)/8; i++) {
|
||||||
gfxUsageBits[_screenStartStrip + i] |= 0x80000000;
|
setGfxUsageBit(_screenStartStrip + i, USAGE_BIT_DIRTY);
|
||||||
virtscr[0].tdirty[i] = 0;
|
virtscr[0].tdirty[i] = 0;
|
||||||
virtscr[0].bdirty[i] = virtscr[0].height;
|
virtscr[0].bdirty[i] = virtscr[0].height;
|
||||||
}
|
}
|
||||||
|
@ -682,7 +676,7 @@ void Scumm::redrawBGAreas()
|
||||||
// Redraw parts of the background which are marked as dirty.
|
// Redraw parts of the background which are marked as dirty.
|
||||||
if (!_fullRedraw && _BgNeedsRedraw) {
|
if (!_fullRedraw && _BgNeedsRedraw) {
|
||||||
for (i = 0; i != gdi._numStrips; i++) {
|
for (i = 0; i != gdi._numStrips; i++) {
|
||||||
if (gfxUsageBits[_screenStartStrip + i] & 0x80000000) {
|
if (testGfxUsageBit(_screenStartStrip + i, USAGE_BIT_DIRTY)) {
|
||||||
redrawBGStrip(i, 1);
|
redrawBGStrip(i, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -723,10 +717,10 @@ void Scumm::redrawBGStrip(int start, int num)
|
||||||
{
|
{
|
||||||
int s = _screenStartStrip + start;
|
int s = _screenStartStrip + start;
|
||||||
|
|
||||||
assert(s >= 0 && (size_t) s < sizeof(gfxUsageBits) / sizeof(gfxUsageBits[0]));
|
assert(s >= 0 && (size_t) s < sizeof(gfxUsageBits) / (3 * sizeof(gfxUsageBits[0])));
|
||||||
|
|
||||||
for (int i = 0; i < num; i++)
|
for (int i = 0; i < num; i++)
|
||||||
gfxUsageBits[s + i] |= 0x80000000;
|
setGfxUsageBit(s + i, USAGE_BIT_DIRTY);
|
||||||
|
|
||||||
gdi.drawBitmap(getResourceAddress(rtRoom, _roomResource) + _IM00_offs,
|
gdi.drawBitmap(getResourceAddress(rtRoom, _roomResource) + _IM00_offs,
|
||||||
&virtscr[0], s, 0, virtscr[0].height, s, num, 0);
|
&virtscr[0], s, 0, virtscr[0].height, s, num, 0);
|
||||||
|
@ -775,7 +769,7 @@ void Scumm::restoreBG(int left, int top, int right, int bottom, byte backColor)
|
||||||
if (bottom >= height)
|
if (bottom >= height)
|
||||||
bottom = height;
|
bottom = height;
|
||||||
|
|
||||||
updateDirtyRect(vs->number, left, right, top - topline, bottom - topline, 0x40000000);
|
updateDirtyRect(vs->number, left, right, top - topline, bottom - topline, USAGE_BIT_RESTORED);
|
||||||
|
|
||||||
int offset = (top - topline) * _realWidth + vs->xstart + left;
|
int offset = (top - topline) * _realWidth + vs->xstart + left;
|
||||||
backbuff = vs->screenPtr + offset;
|
backbuff = vs->screenPtr + offset;
|
||||||
|
|
|
@ -27,6 +27,7 @@ SCUMM_OBJS = \
|
||||||
scumm/scummvm.o \
|
scumm/scummvm.o \
|
||||||
scumm/sound.o \
|
scumm/sound.o \
|
||||||
scumm/string.o \
|
scumm/string.o \
|
||||||
|
scumm/usage_bits.o \
|
||||||
scumm/vars.o \
|
scumm/vars.o \
|
||||||
scumm/verbs.o
|
scumm/verbs.o
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include "actor.h"
|
#include "actor.h"
|
||||||
#include "object.h"
|
#include "object.h"
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
|
#include "usage_bits.h"
|
||||||
|
|
||||||
bool Scumm::getClass(int obj, int cls)
|
bool Scumm::getClass(int obj, int cls)
|
||||||
{
|
{
|
||||||
|
@ -393,7 +394,7 @@ void Scumm::drawObject(int obj, int arg)
|
||||||
continue;
|
continue;
|
||||||
if (tmp < _screenStartStrip || tmp > _screenEndStrip)
|
if (tmp < _screenStartStrip || tmp > _screenEndStrip)
|
||||||
continue;
|
continue;
|
||||||
gfxUsageBits[tmp] |= 0x80000000;
|
setGfxUsageBit(tmp, USAGE_BIT_DIRTY);
|
||||||
if (tmp < x)
|
if (tmp < x)
|
||||||
x = tmp;
|
x = tmp;
|
||||||
numstrip++;
|
numstrip++;
|
||||||
|
@ -762,17 +763,13 @@ void Scumm::clearOwnerOf(int obj)
|
||||||
|
|
||||||
void Scumm::removeObjectFromRoom(int obj)
|
void Scumm::removeObjectFromRoom(int obj)
|
||||||
{
|
{
|
||||||
int i, cnt;
|
int i, j;
|
||||||
uint32 *ptr;
|
|
||||||
|
|
||||||
for (i = 1; i < _numLocalObjects; i++) {
|
for (i = 1; i < _numLocalObjects; i++) {
|
||||||
if (_objs[i].obj_nr == (uint16)obj) {
|
if (_objs[i].obj_nr == (uint16)obj) {
|
||||||
if (_objs[i].width != 0) {
|
if (_objs[i].width != 0) {
|
||||||
ptr = &gfxUsageBits[_objs[i].x_pos >> 3];
|
for (j = 0; j < _objs[i].width; j++)
|
||||||
cnt = _objs[i].width >> 3;
|
setGfxUsageBit((_objs[i].x_pos >> 3) + j, USAGE_BIT_DIRTY);
|
||||||
do {
|
|
||||||
*ptr++ |= 0x80000000;
|
|
||||||
} while (--cnt);
|
|
||||||
}
|
}
|
||||||
_BgNeedsRedraw = true;
|
_BgNeedsRedraw = true;
|
||||||
return;
|
return;
|
||||||
|
@ -1619,7 +1616,7 @@ void Scumm::removeBlastObject(BlastObject *eo)
|
||||||
for (i = left_strip; i <= right_strip; i++)
|
for (i = left_strip; i <= right_strip; i++)
|
||||||
gdi.resetBackground(top, bottom, i);
|
gdi.resetBackground(top, bottom, i);
|
||||||
|
|
||||||
updateDirtyRect(0, left, right, top, bottom, 0x40000000);
|
updateDirtyRect(0, left, right, top, bottom, USAGE_BIT_RESTORED);
|
||||||
}
|
}
|
||||||
|
|
||||||
int Scumm::findLocalObjectSlot()
|
int Scumm::findLocalObjectSlot()
|
||||||
|
|
|
@ -424,9 +424,10 @@ void Scumm::saveOrLoad(Serializer *s, uint32 savegameVersion)
|
||||||
MKLINE(Scumm, _palManipEnd, sleByte, VER_V10),
|
MKLINE(Scumm, _palManipEnd, sleByte, VER_V10),
|
||||||
MKLINE(Scumm, _palManipCounter, sleUint16, VER_V10),
|
MKLINE(Scumm, _palManipCounter, sleUint16, VER_V10),
|
||||||
|
|
||||||
// gfxUsageBits grew from 200 to 410 entries:
|
// gfxUsageBits grew from 200 to 410 entries. Then 3 * 410 entries:
|
||||||
MKARRAY_OLD(Scumm, gfxUsageBits[0], sleUint32, 200, VER_V8, VER_V9),
|
MKARRAY_OLD(Scumm, gfxUsageBits[0], sleUint32, 200, VER_V8, VER_V9),
|
||||||
MKARRAY(Scumm, gfxUsageBits[0], sleUint32, 410, VER_V10),
|
MKARRAY_OLD(Scumm, gfxUsageBits[0], sleUint32, 410, VER_V10, VER_V13),
|
||||||
|
MKARRAY(Scumm, gfxUsageBits[0], sleUint32, 3 * 410, VER_V14),
|
||||||
|
|
||||||
MKLINE(Scumm, gdi._transparentColor, sleByte, VER_V8),
|
MKLINE(Scumm, gdi._transparentColor, sleByte, VER_V8),
|
||||||
MKARRAY(Scumm, _currentPalette[0], sleByte, 768, VER_V8),
|
MKARRAY(Scumm, _currentPalette[0], sleByte, 768, VER_V8),
|
||||||
|
@ -557,8 +558,15 @@ void Scumm::saveOrLoad(Serializer *s, uint32 savegameVersion)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Because old savegames won't fill the entire gfxUsageBits[] array,
|
||||||
|
// clear it here just to be sure it won't hold any unforseen garbage.
|
||||||
|
memset(gfxUsageBits, 0, sizeof(gfxUsageBits));
|
||||||
|
|
||||||
s->saveLoadEntries(this, mainEntries);
|
s->saveLoadEntries(this, mainEntries);
|
||||||
|
|
||||||
|
if (!s->isSaving() && savegameVersion < VER_V14)
|
||||||
|
upgradeGfxUsageBits();
|
||||||
|
|
||||||
s->saveLoadArrayOf(_actors, NUM_ACTORS, sizeof(_actors[0]), actorEntries);
|
s->saveLoadArrayOf(_actors, NUM_ACTORS, sizeof(_actors[0]), actorEntries);
|
||||||
|
|
||||||
if (savegameVersion < VER_V9)
|
if (savegameVersion < VER_V9)
|
||||||
|
|
|
@ -32,10 +32,11 @@ enum {
|
||||||
VER_V10,
|
VER_V10,
|
||||||
VER_V11,
|
VER_V11,
|
||||||
VER_V12,
|
VER_V12,
|
||||||
VER_V13
|
VER_V13,
|
||||||
|
VER_V14
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CURRENT_VER VER_V13
|
#define CURRENT_VER VER_V14
|
||||||
|
|
||||||
|
|
||||||
// To work around a warning in GCC 3.2 (and 3.1 ?) regarding non-POD types,
|
// To work around a warning in GCC 3.2 (and 3.1 ?) regarding non-POD types,
|
||||||
|
|
|
@ -748,7 +748,7 @@ public:
|
||||||
void useBompCursor(byte *im, int w, int h);
|
void useBompCursor(byte *im, int w, int h);
|
||||||
|
|
||||||
|
|
||||||
void updateDirtyRect(int virt, int left, int right, int top, int bottom, uint32 dirtybits);
|
void updateDirtyRect(int virt, int left, int right, int top, int bottom, int dirtybit);
|
||||||
void setDirtyRange(int slot, int a, int height);
|
void setDirtyRange(int slot, int a, int height);
|
||||||
void drawDirtyScreenParts();
|
void drawDirtyScreenParts();
|
||||||
void updateDirtyScreen(int slot);
|
void updateDirtyScreen(int slot);
|
||||||
|
@ -810,12 +810,18 @@ public:
|
||||||
byte *_palManipPalette;
|
byte *_palManipPalette;
|
||||||
byte *_palManipIntermediatePal;
|
byte *_palManipIntermediatePal;
|
||||||
|
|
||||||
/* For each screen strip, gfxUsageBits contains a bitmask.
|
/* For each of the 410 screen strips, gfxUsageBits contains a
|
||||||
* The lower 30 bits each correspond to one actor and signify if any part
|
* bitmask. The lower 80 bits each correspond to one actor and
|
||||||
* of that actor is currently contained in that strip.
|
* signify if any part of that actor is currently contained in
|
||||||
* If the left most bit is set, the strip (background) is dirty needs to be redrawn.
|
* that strip.
|
||||||
|
*
|
||||||
|
* If the leftmost bit is set, the strip (background) is dirty
|
||||||
|
* needs to be redrawn.
|
||||||
|
*
|
||||||
|
* The second leftmost bit is set by removeBlastObject() and
|
||||||
|
* restoreBG(), but I'm not yet sure why.
|
||||||
*/
|
*/
|
||||||
uint32 gfxUsageBits[410];
|
uint32 gfxUsageBits[410 * 3];
|
||||||
|
|
||||||
byte *_shadowPalette;
|
byte *_shadowPalette;
|
||||||
int _shadowPaletteSize;
|
int _shadowPaletteSize;
|
||||||
|
@ -924,6 +930,13 @@ public:
|
||||||
uint32 fileReadDword() { return _fileHandle.readUint32BE(); }
|
uint32 fileReadDword() { return _fileHandle.readUint32BE(); }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void upgradeGfxUsageBits();
|
||||||
|
void setGfxUsageBit(int strip, int bit);
|
||||||
|
void clearGfxUsageBit(int strip, int bit);
|
||||||
|
bool testGfxUsageBit(int strip, int bit);
|
||||||
|
bool testGfxAnyUsageBits(int strip);
|
||||||
|
bool testGfxOtherUsageBits(int strip, int bit);
|
||||||
|
|
||||||
/* Scumm Vars */
|
/* Scumm Vars */
|
||||||
byte VAR_KEYPRESS;
|
byte VAR_KEYPRESS;
|
||||||
byte VAR_EGO;
|
byte VAR_EGO;
|
||||||
|
|
81
scumm/usage_bits.cpp
Normal file
81
scumm/usage_bits.cpp
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
/* ScummVM - Scumm Interpreter
|
||||||
|
* Copyright (C) 2001 Ludvig Strigeus
|
||||||
|
* Copyright (C) 2001-2003 The ScummVM project
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include "scumm.h"
|
||||||
|
#include "usage_bits.h"
|
||||||
|
|
||||||
|
void Scumm::upgradeGfxUsageBits()
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 409; i >= 0; i--) {
|
||||||
|
bool dirty_bit = gfxUsageBits[i] & 0x80000000;
|
||||||
|
bool restored_bit = gfxUsageBits[i] & 0x40000000;
|
||||||
|
|
||||||
|
gfxUsageBits[3 * i] = gfxUsageBits[i] & 0x3FFFFFFF;
|
||||||
|
if (dirty_bit)
|
||||||
|
setGfxUsageBit(i, USAGE_BIT_DIRTY);
|
||||||
|
if (restored_bit)
|
||||||
|
setGfxUsageBit(i, USAGE_BIT_RESTORED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Scumm::setGfxUsageBit(int strip, int bit)
|
||||||
|
{
|
||||||
|
gfxUsageBits[3 * strip + bit / 32] |= (1 << (bit - 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
void Scumm::clearGfxUsageBit(int strip, int bit)
|
||||||
|
{
|
||||||
|
gfxUsageBits[3 * strip + bit / 32] &= ~(1 << (bit - 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Scumm::testGfxUsageBit(int strip, int bit)
|
||||||
|
{
|
||||||
|
return (gfxUsageBits[3 * strip + bit / 32] & (1 << (bit - 1))) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Scumm::testGfxAnyUsageBits(int strip)
|
||||||
|
{
|
||||||
|
// Exclude the DIRTY and RESTORED bits from the test
|
||||||
|
uint32 bitmask[3] = { 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF };
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < 3; i++)
|
||||||
|
if (gfxUsageBits[3 * strip + i] & bitmask[i])
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Scumm::testGfxOtherUsageBits(int strip, int bit)
|
||||||
|
{
|
||||||
|
// Don't exclude the DIRTY and RESTORED bits from the test
|
||||||
|
uint32 bitmask[3] = { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF };
|
||||||
|
int i;
|
||||||
|
|
||||||
|
bitmask[bit / 32] &= ~(1 << (bit - 1));
|
||||||
|
|
||||||
|
for (i = 0; i < 3; i++)
|
||||||
|
if (gfxUsageBits[3 * strip + i] & bitmask[i])
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
28
scumm/usage_bits.h
Normal file
28
scumm/usage_bits.h
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
/* ScummVM - Scumm Interpreter
|
||||||
|
* Copyright (C) 2001 Ludvig Strigeus
|
||||||
|
* Copyright (C) 2001-2003 The ScummVM project
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef USAGE_BITS_H
|
||||||
|
#define USAGE_BITS_H
|
||||||
|
|
||||||
|
enum {
|
||||||
|
USAGE_BIT_DIRTY = 96,
|
||||||
|
USAGE_BIT_RESTORED = 95
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
Loading…
Add table
Add a link
Reference in a new issue