All pastes #33851 Raw Edit

Something

public text v1 · immutable
#33851 ·published 2005-12-16 03:54 UTC
rendered paste body
#ifndef GAMERESOURCES_H
#define GAMERESOURCES_H

#include <SDL.h>
#include <SDL_ttf.h>
#include <SDL_mixer.h>



class GameResources{
  public:
	GameResources();
	

	
	struct{
		int runningFrames;
		int distancePerRunningFrame;
		SDL_Surface * running[4];
		SDL_Surface * standing[4];
	} dudes [4];
	SDL_Surface * tiles[2];
	
	

	

  private:
	SDL_Surface * load_and_set(const char *bump);
	SDL_Surface *load_and_set_Alpha(const char *bump);

};
#endif


#include "gameresources.h"
#include "SDL_image.h"
#include <iostream> 
#include <string>

GameResources::GameResources()
{

	dudes[0] = 	{2, 3, 
					{
					 load_and_set_Alpha("data/mobiles/bomberdude/blueduderunup.png"),
					 load_and_set_Alpha("data/mobiles/bomberdude/blueduderundown.png"),
					 load_and_set_Alpha("data/mobiles/bomberdude/blueduderunleft.png"),
					 load_and_set_Alpha("data/mobiles/bomberdude/blueduderunright.png")
					},
					 
					{
					 load_and_set_Alpha("data/mobiles/bomberdude/blueup.png"),
					 load_and_set_Alpha("data/mobiles/bomberdude/bluedown.png"),
					 load_and_set_Alpha("data/mobiles/bomberdude/blueleft.png"),
					 load_and_set_Alpha("data/mobiles/bomberdude/blueright.png")
					}
				};
	
	
	
	
	dudes[1].runningFrames = 2;
	
	dudes[2].runningFrames = 2;
	
	dudes[3].runningFrames = 2;

}



SDL_Surface * GameResources::load_and_set(const char *bump)
{
	SDL_Surface *temp = IMG_Load(bump);
	if (temp == NULL)
		throw std::string("Unable to load bitmap.");
	SDL_Surface *image = SDL_DisplayFormat(temp);
	if (image == NULL)
		throw std::string("Unable to convert the bitmap.");
	Uint32 colorkey = SDL_MapRGB(image->format, 255, 0, 255);
	SDL_SetColorKey(image, (SDL_SRCCOLORKEY | SDL_RLEACCEL), colorkey);
	SDL_FreeSurface(temp);
	return image;
}

SDL_Surface * GameResources::load_and_set_Alpha(const char *bump)
{
	std::cout << "Loading an alpha image \n";
	std::cout.flush();
	SDL_Surface *temp = IMG_Load(bump);
	std::cout << "Alpha image loaded\n";
	std::cout.flush();
	if (temp == NULL)
		throw std::string("Unable to load bitmap.");
	SDL_SetAlpha(temp, SDL_SRCALPHA, 0);
	Uint32 colorkey = SDL_MapRGB(temp->format, 255, 0, 255);
	SDL_SetColorKey(temp, (SDL_SRCCOLORKEY | SDL_RLEACCEL), colorkey);
	SDL_Surface *image = SDL_DisplayFormatAlpha(temp);
	if (image == NULL)
		throw std::string("Unable to convert the bitmap.");

	SDL_FreeSurface(temp);
	return image;
}