/** * 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; }
/** * 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; }
/** * 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; }
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; }