FULLPIPE: Added lots of debug output, Picture::setAOIDs() implementation

This commit is contained in:
Eugene Sandulenko 2013-07-12 09:03:02 +03:00
parent f18e318f78
commit 56cb726ebc
11 changed files with 93 additions and 8 deletions

View file

@ -47,7 +47,7 @@ FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc)
_rnd = new Common::RandomSource("fullpipe");
_gameProjectVersion = 0;
_gameProjectValue = 0;
_pictureScale = 8;
_scrollSpeed = 0;
_currSoundListCount = 0;

View file

@ -78,7 +78,7 @@ public:
bool loadGam(const char *fname);
int _gameProjectVersion;
int _gameProjectValue;
int _pictureScale;
int _scrollSpeed;
int _currSoundListCount;
bool _soundEnabled;

View file

@ -29,6 +29,8 @@
namespace Fullpipe {
void Bitmap::load(Common::ReadStream *s) {
debug(5, "Bitmap::load()");
x = s->readUint32LE();
y = s->readUint32LE();
width = s->readUint32LE();
@ -54,6 +56,7 @@ Background::Background() {
}
bool Background::load(MfcArchive &file) {
debug(5, "Background::load()");
_stringObj = file.readPascalString();
int count = file.readUint16LE();
@ -132,6 +135,7 @@ PictureObject::PictureObject() {
}
bool PictureObject::load(MfcArchive &file, bool bigPicture) {
debug(5, "PictureObject::load()");
GameObject::load(file);
if (bigPicture)
@ -170,6 +174,7 @@ GameObject::GameObject() {
}
bool GameObject::load(MfcArchive &file) {
debug(5, "GameObject::load()");
_field_4 = 0;
_flags = 0;
_field_20 = 0;
@ -205,6 +210,7 @@ Picture::Picture() {
}
bool Picture::load(MfcArchive &file) {
debug(5, "Picture::load()");
MemoryObject::load(file);
_x = file.readUint32LE();
@ -240,6 +246,17 @@ bool Picture::load(MfcArchive &file) {
}
void Picture::setAOIDs() {
int w = (g_fullpipe->_pictureScale + _width - 1) / g_fullpipe->_pictureScale;
int h = (g_fullpipe->_pictureScale + _height - 1) / g_fullpipe->_pictureScale;
_memoryObject2->_rows = (byte **)malloc(w * sizeof(int *));
int pitch = 2 * h;
byte *ptr = _memoryObject2->getData();
for (int i = 0; i < w; i++) {
_memoryObject2->_rows[i] = ptr;
ptr += pitch;
}
warning("STUB: Picture::setAOIDs()");
}
@ -268,6 +285,7 @@ BigPicture::BigPicture() {
}
bool BigPicture::load(MfcArchive &file) {
debug(5, "BigPicture::load()");
Picture::load(file);
return true;
@ -280,6 +298,7 @@ Shadows::Shadows() {
}
bool Shadows::load(MfcArchive &file) {
debug(5, "Shadows::load()");
_sceneId = file.readUint32LE();
_staticAniObjectId = file.readUint32LE();
_movementId = file.readUint32LE();

View file

@ -27,6 +27,8 @@
namespace Fullpipe {
bool CInventory::load(MfcArchive &file) {
debug(5, "CInventory::load()");
_sceneId = file.readUint16LE();
int numInvs = file.readUint32LE();

View file

@ -34,11 +34,14 @@ namespace Fullpipe {
bool CMotionController::load(MfcArchive &file) {
// Is originally empty file.readClass();
debug(5, "CMotionController::load()");
return true;
}
bool CMctlCompound::load(MfcArchive &file) {
debug(5, "CMctlCompound::load()");
int count = file.readUint32LE();
debug(6, "CMctlCompound::count = %d", count);
@ -70,6 +73,8 @@ bool CMctlCompound::load(MfcArchive &file) {
}
bool CMctlCompoundArray::load(MfcArchive &file) {
debug(5, "CMctlCompoundArray::load()");
int count = file.readUint32LE();
debug(0, "CMctlCompoundArray::count = %d", count);
@ -88,6 +93,8 @@ CMovGraph::CMovGraph() {
}
bool CMovGraph::load(MfcArchive &file) {
debug(5, "CMovGraph::load()");
_links.load(file);
_nodes.load(file);
@ -106,6 +113,8 @@ CMovGraphLink::CMovGraphLink() {
}
bool CMovGraphLink::load(MfcArchive &file) {
debug(5, "CMovGraphLink::load()");
_dwordArray1.load(file);
_dwordArray2.load(file);
@ -128,6 +137,8 @@ bool CMovGraphLink::load(MfcArchive &file) {
}
bool CMovGraphNode::load(MfcArchive &file) {
debug(5, "CMovGraphNode::load()");
_field_14 = file.readUint32LE();
_x = file.readUint32LE();
_y = file.readUint32LE();
@ -147,6 +158,8 @@ CReactParallel::CReactParallel() {
}
bool CReactParallel::load(MfcArchive &file) {
debug(5, "CReactParallel::load()");
_x1 = file.readUint32LE();
_y1 = file.readUint32LE();
_x2 = file.readUint32LE();
@ -192,6 +205,8 @@ CReactPolygonal::CReactPolygonal() {
}
bool CReactPolygonal::load(MfcArchive &file) {
debug(5, "CReactPolygonal::load()");
_field_C = file.readUint32LE();
_field_10 = file.readUint32LE();
_pointCount = file.readUint32LE();

View file

@ -49,6 +49,8 @@ Scene *FullpipeEngine::accessScene(int sceneId) {
}
bool SceneTagList::load(MfcArchive &file) {
debug(5, "SceneTagList::load()");
int numEntries = file.readUint16LE();
for (int i = 0; i < numEntries; i++) {
@ -66,6 +68,8 @@ SceneTag::SceneTag() {
}
bool SceneTag::load(MfcArchive &file) {
debug(5, "SceneTag::load()");
_field_4 = 0;
_scene = 0;
@ -113,6 +117,8 @@ Scene::Scene() {
}
bool Scene::load(MfcArchive &file) {
debug(5, "Scene::load()");
Background::load(file);
_sceneId = file.readUint16LE();

View file

@ -34,6 +34,8 @@ SoundList::SoundList() {
}
bool SoundList::load(MfcArchive &file, char *fname) {
debug(5, "SoundList::load()");
_soundItemsCount = file.readUint32LE();
_soundItems = (Sound **)calloc(_soundItemsCount, sizeof(Sound *));
@ -75,6 +77,8 @@ Sound::Sound() {
bool Sound::load(MfcArchive &file, NGIArchive *archive) {
debug(5, "Sound::load()");
MemoryObject::load(file);
_id = file.readUint32LE();

View file

@ -144,6 +144,8 @@ CGameLoader::~CGameLoader() {
}
bool CGameLoader::load(MfcArchive &file) {
debug(5, "CGameLoader::load()");
_gameName = file.readPascalString();
debug(6, "_gameName: %s", _gameName);
@ -229,18 +231,20 @@ GameProject::GameProject() {
}
bool GameProject::load(MfcArchive &file) {
debug(5, "GameProject::load()");
_field_4 = 0;
_headerFilename = 0;
_field_10 = 12;
g_fullpipe->_gameProjectVersion = file.readUint32LE();
g_fullpipe->_gameProjectValue = file.readUint16LE();
g_fullpipe->_pictureScale = file.readUint16LE();
g_fullpipe->_scrollSpeed = file.readUint32LE();
_headerFilename = file.readPascalString();
debug(1, "_gameProjectVersion = %d", g_fullpipe->_gameProjectVersion);
debug(1, "_gameProjectValue = %d", g_fullpipe->_gameProjectValue);
debug(1, "_pictureScale = %d", g_fullpipe->_pictureScale);
debug(1, "_scrollSpeed = %d", g_fullpipe->_scrollSpeed);
debug(1, "_headerFilename = %s", _headerFilename);
@ -264,6 +268,8 @@ GameProject::~GameProject() {
}
bool CInteractionController::load(MfcArchive &file) {
debug(5, "CInteractionController::load()");
return _interactions.load(file);
}
@ -288,6 +294,8 @@ CInteraction::CInteraction() {
}
bool CInteraction::load(MfcArchive &file) {
debug(5, "CInteraction::load()");
_objectId1 = file.readUint16LE();
_objectId2 = file.readUint16LE();
_staticsId1 = file.readUint16LE();
@ -316,6 +324,8 @@ MessageQueue::MessageQueue() {
}
bool MessageQueue::load(MfcArchive &file) {
debug(5, "MessageQueue::load()");
_dataId = file.readUint16LE();
int count = file.readUint16LE();
@ -346,6 +356,8 @@ ExCommand::ExCommand() {
}
bool ExCommand::load(MfcArchive &file) {
debug(5, "ExCommand::load()");
_msg._parentId = file.readUint16LE();
_msg._messageKind = file.readUint32LE();
_msg._x = file.readUint32LE();
@ -393,6 +405,8 @@ CObjstateCommand::CObjstateCommand() {
}
bool CObjstateCommand::load(MfcArchive &file) {
debug(5, "CObjStateCommand::load()");
_cmd.load(file);
_value = file.readUint32LE();
@ -403,6 +417,8 @@ bool CObjstateCommand::load(MfcArchive &file) {
}
bool PreloadItems::load(MfcArchive &file) {
debug(5, "PreloadItems::load()");
int count = file.readCount();
resize(count);
@ -564,6 +580,8 @@ Sc2::Sc2() {
}
bool Sc2::load(MfcArchive &file) {
debug(5, "Sc2::load()");
_sceneId = file.readUint16LE();
_motionController = (CMotionController *)file.readClass();
@ -617,6 +635,8 @@ bool Sc2::load(MfcArchive &file) {
}
bool PicAniInfo::load(MfcArchive &file) {
debug(5, "PicAniInfo::load()");
type = file.readUint32LE();
objectId = file.readUint16LE();
field_6 = file.readUint16LE();
@ -637,6 +657,8 @@ bool PicAniInfo::load(MfcArchive &file) {
}
bool EntranceInfo::load(MfcArchive &file) {
debug(5, "EntranceInfo::load()");
sceneId = file.readUint32LE();
field_4 = file.readUint32LE();
messageQueueId = file.readUint32LE();

View file

@ -47,6 +47,8 @@ StaticANIObject::StaticANIObject() {
}
bool StaticANIObject::load(MfcArchive &file) {
debug(5, "StaticANIObject::load()");
GameObject::load(file);
int count = file.readUint16LE();
@ -128,6 +130,8 @@ Statics::Statics() {
}
bool Statics::load(MfcArchive &file) {
debug(5, "Statics::load()");
DynamicPhase::load(file);
_staticsId = file.readUint16LE();
@ -279,6 +283,8 @@ DynamicPhase::DynamicPhase() {
}
bool DynamicPhase::load(MfcArchive &file) {
debug(5, "DynamicPhase::load()");
StaticPhase::load(file);
_field_7C = file.readUint16LE();
@ -309,6 +315,8 @@ StaticPhase::StaticPhase() {
}
bool StaticPhase::load(MfcArchive &file) {
debug(5, "StaticPhase::load()");
Picture::load(file);
_initialCountdown = file.readUint16LE();

View file

@ -43,6 +43,7 @@ bool CObject::loadFile(const char *fname) {
}
bool CObList::load(MfcArchive &file) {
debug(5, "CObList::load()");
int count = file.readCount();
debug(9, "CObList::count: %d:", count);
@ -58,6 +59,7 @@ bool CObList::load(MfcArchive &file) {
}
bool CObArray::load(MfcArchive &file) {
debug(5, "CObArray::load()");
int count = file.readCount();
resize(count);
@ -72,6 +74,7 @@ bool CObArray::load(MfcArchive &file) {
}
bool CDWordArray::load(MfcArchive &file) {
debug(5, "CWordArray::load()");
int count = file.readCount();
debug(9, "CDWordArray::count: %d", count);
@ -117,6 +120,7 @@ MemoryObject::MemoryObject() {
}
bool MemoryObject::load(MfcArchive &file) {
debug(5, "MemoryObject::load()");
_filename = file.readPascalString();
if (g_fullpipe->_currArchive) {
@ -128,6 +132,7 @@ bool MemoryObject::load(MfcArchive &file) {
}
void MemoryObject::loadFile(char *filename) {
debug(0, "MemoryObject::loadFile(<%s>)", filename);
if (!_data) {
Common::SeekableReadStream *s = g_fullpipe->_currArchive->createReadStreamForMember(filename);
@ -145,7 +150,7 @@ void MemoryObject::loadFile(char *filename) {
}
}
void *MemoryObject::getData() {
byte *MemoryObject::getData() {
load();
if (_field_14 || _flags & 1) {
@ -156,10 +161,11 @@ void *MemoryObject::getData() {
}
MemoryObject2::MemoryObject2() {
_data2 = 0;
_rows = 0;
}
bool MemoryObject2::load(MfcArchive &file) {
debug(5, "MemoryObject2::load()");
MemoryObject::load(file);
_flags |= 1;

View file

@ -99,11 +99,14 @@ class MemoryObject : CObject {
virtual bool load(MfcArchive &file);
void loadFile(char *filename);
void load() { loadFile(_filename); }
void *getData();
byte *getData();
};
class MemoryObject2 : public MemoryObject {
void *_data2;
friend class Picture;
protected:
byte **_rows;
public:
MemoryObject2();