#include float dirx = 120; float diry = 60; float scale = 1.0f; float scalespeed = 1; float SCALEMAX = 4.5f; float si = 1.0f; float ti = 0.0f; float co = 1.0f; float totaltime = 0; float sinustime = 0; int frames = 0; float xx, jj; float delta = 0; int cur_frame = 0; CFps fps; void frame_loop_start() { delta = llirq_GetDeltaTime(); fps.Action(delta); ti += delta; totaltime += delta; sinustime += delta; while( sinustime > PI2 ) sinustime -= PI2; si = ll3d::Sin(sinustime); co = ll3d::Cos(sinustime); frames ++; } void frame_loop_ende() { fps.Draw(0); llgfx_FlipScreen(1); llinput_Update(); llsound_Update(); if( llinput_Keys[LLINPUT_KEY_A] ) osmain_endgame = true; if( llinput_Keys[LLINPUT_CURSOR_LEFT] ) if( dirx > 0 ) dirx = -dirx; if( llinput_Keys[LLINPUT_CURSOR_RIGHT] ) if( dirx < 0 ) dirx = -dirx; if( llinput_Keys[LLINPUT_CURSOR_UP] ) if( diry > 0 ) diry = -diry; if( llinput_Keys[LLINPUT_CURSOR_DOWN] ) if( diry < 0 ) diry = -diry; } // wartet bis losgelassen void wait_a() { while( llinput_Keys[LLINPUT_KEY_A] ) { llinput_Update(); } } int FtpTransfer(char * curFilename, int totalbytes, int totalfiles, int percentcomplete, void *userPtr ) { llgfx_ClearScreen(RED); llgfx_Printf("File: %s\n", curFilename); llgfx_Printf("percentcomplete: %d",percentcomplete); llgfx_FlipScreen(0); llinput_Update(); llsound_Update(); if( osmain_endgame == true ) return -1; return 0; } int os_main(int argc,char **argv,char **envp) { fps.m_visible =1; llgfx_SetDisplayMode( 320, 240, 16, 0 ); // llfile_eSTREAM ftpstream = llfile_OpenStream( LLFILE_STREAM_FTP, "10.16.19.1:tpe:ux1tpe"); llfile_eSTREAM ftpstream = llfile_OpenStream( LLFILE_STREAM_FTP, "levelone.alfahosting.org:web95:web9599"); if( ftpstream ){ // //llfile_IoCtlStream( ftpstream,"OPEN","auftragsliste"); // llfile_IoCtlStream( ftpstream,"OPEN","/html/appriv/starbreaker_pc.zip"); // // char buf[8192]; // llfile_ReadStream( ftpstream, buf, sizeof(buf) ); // llfile_CloseStream(ftpstream); llfile_PushModule(ftpstream, new CReadHookModule(1024,FtpTransfer,0), HEAD); int size = 0; llfile_current_stream = ftpstream; //llfile_LoadToMem("/html/appriv/xenitris_demo.jpg",&size); llfile_LoadToMem("/html/appriv/spaccygalaxians.zip",&size); //llfile_LoadToMem("/html/appriv/xenitris_workspace_copy.rar",&size); } llfile_current_stream = LLFILE_STREAM_STDIO; DebugOutLn("Loading Gfx"); xx=0; jj=0; llsound_id jingle = llsound_LoadSnd("TEKKI_FX_BANK03_002.WAV",0); // llsound_id jingle = llsound_LoadSnd("jedisounds/bird.wav"); llsound_id loop = llsound_LoadSnd("closer.wav"); loop = llsound_CloneSnd(jingle); #if 0 llfile_eSTREAM str; if( str = llfile_OpenStream( LLFILE_STREAM_ZIP, "testgfx.zip" ) ) { llfile_current_stream = str; } #endif llgfx_id background = llgfx_LoadGfx("background_24.png",0); llgfx_id logo = llgfx_LoadGfx("one03.png",LLGFX_COLORKEY); DebugOutLn("background=%d",background); DebugOutLn("logo=%d",logo); bool wait_mouse_release = false; // llsound_SetVolume(loop,1.5); // llsound_SetFrequency(loop,19000); // llsound_Play(loop,LLSOUND_LOOP); llsound_id musik = llsound_LoadSnd("aaaa_base.ogg",LLSOUND_STREAM); // llsound_id musik = llsound_LoadSnd("aaaa_base.mp3",LLSOUND_STREAM); llsound_Resume(musik,LLSOUND_LOOP,0); while(osmain_endgame==false) { frame_loop_start(); llgfx_ClearScreen(); llgfx_BLIT(0,logo); cur_frame = 0; cur_frame ++ ; if (cur_frame >=16 ) cur_frame=0; xx += dirx * delta; jj += diry * delta; if( scale >= SCALEMAX ) scale = SCALEMAX,scalespeed*=-1; if( scale <= - SCALEMAX) scale = - SCALEMAX, scalespeed*=-1; scale += scalespeed * delta; if( (llinput_MouseBtn1&0x3) == 1 ){ float time = llsound_GetSndLength(musik); float newtime = llirq_GetRandF(0,time); newtime = 0; // llsound_Resume(musik,LLSOUND_LOOP,newtime); llsound_Play(jingle); } llgfx_Printf("\nllinput_MouseBtn1:%d",(int)llinput_MouseBtn1); llgfx_Printf("\nMusik Pos: %f sec", llsound_GetSndPlaytime(musik) ); llgfx_Printf("\nMusik Status: %d", llsound_GetStatus(musik)); llgfx_Printf("\nsnd Pos: %f sec", llsound_GetSndPlaytime(jingle) ); llgfx_Printf("\nsnd Status: %d", llsound_GetStatus(jingle)); frame_loop_ende(); } wait_a(); osmain_endgame=false; SCALEMAX = 1.0f; while(osmain_endgame==false) { frame_loop_start(); llgfx_TILE_BLIT(0,background,(int)xx,(int)jj); llgfx_sBLITFX blitfx; blitfx.scale_x = scale; blitfx.scale_y = scale; blitfx.fixalpha = si; int blitflag = 0; blitflag = BLIT_DST_CENTERED | BLIT_FXBLEND; llgfx_BLIT(0,logo,0,0,0,blitflag,&blitfx); cur_frame = 0; cur_frame ++ ; if (cur_frame >=16 ) cur_frame=0; xx += dirx * delta; jj += diry * delta; scale += scalespeed * delta; if( scale >= SCALEMAX ) scale = SCALEMAX,scalespeed*=-1; if( scale <= - SCALEMAX) scale = - SCALEMAX, scalespeed*=-1; frame_loop_ende(); } wait_a(); osmain_endgame=false; llgfx_id background2 = llgfx_LoadGfx("paper.png",0); while(osmain_endgame==false) { frame_loop_start(); llgfx_TILE_BLIT(0,background2,(int)xx,(int)jj); llgfx_sBLITFX blitfx; blitfx.scale_x = scale; blitfx.scale_y = scale; blitfx.fixalpha = 0.5f; int blitflag = 0; blitflag = BLIT_DST_CENTERED; llgfx_SetOrigin(logo,2,2); llgfx_BLIT(0,logo,0,0,0,blitflag|BLIT_FXSUB,&blitfx); llgfx_SetOrigin(logo,0,0); blitfx.fixalpha = 0.9f; llgfx_BLIT(0,logo,0,0,0,BLIT_FXADD,&blitfx); cur_frame = 0; cur_frame ++ ; if (cur_frame >=16 ) cur_frame=0; xx += dirx * delta; jj += diry * delta; if( scale >= SCALEMAX ) scale = SCALEMAX,scalespeed*=-1; if( scale <= - SCALEMAX) scale = - SCALEMAX, scalespeed*=-1; scale += scalespeed * delta; frame_loop_ende(); } wait_a(); osmain_endgame=false; while(osmain_endgame==false) { frame_loop_start(); llgfx_sBLITFX blitfx; blitfx.scale_x = scale; blitfx.scale_y = scale; blitfx.fixalpha = 0.5f; llgfx_TILE_BLIT(0,background2,(int)xx,(int)jj); llgfx_TILE_BLIT(0,background,(int)(xx/2),(int)(jj/2),0,BLIT_FXSUB,&blitfx); int blitflag = 0; blitflag = BLIT_DST_CENTERED; llgfx_SetOrigin(logo,2,2); llgfx_BLIT(0,logo,0,0,0,blitflag|BLIT_FXSUB,&blitfx); llgfx_SetOrigin(logo,0,0); blitfx.fixalpha = 0.9f; llgfx_BLIT(0,logo,0,0,0,BLIT_FXADD,&blitfx); cur_frame = 0; cur_frame ++ ; if (cur_frame >=16 ) cur_frame=0; xx += dirx * delta; jj += diry * delta; if( scale >= SCALEMAX ) scale = SCALEMAX,scalespeed*=-1; if( scale <= - SCALEMAX) scale = - SCALEMAX, scalespeed*=-1; scale += scalespeed * delta; frame_loop_ende(); } wait_a(); osmain_endgame=false; SCALEMAX=32; while(osmain_endgame==false) { frame_loop_start(); llgfx_sBLITFX blitfx; blitfx.scale_x = scale; blitfx.scale_y = scale; blitfx.fixalpha = 0.5f; llgfx_TILE_BLIT(0,background,(int)xx,(int)jj); llgfx_TILE_BLIT(0,background2,(int)(xx/2),(int)(jj/2),0,BLIT_SCANLINES,&blitfx); int blitflag = 0; blitflag = BLIT_DST_CENTERED; llgfx_SetOrigin(logo,0,0); blitfx.fixalpha = 0.9f; llgfx_BLIT(0,logo,0,0,0,BLIT_STRETCH|BLIT_DST_CENTERED|BLIT_SCANLINES,&blitfx); cur_frame = 0; cur_frame ++ ; if (cur_frame >=16 ) cur_frame=0; xx += dirx * delta; jj += diry * delta; float multiplier = 0.05f + ((ll3d::Abs(scale) / SCALEMAX)*32); if( scalespeed < 0 ) scalespeed = - multiplier; else scalespeed = multiplier; if( scale >= SCALEMAX ) scale = SCALEMAX,scalespeed*=-1; if( scale <= - SCALEMAX) scale = - SCALEMAX, scalespeed*=-1; scale += scalespeed * delta; frame_loop_ende(); } /* llgfx_id explo = llgfx_LoadGfx("explosion-1-all.png",LLGFX_COLORKEY); llgfx_SetFrameCount(explo,LLGFX_FRAME_COUNT,16); llgfx_id tmpgfx = llgfx_ROTATE_BLIT(explo,(s_rect*)cur_frame,360*scale); llgfx_BLIT(0,tmpgfx,(int)(160+co*80),(int)(120+si*80),0,BLIT_STRETCH|BLIT_FXMUL|BLIT_SRC_CENTERED,&blitfx), llgfx_ReleaseGfx(tmpgfx); */ CDebug::WriteLn("overage frametime=%f", totaltime / (frames+1) ); CDebug::WriteLn("maxpeak memory = %d", llmem_maxpeak_allocated_memory ); return 0; }