Description

This extension offers a number of implementations for built-in functions (suffixed with "_ns") that allow GameMaker games to work with files outside of the "sandbox" directory.

The extension allows application to work with files anywhere where it could by usual rules (which is basically anything not in disc' root or other UAC-protected locations).

Included functions are:

File manipulation functions:

  • file_exists_ns(path)
  • file_copy_ns(from, to)
  • file_rename_ns(from, to)
  • file_move_ns(from, to)
  • file_delete_ns(path)

Directory manipulation functions:

  • directory_exists_ns(path)
  • directory_copy_ns(from, to)
  • directory_rename_ns(from, to)
  • directory_move_ns(from, to)
  • directory_delete_ns(path)

Directory search functions:

  • file_find_first_ns(filter):
  • file_find_next_ns():
  • file_find_close_ns()

File/directory attribute manipulation:

  • file_get_attributes_ns(path):
  • file_set_attributes_ns(path, flags)

Text file functions:

  • file_text_open_read_ns(path)
  • file_text_open_write_ns(path)
  • file_text_read_line_ns(file):
  • file_text_write_line_ns(file, string)
  • file_text_eof_ns(file):
  • file_text_close_ns(file)

Buffer functions:

  • buffer_load_ns(path):
  • buffer_save_ns(buffer, path)
  • buffer_save_ext_ns(buffer, path, offset, size)

String functions:

  • string_codepage(string, cp_from, cp_to):

Other features include:

  • Full support for paths with non-Latin characters.
  • Can work with files and strings in any encoding.

A demo is available at itch.io: https://yellowafterlife.itch.io/gamemaker-nsfs

While certain functions cannot be implemented for technical reasons, the issue can be bypassed by simply using file_copy_ns\file_move_ns to copy files in/out of sandbox for those operations.

Currently Windows-only. Given demand, Mac and Linux will be supported in future.

End User Licence Agreement (EULA).

Version 1.0.0. Published March 7, 2017

Created with GameMaker: Studio v7.7.1405

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


Gravatar

Reuben S 27 April 2017

Works well, sloppy organization

I haven't exhaustively tested every function, but I was whipping up a quick demo project that needed proper file writing and this performed excellently.

The organization is horrible, however. Importing it provides you with several dummy / demo resources along with a few single-word scripts that are essential. Not only is there no indication that these are necessary (which I figured they were demo scripts at first) but they could easily conflict with prior-existing scripts in your project.

One of the essential resources is an included .gmez file which actually contains all of the file-writing scripts. It requires you open the resource location and manually import this as well to actually use the extension. Why do this?

Once it is finally all added, there is no documentation (aside from hint descriptions), but this is minor as the functions are mostly straight-forward (though not all the arguments).

Minus the stars for the bad organization. Functionality is fine.


Gravatar

Victor B 13 March 2017

Best!!!

99% of my projects use this asset.
If you work with a file system, then it is vital for you.
Strongly recommended.

What is the issue?

Back to Top