Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Map Screenshot Image Maker Script

Map Screenshot Image Maker Script
Latest Version: 3.3

Maybe if I put all those words in the title it will be easier to search for?

Introduction

This utility very simply makes a PNG file of any map you so choose.  This is extremely helpful for large maps, where taking screenshots of the map and pasting them together in an image editor can be a real pain. The program runs as a separate game that shares the resource files with your game, so you will not have to modify your game in any way (no adding scripts or checking compatibility) in order to run the program.

With the latest release, this script is capable of saving any size map at full resolution. It takes time to save large maps, but at least during that time you're watching TV or reading, or eating, or...anything except sitting at the computer cutting and pasting screenshots.

Screenshots

Note that these screenshots represent an early version 2.0, and although the interface is almost exactly the same the current version has some minor differences.

mapmaker_screen1.png


mapmaker_screen2.png


mapmaker_screen3.png

Download

Download here

Instructions

Download the ZIP file above and unzip it directly in your project directory.  If you can't find it, open your project in RMXP, and go to Game > Open Game Folder.  Unzip here.  Then, run MapMaker.exe.

You'll have a menu of all your maps available.  If you press Enter, you can "Generate" the map image.  This is a time consuming process, so it isn't done automatically.  Once the map is generated, you can save it to file.  It will save the file to the Maps directory (if the directory doesn't exist, it will be created).  Each map will be named according to the name you gave it, so maps named the same thing will overwrite each other. Be warned that if the filename is invalid, the program may crash, so make sure your maps aren't named with illegal characters (/ ' " etc).

The "Manipulate" function allows you to move the map around and preview it.  If you press "Escape" it will take you back to the map menu.  If you press it again you will have the Options menu.  From here you can change a few settings, such as whether to include Characters, Panoramas, and Fogs in the image, and whether to provide usage instructions for the "Manipulate" function.  You can also generate all map images and save all of them (note again that maps of the same name will overwrite each other).  The "Save All" functions saves only the maps which have been generated, so it's usually a good idea to "Generate All" first.

Unfortunately, due to limitations in Game.exe, you can't go check your email while you do this...the Game window must be open and focused on or else it will stop processing.  Also, it can't read into encrypted archives (although the capability is there, Enterbrain cleverly disabled any attempts to do so).

After saving several maps, the preview image may be at a reduced size due to RGSS limitations. A warning window will pop up informing you how to proceed. Even if the preview is at a reduced size, you can still save the map at full resolution.

New as of version 2.2: The "Clear map cache" option is available if you are saving many large maps; use it in between saves to dispose the maps you have already saved so that there is more memory available to save the later maps. The "Generate and Save All" interleaves this between each map you generate and save, so you get the largest size the RGSS player can handle every time.

New as of version 3.0: User settings will persist between using the program. These settings are stored in MapMaker.ini, using the Settings module I developed and released in Scripter's Corner. There are additional settings in that file which are not exposed in the interface, and you can change them with caution.

The utility now uses a Debug module which saves debugging information to MapMaker.log. If you encounter any problems, please attach this file to your post describing the problem.

The utility now uses Selwyn's Resolution Change script to provide a larger window. The default size is 800x600; you can change this in MapMaker.ini.

Troubleshooting

If you encounter an error, please report it in this topic. You must include the MapMaker.log file in your project directory for me to track down your problem. This file contains information about what you were doing when you encountered the error and exactly where in the scripts the error occurred (including a full backtrace).

Compatibility

Only works with RMXP.  Requires no modification of your game, so there are no compatibility issues.

Changes
1.0 - Nov 13 2008 - Original version - in-event commands only
2.0 - Nov 18 2008 - Added GUI and advanced features
2.1 - Nov 24 2008 - Fixed various little bugs with the GUI
2.2 - Sep 16 2009 - Improved performance and capability to save larger images
3.0 - Feb 07 2010 - Massive memory management and stability improvements
3.1 - Jul 22 2011 - Attempting to fix reported priority errors
3.2 - Feb 16 2012 - Fix crash when events have start condition "Player Touch". Thanks to Alsehr for tracking down this bug.
3.3 - Jun 20 2013 - Fix "always on top" events. Now ships with Selwyn's resolution change script.

Credits and Thanks

Special thanks to SephirothSpawn for his rewrite of the Tilemap class, with its structural improvements over Fanha Giang's previous rewrite utilizing RPG::Cache for speed and memory optimization.

Credit also goes to the MACL authors for Zlib::Png_File and Bitmap.make_png.  These functions made all of this possible.

Thanks also go to Selwyn for the resolution change script which is used to provide a larger window.

Terms and Conditions


Map Screenshot Image Maker Script by rey meustrus is licensed under a Creative Commons Attribution 3.0 Unported License.
 
I seem to have been wasting a lot of time the past couple of days making vast improvements on this.  I've got full interface set up with previews and settings, such as including the map events, fogs, and panoramas in the finished image.  It's still RMXP, though.  Don't really know who I'm doing this for if not myself...although, these improvements would make it a GREAT tool for taking large screenshots of the map with fogs and NPC's around, to show off a project or just some custom graphics.  Ah well.  If I still feel obsessive after I get the kinks worked out of this new interface, I'll port it off to RMVX (given that there's a Tilemap class for that I can work with, I think there is)
 
mewsterus":32j37h9d said:
I seem to have been wasting a lot of time the past couple of days making vast improvements on this.  I've got full interface set up with previews and settings, such as including the map events, fogs, and panoramas in the finished image.  It's still RMXP, though.  Don't really know who I'm doing this for if not myself...although, these improvements would make it a GREAT tool for taking large screenshots of the map with fogs and NPC's around, to show off a project or just some custom graphics.  Ah well.  If I still feel obsessive after I get the kinks worked out of this new interface, I'll port it off to RMVX (given that there's a Tilemap class for that I can work with, I think there is)

If you weren't I was going to, after I finsh my TileMap for VX. This script is super, an you know it :P
 
I've got quite a bit of awesome, worked out GUI now.  I intend to use a different Tilemap for XP now, since the one I've been using since my original work on Mode07 still has the limitations it always had.  I'll probably go with Seph's.  Are there any VX Tilemaps around already?  If not, finish yours Me and I'll definitely make modifications to save it to file.

Saving with characters, panoramas, and fogs works right now, although characters don't use priorities correctly (they simply display all >1 above them) which is what I intend to fix with a better Tilemap.  Speed should also be improved, although currently the greatest bottleneck is in the Bitmap.make_png function, which I have no intention of changing since I don't know enough about the PNG format.

EDIT: I've changed the first post and put up the new "version."  I can't get a better Tilemap right now, so it'll be a bit before I can change that.
 
Why don't you try my tilemap? The only thing that doesn't always work properly are autotile priorities, that is, mentioned in the script information above in the post. But you can just call the draw_function each time, while changin ox and oy or enlarging the draw_bitmap to the mapsize. Either way, character priorities are displayed correctly...

If you want I can check up some shit on PNG's. What do you want to know? Also, instead of using my tilemap, try to cache tiles - it's so much faster (look for an example in my tilemap). I fdon't think there are any vx tilemaps, but it isn't to hard to make. I'll do it when I get some spare time ;)
 
I need to have all tiles available to draw to a single flat bitmap, and with yours I'd have to make significant modifications to do that (I think).  If I had to I could probably even modify what I'm using now to do priorities correctly, but I'm also trying to get it to run faster and I believe Seph's runs fast enough for real-time.  Of course, his might even do sprite caching as well as yours, but I can't even make a choice yet because his doesn't seem to be online anymore.
 
Hmm, when I get home and get some spare time, I'll try something. I think it should be possible to just iterate trough all the tiles, and each time you first draw the first layer, then check the priority of the second and tirth, when 0 draw, otherwise save - go trough any event that is on that tile, check the priority and draw the saved tiles and characters in priority order.
 
Ah, I see.  I got a bit overzealous deleting stuff...I actually deleted Game_Switches, etc.  I put them back in and reuploaded, so you'll just have to redownload.

Nothing is ever needed in your Data directory.  MapMaker.exe is just Game.exe with a special MapMaker.ini file that points it to the MapMaker.rxdata scripts file.
 

Aerif

Member

I love this, it has a really 'professional' feel to it. Though there does seem to be one or two problems.

1. The names of my maps are all screwed up, I can see my maps fine but clicking on the name of a map brings up a completely different map. Eg. Selecting a map named 'Storage Room' in the MapMaker would open up a map named 'St. Bernadette's' in RMXP.

2. 'Large graphics' Events (eg. the horse and carriage) appear off centre.
 
Could you send me a copy of your project to test with?  I haven't had anything with a large number of maps to test with yet, although I think I can easily solve the second problem without it.

EDIT: It's been updated to fix those two problems.  The first one was caused due to difficulties with sorting hashes, which also caused the maps to be horribly and randomly out of order compared to what you would normally find in RMXP.  Fixing this solved the problem, although I'm not entirely sure why...and it's hard to explain what I think happened when I can't even understand myself.

EDIT 2: ooh, I'm on This Week!  I guess they really don't contact you first...
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top