- (* Draw background *)\r
- for I:=1 to 192 do begin\r
- mxCircle( 160, 480+120, I, I+63 );\r
- mxCircle( 161, 480+120, I, I+63 );\r
- end;\r
-\r
- (* Compute and set palette *)\r
- for I:=1 to 192 do with Palette[I+63] do begin\r
- R := 0;\r
- G := 0;\r
- B := 0;\r
- if( I < 64 ) then\r
- R := I shr 1+31\r
- else if( I < 128 ) then\r
- G := (I-64) shr 1+31\r
- else\r
- B := (I-128) shr 1+31;\r
- end;\r
- mxSetPalette( @Palette[64], 64, 192 );\r
-\r
- (* Main loop *)\r
- Page := 240;\r
- while( not KeyPressed ) do begin\r
- (* Set clip region to current page *)\r
- mxSetClipRegion( 0, Page, 320, 240 );\r
- mxSetClip( TRUE );\r
- (* Restore background *)\r
- mxBitBlt( 0, 480, 320, 240, 0, Page );\r
- (* Draw sprites *)\r
- for I:=1 to MAX_SPRITE do sxMove( S[I] );\r
- (* Print message *)\r
- mxOutStr( 4, Page+4, 'Some sprites moving...' );\r
- (* Flip page *)\r
- mxStartLine( Page );\r
- Page := 240-Page;\r
- (* Animate palette *)\r
- mxSetPalette( @Palette[64], 64, 192 );\r
- mxRotatePalette( @Palette[64], 192, 3 );\r
- end;\r
-\r
- mxSetMode( MX_TEXT );\r
- mxTerm;\r
-end.\r
+void main()\r
+{\r
+ int i;\r
+ //TSprite S;\r
+ /* Initialize library */\r
+ mxInit();\r
+ \r
+ /* Enter graphics mode */\r
+ mxSetMode( MX_320x240 );\r
+ \r
+ /* Print initialization message */\r
+ mxSetTextColor( 15, OP_TRANS );\r
+ mxOutStr( 4, 4, 'Initializing...' );\r
+ \r
+ /* Initialize sprites */\r
+ for(i=1;i<=MAX_SPRITE;i++)\r
+ sxInit( &S[i] );\r
+ \r
+ /* Draw background */\r
+ for(i=1;i<=192;i++)\r
+ {\r
+ mxCircle( 160, 480+120, I, I+63 );\r
+ mxCircle( 161, 480+120, I, I+63 );\r
+ }\r
+ \r
+ /* Compute and set palette */\r
+ for(i=1;i<= 192;Palette[i+63])\r
+ {\r
+ short R = 0;\r
+ short G = 0;\r
+ short B = 0;\r
+ if( i < 64 )\r
+ R = i >> 1+31;\r
+ else if( i < 128 )\r
+ G = (i-64) >> 1+31;\r
+ else\r
+ B = (i-128) >> 1+31;\r
+ }\r
+ mxSetPalette( @Palette[64], 64, 192 );\r
+ \r
+ /* Main loop */\r
+ short Page = 240;\r
+ while(!kbhit())\r
+ {\r
+ /* Set clip region to current page */\r
+ mxSetClipRegion( 0, Page, 320, 240 );\r
+ mxSetClip( TRUE );\r
+ /* Restore background */\r
+ mxBitBlt( 0, 480, 320, 240, 0, Page );\r
+ /* Draw sprites */\r
+ for(i=1; i <= MAX_SPRITE; sxMove( S[i] ));\r
+ /* Print message */\r
+ mxOutStr( 4, Page+4, 'Some sprites moving...' );\r
+ /* Flip page */\r
+ mxStartLine( Page );\r
+ Page = 240-Page;\r
+ /* Animate palette */\r
+ mxSetPalette( @Palette[64], 64, 192 );\r
+ mxRotatePalette( @Palette[64], 192, 3 );\r
+ }\r
+ \r
+ mxSetMode( MX_TEXT );\r
+ mxTerm;\r
+ \r
+}\r