Offers a unified API for taking screenshots and saving them to user-selected location in GameMaker: Studio and Construct 2.

In GameMaker: Studio, should work on platforms that support the built-in get_save_filename function, and on HTML5.
.gmez is the GM:S extension file.
.gmz is the sample project (seen above)

In Construct 2, should work on most/all platforms (since they are all JS-based).
.c2plugin.zip is the plugin (unzip to \Construct 2\exporters\html5\plugins)
.capx is the sample project.

Demo controls (it's the GMS version):

  • Left click: save entire screenshot
  • Right click: save part of the screenshot
  • Middle click: create and save a part of a surface

Setting up (GMS1)

Add the following into your index.html included file before other script elements:

<script>
(function() { // enforce WebGL preserveDrawingBuffer so that screenshots can be captured
  var base = HTMLCanvasElement.prototype.getContext;
  HTMLCanvasElement.prototype.getContext = function(mode, attrs) {
    if (attrs && typeof attrs == "object") attrs.preserveDrawingBuffer = true;
    return base.apply(this, [].slice.call(arguments));
  };
})();
</script>

Setting up (GMS2)

Add the following to Game Options - HTML5 - General - Prepend js output with:

(function() { // enforce WebGL preserveDrawingBuffer so that screenshots can be captured
  var base = HTMLCanvasElement.prototype.getContext;
  HTMLCanvasElement.prototype.getContext = function(mode, attrs) {
    if (attrs && typeof attrs == "object") attrs.preserveDrawingBuffer = true;
    return base.apply(this, [].slice.call(arguments));
  };
})();


Download

Download NowName your own price

Click download now to get access to the following files:

screensavedlg.c2plugin.zip 6 kB
screensavedlg.capx 171 kB
screen_save_dialog.gmz 17 kB
screen_save_dialog.gmez 2 kB
screen_save_dialog (for GMS2.3+).yymps 3 kB
screen_save_dialog demo (GMS2.3+).yyz 519 kB

Development log