void CMapHandler::borderAndTerrainBitmapInit() { CDefHandler * bord = CDefHandler::giveDef("EDG.DEF"); bord->notFreeImgs = true; terrainGraphics.resize(10); for (int i = 0; i < 10 ; i++) { CDefHandler *hlp = CDefHandler::giveDef(nameFromType(i)); terrainGraphics[i].resize(hlp->ourImages.size()); hlp->notFreeImgs = true; for(size_t j=0; j < hlp->ourImages.size(); ++j) terrainGraphics[i][j] = hlp->ourImages[j].bitmap; delete hlp; } for (int i=0-frameW; i<sizes.x+frameW; i++) //by width { for (int j=0-frameH; j<sizes.y+frameH;j++) //by height { for(int k=0; k<sizes.z; ++k) //by levles { if(i < 0 || i > (sizes.x-1) || j < 0 || j > (sizes.y-1)) { int terBitmapNum = -1; if(i==-1 && j==-1) terBitmapNum = 16; else if(i==-1 && j==(sizes.y)) terBitmapNum = 19; else if(i==(sizes.x) && j==-1) terBitmapNum = 17; else if(i==(sizes.x) && j==(sizes.y)) terBitmapNum = 18; else if(j == -1 && i > -1 && i < sizes.y) terBitmapNum = 22+rand()%2; else if(i == -1 && j > -1 && j < sizes.y) terBitmapNum = 33+rand()%2; else if(j == sizes.y && i >-1 && i < sizes.x) terBitmapNum = 29+rand()%2; else if(i == sizes.x && j > -1 && j < sizes.y) terBitmapNum = 25+rand()%2; else terBitmapNum = rand()%16; if(terBitmapNum != -1) { ttiles[i][j][k].terbitmap = bord->ourImages[terBitmapNum].bitmap; continue; } } } } } delete bord; }
bool InputIsoFile::Open( const wxString& srcfile, bool testOnly ) { Close(); m_filename = srcfile; m_reader = NULL; bool isBlockdump = false; bool isCompressed = false; // First try using a compressed reader. If it works, go with it. m_reader = CompressedFileReader::GetNewReader(m_filename); isCompressed = m_reader != NULL; // If it wasn't compressed, let's open it has a FlatFileReader. if (!isCompressed) { // Allow write sharing of the iso based on the ini settings. // Mostly useful for romhacking, where the disc is frequently // changed and the emulator would block modifications m_reader = new FlatFileReader(EmuConfig.CdvdShareWrite); } m_reader->Open(m_filename); // It might actually be a blockdump file. // Check that before continuing with the FlatFileReader. isBlockdump = BlockdumpFileReader::DetectBlockdump(m_reader); if (isBlockdump) { delete m_reader; BlockdumpFileReader *bdr = new BlockdumpFileReader(); bdr->Open(m_filename); m_blockofs = bdr->GetBlockOffset(); m_blocksize = bdr->GetBlockSize(); m_reader = bdr; ReadUnit = 1; } bool detected = Detect(); if(testOnly) return detected; if (!detected) throw Exception::BadStream() .SetUserMsg(_("Unrecognized ISO image file format")) .SetDiagMsg(L"ISO mounting failed: PCSX2 is unable to identify the ISO image type."); if(!isBlockdump && !isCompressed) { ReadUnit = MaxReadUnit; m_reader->SetDataOffset(m_offset); m_reader->SetBlockSize(m_blocksize); // Returns the original reader if single-part or a Multipart reader otherwise AsyncFileReader* m_reader_old = m_reader; m_reader = MultipartFileReader::DetectMultipart(m_reader); if (m_reader != m_reader_old) // Not the same object the old one need to be deleted delete m_reader_old; } m_blocks = m_reader->GetBlockCount(); Console.WriteLn(Color_StrongBlue, L"isoFile open ok: %s", WX_STR(m_filename)); ConsoleIndentScope indent; Console.WriteLn("Image type = %s", nameFromType(m_type)); //Console.WriteLn("Fileparts = %u", m_numparts); // Pointless print, it's 1 unless it says otherwise above DevCon.WriteLn ("blocks = %u", m_blocks); DevCon.WriteLn ("offset = %d", m_offset); DevCon.WriteLn ("blocksize = %u", m_blocksize); DevCon.WriteLn ("blockoffset = %d", m_blockofs); return true; }