예제 #1
0
/**
 * Draw the state
 * 
 * @param  pGame The game's context
 * @return       GFMRV_OK, GFMRV_ARGUMENTS_BAD, ...
 */
gfmRV intro_draw_flash(gameCtx *pGame) {
    gfmRV rv;
    introCtx *pIntro;
    
    // Sanitize arguments
    ASSERT(pGame, GFMRV_ARGUMENTS_BAD);
    ASSERT(pGame->pState, GFMRV_ARGUMENTS_BAD);
    // Get the current state
    pIntro = (introCtx*)(pGame->pState);
    
    // TODO Draw everything
    rv = gfmTilemap_draw(pGame->common.pTMap, pGame->pCtx);
    ASSERT_NR(rv == GFMRV_OK);
    
    rv = player_draw(pIntro->pPl, pGame);
    ASSERT_NR(rv == GFMRV_OK);
    rv = doc_draw(pIntro->pDoc, pGame);
    ASSERT_NR(rv == GFMRV_OK);
    
    rv = gfmTilemap_draw(pIntro->pFlashFx, pGame->pCtx);
    ASSERT_NR(rv == GFMRV_OK);
    
    rv = GFMRV_OK;
__ret:
    return rv;
}
예제 #2
0
/**
 * Draw the state
 * 
 * @param  pGame The game's context
 * @return       GFMRV_OK, GFMRV_ARGUMENTS_BAD, ...
 */
gfmRV intro_draw_begin(gameCtx *pGame) {
    gfmRV rv;
    introCtx *pIntro;
    
    // Sanitize arguments
    ASSERT(pGame, GFMRV_ARGUMENTS_BAD);
    ASSERT(pGame->pState, GFMRV_ARGUMENTS_BAD);
    // Get the current state
    pIntro = (introCtx*)(pGame->pState);
    
    // TODO Draw everything
    rv = gfmTilemap_draw(pGame->common.pTMap, pGame->pCtx);
    ASSERT_NR(rv == GFMRV_OK);
    
    rv = player_draw(pIntro->pPl, pGame);
    ASSERT_NR(rv == GFMRV_OK);
    rv = doc_draw(pIntro->pDoc, pGame);
    ASSERT_NR(rv == GFMRV_OK);
    
    rv = gfmTilemap_draw(pIntro->pMachineFx, pGame->pCtx);
    ASSERT_NR(rv == GFMRV_OK);
    
    rv = gfmText_draw(pGame->common.pText, pGame->pCtx);
    ASSERT_NR(rv == GFMRV_OK);
    
#if 0
    rv = gfmQuadtree_drawBounds(pGame->common.pQt, pGame->pCtx, 0/*colors*/);
    ASSERT_NR(rv == GFMRV_OK);
#endif
    
    rv = GFMRV_OK;
__ret:
    return rv;
}
예제 #3
0
/**
 * Draw the state
 * 
 * @param  pGame The game's context
 * @return       GFMRV_OK, GFMRV_ARGUMENTS_BAD, ...
 */
gfmRV intro_draw_game(gameCtx *pGame) {
    gfmRV rv;
    introCtx *pIntro;
    
    // Sanitize arguments
    ASSERT(pGame, GFMRV_ARGUMENTS_BAD);
    ASSERT(pGame->pState, GFMRV_ARGUMENTS_BAD);
    // Get the current state
    pIntro = (introCtx*)(pGame->pState);
    
    rv = gfmTilemap_draw(pGame->common.pTMap, pGame->pCtx);
    ASSERT_NR(rv == GFMRV_OK);
    
    rv = player_draw(pIntro->pPl, pGame);
    ASSERT_NR(rv == GFMRV_OK);
    rv = doc_draw(pIntro->pDoc, pGame);
    ASSERT_NR(rv == GFMRV_OK);
    rv = gfmSprite_draw(pIntro->pBullet1, pGame->pCtx);
    ASSERT_NR(rv == GFMRV_OK);
    rv = gfmSprite_draw(pIntro->pBullet2, pGame->pCtx);
    ASSERT_NR(rv == GFMRV_OK);
    
    // TODO Draw the bullets and the enemies...
    
    rv = GFMRV_OK;
__ret:
    return rv;
}
예제 #4
0
파일: fbpdf.c 프로젝트: litcave/fbpdf
static int loadpage(int p)
{
	int i;
	if (p < 1 || p > doc_pages(doc))
		return 1;
	prows = 0;
	free(pbuf);
	pbuf = doc_draw(doc, p, zoom, rotate, &prows, &pcols);
	if (invert) {
		for (i = 0; i < prows * pcols; i++)
			pbuf[i] = pbuf[i] ^ 0xffffffff;
	}
	prow = -prows / 2;
	pcol = -pcols / 2;
	num = p;
	return 0;
}