コード例 #1
0
ファイル: grit_shared.cpp プロジェクト: devkitPro/grit
/*! \note	Still very unsafe, but I need to redo everything later anyway.
*/
void grs_run(GritShared *grs, GritRec *gr_base)
{
	// Make sure we have shared data.
	if( grs->dib==NULL && grs->palRec.data==NULL)
	{
		lprintf(LOG_WARNING, "No shared data to run with!\n");
		return;
	}

	// Make copy of gr_base for flags, etc
	GritRec *gr= grit_alloc();
	grs_free(gr->shared);

	grit_copy_options(gr, gr_base);
	grit_copy_strings(gr, gr_base);

	// Attach shared data
	gr->shared= grs;
	strrepl(&gr->symName, grs->symName);
	strrepl(&gr->dstPath, grs->dstPath);

	if(grs->dib == NULL)
	{
		// Palette only. Create new dib.
		gr->srcDib= dib_alloc(16, 16, 8, NULL);
		memset(dib_get_pal(gr->srcDib), 0, PAL_MAX*RGB_SIZE);
		memcpy(dib_get_pal(gr->srcDib), grs->palRec.data, rec_size(&grs->palRec));
	}
	else
		gr->srcDib= dib_clone(grs->dib);

	// NOTE: aliasing screws up deletion later; detach manually.
	gr->_dib= gr->srcDib;	

	// Run for shared gr
	do 
	{
		if(!grit_validate(gr))
			break;

		bool grit_prep_gfx(GritRec *gr);
		bool grit_prep_shared_pal(GritRec *gr);

		if(gr->gfxProcMode != GRIT_EXCLUDE)
			grit_prep_gfx(gr);
		
		if(gr->palProcMode != GRIT_EXCLUDE)
			grit_prep_shared_pal(gr);

		if(gr->bExport)
			grit_export(gr);

	} while(0);

	gr->_dib= NULL;

	// Detach shared data and delete gr
	gr->shared= NULL;
	grit_free(gr);
}
コード例 #2
0
ファイル: gritdlg.cpp プロジェクト: alvasnaedis/grit
CxpGbaDlg::CxpGbaDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CxpGbaDlg::IDD, pParent)
{
	mDstDir= "";
	mDstTitle= "";
	mgr= grit_alloc();
	//- mgr= xgi_create();
	//{{AFX_DATA_INIT(CxpGbaDlg)
	mbGfx = TRUE;
	mGfxBpp = 3;
	mGfxCprs = GRIT_CPRS_OFF;
	mGfxMode = 0;
	mGfxTransStr = _T("FF00FF");
	mbMap = FALSE;
	moMapFormat = 0;
	mbMapRdx = TRUE;
	mbMapRdxFlip = TRUE;
	mbMapRdxPal = TRUE;
	mbMetaPal = FALSE;
	mMapCprs = GRIT_CPRS_OFF;
	mMapOffset = 0;
	mbPal = TRUE;
	mPalStart = 0;
	mPalCount = 256;
	mPalTrans = 0;
	mbObjCustom = FALSE;
	moObjShape = 0;
	moObjSize = 0;
	mObjHorz = 1;
	mObjVert = 1;
	moAreaSize = 1;
	mAreaLeft = 0;
	mAreaTop = 0;
	mAreaWidth = 8;
	mAreaHeight = 8;
	mDstPath = _T("");
	mFileType = GRIT_FTYPE_S;
	moVarChunk = 1;
	mbHeader = TRUE;
	mbAppend = FALSE;
	mbSymChk = FALSE;
	mSymName = _T("bar");
	mbTileset = FALSE;
	mTilesetPath = _T("");
	mbRiff = FALSE;
	//}}AFX_DATA_INIT
	mSummary = "";
	mbBusy= FALSE;
}