Jump to content

  • Log In with Google      Sign In   
  • Create Account


Coping files around help.


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
4 replies to this topic

#1 BaneTrapper   Members   -  Reputation: 1107

Like
0Likes
Like

Posted 24 March 2013 - 05:31 AM

Hello.

What i currently need to do is copy files and place them in other folder at certain time in program.

(Save function)

For example, files are  at "./Files/Maps/" named "Map_1.txt" and "Ene_1.txt and i want to save these two files intro other directory that being, "./Files/Saves/"

I could rewrite them(How i control them) but it would be easier to just copy them around.

 

So what would you suggest library wise that would allow this kind of copy paste function?

 

EDIT::
By the way, this copying is gonna be run once at "NewGame" press so it doesn't need to be efficient.


Edited by BaneTrapper, 24 March 2013 - 05:34 AM.

Current projects:
The Wanderer, 2d turn based rpg style game

www.gamedev.net/topic/641117-check-up-the-wanderer/


Sponsor:

#2 rip-off   Moderators   -  Reputation: 7642

Like
2Likes
Like

Posted 24 March 2013 - 06:15 AM

What is in these files? Copying files doesn't usually make much sense in the context of a game.

 

If the map/enemy is immutable, don't copy it. If it is mutable, just serialise the map/enemy state at the point when you need to save a game. Most games do not save during the "New game" screen.



#3 Servant of the Lord   Crossbones+   -  Reputation: 17060

Like
1Likes
Like

Posted 24 March 2013 - 06:48 AM

boost::filesystem has alot of cross-platform functions for file management.

 

boost::filesystem::copy_file(source, destination, error);


It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.

[Fly with me on Twitter] [Google+] [My broken website]

All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.                                                                                                                                                       [Need free cloud storage? I personally like DropBox]

Of Stranger Flames - [indie turn-based rpg set in a para-historical French colony] | Indie RPG development journal


#4 BaneTrapper   Members   -  Reputation: 1107

Like
0Likes
Like

Posted 24 March 2013 - 07:58 AM

What is in these files? Copying files doesn't usually make much sense in the context of a game.

 

If the map/enemy is immutable, don't copy it. If it is mutable, just serialise the map/enemy state at the point when you need to save a game. Most games do not save during the "New game" screen.

Files are .txt format, plain windows 7 .txt files that have game related data that game requires in order to function.

 

What i am storing is: Enemy positions, Is enemy dead, Something special happened, Order of tiles on map, and all map related stuff(allot)...

So i don't have to code that, i just have events and in map editor i invoke that at certain point.

 

Its 2d turn based rpg. And during map movement if you move to "Portal" so i call it, you enter other area at witch point i save current map and load the corresponding map.

At part where i save, its saved as a base map file but i don't want to overwrite the main files... thus i need backupfiles.

Therefore when new game is pressed i copy all files from (Storage) and paste intro (Play) folder. Similar if not same with load.

 

I will try to illustrate my point

 

int JustBecauseItsComments = 0;
//Install location directory
Files //Folder
TheWandere.exe //Executalbe

//./Files directory
Maps //Folder
Saved //Folder
MapsBase //Folder
...

//.Files/Maps directory
//Empty

//.Files/Saved directory
//If any, and all saved data

//./Files/MapsBase directory
Map_1.txt
Ene_1.txt
Map_2.txt
Ene_2.txt
Map_3.txt
Ene_3.txt
...

This is how it will look when application is started.

 

 

int ItsComments = 0;
//./Files/MapsBase directory
//Unchanged

//./Files/Maps directory
//All files from ./Files/MapsBase are present here as copy

 

Files are not in any point help open. I don't stream or anything i just open, read, close.

 

 

boost::filesystem has alot of cross-platform functions for file management.

 

boost::filesystem::copy_file(source, destination, error);

That is maybe just what i was looking for, thanks!


Edited by BaneTrapper, 24 March 2013 - 08:03 AM.

Current projects:
The Wanderer, 2d turn based rpg style game

www.gamedev.net/topic/641117-check-up-the-wanderer/


#5 rip-off   Moderators   -  Reputation: 7642

Like
0Likes
Like

Posted 24 March 2013 - 12:07 PM

If you are changing state in the game, you now have two code paths to maintain:

  • Copying files around during "new game"
  • Writing the current game state from memory to disk in the middle of a game

I'm suggesting that you just implement the latter. The former doesn't buy you much, you can only really use it when the state is pristine, i.e. the time when the player gains least from saving.


Edited by rip-off, 24 March 2013 - 12:08 PM.
Fighting with the editor





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS