/* * Main loop. */ void MainLoop() { LoopEventT event = LOOP_CONTINUE; SetVBlankCounter(0); do { int frameNumber = GetVBlankCounter(); if (event != LOOP_CONTINUE) { CanvasFill(R_("Canvas"), 0); if (event == LOOP_NEXT) effect = (effect + 1) % lastEffect; if (event == LOOP_PREV) { effect--; if (effect < 0) effect += lastEffect; } } RenderVector(frameNumber); RenderChunky(frameNumber); RenderFrameNumber(frameNumber); DisplaySwap(); } while ((event = ReadLoopEvent()) != LOOP_EXIT); }
void RenderPolygons() { for (fdword i = 0; i < polyPrimitiveCount; i++) { switch(polyPrimitives[i].m_type) { case PolyPrimitive::POLY_LINE: RenderLine(polyPrimitives[i]); break; case PolyPrimitive::POLY_VECTOR: RenderVector(polyPrimitives[i]); break; case PolyPrimitive::POLY_RECTANGLE: RenderRectangle(polyPrimitives[i]); break; case PolyPrimitive::POLY_CIRCLE: RenderCircle(polyPrimitives[i]); break; case PolyPrimitive::POLY_FILLED_RECTANGLE: RenderFilledRectangle(polyPrimitives[i]); break; case PolyPrimitive::POLY_FILLED_CIRCLE: RenderFilledCircle(polyPrimitives[i]); break; } } polyPrimitiveCount = 0; }