You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

298 lines
6.8 KiB
C++

#include <lowlevellib.h>
#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;
}