예제 #1
0
파일: testmesh.c 프로젝트: bzar/sparrow3d
int main(int argc, char **argv)
{
	//sparrow3D Init
	spSetDefaultWindowSize(640,480); //Creates a 640x480 window at PC instead of 320x240
	spInitCore();
	
	//Setup
	screen = spCreateDefaultWindow();
	//Selecting the renderTarget. It could be every surface
	spSelectRenderTarget(screen);
	resize(screen->w,screen->h);
	
	//Textures loading
	texture = spLoadSurface("./data/garfield.png");
	//Setting alpha test to 0, because the texture has pink parts
	spSetAlphaTest(0);
	//Mesh loading
	mesh = spMeshLoadObj("./data/testmeshuv_tri.obj",texture,65535);
		
	//Light on! There is one "default" light at 0,0,0 with color white. We just use it.
	spSetLight(1);
	
	//All glory the main loop
	//every frame the draw_function is called
	//every frame the calc_function is called with the past time as argument
	//at least 10 ms have to be between to frames (max 100 fps)
	//if the window is resized, the resize feedback-function is called (again)
	spLoop(draw_function,calc_function,10,resize,NULL);
	
	//Winter Wrap up, Winter Wrap up
	spMeshDelete(mesh);
	spDeleteSurface(texture);
	spQuitCore();
	return 0;
}
예제 #2
0
파일: engine.cpp 프로젝트: pmprog/P01
int main(int argc, char **argv)
{
	spInitCore();
	SDL_EnableUNICODE( 1 );

	gameSettings = new Settings();

	display = spCreateWindow( gameSettings->ScreenWidth, gameSettings->ScreenHeight, gameSettings->FullScreen, 0 );
  //Setup of the new/resized window
  spSelectRenderTarget(spGetWindowSurface());
  spSetPerspective(50.0f,(float)spGetWindowSurface()->w/(float)spGetWindowSurface()->h,0.1f,100.0f);


	spSetZTest( 0 );
	spSetZSet( 0 );
	spSetAlphaTest( 1 );

  gameStack = new StageStack();
  gameStack->Push( (Stage*)(new BootStage()) );

	deltaTime = 0;
	spLoop( engineDraw, engineUpdate, 10, resizeWindow, engineSDLEvent);

	spQuitCore();
	return 0;
}
예제 #3
0
파일: about.c 프로젝트: theZiz/hase
void start_help(spFontPointer font, void ( *resize )( Uint16 w, Uint16 h ))
{
	int i = 3;
	while (i --> 0 )
	{
		help_button[i].x = -1;
		help_button[i].y = -1;
		help_button[i].w = -1;
		help_button[i].h = -1;
	}
	help_was_pressed = 0;
	help_block = spCreateTextBlock(help_text,spGetWindowSurface()->w*2/3-4,font);
	help_scroll = 0;
	help_font = font;
	spLoop(help_draw,help_calc,10,resize,NULL);
	
	spDeleteTextBlock(help_block);
}
예제 #4
0
int main( int argc, char **argv )
{
	//sparrow3D Init
	spSetDefaultWindowSize( 640, 480 ); //Creates a 640x480 window at PC instead of 320x240
	spInitCore();

	//Setup
	screen = spCreateDefaultWindow();
	spSelectRenderTarget(screen);
	resize(screen->w,screen->h);
	spSetZSet(0);
	spSetZTest(0);

	spLoop( draw_function, calc_function, 10, resize, NULL );

	//Winter Wrap up, Winter Wrap up
	spFontDelete( font );
	spQuitCore();
	return 0;
}
예제 #5
0
void run_splashscreen(void (*resize)(Uint16 w,Uint16 h))
{
	//spSetPerspectiveTextureMapping(1);
  splash_rotation = 0;
  sparrow = spLoadSurface("./images/sparrow.png");
  logo = spLoadSurface("./images/dragonbox.png");
  sparrow_mesh = spMeshLoadObj( "./images/splash.obj", sparrow, 65535 );
  logo_mesh = spMeshLoadObj( "./images/splash.obj", logo, 65535 );
  int i;
  for (i = 0; i < MESH_SIZE*2; i ++)
  {
		saved_points[i][0] = sparrow_mesh->texPoint[i].x;
		saved_points[i][1] = sparrow_mesh->texPoint[i].y;
		saved_points[i][2] = sparrow_mesh->texPoint[i].z;
	}
  splash_counter = SPLASH_WAIT;
  spLoop(draw_splash,calc_splash,10,resize,NULL);
  spMeshDelete( sparrow_mesh );
  spMeshDelete( logo_mesh );
  SDL_FreeSurface(sparrow);
  SDL_FreeSurface(logo);
  //spSetPerspectiveTextureMapping(0);
}
예제 #6
0
int main( int argc, char **argv )
{
	//sparrow3D Init
	spInitCore();
	
	//spSetDefaultWindowSize(800,480);

	//Setup
	#if (defined ZOOMUP || defined ZOOMDOWN) && !(defined ZOOMUP && defined ZOOMDOWN)
		real_screen = spCreateDefaultWindow();
		resize( real_screen->w, real_screen->h );
	#else
		screen = spCreateDefaultWindow();
		resize( screen->w, screen->h );
	#endif

	//Setting the first level
	levelPointer = getLevelOverPointer();
	if (argc < 2)
		sprintf(get_saved_level(),"./level/tile_test.tmx");
	else
		sprintf(get_saved_level(),"%s",argv[1]);
	levelFade = FADE_TIME;
	(*levelPointer) = loadLevel(get_saved_level());
	createPhysicsFromLevel((*levelPointer));
	
	//All glory the main loop
	spLoop( draw_schizo, calc_schizo, 10, resize, NULL );

	//Winter Wrap up, Winter Wrap up …
	clearPhysics();
	deleteLevel((*levelPointer));
	spFontDelete( font );
	spDeleteSurface(screen);
	spQuitCore();
	return 0;
}
예제 #7
0
파일: testsprite.c 프로젝트: bzar/sparrow3d
int main( int argc, char **argv )
{
	//sparrow3D Init
	spSetDefaultWindowSize( 640, 480 ); //Creates a 640x480 window at PC instead of 320x240
	spInitCore();

	//Setup
	screen = spCreateDefaultWindow();
	spSelectRenderTarget(screen);

	//Tile map loading
	tile_map = spLoadSurface( "./data/science_guy_frames01.png" );

	//Creating an empty sprite
	sprite = spNewSprite();
	//Filling it with it subsprites.
	int i;
	for ( i = 0; i < 9; i++ )
		spNewSubSpriteWithTiling( sprite, tile_map, i * 24 + 1, 1, 22, 46, 100 );

	//We don't want to use the zBuffer in any way
	spSetZSet(0);
	spSetZTest(0);

	//All glory the main loop
	//every frame the draw_function is called
	//every frame the calc_function is called with the past time as argument
	//at least 10 ms have to be between to frames (max 100 fps)
	//if the window is resized, the resize feedback-function is called (again)
	spLoop( draw_function, calc_function, 10, NULL, NULL );

	//Winter Wrap up, Winter Wrap up
	spDeleteSprite( sprite );
	spDeleteSurface( tile_map );
	spQuitCore();
	return 0;
}