• Advertisement

LatchGameDev

Member
  • Content count

    7
  • Joined

  • Last visited

Community Reputation

184 Neutral

About LatchGameDev

  • Rank
    Newbie
  1. Team Coder: LatchGameDev (me)  Story: Senjikimo/MDP-Art Status: Basic Code Completed (Walking Around, Item Pickup, Inventory, Basic Enemies, etc) Hello everyone! Me and my team are working on a top down 2D RPG. We were thinking of a style similar to the older final fantasy games, secrets of grindea, or secret of mana. We are looking for multiple 2D artists to handle the art for this game. Environmental Tile Artists, Character Artists, Enemy/Creature Artists, 2D Battle Effects, etc. Feel free to send us a link to your portfolio or just some images of past work. Hope to hear from you soon and may we all dev on! Contact: LatchGameDev@yahoo.com   
  2. SDL and Copy Constructors

    Is it common practice to include the header file more then once? In my main file i just have .h after .h listed. I always thought this way was better since I used to do it like a.h a.cpp b.h b.cpp c.h c.cpp   Now a days I do   a.h b.h c.h   with the .cpp included from the .h
  3. SDL and Copy Constructors

        OMG I had no idea that copy constructor would run before main. I changed it to a pointer and now use the new keyword when I get into main. It stopped the crashing and after a few more hours of poking around I got it to work how I wanted to. So thank you, I feel like I need to research pointers more. I get the concept behind them but actually using them is giving me trouble. It seems I only run into problems with SDL_Surface tho.         It's the .cpp file to the .h I don't see a problem with that line of code. I also listed the .cpp in my posts soooooooo what's up?
  4. SDL and Copy Constructors

    I know of the rule of three but i'm having trouble implementing it. I'm looking at a tutorial and trying to implement the copy constructor,copy assignment operator, and the destructor. This is what i'm looking at http://www.cplusplus.com/doc/tutorial/classes2/ and i'm about half way down the page.   Modified the .h to try and include the assignment operator. It more matches what the tutorial has but I don't think it's going to do what i want. I don't exactly understand how to use the assignment operator tho. Still crashes when I try to make a SmartImage object which means something is majorly wrong right? class SmartImage { private: bool image_loaded; public: SmartImage(); ~SmartImage(); // copy constructor: SmartImage (const SmartImage& param) : surface(new SDL_Surface(param.content())) {} //access content const SDL_Surface& content() const {return *surface;} SDL_Surface *surface; void load(std::string filename); void copy_surface(SDL_Surface *target_surface); }; #include"SmartImage.cpp" the .cpp SmartImage::SmartImage() { surface=NULL; image_loaded = false; } SmartImage::~SmartImage() { SDL_FreeSurface(surface); } void SmartImage::load(std::string filename) { if(image_loaded == false) { surface = load_image(filename); image_loaded = true; } else { SDL_FreeSurface(surface); surface = load_image(filename); } } void SmartImage::copy_surface(SDL_Surface *temp_surface) { if(image_loaded == true) { SDL_FreeSurface(surface); } surface = SDL_DisplayFormat(temp_surface); image_loaded = true; }
  5. SDL and Copy Constructors

    So I've been wrestling with this problem for a few days now. So I have a entity class and I thought I would use a vector to make it so i could have a dynamic array of the entity's. It crashed horribly and i learned that in my SmartImage class (located inside the entity class) was only making a shallow copy. So i'm trying to make a deep copy using the copy constructor. My program compiles but it crashes as soon as it launches. It seems even initializing the SmartImage class will cause it to crash. What am i doing wrong?   SmartImage.h class SmartImage { private: bool image_loaded; public: SmartImage(); ~SmartImage(); // copy constructor: SmartImage (const SmartImage& param); SDL_Surface *surface; void load(std::string filename); void copy_surface(SDL_Surface *target_surface); }; #include"SmartImage.cpp" SmartImage.cpp SmartImage::SmartImage() { surface=NULL; image_loaded = false; } SmartImage::~SmartImage() { SDL_FreeSurface(surface); } // copy constructor SmartImage::SmartImage (const SmartImage& param) { surface = SDL_DisplayFormat(param.surface); } void SmartImage::load(std::string filename) { if(image_loaded == false) { surface = load_image(filename); image_loaded = true; } else { SDL_FreeSurface(surface); surface = load_image(filename); } } void SmartImage::copy_surface(SDL_Surface *temp_surface) { if(image_loaded == true) { SDL_FreeSurface(surface); } surface = SDL_DisplayFormat(temp_surface); image_loaded = true; }
  6. SDL Question

    Thank you, Thank you, Thank you I'm only copying surfaces when i'm loaded/reloading the map and it was taking 44 seconds to load my map before. I used your first suggestion and it reduced the time to less then a second!
  7. SDL Question

    This is my work around but it makes my program so slow [code] // I take the small square tile i want out of the tile_sheet and blit it onto temp_tile apply_surface( 0, 0, tile_sheet, temp_tile, &clip); // I save the SDL_Surface as tile.bmp SDL_SaveBMP(temp_tile, "Graphics\\tile.bmp"); // Lastly I load the bmp into a different SDL_Surface called tile tile = load_image("Graphics\\tile.bmp"); [/code] Like I said the above works but is so darn slow. Ideally what I'd like to do is set the clipped part of tilesheet into a seperate SDL_Surface and have it save like... [code] // I take the small square tile i want out of the tile_sheet and blit it onto temp_tile apply_surface( 0, 0, tile_sheet, temp_tile, &clip); tile = temp_tile; [/code] Also the apply_surface function is from [url="http://lazyfoo.net/SDL_tutorials/lesson06/index.php"]http://lazyfoo.net/S...son06/index.php[/url]
  • Advertisement