X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fgui%2Fdebug%2Fopbrowser.cpp;h=5e1d405477b60c05a31df5d3750e81162e8435d2;hb=d207b11e613703aff7d00191c4595b7359f29700;hp=c4193d8798ce8438e0c183477aaf2970d2fa4c49;hpb=32f569e1bd09f5d7f07005d119f6408805106381;p=virtualjaguar diff --git a/src/gui/debug/opbrowser.cpp b/src/gui/debug/opbrowser.cpp index c4193d8..5e1d405 100644 --- a/src/gui/debug/opbrowser.cpp +++ b/src/gui/debug/opbrowser.cpp @@ -7,7 +7,7 @@ // JLH = James Hammons // // Who When What -// --- ---------- ------------------------------------------------------------- +// --- ---------- ----------------------------------------------------------- // JLH 12/01/2012 Created this file // @@ -107,13 +107,12 @@ void OPBrowserWindow::DiscoverObjects(uint32_t address) if (objectType == 3) { - // Branch if YPOS < 2047 can be treated as a GOTO, so don't do any - // discovery in that case. Otherwise, have at it: - if ((lo & 0xFFFF) != 0x7FFB) - // Recursion needed to follow all links! This does depth-first - // recursion on the not-taken objects (N.B.: The object following - // the branch object is at +16, not +8!) - DiscoverObjects(address + 16); + // Branch if YPOS < 2047 (or YPOS > 0) can be treated as a GOTO, so + // don't do any discovery in that case. Otherwise, have at it: + if (((lo & 0xFFFF) != 0x7FFB) && ((lo & 0xFFFF) != 0x8003)) + // Recursion needed to follow all links! This does depth-first + // recursion on the not-taken objects + DiscoverObjects(address + 8); } // Get the next object... @@ -156,13 +155,15 @@ void OPBrowserWindow::DumpObjectList(QString & list) list += "
"; + // Yes, the OP really determines bitmap/scaled bitmap address for the + // following phrases this way...! if (objectType == 0) DumpFixedObject(list, OPLoadPhrase(address + 0), - OPLoadPhrase(address + 8)); + OPLoadPhrase(address | 0x08)); if (objectType == 1) DumpScaledObject(list, OPLoadPhrase(address + 0), - OPLoadPhrase(address + 8), OPLoadPhrase(address + 16)); + OPLoadPhrase(address | 0x08), OPLoadPhrase(address | 0x10)); if (address == link) // Ruh roh... {