#include #define NEXT llgfx_DrawText(0,230,"A für Next"); \ floater += delta*40*direction;\ x = (int)floater;\ if( x > 160 )\ direction = -1;\ if( x < -160 )\ direction = +1;\ fps.Draw(0);\ llgfx_FlipScreen(0);\ llinput_Update();\ if( llinput_Keys[LLINPUT_KEY_A] )\ osmain_endgame = true;}\ osmain_endgame=false;\ while( llinput_Keys[LLINPUT_KEY_A] ) llinput_Update(); #define START while(osmain_endgame==false){\ float delta = llirq_GetDeltaTime();\ fps.Action(delta);\ s_blitfx blitfx;\ blitfx.fixalpha = 1;\ llgfx_TILE_BLIT(0,b,-200+x,-100+x,0,BLIT_COPY); int os_main(int argc, char **argv, char **envp ) { #ifdef SYS_PLATFORM_WIN32_DX5 llgfx_SetDisplayMode(640,480,32,0); #else llgfx_SetDisplayMode(320,240,16,0); #endif llgfx_id b = llgfx_LoadGfx( "test_bkgnd.png"); llgfx_id l = llgfx_LoadGfx( "test_spr1.png",LLGFX_COLORKEY); llgfx_id c = llgfx_CloneGfx(l); CFps fps; fps.m_state = true; float floater = 0; int x = 0; int y = 0; int direction=1; START blitfx.fixalpha = 0.7f; llgfx_TILE_BLIT(0,l,x,0,0,BLIT_FXBLEND,&blitfx); llgfx_Printf("\nBlitmode: BLIT_FXBLEND"); NEXT START llgfx_TILE_BLIT(0,l,x,0,0,BLIT_SRC_ALPHA,&blitfx); llgfx_Printf("\nBlitmode: BLIT_SRC_ALPHA"); NEXT START llgfx_TILE_BLIT(0,l,x,0,0,BLIT_SRC_INVCKEY,&blitfx); llgfx_Printf("\nBlitmode: BLIT_SRC_INVKEY"); NEXT START llgfx_TILE_BLIT(0,l,x,0,0,BLIT_SRC_INVALPHA,&blitfx); llgfx_Printf("\nBlitmode: BLIT_SRC_INVALPHA"); NEXT /* START llgfx_BLIT(c,l); llgfx_TILE_BLIT(c,b,-200+x,-100+x*2,0,BLIT_DST_ALPHA,&blitfx); llgfx_TILE_BLIT(0,c,0,0,0,BLIT_COPY,&blitfx); //llgfx_TILE_BLIT(0,l,x,0,0,BLIT_DST_ALPHA,&blitfx); llgfx_Printf("\nBlitmode: BLIT_DST_ALPHA"); NEXT */ osmain_endgame=false; while( llinput_Keys[LLINPUT_KEY_A] ) llinput_Update(); while(osmain_endgame==false){ float delta = llirq_GetDeltaTime(); fps.Action(delta); s_blitfx blitfx; blitfx.fixalpha = 0.5; //llgfx_TILE_BLIT(0,b,-200+x,-100-x); llgfx_TILE_BLIT(0,b,-200,-100,0,BLIT_RASTER); blitfx.color = BLUE; llgfx_BLIT(0,l,x,0,0,BLIT_FXCOLOR|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x,0,0,BLIT_MASK); blitfx.color = BROWN; llgfx_BLIT(0,l,x,120,0,BLIT_FXCOLOR,&blitfx); llgfx_BLIT(0,l,x+120,0,0,BLIT_FXSUB|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x+120,120,0,BLIT_FXDARKEN|BLIT_SRC_ALPHA,&blitfx); // llgfx_BLIT(0,l,210,0,0,BLIT_FXMUL|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x+210,60,0,BLIT_SRC_ALPHA,&blitfx); // llgfx_BLIT(0,l,210,120,0,BLIT_FXDIFF|BLIT_SRC_ALPHA,&blitfx); //llgfx_BLIT(0,l,x+60,60,0,BLIT_DST_INVALPHA|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x+60,60,0,BLIT_FXADD|BLIT_SRC_ALPHA,&blitfx); llgfx_DrawText(0,230,"Bknd: BLIT_RASTER... A=next"); floater += delta*40*direction; x = (int)floater; if( x > 160 ) direction = -1; if( x < -160 ) direction = +1; fps.Draw(0); llgfx_FlipScreen(0); llinput_Update(); if( llinput_Keys[LLINPUT_KEY_A] ) osmain_endgame = true; } osmain_endgame=false; while( llinput_Keys[LLINPUT_KEY_A] ) llinput_Update(); while(osmain_endgame==false){ float delta = llirq_GetDeltaTime(); fps.Action(delta); s_blitfx blitfx; blitfx.fixalpha = 0.5; //llgfx_TILE_BLIT(0,b,-200+x,-100-x); llgfx_TILE_BLIT(0,b,-200,-100,0,BLIT_SCANLINES); blitfx.color = BLUE; llgfx_BLIT(0,l,x,0,0,BLIT_FXCOLOR|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x,0,0,BLIT_MASK); blitfx.color = BROWN; llgfx_BLIT(0,l,x,120,0,BLIT_FXCOLOR,&blitfx); llgfx_BLIT(0,l,x+120,0,0,BLIT_FXSUB|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x+120,120,0,BLIT_FXDARKEN|BLIT_SRC_ALPHA,&blitfx); // llgfx_BLIT(0,l,210,0,0,BLIT_FXMUL|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x+210,60,0,BLIT_SRC_ALPHA,&blitfx); // llgfx_BLIT(0,l,210,120,0,BLIT_FXDIFF|BLIT_SRC_ALPHA,&blitfx); //llgfx_BLIT(0,l,x+60,60,0,BLIT_DST_INVALPHA|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x+60,60,0,BLIT_FXADD|BLIT_SRC_ALPHA,&blitfx); llgfx_DrawText(0,230,"Bknd: BLIT_SCANLINES... A=next"); floater += delta*40*direction; x = (int)floater; if( x > 160 ) direction = -1; if( x < -160 ) direction = +1; fps.Draw(0); llgfx_FlipScreen(0); llinput_Update(); if( llinput_Keys[LLINPUT_KEY_A] ) osmain_endgame = true; } osmain_endgame=false; while( llinput_Keys[LLINPUT_KEY_A] ) llinput_Update(); while(osmain_endgame==false){ float delta = llirq_GetDeltaTime(); fps.Action(delta); s_blitfx blitfx; blitfx.fixalpha = 0.5; //llgfx_TILE_BLIT(0,b,-200+x,-100-x); llgfx_ClearGfx(0,GRAY); llgfx_TILE_BLIT(0,b,-200,-100,0,BLIT_RANDOM); blitfx.color = BLUE; llgfx_BLIT(0,l,x,0,0,BLIT_FXCOLOR|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x,0,0,BLIT_MASK); blitfx.color = BROWN; llgfx_BLIT(0,l,x,120,0,BLIT_FXCOLOR,&blitfx); llgfx_BLIT(0,l,x+120,0,0,BLIT_FXSUB|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x+120,120,0,BLIT_FXDARKEN|BLIT_SRC_ALPHA,&blitfx); // llgfx_BLIT(0,l,210,0,0,BLIT_FXMUL|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x+210,60,0,BLIT_SRC_ALPHA,&blitfx); // llgfx_BLIT(0,l,210,120,0,BLIT_FXDIFF|BLIT_SRC_ALPHA,&blitfx); //llgfx_BLIT(0,l,x+60,60,0,BLIT_DST_INVALPHA|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x+60,60,0,BLIT_FXADD|BLIT_SRC_ALPHA,&blitfx); llgfx_DrawText(0,230,"Bknd: BLIT_RANDOM... A=next"); floater += delta*40*direction; x = (int)floater; if( x > 160 ) direction = -1; if( x < -160 ) direction = +1; fps.Draw(0); llgfx_FlipScreen(0); llinput_Update(); if( llinput_Keys[LLINPUT_KEY_A] ) osmain_endgame = true; } osmain_endgame=false; while( llinput_Keys[LLINPUT_KEY_A] ) llinput_Update(); while(osmain_endgame==false){ float delta = llirq_GetDeltaTime(); fps.Action(delta); s_blitfx blitfx; blitfx.fixalpha = 0.7; //llgfx_TILE_BLIT(0,b,-200+x,-100-x); llgfx_TILE_BLIT(0,b,-200+x,-100+x,0,BLIT_FXSUB,&blitfx); blitfx.fixalpha = 0.5; blitfx.color = BLUE; llgfx_BLIT(0,l,x,0,0,BLIT_FXCOLOR|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x,0,0,BLIT_MASK); blitfx.color = BROWN; llgfx_BLIT(0,l,x,120,0,BLIT_FXCOLOR,&blitfx); llgfx_BLIT(0,l,x+120,0,0,BLIT_FXSUB|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x+120,120,0,BLIT_FXDARKEN|BLIT_SRC_ALPHA,&blitfx); // llgfx_BLIT(0,l,210,0,0,BLIT_FXMUL|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x+210,60,0,BLIT_SRC_ALPHA,&blitfx); // llgfx_BLIT(0,l,210,120,0,BLIT_FXDIFF|BLIT_SRC_ALPHA,&blitfx); //llgfx_BLIT(0,l,x+60,60,0,BLIT_DST_INVALPHA|BLIT_SRC_ALPHA,&blitfx); llgfx_BLIT(0,l,x+60,60,0,BLIT_FXADD|BLIT_SRC_ALPHA,&blitfx); llgfx_DrawText(0,230,"Bknd: BLIT_FXSUB... A=Exit"); floater += delta*40*direction; x = (int)floater; if( x > 160 ) direction = -1; if( x < -160 ) direction = +1; fps.Draw(0); llgfx_FlipScreen(0); llinput_Update(); if( llinput_Keys[LLINPUT_KEY_A] ) osmain_endgame = true; } return 0; }