SINT32 INGRRecord::ParseRecord(unsigned char *buffer, unsigned char *end_buffer, bool CompressedOnDisk) { UINT32 subType = 0; UINT32 subSize = 0; bool bNoOBME = true; while(buffer < end_buffer){ subType = *(UINT32 *)buffer; buffer += 4; switch(subType) { case REV32(XXXX): buffer += 2; subSize = *(UINT32 *)buffer; buffer += 4; subType = *(UINT32 *)buffer; buffer += 6; break; default: subSize = *(UINT16 *)buffer; buffer += 2; break; } switch(subType) { case REV32(EDID): EDID.Read(buffer, subSize, CompressedOnDisk); break; case REV32(OBME): OBME.Load(); OBME->OBME.Read(buffer, subSize); break; case REV32(FULL): if(Effects.value.size()) Effects.value.back()->FULL.Read(buffer, subSize, CompressedOnDisk); else FULL.Read(buffer, subSize, CompressedOnDisk); break; case REV32(MODL): MODL.Load(); MODL->MODL.Read(buffer, subSize, CompressedOnDisk); break; case REV32(MODB): MODL.Load(); MODL->MODB.Read(buffer, subSize); break; case REV32(MODT): MODL.Load(); MODL->MODT.Read(buffer, subSize, CompressedOnDisk); break; case REV32(ICON): ICON.Read(buffer, subSize, CompressedOnDisk); break; case REV32(SCRI): SCRI.Read(buffer, subSize); break; case REV32(DATA): DATA.Read(buffer, subSize); break; case REV32(ENIT): ENIT.Read(buffer, subSize); break; case REV32(EFME): bNoOBME = false; Effects.value.push_back(new GENEffect); Effects.value.back()->OBME.Load(); Effects.value.back()->OBME->EFME.Read(buffer, subSize); break; case REV32(EFID): if(bNoOBME || Effects.value.size() == 0) Effects.value.push_back(new GENEffect); Effects.value.back()->EFID.Read(buffer, subSize); bNoOBME = true; break; case REV32(EFIT): if(Effects.value.size() == 0) Effects.value.push_back(new GENEffect); Effects.value.back()->EFIT.Read(buffer, subSize); break; case REV32(SCIT): if(Effects.value.size() == 0) Effects.value.push_back(new GENEffect); Effects.value.back()->SCIT.Read(buffer, subSize); break; case REV32(EFII): if(Effects.value.size() == 0) Effects.value.push_back(new GENEffect); Effects.value.back()->OBME.Load(); Effects.value.back()->OBME->EFII.Read(buffer, subSize, CompressedOnDisk); break; case REV32(EFIX): if(Effects.value.size() == 0) Effects.value.push_back(new GENEffect); Effects.value.back()->OBME.Load(); Effects.value.back()->OBME->EFIX.Read(buffer, subSize); break; case REV32(EFXX): buffer += subSize; break; case REV32(DATX): OBME.Load(); OBME->DATX.Read(buffer, subSize, CompressedOnDisk); break; default: //printer("FileName = %s\n", FileName); printer(" INGR: %08X - Unknown subType = %04x\n", formID, subType); CBASH_CHUNK_DEBUG printer(" Size = %i\n", subSize); printer(" CurPos = %04x\n\n", buffer - 6); buffer = end_buffer; break; } }; return 0; }
int32_t CREARecord::ParseRecord(unsigned char *buffer, unsigned char *end_buffer, bool CompressedOnDisk) { uint32_t subType = 0; uint32_t subSize = 0; FORMID curFormID = 0; while(buffer < end_buffer){ subType = *(uint32_t *)buffer; buffer += 4; switch(subType) { case REV32(XXXX): buffer += 2; subSize = *(uint32_t *)buffer; buffer += 4; subType = *(uint32_t *)buffer; buffer += 6; break; default: subSize = *(uint16_t *)buffer; buffer += 2; break; } switch(subType) { case REV32(EDID): EDID.Read(buffer, subSize, CompressedOnDisk); break; case REV32(FULL): FULL.Read(buffer, subSize, CompressedOnDisk); break; case REV32(MODL): MODL.Load(); MODL->MODL.Read(buffer, subSize, CompressedOnDisk); break; case REV32(MODB): MODL.Load(); MODL->MODB.Read(buffer, subSize); break; case REV32(MODT): MODL.Load(); MODL->MODT.Read(buffer, subSize, CompressedOnDisk); break; case REV32(SPLO): SPLO.Read(buffer, subSize); break; case REV32(NIFZ): NIFZ.Read(buffer, subSize); break; case REV32(NIFT): NIFT.Read(buffer, subSize, CompressedOnDisk); //Hack { bool unload_nift = true; for(uint32_t x = 0; x < NIFT.GetSize(); ++x) if(NIFT.value[x] != 0) { unload_nift = false; break; } if(unload_nift) NIFT.Unload(); } break; case REV32(ACBS): ACBS.Read(buffer, subSize); break; case REV32(SNAM): SNAM.Read(buffer, subSize); break; case REV32(INAM): INAM.Read(buffer, subSize); break; case REV32(SCRI): SCRI.Read(buffer, subSize); break; case REV32(CNTO): CNTO.Read(buffer, subSize); break; case REV32(AIDT): AIDT.Read(buffer, subSize); break; case REV32(PKID): PKID.Read(buffer, subSize); break; case REV32(KFFZ): KFFZ.Read(buffer, subSize); break; case REV32(DATA): DATA.Read(buffer, subSize); break; case REV32(RNAM): RNAM.Read(buffer, subSize); break; case REV32(ZNAM): ZNAM.Read(buffer, subSize); break; case REV32(TNAM): TNAM.Read(buffer, subSize); break; case REV32(BNAM): BNAM.Read(buffer, subSize); break; case REV32(WNAM): WNAM.Read(buffer, subSize); break; case REV32(CSCR): CSCR.Read(buffer, subSize); break; case REV32(NAM0): NAM0.Read(buffer, subSize, CompressedOnDisk); break; case REV32(NAM1): NAM1.Read(buffer, subSize, CompressedOnDisk); break; case REV32(CSDT): Sounds.value.push_back(new CREASound); Sounds.value.back()->CSDT.Read(buffer, subSize); break; case REV32(CSDI): if(Sounds.value.size() == 0) Sounds.value.push_back(new CREASound); Sounds.value.back()->CSDI.Read(buffer, subSize); break; case REV32(CSDC): if(Sounds.value.size() == 0) Sounds.value.push_back(new CREASound); Sounds.value.back()->CSDC.Read(buffer, subSize); break; default: //printer("FileName = %s\n", FileName); printer(" CREA: %08X - Unknown subType = %04x\n", formID, subType); CBASH_CHUNK_DEBUG printer(" Size = %i\n", subSize); printer(" CurPos = %04x\n\n", buffer - 6); buffer = end_buffer; break; } } return 0; }
void printChecks::sPrint() { QList<int> printedChecks; ParameterList params; params.append("bankaccnt_id", _bankaccnt->id()); bool setup = true; QList<ORODocument*> singleCheckPrerendered; XSqlQuery checks; checks.prepare( "SELECT checkhead_id, checkhead_number, report_name " "FROM checkhead, bankaccnt, form, report " "WHERE ( (checkhead_bankaccnt_id=bankaccnt_id)" " AND (bankaccnt_check_form_id=form_id)" " AND (form_report_id=report_id)" " AND (NOT checkhead_printed) " " AND (NOT checkhead_void) " " AND (bankaccnt_id=:bankaccnt_id) ) " "ORDER BY checkhead_number " "LIMIT :numtoprint; " ); checks.bindValue(":bankaccnt_id", _bankaccnt->id()); checks.bindValue(":numtoprint", _numberOfChecks->value()); checks.exec(); QDomDocument docReport; while (checks.next()) { if (setup) { // get the report definition out of the database // this should somehow be condensed into a common code call or something // in the near future to facilitate easier conversion in other places // of the application to use the new rendering engine directly XSqlQuery report; report.prepare( "SELECT report_source " " FROM report " " WHERE (report_name=:report_name) " "ORDER BY report_grade DESC LIMIT 1;" ); report.bindValue(":report_name", checks.value("report_name").toString()); report.exec(); if (report.first()) { QString errorMessage; int errorLine; if (!docReport.setContent(report.value("report_source").toString(), &errorMessage, &errorLine)) { systemError(this, errorMessage, __FILE__, __LINE__); return; } } else { systemError(this, report.lastError().databaseText(), __FILE__, __LINE__); return; } // end getting the report definition out the database if(_setCheckNumber != -1 && _setCheckNumber != _nextCheckNum->text().toInt()) { q.prepare("SELECT setNextCheckNumber(:bankaccnt_id, :nextCheckNumber) AS result;"); q.bindValue(":bankaccnt_id", _bankaccnt->id()); q.bindValue(":nextCheckNumber", _nextCheckNum->text().toInt()); q.exec(); if (q.first()) { int result = q.value("result").toInt(); if (result < 0) { systemError(this, storedProcErrorLookup("setNextCheckNumber", result), __FILE__, __LINE__); return; } } else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return; } } } q.prepare("UPDATE checkhead SET checkhead_number=fetchNextCheckNumber(checkhead_bankaccnt_id)" " WHERE(checkhead_id=:checkhead_id);"); q.bindValue(":checkhead_id", checks.value("checkhead_id").toInt()); q.exec(); if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return; } ParameterList params; params.append("checkhead_id", checks.value("checkhead_id").toInt()); params.append("apchk_id", checks.value("checkhead_id").toInt()); ORPreRender pre; pre.setDom(docReport); pre.setParamList(params); ORODocument * doc = pre.generate(); printedChecks.append(checks.value("checkhead_id").toInt()); int page_num = 1; while(page_num < doc->pages()) { page_num++; XSqlQuery qq; qq.prepare("INSERT INTO checkhead" " (checkhead_recip_id, checkhead_recip_type," " checkhead_bankaccnt_id, checkhead_printed," " checkhead_checkdate, checkhead_number," " checkhead_amount, checkhead_void," " checkhead_misc," " checkhead_for, checkhead_notes," " checkhead_curr_id, checkhead_deleted) " "SELECT checkhead_recip_id, checkhead_recip_type," " checkhead_bankaccnt_id, TRUE," " checkhead_checkdate, fetchNextCheckNumber(checkhead_bankaccnt_id)," " checkhead_amount, TRUE, TRUE," " 'Continuation of Check #'||checkhead_number," " 'Continuation of Check #'||checkhead_number," " checkhead_curr_id, TRUE" " FROM checkhead" " WHERE(checkhead_id=:checkhead_id);"); qq.bindValue(":checkhead_id", checks.value("checkhead_id").toInt()); if(!qq.exec()) { systemError(this, "Received error but will continue anyway:\n"+qq.lastError().databaseText(), __FILE__, __LINE__); } } singleCheckPrerendered.append(doc); } if (checks.lastError().type() != QSqlError::None) { systemError(this, checks.lastError().databaseText(), __FILE__, __LINE__); return; } if(!printedChecks.empty()) { QPrinter printer(QPrinter::HighResolution); ORODocument entireCheckRunPrerendered; for (int j = 0; j < singleCheckPrerendered.size(); j++) { for (int i = 0; i < singleCheckPrerendered.at(j)->pages(); i++) { entireCheckRunPrerendered.addPage(singleCheckPrerendered.at(j)->page(i)); } } ORPrintRender render; render.setupPrinter(&entireCheckRunPrerendered, &printer); QPrintDialog pd(&printer); pd.setMinMax(1, entireCheckRunPrerendered.pages()); if(pd.exec() != XDialog::Accepted) return; render.setPrinter(&printer); render.render(&entireCheckRunPrerendered); QList<int>::iterator it; if ( QMessageBox::question(this, tr("All Checks Printed"), tr("<p>Did all the Checks print successfully?"), QMessageBox::Yes, QMessageBox::No | QMessageBox::Default) == QMessageBox::Yes) { XSqlQuery postCheck; postCheck.prepare( "SELECT markCheckAsPrinted(:checkhead_id) AS result;"); for( it = printedChecks.begin(); it != printedChecks.end(); ++it) { postCheck.bindValue(":checkhead_id", (*it)); postCheck.exec(); if (postCheck.first()) { int result = postCheck.value("result").toInt(); if (result < 0) { systemError(this, storedProcErrorLookup("markCheckAsPrinted", result), __FILE__, __LINE__); return; } } else if (postCheck.lastError().type() != QSqlError::None) { systemError(this, postCheck.lastError().databaseText(), __FILE__, __LINE__); return; } } } else { printChecksReview newdlg(this, "", TRUE); QString query = QString( "SELECT checkhead_id, checkhead_number" " FROM checkhead" " WHERE (checkhead_id IN (" ); bool first = true; for( it = printedChecks.begin(); it != printedChecks.end(); ++it) { if(!first) query += ","; query += QString::number((*it)); first = false; } query += ") ); "; newdlg._checks->populate(query); newdlg.sSelectAll(); newdlg.sMarkPrinted(); newdlg._checks->clearSelection(); newdlg.exec(); } } else QMessageBox::information( this, tr("No Checks Printed"), tr("<p>No Checks were printed for the selected " "Bank Account.") ); omfgThis->sChecksUpdated(_bankaccnt->id(), -1, TRUE); sHandleBankAccount(_bankaccnt->id()); }
int32_t LANDRecord::ParseRecord(unsigned char *buffer, unsigned char *end_buffer, bool CompressedOnDisk) { uint32_t subType = 0; uint32_t subSize = 0; while(buffer < end_buffer){ subType = *(uint32_t *)buffer; buffer += 4; switch(subType) { case REV32(XXXX): buffer += 2; subSize = *(uint32_t *)buffer; buffer += 4; subType = *(uint32_t *)buffer; buffer += 6; break; default: subSize = *(uint16_t *)buffer; buffer += 2; break; } switch(subType) { case REV32(DATA): DATA.Read(buffer, subSize, CompressedOnDisk); break; case REV32(VNML): // 33*33*3 => 3267 VNML.Read(buffer, subSize); break; case REV32(VHGT): // 33*33*1 + 4 + 3 => 1089 + 7 => 1096 VHGT.Read(buffer, subSize); break; case REV32(VCLR): VCLR.Read(buffer, subSize); break; case REV32(BTXT): BTXT.Read(buffer, subSize); break; case REV32(ATXT): Layers.value.push_back(new LANDLAYERS); Layers.value.back()->ATXT.Read(buffer, subSize); break; case REV32(VTXT): if(Layers.value.size() == 0) Layers.value.push_back(new LANDLAYERS); Layers.value.back()->VTXT.Read(buffer, subSize); //switch(curTexture.value.quadrant) // { // case eBottomLeft: // for(uint32_t x = 0; x < VTXT.size(); ++x) // Merged->Points[(VTXT[x].position % 17)][(VTXT[x].position / 17)].AlphaLayer[curTexture.value.layer] = VTXT[x].opacity; // break; // case eBottomRight: // for(uint32_t x = 0; x < VTXT.size(); ++x) // Merged->Points[(VTXT[x].position % 17) + 16][(VTXT[x].position / 17)].AlphaLayer[curTexture.value.layer] = VTXT[x].opacity; // break; // case eTopLeft: // for(uint32_t x = 0; x < VTXT.size(); ++x) // Merged->Points[(VTXT[x].position % 17)][(VTXT[x].position / 17) + 16].AlphaLayer[curTexture.value.layer] = VTXT[x].opacity; // break; // case eTopRight: // for(uint32_t x = 0; x < VTXT.size(); ++x) // Merged->Points[(VTXT[x].position % 17) + 16][(VTXT[x].position / 17) + 16].AlphaLayer[curTexture.value.layer] = VTXT[x].opacity; // break; // default: // printer("Invalid ATXT quadrant when parsing VTXT: %u\n", curTexture.value.quadrant); // break; // } break; case REV32(VTEX): VTEX.Read(buffer, subSize); break; default: //printer("FileName = %s\n", FileName); printer(" LAND: %08X - Unknown subType = %04x [%c%c%c%c]\n", formID, subType, (subType >> 0) & 0xFF, (subType >> 8) & 0xFF, (subType >> 16) & 0xFF, (subType >> 24) & 0xFF); CBASH_CHUNK_DEBUG printer(" Size = %i\n", subSize); printer(" CurPos = %04x\n\n", buffer - 6); buffer = end_buffer; break; } }; return 0; }
SINT32 CONTRecord::ParseRecord(unsigned char *buffer, unsigned char *end_buffer, bool CompressedOnDisk) { UINT32 subType = 0; UINT32 subSize = 0; while(buffer < end_buffer){ subType = *(UINT32 *)buffer; buffer += 4; switch(subType) { case REV32(XXXX): buffer += 2; subSize = *(UINT32 *)buffer; buffer += 4; subType = *(UINT32 *)buffer; buffer += 6; break; default: subSize = *(UINT16 *)buffer; buffer += 2; break; } switch(subType) { case REV32(EDID): EDID.Read(buffer, subSize, CompressedOnDisk); break; case REV32(FULL): FULL.Read(buffer, subSize, CompressedOnDisk); break; case REV32(MODL): MODL.Load(); MODL->MODL.Read(buffer, subSize, CompressedOnDisk); break; case REV32(MODB): MODL.Load(); MODL->MODB.Read(buffer, subSize); break; case REV32(MODT): MODL.Load(); MODL->MODT.Read(buffer, subSize, CompressedOnDisk); break; case REV32(SCRI): SCRI.Read(buffer, subSize); break; case REV32(CNTO): CNTO.Read(buffer, subSize); break; case REV32(DATA): DATA.Read(buffer, subSize); break; case REV32(SNAM): SNAM.Read(buffer, subSize); break; case REV32(QNAM): QNAM.Read(buffer, subSize); break; default: //printer("FileName = %s\n", FileName); printer(" CONT: %08X - Unknown subType = %04x\n", formID, subType); CBASH_CHUNK_DEBUG printer(" Size = %i\n", subSize); printer(" CurPos = %04x\n\n", buffer - 6); buffer = end_buffer; break; } }; return 0; }
void DrugCheck::on_printButton_clicked() { QPrinter printer( QPrinter::PrinterResolution ); QPrintDialog dialog( &printer, this ); if ( dialog.exec() == QDialog::Accepted ) print( &printer ); }
void Album::print() { if (_scores.isEmpty()) return; loadScores(); QPrinter printer(QPrinter::HighResolution); printer.setCreator("MuseScore Version: " MSC_VERSION); printer.setFullPage(true); printer.setColorMode(QPrinter::Color); printer.setOutputFormat(QPrinter::NativeFormat); QPrintDialog pd(&printer, 0); if (!pd.exec()) return; QPainter painter(&printer); painter.setRenderHint(QPainter::Antialiasing, true); painter.setRenderHint(QPainter::TextAntialiasing, true); double mag = printer.logicalDpiX() / DPI; painter.scale(mag, mag); int fromPage = printer.fromPage() - 1; int toPage = printer.toPage() - 1; if (fromPage < 0) fromPage = 0; if (toPage < 0) toPage = 100000; // // start pageOffset with configured offset of // first score // int pageOffset = 0; if (_scores[0]->score) pageOffset = _scores[0]->score->pageNumberOffset(); for (AlbumItem* item : _scores) { Score* score = item->score; if (score == 0) continue; score->setPrinting(true); // // here we ignore the configured page offset // int oldPageOffset = score->pageNumberOffset(); score->setPageNumberOffset(pageOffset); score->doLayout(); const QList<Page*> pl = score->pages(); int pages = pl.size(); for (int n = 0; n < pages; ++n) { if (n) printer.newPage(); Page* page = pl.at(n); QRectF fr = page->abbox(); QList<Element*> ell = page->items(fr); qStableSort(ell.begin(), ell.end(), elementLessThan); for (const Element* e : ell) { e->itemDiscovered = 0; if (!e->visible()) continue; QPointF pos(e->pagePos()); painter.translate(pos); e->draw(&painter); painter.translate(-pos); } } pageOffset += pages; if(item != _scores.last()) printer.newPage(); score->setPrinting(false); score->setPageNumberOffset(oldPageOffset); } painter.end(); }
int32_t FLORRecord::ParseRecord(unsigned char *buffer, unsigned char *end_buffer, bool CompressedOnDisk) { uint32_t subType = 0; uint32_t subSize = 0; while(buffer < end_buffer){ subType = *(uint32_t *)buffer; buffer += 4; switch(subType) { case REV32(XXXX): buffer += 2; subSize = *(uint32_t *)buffer; buffer += 4; subType = *(uint32_t *)buffer; buffer += 6; break; default: subSize = *(uint16_t *)buffer; buffer += 2; break; } switch(subType) { case REV32(EDID): EDID.Read(buffer, subSize, CompressedOnDisk); break; case REV32(FULL): FULL.Read(buffer, subSize, CompressedOnDisk); break; case REV32(MODL): MODL.Load(); MODL->MODL.Read(buffer, subSize, CompressedOnDisk); break; case REV32(MODB): MODL.Load(); MODL->MODB.Read(buffer, subSize); break; case REV32(MODT): MODL.Load(); MODL->MODT.Read(buffer, subSize, CompressedOnDisk); break; case REV32(SCRI): SCRI.Read(buffer, subSize); break; case REV32(PFIG): PFIG.Read(buffer, subSize); break; case REV32(PFPC): PFPC.Read(buffer, subSize); break; default: //printer("FileName = %s\n", FileName); printer(" FLOR: %08X - Unknown subType = %04x\n", formID, subType); CBASH_CHUNK_DEBUG printer(" Size = %i\n", subSize); printer(" CurPos = %04x\n\n", buffer - 6); buffer = end_buffer; break; } }; return 0; }
void patternWindow::saveSlot() { patternPrinter printer(curImage_, originalImage()); printer.save(usePdfViewer_, pdfViewerPath_); }
int32_t ACRERecord::ParseRecord(unsigned char *buffer, unsigned char *end_buffer, bool CompressedOnDisk) { uint32_t subType = 0; uint32_t subSize = 0; while(buffer < end_buffer){ subType = *(uint32_t *)buffer; buffer += 4; switch(subType) { case REV32(XXXX): buffer += 2; subSize = *(uint32_t *)buffer; buffer += 4; subType = *(uint32_t *)buffer; buffer += 6; break; default: subSize = *(uint16_t *)buffer; buffer += 2; break; } switch(subType) { case REV32(EDID): EDID.Read(buffer, subSize, CompressedOnDisk); break; case REV32(NAME): NAME.Read(buffer, subSize); break; case REV32(XEZN): XEZN.Read(buffer, subSize); break; case REV32(XRGD): XRGD.Read(buffer, subSize, CompressedOnDisk); break; case REV32(XRGB): XRGB.Read(buffer, subSize, CompressedOnDisk); break; case REV32(XPRD): Patrol.Load(); Patrol->XPRD.Read(buffer, subSize); break; case REV32(XPPA): //XPPA, Patrol Script Marker (Empty) break; case REV32(INAM): Patrol.Load(); Patrol->INAM.Read(buffer, subSize); break; case REV32(SCHR): Patrol.Load(); Patrol->SCHR.Read(buffer, subSize); break; case REV32(SCDA): Patrol.Load(); Patrol->SCDA.Read(buffer, subSize, CompressedOnDisk); break; case REV32(SCTX): Patrol.Load(); Patrol->SCTX.Read(buffer, subSize, CompressedOnDisk); break; case REV32(SLSD): Patrol.Load(); Patrol->VARS.value.push_back(new GENVARS); Patrol->VARS.value.back()->SLSD.Read(buffer, subSize); break; case REV32(SCVR): Patrol.Load(); if(Patrol->VARS.value.size() == 0) Patrol->VARS.value.push_back(new GENVARS); Patrol->VARS.value.back()->SCVR.Read(buffer, subSize, CompressedOnDisk); break; case REV32(SCRO): Patrol.Load(); Patrol->SCR_.Read(buffer, subSize); Patrol->SCR_.value.back()->isSCRO = true; break; case REV32(SCRV): Patrol.Load(); Patrol->SCR_.Read(buffer, subSize); Patrol->SCR_.value.back()->isSCRO = false; break; case REV32(TNAM): Patrol.Load(); Patrol->TNAM.Read(buffer, subSize); break; case REV32(XLCM): XLCM.Read(buffer, subSize); break; case REV32(XOWN): Ownership.Load(); Ownership->XOWN.Read(buffer, subSize); break; case REV32(XRNK): Ownership.Load(); Ownership->XRNK.Read(buffer, subSize); break; case REV32(XMRC): XMRC.Read(buffer, subSize); break; case REV32(XCNT): XCNT.Read(buffer, subSize); break; case REV32(XRDS): XRDS.Read(buffer, subSize); break; case REV32(XHLP): XHLP.Read(buffer, subSize); break; case REV32(XDCR): XDCR.Read(buffer, subSize); break; case REV32(XLKR): XLKR.Read(buffer, subSize); break; case REV32(XCLP): XCLP.Read(buffer, subSize); break; case REV32(XAPD): ActivateParents.Load(); ActivateParents->XAPD.Read(buffer, subSize); break; case REV32(XAPR): ActivateParents.Load(); ActivateParents->XAPR.Read(buffer, subSize); break; case REV32(XATO): XATO.Read(buffer, subSize, CompressedOnDisk); break; case REV32(XESP): XESP.Read(buffer, subSize); break; case REV32(XEMI): XEMI.Read(buffer, subSize); break; case REV32(XMBR): XMBR.Read(buffer, subSize); break; case REV32(XIBS): //XIBS.Read(buffer, subSize); XIBS.value = 1; break; case REV32(XSCL): XSCL.Read(buffer, subSize); break; case REV32(DATA): DATA.Read(buffer, subSize); break; default: //printer("FileName = %s\n", FileName); printer(" ACRE: %08X - Unknown subType = %04x\n", formID, subType); CBASH_CHUNK_DEBUG printer(" Size = %i\n", subSize); printer(" CurPos = %04x\n\n", buffer - 6); buffer = end_buffer; break; } }; return 0; }
friend inline std::ostream& operator<<(std::ostream& o, ToDo const& t) { return o << "ToDo:" << t.q << "=" << printer(*t.qs); }
inline std::ostream& operator<<(std::ostream& o, Explored::value_type const& p) { o << '(' << printer(*p.first) << ',' << printer(p.second) << ')'; return o; }
int32_t SCPTRecord::ParseRecord(unsigned char *buffer, unsigned char *end_buffer, bool CompressedOnDisk) { uint32_t subType = 0; uint32_t subSize = 0; while(buffer < end_buffer){ subType = *(uint32_t *)buffer; buffer += 4; switch(subType) { case REV32(XXXX): buffer += 2; subSize = *(uint32_t *)buffer; buffer += 4; subType = *(uint32_t *)buffer; buffer += 6; break; default: subSize = *(uint16_t *)buffer; buffer += 2; break; } switch(subType) { case REV32(EDID): EDID.Read(buffer, subSize, CompressedOnDisk); break; case REV32(SCHR): SCHR.Read(buffer, subSize); break; case REV32(SCDA): SCDA.Read(buffer, subSize, CompressedOnDisk); break; case REV32(SCTX): SCTX.Read(buffer, subSize, CompressedOnDisk); break; case REV32(SLSD): VARS.value.push_back(new GENVARS); VARS.value.back()->SLSD.Read(buffer, subSize); break; case REV32(SCVR): if(VARS.value.size() == 0) VARS.value.push_back(new GENVARS); VARS.value.back()->SCVR.Read(buffer, subSize, CompressedOnDisk); break; case REV32(SCRV): SCR_.Read(buffer, subSize); SCR_.value.back()->isSCRO = false; break; case REV32(SCRO): SCR_.Read(buffer, subSize); SCR_.value.back()->isSCRO = true; break; default: //printer("FileName = %s\n", FileName); printer(" SCPT: %08X - Unknown subType = %04x\n", formID, subType); CBASH_CHUNK_DEBUG printer(" Size = %i\n", subSize); printer(" CurPos = %04x\n\n", buffer - 6); buffer = end_buffer; break; } }; return 0; }
void AMXStackFrame::Print(std::ostream &stream, const AMXDebugInfo &debug_info) const { AMXStackFramePrinter printer(stream, debug_info); printer.Print(*this); }