From fc3284efce00c130de80c5522dde2055de423283 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Fri, 21 Apr 2006 00:26:18 +0000 Subject: Add back debug function svn-id: r22063 --- engines/simon/simon.cpp | 43 ++++++++++++++++++++++++++++++++++++++++--- engines/simon/simon.h | 1 + 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/engines/simon/simon.cpp b/engines/simon/simon.cpp index c1982c0901..0aa93c4b11 100644 --- a/engines/simon/simon.cpp +++ b/engines/simon/simon.cpp @@ -2628,9 +2628,6 @@ void SimonEngine::animateSprites() { _vgaCurSpriteId = vsp->id; _vgaCurSpritePriority = vsp->priority; - if (_drawImagesDebug && vsp->image) - fprintf(_dumpFile, "id:%5d image:%3d base-color:%3d x:%3d y:%3d flags:%x\n", - vsp->id, vsp->image, vsp->palette, vsp->x, vsp->y, vsp->flags); params[0] = readUint16Wrapper(&vsp->image); params[1] = readUint16Wrapper(&vsp->palette); params[2] = readUint16Wrapper(&vsp->x); @@ -2655,6 +2652,44 @@ void SimonEngine::animateSprites() { _vcPtr = vc_ptr_org; } +void SimonEngine::animateSpritesDebug() { + VgaSprite *vsp; + VgaPointersEntry *vpe; + const byte *vc_ptr_org = _vcPtr; + uint16 params[5]; // parameters to vc10_draw + + if (_paletteFlag == 2) + _paletteFlag = 1; + + vsp = _vgaSprites; + while (vsp->id != 0) { + vsp->windowNum &= 0x7FFF; + + vpe = &_vgaBufferPointers[vsp->zoneNum]; + _curVgaFile1 = vpe->vgaFile1; + _curVgaFile2 = vpe->vgaFile2; + _curSfxFile = vpe->sfxFile; + _windowNum = vsp->windowNum; + _vgaCurSpriteId = vsp->id; + + if (vsp->image) + fprintf(_dumpFile, "id:%5d image:%3d base-color:%3d x:%3d y:%3d flags:%x\n", + vsp->id, vsp->image, vsp->palette, vsp->x, vsp->y, vsp->flags); + params[0] = readUint16Wrapper(&vsp->image); + params[1] = readUint16Wrapper(&vsp->palette); + params[2] = readUint16Wrapper(&vsp->x); + params[3] = readUint16Wrapper(&vsp->y); + params[4] = readUint16Wrapper(&vsp->flags); + _vcPtr = (const byte *)params; + vc10_draw(); + + vsp++; + } + + _updateScreen++; + _vcPtr = vc_ptr_org; +} + void SimonEngine::scrollScreen() { byte *dst = getFrontBuf(); const byte *src; @@ -2743,6 +2778,8 @@ void SimonEngine::timer_proc1() { } animateSprites(); + if (_drawImagesDebug) + animateSpritesDebug(); if (_copyPartialMode == 1) { fillBackFromFront(80, 46, 208 - 80, 94 - 46); diff --git a/engines/simon/simon.h b/engines/simon/simon.h index 19b30211a1..677d97eb46 100644 --- a/engines/simon/simon.h +++ b/engines/simon/simon.h @@ -1064,6 +1064,7 @@ protected: void timer_proc1(); void animateSprites(); + void animateSpritesDebug(); void dx_clear_surfaces(uint num_lines); void dx_update_screen_and_palette(); -- cgit v1.2.3